API15

JLanguageHelper/detectLanguage: Difference between revisions

From Joomla! Documentation

Doxiki (talk | contribs)
New page: ===Description=== Tries to detect the language <span class="editsection" style="font-size:76%;"> <nowiki>[</nowiki>Edit Descripton<nowik...
 
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>[[Description:JLanguageHelper/detectLanguage|Edit Descripton]]<nowiki>]</nowiki>
<nowiki>[<! removed edit link to red link >]</nowiki>
</span>
</span>


{{Description:JLanguageHelper/detectLanguage}}
<! removed transcluded page call, red link never existed >


===Syntax===
===Syntax===
Line 55: Line 55:


<span class="editsection" style="font-size:76%;">
<span class="editsection" style="font-size:76%;">
<nowiki>[</nowiki>[[SeeAlso:JLanguageHelper/detectLanguage|Edit See Also]]<nowiki>]</nowiki>
<nowiki>[<! removed edit link to red link >]</nowiki>
</span>
</span>
{{SeeAlso:JLanguageHelper/detectLanguage}}
<! removed transcluded page call, red link never existed >


===Examples===
===Examples===
Line 70: Line 70:
  format= ,,,
  format= ,,,
</dpl>
</dpl>
[[Category:Archived pages API15]]

Revision as of 18:34, 12 May 2013

Description

Tries to detect the language

[<! removed edit link to red link >]

<! removed transcluded page call, red link never existed >

Syntax

detectLanguage()


Returns

string locale

Defined in

libraries/joomla/language/helper.php

Importing

jimport( 'joomla.language.helper' );

Source Body

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)
                        {
                                if (strtolower($browserLang) == strtolower(substr($metadata['tag'], 0, strlen($browserLang)))) {
                                        return $systemLang;
                                } elseif ($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

<CodeExamplesForm />