tencent cloud

即时通信 IM

iOS(SwiftUI)

下载
聚焦模式
字号
最后更新时间: 2026-06-03 17:37:30

功能描述

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", Arabic
languageState.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.swiftgetSystemLanguage 中新增。
新增的语言词条包命名需要符合 ISO 639-1 语言代码 标准,组件内部会跟随系统语言自适应。
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", Arabic
languageState.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
完整版 请见此处


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈