如何检测Joomla的当前语言!网站?
我只想生成一个代码,该代码将在joomla + php中检测我的网站的当前语言
$lang = JFactory::getLanguage();
echo 'Current language is: ' . $lang->getName();
拥有语言后,您还可以检索区域设置/语言代码(例如)。哎呀!语言可以有多个区域设置,因此您将获得一个数组。en-US
$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();
在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();