{
  "id": 15588137,
  "title": "Free JSON Locale Checker CLI for i18n Projects",
  "url": "https://urgent.news/2026/10/19/free-json-locale-checker-cli-for-i18n-projects",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-19T09:33:15.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/olly_08beff75f1fe547dcb92/free-json-locale-checker-cli-for-i18n-projects-3d8f"
  },
  "original_language": "en",
  "account": "The JSON Locale Checker CLI is a tool specifically designed for internationalization (i18n) projects. It compares translated JSON locale files against a source locale to ensure safety for the build process. The CLI is run after translation and fails if the target file cannot be parsed as JSON, reports missing keys from the source, and identifies extra keys in the translated file. It also compares placeholder tokens like {name}, {{count}}, ${value}, and %s. The tool can be executed using npx without requiring a project dependency. An example failure scenario includes a French locale losing a key, adding an obsolete key, and dropping a placeholder. The CLI is best used in the best first workflow, where it is integrated into the continuous integration (CI) process for every locale file that the application loads at runtime, turning missing keys and broken placeholders into pull-request failures rather than customer-facing bugs.",
  "summary": "What the CLI does @json-translate/check compares translated JSON locale files against a source locale. It is designed for the last step after translation: the point where a developer wants to know whether a translated file can safely enter a build. It fails when a target file cannot be parsed as JSON. It reports keys that exist in the source but are missing from the translation. It reports extra…",
  "key_points": [
    "JSON Locale Checker CLI designed for i18n projects",
    "Compares translated JSON files against source locale",
    "Fails on JSON parsing errors, missing keys, extra keys"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}