本地化 VSIX 包

可以通过为每个目标语言创建 Extension.vsixlangpack 文件,然后将其放入正确的文件夹中来本地化 VSIX 包。 安装本地化包后,扩展的本地化名称与本地化说明一起显示。 如果提供本地化许可证文件或指向本地化信息的 URL,则还会显示它们。

如果 VSIX 包包含添加菜单命令或其他 UI 的 VSPackage 的内容,请参阅 本地化菜单命令 ,了解有关本地化新 UI 元素的信息。

目录结构

当用户安装扩展时,扩展和汇报检查与目标计算机的 Visual Studio 区域设置匹配的文件夹的 VSIX 包的顶层。 如果扩展和汇报在文件夹中找到 .vsixlangpack 文件,它将该文件中的本地化值替换为 .vsixmanifest 文件中的相应值。 这些值在安装扩展时显示。 以下示例显示了本地化为西班牙语(es-ES)和法语(fr-FR)的 VSIX 包的目录结构。

.
├── MyExtension.dll
├── Extension.vsixmanifest
├── [Content_Types].xml
├── es-ES
│   └── Extension.vsixlangpack
└── fr-FR
    └── Extension.vsixlangpack

注意

Visual Studio SDK 中支持的 VSIX 项目模板生成 VSIX 清单并将其命名为 source.extension.vsixmanifest。 当 Visual Studio 生成项目时,它将该文件的内容复制到 VSIX 包中的 Extension.VsixManifest 中。

Extension.vsixlangpack 文件

Extension.vsixlangpack 文件遵循 VSIX 语言包架构 2.0。 此架构具有一个 PackageLanguagePackManifest紧跟 Metadata 子元素的架构。 Metadata 元素最多可以包含 6 个子元素、DisplayName、、DescriptionMoreInfoLicense、和ReleaseNotesIcon。 这些子元素对应于 Extension.vsixmanifest 文件的元素的 、DescriptionMoreInfoReleaseNotesLicenseIcon子元素MetadataDisplayName

创建 vsixlangpack 文件时,必须将属性设置为 Include in Vsixtrue。 否则,将忽略本地化的安装文本。

设置 Vsix 属性中的 Include

  1. 解决方案资源管理器中,右键单击 Extension.vsixlangpack 文件,然后单击“属性”。

  2. 在“属性网格”中,单击“在 Vsix 中包含”,并将其值设置为 true

示例

说明

以下示例显示了 Extension.vsixmanifest 文件的相关部分。 该文件还包括西班牙语的相应 Extension.vsixlangpack 文件。 如果目标计算机的 Visual Studio 区域设置设置为西班牙语,则语言包中的值将替换清单中的值。

代码

  • [Extension.vsixmanifest]
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest ...>
  <Metadata ...>
    <DisplayName>Family Tree</DisplayName>
    <Description>This extension places a custom treeview control in the toolbox that is optimized for handling family tree information.</Description>
    <MoreInfo>http://www.contoso.com/products/FamilyTree.htm</MoreInfo>
    <License>Eula.rtf</License>
    <ReleaseNotes>ReleaseNotes.rtf</ReleaseNotes>
    <Icon>Icon.png</Icon>
  </Metadata>
  <Installation .../>
  <Dependencies .../>
  <Prerequisites .../>
  <Assets .../>
</PackageManifest>
  • [Extension.vsixlangpack]
<?xml version="1.0" encoding="utf-8"?>
<PackageLanguagePackManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011">
  <Metadata>
    <DisplayName>Arbol de Familia</DisplayName>
    <Description> Esta extensión pone control personalizado en la caja de herramientas por manejar información de familia.</Description>
    <MoreInfo> http://www.contoso.com/products/es/ArbolDeFamilia.htm</MoreInfo>
    <License>Eula.rtf</License>
    <ReleaseNotes>ReleaseNotes.rtf</ReleaseNotes>
    <Icon>Icon.png</Icon>
  </Metadata>
</PackageLanguagePackManifest>

另请参阅

Title 说明
VSIX 语言包架构 2.0 参考 VSIX 语言包描述 .vsix 部署文件的本地化信息。
VSIX 包剖析 描述 vsix 包的结构和内容。
本地化菜单命令 演示如何本地化扩展中的其他文本资源。