Bagikan melalui


Bekerja dengan Lokal Kustom

Topik ini menyediakan beberapa instruksi untuk menangani lokal kustom di aplikasi Anda. Yang terbaik adalah menyiapkan semua kode sumber Anda dengan mempertimbangkan pertimbangan ini, karena aplikasi Anda tidak mengontrol apakah lokal kustom diinstal pada sistem operasi.

Menangani konstanta LOCALE_STIME Dengan Benar

Jika Anda memiliki aplikasi lama yang menggunakan GetLocaleInfo untuk mendapatkan pemisah waktu usang yang ditunjukkan oleh LOCALE_STIME, aplikasi dapat gagal mengurai format waktu. Ingatlah bahwa karakter yang memisahkan jam dari menit berbeda dari karakter yang memisahkan menit dari detik.

Nota

Saat memprogram untuk lokal kustom, ingatlah bahwa mereka tidak biasa. Hampir setiap bidang yang tersedia untuk NLS harus menangani perilaku yang tidak biasa. Misalnya, format waktu 12H34'12'' sah dan umumnya dapat dimengerti. Namun banyak aplikasi membuat asumsi tentang pemisah waktu yang dapat memutus panjang buffer atau bidang tampilan.

 

Membedakan di antara Lokasi Tambahan

Semua lokalisasi tambahan menggunakan konstanta LOCALE_CUSTOM_UNSPECIFIED untuk identifikasi lokal . Sebagai aturan, GetLocaleInfo tidak dapat membedakan antara lokal tambahan, tetapi GetLocaleInfoEx dapat karena menggunakan nama lokal bukan pengidentifikasi lokal. Aplikasi Anda dapat mengambil informasi tentang lokal tambahan tertentu hanya ketika lokal tersebut adalah lokal pengguna yang saat ini dipilih. Kemudian, aplikasi dapat memanggil GetLocaleInfo dan meneruskan konstanta LOCALE_USER_DEFAULT sebagai pengidentifikasi locale.

Menangani Lokalitas Penggantian

Untuk mempertahankan keandalan Windows, ingatlah bahwa lokal pengganti yang didukung oleh aplikasi Anda tidak dapat memodifikasi pengidentifikasi lokal lokal yang diganti. Lokal pengganti tidak dapat mengubah properti pengurutan Windows.

Meskipun lokal pengganti dapat mengubah kalender default, lokal tersebut harus mempertahankan default asli di suatu tempat dalam daftar kalender yang tersedia. Misalnya, lokal Thailand (Thailand) menggunakan kalender Buddha Thailand sebagai default. Administrator dapat membuat lokal pengganti yang menggunakan kalender gregorian yang dilokalkan. Namun, daftar kalender yang tersedia terus berisi entri untuk kalender Buddha Thailand.

Untuk lokal pengganti atau alternatif, aplikasi Anda umumnya harus berkonsultasi dengan informasi khusus lokal alih-alih mencoba "pintasan" berdasarkan pengetahuan tentang suatu lokal tertentu. Misalnya, ketika GetThreadLocale mengambil lokal saat ini sebagai Bahasa Inggris (Amerika Serikat), itu mungkin sebenarnya merupakan lokal pengganti yang harus diizinkan untuk diterapkan.

Kustomisasi Kalender

Aplikasi Anda dapat menyesuaikan nama hari dan bulan untuk kalender Gregorian, tetapi tidak untuk kalender non-Gregorian. Demikian pula, NLS tidak mendukung pembuatan kalender kustom yang ditentukan pengguna. Untuk informasi selengkapnya, lihat Tanggal dan Kalender.

Menangani Urutan Penyortiran

Lokal tambahan dapat menggunakan urutan pengurutan yang ditentukan Microsoft. Lokal pengganti harus menggunakan urutan pengurutan yang sama dengan lokal yang digantinya. NLS tidak mendukung pembuatan urutan pengurutan yang ditentukan pengguna. Untuk informasi selengkapnya, lihat Penanganan Pengurutan di Aplikasi Anda.

Melokalisasi Informasi Lokal Kustom

NLS tidak menyediakan mekanisme untuk melokalisasi informasi lokal kustom. Dengan demikian konstanta LOCALE_SLANGUAGE atau LOCALE_SLOCALIZEDLANGUAGENAME yang digunakan sebagai pengidentifikasi lokal untuk lokal kustom selalu mengambil nilai yang terkait dengan LOCALE_SNATIVELANGNAME atau LOCALE_SNATIVELANGUAGENAME.

Pemanfaatan Dukungan Bahasa Nasional

Lokal Khusus

Tanggal dan Kalender

pengurutan Penanganan di Aplikasi Anda