<string name="welcome_title">Welcome</string>
<string name="login_button">Sign In</string>
<string name="settings_label">Settings</string>
<!-- Auto-synced to 12 locales -->
<!-- values-ja, values-de, values-fr... -->
Android 本地化挑战
多模块项目和 XML 资源需要结构化的本地化工作流
跨模块管理 strings.xml
功能模块和库模块各有自己的 res/values/,导致字符串不一致并出现重复
复数规则在不同语言中出错
每种语言的复数形式需要不同的 CLDR 类别 — 很容易漏掉俄语和阿拉伯语中的 few/many
App Bundle 会剥离语言资源
Google Play 按语言拆分 APK,导致应用内语言切换失效
未集成工作流
翻译流程与 Gradle 构建和 Android Studio 工作流相互脱节
原生 Android 本地化
与 Android Studio、Jetpack Compose 和 Gradle 工作流无缝集成的本地化方案。

源字符串
检测并提取
翻译
同步回项目
Android 专属功能
面向使用 Jetpack Compose、多模块项目和 Play Store 元数据的现代 Android 开发而构建
支持 strings.xml
与 Android XML 资源文件直接同步
Jetpack Compose
原生集成 stringResource() 和 pluralStringResource()
支持多模块
在应用、功能模块和库模块之间同步
支持复数和数组
按照正确的 CLDR 规则处理 plurals 和 string-array
Play Store 元数据
同时本地化代码和 Fastlane Supply 元数据
Android 开发者场景
本地化至关重要的实际 Android 开发配置
Jetpack Compose 应用
自动保持所有语言区域中的 Compose stringResource() 调用都已翻译
多模块 Android 应用
在应用模块、功能模块和共享库之间同步翻译
同时本地化代码和 Play Store 的团队
同时管理应用内字符串和 Play Store 元数据
手动管理与集成管理
原生 Android 集成如何改变您的工作流
| Feature | 手动管理 | 使用 Android 集成 |
|---|---|---|
| 文件格式支持 | 手动处理 XML | strings.xml + 复数 + 字符串数组 |
| 多模块同步 | 逐个模块手动处理 | 自动同步所有模块 |
| Compose 支持 | 工具有限 | 原生 stringResource 集成 |
| Play Store 元数据 | 独立流程 | 同时处理代码和元数据 |
| 团队工作流 | 工具分散 | 统一的 Android 工作流 |
常见问题
关于 Android 本地化,您需要了解的一切
<resources>
<string name="welcome">Welcome</string>
<string name="login">Sign In</string>
</resources>
Tools → i18n Agent → Pull Translations
✓ Translated to de, ja, es, fr, ko