Example #1
0
 function getLocalizedLanguageName($id)
 {
     $ID_TO_LOCALIZED_NAME_HASH =& fbISO639::getIDToLocalizedNameHash();
     /// \todo make multibyte saavy
     $id = fbString::strtoupper($id);
     return isset($ID_TO_LOCALIZED_NAME_HASH[$id]) ? $ID_TO_LOCALIZED_NAME_HASH[$id] : false;
 }
Example #2
0
 function &parseAcceptLanguages($http_accept_language = null)
 {
     fbDebug::enter();
     global $_SERVER;
     // < 4.1.0
     static $http_accept_language_map;
     if (is_null($http_accept_language)) {
         if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
             $http_accept_language = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
         }
     }
     if (!isset($http_accept_language_map[$http_accept_language])) {
         if (strpos($http_accept_language, ',') !== false) {
             $languages = explode(',', $http_accept_language);
         } else {
             $languages = array($http_accept_language);
         }
         $locales = array();
         foreach ($languages as $language) {
             $semicolon = strpos($language, ';');
             if ($semicolon !== false) {
                 $language = trim(substr($language, 0, $semicolon));
             }
             $language = strtr($language, '-', '_');
             if (strlen($language) == 2) {
                 $language = $language . '_' . $language;
             }
             $underscore = strpos($language, '_');
             if ($underscore !== false) {
                 $language = fbString::strtolower(substr($language, 0, $underscore)) . '_' . fbString::strtoupper(substr($language, $underscore + 1));
             }
             $locales[] = $language;
         }
         $http_accept_language_map[$http_accept_language] = $locales;
     }
     fbDebug::leave($http_accept_language_map[$http_accept_language]);
     return $http_accept_language_map[$http_accept_language];
 }