コード例 #1
0
 /**
  * @return string Two letters language code, eg. "fr"
  */
 public static function getLanguageCodeForCurrentUser()
 {
     $languageCode = self::getLanguageFromPreferences();
     if (!Piwik_LanguagesManager_API::getInstance()->isLanguageAvailable($languageCode)) {
         $languageCode = Piwik_Common::extractLanguageCodeFromBrowserLanguage(Piwik_Common::getBrowserLanguage(), Piwik_LanguagesManager_API::getInstance()->getAvailableLanguages());
     }
     if (!Piwik_LanguagesManager_API::getInstance()->isLanguageAvailable($languageCode)) {
         $languageCode = 'en';
     }
     return $languageCode;
 }
コード例 #2
0
ファイル: Common.test.php プロジェクト: nnnnathann/piwik
 /**
  * Data driven tests of extractLanguageCodeFromBrowserLanguage
  */
 public function test_extractLanguageCodeFromBrowserLanguage()
 {
     $a1 = array(array("fr-ca", array("fr"), "fr"), array("", array(), "xx"), array("", array("en"), "xx"), array("fr", array("en"), "xx"), array("en", array("en"), "en"), array("en-ca", array("en-ca"), "en-ca"), array("en-ca", array("en"), "en"), array("fr,en-us", array("fr", "en"), "fr"), array("fr,en-us", array("en", "fr"), "fr"), array("fr-fr,fr-ca", array("fr"), "fr"), array("fr-fr,fr-ca", array("fr-ca"), "fr-ca"), array("fr-fr;q=1.0,fr-ca;q=0.9", array("fr-ca"), "fr-ca"), array("fr-ca,fr;q=0.1", array("fr-ca"), "fr-ca"));
     foreach ($a1 as $testdata) {
         $this->assertEqual($testdata[2], Piwik_Common::extractLanguageCodeFromBrowserLanguage($testdata[0], $testdata[1]), "test with {$testdata[0]} failed, expected {$testdata[2]}");
     }
 }
コード例 #3
0
ファイル: CommonTest.php プロジェクト: nnnnathann/piwik
 /**
  * @dataProvider getLanguageDataToExtract
  * @group Core
  * @group Common
  * @group extractLanguageCodeFromBrowserLanguage
  */
 public function testExtractLanguageCodeFromBrowserLanguage($browserLanguage, $validLanguages, $expected)
 {
     $this->assertEquals($expected, Piwik_Common::extractLanguageCodeFromBrowserLanguage($browserLanguage, $validLanguages), "test with {$browserLanguage} failed, expected {$expected}");
 }