2012-09-24 6 views
5

Sto utilizzando il file dei messaggi di Internazionalizzazione in Play. Nel mio file messages.en ho:markup html nei messaggi Play Framework

support.msg=Click here to contact <a href="support.html">support</a> 

ma questo diventa uscita come

&lt;a href=&quot;support.html&quot;&gt;support&lt;/a&gt; 

E 'possibile sfuggire HTML in file di messages.en in modo che siano in uscita 'come è'

+0

domanda più difficile è come evitare hardcoding l'URL e farlo in questo modo: support.msg = Clicca qui per contattare support cosmolev

risposta

15

Per impostazione predefinita, Riproduci! fugge automaticamente le stringhe utilizzate in una vista. Se desideri esportare il testo non elaborato (incluso l'HTML), racchiudi la variabile in Html().

Example from the docs:

<p> 
    @Html(article.content)  
</p> 
+3

Thx - per questo ha fatto il trucco per me: @Html (Messaggi ("queryPage.supportText")) – Kevin

+0

Inoltre, potrebbe essere meglio lasciare il markup fuori dai messaggi e inserire semplicemente il testo su cui hai bisogno di i18n. In questo modo, se il collegamento cambia o si modifica il funzionamento del "supporto", è sufficiente modificarlo nei percorsi. –

+1

Di fatto, per cambiare frequentemente le etichette sarebbe meglio metterle nel database, così è possibile cambiarle senza ridistribuire l'intera applicazione, suggerimento: usando la cache comune eviterete anche le frequenti richieste di DB. – biesior