これを使用すると、プレフィックスを使用してさまざまな言語のパスを簡単に作成できます。たとえば、次を使用して、同じルートへのページ ルートとURLroutes.php
について作成できます。about
pl/o-nas
if (\Request::segment(1) =='pl') {
$prefix ='pl';
\App::setLocale('pl');
}
else{
$prefix ='';
\App::setLocale('en');
}
Route::group(
array('prefix' => $prefix,
function () {
Route::any('/'.trans('routes.about'), 'Controller@action');
}
);
しかし、ご存知のように、Laravel 5 はデフォルトでアノテーションを使用します。注釈を使用して同じことを達成することは可能ですか? 現時点では、Laravel 5 でのアノテーションの使用に関する情報はあまりありません。
RouteServiceProver
最初に同様のコードをbefore
メソッドに追加できます。
if (\Request::segment(1) =='en') {
$routePrefix ='';
$this->app->setLocale('en');
}
else{
$routePrefix ='pl';
$this->app->setLocale('pl');
}
しかし、この接頭辞と翻訳を注釈自体で使用する方法と、ここでトランス関数を使用する方法は? このようなものにする必要がありますが、関数を単に注釈に入れることはできず、ここに接頭辞を追加する方法があるかどうかわからないため、明らかに機能しません。
/**
* @Get("/trans('routes.about')")
* @prefix: {$prefix}
*/
public function about()
{
return "about page";
}