2010-07-28 5 views

Répondre

78

Voir getLanguage in JFactory:

$lang = JFactory::getLanguage(); 
echo 'Current language is: ' . $lang->getName(); 

Une fois que vous avez la langue, vous pouvez également récupérer les paramètres régionaux/langue code (par exemple en-US). Joomla! les langues peuvent avoir plusieurs locales, donc vous aurez un tableau.

$lang = JFactory::getLanguage(); 
foreach($lang->getLocale() as $locale) { 
    echo 'This language supports the locale: ' . $locale; 
} 

Si pour une raison quelconque, vous êtes uniquement intéressé par le premier paramètre régional, vous pouvez simplement saisir le premier élément. Vous aurez probablement besoin d'un tableau, comme ceci:

$lang = JFactory::getLanguage(); 
$locales = $lang->getLocale(); 
echo 'This language\'s first locale is: ' . $locales[0]; 

Si vous voulez juste pour obtenir l'étiquette de langue sélectionnée (par exemple pt-PT), vous pouvez utiliser getTag()

$lang = JFactory::getLanguage(); 
echo 'Current language is: ' . $lang->getTag(); 
+0

Thanx pour aider son travail – leonyx

+0

que diriez-vous d'obtenir le code de langue? –

+0

@Ivan Slaughter: J'ai mis à jour ma réponse. – MvanGeest

0

Dans Joomla 3.4+ , la réponse de @MvanGeest fonctionne toujours. Voici une liste des fonctions utiles qui existent sur l'objet de la langue:

  • obtenir une poignée sur la langue courante par un objet de type JLanguage

    $currentLanguage = JFactory::getLanguage(); 
    
  • Obtenez le nom de la langue actuelle:

    $currentLanguageName = $currentLanguage->get('name'); 
    
    //OR 
    
    $currentLanguageName = $currentLanguage->getName(); 
    
  • Vérifiez si RTL (ce qui est le cas de la langue arabe et d'autres langues)

    $isRTL = $currentLanguage->get('rtl'); 
    
    //OR 
    
    $isRTL = $currentLanguage->isRtl(); 
    
  • Obtenez le tag langue actuelle:

    $currentTag = $currentLanguage->get('tag'); 
    
    //OR 
    
    $currentTag = $currentLanguage->getTag(); 
    
  • obtenir une liste de toutes les langues connues:

    $arrLanguages = $currentLanguage->getKnownLanguages(); 
    
Questions connexes