腾讯云IM Flutter TUIKit默认自带 英文/简体中文/繁体中文/日语/韩语 语言包,作为界面展示语言。
根据此文档指引,您可以使用默认语言包,也可自定义语言翻译表述,并增添额外的非自带语言的支持。
如果您的App,需要的语言仅包括英语/简体中文/繁体中文/日语/韩语,请参考本部分。
直接使用TUIKit即可,无需额外步骤。插件内部会跟随系统语言自适应。
如果您需要在初始化是,手动设置TUIKit界面语言,请在TIMUIKitCore.getInstance()
中调用init
方法时,传入需要的语言。
import 'package:tim_ui_kit/tim_ui_kit.dart';
final CoreServicesImpl _coreInstance = TIMUIKitCore.getInstance();
final isInitSuccess = await _coreInstance.init(
language: LanguageEnum.en, // 请在此处定义语言,枚举值见下方
// ...其他配置
);
语言可选项,枚举值为:
enum LanguageEnum {
zhHant, //繁体中文
zhHans, //简体中文
en, // 英文
ko, // 韩语
ja // 日语
}
调用 I18nUtils(null, language);
即可。此处的 language
为 ISO 639-1 语言代码。示例如下:
I18nUtils(null, "en");
说明:语言代码清单见附录。
如果您需要支持,除 英文/简体中文/繁体中文/日语/韩语 外的更多语言,或更改我们部分词条的翻译,请参考本部分。
说明:本方案仅适用于,目标语言为的阅读方向为从左至右的语言。对于阅读方向从右至左的小语种,如阿拉伯语,请自行在GitHub fork一份我们的源码,完成自定义左右镜像开发适配。
本章节的核心为本部分, 即,将您自定义的国际化多语言词条库文件,注入腾讯云IM项目内。
在您的项目中,允许如下代码。
flutter pub run tencent_im_base
根据提示,选择 A
选项。
此时,我们自带的所有语言包,以JSON文件模板的形式,存储于您项目根目录下,languages/
路径内。
请复制一份您熟悉的语言JSON模板文件,例如,简体中文版,strings_zh-Hans.i18n.json
。
复制一份新的,并命名为 strings_${语言编码}.i18n.json
。其中,${语言编码}
需要替换为 ISO 639-1 语言代码。例如,丹麦语,strings_da.i18n.json
。
如果您需要兼容支持多个新语言,复制多份,并准确指定每一份的语言编码即可。
此时,您可以修改上一步 复制新生成的目标语言模板。
打开您复制生成的新文档,保留不动JSON的md5 key值,将所有的value值替换成对应目标翻译语言。
说明:如果您需要修改默认语言模板的翻译文案,也可直接打开自动生成的语言模板,进行修改。除简体中文版本外,其他翻译文案,均可修改。
翻译完成后,languages/
内,包含原始提供的自带语言模板,及您复制生成的其他语言词条集。
在您项目的根目录下,执行 flutter pub run tencent_im_base
命令,并选择 B
选项。
代码运行完成后,即可使您的语言包,在当前电脑本地生效。
说明:如果您是团队协同开发,或使用了远程流水线编译。需要在您同事电脑中或流水线编译命令脚本中,使用同样的方式,执行本章节所述方法。
直接使用TUIKit即可,无需额外步骤。
只要您新增的语言词条包命名符合标准,插件内部会跟随系统语言自适应。
如果您需要在初始化是,手动设置TUIKit界面语言,请在TIMUIKitCore.getInstance()
中调用init
方法时,传入需要的语言。
import 'package:tim_ui_kit/tim_ui_kit.dart';
final CoreServicesImpl _coreInstance = TIMUIKitCore.getInstance();
final isInitSuccess = await _coreInstance.init(
extraLanguage: "ja", // 请在此处定义语言,ISO 639-1 语言代码 见下方
// ...其他配置
);
调用 I18nUtils(null, language);
即可。此处的 language
为 ISO 639-1 语言代码。示例如下:
I18nUtils(null, "ja");
说明:语言代码清单见附录。
语言 | 代码 | 语言 | 代码 |
---|---|---|---|
阿拉伯语 | 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-UA |
中文(简体) | zh-Hans | 中文(繁体) | zh-Hant |
完整版请见此处。
如果您在接入使用过程中有任何疑问,请通过如下方式联系我们。
本页内容是否解决了您的问题?