Rumah > rangka kerja php > ThinkPHP > teks badan

Menggunakan Pengantarabangsaan dalam ThinkPHP6

PHPz
Lepaskan: 2023-06-20 13:11:26
asal
1160 orang telah melayarinya

Dengan proses globalisasi, semakin banyak laman web dan aplikasi perlu menyokong berbilang bahasa untuk menarik pengguna dan pelanggan multinasional. ThinkPHP6 menyediakan fungsi pengantarabangsaan yang berkuasa, membolehkan pembangun melaksanakan sokongan berbilang bahasa dengan mudah. Artikel ini akan memperkenalkan langkah dan teknik untuk menggunakan Pengantarabangsaan dalam ThinkPHP6.

  1. Konfigurasikan pek bahasa

Dalam ThinkPHP6, pek bahasa adalah untuk mengklasifikasikan semua teks yang perlu diterjemahkan dalam aplikasi dan menyimpannya ke fail tertentu, menjadikan kami Apl boleh menukar versi bahasa dengan mudah. Dalam fail app.php dalam direktori konfigurasi, terdapat pilihan 'lang_switch_on', kami menetapkannya kepada benar untuk mendayakan ciri pek bahasa.

'lang_switch_on' => benar,

Seterusnya, kita perlu mencipta fail lang.php dalam direktori konfigurasi untuk mengkonfigurasi pek bahasa kita. Kandungan sampel adalah seperti berikut:

kembali [

'zh-cn' => [
    'name' => '姓名',
    'age' => '年龄',
    'email' => '邮箱'
],
'en-us' => [
    'name' => 'Name',
    'age' => 'Age',
    'email' => 'Email'
]
Salin selepas log masuk

];

Dalam kod di atas, kami menetapkan dua versi bahasa dalam tatasusunan pek bahasa: Chinese Simplified (' zh- cn') dan Inggeris ('en-us'), setiap versi bahasa mempunyai teks terjemahannya sendiri seperti nama ('nama'), umur ('umur') dan alamat e-mel ('e-mel').

  1. Menggunakan fungsi Lang helper

Setelah pek bahasa dikonfigurasikan, kami boleh menggunakan fungsi Lang helper untuk merujuk teks terjemahan dalam aplikasi. Fungsi pembantu Lang menyediakan tiga parameter: nama kunci pakej bahasa, pembolehubah penggantian dan versi bahasa. Kod sampel adalah seperti berikut:

//Dapatkan versi bahasa semasa
$lang = Lang::getLangSet();

//Gunakan fungsi pembantu Lang untuk mendapatkan terjemahan text
echo Lang: :get('name', [], $lang);

Dalam kod di atas, kami mula-mula menggunakan fungsi Lang::getLangSet() untuk mendapatkan versi bahasa semasa, dan kemudian panggil fungsi Lang::get() untuk mendapatkan teks nama yang diterjemahkan dalam versi bahasa yang sepadan. Oleh kerana kita tidak mempunyai pembolehubah penggantian, parameter kedua ialah tatasusunan kosong.

Jika kita mahu menggunakan fungsi pembantu Lang dalam fail paparan, kita boleh menggunakan sintaks berikut:

{{$lang = Lang::getLangSet()}}
{ {$name = Lang::get('name', [], $lang)}}
{{$age = Lang::get('umur', [], $lang)}}
{ {$email = Lang::get('email', [], $lang)}}

  1. Melaksanakan penghalaan berbilang bahasa

Selain menggunakan Lang fungsi pembantu untuk rujukan Untuk menterjemah teks, kita juga boleh mencapai sokongan berbilang bahasa melalui penghalaan. Untuk melaksanakan penghalaan berbilang bahasa, kita mesti mengkonfigurasi peraturan penghalaan yang sepadan.

Gunakan kumpulan laluan (Route::group) dengan '/lang/:lang' sebagai awalan, dengan ':lang' mewakili versi bahasa. Kod sampel adalah seperti berikut:

Route::group(':lang', function () {

//这里写你的路由规则
Salin selepas log masuk

})->ext('html')->pattern( 'lang' , '^[a-z]{2}-(?:[A-Z]{2})?$');

Dalam kod di atas, kami menggunakan ':lang' sebagai awalan dan kemudian tentukan ungkapan biasa untuk dipadankan dengan versi bahasa. Akhir sekali, tetapkan pilihan 'ext' untuk membenarkan laluan menyokong penghuraian akhiran automatik dan tetapkan pilihan 'corak' untuk mengehadkan format versi bahasa.

Apabila pengguna mengakses '/', kami boleh mengubah hala mereka ke versi bahasa lalai laluan, seperti '/zh-cn/home'. Kami juga boleh menetapkan parameter dalam peraturan penghalaan untuk sokongan berbilang bahasa yang lebih baik. Kod sampel adalah seperti berikut:

Route::get(':lang/home', 'home/index');

Dalam kod di atas, kami menetapkan ':lang/ peraturan penghalaan home', memetakannya ke pengawal dan tindakan 'home/index'. Dengan cara ini, apabila pengguna mengakses 'zh-cn/home' dan 'en-us/home', mereka akan dihalakan secara automatik ke operasi pengawal yang sepadan.

Kesimpulan

Menggunakan Pengantarabangsaan dalam ThinkPHP6, sokongan berbilang bahasa boleh dicapai dengan mudah. Dengan mengkonfigurasi pek bahasa, menggunakan fungsi pembantu Lang dan melaksanakan penghalaan berbilang bahasa, kami boleh mencipta aplikasi yang benar-benar global yang menarik lebih ramai pengguna dari negara dan wilayah yang berbeza.

Atas ialah kandungan terperinci Menggunakan Pengantarabangsaan dalam ThinkPHP6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan