PHP gettext для Lemonstand - PullRequest
       13

PHP gettext для Lemonstand

1 голос
/ 21 марта 2012

PHP gettext установлен на моем веб-сервере (работает под WAMP).Однако строки, которые находятся внутри Lemonstand, не переводятся.У меня есть файлы .po и .mo с переводами, но ничего не происходит.Мой путь к локали правильный.PHP-код моей локали помещен в частичную локализацию, которая вызывается из моего французского частичного заголовка.Вот код, который я использую:

$locale = "fr_CA";
if (isset($_GET["locale"]))
$locale = $_GET["locale"];
setlocale(LC_ALL, $locale);
setlocale(LC_TIME, $locale);
putenv("LC_ALL=$locale");
$path = 'locale';
bindtextdomain("default", $path);
textdomain("default");
bind_textdomain_codeset("default", 'UTF-8');

Что может быть причиной проблемы?Я подумал, что это может быть кэширование на сервере, поэтому я попытался использовать этот код, но все равно ничего не получилось:

$locale = "fr_CA";
$locales_root = "locale";
$domain = "default";
setlocale(LC_ALL, $locale);
setlocale(LC_TIME, $locale);
putenv("LC_ALL=$locale");
$filename = $locales_root.'/'.$locale.'/LC_MESSAGES/'.$domain.'.mo';
$mtime = filemtime($filename); // check its modification time
$filename_new = $locales_root.'/'.$locale.'/LC_MESSAGES/'.$domain.'_'.$mtime.'.mo';
if (!file_exists($filename_new)) {
copy($filename,$filename_new);
}
$domain_new = $domain.'_'.$mtime;
bindtextdomain($domain_new, $locales_root);
textdomain($domain_new);
bind_textdomain_codeset($domain_new, 'UTF-8');

Спасибо за помощь

...