2016-06-16 9 views
0

laravel 5.2でブラウザのロケールをエコーし​​ます。はどのようにブレードを使用して、私のhtmlタグで現在の設定ロケールをエコーし​​たい

+0

ユーザーのロケールを検出する場合は、http://php.net/manual/en/locale.acceptfromhttp.phpを参照してください。あなたは常にそれに頼ることができないことを知っているだけです。 – jszobody

+0

あなたのララールアプリケーションに設定されているロケールを意味しますか? –

+0

今のところ私はブラウザのロケールを知りたいだけですが、今はlaravelアプリケーションを知っていると便利だと思います –

答えて

1

ようになり、あなたはそれらを取得するためにrequest()->server('HTTP_ACCEPT_LANGUAGE')を使用することができます。

そして、あなたはあなたのLaravelアプリケーション内で設定されているロケールを求めているならば、あなたはこのようにそれを得ることができます:config()->get('locale')

そして、あなたはあなたのLaravelブレードにテンプレート名を取得したい場合は、ちょうどこのように使用:

// allow $view_name in views 
View::composer('*', function ($view) { 

    View::share('view_name', $view->getName()); 

}); 
+0

ありがとう!しかし、コードを入れるのに最も良いクラスは何ですか? AppServiceProvider - >ブート?ララヴェルにはもっと良いクラスがありますか? –

+0

Laravelのドキュメントに従って、別個のサービスプロバイダを使用してビューコンポーザを登録することができます。詳細:https://laravel.com/docs/5.2/views#view-composers –

0

上記の@jszobodyに加えて、javacriptとjstz packageを使用してロケールを見つけることもできます。あなたは、クライアントのブラウザに設定されたロケールを求めている場合は、jQueryのがインストールされていると仮定すると、あなたのコードは次のよう

<script> 
    $(function() { 
     $('html').attr('lang', jstz.determine().locale()); 
    } 
</script> 
関連する問題