多语言适配

  • 开发者工具版本要求: ≥ 1.06.2312122(建议使用最新的 nightly 开发者工具)。
  • 当前可支持 App 名称、隐私信息访问许可描述、隐私弹窗内容以及启动页的多语言适配。

一、使用步骤

1.1 下载工具并创建文件夹

  • 下载最新 nightly 开发者工具open in new window

  • 如果是存量多端项目,在项目目录中新建文件夹用于放置不同语言的配置文件(建议建在项目根目录,可随其他代码一起 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 的图片会时刻跟随用户的语言设置进行改变。