Melokalisasi perintah menu
Anda dapat menyediakan teks yang dilokalkan untuk perintah menu dan toolbar dengan membuat file .vsct yang dilokalkan dan file .resx yang dilokalkan untuk VSPackage Anda, lalu memperbarui file proyek untuk menggabungkan perubahan.
Untuk informasi tentang cara melokalisasi pengalaman penginstalan, lihat Melokalkan paket VSIX.
Melokalisasi nama perintah
Di VSPackages, perintah menu dan tombol toolbar ditentukan dalam file .vsct .
Di Penjelajah Solusi, ubah nama file .vsct dari filename.vsct menjadi filename.en-US.vsct.
Buat salinan filename.en-US.vsct untuk setiap bahasa yang dilokalkan.
Beri nama setiap nama file salinan .{ Locale}.vsct, di mana {Locale} adalah nama budaya tertentu. Untuk daftar nilai nama budaya, lihat ID Lokal yang ditetapkan oleh Microsoft.
Nama file ini . File Locale.vsct akan berisi teks menu yang dilokalkan untuk paket Anda.
Buka setiap nama file. File Locale.vsct untuk melokalisasi teks.
Ubah nilai elemen ButtonText yang sesuai untuk bahasa tertentu.
Jika Anda akan menyediakan ikon yang dilokalkan, ubah nilai Bitmap untuk menunjuk ke file target.
Contoh berikut menunjukkan teks tombol Bahasa Inggris dan Spanyol untuk perintah untuk membuka jendela alat 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>
Melokalisasi sumber daya teks lainnya
Sumber daya teks selain nama perintah ditentukan dalam file sumber daya (.resx).
Ganti nama VSPackage.resx menjadi VSPackage.en-US.resx.
Buat salinan file VSPackage.en-US.resx untuk setiap bahasa yang dilokalkan.
Beri nama setiap salinan VSPackage.{ Locale}.resx, di mana {Locale} adalah nama budaya tertentu.
Ganti nama Resources.resx menjadi Resources.en-US.resx.
Buat salinan file Resources.en-US.resx untuk setiap bahasa yang dilokalkan.
Beri nama setiap salin Sumber Daya.{ Locale}.resx, di mana {Locale} adalah nama budaya tertentu.
Buka setiap file .resx untuk memodifikasi nilai string yang sesuai untuk bahasa dan budaya tertentu. Contoh berikut menunjukkan definisi sumber daya yang dilokalkan untuk bilah judul jendela alat.
[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>
Menggabungkan sumber daya yang dilokalkan ke dalam proyek
Anda harus mengubah file assemblyinfo.cs dan file proyek untuk menggabungkan sumber daya yang dilokalkan.
Dari node Properti di Penjelajah Solusi, buka assemblyinfo.cs atau assemblyinfo.vb di editor.
Tambahkan entri berikut.
[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
Ini menetapkan bahasa Inggris AS sebagai bahasa default.
Bongkar proyek.
Buka file proyek di editor.
Di elemen akar
Project
, tambahkanPropertyGroup
elemen dengan elemen yang cocok denganUICulture
bahasa default Anda.<PropertyGroup> <UICulture>en-US</UICulture> </PropertyGroup>
Ini menetapkan bahasa Inggris AS sebagai budaya UI default untuk kontrol Windows Presentation Foundation (WPF).
ItemGroup
Temukan elemen yang berisiEmbeddedResource
elemen.EmbeddedResource
Dalam elemen yang memanggil VSPackage.en-US.resx, gantiManifestResourceName
elemen denganLogicalName
elemen yang diatur keVSPackage.en-US.Resources
, sebagai berikut:<EmbeddedResource Include="VSPackage.en-US.resx"> <MergeWithCTO>true</MergeWithCTO> <LogicalName>VSPackage.en-US.Resources</LogicalName> </EmbeddedResource>
Untuk setiap bahasa yang dilokalkan, salin
EmbeddedResource
elemen untukVsPackage.en-US
, dan atur elemen Sertakan atribut dan LogicalName dari salinan ke lokal target.Ke setiap elemen yang dilokalkan
VSCTCompile
, tambahkanResourceName
elemen yang menunjuk keMenus.ctmenu
, seperti yang ditunjukkan dalam contoh berikut:<ItemGroup> <VSCTCompile Include="LocalizedPackage.es-ES.vsct"> <ResourceName>Menus.ctmenu</ResourceName> </VSCTCompile> </ItemGroup>
Simpan file proyek dan muat ulang proyek.
Bangun proyek.
Ini membuat rakitan utama, dan rakitan sumber daya untuk setiap bahasa. Untuk informasi tentang melokalisasi proses penyebaran, lihat Melokalisasi paket VSIX