如何本地化 VSCode 扩展

Pet*_*one 11 localization visual-studio-code vscode-extensions

我编写了一个 VS Code 扩展来支持打印。由于最近的所有问题都与外国字符集相关的问题有关,看来我应该支持英语以外的语言。

但我在 VS Code API 文档中找不到任何有关本地化的内容。有一个关于语言的部分,但这是关于计算机语言的解析和语法着色等。

是否有任何关于 VS Code 扩展本地化的支持或至少约定?


感谢 Gama11 为我指出了很好的资源。

Gam*_*a11 11

是的,这是可能的,并且实际上有一个 I18n 示例扩展:

最好阅读自述文件,但基本思想如下:

  • 使用vscode-nls-devNPM包
  • 使用 NLS 标识符,例如"%extension.sayHello.title%"命令标题的占位符等package.json
  • 类似地,在 JS 代码中,NLS 标识符可以使用localize()vscode-nls
  • 有一个顶级目录,其中包含文件i18n中支持的语言的标识符的翻译<file-name>.i18n.json

或者,您也可以看看 C++ 扩展是如何做到这一点的:

他们似乎采取了略有不同的方法:没有i18n目录,而是直接将翻译放在文件旁边(package.nls.it.jsonpackage.nls.zh-cn.jsonpackage.nls.json使用默认的 / 英语)。我不确定它是否会翻译package.jsonJS 代码之外的任何内容。