2 votes

La localisation au niveau de l'entreprise

Nous écrivons une application ASP.NET MVC et de temps en temps nous avons besoin d'ajouter une chaîne à une description ou une note qui n'est pas générée par l'interface utilisateur à un enregistrement de base de données. Par exemple, si nous devons annuler une transaction, nous ajouterons le mot "Reverse" à la description de la transaction originale.

Quelle est la meilleure façon de localiser ces chaînes que nous devons ajouter de temps en temps ? Sur le projet Web, nous utilisons des fichiers de langue de ressource, donc tout est vraiment pris en charge par le cadre .net. Peut-on faire en sorte qu'un projet de bibliothèque de classes (la couche métier) profite de la localisation automatique comme un projet Web ?

2voto

Dario Solera Points 2804

Ce que nous faisons habituellement, c'est d'avoir des fichiers de ressources supplémentaires dans les projets back-end. En général, ils ne deviennent pas si gros, donc je pense que c'est sans danger. Habituellement, vous pouvez alors accéder à ces ressources comme ceci :

string dummy = Properties.ResourceFileName.Reverse;

Si vous ajoutez un fichier de ressources dans Visual Studio, l'IDE se chargera de générer le code requis pour que cela fonctionne.

Pour votre exemple, je vous suggère d'avoir une chaîne comme celle-ci :

Reverse {0}

Alors, remplacez {0} avec la description de la transaction réelle. De cette façon, le traducteur sera en mesure de déplacer {0} avant "Reverse" au cas où la langue spécifique l'exigerait. Il ne s'agit que d'un exemple, mais les meilleures pratiques nous suggèrent d'éviter de concaténer des chaînes de caractères localisables, car elles peuvent se casser dans différentes langues. Exemple :

string dummy = string.Format(Properties.ResourceFileName.Reverse, transactionDescription);

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