Rumah >rangka kerja php >Laravel >Pengantarabangsaan dan penyetempatan di Laravel: memenuhi keperluan bahasa dan wilayah yang berbeza

Pengantarabangsaan dan penyetempatan di Laravel: memenuhi keperluan bahasa dan wilayah yang berbeza

王林
王林asal
2023-08-26 16:21:261344semak imbas

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:

suis fungsi awamLocale($locale)

{

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.

Melalui langkah di atas, kami boleh melaksanakan fungsi menukar bahasa secara dinamik dalam aplikasi Laravel.

Kesimpulan

Ciri pengantarabangsaan dan penyetempatan Laravel membolehkan pembangun memenuhi keperluan bahasa dan wilayah yang berbeza dengan mudah. Dengan mengkonfigurasi fail bahasa, menggunakan arahan atau kaedah terjemahan, dan melaksanakan penukaran bahasa dinamik, kami boleh membina aplikasi global. Sama ada anda sedang membangunkan produk untuk pasaran global atau menyesuaikan aplikasi untuk pengguna di wilayah tertentu, fungsi pengantarabangsaan dan penyetempatan Laravel boleh memberikan sokongan yang baik.

Kod rujukan:

<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!

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