echo 'gettext("24 hours")=',gettext("24 hours"),"\n"; echo 'gettext(\'24 hours\')=',gettext('24 hours'),"\n"; // _() as in alias for gettext() echo '_("24 hours")=',_("24 hours"),"\n"; echo '_(\'24 hours\')=',_('24 hours'),"\n"; //echo 'fbLocale::parseAcceptLanguages='; //print_r(fbLocale::parseAcceptLanguages()); */ // echo 'fbLocale::parseAcceptLanguages='; // print_r(fbLocale::parseAcceptLanguages()); // echo "\n"; echo 'fbLocale::getNearestLocales(fbLocale::parseAcceptLanguages())='; print_r(fbLocale::getNearestLocales(fbLocale::parseAcceptLanguages())); print "\n"; echo 'fbLocale::getAvailableLocales='; print_r(fbLocale::getAvailableLocales()); echo '$long_month_names_hash ='; print_r($long_month_names_hash); echo '$long_weekday_names_hash ='; print_r($long_weekday_names_hash); /* $locales = fbLocaleWindows::mimeToWindowsLocaleMap(); foreach ($locales as $iso_locale => $country_name) { $nearest_locale = fbLocale::getNearestLocale($iso_locale); $nearest_country_name = ''; printf("%-10s %-30s %-10s %-30s\n", $iso_locale, $country_name, $nearest_locale, $nearest_country_name); } */ /* setlocale(LC_ALL, 'usa');
function getNearestLocales($locales) { fbDebug::enter(); static $locale_map; static $available_locales; if (!$available_locales) { $available_locales =& fbLocale::getAvailableLocales(); } // \todo get serialize working $locale_key = is_array($locales) ? serialize($locales) : $locales; fbDebug::dump($locale_key, '$locale_key'); if (!isset($locale_map[$locale_key])) { if (is_array($locales)) { foreach ($locales as $locale) { $locale_map[$locale_key] = fbLocale::getNearestLocales($locale); if ($locale_map[$locale_key]) { fbDebug::dump($locale_map[$locale_key], '$locale_map[$locale_key]'); return $locale_map[$locale_key]; } } fbDebug::dump($locale_map[$locale_key], '$locale_map[$locale_key]'); return $locale_map[$locale_key]; } if (isset($available_locales[$locale_key])) { $locale_map[$locale_key] = $locale_key; fbDebug::dump($locale_map[$locale_key], '$locale_map[$locale_key]'); return $locale_map[$locale_key]; } else { $language = substr($locale_key, 0, 2); fbDebug::dump($language, '$language'); foreach ($available_locales as $locale => $available_language) { fbDebug::dump($locale, '$locale'); fbDebug::dump($available_language, '$available_language'); if (strcasecmp($language, $available_language) == 0) { $locale_map[$locale_key] = $locale; fbDebug::dump($locale_map[$locale_key], '$locale_map[$locale_key]'); return $locale_map[$locale_key]; } } $locale_map[$locale_key] = false; fbDebug::dump($locale_map[$locale_key], '$locale_map[$locale_key]'); } } fbDebug::dump($locale_map[$locale_key], '$locale_map[$locale_key]'); fbDebug::leave($locale_map[$locale_key]); return $locale_map[$locale_key]; }