Rumah >rangka kerja php >Laravel >Pengantarabangsaan dan penyetempatan di Laravel: memenuhi keperluan bahasa dan wilayah yang berbeza
Pengantarabangsaan dan Penyetempatan dalam Laravel: Memenuhi Keperluan Bahasa dan Wilayah Berbeza
Dalam era perhubungan global hari ini, ia menjadi semakin penting untuk membangunkan aplikasi yang menyokong berbilang bahasa dan wilayah. Sebagai rangka kerja PHP sumber terbuka, Laravel menyediakan fungsi pengantarabangsaan dan penyetempatan yang kaya, membolehkan pembangun menyesuaikan aplikasi dengan mudah kepada keperluan bahasa dan wilayah yang berbeza. Artikel ini akan memperkenalkan cara menggunakan fungsi ini dalam Laravel.
1. Konfigurasikan fail bahasa
Pertama, kita perlu mengkonfigurasi fail bahasa. Laravel menggunakan fail format JSON sebagai fail terjemahan Untuk setiap bahasa, terdapat fail JSON yang sepadan. Secara lalai, fail ini disimpan dalam direktori sumber/lang. Kita boleh mencipta subdirektori dalam bahasa berbeza di bawah direktori ini seperti yang diperlukan, seperti en (Bahasa Inggeris) dan zh-CN (Cina Ringkas).
Seterusnya, kita perlu mencipta fail bahasa. Dalam subdirektori bahasa yang sepadan, buat fail JSON baharu, seperti en.json. Dalam fail ini, kami boleh mentakrifkan pasangan nilai kunci terjemahan yang berbeza, contohnya:
{
"selamat datang": "Selamat datang ke tapak web kami",
"contact_us": "Hubungi Kami"
}
2. Gunakan terjemahan
Setelah fail bahasa dikonfigurasikan, kami boleh menggunakan terjemahan yang sepadan dalam aplikasi. Untuk melihat fail, anda boleh menggunakan arahan @lang yang disediakan oleh Laravel untuk terjemahan. Contohnya:
<meta charset="UTF-8"> <title>@lang('welcome')</title>
<h1>@lang('welcome')</h1> <p>@lang('contact_us')</p>
Dalam contoh di atas, kami menggunakan arahan @lang untuk menterjemah "welcome_us" dan "contactly" teks bahasa. Berdasarkan tetapan bahasa pengguna, Laravel secara automatik memilih teks terjemahan yang betul untuk pemaparan.
Jika anda ingin menterjemah dalam pengawal atau model, anda boleh menggunakan kaedah trans yang disediakan oleh Laravel. Contohnya:
indeks fungsi awam()
{
$selamat datang = trans('selamat datang');
$contactUs = trans('contact_us');
return view('welcome', compact('welcome', 'contactUs ' ));
}
Dalam kod di atas, kami menetapkan teks yang diterjemahkan kepada pembolehubah melalui kaedah trans, dan kemudian menghantar pembolehubah ini kepada paparan.
3. Penukaran bahasa dinamik
Selain terjemahan bahasa statik, Laravel juga menyediakan fungsi penukaran bahasa dinamik. Ini bermakna pengguna boleh memilih bahasa yang berbeza secara dinamik dalam aplikasi. Untuk mencapai fungsi ini, kita perlu menetapkan tempat aplikasi.
Dalam fail config/app.php, anda boleh mencari tatasusunan locales. Dalam tatasusunan, tambahkan kod bahasa yang disokong dan nama yang sepadan, contohnya:
'locales' => ]
Kemudian, di mana anda perlu menukar bahasa, anda boleh menggunakan kaedah setLocale yang disediakan oleh Laravel untuk menetapkan setempat. Contohnya:
{
App::setLocale($locale); return redirect()->back();
}
Dalam kod di atas, kami menetapkan tempat melalui kaedah setLocale , dan gunakan kaedah ubah hala untuk mengubah hala pengguna ke halaman sebelumnya.
<meta charset="UTF-8"> <title>@lang('welcome')</title>
<h1>@lang('welcome')</h1> <p>@lang('contact_us')</p>
indeks fungsi awam()
{
$welcome = trans('welcome'); $contactUs = trans('contact_us'); return view('welcome', compact('welcome', 'contactUs'));
Atas ialah kandungan terperinci Pengantarabangsaan dan penyetempatan di Laravel: memenuhi keperluan bahasa dan wilayah yang berbeza. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!