2014-07-05 9 views
5

Ho enormi problemi nella mia symfony linea ottenendo 2,4 ambiente di interruzioni di lavoro nella mia traduzionesymfony2: come includere interruzioni di riga/newline nelle traduzioni?

io ve provato entrambi:

#messages.de.yml 
foo: | 
    Hello i am a line 
    Hello i am a new line 

e

#messages.de.yml 
foo: > 
    Hello i am a line 
    Hello i am a new line 

ramoscello

#template.html.twig 
{{ 'foo'|trans }} 

la traduzione funziona ma le interruzioni di riga non lo sono .

Forse ho sbagliato, ma penso di aver fatto esattamente quello che dicono le documentazioni.

risposta

9

Twig non converte automaticamente gli avanzamenti di linea in <br />.

Utilizzare il filtro nl2br.

#template.html.twig 
{{ 'foo'|trans|nl2br }} 

io non sono del tutto sicuro, ma alla fine si dovrà aggiungere \n alle corde traduzione Additonally.

#messages.<locale>.yml 
foo: > 
    Hello i am a line \n 
    Hello i am a new line 
+1

"Non sono del tutto sicuro, ma alla fine si dovrà aggiungere \ n per le stringhe di traduzione Additonally. " L'annotazione ['pipe'] (http://www.yaml.org/spec/1.2/spec.html#id2760844) è qui per questo scopo :) – rolebi

1

Per me la seguente versione ha fatto il trucco:

foo: "| Hello \n this is a new line" 
5

In all'utilizzo file YAML:

foo: | 
    first line 
    second line 

e nel file TWIG:

<p>{{ 'foo'|trans|nl2br }}</p> 

testato on:

  • versione 2.6.6 Symfony
  • ramoscello/ramoscello 1.x-dev 6792014
Problemi correlati