如何在用户设置中设置强制区域设置否决浏览器检测到的区域设置 - laravel

时间:2015-10-28 13:49:03

标签: php laravel browser locale laravel-5.1

我的应用的用户可以在其设置面板中设置首选的区域设置。就我而言,它是pl。 但是,当我在浏览器中使用应用程序作为已登录用户时,区域设置的首选项不包含pl或在en下方,我看到英文翻译。

我的问题: 如何让浏览器观察用户设置的语言环境?或者......如何强制应用切换到用户首选的语言环境?

注意:我不希望区域设置代码显示在URL中。

想象一下这种情况:

(经常发生在我身上)我坐在中国的网咖中。我被迫在浏览器设置中使用没有定义波兰语的浏览器(' pl')。

我的应用正在将显示的语言切换为' zw'或者' en'。换句话说,如果我很幸运,trans('messages.xxxx)会被翻译成中文或英文。 即使我已经登录并且我在Laravel应用程序中定义了我的优先语言环境是' pl。

在我的应用程序和config/app.php中,我已经定义了上述所有语言,而后备是波兰语。

    'locale' => 'pl','en','es','de','zw-tw',
    'available_language' => array('pl','en','es','de','zw-tw'), 
    'fallback_locale' => 'pl',

但是,当浏览器强制使用自己的语言环境时,显示的翻译要么不一致(somme来自后备,有些来自中文)...还有NONE来自我希望在记录时使用的语言,即{{1在我的用户设置的情况下。

0 个答案:

没有答案