Skip to content
@Shipi18n

Shipi18n

Open-source i18n QA — a locale-file linter and MCP server that catches missing keys, dropped placeholders and mistranslations in CI. BYO LLM key.

Shipi18n

Catch broken translations before you ship

Open-source QA for your i18n locale files. No account, no server, no hosted API — bring your own LLM key, or use the structural checks with no key at all.

Website Docs License


The bug that ships

Your CI lints your JavaScript, typechecks your types, runs your tests — and then ships a de.json nobody has read, produced by a model nobody audited.

en: "This will permanently delete your account"
es: "Esto guardará tu cuenta de forma permanente"     ← "will save"

Every key present. Every placeholder intact. Build green. Key-diffing checkers pass that file. Only reading it catches it.

Two layers

npx @shipi18n/cli check ./locales -s en

Structural — deterministic, offline, no API key. Missing keys, dropped placeholders ({{name}}, %s, %1$s, $t(...), HTML), collapsed plurals, empty values, coverage. Exit codes, SARIF for PR annotations, JUnit. JSON, Flutter .arb, Apple .xcstrings.

npx @shipi18n/cli check ./locales -s en --semantic

Semantic — an LLM reads each source/translation pair and reports mistranslations, omissions and additions. Your key, changed keys only, 3-pass majority vote. Advisory by default: it warns, it does not fail your build.

Measured on a 228-pair corpus committed before the judge was written, thresholds fixed first: 54/54 planted errors caught, 12/168 false positives on clean pairs (7.1%), glossary 6/6. Label accuracy reproduced as a range, 98.1%–100%, across two runs. The harness is in the repo — run it against your own model.

Packages

Everything lives in one monorepo: Shipi18n/shipi18n

Package npm What it does
@shipi18n/cli npm check your locale files, translate them, lock hand-edited strings
@shipi18n/core npm The engine — checks, LLM judge, translation. Use it as a library
@shipi18n/mcp npm MCP server — validators for Claude Code, Cursor and friends. No API key needed
vite-plugin-shipi18n npm Build-time translation for Vite
shipi18n-github-action Translate locale files in CI with your own key

The MCP server's four validator tools (check_locales, check_glossary, diff_locales, review_locales) make zero model callsreview_locales hands the pairs and the criteria back to your agent, which does the judging with its own inference.

Examples

Example Stack
shipi18n-react-example Vite + React + react-i18next
shipi18n-nextjs-example Next.js App Router
shipi18n-vue-example Vue 3 + vue-i18n
shipi18n-nodejs-example Node.js + @shipi18n/core

Retired

Shipi18n used to be a hosted translation API with accounts and paid tiers. That service is shut down. There is no key to get and no bill to pay; the current tools run entirely on your machine against a provider you choose.

These packages are deprecated on npm and their repos are archived: @shipi18n/api · i18next-shipi18n-backend · the standalone shipi18n-cli and vite-plugin-shipi18n repos (the packages live on in the monorepo).


Apache-2.0 · shipi18n.com · Report a bug

Popular repositories Loading

  1. shipi18n-react-example shipi18n-react-example Public

    React + react-i18next example — translate and QA your locale files with @shipi18n/cli and your own LLM key. No hosted API.

    JavaScript

  2. vite-plugin-shipi18n vite-plugin-shipi18n Public archive

    Archived — moved to the Shipi18n monorepo. Vite plugin for build-time i18n translation, bring your own LLM key (no hosted API).

    JavaScript

  3. shipi18n-cli shipi18n-cli Public archive

    Archived — moved to the Shipi18n monorepo, published as @shipi18n/cli. Open-source i18n QA linter + bring-your-own-LLM translation (no hosted API).

    JavaScript

  4. shipi18n-nextjs-example shipi18n-nextjs-example Public

    Next.js App Router example — translate and QA your locale files with @shipi18n/cli and your own LLM key. No hosted API.

    JavaScript

  5. .github .github Public

    Shipi18n organization profile

  6. shipi18n-vue-example shipi18n-vue-example Public

    Vue 3 + vue-i18n example — build-time translation via vite-plugin-shipi18n with your own LLM key. No hosted API.

    JavaScript

Repositories

Showing 10 of 12 repositories

Top languages

Loading…

Most used topics

Loading…