Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencipta Laluan Terjemahan Berbilang Bahasa dalam Laravel?

Bagaimana untuk Mencipta Laluan Terjemahan Berbilang Bahasa dalam Laravel?

Barbara Streisand
Barbara Streisandasal
2024-11-04 03:01:30155semak imbas

How to Create Multilingual Translated Routes in Laravel?

Mencipta Laluan Terjemahan Berbilang Bahasa dalam Laravel

Dalam aplikasi Laravel, anda boleh mencipta laluan berbilang bahasa yang bergantung pada bahasa yang dipilih, membenarkan pengguna -pengalaman navigasi yang mesra.

Langkah 1: Konfigurasikan Direktori dan Terjemahan Bahasa

Buat tiga direktori bahasa berasingan di bawah app/lang (cth., pl, en, fr). Dalam setiap direktori, cipta fail bernama route.php yang mengandungi nama laluan yang diterjemahkan:

<code class="php">// app/lang/pl/routes.php
return array(
    'contact' => 'kontakt',
    'about' => 'o-nas'
);</code>
<code class="php">// app/lang/en/routes.php
return array(
    'contact' => 'contact',
    'about' => 'about-us'
);</code>
<code class="php">// app/lang/fr/routes.php
return array(
    'contact' => 'contact-fr',
    'about' => 'about-fr'
);</code>

Langkah 2: Konfigurasikan Tetapan Bahasa

Dalam app/config/app.php:

  • Tetapkan 'locale' kepada bahasa lalai anda (cth., 'pl').
  • Sertakan senarai bahasa alternatif dalam 'alt_langs ' (cth., ['en', 'fr']).
  • Biar 'locale_prefix' kosong untuk awalan bahasa lalai.
<code class="php">'locale' => 'pl',
'alt_langs' => ['en', 'fr'],
'locale_prefix' => '',</code>

Langkah 3: Tentukan Corak Laluan dan Kumpulan Bergantung Bahasa

Dalam app/routes.php:

  • Jika segmen pertama URL sepadan dengan bahasa alternatif, kemas kini locale dan locale_prefix .
  • Tetapkan corak laluan berdasarkan terjemahan bahasa semasa.
  • Buat kumpulan laluan dengan awalan bahasa digunakan.
<code class="php">if (in_array(Request::segment(1), Config::get('app.alt_langs'))) {

    App::setLocale(Request::segment(1));
    Config::set('app.locale_prefix', Request::segment(1));
}

foreach(Lang::get('routes') as $k => $v) {
    Route::pattern($k, $v);
}

Route::group(array('prefix' => Config::get('app.locale_prefix')), function() {

    Route::get('/', function () {
        return "main page - ".App::getLocale();
    });

    Route::get('/{contact}/', function () {
        return "contact page ".App::getLocale();
    });

    Route::get('/{about}/', function () {
        return "about page ".App::getLocale();
    });

});</code>

Langkah 4 : Mengendalikan URL Tidak Diketahui

Dalam app/start/global.php:

  • Ubah hala mana-mana URL yang tidak diketahui ke awalan bahasa yang betul dengan kod status 301:
<code class="php">App::missing(function() {
   return Redirect::to(Config::get('app.locale_prefix'), 301);
});</code>

Dengan melaksanakan langkah ini, anda akan mencipta laluan dinamik yang menyesuaikan diri dengan bahasa yang dipilih, memastikan pengalaman pengguna yang lancar merentas berbilang bahasa.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Laluan Terjemahan Berbilang Bahasa dalam Laravel?. 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