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.

Catatan

Saat pemrograman untuk lokal kustom, ingatlah bahwa mereka tidak biasa. Hampir setiap bidang yang tersedia untuk NLS harus mengatasi 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 Lokal Tambahan

Semua lokal tambahan menggunakan konstanta LOCALE_CUSTOM_UNSPECIFIED untuk pengidentifikasi lokal. Sebagai aturan, GetLocaleInfo tidak dapat membedakan di antara lokal tambahan, tetapi GetLocaleInfoEx dapat karena menggunakan nama lokal alih-alih 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 LOCALE_USER_DEFAULT konstanta sebagai pengidentifikasi lokal.

Menangani Lokal 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 lokal Gregorian. Namun, daftar kalender yang tersedia terus berisi entri untuk kalender Buddha Thailand.

Untuk lokal pengganti, aplikasi Anda umumnya harus berkonsultasi dengan informasi khusus lokal alih-alih mencoba "pintasan" berdasarkan pengetahuan tentang lokal tertentu. Misalnya, ketika GetThreadLocale mengambil lokal saat ini sebagai bahasa Inggris (Amerika Serikat), itu mungkin benar-benar 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 Pengurutan

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 Menangani Pengurutan di Aplikasi Anda.

Melokalkan Informasi Lokal Kustom

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

Menggunakan Dukungan Bahasa Nasional

Lokal Kustom

Tanggal dan Kalender

Menangani Pengurutan di Aplikasi Anda