次のようなルートでトランス (Lang::get) を使用しています。
...
Route::get(trans('url.news'), 'NewsController@index');
...
また、固定言語の Web サイトでうまく機能しています。
今、ドメイン .tld に基づいてミドルウェアの言語を切り替えています
// app/Http/Middleware/Localization.php
public function handle($request, Closure $next)
{
$domain = substr(Request::server('HTTP_HOST'),strpos(Request::server('HTTP_HOST'), '.')+1);
case "domain.com":
App::setLocale('en');
\Session::put('connection', 'db_en');
break;
case "domain.fr":
App::setLocale('fr');
\Session::put('connection', 'db_fr');
break;
}
return $next($request);
}
ルート翻訳を含む url.php ファイルがあります。
// resources/lang/en/url.php
return [
....
'products' => 'products'
....
];
// resources/lang/fr/url.php
return [
....
'products' => 'nos-produits'
....
];
ルートの後にミドルウェアが処理されるように見えることを除いて、すべてがうまく機能しています (そして、ミドルウェアで選択されたものの代わりにデフォルトの言語ファイルがロードされます)。これを修正するために何かできることはありますか?
たとえば、AppServiceProvider.phpでそれを実行してもよろしいですか?