Nama Lokal
Nama lokal didasarkan pada konvensi penandaan 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".
Catatan
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 adalah <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 kode skrip ISO 15924 huruf besar awal. Misalnya, nilai LOCALE_SNAME untuk lokal tertentu Uzbek (Latin, Uzbekistan) adalah "uz-Latn-UZ". Komponen skrip tidak disertakan dalam kasus di mana bahasa umumnya hanya ditulis dalam satu skrip.
Urutan sortir untuk lokal ditunjuk menggunakan pengidentifikasi urutan pengurutan, misalnya, SORT_DEFAULT. Untuk membedakan dua atau beberapa urutan pengurutan 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 sortir default tidak pernah ditentukan secara eksplisit, hanya urutan pengurutan alternatif. Misalnya, Hungaria (Hongaria) dengan SORT_DEFAULT atau SORT_HUNGARIAN_DEFAULT yang setara secara numerik ditunjuk "hu-HU". Hongaria (Hongaria) dengan urutan sortir SORT_HUNGARIAN_TECHNICAL ditunjuk "hu-HU_technl".
Untuk lokal pengganti, nama lokal harus sama dengan nama untuk lokal yang diganti. Untuk lokal tambahan, nama lokal harus mengikuti pola atau <language>-<Script>-<REGION>-x-<custom>
, di mana <custom>
adalah string alfanumerik <language>-<REGION>-x-<custom>
khusus untuk lokal tambahan. Misalnya, lokal tambahan khusus untuk perusahaan bernama Fabricam mungkin disebut "en-US-x-fabricam".
Aplikasi dapat mengambil nama lokal saat ini dengan menggunakan fungsi GetSystemDefaultLocaleName dan GetUserDefaultLocaleName . Meskipun setiap utas dapat mengambil dan mengatur pengidentifikasi lokalnya sendiri dengan GetThreadLocale dan mengaturnya dengan SetThreadLocale, tidak ada fungsi analog untuk mendapatkan dan mengatur lokal berdasarkan nama.