Example #1
0
 /**
  *
  * @return string The language letters
  */
 private static function GetLanguageFromHttpRequest()
 {
     if (self::$request->getAcceptedLanguages()) {
         $string_accept = self::$request->getAcceptedLanguages();
     } else {
         return 'fr';
     }
     $string_accept_array = preg_split("#(,|;)#", $string_accept);
     foreach ($string_accept_array as $accept) {
         $accept = strtolower($accept);
         if (Utils::stringStartsWith($accept, "q=")) {
             continue;
         } else {
             $accept = explode("-", $accept)[0];
             if (in_array($accept, array_keys(self::$languages))) {
                 return $accept;
             }
         }
     }
     return "fr";
 }
Example #2
0
 function testGetAcceptedLanguages()
 {
     $accepted_languages = Request::getAcceptedLanguages();
     $last_perc = 1;
     foreach ($accepted_languages as $lang => $perc) {
         $this->assertTrue($last_perc >= $perc, "Le percentuali dei linguaggi accettati non sono ordinate in ordine decrescente!!");
         $last_perc = $perc;
         $this->assertTrue($perc <= 1 && $perc > 0, "La percentuale di accettazione del linguaggio non e' valida!!");
     }
 }