Domanda

I file di messaggi I18N integrati per Yesod sono molto belli ma ho notato due problemi:

  1. 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?
  2. 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!

È stato utile?

Soluzione

  1. I commenti vengono fatti facendo linee a partire da #.
  2. 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 tuo RenderMessage Implementazione della classe che utilizza un processore di sintassi Markdown. Non vedo un modo per farlo mantenendo il mkMessage 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ì.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top