2012-09-24 12 views
5

Estoy usando el archivo de mensajes de Internacionalización en Play. En mi archivo tengo messages.en:marcación html en los mensajes de Play Framework

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

pero esto se pone de salida como

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

¿Es posible escapar html en el archivo messages.en por lo que son de salida 'tal cual'

+0

pregunta más difícil es cómo evitar codificar la URL y crea de esta manera: support.msg = Haga clic aquí para ponerse en contacto con support cosmolev

Respuesta

15

Por defecto, ¡Juega! escapa automáticamente de las cadenas utilizadas en una vista. Si desea enviar texto en bruto (incluido el HTML), ajuste la variable en Html().

Example from the docs:

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

Thx - para este hizo el truco para mí: @Html (Mensajes ("queryPage.supportText")) – Kevin

+0

Además, es mejor dejar el marcado de los mensajes y simplemente colocar el texto que necesita i18n. De esta forma, si el enlace cambia o cambia la forma en que funciona el "soporte", solo tiene que cambiarlo en sus rutas. –

+1

De hecho, para las etiquetas que cambian con frecuencia sería mejor colocarlas en la base de datos, por lo que podría cambiarlas sin volver a implementar toda la aplicación, sugerencia: al usar la memoria caché común también evitará las frecuentes consultas DB. – biesior