はじめに
ルートの翻訳は、多言語アプリケーションを作成するために不可欠です。 Laravel では、複数の言語を使用し、URL に基づいて言語を動的に切り替えることができます。この記事では、参考記事で概説されている最初の方法を使用して、Laravel で多言語に翻訳されたルートを実装する方法について説明します。
ステップ 1: ルートを翻訳する
3 つの Routes.php ファイルを作成する各言語の app/lang ディレクトリ (pl/routes.php、en/routes.php、fr/routes.php など)。各ファイル内でルート名を翻訳します:
<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>
ステップ 2: 言語設定を構成する
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>
ステップ 3: ルート パターンを定義する
アプリ内/ Routes.php、言語翻訳に基づいてルート パターンを設定します:
<code class="php"><?php // app/routes.php foreach(Lang::get('routes') as $k => $v) { Route::pattern($k, $v); }</code>
ステップ 4: ロケールごとにルートをグループ化する
次のプレフィックスを持つルート グループを作成する選択したロケールへ:
<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>
ステップ 5: リダイレクトの処理
app/start/global.php で、不明な URL から正しい URL への 301 リダイレクトを作成します。言語:
<code class="php"><?php // app/start/global.php App::missing(function() { return Redirect::to(Config::get('app.locale_prefix'), 301); });</code>
以上がLaravelで多言語ルートを作成するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。