當地語系化功能表命令
您可以為 VSPackage 建立當地語系化的 .vsct 檔案和當地語系化的 .resx 檔案,然後更新專案檔以納入變更,藉以提供功能表和工具列命令的當地語系化文字。
如需如何當地語系化安裝體驗的資訊,請參閱當地語系化 VSIX 套件。
當地語系化命令名稱
在 VSPackages 中,功能表命令和工具列按鈕定義在 .vsct 檔案中。
在 [方案總管] 中,將 .vsct 檔案的名稱從 filename.vsct 變更為 filename.en-US.vsct。
針對每個當地語系化語言製作 filename.en-US.vsct 的複本。
為每個複製 filename.{Locale}.vsct 命名,其中 {Locale} 是特殊文化特性名稱。 如需文化特性名稱值的清單,請參閱 Microsoft 指派的地區設定識別碼。
這些 filename.Locale.vsct 檔案包含套件的當地語系化功能表文字。
開啟每個 filename.Locale.vsct 檔案將文字當地語系化。
依需要為特定語言修改 ButtonText 元素值。
如果您提供當地語系化圖示,請修改 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) 檔案中。
將 VSPackage.resx 重新命名為 VSPackage.en-US.resx。
針對每個當地語系化語言製作 VSPackage.en-US.resx 檔案的複本。
為每個複本 VSPackage.{Locale}.resx 命名,其中 {Locale} 是特殊文化特性名稱。
將 Resources.resx 重新命名為 Resources.en-US.resx。
針對每個當地語系化語言製作 Resources.en-US.resx 檔案的複本。
為每個複本 Resources.{Locale}.resx 命名,其中 {Locale} 是特殊文化特性名稱。
開啟每個 .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 檔案和專案檔,以納入當地語系化的資源。
從Solution Explorer的 [屬性] 節點,在編輯器中開啟 assemblyinfo.cs 或 assemblyinfo.vb。
新增下列項目。
[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
這會將美式英文設定為預設語言。
卸載專案。
在編輯器中開啟專案檔。
在根
Project
元素中,新增PropertyGroup
元素和UICulture
元素以符合您的預設語言。<PropertyGroup> <UICulture>en-US</UICulture> </PropertyGroup>
這會將美式英文設定為 Windows Presentation Foundation (WPF) 控制項的預設 UI 文化特性。
找出包含
EmbeddedResource
元素的ItemGroup
元素。在呼叫 VSPackage.en-US.resx 的
EmbeddedResource
元素中,將ManifestResourceName
元素取代為設定為VSPackage.en-US.Resources
的LogicalName
元素,如下所示:<EmbeddedResource Include="VSPackage.en-US.resx"> <MergeWithCTO>true</MergeWithCTO> <LogicalName>VSPackage.en-US.Resources</LogicalName> </EmbeddedResource>
針對每個當地語系化語言,複製
VsPackage.en-US
的EmbeddedResource
元素,並將複本的 Include 屬性和 LogicalName 元素設定為目標地區設定。針對每個當地語系化
VSCTCompile
元素,新增ResourceName
元素 (其指向Menus.ctmenu
),如下列範例所示:<ItemGroup> <VSCTCompile Include="LocalizedPackage.es-ES.vsct"> <ResourceName>Menus.ctmenu</ResourceName> </VSCTCompile> </ItemGroup>
儲存專案檔並重新載入專案。
組建專案。
這會為每個語言建立主要組件和資源組件。 如需當地語系化部署程序的相關資訊,請參閱當地語系化 VSIX 套件