Documentation Sub-Issue: Synchronize String Resources Across All Languages
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- android
Línea de trabajo
Empieza auditando app/src/main/res/values* frente a app/src/main/res/values/strings.xml, luego ejecuta la herramienta de detección en scripts/TranslationStringTools/ e inspecciona sus informes. Revisa el código en busca de cadenas de UI codificadas directamente y define el alcance de los idiomas activos antes de realizar cambios. Se considera terminado cuando todos los recursos de los idiomas activos tienen claves coincidentes, los informes muestran una cobertura del 100 % y el proceso de traducción está documentado y se hace cumplir.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Kotlin
- Estrellas
- 41
- Forks
- 4
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de arn-c0de/InteractiveChecklists
-
design frontend help wanted priority: medium UI/UX
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
design frontend good first issue help wanted priority: medium UI/UX
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Design: 🎨 UI/UX Designer Wanted: App Interface ImprovementsQuizá libre de nuevo @pedrocsampaio la tomó hace 275 días y no hay ningún pull request abierto. Abiertodesign enhancement frontend help wanted priority: low UI/UX
arn-c0de/InteractiveChecklists#27 · 2 comentarios · 1 asignado ·
-
Feature: Make app UI & menus responsive across phones, tablets and orientations — ensure full functionalityQuizá libre de nuevo @arn-c0de la tomó hace 278 días y no hay ningún pull request abierto. Abiertoenhancement help wanted priority: medium UI/UX
arn-c0de/InteractiveChecklists#23 · 1 asignado ·
-
enhancement help wanted priority: low UI/UX
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Todos los issues de arn-c0de/InteractiveChecklists
Issues similares
-
area/kotlin
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
dafonton77-tech/Cadreenf#11 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
Hy4ri/hermes-mobile#1647 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
supabase-community/supabase-kt#1429 ·
Los mantenedores suelen responder en 5 días