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
- 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)
35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
# 国际化
|
|
|
|
**宿主**构建器界面本地化为 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 引用它。
|
|
|
|
```kotlin
|
|
// 示意 —— 匹配 Strings.kt 中实际的拆分对象风格
|
|
val myNewLabel: String
|
|
get() = when (Strings.lang) {
|
|
AppLanguage.CHINESE -> "我的标签"
|
|
AppLanguage.ENGLISH -> "My label"
|
|
AppLanguage.ARABIC -> "..."
|
|
// ... 全部 10 种,绝不用 `else`
|
|
}
|
|
```
|
|
|
|
## 规则
|
|
|
|
- 优先在**现有拆分对象**上添加属性;不要创建新的本地化机制。
|
|
- 阿拉伯文必须完整 RTL —— 验证布局正确镜像。
|
|
- 不要在 Compose 界面中硬编码用户可见文本;始终经由 `Strings`。
|