3 votes

Comment puis-je accéder aux messages d'un modèle JavaScript dans Play ! Framework ?

J'ai un modèle public/js/templates/info.html :

<div class="info">
    <div class="button">&{'info.close'}</div>
    <div class="info-title"><%= title %></div>
    <div class="info-text"><%= description %></div>
</div>  

&{'info.close'} devrait imprimer le texte "Close Info" des messages - mais dans la page web, je vois "&{'info.close'}".

Cela fonctionne parfaitement dans une vue html, mais pas pour les modèles. J'utilise des modèles JavaScript qui sont fournis avec backbone.js/underscore.js.

Comment y parvenir ?

1voto

mericano1 Points 1579

Vous pouvez utiliser le Balise i18n

1voto

Codemwnci Points 28817

Les ressources du répertoire public sont considérées comme des éléments de données statiques. Elles ne sont pas traitées par Play par l'intermédiaire du moteur de création de modèles, mais sont simplement servies telles quelles.

Si vous souhaitez utiliser des données dynamiques, y compris des fichiers javscript internationalisés, plusieurs options s'offrent à vous.

  1. Chargez les données du message internationalisé en tant que réponse JSON à partir de votre javascript.
  2. Définir les modèles à l'intérieur de votre vue, plutôt que dans un fichier séparé
  3. Charger le fichier via l'action du contrôleur comme s'il s'agissait de n'importe quelle autre vue

Vos besoins spécifiques détermineront l'approche la mieux adaptée à votre application.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X