Как определить текущий язык Joomla!Веб-сайт? - PullRequest
36 голосов
/ 28 июля 2010

Я просто хочу сгенерировать код, который будет определять текущий язык моего сайта в joomla + php

Ответы [ 2 ]

91 голосов
/ 28 июля 2010

См. getLanguage в JFactory :

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

Если у вас есть язык, вы также можете получить код локали / языка (например, en-US).Joomla!языки могут иметь несколько локалей, поэтому вы получите массив.

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

Если по какой-то причине вас интересует только первая локаль, вы можете просто получить первый элемент.Вам, вероятно, понадобится массив, например:

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

Если вы просто хотите получить выбранный языковой тег (например, pt-PT), вы можете использовать getTag ()

$lang = JFactory::getLanguage();
echo 'Current language is: ' . $lang->getTag();
3 голосов
/ 11 ноября 2015

В Joomla 3.4+ ответ от @MvanGeest все еще работает.Вот список полезных функций, которые существуют в объекте языка:

  • Получить дескриптор текущего языка через объект типа JLanguage

    $currentLanguage = JFactory::getLanguage();
    
  • Получить имя текущего языка:

    $currentLanguageName = $currentLanguage->get('name');
    
    //OR
    
    $currentLanguageName = $currentLanguage->getName();
    
  • Проверить, если RTL (как в случае с арабским языком и некоторыми другими языками)

    $isRTL = $currentLanguage->get('rtl');
    
    //OR
    
    $isRTL = $currentLanguage->isRtl();
    
  • Получить текущий языковой тег:

    $currentTag = $currentLanguage->get('tag');
    
    //OR
    
    $currentTag = $currentLanguage->getTag();
    
  • Получить список всех известных языков:

    $arrLanguages = $currentLanguage->getKnownLanguages();
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...