2015-06-18 3 views
0

Можно ли перевести значение переменных ветки в шаблон с тегом 'trans'?Перевести значение переменной веточки

Скажем, например, я передаю продукт в свой шаблон. Этот продукт имеет определение с тэгом trans, например {{ product.definition|trans }}. Это определение может быть как в EN, так и в DE или на каком-либо другом языке. Как я мог перевести определение.

+0

http://symfony.com/doc/current/book/translation.html#translating-database-content – smarber

ответ

0

Если {{ product.definition }} равно «сотовый телефон», следующее должно работать.

message.language.yml:

'cellphone': This will work! 

Однако, если вы хотите, чтобы отобразить его с помощью ключа «продукта» в файле сообщений, как это:

product: 
    'cellphone': This also works 

добавить ключ к веточке шаблон так:

{{('product.'~product.definition)|trans }} 
0

что вы пытаетесь сделать, это не лучший способ, это будет выглядеть следующим образом:

messages.en.yml

product: 
    definition: 
     some_value1: Some value 1 
     some_value2: Some value 2 

и в шаблоне, вы могли бы сделать что-то вроде этого:

{% set definition_value = product.definition %} 
{% set trans_definition = 'product.definition.' ~ definition_value %} 
{{ trans_definition|trans }} 

это будет работать, если он найдет ключ. Что, если он не может найти его?

Вот почему вы должны использовать DoctrineBehaviors от KnpLabs, который обрабатывает все динамические переводы для вас ..

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