Php 如何检测Joomla的当前语言!网站?
我只想生成一段代码,用joomla+php检测我网站的当前语言,请参见: 一旦掌握了语言,您还可以检索语言环境/语言代码(例如Php 如何检测Joomla的当前语言!网站?,php,joomla,Php,Joomla,我只想生成一段代码,用joomla+php检测我网站的当前语言,请参见: 一旦掌握了语言,您还可以检索语言环境/语言代码(例如en-US)。乔姆拉!语言可以有多个区域设置,因此您将获得一个数组 $lang = JFactory::getLanguage(); foreach($lang->getLocale() as $locale) { echo 'This language supports the locale: ' . $locale; } 如果出于某种原因,您只对第
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),可以使用getTag()
在Joomla 3.4+中,@MvanGeest的答案仍然有效。以下是存在于语言对象上的有用函数列表:
- 通过类型为
JLanguage
$currentLanguage = JFactory::getLanguage();
- 获取当前语言名称:
$currentLanguageName = $currentLanguage->get('name'); //OR $currentLanguageName = $currentLanguage->getName();
- 检查RTL(阿拉伯语和其他一些语言的情况)
- 获取当前语言标记:
$currentTag = $currentLanguage->get('tag'); //OR $currentTag = $currentLanguage->getTag();
- 获取所有已知语言的列表:
$arrLanguages = $currentLanguage->getKnownLanguages();
$isRTL = $currentLanguage->get('rtl');
//OR
$isRTL = $currentLanguage->isRtl();
$currentTag = $currentLanguage->get('tag');
//OR
$currentTag = $currentLanguage->getTag();
$arrLanguages = $currentLanguage->getKnownLanguages();