Вставка заметок / комментариев переводчика в файлы PHP

Я работаю над переводом приложения, которое я разрабатываю. У меня есть строки, как:

echo _("Welcome to my site");

Затем я могу использовать командную строку для создания .po файл из всех файлов PHP в определенном каталоге, выполнив:

find . -iname "*.php" | xargs xgettext

Однако, когда я импортирую это в Poedit, я вижу поле под названием "Заметки для переводчиков". Иногда это может быть полезно, однако я не могу понять, как его заполнить. Какой код мне нужно добавить в мой файл PHP, чтобы xgettext добавлял заметки переводчикам?

2 ответа

Решение

Справка xgettext показывает:

-cTAG, --add-comments = TAG помещать блоки комментариев, начинающиеся с TAG и предшествующие строки ключевых слов в выходном файле -c, --add-comments помещать все блоки комментариев, предшествующие строкам ключевых слов, в выходной файл

поэтому добавьте в ваш файл пример:

// COMMENTTAG: Это еще один комментарий к блоку, который будет извлечен xgettext.

И запустите xgettext с --add-comments=COMMENTTAG

В Poedit вы можете перейти в меню "Файл / Настройки / Извлечения", выбрать подходящий язык, который вы извлекаете (в вашем случае PHP), и затем нажать "Изменить". Здесь вы можете увидеть команду, используемую для извлечения переводов:

xgettext --language=PHP --add-comments=TRANSLATORS: --add-comments=translators: --force-po -o %o %C %K %F

Вы можете увидеть и изменить здесь, как анализируются дополнительные комментарии переводчика. Ты можешь использовать // TRANSLATORS: your notes или же // translators: your notes в линии, прежде чем использовать _('your text') добавить эти комментарии к коду. Пример:

// translators: 'practice' is a verb, used on a button as an action.
echo _('practice');

Только один --add-comments параметр будет активен одновременно, поэтому // translators: устанавливается по умолчанию в Poedit.

Другие вопросы по тегам