While doing some research for my very first Umbraco talk about localization. I noticed that lots of translations were missing for Japanese and Swedish.
Which made me a bit curios. “How well translated is Umbraco across all langues?”.
With that in mind, I got together with Chef Claude. And created a dashboard so I could get a better understanding of it. And I think the results are quite interesting!
There are a total of 26 langues. It and it treats the English translation file as 100% baseline.
Features
- Coverage per version: v17, v18 and the v19 dev branch, fetched live from the Umbraco-CMS repository on GitHub
- Missing keys per language: click a language to see exactly which keys are missing, grouped by section
- Copy as JSON: exports the missing keys in the same shape as a language file
- Extra keys: keys a language still has that no longer exist in English
- Runs a scan once every 24h
- Keys usage
It counts how many times each key is used, so you can prioritize the keys that will have the highest impact when translated.
- Keys with no static reference
Keys that never show up directly in the source code. Some may be unused, but some might be built dynamically at runtime, so those are flagged rather than declared dead.
How it works
Translation coverage is fetched live from GitHub, so it’s always up to date. A key counts as translated when it exists in the language file, even if the wording is the same as in English.
For key usage, it downloads a snapshot of the Umbraco source code, lists all the translation keys, and searches the whole codebase for each one. If a key shows up somewhere, it’s used. Auto-generated files that simply list every key are excluded, since listing a key isn’t the same as using it.
If you’re not happy with where your native language ended up, maybe now is a great time to open that PR and make a change ![]()

