Chrome扩展商店国际化配置后名称描述不随语言切换如何解决?
问题根因分析
你遇到的是两个典型的Chrome扩展国际化配置错误:
- 第一个错误:manifest.json中国际化占位符格式错误
你实际提交的manifest.json里name和description字段写的是<strong>MSG_appName</strong>,不符合Chrome扩展i18n的规范写法,正确格式应该是前后各两个下划线包裹的__MSG_字段名__,示例正确写法:
"name": "__MSG_appName__", "description": "__MSG_appDesc__",
因为你当前的占位符格式错误,Chrome Web Store无法正确识别你要调用messages.json里的对应翻译字段,所以只会读取默认locale的配置内容。
- 第二个错误:语言包存放文件夹命名错误
你提到语言包放在local文件夹下,Chrome扩展要求所有国际化的messages.json必须存放在根目录下命名为_locales的文件夹内,且每个语言对应一个子文件夹,子文件夹名是对应语言的locale代码,比如西班牙语对应的路径应该是/_locales/es/messages.json,英文对应/_locales/en/messages.json,文件夹命名错误会导致Chrome无法读取对应语言的翻译文件。
修复步骤
- 更正manifest.json中的
name和description字段为标准的__MSG_xxx__占位符格式 - 将原来的
local文件夹重命名为_locales,检查每个语言的messages.json是否放在对应locale代码的子文件夹下 - 重新打包zip文件上传到Chrome开发者后台,待审核通过后即可看到多语言名称和描述正常展示
内容的提问来源于stack exchange,提问作者La Touche Musicale
相关产品推荐
相关产品推荐

