0

我知道如何在 Symfony 中获取语言环境,例如$request->getLocale(),但我想以“locale_region”格式获得完整的语言环境,例如“en_US”等。我目前的语言环境是 en、fr、es 等,但我想获得完整的语言环境。我需要这个,因为我想翻译包含这样代码的 Facebook 分享按钮//connect.facebook.net/en_US/

谢谢你。

4

1 回答 1

0

我在这里找到了答案,稍微调整了一下,它就起作用了。

这是返回完整语言环境的函数。

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;
}
于 2017-07-25T07:22:19.987 回答