我知道如何在Symfony获取语言环境,例如$request->getLocale()
但我想以“locale_region”格式获取完整的语言环境,例如“en_US”等我目前的语言环境有en,fr,es等,但我希望获得完整的语言环境。我需要这个,因为我想翻译包含像//connect.facebook.net/en_US/
谢谢。
答案 0 :(得分:0)
我找到了答案here,稍稍调整一下它就有效了。
这是返回完整语言环境的函数。
private function getLocale($lang = "en")
{
$locs = array();
exec('locale -a', $locs);
$locale = 'en_US';
foreach ($locs as $l)
{
$regex = "/$lang\_[A-Z]{2}$/";
if(preg_match($regex, $l))
{
$locale = $l;
break;
}
}
return $locale;
}