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.
Topik ini memperkenalkan masalah yang harus Anda ketahui saat menulis aplikasi Windows Presentation Foundation (WPF) untuk pasar global. Elemen pemrograman globalisasi didefinisikan dalam .NET di namespace System.Globalization.
Globalisasi XAML
Extensible Application Markup Language (XAML) didasarkan pada XML dan memanfaatkan dukungan globalisasi yang ditentukan dalam spesifikasi XML. Bagian berikut menjelaskan beberapa fitur XAML yang harus Anda waspadai.
Referensi Karakter
Referensi karakter memberikan unit kode UTF16 dari karakter Unicode tertentu yang diwakilinya, baik dalam desimal atau heksadesimal. Contoh berikut menunjukkan referensi karakter desimal untuk HURUF BESAR KOPTIK HORI, atau 'Ϩ'.
Ϩ
Contoh berikut menunjukkan referensi karakter heksadesimal. Perhatikan bahwa ia memiliki x di depan angka heksadesimal.
Ϩ
Pengkodean
Pengodean yang didukung oleh XAML adalah ASCII, Unicode UTF-16, dan UTF-8. Pernyataan pengodean berada di awal dokumen XAML. Jika tidak ada atribut pengodean dan tidak ada urutan byte, pengurai default ke UTF-8. UTF-8 dan UTF-16 adalah pengodean yang direkomendasikan. UTF-7 tidak didukung. Contoh berikut menunjukkan cara menentukan pengodean UTF-8 dalam file XAML.
?xml encoding="UTF-8"?
Atribut Bahasa
XAML menggunakan xml:lang
Atribut bahasa sangat berguna untuk menentukan bahasa regional. Misalnya, bahasa Prancis memiliki ejaan, kosakata, dan pengucapan yang berbeda di Prancis, Quebec, Belgia, dan Swiss. Cina, Jepang, dan Korea juga berbagi titik kode di Unicode, tetapi bentuk ideografisnya berbeda dan mereka menggunakan font yang berbeda sama sekali.
Contoh Extensible Application Markup Language (XAML) berikut menggunakan atribut bahasa fr-CA untuk menentukan bahasa Prancis Kanada.
<TextBlock xml:lang="fr-CA">Découvrir la France</TextBlock>
Unicode
XAML mendukung semua fitur Unicode termasuk pengganti. Selama set karakter dapat dipetakan ke Unicode, maka akan didukung. Misalnya, GB18030 memperkenalkan beberapa karakter yang dipetakan ke ekstensi Cina, Jepang, dan Korea (CJK) A dan B serta pasangan pengganti, sehingga didukung sepenuhnya. Aplikasi WPF dapat menggunakan StringInfo untuk memanipulasi string tanpa memahami apakah mereka memiliki pasangan pengganti atau menggabungkan karakter.
Merancang Antarmuka Pengguna Internasional dengan XAML
Bagian ini menjelaskan fitur antarmuka pengguna (UI) yang harus Anda pertimbangkan saat menulis aplikasi.
Teks Internasional
WPF mencakup pemrosesan bawaan untuk semua sistem penulisan yang didukung Microsoft .NET Framework.
Skrip berikut saat ini didukung:
Bahasa Arab
Bahasa Bengali
Devanagari
Sirilik
Yunani
Gujarat
Gurmukhi
Ibrani
Skrip ideografis
Kannada
Laos
Bahasa latin
Malayalam
Bahasa Mongolia
Odia
Bahasa Suryani
Tamil
Telugu
Thaana
Thai*
Orang Tibet
Dalam rilis ini, tampilan dan pengeditan teks Thailand didukung; pemecahan kata tidak didukung.
Skrip berikut saat ini tidak didukung:
Khmer
Hangul Tua Korea
Myanmar
Sinhala
Semua mesin sistem penulisan mendukung font OpenType. Font OpenType dapat menyertakan tabel tata letak OpenType yang memungkinkan pembuat font merancang font tipografi internasional dan kelas atas yang lebih baik. Tabel tata letak font OpenType berisi informasi tentang substitusi glyph, pemosisian glyph, pembenaran, dan penempatan garis besar, memungkinkan aplikasi pemrosesan teks untuk meningkatkan tata letak teks.
Font OpenType memungkinkan penanganan set glyph besar menggunakan pengodean Unicode. Pengodean tersebut memungkinkan dukungan internasional yang luas serta varian glif tipografik.
Penyajian teks WPF didukung oleh teknologi sub-piksel Microsoft ClearType yang mendukung kemandirian resolusi. Ini secara signifikan meningkatkan legibilitas dan menyediakan kemampuan untuk mendukung dokumen gaya majalah berkualitas tinggi untuk semua skrip.
Tata Letak Internasional
WPF menyediakan cara yang sangat nyaman untuk mendukung tata letak horizontal, dua arah, dan vertikal. Dalam kerangka kerja presentasi, properti FlowDirection dapat digunakan untuk menentukan tata letak. Pola arah alur adalah:
LeftToRight - tata letak horizontal untuk Latin, Asia Timur dan sebagainya.
RightToLeft - dua arah untuk Arab, Ibrani, dan sebagainya.
Mengembangkan Aplikasi yang Dapat Dilokalkan
Ketika Anda menulis aplikasi untuk konsumsi global, Anda harus ingat bahwa aplikasi harus dapat dilokalkan. Topik berikut menunjukkan hal-hal yang perlu dipertimbangkan.
Antarmuka Pengguna Multibahasa
Antarmuka Pengguna Multibahasa (MUI) adalah dukungan Microsoft untuk beralih UI dari satu bahasa ke bahasa lain. Aplikasi WPF menggunakan model assembly untuk mendukung MUI. Satu aplikasi berisi rakitan bahasa netral serta rakitan sumber daya satelit yang bergantung pada bahasa. Titik masuk adalah .EXE terkelola di perakitan utama. Pemuat sumber daya WPF memanfaatkan manajer sumber daya dari Framework untuk mendukung pencarian dan fallback sumber daya. Beberapa rakitan satelit dari berbagai bahasa bekerja dengan rakitan utama yang sama. Rakitan sumber daya yang dimuat tergantung pada CurrentUICulture dari utas saat ini.
Antarmuka Pengguna yang Dapat Dilokalkan
Aplikasi WPF menggunakan XAML untuk menentukan UI mereka. XAML memungkinkan pengembang menentukan hierarki objek dengan sekumpulan properti dan logika. Penggunaan utama XAML adalah untuk mengembangkan aplikasi WPF tetapi dapat digunakan untuk menentukan hierarki objek runtime bahasa umum (CLR). Sebagian besar pengembang menggunakan XAML untuk menentukan UI aplikasi mereka dan menggunakan bahasa pemrograman seperti C# untuk bereaksi terhadap interaksi pengguna.
Dari sudut pandang sumber daya, UI adalah elemen sumber daya dan oleh karena itu format distribusi akhirnya harus dapat dilokalkan untuk mendukung bahasa internasional. Karena XAML tidak dapat menangani peristiwa banyak aplikasi XAML yang berisi blok kode untuk melakukan ini. Untuk informasi selengkapnya, lihat XAML di WPF. Kode dilucuti dan dikompilasi ke biner yang berbeda ketika file XAML ditokenisasi ke dalam bentuk BAML XAML. Bentuk BAML dari file XAML, gambar, dan jenis objek sumber daya lainnya yang terkelola disematkan dalam rakit sumber daya satelit, yang dapat dilokalkan ke dalam bahasa lain, atau ke rakit utama ketika pelokalan tidak diperlukan.
Nota
Aplikasi WPF mendukung semua sumber daya FrameworkCLR termasuk tabel string, gambar, dan sebagainya.
Membangun Aplikasi yang Dapat Dilokalkan
Pelokalan berarti menyesuaikan UI dengan budaya yang berbeda. Untuk membuat aplikasi WPF dapat dilokalkan, pengembang perlu membangun semua sumber daya yang dapat dilokalkan ke dalam perakitan sumber daya. Rakitan sumber daya dilokalkan ke dalam bahasa yang berbeda, dan kode di belakang menggunakan API manajemen sumber daya untuk dimuat. Salah satu file yang diperlukan untuk aplikasi WPF adalah file proyek (.proj). Semua sumber daya yang Anda gunakan dalam aplikasi Anda harus disertakan dalam file proyek. Contoh berikut dari file .csproj menunjukkan cara melakukan ini.
<Resource Include="data\picture1.jpg"/>
<EmbeddedResource Include="data\stringtable.en-US.restext"/>
Untuk menggunakan sumber daya dalam aplikasi Anda, buat instans ResourceManager dan muat sumber daya yang ingin Anda gunakan. Contoh berikut menunjukkan cara melakukan ini.
void OnClick(object sender, RoutedEventArgs e)
{
ResourceManager rm = new ResourceManager ("MySampleApp.data.stringtable",
Assembly.GetExecutingAssembly());
Text1.Text = rm.GetString("Message");
}
Menggunakan ClickOnce dengan Aplikasi Yang Dilokalkan
ClickOnce adalah teknologi penyebaran Windows Forms baru yang akan dikirim dengan Visual Studio 2005. Ini memungkinkan penginstalan aplikasi dan peningkatan aplikasi Web. Ketika aplikasi yang disebarkan dengan ClickOnce dilokalkan, aplikasi hanya dapat dilihat pada budaya yang dilokalkan. Misalnya, jika aplikasi yang disebarkan dilokalkan ke Bahasa Jepang, aplikasi tersebut hanya dapat dilihat di Microsoft Windows Jepang tidak di Windows Bahasa Inggris. Ini menyajikan masalah karena ini adalah skenario umum bagi pengguna Jepang untuk menjalankan versi bahasa Inggris Windows.
Solusi untuk masalah ini adalah mengatur atribut fallback bahasa netral. Pengembang aplikasi dapat secara opsional menghapus sumber daya dari perakitan utama dan menentukan bahwa sumber daya dapat ditemukan di rakitan satelit yang sesuai dengan budaya tertentu. Untuk mengontrol proses ini, gunakan NeutralResourcesLanguageAttribute. Konstruktor kelas NeutralResourcesLanguageAttribute memiliki dua tanda tangan, satu yang mengambil parameter UltimateResourceFallbackLocation untuk menentukan lokasi di mana ResourceManager harus mengekstrak sumber daya fallback: perakitan utama atau perakitan satelit. Contoh berikut menunjukkan cara menggunakan atribut . Untuk lokasi cadangan terakhir, kode membuat ResourceManager mencari sumber daya di subdirektori "de" direktori tempat assembly saat ini dijalankan.
[assembly: NeutralResourcesLanguageAttribute(
"de" , UltimateResourceFallbackLocation.Satellite)]
Lihat juga
.NET Desktop feedback