/**
  * @return string Two letters language code, eg. "fr"
  */
 public static function getLanguageCodeForCurrentUser()
 {
     $languageCode = self::getLanguageFromPreferences();
     if (!Piwik_LanguagesManager_API::isLanguageAvailable($languageCode)) {
         $languageCode = Piwik_Common::extractLanguageCodeFromBrowserLanguage(Piwik_Common::getBrowserLanguage(), Piwik_LanguagesManager_API::getAvailableLanguages());
     }
     if (!Piwik_LanguagesManager_API::isLanguageAvailable($languageCode)) {
         $languageCode = 'en';
     }
     return $languageCode;
 }
Esempio n. 2
0
 function test_getTranslationsForLanguages()
 {
     // we also test that none of the language php files outputs any character on the screen (eg. space before the <?php)
     $languages = Piwik_LanguagesManager_API::getAvailableLanguages();
     foreach ($languages as $language) {
         ob_start();
         $strings = Piwik_LanguagesManager_API::getTranslationsForLanguage($language);
         $content = ob_get_flush();
         $this->assertTrue(count($strings) > 100);
         // at least 100 translations in the language file
         $this->assertTrue(strlen($content) == 0, "buffer was " . strlen($content) . " long but should be zero. Translation file for '{$language}' must be buggy.");
     }
     $this->pass();
 }