Можно ли добавить комментарии или теги HTML в файлы сообщений Yesod? - PullRequest
4 голосов
/ 18 февраля 2012

Встроенные файлы сообщений i18n для Yesod очень хороши, но я заметил две проблемы:

  1. Кажется, это не позволяет комментировать. Это может быть очень полезно, чтобы дать переводчикам (или напомнить себе) контекст сообщения. Есть ли синтаксис комментариев, который я пропустил?
  2. Символы <и> экранированы от HTML. Это предотвращает добавление в сообщение простых битов HTML, таких как . Помимо кодирования сообщений в файлах .hs есть ли обходной путь к этому?

Спасибо за любые предложения!

1 Ответ

5 голосов
/ 18 февраля 2012
  1. Комментарии создаются линиями, начинающимися с #.
  2. Возможно, не стоит заставлять переводчиков работать с тегами HTML, если они не знакомы с ними. Кроме того, что если вы захотите изменить некоторые детали реализации позже, например, решив, что хотите заменить <span class="foo">foo</span> на <em>foo</em>?

    Вместо этого я бы предложил использовать синтаксис, подобный Markdown, с Something that needs to be *emphasized*.. Затем вы можете постобработать строки с различными библиотеками Markdown в Hackage.

    Это легко сделать автоматически, если вы не будете использовать функцию mkMessage TemplateHaskell для генерации ваших сообщений и вместо этого создадите собственную реализацию класса RenderMessage, которая использует синтаксический процессор Markdown. Я не вижу способа сделать это, сохраняя вызов mkMessage, но я знаю, что @ michael-snoyman, создатель Yesod, мог где-то спрятать хук в API, который позволяет этому происходить, и он обычно читает эти вопросы на SO.

...