Вставка заметок / комментариев переводчика в файлы 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.