Documentation Sub-Issue: Synchronize String Resources Across All Languages
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- android
调研方向
首先将 app/src/main/res/values* 与 app/src/main/res/values/strings.xml 进行审计对比,然后运行 scripts/TranslationStringTools/ 中的检测工具并检查其报告。在进行更改之前,检查代码库中是否存在硬编码的 UI 字符串,并定义活动语言范围。所有活动语言资源都具有匹配的键、报告显示 100% 的覆盖率,并且翻译流程已记录并得到强制执行,即表示完成。
由索引模型根据 Issue 内容生成。
描述
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
- 主要语言
- Kotlin
- 星标
- 43
- 派生
- 4
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
arn-c0de/InteractiveChecklists 的其他 Issue
-
design frontend help wanted priority: medium UI/UX
难度 5/5 一周以上 新手友好度 25/100
-
design frontend good first issue help wanted priority: medium UI/UX
难度 5/5 一周以上 新手友好度 25/100
-
Design: 🎨 UI/UX Designer Wanted: App Interface Improvements可能重新可做 @pedrocsampaio 于 275 天前认领,目前没有进行中的 PR。 未关闭design enhancement frontend help wanted priority: low UI/UX
arn-c0de/InteractiveChecklists#27 · 2 条评论 · 已指派 1 人 ·
-
Feature: Make app UI & menus responsive across phones, tablets and orientations — ensure full functionality可能重新可做 @arn-c0de 于 279 天前认领,目前没有进行中的 PR。 未关闭enhancement help wanted priority: medium UI/UX
arn-c0de/InteractiveChecklists#23 · 已指派 1 人 ·
-
enhancement help wanted priority: low UI/UX
难度 5/5 一周以上 新手友好度 25/100
查看 arn-c0de/InteractiveChecklists 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 70/100
beppe2880/opencode-mobile#60 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 75/100
auth0/Auth0.Android#1101 ·
维护者通常 1 天内回复
-
LiquidGlass / LiquidGlassContainer (iOS): padded content measured at the outer width and overflows by the padding可能已有人在做 @aleclarson 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 74/100
NativeScript/NativeScript#11561 ·
维护者通常 1 天内回复
-
Imported configuration's @Bean methods record the configuration class instead of the return type未关闭in:spring-core
难度 2/5 1-3 小时 新手友好度 76/100
explyt/spring-plugin#787 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
IacobIonut01/ReFra#1335 ·
维护者通常 4 天内回复