arn-c0de / arn-c0de/InteractiveChecklists
Documentation Sub-Issue: Synchronize String Resources Across All Languages
- Dominant language
- Kotlin
- Stars
- 45
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
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
Contributor guide
Assessment
This issue has not been assessed yet.