i18next

Lokali for i18next

Translate your locales/**/*.json files on every merge — no manual workflow. Lokali watches your i18next namespaces and opens a PR with every locale covered.

Install Lokali on your i18next repo → Audit your repo

What Lokali detects in i18next repos

i18next supports many project layouts. Lokali covers all of them — from backend Node apps using locales/ at root to React SPAs using public/locales/.

Root locales
locales/**/*.json locales/*.json
Public / served
public/locales/**/*.json public/locales/*/*.json
src/ subfolder
src/locales/**/*.json src/i18n/**/*.json
Namespaced files
i18n/**/*.json translations/**/*.json

Namespace-aware translation

i18next splits strings into namespaces (common, auth, dashboard…). Lokali preserves the namespace structure and file paths — translated files land in the exact same hierarchy.

locales/en/common.json
{
  "button": {
    "submit": "Submit",
    "cancel": "Cancel",
    "retry": "Try again"
  },
  "error": {
    "generic": "Something went wrong"
  }
}
locales/fr/common.json (PR opened)
{
  "button": {
    "submit": "Envoyer",
    "cancel": "Annuler",
    "retry": "Réessayer"
  },
  "error": {
    "generic": "Une erreur est survenue"
  }
}

↑ All configured target locales in the same PR. Nested structure preserved exactly.


See it in action

A real PR from Lokali on a demo project — opened automatically after the first push. No setup beyond installing the GitHub App.

🔀
Polsia-Inc / lokali-demo-app
Demo app using i18next-style locale files. Lokali detected them on install and opened translation PRs for es, fr, de, ja, pt. Zero configuration required.

Add Lokali to your i18next repo

Install in 30 seconds. Translation PRs arrive on your next push.

Install Lokali on GitHub → Full setup guide → Audit your repo first

Also works with