Я на Ubuntu использую Apache.Проблема (не работает) возникает на моем рабочем веб-сервере Strato.
В моем PHP есть поддержка gettext, но он ничего не переводит, хотя строки переводятся в файл .mo
.
Это мой код:
if (function_exists('bindtextdomain')) {
$domain = 'address_db';
echo putenv('LC_MESSAGES='.$lang);
echo '<br />';
echo setlocale(LC_MESSAGES, $lang);
echo '<br />';
$path = bindtextdomain($domain, "../locale/");
echo $path;
echo '<br />';
echo file_exists($path.'/'.$lang.'/LC_MESSAGES/'.$domain.'.mo') ? 'yes' : 'no';
echo '<br />';
echo bind_textdomain_codeset($domain, "iso-8859-1");
echo '<br />';
echo textdomain($domain);
echo '<br />';
$available_languages = array(
array('de_DE', _('German')),
array('en', _('English')),
array('nl', _('Dutch')),
array('tr', _('Turkish'))
);
echo _('Cancer');
}
Вывод выглядит многообещающе:
1
/home/mu/Branches/address_db/locale
yes
iso-8859-1
address_db
Cancer
Таким образом, он находит файл, но по-прежнему не переводит «Рак».
Что это может быть?
Обновление
Это работает на моем производственном сервере, но не на моем тестовом сервере.Очень странно ...