Analysis updated 2026-05-18
Translate a source language JSON file into several target languages while preserving existing translations.
Estimate translation cost and free-tier fit with a dry run before spending any DeepL quota.
Add a CI check step that fails the build if translations are missing or placeholders got corrupted.
Automatically retranslate localization files whenever the source file changes using watch mode.
| lancedelgardo/deepl-i18n | 0xallam/my-recipe | 0xhassaan/nn-from-scratch | |
|---|---|---|---|
| Stars | 0 | — | 0 |
| Language | Python | Python | Python |
| Last pushed | — | 2022-11-22 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 2/5 | 2/5 | 4/5 |
| Audience | developer | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a DeepL API key, the free tier covers 500,000 characters per month.
deepl-i18n is a command line tool that translates the JSON, YAML, and other localization files used by apps into multiple languages, using the DeepL translation API. It is an unofficial project, not affiliated with DeepL SE. You point it at a file in your source language, list the languages you want as output, and it fills in only the keys that are missing, leaving existing translations untouched and removing keys that are no longer needed. The tool is careful about not wasting your translation quota. Identical strings that repeat across your file, like the word OK or Cancel, are only sent to DeepL once per run and then reused everywhere they appear, so you are not billed twice for the same text. It also protects placeholders such as double curly brace variables from being mangled or accidentally merged into surrounding words during translation, and checks afterward that they survived intact. The placeholder pattern is configurable if your project uses a different style like percent s or numbered braces. Beyond plain JSON, it understands nested YAML files, flat Java properties files, iOS strings files, Flutter ARB files, Android XML resources, and CSV, detecting the format automatically from the file extension or letting you force one. You can set DeepL's formality level, pass a short context description so DeepL picks better terminology, and choose between a quality optimized or latency optimized translation model. Before spending any quota, a dry run shows exactly how many keys and characters would be translated and whether that fits inside DeepL's free tier of 500,000 characters a month, without needing an API key at all. There is also a watch mode that retranslates automatically whenever your source file changes, and a check command meant for continuous integration that validates existing translations and placeholder integrity, exiting with an error code if anything is broken. The only setup required is Python 3.10 or later, a DeepL API key supplied through an environment variable or a local file, and the deepl package, which is the tool's only dependency.
A command line tool that translates your app's JSON, YAML, and other localization files using the DeepL API, filling in only the missing keys.
Mainly Python. The stack also includes Python, DeepL API, CLI.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.