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

Bagaimana untuk Membuat Laluan Berbilang Bahasa dalam Laravel?

DDD
DDDasal
2024-11-03 21:22:29139semak imbas

How to Create Multilingual Routes in Laravel?

Cara Membuat Laluan Terjemahan Berbilang Bahasa dalam Laravel

Pengenalan

Laluan penterjemahan adalah penting untuk mencipta aplikasi berbilang bahasa. Dalam Laravel, ada kemungkinan untuk mempunyai berbilang bahasa dan menukar bahasa secara dinamik berdasarkan URL. Artikel ini menerangkan cara untuk melaksanakan laluan terjemahan berbilang bahasa dalam Laravel menggunakan kaedah pertama yang digariskan dalam artikel rujukan.

Langkah 1: Terjemah Laluan

Buat tiga fail route.php dalam direktori app/lang untuk setiap bahasa (cth., pl/routes.php, en/routes.php dan fr/routes.php). Di dalam setiap fail, terjemah nama laluan:

  • Poland:
<code class="php"><?php
// app/lang/pl/routes.php

return array(

    'contact' => 'kontakt',
    'about' => 'o-nas'
);</code>
  • Bahasa Inggeris:
<code class="php"><?php
// app/lang/en/routes.php

return array(
    'contact' => 'contact',
    'about' => 'about-us'
);</code>
  • Bahasa Perancis:
<code class="php"><?php
// app/lang/fr/routes.php

return array(
    'contact' => 'contact-fr',
    'about' => 'about-fr'
);</code>

Langkah 2: Konfigurasikan Tetapan Bahasa

Kemas kini fail app/config/app.php:

  • Tetapkan bahasa utama:
<code class="php">'locale' => 'pl',</code>
  • Senaraikan bahasa alternatif:
<code class="php">'alt_langs' => array('en', 'fr'),</code>
  • Tentukan awalan setempat:
<code class="php">'locale_prefix' => '',</code>

Langkah 3: Tentukan Corak Laluan

Dalam apl/ routes.php, sediakan corak laluan berdasarkan terjemahan bahasa:

<code class="php"><?php
// app/routes.php

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

Langkah 4: Kumpulan Laluan mengikut Tempatan

Buat kumpulan laluan dengan awalan yang sama ke tempat yang dipilih:

<code class="php"><?php
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 5: Tangani Ubah Hala

Dalam app/start/global.php, buat ubah hala 301 untuk URL yang tidak diketahui ke yang betul bahasa:

<code class="php"><?php
// app/start/global.php

App::missing(function() {
   return Redirect::to(Config::get('app.locale_prefix'), 301);
});</code>

Atas ialah kandungan terperinci Bagaimana untuk Membuat Laluan 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