2017-07-25 36 views
0

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

谢谢。

回答

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; 
} 
相关问题