[Tͪ#n$;<:a4sX[y ,)Ak^@ེ0 ZHf
L 8wdu>++M<PmJA	ZrS>acB4SgM,ӼdfX8HeıHVH|JOHvlz,&u0 ZHf
L 8~'wc豾#VD`L,jN./2̉nC8ceS}9{ϕ,5p7cX"9V톓jJAۮAIBJܒijsJ6vso^ylS/Gqͷ-,9:.v*NJ0u/3$ol_uz_w5-,0TL)]gpHiCc2;-<muX?	uA )ZjDt:~D=r@7W}G
DgQnmu}( )!1bA{V'8`DP@7mS5p{77e!4:J91swZ~0F6u*ځ#]^$F󯗆%|ZhƵTlL[:_z2{|T!ߜ2+#E"NGZw~p ~γc =93"}cP/neBv*«HB*BVhcu3@Tnso Fxn٣n(G3c=Mz|a.RNl(Aa37:]'HXik%Bܻ%e@7wxƍm#L֦}9sKFOTm@n&=TJ{Evb:y&([X"Xϗ2۽1Q1^C9-(6-z֬h->W`m 	]Dq`lH0B\'әlWL?_CBp=Up췕~M {BԄsxha͐[۹|_Ww".ULkŐ;RI{rƥ|g9}#Zvzu|ͼi:mH~BQo#d(RM8=ey>ܤ[iGz.^gިTQ!aO2̙8&Sh8Wb}!X+O<53Ake4 Cx
,zjܼw"MՕ԰?0[}njh#mvPS4K5ڡK!"5eX+5
V|.`)ahh$VfVĺPGlkk	PNGZw~p ~γc =93"}cP/-7#)=8,:'m[.o}{wK;zGA=]>WWSHx#f)
b,zjܼw"Mx(؛BjHXik%Bܻ%e@'%3.-kedT@I:?ab`lH0B\<
`3')KP<0L3mVW\Be67`GRDuʀȞ܂)ҫZF߳o4~sMvMT1cICGecz*xt<a 	IkUJ`g:WFŪ<grdI@N{PG,1m4Jw3ތO[u&$ߙ4㝠&V䯣N+o5-'ltMQ
:@۠	+lV|:L΄lŁάrwP*0[	#:|()NU;l{& 2,XFHԺ$5OiĜNaU\ݗh`2[x>áO]G	lSa5FI
I
 w/Xhe=Ǒz 9受BH +-G0tgm˺^ވf_ƗD
Yus>L=n=L9MY&R)S9ai'QißGՔ0ZGVR^U?_ݚ'|w
OnZvYl=2\RAΟkռbv(5VShV9Wv sU;l{& Ж1BlT	K	}[h*Z3
kr#u]R
R!.ICF1hq |JFL1cRE?-Gˤ H,ea*ד5؀]Cʄ'lpJU;l{& beXimElL/> Ueok%D^"a5FI
I⟗FFRrRT[Ǵ|r>"AJTw&^ygL$o>hO5U^L-t,D{}TP;Fn䱮C5u5+\joWn2Ul?.ctkHZI2E'Ci)1jHDA_
%|MOT:
6"ۇ`z<EZ'M~@EDDl?TlL[:2tl̿]cM>7Nk'_+ lPƽctoD-or^֭!ɤt,o)c^lHB*BV"7DyCE dekb\|\*q$*&֧&Ϫ#nuO%W}$φ$DJ\Yl6?HWMH+^ȏ»ALhzLUʂM$d2K~@Ça-2KOxr$*xh,:AK;س`$G;ohRXbE1XwxUI$f@;>::rֈKF7e洝nt]Nk.myxGɎIo`V̿jETdim*_ĩdv_ 1y<NZ	TkDtTId\`/jlfmoiVa8U:gg,
	eI)d"*m`ZfS3񒨓k>.¥
gWρe.^}auJ99㍶B['˅VqF+n~QG2{ A`r扙56%3InB;r[r4{N"+5jsXRc-)T`' ǫw`8fZ2Jϲ1I!g. ec$]6kRlrf9*{k-1g#rgk]Nk.KLCЂwrY\^hkiU7lZ4d	DYŶ-#^iu>H-kЛY%	bĸt>I}U[Rj-ZwVOO&$棄Ϗ$1Pڸpc88YubaWW
,TJ1M)05WK{K<V& - 8(Htcː%NDHʝU / Vb*%Jo.DU܍#}x֏p!E Ojg;(JM$ۉ_jhqR? sY^}r:!vi
ҹo'c{b֖~=~3>j(z) p9<v<nJ.8EkC'gƖ\Ja-B1qtuq1[u,fHrX9'] = $default;

        $lang = $this->manager->selectLanguage();

        $this->assertEquals($expect, $lang->getEnglishName());

        $GLOBALS['cfg']['Lang'] = '';
        $_POST['lang'] = '';
        $_GET['lang'] = '';
        $_COOKIE['pma_lang'] = '';
        $_SERVER['HTTP_ACCEPT_LANGUAGE'] = '';
        $_SERVER['HTTP_USER_AGENT'] = '';
        $GLOBALS['cfg']['DefaultLang'] = 'en';
    }

    /**
     * Data provider for language selection test.
     *
     * @return array Test parameters.
     */
    public function selectDataProvider()
    {
        return array(
            array('cs', 'en', '', '' ,'' ,'', '', 'Czech'),
            array('', 'cs', '', '' ,'' ,'', '', 'Czech'),
            array('', 'cs', 'en', '' ,'' ,'', '', 'Czech'),
            array('', '', 'cs', '' ,'' ,'', '', 'Czech'),
            array('', '', '', '' ,'cs,en-US;q=0.7,en;q=0.3' ,'', '', 'Czech'),
            array(
                '', '', '', '', '',
                'Mozilla/5.0 (Linux; U; Android 2.2.2; tr-tr; GM FOX)',
                '', 'Turkish'
            ),
            array('', '', '', '' ,'' ,'', 'cs', 'Czech'),
            array('', '', '', '' ,'' ,'', '', 'English'),
        );
    }

    /**
     * Test for setting and parsing locales
     *
     * @param string $locale locale name
     *
     * @return void
     *
     * @group large
     * @dataProvider listLocales
     */
    public function testGettext($locale)
    {
        /* We should be able to set the language */
        $this->manager->getLanguage($locale)->activate();

        /* Grab some texts */
        $this->assertContains('%s', _ngettext('%s table', '%s tables', 10));
        $this->assertContains('%s', _ngettext('%s table', '%s tables', 1));

        $this->assertEquals(
            $locale,
            $this->manager->getCurrentLanguage()->getCode()
        );
    }

    /**
     * Data provider to generate list of available locales.
     *
     * @return array with arrays of available locales
     */
    public function listLocales()
    {
        $ret = array();
        foreach (LanguageManager::getInstance()->availableLanguages() as $language) {
            $ret[] = array($language->getCode());
        }
        return $ret;
    }
}
