Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Documentation Sub-Issue: Synchronize String Resources Across All Languages

未关闭
#33 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
25/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
停滞
技术栈
android

调研方向

首先将 app/src/main/res/values* 与 app/src/main/res/values/strings.xml 进行审计对比,然后运行 scripts/TranslationStringTools/ 中的检测工具并检查其报告。在进行更改之前,检查代码库中是否存在硬编码的 UI 字符串,并定义活动语言范围。所有活动语言资源都具有匹配的键、报告显示 100% 的覆盖率,并且翻译流程已记录并得到强制执行,即表示完成。

由索引模型根据 Issue 内容生成。

描述

documentation help wanted priority: low translation

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 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

arn-c0de/InteractiveChecklists 的其他 Issue

查看 arn-c0de/InteractiveChecklists 的全部 Issue

相似的 Issue

更多 Kotlin Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。