Changer de langue sur la base des ressources dans les fichiers ASP.NET MVC 4
J'ai 2 fichier de ressources : Ressources.resx(a quelques chaines en roumain) et Ressources.fr-US.resx (a les mêmes chaînes en anglais).
Je veux seulement changer(dans un dropdownlist, une zone de liste,...) sorcière fichier de ressources à utiliser. Il pourrait être dans _Layout.cshtml. Je n'ai pas besoin de détecter la culture de l'utilisateur.
Q: Comment puis-je sélectionner un fichier de ressources à partir d'une page ?
Edit : Peut-il être fait sans changer la valeur par défaut MapRoute ?
OriginalL'auteur Misi | 2012-04-10
Vous devez vous connecter pour publier un commentaire.
Une façon que vous pouvez faire, c'est d'avoir la liste déroulante, suffit de rediriger la page vers un langage spécifique de l'URL (ce qui est assez agréable comme vous pouvez l'envoyer autour de la langue des liens spécifiques) puis dans une classe de base sur votre contrôleur, définissez les paramètres régionaux du Thread.
Ce blog couvre ce que je suis en train de parler plus de détails: La localisation dans ASP.NET MVC – 3 Jours d'Enquête, 1 Jour de Travail
Il utilise aspx mais cshtml rasoir pages fonctionnent de la même manière, juste une syntaxe légèrement différente (je le fais à l'aide de rasoir dans une application très bien). Vous aussi n'avez pas besoin de modifier la valeur par défaut MapRoute (donc non-locale conscient URL fonctionnera également), vous avez juste besoin d'ajouter un supplément de route.
Pourrais-tu(ou quelqu'un), inscrivez le code où j'sélectionnez Ressources.fr-US.resx au lieu de Ressources.resx dans le dossier App_GlobalResources ?
Depuis les paramètres régionaux du thread actuel est fixé à fr-fr ou ce que vous avez choisi dans la liste déroulante, il vous suffit d'utiliser @Ressources.Bienvenue (ou de tout bien vous souhaitez la chaîne) à l'intérieur de la cshtml page (ou contrôleur). La partie qui est en charge de la définition des paramètres régionaux du thread est dans le ExecuteCore méthode du contrôleur de base (tout en bas du blog).
OriginalL'auteur kmp
Cochez cette Blog.
Sans changer la valeur par défaut MapRoute.
La _Layout.cshtml page:
La culture est définie à l'intérieur de la _PageStart.cshtml fichier:
La dernière page est la page par Défaut lui-même:
http://www.mikesdotnetting.com/Article/183/Globalization-And-Localization-With-Razor-Web-Pages
OriginalL'auteur Min Min