API16:JLanguageHelper/detectLanguage
From Joomla! Documentation
Description
Tries to detect the language.
<! removed transcluded page call, red link never existed >
Syntax
static detectLanguage()
Returns
string locale
Defined in
libraries/joomla/language/helper.php
Importing
jimport( 'joomla.language.helper' );
Source Body
public static function detectLanguage()
{
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
$systemLangs = JLanguage::getKnownLanguages();
$browserLangs = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
foreach ($browserLangs as $browserLang)
{
// slice out the part before ; on first step, the part before - on second, place into array
$browserLang = substr($browserLang, 0, strcspn($browserLang, ';'));
$primary_browserLang = substr($browserLang, 0, 2);
foreach($systemLangs as $systemLang => $metadata)
{
// take off 3 letters iso code languages as they can't match browsers' languages and default them to en
$Jinstall_lang = $metadata['tag'];
if (strlen($Jinstall_lang) < 6)
{
if (strtolower($browserLang) == strtolower(substr($metadata['tag'], 0, strlen($browserLang)))) {
return $systemLang;
}
else if ($primary_browserLang == substr($metadata['tag'], 0, 2)) {
$primaryDetectedLang = $systemLang;
}
}
}
if (isset($primaryDetectedLang)) {
return $primaryDetectedLang;
}
}
}
return 'en-GB';
}
<! removed transcluded page call, red link never existed >
Examples
Code Examples