Skip to content
Free CI translation · GitHub Action · i18next-native

Free CI translation for i18next: auto-translate your app on every push.

One workflow step translates your i18next app in CI. The locize/translate GitHub Action extracts your changed keys, syncs them to Locize, triggers AI auto-translation, and pulls the results back, delivered over the Locize CDN so translation fixes go live without redeploying.

Free to start: a brand-new free Locize project auto-translates a limited starter amount out of the box, enough to wire up the whole pipeline and see it work end to end. No source files are modified (instrumentation is always skipped in CI).

Free starter amount out of the boxCDN delivery, no redeployNever touches your source
The CI flow

A thin wrapper around i18next-cli localize --ci. Detect → extract → sync with auto-translate → download.

  • Detect & extract the new and changed reference keys from your code.
  • Sync them to your Locize project.
  • Auto-translate the new keys (on by default for new projects).
  • Download the translations back into your locale files.

It does not rewrite your source and it does not commit; pair it with a commit or pull-request step and compose it with whatever git workflow you already use.

Quick start: the copy-paste workflow

Add two repository secrets (LOCIZE_PROJECTID and LOCIZE_API_KEY), drop this in .github/workflows, and every push to main translates your app.

.github/workflows/translate.yml
name: Translate
on:
  push:
    branches: [main]

jobs:
  translate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: locize/translate@v1
        with:
          project-id: ${{ secrets.LOCIZE_PROJECTID }}
          api-key: ${{ secrets.LOCIZE_API_KEY }}

The Action expects an i18next.config.{ts,js} in your repo. If you don't have one yet, run npx i18next-cli init once and commit it; your target languages are created automatically on the first sync.

It writes the translated files but leaves git to you. Pair it with a commit step (git-auto-commit-action) or open a PR instead (create-pull-request). Already extracted? Set command: sync to skip extraction.

AI translation is asynchronous: a freshly added key may still be empty in the same run, and the next push picks it up. If you serve translations through i18next-locize-backend, the CDN delivers them live regardless of when you commit the files.

Honest about "free"

What you get for free, what you don't, and why the honesty is the point.

What is free

A brand-new free Locize project can auto-translate a limited starter amount out of the box, enough to see it work end to end on a small app. The free plan includes 2k words, 2 languages, 5 namespaces, and 100k standard CDN downloads. What you get for free is a working CI pipeline plus the managed delivery layer.

What needs a plan

This is not unlimited free translation, and it does not pretend to be. For continuous translation you either subscribe to a paid plan (Starter from $7/month) or bring your own AI/MT key (OpenAI, Gemini, Mistral, DeepL, Lara) on a plan that supports it.

The honesty is the point. A clear free starting line plus a clear upgrade path is what makes the funnel credible, instead of promising free-at-volume and walling it off later.

How it compares to lingo.dev and ai-i18n

Free CI translators like the lingo.dev Action and ai-i18n run translation entirely in your pipeline on your own LLM key. They are free at volume because you pay the LLM bill. Here is the honest difference.

locize/translate Actionlingo.dev Action / ai-i18n
Free at volumeFree starter amount; then subscribe or bring your own keyFree at volume on your own LLM key
Who pays the translation billLocize (starter) → you (subscription or your key)You (your LLM key)
Managed CDN deliveryYes, update translations without redeployingNo, commit-and-redeploy
i18next-native depthYes, plurals/context/namespaces, 16+ formatsVaries
Trust layerYes, see belowNo, raw MT output

If raw machine translation committed into your repo is all you need, those tools are fine, use them. The reason to come (or stay) here is the layer on top of the translation.

The upgrade: free CI in, governed trust layer up

When translations stop being throwaway and start needing to be trusted, the paid layer is the product.

1
Quality Estimation

Every AI translation gets a confidence score, shown in the editor, so you know which strings to look at instead of reviewing everything blind. See Quality Estimation.

2
Review workflow

Route low-confidence AI translations to a human instead of accepting them blind. See the review workflow.

3
EU AI Act provenance

Export an auditor-shaped record of who reviewed what, when, and at what confidence. See EU AI Act Article 50 / review-provenance export.

That is the path this Action puts you on: a free CI pipeline today, a governed trust layer the day translation quality has to be accountable.

Frequently asked questions

If your question is missing, email support@locize.com

What is the free way to translate i18next in CI?

Add the locize/translate GitHub Action to your workflow. On every push it extracts new and changed keys from your i18next code, syncs them to Locize, triggers AI auto-translation, and downloads the results, delivered over the Locize CDN. A brand-new free Locize project can auto-translate a limited starter amount out of the box, enough to wire up the whole CI pipeline and see it work end to end on a small app. The Action is a thin wrapper around i18next-cli localize --ci, and it never modifies your source files (instrumentation is always skipped in CI).

Is there a free alternative to lingo.dev?

The lingo.dev Action and ai-i18n run translation entirely in your pipeline on your own LLM key, so they are free at volume because you pay the LLM bill. The locize/translate Action takes a different trade: a free starter amount of managed AI translation out of the box, then subscribe or bring your own AI/MT key, plus managed CDN delivery (update translations without redeploying), i18next-native depth (plurals, context, namespaces, 16+ formats), and an optional trust layer (Quality Estimation, review workflow, EU AI Act review-provenance export). If raw machine translation committed into your repo is all you need, the lingo.dev Action and ai-i18n are a fine fit. If you want the governance layer on top of the translation, that is the reason to use Locize.

How do I auto-translate i18next on every push?

Add a GitHub Actions workflow that runs on push and uses locize/translate@v1 with your project-id and api-key stored as repository secrets (LOCIZE_PROJECTID and LOCIZE_API_KEY). The Action extracts changed keys, syncs them to Locize, requests AI auto-translation, and downloads the translated files. Pair it with a commit or pull-request step (for example stefanzweifel/git-auto-commit-action or peter-evans/create-pull-request) to write the results back, or serve translations through i18next-locize-backend so the CDN delivers them live regardless of when you commit.

Is Locize free?

Locize has a free plan: 2,000 words, 2 languages, 5 namespaces, and 100,000 standard CDN downloads, and a brand-new free project can auto-translate a limited starter amount of AI translation out of the box. That is enough to run the CI pipeline end to end on a small app. It is not unlimited free translation at volume. For continuous translation you either subscribe to a paid plan (from $7/month for Starter) or bring your own AI/MT key on a plan that supports it. The honest framing: free gets you a working CI pipeline plus managed delivery, with a clear upgrade path when translation volume and review actually matter.

Translate your i18next app in CI, free to start.
Register, add the Action, and watch the first push translate your app.