【问题标题】:In Twig, how do I use a dynamic key when translating在 Twig 中,我如何在翻译时使用动态键
【发布时间】:2015-08-22 05:09:38
【问题描述】:

在我的翻译 yml 文件中,我有这些翻译设置

pages:
    training_missions:
        ...
        application_name:
            admin: "Admin Website"
            mobile: "Mobile App"
            kiosk: "Kiosk"

在我的 twig 文件中,我需要动态设置 application_name,但我无法让它正常工作。

这会翻译得很好,它给了我“移动应用程序”

{{ 'pages.training_missions.application_name.mobile' | trans()}}

但这不起作用,它给了我“pages.training_missions.application_name.mobile”

{{ 'pages.training_missions.application_name.'~trainingMission.application | trans() }}

编辑: 变量 trainingMission.application 包含我放在 yaml 文件中的 3 个字符串之一:admin、mobile、kiosk

编辑 2: 解决方案是按照@Matteo 'Ingannatore' G. 注释将字符串括在括号中

【问题讨论】:

  • 您是否尝试过使用{{ ('pages.training_missions.application_name.' ~ trainingMission.application)|trans() }}
  • 已经解决了,谢谢
  • @MatteoG。您应该将此作为答案提交。

标签: twig


【解决方案1】:

使用数组访问器语法:

{{ pages[training_missions].application_name.mobile }}

【讨论】:

  • pages 不是变量,它只是我的 messages.en.yml 文件中的翻译字符串。所以我只能使用 Twigs 2 trans 方法之一访问它 {% trans %}xxxxx{% endtrans %} 或 {{ 'xxxxx' |反式()}}
猜你喜欢
  • 1970-01-01
  • 2017-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多