Terminologi NLS
Topik ini mendefinisikan istilah yang penting saat bekerja dengan fungsionalitas NLS.
Istilah Lokal dan Bahasa
Tabel berikut ini meringkas istilah lokal dan bahasa. Lihat juga Lokal dan Bahasa.
Grup bahasa | Bahasa untuk program non-Unicode | Standar dan Format | |
---|---|---|---|
Tujuan | Menyediakan semua tata letak keyboard, editor metode input (IMEs), font TrueType, tautan font, file paket lisensi (LPK), font bitmap, dan tabel terjemahan halaman kode yang diperlukan oleh sistem operasi untuk sekelompok bahasa. Oleh karena itu mempengaruhi semua pengaturan lain dalam daftar ini. | Menentukan font bitmap mana, dan halaman kode OEM, ANSI, dan Macintosh adalah default untuk sistem operasi. Bahasa ini hanya memengaruhi aplikasi yang tidak sepenuhnya Unicode. Sebelum Windows XP, bahasa ini disebut "lokal sistem". | Menentukan pengaturan mana yang digunakan untuk memformat tanggal, waktu, mata uang, dan angka sebagai default untuk setiap pengguna. Juga menentukan urutan pengurutan untuk mengurutkan teks. Sebelum Windows XP, Standar dan Format disebut "lokal pengguna". |
Set Pertama | Penginstalan | Penginstalan | Penginstalan |
Bagaimana pengguna dapat mengubah | Opsi Regional (item Panel Kontrol) Windows XP: Opsi Regional dan Bahasa (hanya administrator) |
Opsi Regional (item Panel Kontrol) Windows XP: Opsi Regional dan Bahasa (hanya administrator) |
Opsi Regional (item Panel Kontrol) Windows XP: Opsi Regional dan Bahasa |
Default | Eropa Barat dan Amerika Serikat dan grup bahasa yang diperlukan untuk menampilkan bahasa dari versi yang dilokalkan. | Bahasa versi yang dilokalkan. | Bahasa sistem operasi yang dilokalkan. |
Fungsi | EnumSystemLanguageGroups | GetSystemDefaultLangID | GetUserDefaultLCID, GetUserDefaultLocaleName |
Lokal utas | Bahasa input | Bahasa UI default sistem | |
---|---|---|---|
Tujuan | Menentukan pengaturan yang digunakan untuk memformat tanggal, waktu, mata uang, dan angka besar untuk utas. Juga menentukan urutan pengurutan untuk mengurutkan teks. | Terdiri dari bahasa dan metode input. | Menentukan bahasa default menu dan dialog, pesan, file informasi penyiapan (INF), dan file bantuan. Windows Vista dan yang lebih baru: Dikenal sebagai bahasa penginstalan. Memainkan peran yang lebih terbatas, sebagian besar digantikan oleh bahasa UI pilihan sistem. Untuk informasi selengkapnya, lihat Manajemen Bahasa Antarmuka Pengguna |
Set Pertama | Default ke Standar dan Format | Penginstalan | Penginstalan |
Bagaimana pengguna dapat mengubah | SetThreadLocale | Opsi Regional (item Panel Kontrol) Windows XP: Opsi Regional dan Bahasa |
Tidak |
Default | Standar dan Format | Bahasa versi yang dilokalkan dengan metode input default. | Bahasa versi yang dilokalkan. |
Fungsi | GetThreadLocale | GetKeyboardLayout | GetSystemDefaultUILanguage |
Bahasa UI sistem, bahasa UI pilihan sistem | Bahasa UI pengguna, bahasa UI pilihan pengguna | Bahasa UI pilihan utas | |
---|---|---|---|
Tujuan | Tentukan bahasa menu dan dialog, pesan, file INF, dan file bantuan untuk sistem operasi. Untuk informasi selengkapnya, lihat Manajemen Bahasa Antarmuka Pengguna. | Tentukan bahasa menu dan dialog, pesan, dan file bantuan untuk pengguna. Untuk informasi selengkapnya, lihat Manajemen Bahasa Antarmuka Pengguna. | Windows Vista dan yang lebih baru: Tentukan bahasa pilihan untuk utas aplikasi. Untuk informasi selengkapnya, lihat Manajemen Bahasa Antarmuka Pengguna. |
Set Pertama | Default ke NULL | Default ke NULL | Default ke NULL |
Bagaimana pengguna dapat mengubah | Opsi Regional dan Bahasa (hanya administrator) |
Opsi Regional (item Panel Kontrol) Windows XP: Opsi Regional dan Bahasa |
SetThreadPreferredUILanguages |
Default | Windows Vista dan yang lebih baru: Bahasa versi yang dilokalkan, diikuti oleh fallback apa pun. |
Sebelum Windows Vista: Bahasa versi yang dilokalkan. Windows Vista dan yang lebih baru: Bahasa versi yang dilokalkan, diikuti oleh fallback apa pun. |
Daftar null |
Fungsi | GetSystemPreferredUILanguages | GetUserDefaultUILanguage, GetUserPreferredUILanguages | GetThreadPreferredUILanguages |
Memproses bahasa UI pilihan | |
---|---|
Tujuan | Windows 7 dan yang lebih baru: Tentukan bahasa pilihan untuk proses aplikasi. Untuk informasi selengkapnya, lihat Manajemen Bahasa Antarmuka Pengguna. |
Set Pertama | Default ke NULL |
Bagaimana pengguna dapat berubah | Opsi Regional dan Bahasa (hanya administrator) |
Default | Windows 7 dan yang lebih baru: Bahasa versi yang dilokalkan, diikuti oleh fallback apa pun. |
Fungsi | GetProcessPreferredUILanguages, SetProcessPreferredUILanguages |
Halaman Kode
Ketidakmampuan halaman kode titik 256 untuk mendukung pencampuran skrip dalam satu teks adalah salah satu alasan utama munculnya Unicode. Halaman kode tetap penting untuk menulis kode konsol, untuk mempertahankan aplikasi lama atau berjalan pada versi Windows yang lebih lama, dan untuk berinteraksi dengan beberapa perangkat lunak non-Microsoft yang tidak mendukung Unicode.
Bahasa Input
Bahasa input diwakili oleh variabel data per proses yang menjelaskan bahasa (misalnya, Yunani) dan metode input (misalnya, keyboard). Beberapa bahasa input dapat diinstal dan pengguna dapat beralih di antara mereka.
Untuk mengatur dan mengambil nilai bahasa input, aplikasi masing-masing memanggil LoadKeyboardLayout dan GetKeyboardLayout. Pengguna dapat menambahkan dan menghapus bahasa input melalui tab Bahasa di bagian opsi regional dan bahasa dari Panel Kontrol.
Bahasa input default adalah bahasa yang dilokalkan dari sistem operasi, dan itu adalah pengaturan yang aktif ketika aplikasi baru dimulai (atau ketika jendela baru dibuka untuk beberapa aplikasi). Beralih ke bahasa input yang berbeda dilakukan berdasarkan per aplikasi. Dengan kata lain, dua bahasa input yang berbeda dapat digunakan dalam dua aplikasi yang berbeda. Misalnya, pengguna dapat mengetik bahasa Jerman menggunakan tata letak keyboard Amerika Serikat internasional, bahasa Inggris menggunakan input suara (dengan perangkat lunak non-Microsoft), dan bahasa Spanyol menggunakan IME dalam tiga aplikasi yang berbeda.
Bahasa untuk Program Non-Unicode
Bahasa untuk program non-Unicode (sebelumnya disebut "lokal sistem") menentukan halaman kode yang digunakan pada sistem operasi secara default. Bahasa untuk pengaturan program non-Unicode hanya memengaruhi aplikasi non-Unicode, yaitu aplikasi ANSI. Mengatur bahasa menginstruksikan Windows untuk meniru sistem operasi berbasis non-Unicode, yang dilokalkan ke bahasa ini. Mengubah bahasa untuk program non-Unicode menginstal file font bitmap yang diperlukan untuk mendukung aplikasi non-Unicode dalam bahasa yang ditentukan. Untuk memperbolehkan pengguna memilih bahasa untuk program non-Unicode, grup bahasa yang sesuai harus diinstal. Aplikasi Anda memerlukan dukungan skrip untuk memilih bahasa untuk program non-Unicode. Bahasa untuk program non-Unicode adalah pengaturan per sistem dan mengharuskan mulai ulang diimplementasikan.
Terkadang tidak ada perbedaan nyata antara dua bahasa untuk program non-Unicode. Misalnya, ini adalah kasus dengan lokal Jerman (Netral) dan Jerman (Austria). Secara umum, pengaturan satu grup bahasa sangat mirip dan hanya berbeda di halaman kode OEM atau MAC.
Aplikasi ANSI harus memeriksa bahasa untuk pengaturan program non-Unicode selama penginstalan. Ini menggunakan GetACP atau GetOEMCP untuk mengambil nilai . Tidak ada fungsi yang didukung untuk menyetel bahasa untuk program non-Unicode. Namun, pengguna dapat mengubahnya dengan menggunakan tab Tingkat Lanjut di bagian opsi regional dan bahasa dari Panel Kontrol. Berikut ini adalah beberapa contoh bahasa untuk pengaturan program non-Unicode:
- Pengguna Jerman yang ingin menjalankan aplikasi Jepang yang dirancang untuk Windows 95 Jepang harus memilih Bahasa Jepang sebagai bahasa untuk program non-Unicode. Setelah pilihan ini, aplikasi Jerman non-Unicode memiliki masalah. Misalnya, umlaut Jerman (̈) tidak ditampilkan dengan benar.
- Pengguna Jerman yang ingin mengetik teks Bahasa Jepang dalam aplikasi Jerman non-Unicode harus memilih Bahasa Jepang sebagai bahasa untuk program non-Unicode. Seperti dalam contoh pertama, ini menyebabkan masalah dalam memasukkan teks Bahasa Jerman di aplikasi non-Unicode.
- Pengguna Arab yang ingin mengetik bahasa Arab, Prancis, dan Inggris dalam aplikasi Arab non-Unicode harus memilih Bahasa Arab sebagai bahasa untuk program non-Unicode, karena halaman kode ANSI Arab berisi sebagian besar karakter Prancis dan semua karakter bahasa Inggris.
Grup Bahasa
Grup bahasa mengontrol bahasa untuk program non-Unicode, Standar dan Format, bahasa input, dan bahasa antarmuka pengguna yang dapat dipilih. Untuk setiap versi yang dilokalkan, grup bahasa yang ditentukan adalah default dan tidak dapat dihapus. Misalnya, Windows menginstal Eropa Barat dan grup bahasa Amerika Serikat secara default. Dengan demikian, jika versi bahasa Inggris Windows diinstal di negara/wilayah yang tidak berbahasa Inggris, pengguna biasanya akan menginstal grup bahasa lain.
Saat menambahkan grup bahasa, Windows menyalin (tetapi tidak mengaktifkan) file keyboard yang diperlukan, Editor Metode Input (IMEs), file font TrueType, file font bitmap, dan file Dukungan Bahasa Nasional (.nls). Menambahkan grup bahasa juga menambahkan nilai registri untuk penautan font dan menginstal mesin pembuatan skrip untuk bahasa skrip kompleks (Arab, Ibrani, Indic, dan Thai).
Selain Eropa Barat dan grup bahasa Amerika Serikat, ada 16 grup bahasa lainnya:
Armenia Baltik Eropa Tengah Sirilik Georgia Yunani Ibrani |
Jepang Korea Bahasa Tionghoa Sederhana Mandarin Tradisional Thailand Bahasa Turki Vietnam |
Jumlah dan kombinasi grup bahasa apa pun dapat diinstal pada sistem operasi apa pun. Misalnya, pengguna Spanyol dapat menginstal grup bahasa Sirilik untuk bekerja pada teks Rusia. Dalam hal ini, aplikasi pemrosesan kata juga perlu mendukung grup bahasa Sirilik.
Catatan
Menambahkan grup bahasa yang sesuai tidak secara otomatis mengaktifkan aplikasi untuk menerima teks. Pengujian disarankan. Misalnya, aplikasi non-Unicode mungkin memerlukan bahasa untuk program non-Unicode untuk diubah.
Lokasi
Windows XP: Lokasi adalah pengidentifikasi geografis. Ini diwakili oleh variabel data per pengguna yang menentukan negara/wilayah tempat pengguna tinggal.
Untuk mengatur nilai, aplikasi memanggil SetUserGeoID. Untuk mengambil nilai, aplikasi memanggil GetUserGeoID.
Standar dan Format
Standar dan Format (sebelumnya "lokal pengguna") adalah variabel per pengguna yang menentukan urutan pengurutan default dan pengaturan default untuk memformat tanggal, waktu, mata uang, dan angka. Variabel disajikan sebagai bahasa (kadang-kadang dalam kombinasi dengan negara/wilayah), tetapi bukan bahasa itu sendiri. Misalnya, mengatur variabel Standar dan Format ke Bahasa Ibrani menunjukkan bahwa pengguna ingin menggunakan konvensi pemformatan Ibrani, belum tentu bahasa Ibrani. Selain itu, variabel Standar dan Format menentukan string yang digunakan untuk nama hari dan bulan. Misalnya, jika pengguna menampilkan "25 November 1998", string "November" dapat berubah berdasarkan variabel Standar dan Format. Mengubah variabel secara otomatis menambahkan lokal input dengan pengaturan default untuk bahasa tersebut.
Untuk mendapatkan pengaturan variabel Standar dan Format, aplikasi memanggil GetUserDefaultLCID atau GetUserDefaultLocaleName. Tidak ada fungsi NLS yang tersedia untuk mengatur variabel. Namun, pengguna dapat mengubahnya melalui tab Opsi Wilayah di bagian opsi regional dan bahasa dari Panel Kontrol.
Aplikasi biasanya harus menggunakan pengaturan variabel Standar dan Format untuk menampilkan data. Namun, aplikasi yang menggunakan lokal tetap untuk menampilkan data harus melewati pengidentifikasi lokal tertentu alih-alih menggunakan LOCALE_USER_DEFAULT.
Lokal Utas
Lokal utas diwakili oleh variabel data lokal per alur yang menentukan pemformatan tanggal, waktu, mata uang, dan angka besar untuk utas. Ini default ke nilai untuk lokal yang saat ini dipilih untuk Standar dan Format. Untuk mengatur lokal utas, aplikasi memanggil SetThreadLocale. Untuk mengambil lokal utas, aplikasi memanggil GetThreadLocale.
Dalam kebanyakan kasus, lokal utas tidak boleh ditimpa. Biasanya hanya boleh digunakan untuk menyinkronkan lokal utas aplikasi server dengan variabel Standar dan Format komputer klien. Misalnya, aplikasi perdagangan saham keuangan untuk Bursa Efek New York, yang digunakan di bank-bank di seluruh dunia, harus menampilkan waktu, tanggal, dan harga saham dalam format Amerika Serikat. Aplikasi ini menggunakan SetThreadLocale untuk mengatur lokal utas ke bahasa Inggris (Amerika Serikat) kemudian menggunakan fungsi NLS untuk memformat tanggal, waktu, dan harga saham.
Mengubah lokal utas tidak memengaruhi semua fungsi API. Dengan demikian tidak selalu merupakan cara yang dapat diandalkan untuk mengambil alih variabel Standar dan Format. Sebagai gantinya, aplikasi yang mengontrol standar dan format harus menggunakan lokal tetap untuk menampilkan data, meneruskan pengidentifikasi lokal tertentu alih-alih menggunakan LOCALE_USER_DEFAULT.
Contoh NLS
Contoh berikut menunjukkan interplay di antara Standar dan Format, bahasa untuk program non-Unicode, lokasi, dan bahasa UI pengguna.
Pengguna yang berasal dari Chili tetapi tinggal di Amerika Serikat memiliki komputer yang menjalankan Windows XP English. Pengguna mengatur lokasi ke Amerika Serikat untuk menggunakan penyedia layanan Internet (ISP) untuk mendapatkan cuaca untuk Amerika Serikat. Namun variabel Standar dan Format diatur ke Bahasa Spanyol (Chili) sehingga informasi diformat sesuai dengan standar Chili. Selain itu, pengguna menggunakan prosesor kata Korea, yang merupakan aplikasi ANSI, sehingga bahasa untuk program non-Unicode diatur ke Bahasa Korea (Korea). Untuk menggunakan aplikasi, pengguna memiliki keyboard bahasa Inggris dan juga menginstal IME Korea untuk mendukung bahasa input kedua. Rekan kerja pengguna, yang berbagi komputer tetapi tidak nyaman dengan bahasa Inggris, dapat mengatur bahasa UI pengguna ke Bahasa Spanyol (Spanyol) saat menggunakan komputer.
Topik terkait