共用方式為


當地語系化功能表命令

您可以為 VSPackage 建立當地語系化的 .vsct 檔案和當地語系化的 .resx 檔案,然後更新專案檔以納入變更,藉以提供功能表和工具列命令的當地語系化文字。

如需如何當地語系化安裝體驗的資訊,請參閱當地語系化 VSIX 套件

當地語系化命令名稱

在 VSPackages 中,功能表命令和工具列按鈕定義在 .vsct 檔案中。

  1. 在 [方案總管] 中,將 .vsct 檔案的名稱從 filename.vsct 變更為 filename.en-US.vsct

  2. 針對每個當地語系化語言製作 filename.en-US.vsct 的複本。

    為每個複製 filename.{Locale}.vsct 命名,其中 {Locale} 是特殊文化特性名稱。 如需文化特性名稱值的清單,請參閱 Microsoft 指派的地區設定識別碼

    這些 filename.Locale.vsct 檔案包含套件的當地語系化功能表文字。

  3. 開啟每個 filename.Locale.vsct 檔案將文字當地語系化。

    1. 依需要為特定語言修改 ButtonText 元素值。

    2. 如果您提供當地語系化圖示,請修改 Bitmap 值以指向目標檔案。

      下列範例顯示命令的英文和西班牙文按鈕文字,以開啟 [族譜目錄總管] 工具視窗。

      [FamilyTree.en-US.vsct]

    <Button guid="guidLocalizedPackageCmdSet" id="cmdidFamilyTree" priority="0x0100" type="Button">
      <Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1"/>
      <Icon guid="guidImages" id="bmpPic2" />
      <Strings>
        <CommandName>cmdidFamilyTree</CommandName>
        <ButtonText>Family Tree Explorer</ButtonText>
      </Strings>
    </Button>
    

    [FamilyTree.es-ES.vsct]

    <Button guid="guidLocalizedPackageCmdSet" id="cmdidFamilyTree" priority="0x0100" type="Button">
      <Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1"/>
      <Icon guid="guidImages" id="bmpPic2" />
      <Strings>
        <CommandName>cmdidFamilyTree</CommandName>
        <ButtonText>Explorar el arbol genealogico</ButtonText>
      </Strings>
    </Button>
    

當地語系化其他文字資源

命令名稱以外的文字資源定義於資源 (.resx) 檔案中。

  1. VSPackage.resx 重新命名為 VSPackage.en-US.resx

  2. 針對每個當地語系化語言製作 VSPackage.en-US.resx 檔案的複本。

    為每個複本 VSPackage.{Locale}.resx 命名,其中 {Locale} 是特殊文化特性名稱。

  3. Resources.resx 重新命名為 Resources.en-US.resx

  4. 針對每個當地語系化語言製作 Resources.en-US.resx 檔案的複本。

    為每個複本 Resources.{Locale}.resx 命名,其中 {Locale} 是特殊文化特性名稱。

  5. 開啟每個 .resx 檔案,以針對特殊語言和文化特性適當地修改字串值。 下列範例顯示工具視窗標題列的當地語系化資源定義。

    [Resources.en-US.resx]

    <data name="ToolWindowTitle" xml:space="preserve">
      <value>Family Tree Explorer</value>
    </data>
    

    [Resources.es-ES.resx]

    <data name="ToolWindowTitle" xml:space="preserve">
      <value>Explorador del arbol genealogico</value>
    </data>
    

將當地語系化的資源併入專案中

您必須修改 assemblyinfo.cs 檔案和專案檔,以納入當地語系化的資源。

  1. Solution Explorer的 [屬性] 節點,在編輯器中開啟 assemblyinfo.csassemblyinfo.vb

  2. 新增下列項目。

    [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
    

    這會將美式英文設定為預設語言。

  3. 卸載專案。

  4. 在編輯器中開啟專案檔。

  5. 在根 Project 元素中,新增 PropertyGroup 元素和 UICulture 元素以符合您的預設語言。

    <PropertyGroup>
      <UICulture>en-US</UICulture>
    </PropertyGroup>
    

    這會將美式英文設定為 Windows Presentation Foundation (WPF) 控制項的預設 UI 文化特性。

  6. 找出包含 EmbeddedResource 元素的 ItemGroup 元素。

  7. 在呼叫 VSPackage.en-US.resxEmbeddedResource 元素中,將 ManifestResourceName 元素取代為設定為 VSPackage.en-US.ResourcesLogicalName 元素,如下所示:

    <EmbeddedResource Include="VSPackage.en-US.resx">
      <MergeWithCTO>true</MergeWithCTO>
      <LogicalName>VSPackage.en-US.Resources</LogicalName>
    </EmbeddedResource>
    
  8. 針對每個當地語系化語言,複製 VsPackage.en-USEmbeddedResource 元素,並將複本的 Include 屬性和 LogicalName 元素設定為目標地區設定。

  9. 針對每個當地語系化 VSCTCompile 元素,新增 ResourceName 元素 (其指向 Menus.ctmenu),如下列範例所示:

    <ItemGroup>
      <VSCTCompile Include="LocalizedPackage.es-ES.vsct">
        <ResourceName>Menus.ctmenu</ResourceName>
      </VSCTCompile>
    </ItemGroup>
    
  10. 儲存專案檔並重新載入專案。

  11. 組建專案。

    這會為每個語言建立主要組件和資源組件。 如需當地語系化部署程序的相關資訊,請參閱當地語系化 VSIX 套件