Как автоматически сгенерировать POT-файл из PHP-файла плагина Wordpress? - PullRequest
0 голосов
/ 13 сентября 2018

Я работаю над плагином Wordpress и заметил, что основной файл PHP - давайте просто назовем его blah.php - содержит вызовы, такие как:

100: <?php _e('Foo', 'blah'); ?>
101: <?php _e('Bar', 'blah'); ?>
...

Он сопровождается файлом blah.pot вязыковая подпапка с кодом, таким как:

#: blah.php:100
msgid "Foo"
msgstr ""

#: blah.php:101
msgid "Bar"
msgstr ""

Предположим, я хочу добавить новый фрагмент текста между двумя вышеуказанными частями в PHP:

100: <?php _e('Foo', 'blah'); ?>
101: <?php _e('Baz', 'blah'); ?> <!-- New -->
102: <?php _e('Bar', 'blah'); ?>
...

СкорееЗначит ли это, что мне нужно было бы изменить нумерацию blah.pot, вот так?

#: blah.php:100
msgid "Foo"
msgstr ""

#: blah.php:101
- msgid "Bar"
+ msgid "Baz"
msgstr ""

+ #: blah.php:102
+ msgid "Bar"
+ msgid "Bar"
+ msgstr ""

Что, если таких предметов будет сотни?Не займет ли это много времени?

Существует ли более быстрый способ, скажем, автоматического создания файла банка из PHP с правильными номерами строк?

1 Ответ

0 голосов
/ 14 сентября 2018

Обычно файлы POT (Portable Object Template, .pot) редактируются редактором каталогов gettext, например Poedit или Easy Po или аналогичной программой. Сами файлы действуют как шаблон того, что необходимо перевести, и часто генерируются одной и той же программой gettext путем сканирования файлов PHP и поиска функций gettext, или могут быть сгенерированы другим плагином (например, WPML будет генерировать эти файлы).

Я не знаю, как это сделать в автономном режиме PHP. Я бы посоветовал попробовать программу-переводчик, чтобы увидеть, какая из них лучше для вас. Я использовал Poedit с успехом в прошлом. Это бесплатно.

Ознакомьтесь с официальной документацией по локализации для получения дополнительной информации о том, как эти файлы gettext работают вместе для создания переводов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...