È possibile aggiungere commenti o tag HTML ai file di messaggi di Yesod?
-
27-10-2019 - |
Domanda
I file di messaggi I18N integrati per Yesod sono molto belli ma ho notato due problemi:
- Non sembra consentire commenti. Questi possono essere molto utili per dare ai traduttori (o ricordarmi) il contesto per un messaggio. C'è una sintassi dei commenti che mi sono perso?
- I caratteri <e> sono scappati HTML. Ciò impedisce l'aggiunta di semplici bit di HTML come u003Cem>a un messaggio. Oltre ai messaggi di codifica in file .hs, c'è una soluzione alternativa?u003C/em>
Grazie per eventuali suggerimenti!
Soluzione
- I commenti vengono fatti facendo linee a partire da
#
. Potrebbe non essere una buona idea costringere i traduttori a gestire i tag HTML se non hanno familiarità con loro. Inoltre, cosa succede se si desidera modificare alcuni dettagli di implementazione in seguito, come decidere di voler sostituire
<span class="foo">foo</span>
insieme a<em>foo</em>
?Invece, suggerirei di usare una sintassi simile a un markdown con
Something that needs to be *emphasized*.
. È quindi possibile post-elaborare le stringhe con le varie librerie di markdown su hackage.Questo è facile da fare automaticamente se si evita di usare il
mkMessage
Funzione TempLateHaskell per generare i tuoi messaggi e invece crea il tuoRenderMessage
Implementazione della classe che utilizza un processore di sintassi Markdown. Non vedo un modo per farlo mantenendo ilmkMessage
Invocation, ma so che @Michael-Snoyman, il creatore di Yesod, potrebbe aver nascosto un gancio nell'API da qualche parte che permette a questo che ciò accade, e di solito legge queste domande su così.