Lokalizowanie poleceń menu
Można podać zlokalizowany tekst dla poleceń menu i paska narzędzi, tworząc zlokalizowane pliki vsct i zlokalizowane pliki resx dla pakietu VSPackage, a następnie aktualizując pliki projektu w celu uwzględnienia zmian.
Aby uzyskać informacje na temat lokalizowania środowiska instalacji, zobacz Localize VSIX packages (Lokalizowanie pakietów VSIX).
Lokalizowanie nazw poleceń
W pakietach VSPackage polecenia menu i przyciski paska narzędzi są zdefiniowane w pliku vsct .
W Eksplorator rozwiązań zmień nazwę pliku vsct z nazwa_pliku.vsct na nazwa_pliku.en-US.vsct.
Utwórz kopię pliku.en-US.vsct dla każdego zlokalizowanego języka.
Nadaj każdej kopii nazwę pliku.{ Ustawienia regionalne}.vsct, gdzie {Locale} jest określoną nazwą kultury. Aby uzyskać listę wartości nazw kultury, zobacz Identyfikatory ustawień regionalnych przypisane przez firmę Microsoft.
Nazwa pliku . Pliki Locale.vsct będą zawierać zlokalizowany tekst menu dla pakietu.
Otwórz każdą nazwę pliku. Plik Locale.vsct do lokalizowania tekstu.
Zmodyfikuj wartości elementu ButtonText odpowiednio dla określonego języka.
Jeśli udostępnisz zlokalizowane ikony, zmodyfikuj wartości mapy bitowej , aby wskazywały pliki docelowe.
W poniższym przykładzie przedstawiono tekst przycisku angielski i hiszpański dla polecenia w celu otwarcia okna narzędzia Eksplorator drzewa rodzinnego.
[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>
Lokalizowanie innych zasobów tekstowych
Zasoby tekstowe inne niż nazwy poleceń są definiowane w plikach zasobów (resx).
Zmień nazwę pliku VSPackage.resx na VSPackage.en-US.resx.
Utwórz kopię pliku VSPackage.en-US.resx dla każdego zlokalizowanego języka.
Nazwij każdą kopię pakietu VSPackage.{ Ustawienia regionalne}.resx, gdzie {Locale} jest określoną nazwą kultury.
Zmień nazwę resources.resx na Resources.en-US.resx.
Utwórz kopię pliku Resources.en-US.resx dla każdego zlokalizowanego języka.
Nazwij każdą kopię zasobów.{ Ustawienia regionalne}.resx, gdzie {Locale} jest określoną nazwą kultury.
Otwórz każdy plik resx , aby zmodyfikować wartości ciągów odpowiednio dla określonego języka i kultury. W poniższym przykładzie przedstawiono zlokalizowaną definicję zasobu dla paska tytułu okna narzędzia.
[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>
Dołączanie zlokalizowanych zasobów do projektu
Należy zmodyfikować plik assemblyinfo.cs i plik projektu, aby uwzględnić zlokalizowane zasoby.
W węźle Właściwości w Eksplorator rozwiązań otwórz plik assemblyinfo.cs lub assemblyinfo.vb w edytorze.
Dodaj następujący wpis.
[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
Spowoduje to ustawienie języka angielskiego USA jako języka domyślnego.
Zwolnij projekt.
Otwórz plik projektu w edytorze.
W elemecie głównym
Project
dodajPropertyGroup
element z elementem zgodnym z językiemUICulture
domyślnym.<PropertyGroup> <UICulture>en-US</UICulture> </PropertyGroup>
Spowoduje to ustawienie języka angielskiego USA jako domyślnej kultury interfejsu użytkownika dla kontrolek Windows Presentation Foundation (WPF).
ItemGroup
Znajdź element zawierającyEmbeddedResource
elementy.W elemencie
EmbeddedResource
, który wywołuje element VSPackage.en-US.resx, zastąpManifestResourceName
element elementem ustawionymLogicalName
naVSPackage.en-US.Resources
, w następujący sposób:<EmbeddedResource Include="VSPackage.en-US.resx"> <MergeWithCTO>true</MergeWithCTO> <LogicalName>VSPackage.en-US.Resources</LogicalName> </EmbeddedResource>
Dla każdego zlokalizowanego języka skopiuj
EmbeddedResource
element dlaVsPackage.en-US
, i ustaw atrybut Include i element LogicalName kopii do ustawień regionalnych docelowych.Do każdego zlokalizowanego
VSCTCompile
ResourceName
elementu dodaj element wskazujący elementMenus.ctmenu
, jak pokazano w poniższym przykładzie:<ItemGroup> <VSCTCompile Include="LocalizedPackage.es-ES.vsct"> <ResourceName>Menus.ctmenu</ResourceName> </VSCTCompile> </ItemGroup>
Zapisz plik projektu i załaduj go ponownie.
Skompiluj projekt.
Spowoduje to utworzenie głównego zestawu i zestawów zasobów dla każdego języka. Aby uzyskać informacje na temat lokalizowania procesu wdrażania, zobacz Localize VSIX packages (Lokalizowanie pakietów VSIX)