多语言支持
多语言配置
扩展支持多语言配置,你可以在 ./locales/
文件夹内创建 <IANA 语言标签>.json
文件,该文件会自动关联对应的语言,并在适时调用。
{
"Enter": "确定",
"Cancel": "取消"
}
2
3
4
{
"Enter": "Enter",
"Cancel": "Cancel"
}
2
3
4
如果需要获取当前扩展支持的所有语言标签,可以调用 SYS_I18n.getAllSupportedLanguages() 方法,它将返回一个字符串数组。
WARNING
需要注意的是,如果你的扩展拥有两种及以上的语言,则必须至少包含 zh-Hans
或 en
的其中一种作为回退语言,否则可能会遇到不可预期的显示错误。
在代码内使用多语言
要使用多语言系统在不同语言环境下展示不同的文本,请使用 SYS_I18n.text() 方法。
SYS_I18n.text() 方法有一个必须的参数 tag
,对应多语言文件中的键名,通过该键名匹配到的键值即为最终展示的文本。
你可以指定 namespace
参数为其他扩展的 uuid
,以调用其他扩展的多语言配置。
当前嘉立创 EDA 专业版默认只存在少数几种语言支持,而扩展 API 支持大量的额外语言,你可以在扩展内自行使用 language
参数为你的扩展适配更多的语言,但你需要自行设计切换语言的逻辑和方法。
在对语言进行翻译的时候,我们很有可能会遇到需要将参数嵌入文本之间的情况,因为各语言的语法不尽相同,参数在语言文本中的位置可能会有很大的变化,你可以使用 ${1}
格式的占位符表示需要嵌入的参数,并将参数传入 SYS_I18n.text() 方法的 arg
内,这样,在展示指定文本时,对应的参数将会被嵌入到文本中的指定位置。
TIP
语言优先级:当前显示语言 > 系统默认语言 > 数据集中第一个搜索到的包含该文本标签的语言 > 文本标签(tag)
除了以上步骤外,你可能还需要了解其他 SYS_I18n API 以更自由地使用多语言内容。