По первому взгляду вопрос решается обычным ассоциативным массивом. Но в этом мире и без меня достаточно изобретателей велосипедов, поэтому следовало посмотреть gettext. Инструмент мне понравился, особенно утилита
xgettext
, но его настройка пока мне не дается.Возникли таки проблемы:
- Хороший плагин для eclipse gted по-умолчанию формирует .po/.mo-файлы в папке
./locale/<код_языка>
, а скрипт (считай модуль апача) подтягивает файлы из папки./locale/<код_языка>/LC_MESSAGES
. Неудобно то, что файлы приходится перекладывать. - На моем EasyPHP файлы перевода подтягиваются только после перезагрузки сервера. Понятно, что для продакшн-сервера это будет неудобно.
- Ну, и никто таки не смог мне внятно объяснить смысл установки локали (setlocale) и переменной окружения (putenv, LANG). Этот вопрос явно мной недокурен в достаточной степени.
xgettext
, но не нужен отдельный модуль для Apache. С другой стороны быстродействие... Не знаю, не знаю...P.S.: Кстати, для модуля i18n, например для drupal, файлы перевода это только .po-файлы. К чему бы это?
P.P.S.: Я был прав насчет перегрузки сервера. Но есть интересный хак при помощи которого можно обойти кеширование .mo-файлов. И с локалью все стало понятно.
3 комментария:
Я его все-таки добью. Щас узнаем у автора плагина о LC_MESSAGES
https://sourceforge.net/projects/gted/forums/forum/648470/topic/3546479
Вот, еще кое-что:
http://www.php.net/manual/en/book.gettext.php#91650
test
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.