跳到主要内容

本地化

翻译文本

所有的翻译文本均在 locale 文件夹下,以 <lang>.json 形式命名,<lang> 应该为某个具体的语言编号,如 en、zh-cn 等,具体编辑器中支持的语言见编辑器对应的翻译文档。

数据格式

对于具体的 JSON 文件,应当满足如下格式:

{
"message.id.1": "this is message 1",
"message.id.2": "this is message 2"
}

在上述格式中,JSON 文件必须有一个仅有键值对构成的对象,其中键必须是满足 [a-zA-Z0-9-.] 的合法字符串,即为翻译 ID,值必须是字符串类型,即为对应的翻译内容。

冲突处理

多个扩展可能会对同一个翻译 ID 提供翻译,此时后加载的扩展应当覆盖先前载入的翻译。特别地,规定编辑器主体的翻译必须是最先加载的。

例如扩展 A 翻译文件 en.json 如下:

{
"message.say": "Hello!",
"message.world": "World!"
}

扩展 B 翻译文件 en.json 如下:

{
"message.say": "How are you?",
"message.hi": "Hi!"
}

假如先加载扩展 A,后加载扩展 B,那么最终加载到编辑器中的翻译相当于如下内容,可以看到 message.say 的内容被覆盖了:

{
"message.say": "How are you?",
"message.world": "World!",
"message.hi": "Hi!"
}