多语言适配

WARNING

请注意,当前域名 https://dev.weixin.qq.com/docs/framework 文档已不维护,请前往微信文档中心open in new window 找到对应的新文档继续使用

  • 开发者工具版本要求: ≥ 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 例如:zh.json zh-Hans.json zh-Hans-Hk.json fr.json en.json
  • 并在 json 中按照以下格式编写国际化文本(以配置 App 名称为例子)
{
    "ios": {
        "name": "xx" 
    },
    "android": {
        "name": "yy"
    },
    "common": {
        "someDesc": "zz"
    }
}

注意:其中相同字段国际化读取时的覆盖关系优先级为:zh-Hans-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文件夹里的配置文件中配置 privacy 内容,例如
{
    "ios": {
        "name": "xx" ,
        "privacy":"i18n/privacy/fr.json"
    },
    "android": {
        "name": "yy"
    },
    "common": {
        "someDesc": "zz"
    }
}
  • 最后,在 project.miniapp.json 中配置privacy template 的路径

1.6 启动页多语言适配示例

注意:开发者工具需 ≥ 1.06.2407092

  • 在国际化文件中添加 {splashscreen} 字段,值为启动页图片地址,例如 base.json 中的配置示参考
  • 在project.miniapp.json文件中,以 %{splashscreen}% 格式使用国际化启动页图片

iOS 注意事项

  • 启动页图片有 2 个阶段,阶段 1 的图片会在第一次 APP 启动时根据此时用户的语言设置确定,之后再切换语言也不会改变了。阶段 2 的图片会时刻跟随用户的语言设置进行改变