2.10 本地化的菜单命令

本地化的菜单命令

Visual Studio 2015
 

若要了解有关 Visual Studio 2017 RC 的最新文档,请参阅 Visual Studio 2017 RC 文档

你可以提供本地化的文本的菜单和工具栏创建本地化的.vsct 文件的命令和本地化的.resx 文件以及你的 VSPackage,然后更新项目文件的更改合并。

有关如何本地化安装体验的信息,请参阅本地化 VSIX 包

在 Vspackage,菜单命令和工具栏按钮定义在.vsct 文件中。

  1. 解决方案资源管理器,更改从.vsct 文件的名称filename到.vsct filename.en US.vsct。

  2. 制作一份filename.en US.vsct 为每个本地化语言。

    将命名为每个副本filename区域设置.vsct,其中区域设置是特定区域性名称。 区域性名称值的列表,请参阅由 Microsoft 分配的区域设置 Id

    这些filename区域设置.vsct 文件将包含您的程序包的本地化的菜单文本。

  3. 打开每个filename区域设置.vsct 文件将文本本地化。

    1. 修改ButtonText值为适合于特定语言元素。

    2. 如果您将为提供本地化的图标,修改位图值以指向目标文件。

    下面的示例演示英语和西班牙语按钮文本命令,以打开家族树资源管理器工具窗口。

    [FamilyTree.en US.vsct]

    XML
    <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]

    XML
    <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。区域设置.resx,其中区域设置是特定区域性名称。

  3. 将 Resources.resx 重命名为 Resources.en US.resx。

  4. 制作一份每种本地化语言的 Resources.en US.resx 文件。

    将命名为每个副本的资源。区域设置.resx,其中区域设置是特定区域性名称。

  5. 打开每个.resx 文件修改为适合特定的语言和区域性的字符串值。 下面的示例演示一个工具窗口的标题栏的本地化的资源定义。

    [Resources.en US.resx]

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

    [Resources.es ES.resx]

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

您必须修改 assemblyinfo.cs 文件和项目文件以合并本地化的资源。

  1. 属性中的节点解决方案资源管理器,在编辑器中打开 assemblyinfo.cs 或 assemblyinfo.vb。

  2. 添加以下一项。

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

    这将为默认语言设置美国英语。

  3. 卸载项目。

  4. 在编辑器中打开项目文件。

  5. 找到ItemGroup元素,其中包含EmbeddedResource元素。

  6. EmbeddedResource调用 VSPackage.en-US.resx 的元素替换ManifestResourceName具有元素LogicalName元素,将设置为VSPackage.en-US.Resources、,如下所示。

    XML
    <EmbeddedResource Include="VSPackage.en-US.resx">  
      <MergeWithCTO>true</MergeWithCTO>  
      <LogicalName>VSPackage.en-US.Resources</LogicalName>  
    </EmbeddedResource>  
    
    
  7. 对于每种本地化语言复制EmbeddedResourceVsPackage.en 美国和集元素包括属性和LogicalName元素复制到目标区域设置,如下面的示例中所示。

  8. 每个本地化VSCTCompile元素中,添加ResourceName指向的元素Menus.ctmenu,如在下面的示例所示。

    XML
    <ItemGroup>  
      <VSCTCompile Include="LocalizedPackage.es-ES.vsct">  
        <ResourceName>Menus.ctmenu</ResourceName>  
      </VSCTCompile>  
    </ItemGroup>  
    
    
  9. 保存项目文件并重新加载项目。

  10. 生成项目。

    这将创建主程序集,并为每种语言的资源程序集。 本地化的部署过程的信息,请参阅本地化 VSIX 包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值