Freigeben über


Lokalisieren von Menübefehlen

Sie können lokalisierten Text für Menü- und Symbolleistenbefehle bereitstellen, indem Sie lokalisierte VSCT-Dateien und lokalisierte RESX-Dateien für Ihr VSPackage erstellen und dann die Projektdateien aktualisieren, um die Änderungen zu integrieren.

Informationen zum Lokalisieren der Installationsumgebung finden Sie unter Lokalisieren von VSIX-Paketen.

Lokalisieren von Befehlsnamen

In VSPackages werden Menübefehle und Symbolleistenschaltflächen in der VSCT-Datei definiert.

  1. Ändern Sie in Projektmappen-Explorer den Namen der VSCT-Datei von "filename.vsct" in "filename.en-US.vsct".

  2. Erstellen Sie eine Kopie von "filename.en-US.vsct " für jede lokalisierte Sprache.

    Geben Sie jedem Kopierdateinamen einen Namen.{ Locale}.vsct, wobei {Locale} ein bestimmter Kulturname ist. Eine Liste mit Kulturnamenwerten finden Sie unter Gebietsschema-IDs, die von Microsoft zugewiesen wurden.

    Dieser Dateiname. Locale.vsct-Dateien enthalten den lokalisierten Menütext für Ihr Paket.

  3. Öffnen Sie jeden Dateinamen. Datei "Locale.vsct ", um den Text zu lokalisieren.

    1. Ändern Sie die ButtonText-Elementwerte entsprechend der jeweiligen Sprache.

    2. Wenn Sie lokalisierte Symbole bereitstellen, ändern Sie die Bitmapwerte so, dass sie auf die Zieldateien zeigen.

      Das folgende Beispiel zeigt den Text der englischen und spanischen Schaltfläche für einen Befehl zum Öffnen eines Toolfensters für den Familienstruktur-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>
    

Lokalisieren anderer Textressourcen

Andere Textressourcen als Befehlsnamen werden in Ressourcendateien (RESX) definiert.

  1. Benennen Sie VSPackage.resx in VSPackage.en-US.resx um.

  2. Erstellen Sie eine Kopie der VSPackage.en-US.resx-Datei für jede lokalisierte Sprache.

    Benennen Sie jede Kopie VSPackage.{ Locale}.resx, wobei {Locale} ein bestimmter Kulturname ist.

  3. Benennen Sie "Resources.resx" in "Resources.en-US.resx" um.

  4. Erstellen Sie eine Kopie der Datei "Resources.en-US.resx " für jede lokalisierte Sprache.

    Benennen Sie jede Kopie "Resources".{ Locale}.resx, wobei {Locale} ein bestimmter Kulturname ist.

  5. Öffnen Sie jede RESX-Datei , um die Zeichenfolgenwerte entsprechend der jeweiligen Sprache und Kultur zu ändern. Das folgende Beispiel zeigt die lokalisierte Ressourcendefinition für die Titelleiste eines Toolfensters.

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

Integrieren lokalisierter Ressourcen in das Projekt

Sie müssen die Datei "assemblyinfo.cs " und die Projektdatei ändern, um die lokalisierten Ressourcen zu integrieren.

  1. Öffnen Sie im Editor über den Knoten "Eigenschaften" in Projektmappen-Explorer "assemblyinfo.cs" oder "assemblyinfo.vb".

  2. Fügen Sie den folgenden Eintrag hinzu.

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

    Dadurch wird US-Englisch als Standardsprache festgelegt.

  3. Entladen Sie das Projekt.

  4. Öffnen Sie die Projektdatei im Editor.

  5. Fügen Sie im Stammelement Project ein PropertyGroup Element mit einem UICulture Element hinzu, das Ihrer Standardsprache entspricht.

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

    Dadurch wird US-Englisch als Standard-UI-Kultur für Windows Presentation Foundation (WPF)-Steuerelemente festgelegt.

  6. Suchen Sie das ItemGroup Element, das Elemente enthält EmbeddedResource .

  7. Ersetzen Sie im EmbeddedResource Element, das VSPackage.en-US.resx aufruft, das ManifestResourceName Element durch ein LogicalName Element, das wie folgt festgelegt VSPackage.en-US.Resourcesist:

    <EmbeddedResource Include="VSPackage.en-US.resx">
      <MergeWithCTO>true</MergeWithCTO>
      <LogicalName>VSPackage.en-US.Resources</LogicalName>
    </EmbeddedResource>
    
  8. Kopieren Sie das EmbeddedResource Element für VsPackage.en-USjede lokalisierte Sprache, und legen Sie das Include-Attribut und das LogicalName-Element der Kopie auf das Zielgebietsschema fest.

  9. Fügen Sie jedem lokalisierten VSCTCompile Element ein ResourceName Element hinzu, auf Menus.ctmenudas verweist, wie im folgenden Beispiel gezeigt:

    <ItemGroup>
      <VSCTCompile Include="LocalizedPackage.es-ES.vsct">
        <ResourceName>Menus.ctmenu</ResourceName>
      </VSCTCompile>
    </ItemGroup>
    
  10. Speichern Sie die Projektdatei, und laden Sie das Projekt neu.

  11. Erstellen Sie das Projekt.

    Dadurch wird eine Standard Assembly und Ressourcenassemblys für jede Sprache erstellt. Informationen zum Lokalisieren des Bereitstellungsprozesses finden Sie unter Lokalisieren von VSIX-Paketen