Exemplo n.º 1
0
function smarty_block_tr($params, $content, &$smarty)
{
    global $_SERVER;
    // < 4.1.0
    static $init;
    static $default_languages = false;
    if (!$init) {
        $init = true;
        fbGettext::init();
        if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
            $default_languages =& fbLocale::parseAcceptLanguages($_SERVER['HTTP_ACCEPT_LANGUAGE']);
        }
    }
    $lang = false;
    extract($params);
    if ($lang) {
        $languages =& fbLocale::parseAcceptLanguages($lang);
    } else {
        $languages = $default_languages;
    }
    /// \todo only switch locales if the current locale is different!
    fbLocale::pushLocale(LC_ALL, $languages);
    $rv = gettext($content);
    fbLocale::popLocale(LC_ALL);
    return $rv;
}
Exemplo n.º 2
0
echo "setlocale(LC_ALL, '$locale')=",setlocale(LC_ALL, $locale),"\n";
echo 'setlocale(0, 0)=', setlocale(0, 0),"\n";
echo 'strftime(\'%A %e %B %Y\', mktime (0, 0, 0, 12, 22, 1978))=',strftime('%A %e %B %Y', mktime (0, 0, 0, 12, 22, 1978)),"\n";
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);
}