исходный код php для генератора файлов PO

Мне нужно преобразовать всю строку эха/печати из файла исходного кода php в файл PO (для перевода языка), есть ли какие-либо пакетный конвектор доступен для одного и того же.


person coderex    schedule 23.09.2009    source источник


Ответы (4)


Как я это делаю:

  • заставить gettext работать на вашем сервере
  • настроить адаптер перевода (например, Zend_Translate с адаптером gettext)
  • используйте хороший инструмент поиска, чтобы найти все строки в вашем коде и обернуть их чем-то вроде $translationObject->translate(). Часто метод оборачивают для вызова __(). В большинстве случаев это будет, по крайней мере, частично ручная работа, поскольку у вас будут различные формы строк, которые вы, возможно, также захотите разбить на более короткие единицы.
  • установите poEdit и настройте его на синтаксический анализ для 'translate(' или '__('
  • отправьте полученные po-файлы людям-переводчикам и проинструктируйте их, как использовать poEdit
  • загружать переводы и генерировать mo-файлы, которые используются адаптером
person markus    schedule 24.09.2009

Вам нужен http://www.poedit.net/

Вы можете использовать Poedit для сканирования исходного кода на наличие переводимых строк.

person Vladislav Rastrusny    schedule 24.09.2009
comment
Насколько я знаю, он будет искать вывод внутри указанных функций, а не после echo или print. - person chelmertz; 11.11.2009
comment
Также требуется платная лицензия за 30 долларов США, чтобы разблокировать эту функциональность. - person Simon East; 19.12.2017

К сожалению, я не думаю, что такой инструмент существует. Если вы найдете его, он, вероятно, будет ограничен в функциональности.

Это связано со способностью php смешиваться с html. Трудно знать, что именно должно быть включено в конкретный файл gettext.

Если вы используете операторы «echo» только для отправки контента в браузер и никогда не смешиваете html и php, то довольно просто написать скрипт для его анализа.

HTH, -FT

person ftrotter    schedule 23.09.2009

Да, я получил ответ.

Существует метод извлечения всей строки из исходного файла для папки. Вот ссылка, которую вы можете проверить:

  • Извлеките строки из исходного кода для перевода (для po-файла) [ссылка не работает]

  • Poedit: кроссплатформенный конвертер PO в MO и редактор файлов PO [ссылка не работает]

person coderex    schedule 29.09.2009
comment
@ h00ligan Ваша ссылка тоже не работает. - person Simon East; 19.12.2017
comment
SO не разрешил мне редактировать комментарий, поэтому я его удалил. - person h00ligan; 20.12.2017