Подтвердить что ты не робот

Генерация автоматических комментариев Gettext

Я делаю i18n для php-проекта, используя gettext. Я хотел бы использовать функцию автоматического комментария , чтобы дать подсказки переводчикам при переводе длинных фраз, замененных идентификатором. Я хочу получить следующий файл po

#: full-path-to-file/index.phtml:3
#. a very long text which should replaced by _('foobar')
msgid "foobar"
msgstr ""

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

Я пробовал с этим кодом, но он не работает

<?php
/// TRANSLATORS: a very long text which should replaced by _('foobar')
_('foobar');
?>

Мне что-то не хватает или автоматические комментарии просто не работают для php?

Даже Wikipedia упоминает эту функцию, я попытался скопировать их пример в файл C, но я не могу заставить его работать даже с C. Командная строка я Используется

xgettext -C -o - main.c

Но сгенерированный вывод

#: main.c:16
#, c-format
msgid "My name is %s.\n"
msgstr ""

Итак, я определенно что-то упустил, должен ли я использовать любой флаг xgettext или конкретную версию, чтобы включить эту функцию.

4b9b3361

Ответ 1

Чтобы сделать xgettext извлечение комментариев из вашего источника, вам нужно передать аргумент, чтобы рассказать ему, какие комментарии искать.

Из документации:

'-c[tag]
--add-comments[=tag]

Разместить блоки комментариев, начиная с тег и предшествующие строки ключевых слов в выходном файле. Без тега, option означает, что все блоки комментариев, предшествующие линиям ключевых слов, выходной файл.

Передача -c/ или --add-comments=/ в качестве аргумента приведет к распознаванию формата "тройной косой черты".