Rumah >rangka kerja php >ThinkPHP >thinkphp melaksanakan pertukaran antara bahasa Cina dan Inggeris
Dengan pecutan globalisasi, semakin banyak laman web perlu menyediakan fungsi penukaran bahasa Cina dan Inggeris untuk menyesuaikan diri dengan keperluan pengguna yang berbeza. Dalam pembangunan laman web, cara menggunakan rangka kerja praktikal untuk melaksanakan fungsi pensuisan ini telah menjadi tumpuan penyelidikan pemaju yang tidak terkira banyaknya. Artikel ini akan menggunakan rangka kerja thinkphp untuk memperkenalkan cara menggunakannya untuk bertukar antara bahasa Cina dan Inggeris.
1. Tetapan pek bahasa
Kami tahu bahawa pengurusan pek bahasa dalam thinkphp diuruskan dalam bentuk pasangan nilai kunci, dengan nama kunci adalah pemalar dalam bahasa dan kunci nilai ialah rentetan yang sepadan dengan pemalar. Oleh itu, kami menyediakan dua pek bahasa dahulu: satu pek bahasa Cina dan satu lagi pek bahasa Inggeris. Apa yang saya sediakan di sini ialah dua pek bahasa, zh-cn dan en-us, zh-cn ialah pek bahasa Cina, dan en-us ialah pek bahasa Inggeris. Direktori akar mereka adalah betul-betul sama dengan direktori aplikasi, seperti yang ditunjukkan di bawah:
├─application │ ├─en-us │ │ └─lang.php │ └─zh-cn │ └─lang.php └─...
Antaranya, format fail lang.php adalah seperti berikut:
<?php return [ 'key' => 'value', 'hello' => '你好', 'world' => '世界', ];
Di sini saya menambah 'hello ' => 'Hello' dan 'world' => 'Dunia' ialah dua pemalar, masing-masing sepadan dengan kandungan dalam pek bahasa Cina dan pek bahasa Inggeris. Dengan cara ini, kita boleh menukar dan menggunakan kedua-dua pakej bahasa ini bersama-sama melalui rangka kerja thinkphp.
2. Operasi penukaran bahasa Cina dan Inggeris
Kami boleh merangkum operasi penukaran bahasa Cina dan Inggeris dalam pengawal untuk memudahkan penukaran antara pandangan yang berbeza. Di sini saya mencipta pengawal Bahasa dan menambah kaedah operasi switch_lang Kodnya adalah seperti berikut:
namespace appindexcontroller; use thinkController; class Language extends Controller { public function switch_lang($lang = 'zh-cn') { if ($lang == 'en-us') { cookie('think_var', 'en-us', 3600); } else { cookie('think_var', 'zh-cn', 3600); } return $this->redirect($_SERVER['HTTP_REFERER']); } }
Kaedah ini akan mula-mula mendapatkan parameter pensuisan bahasa $lang disimpan dalam kuki. Tetapkan think_var kepada 'en-us', yang bermaksud bertukar kepada pek bahasa Inggeris jika tidak, tetapkan think_var kepada 'zh-cn', yang bermaksud bertukar kepada pek bahasa Cina. Kemudian gunakan kaedah ubah hala untuk mengubah hala ke halaman yang dilawati sebelum ini supaya pengguna boleh melihat kesan penukaran bahasa dalam masa nyata.
3. Lihat penukaran bahasa
Dengan pek bahasa dan pengawal penukaran bahasa, kita boleh menggunakan fungsi lang yang disertakan dengan thinkphp untuk menukar bahasa dalam fail paparan. Fungsi lang akan memperoleh kandungan pek bahasa yang sepadan berdasarkan nilai think_var. Sebagai contoh, kami menambah kod berikut pada fail paparan:
<button><a href="{:url('language/switch_lang', ['lang' => cookie('think_var') == 'zh-cn' ? 'en-us' : 'zh-cn'])}">{$lang.button}</a></button>
Dalam kod ini, kami menggunakan fungsi url untuk menjana pautan penukaran bahasa dan menukar think_var dalam kuki kepada rentetan Cina dan Inggeris kepada laksanakan Paparan butang Bahasa Cina dan Inggeris. Pada masa yang sama, kami juga memperoleh pemalar butang dalam pakej bahasa lang, yang digunakan untuk memaparkan teks dalam bahasa Cina dan Inggeris pada butang. Dengan cara ini, selepas pengguna mengklik butang, logik penukaran bahasa telah diproses dalam pengawal. Fail paparan akan secara automatik mendapatkan kandungan pek bahasa yang sepadan berdasarkan nilai think_var dalam kuki dan memaparkannya kepada pengguna.
Kesimpulan
Artikel ini menerangkan terutamanya cara menggunakan rangka kerja thinkphp untuk melaksanakan fungsi penukaran bahasa Cina dan Inggeris. Melalui tetapan pek bahasa, operasi penukaran bahasa dan operasi penukaran bahasa lihat, kami boleh melaksanakan fungsi penukaran bahasa Cina dan Inggeris asas dengan mudah. Sudah tentu, kita boleh menambah baik lagi fungsi ini, seperti menggunakan pangkalan data untuk menyimpan jenis bahasa di negara yang berbeza, menggunakan kaedah pengurusan pek bahasa yang lebih fleksibel, dan sebagainya. Walau apa pun, semasa proses pembangunan sebenar, kami perlu menyediakan pengguna dengan fungsi penukaran bahasa yang sangat baik sebanyak mungkin untuk memenuhi keperluan pengguna dengan latar belakang bahasa yang berbeza.
Atas ialah kandungan terperinci thinkphp melaksanakan pertukaran antara bahasa Cina dan Inggeris. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!