多语言适配
- 开发者工具版本要求: ≥ 1.06.2312122(建议使用最新的 nightly 开发者工具)。
- 当前可支持 App 名称、隐私信息访问许可描述、隐私弹窗内容以及启动页的多语言适配。
一、使用步骤
1.1 下载工具并创建文件夹
下载最新 nightly 开发者工具。
如果是存量多端项目,在项目目录中新建文件夹用于放置不同语言的配置文件(建议建在项目根目录,可随其他代码一起 push 到 git 仓库)。
如果是全新刚升级的多端项目,则开发者工具默认已经为开发者创建
i18n
文件夹,并且生成了 base.json 以及默认将 Name 以及适配文件的文件夹填充。
1.2 创建基准配置文件
- 如果是存量多端项目,需手动在步骤 1 的 文件夹里创建 base.json ( 这个是基准文件,会被用在没有设置国际化的其他语言、国家、地区上)。
1.3 创建其他语言配置文件
json 文件的命名规范是:BCP 47 (需要注意 iOS 中因为系统原因无法使用 zh 需要使用 zh-Hans 或 zh-Hant)
创建其他语言的 json 文件,常见语言对应的 json 文件名:
语言 json 文件名 简体中文 zh.json(iOS 为 zh-Hans.json 或 zh-Hant.json) 繁体中文(香港) zh-Hk.json 繁体中文(台湾) zh-TW.json 英文 en.json 法语 fr.json 德语 de.json 俄语 ru.json 西班牙语 es.json 日语 ja.json 韩语 ko.json 阿拉伯语 ar.json 并在 json 中按照以下格式编写国际化文本(以配置 App 名称为例子)。
{ "ios": { "name": "xx" }, "android": { "name": "yy" }, "common": { "someDesc": "zz" } }
注意:其中相同字段国际化读取时的覆盖关系优先级为:zh-Hk.json > zh-Hans.json > zh.json > base.json
1.4 project.miniapp.json 完成多语言适配
配置多语言适配的文件夹路径。
前往 project.miniapp.json,在需要进行多语言适配的的字段(如:名字、隐私信息访问许可描述)以 %i18n_key% 的形式填入,例如:%name%、%someDesc%
1.5 隐私提示框多语言适配示例
可在
i18n
文件夹中继续创建privacy
文件夹放置不同语言版本的隐私提示窗内容。然后在
i18n
文件夹里各语言的 json 文件中配置 privacy 内容,例如{ "ios": { "name": "xx" , "privacy":"i18n/privacy/fr.json" }, "android": { "name": "yy" }, "common": { "someDesc": "zz" } }
最后,在 project.miniapp.json 中配置 Android 和 iOS 对应的
privacy template
的路径。
1.6 启动页多语言适配示例
注意:开发者工具需 ≥ 1.06.2407092
在国际化文件中添加 {splashscreen} 字段,值为启动页图片地址,例如 base.json 中的配置示参考。
在 project.miniapp.json 文件中,以 %{splashscreen}% 格式使用国际化启动页图片。
iOS 注意事项
- 启动页图片有 2 个阶段,阶段 1 的图片会在第一次 APP 启动时根据此时用户的语言设置确定,之后再切换语言也不会改变了。阶段 2 的图片会时刻跟随用户的语言设置进行改变。