J'ai travaillé sur ma première application MVC, et j'aimerais la localiser. Je sais comment utiliser App_GlobalResources mais je préfère utiliser App_LocalResources.Comment fonctionne App_LocalResources avec MVC?
Dans une application WebForms classique, vous placez le dossier App_LocalResources dans le même répertoire que le fichier ASPX ... est-ce la même chose dans MVC (IE: les place-t-on dans les sous-dossiers respectifs du répertoire "views") ?
En outre, lors de l'accès à l'App_GlobalResources dans votre vue, vous pouvez le faire comme si <%=Html.Encode(Resources.Index.Title)%>
mais je ne peux pas le faire avec App_LocalResources. Je ne veux pas avoir à faire mon <label runat="server"
afin de tirer profit de la meta:resourcekey
EDIT:
J'ai découvert une méthode pour ce faire, mais je ne suis pas sûr si cela est la meilleure méthode. Voici l'idée
- Vous mettez le dossier
App_LocalResources
comme un sous-dossier de votre dossier respectif Voir - Vous créez resx qui correspondent à vos vues ... IE:
Index.resx
ouAbout.resx
- Vous définissez le Resx les propriétés des fichiers doivent être «Public» (PublicResXFileCodeGenerator), «Embeded Resource», espace de noms «Views. [viewname]»
- Créez un nouveau nom de ressource appelé «Title» et placez ce que vous voulez dans la valeur.
Maintenant, je peux faire référence aux ressources locales en utilisant quelque chose comme ça
<%= MyProj.Views.Home.Index.Title%>
Le seul problème que je vois cela est le fait que les ressources sont intégrées et je ne peux pas ajouter de nouveaux lieux sans re- compiler le projet.
Here is my reference on this method.