2011-10-18 2 views
8

, ben sadece bunu yapıyordum:Symfony2'nin + Twig, çeviri karşılığında değişken "Bir mesajın basit bir metin olmalıdır" Ben düz PHP üzerinde çalıştığım dönemde

printf(_("Hello %s !"), $name); 

Şimdi dal ile, ben trans etiketi kullanılmalıdır . Yani kopyala/documentation example yapıştırmak ettik ve burada benim tam şablon var:

{% extends 'MyAppBundle::layout.html.twig' %} 

{% block content %} 
    <h1> 
     {% trans %} 
      Hello {{ name }}! 
     {% endtrans %} 
    </h1> 
{% endblock %} 

Neden Symfony'nin aşağıdaki exeption dönmek?

bir mesaj "MyAppBundle :: home.html.twig"

500 iç sunucu hatası içinde basit bir metin olmalıdır - Twig_Error_Syntax

çeviriler için kesin sözdizimi biraz farklıdır

cevap

11

Symfony2, bağımsız Twig'den daha fazladır. Twig şablonları çevirileri için Symfony2 belgelerine bir göz atmak istersiniz, bulundu here. Doğru sözdizimi şu şekilde görünecektir: Bir önceki cevapla

{% trans %}Hello %name%!{% endtrans %} 
+3

Hey teşekkürler! Bu sözdizimini de buldum: {{'welcome.message' | trans ({'% titre%': name})}} – FMaz008

+0

Aynı durum bağımsız Twig. Bu çalışıyor, teşekkürler. – umpirsky

21

biri eksik biraz mesajın değişken kısmının değiştirilmesini yapmak için gerekli olan kısım "ile".

{% trans with {'%name%':name} %}Hello %name%!{% endtrans %} 
+4

Seçilen yanıt – Simon

+0

olmalıdır. Geçerli belgelere göre 'with' bölümünü kullanmanıza gerek yoktur, bkz. Http://symfony.com/doc/current/translation.html#twig-templates – hchr

İlgili konular