Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melakukan pembangunan berbilang bahasa dalam PHP?

Bagaimana untuk melakukan pembangunan berbilang bahasa dalam PHP?

王林
王林asal
2023-05-21 13:22:551017semak imbas

Dengan perkembangan globalisasi, bidang pembangunan perisian menjadi semakin antarabangsa Pembangun perisian bukan sahaja perlu memberi perhatian kepada keperluan fungsi dan prestasi, tetapi juga perlu memberi perhatian kepada pilihan bahasa dan konteks budaya pengguna, supaya. pembangunan berbilang bahasa menjadi Satu bahagian penting dalam kerja pembangunan perisian. Dalam pembangunan PHP, bagaimana untuk menjalankan pembangunan berbilang bahasa?

1. Tentukan pilihan bahasa pengguna

Sebelum menjalankan pembangunan berbilang bahasa, pembangun perisian perlu mengesahkan pilihan bahasa tempatan pengguna. Untuk tujuan ini, bahasa yang digunakan oleh pengguna boleh diperolehi dengan menerima tetapan penyemak imbas pengguna (keutamaan bahasa Umumnya, tetapan penyemak imbas menentukan bahasa tempatan pengguna berdasarkan alamat IP pengguna). Anda boleh menggunakan $_SERVER['HTTP_ACCEPT_LANGUAGE'] untuk mendapatkan bahasa tempatan pengguna. Untuk HTTP_ACCEPT_LANGUAGE, bentuk biasa ialah berbilang bahasa yang dipisahkan dengan koma, disusun mengikut berat penggunaan bahasa pengguna. Contohnya, "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7" bermaksud bahasa pilihan pengguna ialah bahasa Inggeris Amerika.

2. Gunakan gettext untuk pemprosesan berbilang bahasa

Selepas mengesahkan pilihan bahasa tempatan pengguna, pembangun perisian perlu menyediakan sumber bahasa yang sepadan. Dalam PHP, menggunakan gettext adalah pilihan yang lebih baik. gettext ialah set alat untuk menjana teks berbilang bahasa untuk perisian, dan ia juga merupakan penyelesaian merentas platform yang bukan sahaja menyokong PHP, tetapi juga menyokong bahasa lain, seperti Python, Ruby, dll.

Gettext dalam PHP menyokong pemprosesan berbilang bahasa dengan memanggil terus fungsi gettext() dalam program. Fungsi gettext sedia ada boleh diperolehi daripada gettext toolkit pada GNU.org Perlu diingat bahawa sebelum menggunakan fungsi ini, anda perlu memanggil fungsi bindtextdomain() untuk menentukan lokasi fail terjemahan program semasa dan maklumat lain.

3. Tentukan tag teks

Mentakrifkan tag teks sebagai kaedah pemprosesan berbilang bahasa standard boleh mengelakkan teks berkod keras. Dalam aplikasi, pembangun harus menggunakan penanda boleh ubah dan bukannya teks boleh ubah. Tag terdiri daripada kata kunci dan parameter. Contohnya, teg %product_name% mewakili nama produk. Fail pek bahasa harus mengekalkan nama produk supaya nama yang sesuai boleh dipilih berdasarkan bahasa pelanggan.

Perlu diingatkan bahawa nama tag boleh ditentukan sendiri. Pada masa yang sama, anda juga perlu mengelak daripada menggunakan tag seperti "Hello, Encik %name%!" kerana ini akan menyukarkan penterjemah untuk menentukan sama ada tag digunakan dengan betul. Secara relatifnya, "Hello %name%! Anda mempunyai %count% mesej yang belum dibaca."

4. Cipta fail terjemahan

Selepas teg di atas dibuat, anda perlu mencipta fail terjemahan untuk menterjemahkannya ke dalam bahasa lain. Dalam gettext, fail terjemahan terbahagi kepada dua jenis iaitu fail .po dan fail .mo. Fail

.po ialah fail asal yang digunakan oleh gettext. Ia mengandungi kandungan yang tidak diterjemahkan, serta maklumat seperti konteks dan status terjemahan kandungan, dan diterangkan menggunakan sintaks penanda tertentu. Dalam fail .po, medan msgstr mewakili teks yang diterjemahkan.

Fail .mo ialah versi kompilasi fail .po Ia mengandungi teks terjemahan dan boleh diberikan kepada program.

5 Muatkan dan gunakan fail terjemahan

Selepas melengkapkan langkah di atas, anda perlu mendayakan atur cara memuatkan dan menggunakan fail terjemahan. Dalam PHP, gunakan fungsi bindtextdomain untuk mengikat laluan fail terjemahan ke contoh aplikasi PHP semasa, kemudian panggil fungsi berkaitannya untuk memuatkan fail terjemahan dan kembalikan kandungan terjemahan dalam fail terjemahan kepada aplikasi.

6. Ringkasan

Menggunakan PHP untuk pembangunan berbilang bahasa memerlukan menilai keutamaan bahasa pengguna, menggunakan gettext untuk pemprosesan berbilang bahasa, mentakrifkan tag teks, mencipta fail terjemahan, memuatkan dan menggunakan fail terjemahan dan seterusnya, untuk mereka bentuk aplikasi berbilang bahasa yang sesuai dengan pengguna.

Atas ialah kandungan terperinci Bagaimana untuk melakukan pembangunan berbilang bahasa dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn