Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Membuat Laluan 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:
<code class="php"><?php // app/lang/pl/routes.php return array( 'contact' => 'kontakt', 'about' => 'o-nas' );</code>
<code class="php"><?php // app/lang/en/routes.php return array( 'contact' => 'contact', 'about' => 'about-us' );</code>
<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:
<code class="php">'locale' => 'pl',</code>
<code class="php">'alt_langs' => array('en', 'fr'),</code>
<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!