Nama Lokal
Nama lokal didasarkan pada konvensi pemberian tag bahasa IETF BCP 47 ( Windows Vista dan yang lebih baru), dan diwakili oleh LOCALE_SNAME. Umumnya, pola <language>-<REGION>
digunakan. Di sini, bahasa adalah kode bahasa ISO 639 huruf kecil. Kode dari ISO 639-1 digunakan jika tersedia. Jika tidak, kode dari ISO 639-2/T digunakan. REGION menentukan pengidentifikasi negara/wilayah ISO 3166-1 huruf besar. Misalnya, nama lokal untuk bahasa Inggris (Amerika Serikat) adalah "en-US" dan nama lokal untuk Divehi (Maladewa) adalah "dv-MV".
Nota
Konstanta LOCALE_NAME_MAX_LENGTH memberikan panjang maksimum nama lokal. Ini termasuk ruang untuk karakter null yang mengakhiri.
Jika lokal adalah lokal netral (tanpa wilayah), nilai LOCALE_SNAME mengikuti pola <language>
. Jika itu adalah lokal netral yang skripnya signifikan, polanya <language>-<Script>
.
Jika lokal harus dibedakan dari lokal lain untuk bahasa dan wilayah yang sama menggunakan skrip yang berbeda, nilai LOCALE_SNAME mengikuti pola <language>-<Script>-<REGION>
, di mana Skrip adalah huruf besar awal kode skrip ISO 15924. Misalnya, nilai LOCALE_SNAME untuk Uzbek lokal tertentu (Latin, Uzbekistan) adalah "uz-Latn-UZ". Komponen skrip tidak disertakan dalam kasus di mana bahasa umumnya ditulis hanya dalam satu skrip.
Urutan pengurutan untuk lokal ditunjuk menggunakan pengidentifikasi urutan pengurutan , misalnya, SORT_DEFAULT. Untuk membedakan dua urutan pengurutan atau lebih untuk bahasa dan wilayah yang sama, nama lokal mengikuti pola <language>-<REGION>\_<sort order>
. Jika Anda harus membedakan skrip dan urutan pengurutan, nama mengikuti pola <language>-<Script>-<REGION>\_<sort order>
. Urutan pengurutan default tidak pernah ditentukan secara eksplisit, hanya urutan pengurutan alternatif. Misalnya, Hongaria (Hongaria) dengan SORT_DEFAULT atau SORT_HUNGARIAN_DEFAULT yang setara secara numerik ditunjuk "hu-HU". Hongaria (Hongaria) dengan urutan sortir SORT_HUNGARIAN_TECHNICAL ditunjuk sebagai "hu-HU_technl".
Untuk lokal pengganti, nama lokal harus sama dengan nama untuk lokal yang diganti. Untuk lokal tambahan, nama lokal harus mengikuti pola <language>-<REGION>-x-<custom>
atau <language>-<Script>-<REGION>-x-<custom>
, di mana <custom>
adalah string alfanumerik khusus untuk lokal tambahan. Misalnya, lokal tambahan khusus untuk perusahaan yang disebut Fabricam mungkin disebut "en-US-x-fabricam".
Aplikasi dapat mengambil nama lokal saat ini dengan menggunakan fungsiGetSystemDefaultLocaleName dan GetUserDefaultLocaleName. Meskipun setiap utas dapat mengambil dan mengatur pengidentifikasi lokalnya sendiri denganGetThreadLocale dan mengaturnya dengan SetThreadLocale, tidak ada fungsi analog untuk mendapatkan dan mengatur lokal berdasarkan nama.