Bagikan melalui


Menggunakan pseudo-locales untuk pengujian pelokalan

Pseudo-locales dibangun ke Windows Vista dan yang lebih baru, sehingga Anda dapat mengaksesnya melalui API Dukungan Bahasa Nasional (NLS). Anda dapat menggunakan pseudo-locales untuk menguji pelokalan aplikasi Anda. Topik ini mencakup prosedur untuk menggunakan kode semu.

Catatan

Salah satu tugas yang membutuhkan pertimbangan khusus dalam hal pseudo-lokal adalah menghitungnya; baik dalam kode Anda, atau di bagian opsi regional dan bahasa dari Panel Kontrol. Lebih lanjut tentang itu nanti dalam topik ini.

Nama-nama pseudo-locales adalah "qps-ploc", "qps-ploca", dan "qps-plocm". Pada Windows 10, pseudo-locale "qps-Latn-x-sh" juga tersedia.

Mengambil informasi tentang pseudo-locales

Anda dapat menggunakan GetLocaleInfoEx untuk mengambil informasi tentang pseudo-locale. Teruskan ke fungsi nama pseudo-locale tertentu (lihat daftar nama di atas). Misalnya, "qps-plocm" untuk pseudo-locale cermin.

wchar_t languageIdentifier[5];
int rc{ ::GetLocaleInfoEx(L"qps-plocm", LOCALE_ILANGUAGE, languageIdentifier, 5) };

Gunakan LocaleNameToLCID dengan pseudo-locales

Anda dapat memanggil fungsi pemetaan NLS LocaleNameToLCID dengan nama pseudo-locale.

LCID lcid{ ::LocaleNameToLCID(L"qps-plocm", 0) };

Aktifkan pseudo-locales untuk enumerasi

Dalam aplikasi, Anda dapat memanggil EnumSystemLocalesEx untuk menghitung lokal yang dikenali sistem. Bagian opsi regional dan bahasa dari Panel Kontrol juga memanggil EnumSystemLocalesEx untuk membangun daftar lokal yang ditampilkannya. Namun, secara default, empat lokal pseudo yang tercantum di atas tidak dikenali oleh sistem, sehingga tidak akan dikembalikan oleh EnumSystemLocalesEx. Untuk sistem dari Windows Vista hingga dan termasuk Windows 10, versi 1709, solusinya adalah mengaktifkan pseudo-locales dengan menambahkan kunci ke Windows Registry.

Pengeditan dilakukan di bawah kunci HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls untuk bahasa yang diinstal pada sistem operasi. Anda dapat membuat pengaturan ini untuk mengaktifkan pseudo-locales. Setiap kunci yang ditunjukkan di bawah ini adalah LCID heksadesimal yang sesuai dengan pseudo-locale yang diaktifkan. Setiap nilai berjenis string (REG_SZ).

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Locale]
"00000501"="1" // qps-ploc (Windows Vista and later)
"000005fe"="7" // qps-ploca (Windows Vista and later)
"00000901"="1" // qps-Latn-x-sh (Windows 10 and later)
"000009ff"="d" // qps-plocm (Windows Vista and later)

Untuk Windows 10, versi 1803, mengedit Registri Windows seperti ini tidak berpengaruh. Tetapi Anda masih dapat memanggil NLS API yang tidak menghitung dengan nama pseudo-locales (lihat contoh kode di atas) untuk mengisi antarmuka pengguna (UI) Anda.