2012-01-04 7 views
34

私は、翻訳のための変数を定義するtwigファイルとymlを持っています。 :変数を使用してtwigファイルの翻訳を処理する方法は?

YMLファイル - 小枝ファイルの
variable.for.translation: Disponible, para tí

コンテンツ -

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

私は翻訳ファイルに

Hola, Follow {{ variableName }} en Twitter 

のための変数を作りたかった(つまり、私のymlファイル)。
は現在、私はこのようにそれをやっている: - 小枝で

follow.us.twitter: Hola, Follow 

follow.us.twitter1: en Twitter 

から
YMLで

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

そのが正常に動作しますが、問題は、私は今、小枝で3つの変数を持っていることですあまりにも多くのです:

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

私のような1つの変数でそれを実行しようとしました。

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

変数{ie {variableName}}が使用されています。
定義済みの変数を処理して変換ファイルで定義する方法はありますか?
お時間をありがとうございます。

答えて

59

あなたは正しい軌道に乗って行っていた、何を逃したことがちょうどトランス(へパラメータとしてvariableNameにを渡すことです)、あなたの小枝ファイル中:

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

YMLファイルで今すぐあなたのメッセージは次のようになります。

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

これは動作するはずです。 詳しくは、以下を参照してください。 Symfony Book

幸運。

+0

もし私がtwigに多くの引数を渡せば、Twigはtransにそれらを定義することなく配列全体を使うことができないのですか?したがって、私が持っている場合: '{{reminder.Email | trans({'%firstName%':firstName、 '%lastName%':lastName、 '%siteUrl%':siteUrl})}}' なぜできないのですか?単に%var%をvarに置き換えるために使用される配列全体をマップしますか? – rolandow

+0

これをこれに置き換えた方が良いでしょう。 {'%variableName%':variableName} ===> {'%variableName%':variableValue} – Nandakumar

関連する問題