问题描述
应用程序集成了 iOS 版 IMKit,希望支持更多语言。
需求分析
iOS 版 IMKit 的语言是通过 NSLocalizedStringFromTable(key, @“RongCloudKit”, nil) 获取语言的,此方法是通过 NSBundle 的 mainBundle 获取语言包路径的,所以增加语言包,直接在 app 中创建跟 SDK 语言包同名(RongCloudKit)的 string 文件,就可以实现新增国际化文件的功能。
解决方案
具体可按照下面步骤添加:
-
创建 Localizations,选择日语
-
至少勾选一个,点击 Finish
-
创建一个 Strings 文件
-
命名必须和 SDK 的国际化文件一致,RongCloudKit,点击 Create
-
选中新建的 Strings 文件,点击 Localize
-
选择日语
-
在 Strings 文件中,将 IMKit 内置的 RongCloudKit 文件中语言的 key 复制到新建的 Strings 文件中,设置对应语言的文案
-
将模拟器的系统语言设置为日语。
-
运行应用,会显示对应的文案。
链接
如果想了解如何实现 App 内切换语言,请参考以下知识库:
了解国际化(i18n)与本地化(l10n)之间的差异:
- i18n vs l10n — what’s the diff? – Mozilla L10N
- Internationalization vs. Localization: The Difference Between l10n and I18n | Crowdin Blog
- https://lokalise.com/blog/internationalization-vs-localization/
更多支持
如有疑问,欢迎提交工单。