2016-07-29 19 views
3

Я хочу разобрать шаблоны ветви для Timber с poedit, и мне нужно перевести цитированное содержимое. Проблема в том, что я не могу найти парсер, который не пропускает цитируемый контент.Как разбирать шаблоны Timber (twig) с poedit и обнаруживать цитируемые строки для перевода

Пример:

<htmltag attribute="{{ __('value','textdomain') }}" /> 

ли кто-то знает порсер для PoEdit, который детектирует цитируемое содержание, как HTML содержимого атрибута?

ответ

2

Обходной путь, который я нашел, - это установить переменную и использовать ее в качестве значения моего атрибута.

{% set attr_value = __('value', 'textdomain') %} 
<a href='{{ attr_value }}'>link</a> 

Таким образом, работа PHP и Python парсеры, как это было предложено в Timber documentation.

Используя Twig-Gettext-Extractor, я получаю синтаксис Twig-Error из-за непризнанной функции __().

+0

Хорошие новости, [Poedit 2 здесь] (https://poedit.net/news/introducing-poedit2). С платной версией PRO вы получаете полную поддержку Twig, а также работают переводы внутри атрибутов HTML. – Gchtr

0

Файлы Twig не распознаются автоматически при использовании Poedit. Чтобы обойти эту проблему, Timber’s documentation offers three options:

  • Либо начать каждый .twig файл с {#<?php#}
  • Или использовать The Twig Gettext Extractor, а «PoEdit дружественного инструмент, который извлекает переводы из шаблонов веточки».
  • Или использовать парсер Python. Обратитесь к documentation о том, как установить это в Poedit.

Я пошел с вариантом 3, и он работал красиво.

+0

Вы попытались с примером, приведенным в вопросе? Для меня это не работает. –

+0

Просто попробовал. Вы правы, ваш прецедент не работает с парсером Python. Вот почему: http://stackoverflow.com/a/34249157/1059980. Думаю, нам нужно ждать Poedit 2, где, как представляется, лучше поддерживать языки шаблонов, и до тех пор работать с решением, которое вы придумали. – Gchtr

+0

Спасибо @Gchtr за попытку и за подсказку о poedit 2! –

0

Если бы та же проблема с OSX Sierra, и ни один из трех решений не работал для меня:

  • Использование {#<?php#} поверх моих .twig файлов вызвал Poedit не tecognize мои строки
  • Использование Twig- Gettext-Extractor бросить много ошибок
  • использования Python компиляции бросок много ошибок слишком

Я решил использовать первый вариант ({#<?php#} на вершине м y .twig), но я также редактировал экстрактор PoEdit PHP, чтобы он мог искать также в .twig-файлах. Надеюсь, это может помочь,

ура!

+0

Действительно ли это была проблема перевода атрибутов? –

 Смежные вопросы

  • Нет связанных вопросов^_^