Настройка локализации в приложении Инсталлер Есть решение
В настройках инсталлера есть параметр Локализация, в котором можно выбрать одно из двух значений:
Gettext (рекомендуется) и PHP. Не совсем понятно, как этот параметр работает.
Сейчас столкнулся с такой проблемой, что не для всех фраз разрабатываемого приложения работает локализация, если выбран параметр Gettext (рекомендуется). Вернее все последние добавленные переводы фраз в файл app.po не переводятся даже если переставлять их в другое место файла. (все новые фразы подбираемые из кода приложения добавляются в конец app.po)
То есть если выбрать параметр PHP, потом очистить кеш - все фразы нормально переводятся через файл локализации. Если же выбрать параметр Gettext (рекомендуется), потом очистить кеш - то для последних добавленных фраз перестает работать локализация.
Пробовал создавать чистую установку вебасист, перегружать апач - ничего не помогает (локализация нормально работает только если установлен параметр PHP).
Не могу понять где копать.
4 ответа
Если использовать механизм gettext, то нужно сделать следующее:
1. Добавив в файл app.po любую строку, необходимо скомиллировать из этого файла app.mo, так как именно из MO-файла gettext берет локализацию. https://www.gnu.org/software/gettext/manual/html_node/MO-Files.html
2. Если используется Апач, то перезагрузить сервер. Рекомендую погуглить "gettext apache cache" — найдете массу материалов по теме.
--
При разрботке лучше включить механизм локализации PHP и просто сбрасывать кеш в Инсталлере без перезагрузки сервера, а gettext включить уже в продакшне.
Спасибо,
теперь я понял в чем у меня была проблема.
А где лежит этот файл app.po (В облачной версии)
В облачной версии он находится там же, где и в обычной версии. Только в облаке редактирование файлов напрямую (минуя веб-интерфейс) не допускается из соображений обеспечения безопасности.