2012-09-04 4 views
2

Je suis une première fois une longue liste d'écoute et je serais vraiment intéressée par la lecture de certaines de vos architectures de localisation et, finalement, d'obtenir des commentaires sur notre approche (comme suit).Ressource (resx) Aide personnalisée

Je voudrais des conseils sur une approche que nous envisageons d'utiliser avec des fichiers de ressources. Nous utilisons MVC 3.0 et avons un projet de site Web et un projet de ressources. Dans le projet de ressources, nous avons une structure qui imite la même structure que le site Web, par exemple. contrôleur -> voir -> fichier.

Nous référençons les fichiers resx dans les vues en important l'espace de noms de ressources en haut de la vue/contrôle, par ex. <%@ Import Namespace="MyAppResources.Resources.Website.Home" %> et puis référencez la valeur resx dont nous avons besoin en utilisant <%= Index.SomeText %> où index est le nom du fichier de ressources. Ce que nous avions l'intention de faire et que nous aimerions un conseil est au lieu d'utiliser cette approche est de diviser la ressource resx structure en zones de site Web et d'utiliser un assistant, par exemple. LocalizationHelper.GetValue("Home", "SomeText") où "Home" est le nom du fichier de ressources et "SomeText" est une valeur dans ce fichier resx. La raison pour laquelle nous ferions ceci est de ne pas avoir à continuer à compiler le projet de ressources pour chaque petite copie que nous faisons (car nous pourrions avoir besoin d'une solution rapide pour notre environnement déployé) et ce sera probablement l'assistant le plus utilisé sur le site. projet donc cela garderait les choses courtes et cohérentes. L'assistant de localisation stockerait également les valeurs dans un dictionnaire mis en cache. Si une valeur est utilisée plus d'une fois, elle sera récupérée dans le cache.

Est-ce que quelqu'un connaît une meilleure approche ou des améliorations auxquelles nous n'avons pas pensé?

Répondre

0

Je recommande d'utiliser une base de données pour stocker les valeurs localisées au lieu d'un fichier RESX. L'utilisation d'une base de données vous éviterait de devoir effectuer des déploiements de code/fichier pour mettre à jour votre application. De plus, vous pouvez créer une interface graphique pour modifier les valeurs localisées (ce qui est une excellente fonctionnalité pour les administrateurs/éditeurs du site).

Questions connexes