iOS(SwiftUI)
功能描述
TUIKit SwiftUI 默认自带英文、简体中文、繁体中文和阿拉伯语语言包,作为界面展示语言。根据此文档指引,您可以使用默认语言包,也可自定义语言翻译表述和增加其他语言包。
英文 | 阿拉伯语 | 简体中文 |
![]() | ![]() | ![]() |
使用自带语言
如果您的 App 需要的语言仅需支持英文、简体中文、繁体中文和阿拉伯语,请参考本部分。
跟随系统语言
直接使用
TUIKit SwiftUI 即可,无需额外步骤。组件内部语言会跟随系统语言,如果系统语言是上述 4 种语言之外,默认使用英文。指定显示的语言
如果您需要指定
TUIKit SwiftUI 界面语言,请使用 setLanguage 传入需要的语言,指定语言后,组件内部不再跟随系统语言。示例代码如下:let languageState = LanguageState()// Supported language:// "zh-Hans", Simplified Chinese// "zh-Hant", Traditional Chinese// "en", English// "ar", ArabiclanguageState.setLanguage("zh-Hans")
使用更多语言/自定义翻译表述
如果您的 App 需要支持更多语言,或更改部分词条的翻译,请参考本部分。
本章节以添加韩语语言包为例,讲解新增语言包和自定义翻译的流程。
新增语言资源文件
在
ChatLocalizable.bundle/Localizable/ 下创建 ko.lproj 目录和 Localizable.strings 文件。新增韩语后的目录结构:Resources/strings/ChatLocalizable.bundle/Localizable/├── ar.lproj/Localizable.strings├── en.lproj/Localizable.strings├── zh-Hans.lproj/Localizable.strings└── zh-Hant.lproj/Localizable.strings└── ko.lproj/Localizable.strings // 新增韩语翻译文件,其中 ko 是 ISO 639-1 中的韩语代码
可以参考 en.lproj/Localizable.strings 中的 key,逐一翻译为韩语。
注意:
1. 其他 bundle(AlbumPickerLocalizable、VideoRecorderLocalizable、RTCLocalizable 等),建议也同样添加 ko.lproj。
2. 语言代码清单见 ISO 639-1 语言代码。
个性化自定义翻译
上一步已经创建好了韩语资源文件
ko.lproj/Localizable.strings,不同语言资源文件中语言的 key 是相同的,具体内容可以自定义翻译。跟随系统语言
在
LanguageState.swift 的 getSystemLanguage 中新增。private static func getSystemLanguage() -> String {let preferredLanguage = Locale.preferredLanguages.first ?? "en"if preferredLanguage.hasPrefix("en") {return "en"} else if preferredLanguage.hasPrefix("zh") {if preferredLanguage.contains("Hans") {return "zh-Hans"} else {return "zh-Hant"}} else if preferredLanguage.hasPrefix("ar") {return "ar"} else if preferredLanguage.hasPrefix("ko") {return "ko" // 添加该分支,跟随系统语言支持韩语} else {return "en"}}
指定显示的语言
如果你需要指定
TUIKit SwiftUI 界面语言为韩语,请使用 setLanguage 传入需要的语言。指定语言后,组件内部不再跟随系统语言。示例代码如下:let languageState = LanguageState()// Supported language:// "zh-Hans", Simplified Chinese// "zh-Hant", Traditional Chinese// "en", English// "ar", ArabiclanguageState.setLanguage("zh-Hans")
以上步骤操作完成后,界面会显示为韩语,效果如下图所示:

附录:语言代码表
语言 | 代码 | 语言 | 代码 |
阿拉伯语 | 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-Hans | 中文(繁体) | zh-Hant |



