Я пишу приложение PHP и использую модуль gettext для перевода на разные языки.
Код работает так, как я ожидаю, на моем локальном компьютере (в Windows работает WAMP), но я не могу его сделатьработа на сервере (Unix + apache2)
{
$locale_folder = dirname(dirname(dirname(__FILE__))).'/locale/';
$locale = 'he_IL';
$domain = 'myapp';
$autoreload = true;
// activate the locale setting
setlocale(LC_ALL, $locale);
setlocale(LC_TIME, $locale);
putenv("LANG=$locale");
putenv("LANGUAGE=$locale");
putenv("LC_ALL=$locale");
putenv("LC_MESSAGES=$locale");
if ($autoreload) {
// path to the .MO file that we should monitor
$filename = "$locale_folder/$locale/LC_MESSAGES/$domain.mo";
$mtime = filemtime($filename); // check its modification time
// our new unique .MO file
$filename_new = "$locale_folder/$locale/LC_MESSAGES/{$domain}_{$mtime}.mo";
if (!file_exists($filename_new)) { // check if we have created it before
// if not, create it now, by copying the original
copy($filename,$filename_new);
}
// compute the new domain name
$domain_new = "{$domain}_{$mtime}";
} else {
$domain_new = $domain;
}
// bind it
bindtextdomain($domain_new,$locale_folder);
// then activate it
textdomain($domain_new);
bind_textdomain_codeset($domain_new, "UTF-8");
}
Я ранее запускал "sudo locale-get he_IL" и "sudo locale-get he_IL.UTF-8", чтобы установить языковой компонент.
Перевод работает на локальном (Windows) компьютере, но отображает исходные строки (не переведенные) на сервере ...
Нужно ли что-либо настраивать?