Вопрос

Я пытаюсь загрузить свои переводы .mo, используя следующий код, но это не работает. У меня есть php gettext ext. включен в моем phpinfo () и все необходимые локали установлены. Я что-то пропустил?

$locale = "en_US";

putenv("LC_ALL=$locale");

setlocale(LC_ALL, $locale);

bindtextdomain("messages", "./locale");
textdomain("messages");

Мой файл .mo находится в ./ locale / en_US / messages.mo

Это было полезно?

Решение

Когда поток apache загружает файл .mo, он не будет перезагружать его, пока поток apache не будет переработан. Поэтому, если вы обновляете файл .mo и хотите быть уверены, что ваш php использует этот новый файл .mo, вам на самом деле нужно либо перезапустить apache, либо использовать другое имя для файла mo.

В любом случае, я бы установил переменную среды LANG.

Другие советы

Возможно, вам нужно изменить путь так, чтобы он был абсолютным, а не относительным.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top