Ninja i18n - GitHub Lint Action

Ninja i18n - GitHub Lint Action

This action checks for translation issues within your PRs.

#Automate your i18n linting for pull requests

Ensure that your i18n files are always up to date with the latest changes in your source code.

#Features

  • Automated i18n linting for pull requests
  • Detection of new broken inlang projects
  • Comment creation with issue report
  • Link creation to fix issues directly in Fink localization editor

#Workflow

  • When a pull request is opened or updated, the action will run and check for new i18n issues.
  • If issues are found, the action creates a comment on the pull request with an issues report including links to the Fink localization editor to resolve the issues.
  • After the issues are resolved, the action will automatically update the pull request comment to reflect the changes.
  • If no issues are found, the action will simply not create any comments.

#Getting Started

Please make sure that:

  • you have set up an inlang project with lint rules in your repository

  • you have activated actions for your repository:

    1. On GitHub.com, navigate to the main page of the repository
    2. Click Actions tab
    3. Click the button Enable Actions on this repository
  • actions and workflows are allowed in your repository:

    1. On GitHub.com, navigate to the main page of the repository
    2. Click Settings tab
    3. Click Actions in the left sidebar, then click General
    4. Select the desired option (e.g. Allow all actions and workflows) under Actions permissions
    5. Click Save to apply the settings

Add the following workflow file to your repository in this path .github/workflows/ninja_i18n.yml

name: Ninja i18n action

on:
  pull_request_target:

# explicitly configure permissions, in case your GITHUB_TOKEN workflow permissions are set to read-only in repository settings
permissions: 
  pull-requests: write

jobs:
  ninja-i18n:
    name: Ninja i18n - GitHub Lint Action
    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        id: checkout
        uses: actions/checkout@v4

      - name: Run Ninja i18n
        id: ninja-i18n
        uses: opral/ninja-i18n-action@main
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          

Note: The opral/ninja-i18n-action is tagged to always use the latest commit on main. This ensures that you always get the latest version of the action. Since the repository is only used for publishing the action, it is safe to use the main branch.

#Test if it works

Create a pull request with changes to your i18n files and see if the action runs and creates a comment with the issues report:

  1. Create a new test-ninja branch in your repository
  2. Open the test-ninja branch in Fink localization editor and delete a translation for testing purposes
  3. Commit and push the change
  4. Create a pull request from the test-ninja branch to main
  5. Check if the action runs and creates a comment with the issues report

Click here to watch a video showing the above steps in GitHub

#Environmental Variables:

NameRequirementDescription
GITHUB_TOKENrequiredUsage: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}, Ninja i18n action uses this in-built GitHub token to make the API calls for interacting with GitHub. It is built into Github Actions and does not need to be manually specified in your secrets store. More Info

Publisher

inlang

inlang

License

Apache-2.0

Pricing

Free

Recommended: