Интернационализация электронной почты с использованием шаблонов Velocity / FreeMarker
Как я могу достичь i18n, используя шаблонизатор, такой как Velocity или FreeMarker, для создания тела электронной почты?
Обычно люди склонны создавать шаблоны, такие как:
<h3>${message.hi} ${user.userName}, ${message.welcome}</h3>
<div>
${message.link}<a href="mailto:${user.emailAddress}">${user.emailAddress}</a>.
</div>
И создать пакет ресурсов со свойствами, такими как:
message.hi=Hi
message.welcome=Welcome to Spring!
message.link=Click here to send email.
Это создает одну основную проблему: если мой.vm
файлы становятся большими со многими строками текста, становится утомительным переводить и управлять каждым из них в отдельном пакете ресурсов (.properties
) файлы.
То, что я пытаюсь сделать, это иметь отдельный.vm
файл, созданный для каждого языка, что-то вродеmytemplate_en_gb.vm, mytemplate_fr_fr.vm, mytemplate_de_de.vm
и затем как-то сказать Velocity / Spring подобрать правильный, основанный на вводе Locale.
Это возможно весной? Или я должен искать, возможно, более простые и очевидные альтернативные подходы?
Примечание: я уже виделВесенний учебник о том, как создавать тела электронной почты с использованием шаблонизаторов. Но, похоже, он не отвечает на мой вопрос о i18n.