} resetlocale(); $default_locale = setlocale(LC_ALL, 0); echo "default_locale={$default_locale}\n"; $date = time(); $supported_locales = array(); echo "setlocale('two letter code')\n\n"; $id2_language_hash = fbISO639::getIDToNameHash(); foreach ($id2_language_hash as $id2 => $language) { $locale = strtolower($id2); while (true) { $rv = setlocale(LC_ALL, $locale); if ($rv) { break; } $iso3166 = fbISO639_ISO3166_Map::getCountryID($id2); $locale = strtolower($id2) . '_' . strtoupper($iso3166); $rv = setlocale(LC_ALL, $locale); if ($rv) { break; } $locale = strtolower($id2) . '_' . strtoupper($id2); $rv = setlocale(LC_ALL, $locale); if ($rv) { break; } continue 2; } $a = fbLocale::_parseLocale($rv); //print_r($a); $id3 = fbISO639_Map::getID3($id2);
function getCountryID($language_id) { $LANGUAGE_ID_TO_COUNTRY_ID_HASH =& fbISO639_ISO3166_Map::getLanguageIDToCountryIDHash(); $language_id = strtoupper($language_id); return isset($LANGUAGE_ID_TO_COUNTRY_ID_HASH[$language_id]) ? $LANGUAGE_ID_TO_COUNTRY_ID_HASH[$language_id] : false; }