Condividi tramite


Localizzare i comandi di menu

È possibile fornire testo localizzato per i comandi di menu e barra degli strumenti creando file con estensione vsct localizzati e file con estensione resx localizzati per il pacchetto VSPackage, quindi aggiornando i file di progetto per incorporare le modifiche.

Per informazioni su come localizzare l'esperienza di installazione, vedere Localizzare i pacchetti VSIX.

Localizzare i nomi dei comandi

In VSPackage i comandi di menu e i pulsanti della barra degli strumenti sono definiti nel file vsct .

  1. In Esplora soluzioni modificare il nome del file con estensione vsct da filename.vsct a filename.en-US.vsct.

  2. Creare una copia di filename.en-US.vsct per ogni lingua localizzata.

    Assegnare a ogni copia nomefile.{ Locale}.vsct, dove {Locale} è un nome di impostazioni cultura specifico. Per un elenco dei valori dei nomi delle impostazioni cultura, vedere ID impostazioni locali assegnati da Microsoft.

    Questi nomi file. I file Locale.vsct conterranno il testo del menu localizzato per il pacchetto.

  3. Aprire ogni nome file. File Locale.vsct per localizzare il testo.

    1. Modificare i valori dell'elemento ButtonText in base alla lingua specifica.

    2. Se si forniscono icone localizzate, modificare i valori bitmap in modo che puntino ai file di destinazione.

      L'esempio seguente mostra il testo del pulsante inglese e spagnolo per un comando per aprire una finestra degli strumenti di Family Tree Explorer.

      [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>
    

Localizzare altre risorse di testo

Le risorse di testo diverse dai nomi dei comandi sono definite nei file di risorse (resx).

  1. Rinominare VSPackage.resx in VSPackage.en-US.resx.

  2. Creare una copia del file VSPackage.en-US.resx per ogni lingua localizzata.

    Assegnare a ogni copia VSPackage.{ Locale}.resx, dove {Locale} è un nome di impostazioni cultura specifico.

  3. Rinominare Resources.resx in Resources.en-US.resx.

  4. Creare una copia del file Resources.en-US.resx per ogni lingua localizzata.

    Assegnare a ogni copia il nome Resources.{ Locale}.resx, dove {Locale} è un nome di impostazioni cultura specifico.

  5. Aprire ogni file resx per modificare i valori stringa in base alle esigenze della lingua e delle impostazioni cultura specifiche. Nell'esempio seguente viene illustrata la definizione della risorsa localizzata per la barra del titolo di una finestra degli strumenti.

    [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>
    

Incorporare le risorse localizzate nel progetto

È necessario modificare il file assemblyinfo.cs e il file di progetto per incorporare le risorse localizzate.

  1. Dal nodo Proprietà in Esplora soluzioni aprire assemblyinfo.cs o assemblyinfo.vb nell'editor.

  2. Aggiungere la voce seguente.

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

    In questo modo l'inglese usa viene impostato come lingua predefinita.

  3. Scaricare il progetto.

  4. Aprire il file di progetto nell'editor.

  5. Nell'elemento radice Project aggiungere un PropertyGroup elemento con un UICulture elemento corrispondente alla lingua predefinita.

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

    In questo modo viene impostato l'inglese degli Stati Uniti come impostazioni cultura predefinite dell'interfaccia utente per i controlli Windows Presentation Foundation (WPF).

  6. Individuare l'elemento ItemGroup che contiene EmbeddedResource elementi.

  7. Nell'elemento EmbeddedResource che chiama VSPackage.en-US.resx sostituire l'elemento ManifestResourceName con un LogicalName elemento impostato su VSPackage.en-US.Resources, come indicato di seguito:

    <EmbeddedResource Include="VSPackage.en-US.resx">
      <MergeWithCTO>true</MergeWithCTO>
      <LogicalName>VSPackage.en-US.Resources</LogicalName>
    </EmbeddedResource>
    
  8. Per ogni lingua localizzata, copiare l'elemento per VsPackage.en-USe impostare l'attributo EmbeddedResource Include e l'elemento LogicalName della copia nelle impostazioni locali di destinazione.

  9. Per ogni elemento localizzato VSCTCompile , aggiungere un ResourceName elemento che punta a Menus.ctmenu, come illustrato nell'esempio seguente:

    <ItemGroup>
      <VSCTCompile Include="LocalizedPackage.es-ES.vsct">
        <ResourceName>Menus.ctmenu</ResourceName>
      </VSCTCompile>
    </ItemGroup>
    
  10. Salvare il file di progetto e ricaricare il progetto.

  11. Compilare il progetto.

    In questo modo viene creato un assembly principale e gli assembly di risorse per ogni linguaggio. Per informazioni sulla localizzazione del processo di distribuzione, vedere Localizzare i pacchetti VSIX