Compartilhar via


Localizar comandos de menu

Você pode fornecer texto localizado para comandos de menu e barra de ferramentas criando arquivos .vsct localizados e arquivos .resx localizados para o VSPackage e, em seguida, atualizando os arquivos de projeto para incorporar as alterações.

Para obter informações sobre como localizar a experiência de instalação, consulte Localizar pacotes VSIX.

Localizar nomes de comando

No VSPackages, os comandos de menu e os botões da barra de ferramentas são definidos no arquivo .vsct .

  1. No Gerenciador de Soluções, altere o nome do arquivo .vsct de filename.vsct para filename.en-US.vsct.

  2. Faça uma cópia de filename.en-US.vsct para cada idioma localizado.

    Nomeie cada nome de arquivo de cópia .{ Locale}.vsct, onde {Locale} é um nome de cultura específico. Para obter uma lista de valores de nome de cultura, consulte IDs de localidade atribuídas pela Microsoft.

    Esses nomes de arquivo. Os arquivos Locale.vsct conterão o texto de menu localizado para seu pacote.

  3. Abra cada nome de arquivo. Locale.vsct para localizar o texto.

    1. Modifique os valores do elemento ButtonText conforme apropriado para o idioma específico.

    2. Se você fornecer ícones localizados, modifique os valores de Bitmap para apontar para os arquivos de destino.

      O exemplo a seguir mostra o texto do botão inglês e espanhol de um comando para abrir uma janela da ferramenta Family Tree Explorer.

      [FamilyTree.pt-BR.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>
    

    [Árvore Familiar.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>
    

Localizar outros recursos de texto

Recursos de texto diferentes de nomes de comando são definidos em arquivos de recurso (.resx).

  1. Renomeie VSPackage.resx para VSPackage.en-US.resx.

  2. Faça uma cópia do arquivo VSPackage.en-US.resx para cada idioma localizado.

    Nomeie cada cópia VSPackage.{ Locale}.resx, onde {Locale} é um nome de cultura específico.

  3. Renomeie Resources.resx para Resources.en-US.resx.

  4. Faça uma cópia do arquivo Resources.en-US.resx para cada idioma localizado.

    Nomeie cada cópia como Recursos.{ Locale}.resx, onde {Locale} é um nome de cultura específico.

  5. Abra cada arquivo .resx para modificar os valores de cadeia de caracteres conforme apropriado para o idioma e a cultura específicos. O exemplo a seguir mostra a definição de recurso localizado para a barra de título de uma janela de ferramenta.

    [Resources.pt-BR.resx]

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

    [Recursos.es-ES.resx]

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

Incorporar recursos localizados ao projeto

Você deve modificar o arquivo assemblyinfo.cs e o arquivo de projeto para incorporar os recursos localizados.

  1. No nó Propriedades no Gerenciador de Soluções, abra assemblyinfo.cs ou assemblyinfo.vb no editor.

  2. Adicione a seguinte entrada.

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

    Isso define o inglês dos EUA como o idioma padrão.

  3. Descarregue o projeto.

  4. Abra o arquivo de projeto no editor.

  5. No elemento raiz Project , adicione um elemento com um PropertyGroup UICulture elemento que corresponda ao seu idioma padrão.

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

    Isso define o inglês dos EUA como a cultura de interface do usuário padrão para controles do Windows Presentation Foundation (WPF).

  6. Localize o ItemGroup elemento que contém EmbeddedResource elementos .

  7. EmbeddedResource No elemento que chama VSPackage.en-US.resx, substitua o ManifestResourceName elemento por um LogicalName elemento definido como VSPackage.en-US.Resources, da seguinte maneira:

    <EmbeddedResource Include="VSPackage.en-US.resx">
      <MergeWithCTO>true</MergeWithCTO>
      <LogicalName>VSPackage.en-US.Resources</LogicalName>
    </EmbeddedResource>
    
  8. Para cada idioma localizado, copie o elemento para e defina o EmbeddedResource atributo Include e o elemento LogicalName da cópia para VsPackage.en-USa localidade de destino.

  9. Para cada elemento localizado VSCTCompile , adicione um ResourceName elemento que aponte para Menus.ctmenu, conforme mostrado no exemplo a seguir:

    <ItemGroup>
      <VSCTCompile Include="LocalizedPackage.es-ES.vsct">
        <ResourceName>Menus.ctmenu</ResourceName>
      </VSCTCompile>
    </ItemGroup>
    
  10. Salve o arquivo de projeto e recarregue o projeto.

  11. Compile o projeto.

    Isso cria um assembly principal e assemblies de recursos para cada idioma. Para obter informações sobre como localizar o processo de implantação, consulte Localizar pacotes VSIX