【问题标题】:Translate the value of twig variable翻译 twig 变量的值
【发布时间】:2015-06-18 09:44:00
【问题描述】:

是否可以用'trans'标签翻译模板中twig变量的值?

例如,我将产品传递给我的模板。该产品有一个带有反式标签的定义,例如{{ product.definition|trans }}。这个定义可以是 EN 或 DE 或其他一些语言。我该如何翻译这个定义。

【问题讨论】:

标签: symfony twig translation template-engine


【解决方案1】:

你想做什么不是一个好方法,它看起来像这样:

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 }}

它会工作,如果它找到了钥匙。找不到怎么办?

这就是为什么你应该使用来自 KnpLabs 的DoctrineBehaviors,它会为你处理所有的动态翻译..

【讨论】:

    【解决方案2】:

    如果{{ product.definition }} 等于“手机”,则以下应该可以工作。

    message.language.yml:

    'cellphone': This will work!
    

    但是,如果您想将其与消息文件中的“产品”键映射,如下所示:

    product:
        'cellphone': This also works
    

    像这样将密钥添加到树枝模板中:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多