POEdit не извлекает строку в тегах HTML

У меня проблема с синтаксисом шаблонов лезвий Laravel. Когда есть что-то вроде:

<input placeholder="{{ __('My Tooltip') }}" />

эта строка не будет создана POEdit. Но в том же файле, если бы у меня было это:

<span>{{ __('My Tooltip') }}</span>

это нормально.

Я уже добавил новый экстрактор с последующими конфигурациями, но проблема не устранена.

Команда: xgettext --language=Python --add-comments=ПЕРЕВОДЧИКИ: --force-po -o %o %C %K %F

Элемент в списке ключевых слов: -k%k

Элемент в списке входных файлов: %f

Исходный код: --from-code=%c

Кто-нибудь может мне помочь?


person Miguel Oliveira    schedule 12.12.2015    source источник
comment
См. также stackoverflow. ком/вопросы/33910482/   -  person caw    schedule 02.02.2019


Ответы (1)


Вы лжете Poedit о содержимом этих файлов, притворяясь, что это файлы Python, даже если на самом деле это не так. Совсем не удивительно, что это не работает по вашему вкусу. Что было бы удивительно, если бы было. В этом случае причина кажется очевидной: синтаксический анализатор Python xgettext, наивно доверяющий вам и в результате безнадежно сбитый с толку, видит там " как начало строкового литерала без префикса __ и поэтому пропускает его.

Исправьте это, выполнив действия, описанные в документации: используйте специальный инструмент для извлечения строки. В случае laravel-gettext это означает использование этой команды:

php artisan gettext:update

(Предстоящий Poedit 2.0 будет иметь прямую поддержку таких языков шаблонов, но до тех пор вам нужно использовать инструменты CLI.)

person Václav Slavík    schedule 13.12.2015
comment
Спасибо за вашу помощь! Тем временем я копирую около 20/30 записей и помещаю вспомогательный файл, а POEdit уже извлекает его. Буду ждать Poedit 2.0. Дата выхода уже есть? - person Miguel Oliveira; 14.12.2015
comment
Экстрактор, который я описал выше, — это хак, который я нашел для синтаксиса вывода лезвия (фигурные скобки), и я решаю большую часть своих проблем! Я понимаю концепцию этих экстракторов (мне пришлось создать пару из них - для шаблонов нефрита, для внутренних представлений javascript и т. Д.), Но я просто хочу знать, будет ли опция команды, которую я мог бы добавить для извлечения записей даже внутри цитаты. Еще раз, спасибо за ваше предложение, но теперь люди, ответственные за управление переводами, не имеют технических навыков для работы с консолью ремесленника / оболочки, а также мне пришлось изменить расположение всех моих файлов PO. - person Miguel Oliveira; 14.12.2015
comment
Переводчики не предполагают справиться с этим. Разумный разработчик следует тому, что говорит им руководство GNU gettext, т.е. подготавливает файлы POT из исходников (использование консоли не является проблемой для разработчиков или должно быть). Это единственное, с чем должны работать переводчики, и для этого не требуется ни оболочки, ни знаний, ни доступа к исходному коду. Столько проблем сэкономлено за 10 минут изучения правильного рабочего процесса gettext... - person Václav Slavík; 15.12.2015