Pregunta

Los archivos de mensajes I18N incorporados para Yesod son muy agradables, pero he notado dos problemas:

  1. No parece permitir comentarios. Estos pueden ser muy útiles para dar a los traductores (o recordarme) el contexto de un mensaje. ¿Hay una sintaxis de comentarios que me perdí?
  2. Los <y> caracteres están enviados a HTML. Esto evita agregar bits simples de HTML, como u003Cem>a un mensaje. Además de codificar mensajes en archivos .hs, ¿hay una solución alternativa en esto?u003C/em>

¡Gracias por cualquier sugerencia!

¿Fue útil?

Solución

  1. Los comentarios se hacen haciendo líneas que comienzan con #.
  2. Puede que no sea una buena idea obligar a los traductores a lidiar con las etiquetas HTML si no están familiarizadas con ellas. Además, ¿qué pasa si desea cambiar algunos detalles de implementación más adelante, como decidir que desea reemplazar <span class="foo">foo</span> con <em>foo</em>?

    En cambio, sugeriría usar un poco de sintaxis similar a Markdown con Something that needs to be *emphasized*.. Luego puede procesar las cadenas con las diversas bibliotecas de Markdown en Hackage.

    Esto es fácil de hacer automáticamente si evita usar el mkMessage Templatehaskell Función para generar sus mensajes y, en su lugar, hacer la suya propia RenderMessage Implementación de clase que utiliza un procesador de sintaxis de Markdown. No veo una forma de hacerlo mientras mantengo el mkMessage Invocación, pero sé que @Michael-Snoyman, el creador de Yesod, podría haber ocultado un gancho en la API en algún lugar que permita que esto suceda, y generalmente lee estas preguntas al respecto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top