2016-08-16 8 views
1

私はsymfony(3.1.3)の最新バージョンを使用しています 私は複数のヴァーサーを使いたいと思っています。 しかし、私は今、私がやっているSymfony Transl

を見つけて、良い解決策ではありませんでした:

{% block h1 %}{{ 'service.create'|trans }} {{ ('service'|trans) }}{% endblock %} 

を私は試してみてください。

{% block h1 %}{{ 'service','service.create'|trans }} }} { %endblock %} 

が、運。

public function indexAction($name) 
{ 
    $translated = $this->get('translator')->trans('Hello '.$name); 

    return new Response($translated); 
} 

または小枝テンプレート内:

<h1>{{ 'service.create'|trans }}</h1> 

私はまた、あなたがバックエンドで文字列を翻訳することができます

{% trans %}service.create|service{% endtrans %} 

おかげ

+0

私はわからないが、これは動作しますが、あなたはこれを試すことができます: '{%ブロックさh1%} {{( 'サービス'、 'service.create')|トランス}}}} {%endblock%} '、これは多分:http://stackoverflow.com/questions/22984545/how-to-translate-concatenated-string-in-twig-template-using-symfony2-translatorまたはthis http:// stackoverflow .com/questions/7730355/translating-using-variables-in-symfony2-twig-is-possibleはあなたを助けることができます。 – Perry

+0

not good ..開いたかっこが正しく閉じられていません。値 "、"(値 ")"の予期しないトークン "句読点") –

+0

は、 '、'で '、'を置き換えます。また、変数が引用符で囲まれているのはなぜですか? –

答えて

0

てみてくださいあなたは新しい翻訳リソースを作成します(または翻訳リソースが含まれてバンドルをインストール)するたびに、symfonyは新しい翻訳リソースを発見することができるように、あなたのキャッシュをクリアしてください:

php bin/console cache:clear 

さらに詳しい情報:http://symfony.com/doc/current/translation.html

0

私は複数のバールをトランストランスする必要がありました。あなたのseparatorがHTMLである場合

そして、あなたのmessages.ru.ymlで

... 
service: 
    create: ... %separator% ... 
    ... 

: 小枝それをサポートしていません...

1

をあなたはこのようなあなたの翻訳でパラメータを使用することができます次のようにrawを追加します。

{{ 'service.create'|trans({'%separator%': '<br>'})|raw }} 

ここで

{{ service.create|trans({}, "service") }} 

翻訳者があなたのservice.yml.enファイルで検索します:あなたがそのような「service.yml.en」ファイルか何かを持っている場合は、symfonyのドキュメントhere

0

で詳細を持っています正しい変換キーをロードしてください。

事前翻訳を行いたい場合は、(例えば)そのようなVARSを使用することができます。ここでは

{{ (className|lower ~ "." ~ field)|trans({}, className|lower) }} 

あなたが「user.yml.en」を持っていて、のようなものをロードしたい場合は " user.width "、それは動作します。

幸運:)