在Laravel 中建立多語言翻譯路由
在Laravel 應用程式中,您可以根據所選語言建立多語言路由,從而允許使用者- 友善的導航體驗。
第 1 步:配置語言目錄和翻譯
在 app/lang 下建立三個獨立的語言目錄(例如 pl、en、fr)。在每個目錄中,建立一個名為routes.php的文件,其中包含翻譯後的路由名稱:
<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>
第2步:設定語言設定
在app/config/app.php 中:
<code class="php">'locale' => 'pl', 'alt_langs' => ['en', 'fr'], 'locale_prefix' => '',</code>
第3 步:定義路由模式與語言相關群組
在app/routes.php中:
<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>
第4 步:處理未知URL
在app/start/global.php 中:
<code class="php">App::missing(function() { return Redirect::to(Config::get('app.locale_prefix'), 301); });</code>
以上是如何在 Laravel 中創建多語言翻譯路線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!