TypeScript v2.0.0 CLI Tool

Catch Missing Translations
Before They Reach Production

A zero-config CLI tool that scans your i18n JSON files and surfaces every key that has been left untranslated โ€” complete with whitelist support, colorised output, and CI-ready exit codes.

bash
$ npm run sample

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
โ•‘       i18n Missing Translations Detector  v2.0.0        โ•‘
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

  ๐Ÿ“‚  i18n path  : ./sample/i18n
  ๐ŸŒ  Languages  : en, de, fr, it
  ๐Ÿ”‘  Base lang  : en
  โœ”  Whitelist loaded โ€” 6 key(s) ignored

โ”€โ”€ Missed Keys โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  โœ– msg.error โ†’ "Something went wrong..."  (de, fr, it)
  โœ– Input.welcome โ†’ "welcome"  (de, fr, it)
  โœ– msg.not_found โ†’ "Page not found."  (fr)

โ”€โ”€ Summary โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  Languages checked : en, de, fr, it
  Total keys        : 25
  Whitelisted       : 6
  Missing           : 3 (12.0%)

Everything you need to
keep your app fully translated

โšก

Zero Config

Point it at your i18n folder and it works. Sane defaults for the most common setups.

๐Ÿ—‚๏ธ

Any Languages

Not locked to EN/DE/FR/IT. Pass any comma-separated list of language codes via --langs.

๐Ÿ“‹

Whitelist Support

Some words like "Ok" are identical in every language. Exclude them with a simple JSON whitelist.

๐Ÿ“Š

Structured Report

Outputs a full JSON report with stats: total keys, missed count, percentage, and per-key details.

๐Ÿšฆ

CI-Ready Exit Code

Exits with code 1 when missed translations are found โ€” plug straight into any pipeline.

๐ŸŽจ

Colourised Output

Beautiful terminal output with per-key feedback, language details, and a clean summary table.

Try it in your browser

Paste or edit translation JSON below and see which keys are missing instantly.

๐Ÿ‡ฌ๐Ÿ‡ง en.json base
๐Ÿ‡ฉ๐Ÿ‡ช de.json
๐Ÿ‡ซ๐Ÿ‡ท fr.json
๐Ÿ‡ฎ๐Ÿ‡น it.json
๐Ÿ‡ช๐Ÿ‡ธ es.json
๐Ÿ‡ต๐Ÿ‡น pt.json
๐Ÿ‡ณ๐Ÿ‡ฑ nl.json
๐Ÿ‡ฏ๐Ÿ‡ต ja.json
๐Ÿ‡จ๐Ÿ‡ณ zh.json

Up and running in seconds

01

Clone & Install

bash
git clone https://github.com/AaqibhafeezKhan/i18n-Translations-missing-script.git
cd i18n-Translations-missing-script
npm install
02

Run against sample data

bash
npm run sample
03

Point at your project

bash
npx ts-node ./src/index.ts \
  --path ./src/assets/i18n \
  --langs en,de,fr,it,es \
  --whitelist ./whitelist.json \
  --output ./reports/missed.json \
  --verbose
04

Add to your CI pipeline

yaml โ€” .github/workflows/ci.yml
- name: Check missing translations
  run: node dist/index.js --path ./src/assets/i18n --verbose

CLI Options

Option Default Description
--path <dir> ./i18n Path to folder containing <lang>.json files
--langs <list> en,de,fr,it Comma-separated language codes to check
--base <lang> en Reference / base language
--whitelist <file> โ€” JSON array of keys to ignore
--output <file> missed-translations.json Path to write the JSON report
--verbose false Print every missed key to the console
--help โ€” Show help text