2010-07-28 18 views

Respuesta

78

Ver getLanguage in JFactory:

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

Una vez que tenga el idioma, también puede recuperar la configuración regional/idioma código (por ejemplo, en-US). Joomla! los idiomas pueden tener múltiples configuraciones regionales, por lo que obtendrá una matriz.

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

Si por alguna razón, solo está interesado en la primera configuración regional, simplemente puede tomar el primer elemento. Es probable que tenga una matriz, como esto:

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

Si lo que desea es obtener la etiqueta de idioma seleccionado (por ejemplo pt-PT) se puede utilizar getTag()

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

Gracias por ayudar a su trabajo – leonyx

+0

¿qué tal obtener el código de idioma? –

+0

@Ivan Slaughter: actualicé mi respuesta. – MvanGeest

0

En Joomla 3.4+ , la respuesta de @MvanGeest todavía funciona. He aquí una lista de funciones útiles que existen en el objeto de lenguaje:

  • conseguir una manija en el lenguaje corriente a través de un objeto de tipo JLanguage

    $currentLanguage = JFactory::getLanguage(); 
    
  • Obtener el nombre del idioma actual:

    $currentLanguageName = $currentLanguage->get('name'); 
    
    //OR 
    
    $currentLanguageName = $currentLanguage->getName(); 
    
  • Compruebe si RTL (que es el caso del idioma árabe y algunos otros idiomas)

    $isRTL = $currentLanguage->get('rtl'); 
    
    //OR 
    
    $isRTL = $currentLanguage->isRtl(); 
    
  • Obtener la etiqueta de idioma actual:

    $currentTag = $currentLanguage->get('tag'); 
    
    //OR 
    
    $currentTag = $currentLanguage->getTag(); 
    
  • obtener una lista de todos los idiomas conocidos:

    $arrLanguages = $currentLanguage->getKnownLanguages(); 
    
Cuestiones relacionadas