} function resetlocale() { setlocale(LC_ALL, 'C'); setlocale(LC_ALL, ''); //setlocale(LC_ALL, 'usa'); //setlocale(LC_ALL, 'us'); //setlocale(LC_ALL, 'en_US'); } 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);
function getLanguageName($id) { $ID_TO_NAME_HASH =& fbISO639::getIDToNameHash(); /// \todo make multibyte saavy $id = fbString::strtoupper($id); return isset($ID_TO_NAME_HASH[$id]) ? $ID_TO_NAME_HASH[$id] : false; }