2011-04-01 1 views
9

Avec différents fichiers de ressources (* .resx), comment puis-je récupérer des valeurs localisées en donnant une localisation explicite.Obtention d'une valeur de ressource avec une localisation explicite

Autrement dit, normalement, je peux directement référencer l'attribut avec custom-tool-namespace.Resource.localizedAttribute.

La valeur que cela donnera dépend de la localisation qui a été définie sur CurrentCulture (thread-wise). Mais contrairement à cela, je voudrais remettre la localisation au getter des ressources. Est-ce possible?

Répondre

22

En supposant que vous avez plusieurs fichiers de ressources:

Messages.resx 
Messages.fr-FR.resx 
... 
Messages.xx-XX.resx 

tous contenant une valeur de chaîne, vous pouvez récupérer la valeur d'une culture spécifique:

var culture = new CultureInfo("fr-FR"); 
string value = Messages.ResourceManager.GetString("SomeKey", culture); 

et ce sera indépendamment de la valeur de la culture de fil en cours.

+0

Merci, il y avait tellement d'attributs que je n'ai pas remarqué que l'objet Messages avait aussi ResourceManager. – egaga

Questions connexes