function numberFormat($number, $digits = null, $locale = null) { fbDebug::enter(); static $localeconv_cache = array(); $get_locale = is_null($locale); fbDebug::dump($get_locale, '$get_locale'); if ($get_locale) { $locale = fbLocale::getLocale(LC_MONETARY); fbDebug::dump($locale, '$locale'); } fbDebug::dump($localeconv_cache, '$localeconv_cache'); if (!isset($localeconv_cache[$locale])) { fbDebug::dump($locale, '$locale'); if (!$get_locale) { $rv = fbLocale::pushLocale(LC_MONETARY, $locale); fbDebug::dump($rv, '$rv'); } $_locale = fbLocale::getLocale(LC_MONETARY); fbDebug::dump($_locale, '$_locale'); $localeconv_cache[$locale] = localeconv(); fbDebug::dump($localeconv_cache[$locale], '$localeconv_cache[$locale]'); if (!$get_locale) { fbLocale::popLocale(LC_MONETARY); } } $lc = $localeconv_cache[$locale]; fbDebug::dump($lc, '$lc'); if (is_null($digits)) { $digits = $lc['int_frac_digits']; } $rv = number_format($number, $digits, $lc['mon_decimal_point'], $lc['mon_thousands_sep']); $n = strpos($rv, '-'); if ($n !== false) { $rv = str_replace('-', $lc['negative_sign'], $rv); } fbDebug::leave($rv); return $rv; }
function gettext($message) { fbDebug::enter(); static $current_locale = null; $locale = fbLocale::getLocale(); if ($locale != $current_locale) { fbGettext::_loadData(); $current_locale = $locale; } $translation_map =& fbGettext::_translation_map(); fbDebug::dump($translation_map, 'translation_map'); if (isset($translation_map[$message])) { return $translation_map[$message]; } return $message; }