Ensure that all language string resources are always complete and fully aligned with the default English strings (values/strings.xml).
All supported languages must:
- Contain exactly the same string keys
- Stay in sync with any newly added or modified strings
- Never fall back to English due to missing entries
Source of Truth
File: app/src/main/res/values/strings.xml (English / Default)
All other language files must be kept in sync with this file.
Automated String Detection Tool
A tool for detecting missing and inconsistent strings is now available in the repository:
- Location:
scripts/TranslationStringTools/
- Reports Output:
scripts/TranslationStringTools/reports/
The tool automatically compares all language files against the English source and generates reports showing:
- Missing string keys per language
- Coverage percentages
- Outdated / potentially incorrect translations
- Unused or obsolete keys
Language Status Tracking
Every language must be kept complete and up to date.
| Language |
Folder |
Status |
Coverage |
Last Updated |
App Version |
| English (default) |
values |
✅ |
100% |
2026-01-20 |
v1.0.25 |
| German |
values-de |
✅ |
95% |
2026-01-22 |
v1.0.25 |
| Spanish |
values-es |
✅ |
94.5% |
2026-01-22 |
v1.0.25 |
| Chinese (Simplified) |
values-zh |
✅ |
95.7% |
2026-01-22 |
v1.0.25 |
| French |
values-fr |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Portuguese |
values-pt |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Russian |
values-ru |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Japanese |
values-ja |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Arabic |
values-ar |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Hindi |
values-hi |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Korean |
values-ko |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Italian |
values-it |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Turkish |
values-tr |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Dutch |
values-nl |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Polish |
values-pl |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Indonesian |
values-in |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Vietnamese |
values-vi |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Thai |
values-th |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Ukrainian |
values-uk |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Chinese (Traditional) |
values-zh-rTW |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Czech |
values-cs |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Greek |
values-el |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Swedish |
values-sv |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Norwegian |
values-no |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Danish |
values-da |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
| Finnish |
values-fi |
⬜ |
— |
YYYY-MM-DD |
vX.Y.Z |
Legend:
- ✅ = folder exists and is (nearly) complete
- ⬜ = not yet added / incomplete / needs review
Tasks
Repository Status Check
- Audit all
app/src/main/res/values* folders
- Document which language folders already exist
- Identify languages that need to be created from scratch
String Consistency
Compare every values-XX/strings.xml against values/strings.xml:
- Detect missing keys
- Identify outdated translations
- Find unused / obsolete keys
Codebase Audit
- Remove all hardcoded UI strings
- Ensure every piece of UI text uses string resources
Process Definition
Rule:
Every new or modified string must be added / updated in all languages.
Missing translations must be clearly marked (e.g. with TODO comments or @string/missing_... placeholders).
Automation
- Run the detection tool from
scripts/TranslationStringTools/ regularly
- Review generated reports in
scripts/TranslationStringTools/reports/
- Optional: Add CI check / warning for translations below 100% coverage
Definition of Done
- All language files contain all string keys from the default English file
- No silent fallbacks to English due to missing resources
- The update process is documented and actively enforced
- The detection tool reports 100% coverage for all active languages
Ensure that all language string resources are always complete and fully aligned with the default English strings (
values/strings.xml).All supported languages must:
Source of Truth
File:
app/src/main/res/values/strings.xml(English / Default)All other language files must be kept in sync with this file.
Automated String Detection Tool
A tool for detecting missing and inconsistent strings is now available in the repository:
scripts/TranslationStringTools/scripts/TranslationStringTools/reports/The tool automatically compares all language files against the English source and generates reports showing:
Language Status Tracking
Every language must be kept complete and up to date.
Legend:
Tasks
Repository Status Check
app/src/main/res/values*foldersString Consistency
Compare every
values-XX/strings.xmlagainstvalues/strings.xml:Codebase Audit
Process Definition
Rule:
Every new or modified string must be added / updated in all languages.
Missing translations must be clearly marked (e.g. with TODO comments or
@string/missing_...placeholders).Automation
scripts/TranslationStringTools/regularlyscripts/TranslationStringTools/reports/Definition of Done