VSC拓展国际化支持

最近开发的VSC拓展需要做下国际化,发现官方文档介绍这里是空白,只是给了个例子,这里就总结下如何做国际化。

国际化部分也分几种情况,菜单国际化和拓展内容的国际化,比如提示信息。

菜单国际化

配置package.json

1
2
3
4
5
6
7
8
"contributes": {
"commands": [
{
"command": "gitlink.openInGitHub",
"title": "%command.openInGitHub.title%"
}
]
}

注意title使用key形式,key需要%进行包裹。

项目根目录下国际化JSON文件

如下是两种语言,默认英文和简体中文,如果需要其他语言,可以添加对应的JSON文件。

  • package.nls.json
  • package.nls.zh-cn.json

内容格式如下

1
2
3
{
"command.openInGitHub.title": "Open in GitHub"
}

拓展内容国际化

创建l10n文件夹

在项目根目录下创建l10n文件夹。

配置package.json

1
2
3
{
"l10n": "./l10n",
}

执行抽离资源命令

执行下面的命令会从src目录下抽离出所有字符串形成国际化JSON文件

1
npx @vscode/l10n-dev export --outDir ./l10n ./src

注意文件中需要如下使用才可被正确抽离

1
vscode.l10n.t('Congratulations, your extension "GitLink" is now active!')

创建目标语言JSON文件

https://static.1991421.cn/2025/2025-03-14-161959.jpeg

测试

到此国际化就配置OK了,实际运行中,尝试把VSC进行修改,就可以体验到不同的语言了。

参考