Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ketika Anda membatasi ketersediaan produk Anda hanya untuk satu bahasa, Anda membatasi basis pelanggan potensial Anda hingga sebagian kecil dari 7,5 miliar populasi dunia kami. Jika Anda ingin aplikasi Anda menjangkau audiens global, pelokalan produk Anda yang hemat biaya adalah salah satu cara terbaik dan paling ekonomis untuk menjangkau lebih banyak pelanggan.
Gambaran umum ini memperkenalkan globalisasi dan pelokalan di Windows Presentation Foundation (WPF). Globalisasi adalah desain dan pengembangan aplikasi yang berkinerja di beberapa lokasi. Misalnya, globalisasi mendukung antarmuka pengguna yang dilokalkan dan data regional untuk pengguna dalam budaya yang berbeda. WPF menyediakan fitur desain global, termasuk tata letak otomatis, rakitan satelit, dan atribut dan komentar yang dilokalkan.
Pelokalan adalah terjemahan sumber daya aplikasi ke dalam versi yang dilokalkan untuk budaya tertentu yang didukung aplikasi. Saat Anda melokalisasi di WPF, Anda menggunakan API di namespace System.Windows.Markup.Localizer. API ini mendukung Alat LocBaml Sampel alat baris perintah. Untuk informasi tentang cara membuat dan menggunakan LocBaml, lihat Melokalisasi Aplikasi.
Peringatan
Alat LocBaml hanya berfungsi dengan WPF untuk proyek .NET Framework, dan tidak berfungsi dengan WPF untuk .NET.
Praktik Terbaik untuk Globalisasi dan Lokalisasi di WPF
Anda dapat memanfaatkan fungsionalitas globalisasi dan pelokalan yang dibangun ke dalam WPF dengan mengikuti desain UI dan tips terkait pelokalan yang disediakan bagian ini.
Praktik Terbaik untuk Desain UI WPF
Saat Anda merancang UI berbasis WPF, pertimbangkan untuk menerapkan praktik terbaik ini:
Tulis UI Anda di XAML; hindari membuat UI dalam kode. Saat membuat UI dengan menggunakan XAML, Anda mengeksposnya melalui API pelokalan bawaan.
Hindari menggunakan posisi absolut dan ukuran tetap untuk menata konten; sebagai gantinya, gunakan ukuran relatif atau otomatis.
Gunakan SizeToContent dan pastikan lebar serta tinggi tetap diatur ke
Auto.Hindari menggunakan Canvas untuk menata UI.
Gunakan Grid dan fitur berbagi ukurannya.
Berikan ruang ekstra dalam margin karena teks yang dilokalkan sering membutuhkan lebih banyak ruang. Ruang ekstra memungkinkan adanya karakter tergantung.
Aktifkan TextWrapping di TextBlock untuk menghindari pemotongan.
Atur atribut
xml:lang. Atribut ini menjelaskan budaya dari elemen tertentu dan elemen turunannya. Nilai properti ini mengubah perilaku beberapa fitur di WPF. Misalnya, ini mengubah perilaku pemisahan kata, pemeriksaan ejaan, penggantian angka, pembentukan skrip kompleks, dan penggunaan font cadangan. Lihat Globalisasi WPF untuk informasi selengkapnya tentang pengaturan xml:lang di XAML.Buat font komposit yang dikustomisasi untuk mendapatkan kontrol font yang lebih baik yang digunakan untuk bahasa yang berbeda. Secara default, WPF menggunakan font GlobalUserInterface.composite di direktori Windows\Fonts Anda.
Saat Anda membuat aplikasi navigasi yang dapat dilokalkan dalam budaya yang menyajikan teks dalam format kanan-ke-kiri, secara eksplisit mengatur FlowDirection setiap halaman untuk memastikan halaman tidak mewarisi FlowDirection dari NavigationWindow.
Saat Anda membuat aplikasi navigasi mandiri yang dihosting di luar browser, atur StartupUri untuk aplikasi awal Anda ke NavigationWindow alih-alih ke halaman (misalnya,
<Application StartupUri="NavigationWindow.xaml">). Desain ini memungkinkan Anda mengubah FlowDirection pada Jendela dan bilah navigasi. Untuk informasi selengkapnya dan contohnya, lihat Sampel Beranda Globalisasi .
Praktik Terbaik untuk Pelokalan WPF
Saat Anda melokalisasi aplikasi berbasis WPF, pertimbangkan untuk menerapkan praktik terbaik ini:
Gunakan komentar pelokalan untuk memberikan konteks tambahan bagi pelokal.
Gunakan atribut pelokalan untuk mengontrol pelokalan alih-alih secara selektif menghilangkan properti Uid pada elemen. Lihat Atribut dan Komentar Pelokalan untuk informasi selengkapnya.
Gunakan
msbuild -t:updateuiddan-t:checkuiduntuk menambahkan dan memeriksa properti Uid di XAML Anda. Gunakan properti Uid untuk melacak perubahan antara pengembangan dan pelokalan. Uid memiliki sifat yang membantu Anda melokalisasi perubahan pengembangan baru. Jika Anda menambahkan properti Uid secara manual ke UI, tugas biasanya melelahkan dan kurang akurat.Jangan mengedit atau mengubah properti Uid setelah Anda memulai pelokalan.
Jangan gunakan properti Uid duplikat (ingat tip ini saat Anda menggunakan perintah salin dan tempel).
Atur lokasi
UltimateResourceFallbackdi AssemblyInfo.* untuk menentukan bahasa yang sesuai untuk fallback (misalnya,[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]).Jika Anda memutuskan untuk menyertakan bahasa sumber Anda dalam perakitan utama dengan menghilangkan tag
<UICulture>dalam file proyek Anda, atur lokasiUltimateResourceFallbacksebagai rakitan utama alih-alih satelit (misalnya,[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.MainAssembly)]).
Melokalisasi Aplikasi WPF
Saat Anda melokalisasi aplikasi WPF, Anda memiliki beberapa opsi. Misalnya, Anda dapat mengikat sumber daya yang dapat dilokalkan dalam aplikasi Anda ke file XML, menyimpan teks yang dapat dilokalkan dalam tabel resx, atau meminta localizer Anda menggunakan file XAML. Bagian ini menjelaskan alur kerja pelokalan yang menggunakan bentuk BAML XAML, yang memberikan beberapa manfaat:
Anda dapat melokalisasi setelah membangun.
Anda dapat memperbarui ke versi BAML dari XAML yang lebih baru dengan pelokalan dari versi BAML yang lebih lama, sehingga Anda dapat melakukan lokalisasi secara bersamaan dengan pengembangan.
Anda dapat memvalidasi elemen dan semantik sumber asli pada waktu kompilasi karena bentuk BAML XAML adalah bentuk XAML yang dikompilasi.
Proses Pembangunan Pelokalan
Saat Anda mengembangkan aplikasi WPF, proses build untuk pelokalan adalah sebagai berikut:
Pengembang membuat dan meng-globalisasi aplikasi WPF. Dalam file proyek, pengembang mengatur
<UICulture>en-US</UICulture>agar ketika aplikasi dikompilasi, dihasilkan assembly utama yang netral bahasa. Rakitan ini memiliki file satelit .resources.dll yang berisi berbagai sumber daya yang dapat dilokalkan. Secara opsional, Anda dapat menyimpan bahasa sumber di perakitan utama karena API pelokalan kami mendukung ekstraksi dari rakitan utama.Ketika file dikompilasi ke dalam build, XAML dikonversi ke bentuk BAML dari XAML. File
MyDialog.exeyang netral secara budaya dan fileMyDialog.resources.dllyang tergantung pada budaya (Bahasa Inggris) dirilis kepada pelanggan yang berbahasa Inggris.
Alur Kerja Pelokalan
Proses pelokalan dimulai setelah file MyDialog.resources.dll yang tidak dilokalkan dibuat. Elemen dan properti UI dalam XAML asli Anda diekstrak dari bentuk BAML XAML ke dalam pasangan kunci-nilai dengan menggunakan API di bawah System.Windows.Markup.Localizer. Localizer menggunakan pasangan kunci-nilai untuk melokalisasi aplikasi. Anda dapat membuat .resource.dll baru dari nilai baru setelah pelokalan selesai.
Kunci pasangan kunci-nilai adalah nilai x:Uid yang ditempatkan oleh pengembang di XAML asli. Nilai x:Uid ini memungkinkan API untuk melacak dan menggabungkan perubahan yang terjadi antara pengembang dan localizer selama pelokalan. Misalnya, jika pengembang mengubah UI setelah localizer mulai melokalisasi, Anda dapat menggabungkan perubahan pengembangan dengan pekerjaan pelokalan yang sudah selesai sehingga pekerjaan terjemahan minimal hilang.
Grafik berikut menunjukkan alur kerja pelokalan umum yang didasarkan pada bentuk BAML XAML. Diagram ini mengasumsikan pengembang menulis aplikasi dalam bahasa Inggris. Pengembang membuat dan meng-globalisasi aplikasi WPF. Dalam file proyek, pengembang menetapkan <UICulture>en-US</UICulture> sehingga ketika build dilakukan, rakitan utama yang netral bahasa dihasilkan dengan satelit .resources.dll yang berisi semua sumber daya yang dapat dilokalkan. Secara bergantian, seseorang dapat menyimpan bahasa sumber di perakitan utama karena API pelokalan WPF mendukung ekstraksi dari perakitan utama. Setelah proses build, XAML dikompilasi ke dalam BAML. Item netral budaya MyDialog.exe.resources.dll dikirim kepada pelanggan yang berbahasa Inggris.
Contoh Lokalisasi WPF
Bagian ini berisi contoh aplikasi yang dilokalkan untuk membantu Anda memahami cara membangun dan melokalisasi aplikasi WPF.
Jalankan Contoh Kotak Dialog
Grafik berikut menunjukkan output sampel kotak dialog Jalankan.
Bahasa Inggris:
Jerman:
Merancang Kotak Dialog Eksekusi Global
Contoh ini menghasilkan kotak dialog Jalankan dengan WPF dan XAML. Kotak dialog ini setara dengan kotak dialog Jalankan yang tersedia dari menu Mulai Microsoft Windows.
Beberapa sorotan untuk membuat kotak dialog global adalah:
Tata Letak Otomatis
Di Window1.xaml:
<Window SizeToContent="WidthAndHeight">
Properti Jendela sebelumnya secara otomatis mengubah ukuran jendela sesuai dengan ukuran konten. Properti ini mencegah jendela memotong konten yang meningkat ukurannya setelah pelokalan; ini juga menghapus ruang yang tidak diperlukan ketika konten berkurang ukurannya setelah pelokalan.
<Grid x:Uid="Grid_1">
Uid properti diperlukan agar API pelokalan WPF berfungsi dengan benar.
Mereka digunakan oleh API pelokalan WPF untuk melacak perubahan antara pengembangan dan pelokalan antarmuka pengguna (UI). Properti Uid memungkinkan Anda menggabungkan versi UI yang lebih baru dengan pelokalan UI yang lebih lama. Anda menambahkan properti Uid dengan menjalankan msbuild -t:updateuid RunDialog.csproj di shell perintah. Ini adalah metode yang direkomendasikan untuk menambahkan properti Uid karena menambahkannya secara manual biasanya memakan waktu dan kurang akurat. Anda dapat memeriksa apakah properti Uid diatur dengan benar dengan menjalankan msbuild -t:checkuid RunDialog.csproj.
UI disusun dengan menggunakan kontrol Grid, yang merupakan kontrol yang berguna untuk memanfaatkan tata letak otomatis di WPF. Perhatikan bahwa kotak dialog dibagi menjadi tiga baris dan lima kolom. Tidak satu pun definisi baris dan kolom memiliki ukuran tetap; oleh karena itu, elemen UI yang diposisikan di setiap sel dapat beradaptasi dengan peningkatan dan penurunan ukuran selama pelokalan.
<Grid.ColumnDefinitions>
<ColumnDefinition x:Uid="ColumnDefinition_1" />
<ColumnDefinition x:Uid="ColumnDefinition_2" />
Dua kolom pertama tempat label Open: dan ComboBox berada menggunakan 10 persen dari lebar total UI.
<ColumnDefinition x:Uid="ColumnDefinition_3" SharedSizeGroup="Buttons" />
<ColumnDefinition x:Uid="ColumnDefinition_4" SharedSizeGroup="Buttons" />
<ColumnDefinition x:Uid="ColumnDefinition_5" SharedSizeGroup="Buttons" />
</Grid.ColumnDefinitions>
Perhatikan bahwa contoh tersebut menggunakan fitur ukuran bersama Grid. Tiga kolom terakhir memanfaatkan ini dengan menempatkan diri mereka dalam SharedSizeGroupyang sama. Seperti yang diharapkan dari nama properti, ini memungkinkan kolom untuk berbagi ukuran yang sama. Jadi ketika "Telusuri..." dilokalkan menjadi string yang lebih panjang "Durchsuchen...", semua tombol menjadi lebih lebar daripada memiliki tombol "OK" yang kecil dan tombol "Durchsuchen..." yang jauh lebih besar.
xml:lang
xml:lang="en-US"
Perhatikan xml:lang Handling di XAML ditempatkan di elemen akar UI. Properti ini menggambarkan budaya elemen tertentu dan anak-anaknya. Nilai ini digunakan oleh beberapa fitur dalam WPF dan harus diubah dengan tepat selama pelokalan. Nilai ini mengubah kamus bahasa yang digunakan untuk pemenggalan dan pemeriksaan ejaan. Ini juga mempengaruhi tampilan digit dan bagaimana sistem fallback font memilih font mana yang akan digunakan. Akhirnya, properti memengaruhi cara angka ditampilkan dan cara teks yang ditulis dalam skrip kompleks dibentuk. Nilai defaultnya adalah "en-US".
Perakitan Sumber Daya Satelit
Pada .csproj:
Edit file .csproj dan tambahkan tag berikut ke <PropertyGroup>tanpa syarat :
<UICulture>en-US</UICulture>
Perhatikan penambahan nilai UICulture. Ketika ini diatur ke nilai CultureInfo yang valid seperti en-US, membangun proyek akan menghasilkan rakitan satelit dengan semua sumber daya yang dapat dilokalkan di dalamnya.
<Resource Include="RunIcon.JPG">
<Localizable>False</Localizable>
</Resource>
RunIcon.JPG tidak perlu dilokalkan karena harus tampak sama untuk semua budaya.
Localizable dipasang menjadi false sehingga tetap dalam assembly utama yang netral bahasa alih-alih assembly satelit. Nilai default semua sumber daya yang tidak dapat dikompilasi Localizable ditetapkan menjadi true.
Melokalisasi Dialog Run
Uraikan
Setelah membangun aplikasi, langkah pertama dalam melokalisasinya adalah mengurai sumber daya yang dapat dilokalkan dari perakitan satelit. Untuk tujuan topik ini, gunakan contoh alat LocBaml yang dapat ditemukan di Sampel Alat LocBaml. Perhatikan bahwa LocBaml hanyalah alat sampel yang dimaksudkan untuk membantu Anda mulai membangun alat pelokalan yang sesuai dengan proses pelokalan Anda. Menggunakan LocBaml, jalankan berikut untuk melakukan parse: LocBaml /parse RunDialog.resources.dll /out: untuk menghasilkan "RunDialog.resources.dll.CSV" file.
Peringatan
Alat LocBaml hanya berfungsi dengan WPF untuk proyek .NET Framework, dan tidak berfungsi dengan WPF untuk .NET.
Melokalisasi
Gunakan editor CSV favorit Anda yang mendukung Unicode untuk mengedit file ini. Saring semua entri yang memiliki kategori pelokalan "Tidak Ada". Anda akan melihat entri berikut:
| Kunci Sumber Daya | Kategori Lokalisasi | Nilai |
|---|---|---|
| Button_1:System.Windows.Controls.Button.$Content | Tombol | OKE |
| Button_2:System.Windows.Controls.Button.$Content | Tombol | Batalkan |
| Button_3:System.Windows.Controls.Button.$Content | Tombol | Jelajahi |
| ComboBox_1:System.Windows.Controls.ComboBox.$Content | Kotak Kombo | |
| TextBlock_1:System.Windows.Controls.TextBlock.$Content | Teks | Ketik nama program, folder, dokumen, atau sumber daya Internet, dan Windows akan membukanya untuk Anda. |
| TextBlock_2:System.Windows.Controls.TextBlock.$Content | Teks | Buka: |
| Jendela_1:System.Windows.Jendela.Title | Judul | Lari |
Melokalisasi aplikasi ke Bahasa Jerman akan memerlukan terjemahan berikut:
| Kunci Sumber Daya | Kategori Lokalisasi | Nilai |
|---|---|---|
| Button_1:System.Windows.Controls.Button.$Content | Tombol | OKE |
| Button_2:System.Windows.Controls.Button.$Content | Tombol | Batal |
| Button_3:System.Windows.Controls.Button.$Content | Tombol | Durchsuchen... |
| ComboBox_1:System.Windows.Controls.ComboBox.$Content | Kotak Kombo | |
| TextBlock_1:System.Windows.Controls.TextBlock.$Content | Teks | Geben Sie den Namen eines Programms, Ordners, Dokuments oder einer Internetresource an. |
| TextBlock_2:System.Windows.Controls.TextBlock.$Content | Teks | Öffnen: |
| Jendela_1:System.Windows.Jendela.Title | Judul | Lari |
Menghasilkan
Langkah terakhir pelokalan melibatkan pembuatan perakitan satelit yang baru dilokalkan. Ini dapat dicapai dengan perintah LocBaml berikut:
LocBaml.exe /generate RunDialog.resources.dll /trans:RunDialog.resources.dll. CSV /out: . /cul:de-DE
Di Windows Jerman, jika resources.dll ini ditempatkan di folder de-DE di samping rakitan utama, sumber daya ini akan dimuat secara otomatis alih-alih yang ada di folder en-US. Jika Anda tidak memiliki versi Windows Jerman untuk menguji ini, atur budaya ke budaya Windows apa pun yang Anda gunakan (misalnya, en-US), dan ganti sumber daya asli DLL.
Pemuatan Sumber Daya Satelit
| MyDialog.exe | en-US\MyDialog.resources.dll | de-DE\MyDialog.resources.dll |
|---|---|---|
| Kode | BAML Asli dalam Bahasa Inggris | BAML yang Telah Dilokalkan |
| Sumber daya netral secara budaya | Sumber daya lain dalam bahasa Inggris | Sumber daya lain yang dilokalkan ke Bahasa Jerman |
.NET secara otomatis memilih perakitan sumber daya satelit mana yang akan dimuat berdasarkan Thread.CurrentUICulturedari aplikasi. Pengaturan ini secara otomatis disesuaikan dengan lokal sistem operasi Windows Anda. Jika Anda menggunakan Windows Jerman, file de-DE\MyDialog.resources.dll akan dimuat. Jika Anda menggunakan Windows Bahasa Inggris, file en-US\MyDialog.resources.dll akan dimuat. Anda dapat mengatur sumber daya fallback utama untuk aplikasi Anda dengan menentukan atribut
[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
maka file en-US\MyDialog.resources.dll digunakan dengan Windows Jerman jika tidak ada file berikut yang tersedia: de-DE\MyDialog.resources.dll atau de\MyDialog.resources.dll.
Beranda Microsoft Saudi Arabia
Grafik berikut menunjukkan Beranda Bahasa Inggris dan Arab. Untuk sampel lengkap yang menghasilkan grafik ini, lihat Sampel Beranda Globalisasi.
Bahasa Inggris:
Arabik:
Merancang halaman beranda Microsoft Global
Tiruan situs web Microsoft Arab Saudi ini menggambarkan fitur globalisasi yang disediakan untuk bahasa RightToLeft. Bahasa seperti Ibrani dan Arab memiliki urutan baca kanan-ke-kiri sehingga tata letak UI harus sering ditata dengan sangat berbeda dari yang akan berada dalam bahasa kiri-ke-kanan seperti bahasa Inggris. Melokalisasi dari bahasa kiri-ke-kanan ke bahasa kanan-ke-kiri atau sebaliknya bisa sangat menantang. WPF telah dirancang untuk membuat pelokalan tersebut jauh lebih mudah.
Arah Aliran
Homepage.xaml:
<Page x:Uid="Page_1" x:Class="MicrosoftSaudiArabiaHomepage.Homepage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
FlowDirection="LeftToRight"
Localization.Comments="FlowDirection(This FlowDirection controls the actual content of the homepage)"
xml:lang="en-US">
Perhatikan properti FlowDirection di Page. Mengubah properti ini menjadi RightToLeft akan mengubah FlowDirection elemen Page beserta elemen turunannya sehingga tata letak UI ini dibalik menjadi kanan-ke-kiri seperti yang diharapkan oleh pengguna Arab. Seseorang dapat mengambil alih perilaku warisan dengan menentukan FlowDirection eksplisit pada elemen apa pun. Properti FlowDirection tersedia pada elemen terkait FrameworkElement atau dokumen apa pun dan memiliki nilai implisit LeftToRight.
Perhatikan bahwa bahkan kuas gradasi latar belakang dibalik dengan benar ketika root FlowDirection diubah.
FlowDirection="LeftToright"
FlowDirection="RightToLeft"
Hindari Menggunakan Dimensi Tetap untuk Panel dan Kontrol
Lihat homepage.xaml, perhatikan bahwa selain dari lebar tetap dan tinggi yang ditentukan untuk seluruh UI di bagian atas DockPanel, tidak ada dimensi tetap lainnya. Hindari menggunakan dimensi tetap untuk mencegah kliping teks yang dilokalkan yang mungkin lebih panjang dari teks sumber. Panel dan kontrol WPF akan secara otomatis mengubah ukuran berdasarkan konten yang dikandungnya. Sebagian besar kontrol juga memiliki dimensi minimum dan maksimum yang dapat Anda atur untuk kontrol lebih lanjut (misalnya, MinWidth="20"). Dengan Grid, Anda juga dapat mengatur lebar dan tinggi relatif dengan menggunakan '*' (misalnya, Width="0.25*") atau menggunakan fitur berbagi ukuran selnya.
Komentar Pelokalan
Ada banyak kasus di mana konten mungkin ambigu dan sulit diterjemahkan. Pengembang atau desainer memiliki kemampuan untuk memberikan konteks dan komentar tambahan kepada pelokalan melalui komentar pelokalan. Misalnya Localization.Comments di bawah ini mengklarifikasi penggunaan karakter '|'.
<TextBlock
x:Uid="TextBlock_2"
DockPanel.Dock="Right"
Foreground="White"
Margin="5,0,5,0"
Localization.Comments="$Content(This character is used as a decorative rule.)">
|
</TextBlock>
Komentar ini menjadi terkait dengan konten TextBlock_1 dan dalam kasus Alat LocBaml, (lihat Melokalkan Aplikasi), dapat dilihat di kolom ke-6 baris TextBlock_1 dalam file .csv output:
| Kunci Sumber Daya | Kategori | Mudah dibaca | Dimodifikasi | Komentar | Nilai |
|---|---|---|---|---|---|
| TextBlock_1:System.Windows.Controls.TextBlock.$Content | Teks | BENAR | BENAR | Karakter ini digunakan sebagai elemen dekoratif. | | |
Komentar dapat ditempatkan pada konten atau properti elemen apa pun menggunakan sintaks berikut:
<TextBlock
x:Uid="TextBlock_1"
DockPanel.Dock="Right"
Foreground="White"
Margin="5,0,5,0"
Localization.Comments="$Content(This is a comment on the TextBlock's content.)
Margin(This is a comment on the TextBlock's Margin property.)">
|
</TextBlock>
Atribut Pelokalan
Seringkali pengembang atau manajer pelokalan membutuhkan kontrol atas apa yang dapat dibaca dan dimodifikasi oleh pelokalan. Misalnya, Anda mungkin tidak ingin localizer menerjemahkan nama perusahaan atau kata-kata hukum Anda. WPF menyediakan atribut yang memungkinkan Anda mengatur keterbacaan, modifikasi, dan kategori konten atau properti elemen yang dapat digunakan alat pelokalan Anda untuk mengunci, menyembunyikan, atau mengurutkan elemen. Untuk informasi selengkapnya, lihat Attributes . Untuk tujuan sampel ini, Alat LocBaml hanya menghasilkan nilai atribut ini. Kontrol WPF semuanya memiliki nilai default untuk atribut ini, tetapi Anda dapat mengambil alihnya. Misalnya, contoh berikut mengambil alih atribut pelokalan default untuk TextBlock_1 dan mengatur konten agar dapat dibaca tetapi tidak dapat dimodifikasi untuk pelokalan.
<TextBlock
x:Uid="TextBlock_1"
Localization.Attributes=
"$Content(Readable Unmodifiable)">
Microsoft Corporation
</TextBlock>
Selain atribut keterbacaan dan modifikasi, WPF menyediakan enumerasi kategori UI umum (LocalizationCategory) yang dapat digunakan untuk memberikan konteks lebih kepada pelokalan. Kategori WPF untuk kontrol platform dapat diubah di XAML:
<TextBlock x:Uid="TextBlock_2">
<TextBlock.ToolTip>
<TextBlock
x:Uid="TextBlock_3"
Localization.Attributes=
"$Content(ToolTip Readable Unmodifiable)">
Microsoft Corporation
</TextBlock>
</TextBlock.ToolTip>
Windows Vista
</TextBlock>
Atribut pelokalan default yang disediakan WPF juga dapat diubah melalui kode, sehingga Anda dapat menetapkan nilai default yang benar untuk kontrol khusus. Contohnya:
[Localizability(Readability = Readability.Readable, Modifiability=Modifiability.Unmodifiable, LocalizationCategory.None)]
public class CorporateLogo : TextBlock
{
// ...
}
Atribut per instans yang ditetapkan di XAML akan lebih diutamakan daripada nilai yang ditetapkan dalam kode pada kontrol kustom. Untuk informasi selengkapnya tentang atribut dan komentar, lihat Atribut Pelokalan dan Komentar.
Font Fallback dan Font Komposit
Jika Anda menentukan font yang tidak mendukung rentang titik kode tertentu, WPF akan beralih secara otomatis ke salah satu yang mendukung rentang tersebut dengan menggunakan Global User Interface.compositefont yang terletak di direktori Windows\Fonts Anda. Font komposit berfungsi sama seperti font lainnya dan dapat digunakan secara eksplisit dengan mengatur FontFamily elemen (misalnya, FontFamily="Global User Interface"). Anda dapat menentukan preferensi fallback font Anda sendiri dengan membuat font komposit Anda sendiri dan menentukan font apa yang akan digunakan untuk rentang dan bahasa titik kode tertentu.
Untuk informasi selengkapnya tentang font komposit, lihat FontFamily.
Melokalisasi Beranda Microsoft
Anda dapat mengikuti langkah yang sama dengan contoh Jalankan Dialog untuk melokalisasi aplikasi ini. File .csv yang dilokalkan untuk bahasa Arab tersedia untuk Anda di Sampel Beranda Globalisasi.
.NET Desktop feedback