VSC拓展国际化支持

· 1 min read

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

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

菜单国际化

配置package.json

 "contributes": {
    "commands": [
      {
        "command": "gitlink.openInGitHub",
        "title": "%command.openInGitHub.title%"
      }
    ]
  }

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

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

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

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

内容格式如下

{
  "command.openInGitHub.title": "Open in GitHub"
}

拓展内容国际化

创建l10n文件夹

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

配置package.json

{
  "l10n": "./l10n",
}

执行抽离资源命令

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

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

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

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

创建目标语言JSON文件

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

测试

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

参考