Saya mencari daftar semua lokal dan kode pendek mereka untuk aplikasi PHP yang saya tulis. Apakah ada banyak variasi data antara platform ini?
Juga, jika saya mengembangkan aplikasi internasional, dapatkah saya hanya mendukung satu versi bahasa Inggris atau apakah ada perbedaan signifikan dalam bahasa Inggris di seluruh dunia?
php
internationalization
locale
Kirk Ouimet
sumber
sumber
en
untuk digunakan adalahen_US
danen_GB
, dengan perbedaan utama adalah bahwa yang terakhir umumnya menggunakanise
bukan pembentukize
, dan ejaan kata-kata Prancis asli sepertimetre
, bukannyameter
, dan tidak menggunakan kontraksi fonetik, dengan menggunakansulphur
alih-alihsulphur
.en_GB
biasanya akan mencakup konvensi ejaan yang digunakan di bekas koloni yang belum secara budaya didominasi oleh AS, sepertien_AU
danen_NZ
. Lihat tysto.com/uk-us-spelling-list.html .en_US
sebagai satu-satunyaen
lokal tidak akan mengacak-acak terlalu banyak bulu.Jawaban:
Pentingnya lokal adalah bahwa lingkungan Anda / os dapat menyediakan fungsionalitas pemformatan untuk semua lokal yang diinstal bahkan jika Anda tidak tahu tentang mereka ketika Anda menulis aplikasi Anda. Sistem Windows 7 saya memiliki 211 lokal yang diinstal (tercantum di bawah), jadi Anda mungkin tidak akan menulis kode khusus atau terjemahan khusus untuk banyak lokal ini.
Hal terpenting untuk berbagai versi bahasa Inggris adalah memformat angka dan tanggal. Perbedaan lain adalah signifikan sejauh yang Anda inginkan dan dapat memenuhi variasi tertentu.
sumber
MessageFormatter::formatMessage
, atau sekali sajamsgfmt_format_message
,, seperti padamsgfmt_format_message('ar-ye', '{0,date,medium}', array('2017-01-27))
, yang akan menghasilkan٢٧/٠١/٢٠١٧
. Untuk waktu, di mana menggunakan nilai yang disimpan sebagai UTC, mungkin lebih baik menggunakanIntlDateFormatter
kelas, karena Anda bisa memasukkan zona waktu untuk menunjukkan waktu lokal dalam bahasa.en-029
itu, ituEnglish (Caribbean)
: stackoverflow.com/questions/7192410/…Jawaban yang diterima merindukan beberapa lokal yang agak signifikan. Misalnya, bahasa Mandarin tidak membedakan antara kitab suci yang berbeda (Han yang disederhanakan, Han yang tradisional). Apa yang warga negara Cina daratan yang ingin han tradisional seharusnya gunakan - pengaturan Hong Kong?
Saya telah mengambil daftar lokal iOS ini , menghapus entri POSIX yang aneh, memformatnya sebagai Javascript dan mengurutkannya berdasarkan nilai (jadi jika Anda menggunakan implementasi objek yang dipesan dan membuat daftar dengan menelusuri kunci dan mengembalikan nilai, itu akan tampilkan teks yang dapat dibaca manusia dalam urutan yang benar). Selain itu, daftar ini keduanya berisi entri utama per bahasa dan juga semua varian khusus kawasan - dengan cara ini Anda selalu memiliki opsi fallback yang ditunjuk, katakanlah jika antarmuka Anda hanya menetapkan opsi 'en' - Anda tidak akan tahu tentang apa yang harus diandalkan.
sumber
zh-hans-hk
danzh-hant-hk
. Set objek PHPintl
akan mentolerir menentukan lokal sebagai huruf kecil dan garis putus-putus, serta menerimalang_COUNTRY
gaya.intl
kelas untuk semua upaya Anda, termasuk zona waktu dan lokal, karena dibangun di basis data CLDR, dan diperbarui dengan setiap versi PHP. Fungsi-fungsi PHP lainnya dapat dibangun di atas dataset terisolasi yang tidak memiliki upaya sinkronisasi yang telah masuk ke dalam dataset CLDR yang komprehensif, sehingga beberapa dari fungsi-fungsi lain mungkin memberikan beberapa perbedaan dari yang CLDR, terutama karena upaya-upaya internasional membakukan lebih banyak pada CLDR . Anda mungkin harus menggunakan beberapa dari fungsi-fungsi lain sebagai back-back jika memenuhi pra 5.6.intl
kelas terbaru , adalah bahwa ia akan melayani halaman Anda separuh waktu.Sementara jawaban yang diterima cukup lengkap (saya menggunakan diri saya sendiri dalam pertanyaan serupa yang muncul pada saya), saya pikir perlu untuk menempatkan seluruh kode bahasa dan variasi yang didukung, juga penyandian, dan mengarahkan pengguna ke file yang ada di hampir setiap distribusi linux, kalau-kalau dia hanya ingin jawaban yang lebih cepat dan tidak ada internet misalnya.
Ini file
/usr/share/i18n/SUPPORTED
dan isinya:sumber
Dari http://www.w3.org/International/articles/language-tags/
AFAIK sebagian besar aplikasi sadar-lokal (yang ditulis oleh para profesional) mematuhi standar ini. Bukan hanya sesuatu yang dilemparkan seseorang dan orang yang berbeda menafsirkannya secara berbeda.
Saya sangat menyarankan Anda menyelidiki fitur internasionalisasi bahasa pengembangan khusus Anda, karena Anda mungkin akan akhirnya menemukan kembali roda jika Anda tidak.
sumber
Jika Anda menggunakan php-intl untuk melokalkan aplikasi Anda, Anda mungkin ingin menggunakan ResourceBundle :: getLocales () alih-alih daftar statis yang Anda kelola sendiri. Ini juga dapat memberi Anda bahasa untuk bahasa tertentu.
sumber
Berikut daftar Kode Budaya yang cukup lengkap . Sejauh yang saya tahu, mereka tidak berbeda di antara bahasa pemrograman karena ini merupakan standar RFC. Adapun bahasa Inggris, saya pikir jika Anda mendukung generik
en
atau mungkinen-US
maka Anda harus baik-baik saja.sumber
en-US
. Hanya fakta kehidupan. Lihat saja bagaimana sebagian besar situs surat kabar online di seluruh dunia menggunakan tanda kutip gaya AS, bahkan ketika menargetkan pemirsa lokal, hanya karena pembengkakan budaya oleh bahan bersumber AS telah menimpa apa pun yang mungkin ada dalam panduan gaya resmi suatu negara. Pemirsa telah pindah, terlepas dari apa yang banyak dari kita dapat gunakan untuk preferensi pribadi kita.Daftar Bahasa
Daftar semua bahasa dengan nama dan kode ISO 639-1 dalam semua bahasa dan semua format data.
Format Tersedia
https://github.com/umpirsky/language-list
sumber
en_IE
berperilaku berbeda darien_US
dalam sejumlah aspek (mata uang, pengukuran, pengejaan, dll).