我知道如何在 Symfony 中获取语言环境,例如$request->getLocale()
,但我想以“locale_region”格式获得完整的语言环境,例如“en_US”等。我目前的语言环境是 en、fr、es 等,但我想获得完整的语言环境。我需要这个,因为我想翻译包含这样代码的 Facebook 分享按钮//connect.facebook.net/en_US/
谢谢你。
我知道如何在 Symfony 中获取语言环境,例如$request->getLocale()
,但我想以“locale_region”格式获得完整的语言环境,例如“en_US”等。我目前的语言环境是 en、fr、es 等,但我想获得完整的语言环境。我需要这个,因为我想翻译包含这样代码的 Facebook 分享按钮//connect.facebook.net/en_US/
谢谢你。
我在这里找到了答案,稍微调整了一下,它就起作用了。
这是返回完整语言环境的函数。
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;
}