Я планирую разрешить пользователям создавать файлы .POT/.PO через пользовательский интерфейс PHP как часть решения CMS. После того, как эти файлы будут сгенерированы (легкий бит), я хотел бы разрешить моей системе автоматически преобразовывать эти файлы в файлы .MO в ответ на запрос пользователя (POST).
Я видел следующий вопрос на SO:
преобразователь .po в .mo в php?
Я понимаю, что мог бы запустить msgfmt
с помощью функции PHP exec()
, но, похоже, это решение только для Linux, если я прав? Как бы я сделал это в других операционных системах? Некоторый пример кода того, как это можно сделать на практике, также был бы очень полезен, если бы кто-нибудь был достаточно любезен, чтобы продемонстрировать. Это сильно отличается от моей обычной работы!
На данный момент это только концепция, но я надеюсь, что иду в правильном направлении. Если у вас есть какие-либо дополнительные мысли/предложения относительно этого метода, я был бы рад их услышать. Далее следует справочная информация.
Дополнительная справочная информация — не требуется:
Я извлекаю исходный текст на английском языке, анализируя простые файлы шаблонов, которые состоят только из базового HTML и вызовов <?php _('the gettext method'); ?>
. Эти шаблоны анализируются при редактировании/сохранении и извлекаются записи языка. Затем будет создан файл .POT. Теперь пользователю придется редактировать переводы вручную (через простой интерфейс, а не напрямую), чтобы обновить/подготовить все файлы .PO. Как только это будет сделано, мне нужно будет преобразовать их в файлы .MO, как и в названии моего вопроса.