Je développe mon premier site C# multilingue et tout va bien, sauf pour un aspect crucial. Je ne suis pas sûr à 100% quelle est la meilleure option pour stocker des chaînes (généralement des mots simples) qui seront traduites par le code de mon code derrière les pages.Dois-je stocker le contenu de localisation dans l'état de l'application
Sur la page d'accueil du site, je vais utiliser les fichiers de ressources asp.net pour le libellé des pages. Cette partie est bien. Cependant, ce site fera des appels XML et les réponses XML ne seront jamais qu'en anglais. On m'a donné une feuille d'Excel avec tous les mots qui seront retournés par le XML cassé dans les différentes langues mais je ne suis pas sûr de la meilleure façon de stocker/accéder à cette information. Il y a environ 80 mots x 7 langues.
Je pense à la création d'un objet dictionnaire pour chaque langue créée par mon fichier global.asax au moment de l'exécution de l'application et je le garde juste en mémoire. Le côté positif pour cela est que l'objet dictionnaire ne devra être créé qu'une seule fois (jusqu'à ce que IIS redémarre) et puisse être consulté par n'importe quel utilisateur sans avoir besoin d'être reconstruit mais l'inconvénient est que j'ai 7 objets dictionnaire constamment stockés en mémoire. Le serveur est un Win 2008 64bit avec 4 Go de RAM donc devrais-je même être préoccupé par la mémoire prise en utilisant cette méthode?
Selon vous, quel est le meilleur moyen de stocker/récupérer les différents mots de langue qui seraient utilisés par tous les utilisateurs?
Merci de votre participation.
Rich
Merci pour votre aide. Mon problème est que je cherche juste à localiser les chaînes. Ceux-ci ne seront pas liés à des contrôles, donc je ne pense pas que je peux utiliser les fichiers resx pour cela. Puis-je? –
Que utiliserez-vous les chaînes localisées pour comme dans comment allez-vous les afficher à l'utilisateur? –
Je pensais que sur le chargement de la page j'appellerais simplement l'objet du dictionnaire pour la langue que je veux en fonction de la langue sélectionnée et trouver la clé qui correspond à la chaîne que je cherche. Par exemple: si je voulais remplacer le mot "Door" renvoyé par le XML et l'afficher en français, j'aurais quelque chose comme: Dictionary XMLWording = (Dictionnaire ) Application ["FrenchXMLWording "]; alors quelque chose comme XMLWording ["Door"]; écrire sur l'écran. J'espère que cela a du sens;) –