Android(Compose)
功能描述
TUIKit Compose 默认自带英文、简体中文、繁体中文和阿拉伯语语言包,作为界面展示语言。根据此文档指引,您可以使用默认语言包,也可自定义语言翻译表述和增加其他语言包。
英文 | 阿拉伯语 | 简体中文 |
![]() | ![]() | ![]() |
使用自带语言
如果您的 App 需要的语言仅需支持英文、简体中文、繁体中文和阿拉伯语,请参考本部分。
跟随系统语言
直接使用
TUIKit Compose 即可,无需额外步骤。组件内部语言会跟随系统语言,如果系统语言是上述 4 种语言之外,默认使用英文。指定显示的语言
如果您需要指定
TUIKit Compose 界面语言,请使用 setApplicationLocales 传入需要的语言,指定语言后,组件内部不再跟随系统语言。示例代码如下:// Supported language:// "zh", Simplified Chinese// "zh-hk", Traditional Chinese// "en", English// "ar", ArabicAppCompatDelegate.setApplicationLocales(LocaleListCompat.forLanguageTags("zh"))
注意:
使用
setApplicationLocales 方法需要依赖 androidx.appcompat:appcompat ,且版本要 >= 1.6.0。使用更多语言/自定义翻译表述
如果您的 App 需要支持更多语言,或更改部分词条的翻译,请参考本部分。
本章节以添加韩语语言包为例,讲解新增语言包和自定义翻译的流程。
新增语言资源文件
在各模块的
res 目录下创建 values-ko 目录和对应的字符串资源文件。ko 是 Android 资源限定符规则中的韩语代码。新增韩语后的目录结构示例如下:chat/demo/app/src/main/res/├── values/strings.xml├── values-zh/strings.xml├── values-zh-rHK/strings.xml├── values-ar/strings.xml└── values-ko/strings.xmlchat/uikit/src/main/res/├── values/strings.xml├── values-zh/strings.xml├── values-zh-rHK/strings.xml├── values-ar/strings.xml└── values-ko/strings.xmlatomic-x/src/main/├── res-album-picker/values-ko/strings.xml├── res-base-component/values-ko/strings.xml├── res-chat-setting/values-ko/strings.xml├── res-contact-list/values-ko/strings.xml├── res-conversation-list/values-ko/strings.xml├── res-emoji-picker/values-ko/strings.xml├── res-emoji-picker/values-ko/strings-emoji.xml├── res-message-input/values-ko/strings.xml├── res-message-list/values-ko/strings.xml├── res-search/values-ko/strings.xml└── res-video-recorder/values-ko/strings.xml
可以参考各模块默认目录
values 下的 strings.xml,将其中的 key 逐一翻译为韩语。说明:
1.
TUIKit Compose 的多语言资源分散在 app、uikit 和 atomic-x 多个模块中,建议相关模块都同步添加 values-ko。2.
res-emoji-picker 模块除 strings.xml 外,还包含 strings-emoji.xml,新增语言时建议一并补齐。3. 语言代码清单见 资源限定符规则。
个性化自定义翻译
上一步已经创建好了韩语资源文件
values-ko/strings.xml。不同语言资源文件中的字符串 key 保持一致,您可以按业务需要自定义具体翻译内容。如果只想调整部分文案,也可以仅覆盖对应模块中的目标词条,无需修改其他语言文件。跟随系统语言
Android 会根据系统语言自动匹配对应的资源目录,例如系统语言为韩语时,会优先加载
values-ko 下的资源。如果应用之前通过
setApplicationLocales 指定过语言,需要清空应用语言设置后,组件才会重新跟随系统语言。示例代码如下:AppCompatDelegate.setApplicationLocales(LocaleListCompat.getEmptyLocaleList())
指定显示的语言
如果您需要指定
TUIKit Compose 界面语言为韩语,请使用 setApplicationLocales 传入需要的语言。指定语言后,组件内部不再跟随系统语言。示例代码如下:// Supported language:// "zh", Simplified Chinese// "zh-hk", Traditional Chinese// "en", English// "ar", Arabic// "ko", KoreanAppCompatDelegate.setApplicationLocales(LocaleListCompat.forLanguageTags("ko"))
以上步骤操作完成后,界面会显示为韩语,效果如下图所示:


附录:资源限定符规则
语言 | 代码 | 语言 | 代码 |
阿拉伯语 | ar | 保加利亚语 | bg |
克罗地亚语 | hr | 捷克语 | cs |
丹麦语 | da | 德语 | de |
希腊语 | el | 英语 | en |
爱沙尼亚语 | et | 西班牙语 | es |
芬兰语 | fi | 法语 | fr |
爱尔兰语 | ga | 印地语 | hi |
匈牙利语 | hu | 希伯来语 | he |
意大利语 | it | 日语 | ja |
朝鲜语/韩语 | ko | 拉脱维亚语 | lv |
立陶宛语 | lt | 荷兰语 | nl |
挪威语 | no | 波兰语 | pl |
葡萄牙语 | pt | 瑞典语 | sv |
罗马尼亚语 | ro | 俄语 | ru |
塞尔维亚语 | sr | 斯洛伐克语 | sk |
斯洛文尼亚语 | sl | 泰语 | th |
土耳其语 | tr | 乌克兰语 | uk |
中文(简体) | zh | 中文(繁体) | zh-rHK |



