问题描述
应用程序集成了 Android IMKit,需要支持多语言。
分析(根因分析、需求分析)
融云 IM SDK 默认只支持三种语言,汉语(简体),英语,阿拉伯语,系统设置为对应语言后,SDK 默认展示为对应语言。其他语言需要客户端单独适配,下面以日语为例适配。
解决方案
首先使用 Android Studio 创建对应国家语言 values,生成 values 文件夹
-
点击 res 文件夹,右键——》New——》Android Resource File
-
填入 name ,并在弹出框里下方左侧列表点击 Locale,然后再点击中间的 “右移按钮”
-
在 Language 列表和 Specific Region Only 列表下选择相对应的选项, 比如你要创建 日语 适配的 values 文件夹,就在Language选择 ja:Japanese ,在 Specific Region Only 列表下选择 JP:Japan ,在上面 Directory name 里就会生成对应的文件夹名称,最后点击 OK 按钮 创建成功。**
-
打开刚才创建好的 res → valuse-ja-rJP 目录,里面会有刚才创建的 xml 文件,打开后将融云 IMKit → res → values-ar 内的资源全部复制过来,逐个翻译替换内容,此处以
<string name="rc_date_yesterday">昨天</string>
举例 -
修改系统语言为 日语
-
最终运行展示效果如下:
链接
了解国际化(i18n)与本地化(l10n)之间的差异:
- i18n vs l10n — what’s the diff? | Mozilla L10N
- Internationalization vs. Localization: The Difference Between l10n and I18n | Crowdin Blog
- Internationalization vs. localization (i18n vs l10n): The differences
更多支持
如有疑问,欢迎提交工单。