Автоматическая генерация комментариев 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?
Даже Википедия упоминает эту функцию, я пытался скопировать их пример в файл C, но я не могу заставить его работать даже с C. Я использовал командную строку
xgettext -C -o - main.c
Но сгенерированный результат равен
#: main.c:16
#, c-format
msgid "My name is %s.\n"
msgstr ""
Итак, я определенно что-то упускаю, должен ли я использовать какой-либо флаг xgettext
или конкретную версию для включения этой функции.
1 answers
Чтобы заставить xgettext
извлекать комментарии из вашего источника, вам нужно передать аргумент, чтобы указать ему, какие комментарии искать.
‘
-c[tag]
’
‘--add-comments[=tag]
’Поместите блоки комментариев, начинающиеся с тега и предшествующих строк ключевых слов, в выходной файл. Без тега опция означает, что все блоки комментариев, предшествующие строкам ключевых слов, помещаются в выходной файл.
Передача -c/
или --add-comments=/
в качестве аргумента сделает это распознайте формат "тройной косой черты".