Problème avec les fichiers de ressources linguistiques spécifiques dans un projet de bibliothèque de classes

StackOverflow https://stackoverflow.com/questions/2213119

Question

Je travaille sur une application ASP.NET MVC 2 et utiliser une bibliothèque séparée de classe pour mon modèle. J'ai utilisé les fichiers de ressources dans mon projet de bibliothèque de classes d'intégrer des messages de validation et de l'utiliser dans mes classes de méta-données et tout était Ok jusqu'à ce que je décide d'ajouter une nouvelle langue à mon projet donc je renomme Resource.resx à Resource.en-US.resx et aussi copié et enregistré comme nouveau pour une autre langue Resource.fa-IR.resx, mais après l'avoir renommé, tout dans le fichier compagnon Designer.cs est parti et je ne peux pas accéder plus fichier de ressources. Dès que je retire le nom de la langue (par exemple en-US) du nom de fichier fonctionne correctement.

Je l'ai déjà définir l'accès au public, mais Modificateur aucun résultat.

J'utilise Visual Studio 2008 SP1.

Était-ce utile?

La solution

Ne pas renommer resources.resx: au lieu, il suffit d'ajouter des fichiers de ressources pour les cultures supplémentaires dont vous avez besoin

.

Resources.resx contient les ressources « neutres » qui seront compilés dans votre assemblage principal, et utilisé comme solution de repli si aucun assemblage par satellite pour la culture requise est situé.

Chaque fichier de ressources supplémentaires, par exemple Resource.fa-IR.resx sera normalement compilé dans un ensemble de satellites spécifiques à la culture.

Vous pouvez également ajouter à vos AssemblyInfo.cs le NeutralResourcesLanguageAttribute, qui informe le ResourceManager de la langue que vous avez utilisé les ressources neutres:

assembly: [System.Resources.NeutralResourcesLanguage("en-US")]

Autres conseils

Vous n'avez pas besoin de renommer la langue par défaut pour Resources.en-us.resx. Il suffit de le garder comme Resources.resx et il sera utilisé en tant que fichier de ressources de secours, ce qui signifie si aucune langue spécifique à l'utilisateur est là, par exemple Arabe, il sera utilisé, donc, vous devriez avoir les fichiers nommés comme suit:

Resource.resx

Resource.fa-IR.resx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top