Dengan trend globalisasi dan pembangunan pasaran global, sokongan berbilang bahasa secara beransur-ansur menjadi keperluan penting, dan dalam pembangunan web, tahap sokongan rangka kerja juga menjadi pertimbangan penting. Rangka kerja PHPixie ialah rangka kerja PHP yang sangat baik yang turut menyediakan sokongan untuk berbilang bahasa, memberikan pembangun pengalaman pembangunan yang lebih mudah. Artikel ini akan memperincikan cara menggunakan sokongan berbilang bahasa dalam rangka kerja PHPixie.
1. Tetapkan konfigurasi berbilang bahasa
Dalam rangka kerja PHPixie, kami perlu menetapkan beberapa konfigurasi untuk mendayakan sokongan berbilang bahasa. Mula-mula, kita perlu menambah konfigurasi berikut pada fail konfigurasi rangka kerja:
'languages' => array('en', 'zh'), 'language' => 'en',
Antaranya, languages
mentakrifkan senarai bahasa yang disokong dan language
menentukan bahasa lalai.
Seterusnya, kita perlu memuatkan fail berbilang bahasa yang diperlukan dalam fail app/Assets.php
:
class Assets extends PHPixieDefaultBundleAssets { protected function loadLocalization($bundle) { $file = $this->root.'/assets/translations/'.$this->mustacheBundleName($bundle).'.php'; $this->components->template()->helper('i18n', new i18n($file)); } }
Di sini kelas bernama i18n
digunakan untuk memuatkan fail berbilang bahasa. Apabila memuatkan satu fail berbilang bahasa, kita perlu menyimpan teks dalam fail bahasa ke dalam tatasusunan bersekutu supaya kita boleh memilih teks yang sepadan secara dinamik berdasarkan tetapan bahasa semasa. Mengambil bahasa Inggeris dan Cina sebagai contoh, kandungan berikut disimpan dalam assets/translations/en.php
dan assets/translations/zh.php
masing-masing:
return array( 'welcome' => 'Welcome', 'hello' => 'Hello', );
Dengan cara ini, kami telah melengkapkan konfigurasi berbilang bahasa.
2. Gunakan berbilang bahasa dalam paparan
Kini, kami telah menyediakan sokongan berbilang bahasa dan menyediakan fail berbilang bahasa. Seterusnya, kami perlu menggunakan fungsi berbilang bahasa dalam fail paparan kami. Pada pandangan, kita boleh menggunakan fungsi pembantu {{i18n}}
enjin templat Misai untuk sokongan berbilang bahasa. Sebagai contoh, kita boleh menggunakan sintaks berikut:
return array( 'welcome' => '欢迎', 'hello' => '你好', );
Ini akan mengembalikan teks yang berbeza berdasarkan tetapan bahasa semasa. Jika kami sedang menggunakan bahasa Inggeris, kembalikan Hello World
; jika kami menggunakan bahasa Cina, kembalikan 你好 世界
.
3. Tukar bahasa secara dinamik
Dalam rangka kerja PHPixie, kami juga boleh menukar bahasa secara dinamik. Sebagai contoh, kita boleh menambah parameter lang
pada URL dan menukar bahasa secara dinamik berdasarkan nilainya. Kita perlu menentukan penghala dalam Router
untuk mengendalikan parameter ini. Di sini kami menggunakan cara yang mudah (tetapi bukan cara terbaik) dengan menambahkan parameter lang
pada setiap pautan untuk menentukan bahasa yang hendak ditukar. Contohnya:
{{i18n "hello"}} {{i18n "world"}}
Apabila pengguna mengklik pautan seperti ini, kami boleh menetapkan bahasa pengguna semasa kepada en
(Bahasa Inggeris).
4. Ringkasan
Melalui langkah di atas, kami telah berjaya mendayakan sokongan berbilang bahasa dalam rangka kerja PHPixie dan menggunakan fungsi berbilang bahasa dalam fail paparan. Melalui fungsi penukaran bahasa dinamik, kami boleh membenarkan pengguna bebas memilih bahasa yang hendak digunakan, memberikan pengalaman pengguna yang lebih baik. Sudah tentu, dalam proses pembangunan sebenar, kami juga perlu mempertimbangkan sokongan berbilang bahasa yang lebih terperinci, termasuk tarikh dan masa, mata wang, nombor telefon, dll., tetapi kandungan ini berada di luar skop artikel ini.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan sokongan berbilang bahasa dalam rangka kerja PHPixie?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!