2011-11-22 1 views
1

J'ai une question sur l'organisation des fichiers .resx dans l'application mvc3. Jusqu'à présent, j'ai réussi à faire ce qui suit:Organisation des fichiers .resx dans l'application mvc 3

  • Création d'une nouvelle bibliothèque de classes dans une solution pour les ressources et l'ajout de ressources pour deux langues. Tout fonctionne très bien quand j'ai par exemple:

la langue par défaut de Resources.resx Resources.en.resx // langue anglaise

Mais je veux avoir une telle organisation dans ma bibliothèque de classes:

DefaultLanguage foder - Resources.resx

en dossier - Resources.en.resx

Je veux organiser les ressources par dossiers. Je pense qu'il est plus approprié pour les personnes qui traduiront le site et il est aussi plus facile à maintenir. Lorsque j'organise les ressources de telle manière, la page Web renvoie une erreur ... impossible de trouver l'erreur. Est-ce que je manque quelque chose? Je sais que vous ne devriez pas avoir de nom de dossier dans l'espace de noms car cela signifierait que la référence de la ressource dans View dépend du nom du dossier et que ce n'est pas correct.

Le point est que je voudrais avoir le même comportement des ressources wheter ils sont organisés dans des dossiers ou non ...

Soit dit en passant: je vérifie sur le web et ne pouvait pas trouver une solution appropriée.

Merci pour vos réponses!

Répondre

2

MVC3 utilise la gestion des ressources ASP.NET. Voir ASP.NET documentation pour plus de détails. Si vous souhaitez utiliser le comportement ASP.NET et générer des classes fortement typées, vous devez conserver le fichier de ressources de la langue par défaut et des autres fichiers de ressources spécifiques à la langue.

Pour avoir la même arborescence que vous avez suggérée, vous devez implémenter votre propre gestion des ressources. Vous ne voulez probablement pas faire cela, car (au moins certains) les outils d'édition de ressources s'appuient sur ce comportement.

Sur nos projets nous avons une ressource (et ses traductions) pour chaque vue. Ils sont dans le dossier Localisation dans le projet MVC3. A l'intérieur, nous conservons la même arborescence que celle du dossier Views. C'est plus ou moins la même chose que les ressources locales ASP.NET sont organisées. Les chaînes communes sont conservées dans un fichier .resx à la racine du dossier Localisation. Cela garantit la maintenabilité.

Pour garder votre peuple qui fera la traduction heureux, vous devez choisir un bon outil d'édition .resx.

+1

Tnx pour la réponse. Oui, j'ai aussi la même structure en ressources que dans Views. Je voulais juste trier ces opinions également par langue. Coz si vous avez 10 vues et trois langues alors il y a 30 fichiers resx s'ils sont tous ensemble. Bien mieux comme ça alors en implémentant son propre ResourceManager :) – TheMentor

Questions connexes