Ist es möglich, Kommentaren oder HTML -Tags zu den Nachrichtendateien von Yesod hinzuzufügen?

StackOverflow https://stackoverflow.com/questions/9343756

Frage

Die integrierten i18N-Nachrichtendateien für Yesod sind sehr nett, aber ich habe zwei Probleme bemerkt:

  1. Es scheint keine Kommentare zuzulassen. Diese können sehr hilfreich sein, um Übersetzer für eine Nachricht den Kontext zu geben (oder mich daran zu erinnern). Gibt es eine Kommentarsyntax, die ich verpasst habe?
  2. Die <- und> Zeichen sind HTML-Escaped. Dies verhindert das Hinzufügen einfacher HTML -Teile wie u003Cem>einer Nachricht. Abgesehen davon, dass Nachrichten in .HS -Dateien codieren, gibt es eine Problemumgehung?u003C/em>

Vielen Dank für alle Vorschläge!

War es hilfreich?

Lösung

  1. Kommentare werden durch die Erstellung von Zeilen mit Beginn mit #.
  2. Es ist möglicherweise keine gute Idee, Übersetzer zu zwingen, mit HTML -Tags umzugehen, wenn sie nicht mit ihnen vertraut sind. Was ist auch, wenn Sie später einige Implementierungsdetails ändern möchten, wie die Entscheidung, dass Sie ersetzen möchten? <span class="foo">foo</span> mit <em>foo</em>?

    Stattdessen würde ich vorschlagen, eine Markdown-ähnliche Syntax mit zu verwenden Something that needs to be *emphasized*.. Sie können dann die Saiten mit den verschiedenen Markdown-Bibliotheken auf Hackage nachbearbeiten.

    Dies ist einfach automatisch zu tun, wenn Sie die Verwendung der verwenden mkMessage TemplateHaskell -Funktion zum Generieren Ihrer Nachrichten und stattdessen Ihre eigene Erstellung RenderMessage Klassenimplementierung, die einen Markdown -Syntaxprozessor verwendet. Ich sehe keinen Weg, es zu tun, während ich das behalten kann mkMessage Aufruf, aber ich weiß, dass @Michael-Snoyman, der Schöpfer von Yesod, einen Haken in der API irgendwo versteckt hat, der dies zulässt, und er liest normalerweise diese Fragen dazu.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top