ZF2: как перевести аннотации формы?

Это способ перевести аннотации в документацию?

Вот пример моего фактического кода:

  /**
*
* The Item Name
* @var string
* @Annotation\Options({"label":"Name"})
* @Annotation\Attributes({"type":"text"})
* @ORM\Column(type="string", length=128, nullable=false, unique=true)
*/
private $name;

Чтобы перевести сгенерированную метку формы в мой файл шаблона (я использую веточку):

 <label for="{{field.getName()}}">
{{translate(field.getLabel())}}:
</label>

Это работает хорошо, за исключением того, что такой анализатор, как POEdit, не может придумать термин «Имя» таким способом. Сейчас я использую частный метод в своей модели, чтобы сообщить парсеру, что термины существуют … Но это грязно …

/**
* Unused in the software, used by external parser.
*/
private final function parseTranslations()
{
$this->translate('Name');
return null;
}

Есть ли лучшее решение, чтобы исправить это и перевести термины в документы?

0

Решение

Нет никакого способа заставить poedit распознавать текст для перевода из аннотации. Poedit использует xgettext для разбора файлов, а этот просто игнорирует строки комментариев.

Подумайте над тем, чтобы написать собственный анализатор, чтобы исправить это поведение. Создание .po файлов не так сложно, как кажется. Затем вы должны скомпилировать его в двоичный формат .mo с помощью инструмента msgfmt.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]