插件国际化@localized
什么是插件国际化?即插件支持多国家、多语言。
HBuilderX优先查找插件扩展中的对应的翻译文件,然后再查找语言包中对应插件扩展的翻译文件。
大多数情况下,个人开发的插件,可能无需集成到HBuilderX语言包中,如有需要,请联系HBuilderX官方。
插件扩展的目录结构:
插件目录 /package.jsonpackage.nls.json 主语言翻译键值对应数据package.nls.[语言id].json 特定语言翻译键值对应关系
特别说明:
- 本文仅适用于package.json中的键值。
语言id,必须规范。请参考:语言id列表
插件扩展package.json
插件扩展package.json中需要进行根据HBuilderX当前语言进行翻译的值使用%键名%来表达。
比如%description%,此时HBuilderX会优先查找插件扩展目录中(package.nls.json或package.nls.[对应语言id].json)的翻译文件
// 插件扩展package.json{"name": "xxxxx","description": "%description%","displayName": "%displayname%","version": "x.x.x"}
插件语言国际化示例
以【markdown-share】插件为例,目录结构如下:
markdown-share /package.jsonpackage.nls.jsonpackage.nls.en.json # 英语语言包
插件package.json内容如下:
{"name": "markdown-share","description": "%description%","displayName": "%displayname%"}
package.nls.json
{"description": "一键分享markdown"}
package.nls.en.json
package.nls.[对应语言id].json, 优先于package.nls.json匹配
{"description": "一键分享markdown" ,"displayname": "一键分享"}
使用该文件,插件扩展中的package.json里有包含%description%字样的值时,该值将会被替换成翻译文件中对应的值(如:一键分享markdown,而%displayname%被替换为一键分享)
