Documentation Sub-Issue: Synchronize String Resources Across All Languages
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- android
- Ambito
- internationalization, localization
Direzione di ricerca
Inizia verificando app/src/main/res/values* rispetto a app/src/main/res/values/strings.xml, quindi esegui lo strumento di rilevamento in scripts/TranslationStringTools/ ed esamina i relativi report. Esamina il codebase alla ricerca di stringhe UI hardcoded e definisci l’ambito delle lingue attive prima di apportare modifiche. Il lavoro è completo quando tutte le risorse delle lingue attive hanno chiavi corrispondenti, i report mostrano una copertura del 100% e il processo di traduzione è documentato e applicato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Kotlin
- Stelle
- 41
- Fork
- 4
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di arn-c0de/InteractiveChecklists
-
design frontend help wanted priority: medium UI/UX
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
design frontend good first issue help wanted priority: medium UI/UX
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Design: 🎨 UI/UX Designer Wanted: App Interface ImprovementsForse di nuovo libera @pedrocsampaio l’ha presa 274 giorni fa e non c’è nessuna pull request aperta. Apertadesign enhancement frontend help wanted priority: low UI/UX
arn-c0de/InteractiveChecklists#27 · 2 commenti · 1 assegnatario ·
-
Feature: Make app UI & menus responsive across phones, tablets and orientations — ensure full functionalityForse di nuovo libera @arn-c0de l’ha presa 277 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement help wanted priority: medium UI/UX
arn-c0de/InteractiveChecklists#23 · 1 assegnatario ·
-
enhancement help wanted priority: low UI/UX
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di arn-c0de/InteractiveChecklists
Issue simili
-
android bug kotlin vulkan
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
maplibre/maplibre-native-ffi#852 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
documentation importer size:S
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
enorm-labs/event-junkie#3614 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
InsertKoinIO/koin#2477 ·
-
[Submission] AI服务引擎Apertasubmit-adaption submit-adaption-pre
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
BetterAndroid/android-notification-icon-project#783 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno