2010-12-10 16 views
4

Dans notre application, nous avons un fichier messages.properties qui contient toutes les chaînes qui seront affichées à l'interface utilisateur. Nous avons une petite application avec quelques écrans et cela devient déjà compliqué avec des valeurs de chaîne en double tout au long.Comment organiser les entrées de propriétés Java pour l'internationalisation?

Actuellement, nous l'avons organisé avec des chaînes de caractères spécifiques aux pages séparées par des espaces et des commentaires, avec une section pour chaque fichier jsp avec le nom de la propriété ayant un préfixe du nom de la page. Nous avons également des sections pour les entités, par exemple, partout où nous affichons l'adresse e-mail de l'utilisateur, nous ferions référence à la propriété user.email pour l'étiquette de ce champ d'entrée ou de sortie. Nous avons une autre section pour les messages d'erreur et de statut, et enfin une dernière section avec des messages globaux comme "Soumettre" et "Annuler"

Il doit y avoir un meilleur moyen, et je me demande si vous savez de quoi il s'agit.

+1

Voilà à peu près l'état des choses, juste là. Vous pouvez toujours diviser en plusieurs fichiers, mais c'est à peu près la même chose dans mon expérience. - Nonexpert –

Répondre

5

Je ne pense pas qu'il existe un "meilleur moyen" universel. J'ai essayé de googler pour des conseils de «meilleure pratique» sur ceci, et ai trouvé rien qui a parlé de la meilleure manière de structurer l'espace de noms de propriété pour i18n.

(Ce que je trouve un peu surprenant. Il y a généralement quelqu'un là-bas qui est prêt à présenter leurs opinions irréfléchies sur quelque chose comme ceci comme « meilleure pratique ». Ou peut-être, je suis trop cynique.)

FWIW, mon conseil général serait:

  • être systématique et cohérente sur les noms de propriété et la structure du fichier de propriétés ,.
  • n'ayez pas peur d'utiliser l'héritage du regroupement de ressources s'il y a beaucoup de duplication,
  • si les fichiers de propriétés ou les regroupements de ressources deviennent trop grands, partitionnez-les.

Mais je m'attends à ce que vous sachiez déjà et fassiez tout cela.

Enfin, ne soyez pas trop accroché pour obtenir ce "juste". Il n'y a pas de solution parfaite, et ce que vous faites actuellement est probablement assez bon ... selon les critères de celui qui vous paie pour faire ce travail.

+1

J'ai eu le même résultat quand j'ai essayé Google pour obtenir des conseils sur les meilleures pratiques, c'est pourquoi je l'ai apporté ici. Je suppose que je suis content que vous n'ayez pas pu simplement coller un lien lmgtfy comme réponse. – digitaljoel