【问题标题】:How to handle Translation in twig file using variables?如何使用变量处理树枝文件中的翻译?
【发布时间】:2012-02-02 08:10:51
【问题描述】:

我有一个 twig 文件和一个 yml,我在其中定义了用于翻译的变量

例如:

YML 文件 -
variable.for.translation: Disponible, para tí

Twig 文件的内容 -

<h2>"Hola, Follow {{ variableName }} en Twitter</h2>  

我想为

做一个变量
Hola, Follow {{ variableName }} en Twitter

在翻译文件(即我的 yml 文件)中。
目前我正在这样做:
在 YML 中 -

follow.us.twitter: Hola, Follow 

follow.us.twitter1: en Twitter 

在树枝上 -

<h2>{{ "follow.us.twitter"|trans([], "workend") }} {{ variableName }} {{ "follow.us.twitter1"|trans([], "workend") }}</h2> 

它工作正常,但问题是我现在在一根树枝中有 3 个变量太多了:

 1. follow.us.twitter
 2. follow.us.twitter1
 3. {{ variableName }}

我试着用一个变量来做,像这样:

follow.us.in.twitter : Hola, Follow {{ variableName }} en Twitter 
and  
<h2>{{ "follow.us.in.twitter"|trans([], "workend") }}</h2>

但它没有用。问题是 我正在使用的变量,即 {{ variableName }}

有没有办法处理一个预定义的变量并在翻译文件中定义它?

【问题讨论】:

    标签: symfony translation twig code-translation bundles


    【解决方案1】:

    你走在正确的轨道上,你错过的只是将 someVariable 作为 参数 传递给你的 Twig 文件中的 trans():

    <h2>{{ "follow.us.in.twitter"|trans({'%someVariable%': someVariable}, "workend") }}</h2>
    

    现在您在 Yml 文件中的信息应该是:

    follow.us.in.twitter: Hola, Follow %someVariable% en Twitter
    

    这应该可行。 有关更多详细信息和清晰度,您可以参考以下内容: Symfony Book

    祝你好运。

    【讨论】:

    • 如果我将许多参数传递给 twig,Twig 不能只使用整个数组而不将它们定义为 trans 吗?因此,如果我有:{{ reminder.Email|trans({'%firstName%' : firstName, '%lastName%' : lastName, '%siteUrl%' : siteUrl}) }} 为什么不能只映射整个数组,它将用于将 %var% 替换为 var?
    • 如果换成这个会更好.. {'%variableName%': variableName} ===> {'%variableName%': variableValue}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    相关资源
    最近更新 更多