E-mail à l'aide de l'Internationalisation de Vitesse/FreeMarker Modèles
Comment puis-je obtenir i18n à l'aide d'un moteur de template tels que la Vitesse ou FreeMarker pour la construction du corps du message?
Généralement les gens ont tendance à créer des modèles comme:
<h3>${message.hi} ${user.userName}, ${message.welcome}</h3>
<div>
${message.link}<a href="mailto:${user.emailAddress}">${user.emailAddress}</a>.
</div>
Et ont un regroupement de ressources créé avec des propriétés comme:
message.hi=Hi
message.welcome=Welcome to Spring!
message.link=Click here to send email.
Cela crée un problème de base: Si mon .vm
fichiers devient grande, avec beaucoup de lignes de texte, il devient fastidieux de les traduire et de les gérer chacune séparées regroupement de ressources (.properties
) des fichiers.
Ce que j'essaie de faire, c'est avoir une .vm
fichier créé pour chaque langue, quelque chose comme mytemplate_en_gb.vm, mytemplate_fr_fr.vm, mytemplate_de_de.vm
, puis en quelque sorte dire à la Vélocité/Printemps ramasser le droit l'une basée sur les paramètres Régionaux d'entrée.
Est-ce possible au Printemps? Ou devrais-je être à la recherche à peut-être plus simple et évident que les approches alternatives?
Note: j'ai déjà vu le Printemps tutoriel sur la façon de créer des corps de message à l'aide de moteurs de template. Mais il ne semble pas répondre à ma question sur i18n.
Vous devez vous connecter pour publier un commentaire.
Il s'avère à l'aide d'un modèle et de plusieurs langues.des fichiers de propriétés de victoires sur le fait d'avoir plusieurs modèles.
Il est encore plus difficile à maintenir si votre e-mail de la structure est dupliqué sur plusieurs
.vm
fichiers. Aussi, on va avoir à ré-inventer le mécanisme de secours de ressources. Des offres de ressources d'essayer de trouver le plus proche donné un jeu de paramètres régionaux. Par exemple, si la locale esten_GB
, il essaie de trouver ci-dessous les fichiers dans l'ordre, de revenir à la dernière si aucune n'est disponible.Je vais poster (en détail) ce que j'avais à faire pour simplifier la lecture des offres de ressources de la Vitesse de circulation de modèles ici.
Accéder à des Ressources d'un Faisceau de Vitesse modèle
Configuration Spring
TemplateHelper Classe
Vitesse Modèle
J'ai dû créer un court de main macro,
msg
afin de les lire à partir d'un message faisceaux. Il ressemble à ceci:Regroupement De Ressources
Utilisation
Voici la solution (un seul modèle, plusieurs fichiers de ressources) pour Freemarker.
le programme principal
MessageResolverMethod classe
}
Le template Freemarker