2017-07-25 1 views
0

Je sais comment obtenir des paramètres régionaux dans Symfony, par exemple. $request->getLocale() mais je souhaite obtenir les paramètres régionaux complets au format "locale_region", par exemple. "en_US" etc. J'ai actuellement les locales dites en, fr, es etc. mais je veux obtenir les paramètres régionaux complets. J'ai besoin de cela parce que je veux traduire le bouton de partage de Facebook qui contient le code comme ceci //connect.facebook.net/en_US/Comment obtenir une localisation complète dans Symfony3?

Merci.

Répondre

0

J'ai trouvé la réponse here, je l'ai un peu ajustée et cela a fonctionné.

Ceci est la fonction qui renvoie l'environnement local complet.

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; 
}