OpenCode AI e9899d2e6d
Some checks failed
Android CI Build / check (push) Has been cancelled
Android CI Build / package-apks (push) Has been cancelled
Docs Deploy / build (push) Has been cancelled
Module Market Check / Validate modules/ (push) Has been cancelled
Module Market Publish / Generate submissions.json (push) Has been cancelled
Docs Deploy / deploy (push) Has been cancelled
Initial DruksCode V2: fresh fork of web-to-app (f3b488e) with DruksCode identity
- Package rename com.webtoapp -> br.com.drukstech.codeapp
- Product rename WebToApp/web-to-app -> DruksCode/drukscode
- Design system Wta* -> Dkc*
- applicationId br.com.drukstech.codeapp (.play for gplay flavor)
- rootProject.name DruksCode
- Fresh git history (upstream kept as remote for sync)
2026-09-12 02:42:02 +02:00

1.3 KiB

国际化

宿主构建器界面本地化为 10 种语言。(这与按应用配置、翻译生成应用内容的翻译叠加层相互独立。)

支持的语言

中文、英文、阿拉伯文(完整 RTL)、葡萄牙文、西班牙文、法文、德文、俄文、日文、韩文。

字符串在哪里

宿主 UI 字符串位于 app/src/main/java/br/com/drukstech/codeapp/core/i18n/Strings.kt,拆分在 Strings / StringsA … StringsE 对象之间(都在这一个文件里)。

添加用户可见字符串

  1. 在正确的 Strings* 拆分对象上添加属性,匹配周围风格。
  2. 提供全部 10 种语言。 缺少完整覆盖的新宿主字符串是不完整的。
  3. 像相邻代码那样从 Compose/UI 引用它。
// 示意 —— 匹配 Strings.kt 中实际的拆分对象风格
val myNewLabel: String
    get() = when (Strings.lang) {
        AppLanguage.CHINESE -> "我的标签"
        AppLanguage.ENGLISH -> "My label"
        AppLanguage.ARABIC -> "..."
        // ... 全部 10 种,绝不用 `else`
    }

规则

  • 优先在现有拆分对象上添加属性;不要创建新的本地化机制。
  • 阿拉伯文必须完整 RTL —— 验证布局正确镜像。
  • 不要在 Compose 界面中硬编码用户可见文本;始终经由 Strings。