Настройка локализации в приложении Инсталлер Есть решение

В настройках инсталлера есть параметр Локализация, в котором можно выбрать одно из двух значений:
Gettext (рекомендуется) и PHP. Не совсем понятно, как этот параметр работает.

Сейчас столкнулся с такой проблемой, что не для всех фраз разрабатываемого приложения работает локализация, если выбран параметр Gettext (рекомендуется). Вернее все последние добавленные переводы фраз в файл app.po не переводятся даже если переставлять их в другое место файла. (все новые фразы подбираемые из кода приложения добавляются в конец app.po)

То есть если выбрать параметр PHP, потом очистить кеш - все фразы нормально переводятся через файл локализации. Если же выбрать параметр Gettext (рекомендуется), потом очистить кеш - то для последних добавленных фраз перестает работать локализация.

Пробовал создавать чистую установку вебасист, перегружать апач - ничего не помогает (локализация нормально работает только если установлен параметр PHP).

Не могу понять где копать.



4 ответа

  • 1
    Владимир Тупоршин-мл. Webasyst 14 ноября 2015 04:20 # Решение

    Если использовать механизм 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 включить уже в продакшне.

  • 1
    oleg 14 ноября 2015 04:44 #

    Спасибо,
    теперь я понял в чем у меня была проблема.

  • 1
    LaSommeliere 23 сентября 2016 14:16 #

    А где лежит этот файл app.po (В облачной версии)

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 23 сентября 2016 15:38 #

      В облачной версии он находится там же, где и в обычной версии. Только в облаке редактирование файлов напрямую (минуя веб-интерфейс) не допускается из соображений обеспечения безопасности.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите