あなたは、ミドルウェアを作成し、翻訳を必要とするすべてのルートを保持するグループに追加する必要があります。ミドルウェアでは、セッションから言語をチェックして、現在のリクエストがそれを使用できるように設定してください。
public function handle($request, Closure $next)
{
if(!Session::has('locale')){
$browserLanguage = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); //read browser language
if (array_key_exists($browserLanguage, Config::get('languages'))) {
Session::set('locale', $browserLanguage);
} else {
Session::set('locale', 'en');
}
}
//Simply set language from session
App::setlocale(Session::get('locale'));
return $next($request);
}
あなたが確信している場合、ユーザは、特定の言語を選択したい、あなたが彼らに利用可能な言語のリストを与える、テーブルについては、その後のセッションに選択した言語を設定し
if (array_key_exists($language, Config::get('languages'))) {
Session::set('locale', $language);
}
`string_key(インデックス化、ユニークな)、LANG_ID:あなただけ、あなたは4列
key en fr es
hi hi salut ola
私は通常フィールドで、' app_strings'テーブルを持っているんなことの一つに、単一のテーブルを作成することができ、3つの言語を持っていますとテxt'。実際の値テーブルでは、私はstring_keyだけを格納します。選択した言語に応じて、ヘルパーメソッドを使用して適切なテキストを取得します。例: '{{app_trans($ product-> name)}}' - ここに '$ product-> name'は文字列キーを含んでいます。 – techfoobar
@techfoobarありがとう、私はそれを試してみよう! –