Usage estimates
Lingo.dev's status
command gives you a read‑only snapshot of your project's localization state – perfect for understanding what still needs to be translated and how many AI‑generated words your next i18n
run is going to consume.
The command never writes to disk and never triggers any translation requests. It is safe to run in any environment, including CI, before choosing whether or not to translate.
Basic usage
npx lingo.dev@latest status
Running the command inside a project that already contains an i18n.json
configuration file will print a LOCALIZATION STATUS REPORT similar to the screenshot below:
📄 LOCALIZATION STATUS REPORT
📑 SOURCE CONTENT:
- Source language: en
- Source keys: 254 keys across all files
🌐 LANGUAGE BY LANGUAGE BREAKDOWN:
Language │ Status │ Complete │ Missing │ Updated │ Total Keys │ Words to Translate
──────────┼────────────┼──────────┼─────────┼─────────┼────────────┼───────────────────
ja │ 🔴 Not started │ 0/254 │ 254 │ 0 │ 254 │ ~10,480
es │ 🔴 Not started │ 0/254 │ 254 │ 0 │ 254 │ ~10,480
de │ 🔴 Not started │ 0/254 │ 254 │ 0 │ 254 │ ~10,480
zh │ 🔴 Not started │ 0/254 │ 254 │ 0 │ 254 │ ~10,480
📏 USAGE ESTIMATE:
- WORDS TO BE CONSUMED: ~41,920 words across all languages
(words are counted from source language for keys that need translation in target languages)
- Per‑language breakdown:
– ja: ~10,480 words (25.0% of total)
– es: ~10,480 words (25.0% of total)
– de: ~10,480 words (25.0% of total)
– zh: ~10,480 words (25.0% of total)
💡 OPTIMISATION TIPS:
- ja, es, de, zh have no translations yet – translating one language at a time reduces complexity.
- Try `lingo.dev@latest i18n --locale ja` to process just one language.
The report is split into three logical blocks:
- Source content – shows how many unique translation keys your source language currently has.
- Per‑language table – shows, for every target locale, how many keys are done, missing or have been updated since the last translation run.
- Usage estimate – shows the AI‑word count that will be consumed if you translate everything that is currently missing or outdated. This helps you forecast cost and CI time before actually translating.
Interpreting the word counts
- Words to Translate in the per‑language table represents the amount of source‑language words that are still missing (plus the ones that have been updated).
- Words to be Consumed aggregates that number across all target languages. This figure is the same metric that will appear in your Lingo.dev usage dashboard.
Because word counts are calculated in the source language, they remain stable regardless of how verbose the target language is.
Troubleshooting
- If the command cannot find your configuration, make sure you are running it from the project root.
- Word counts may slightly differ from the final billable usage because plural rules and interpolation placeholders are resolved at translation time.
Run npx lingo.dev@latest status --help
to see the full list of options.