我的应用的用户可以在其设置面板中设置首选的区域设置。就我而言,它是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在我的用户设置的情况下。