Difference between revisions of "JLanguageHelper/detectLanguage"
From Joomla! Documentation
< API16:JLanguageHelper
(New page: ===Description===
Tries to detect the language.
<span class="editsection" style="font-size:76%;">
<nowiki>[</nowiki>Edit Descripton<nowi...) |
m (removing red link to edit, no existant pages) |
||
Line 3: | Line 3: | ||
<span class="editsection" style="font-size:76%;"> | <span class="editsection" style="font-size:76%;"> | ||
− | <nowiki>[< | + | <nowiki>[<! removed edit link to red link >]</nowiki> |
</span> | </span> | ||
− | + | <! removed transcluded page call, red link never existed > | |
===Syntax=== | ===Syntax=== | ||
Line 62: | Line 62: | ||
<span class="editsection" style="font-size:76%;"> | <span class="editsection" style="font-size:76%;"> | ||
− | <nowiki>[< | + | <nowiki>[<! removed edit link to red link >]</nowiki> |
</span> | </span> | ||
− | + | <! removed transcluded page call, red link never existed > | |
===Examples=== | ===Examples=== | ||
Line 77: | Line 77: | ||
format= ,,, | format= ,,, | ||
</dpl> | </dpl> | ||
+ | [[Category:Archived pages API16]] |
Revision as of 22:04, 13 May 2013
The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
Description[edit]
Tries to detect the language.
[<! removed edit link to red link >]
<! removed transcluded page call, red link never existed >
Syntax[edit]
static detectLanguage()
Returns[edit]
string locale
Defined in[edit]
libraries/joomla/language/helper.php
Importing[edit]
jimport( 'joomla.language.helper' );
Source Body[edit]
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 edit link to red link >] <! removed transcluded page call, red link never existed >
Examples[edit]
<CodeExamplesForm />