J'essaye de réaliser la globalisation/localisation dans mon application MVC 3. Je ne veux pas de vues différentes pour chaque langue. S'il vous plaît suggérer comment je peux procéder. Tous les liens/URL pris en charge seront d'une grande aide.Globalisation dans ASP.Net MVC 3
Répondre
Vous localisent de la même manière que toute autre application comme ceci:
- Créez un dossier, appelez par exemple Ressources
- Cliquez avec le bouton droit sur le dossier et ajoutez une classe ... choisissez le fichier de ressources. Appelez-le comme vous voulez, par ex. Strings.resx
- Dans les propriétés du fichier, changer personnalisé outil à
PublicResXFileCodeGenerator
- alimenter le fichier de ressources avec des paires de clés de traduction et de la valeur (ce sera la traduction par défaut)
- Créer d'autres ressources avec le nom du culture pour laquelle ils sont dans ce format: {name} .de.resx eg (Ceci est pour Razor) crack ouvrir le web.config dans le dossier Views et l'ajouter à /configuration/system.web.webPages.razor/pages/namespaces: < add namespace = "Ressources"/> (en supposant que resources est le nom du dossier dans lequel vous avez créé les ressources et que vous n'avez pas modifié l'espace de noms par défaut sur les fichiers de ressources eux-mêmes). Cette étape signifie que vous n'êtes pas obligé de qualifier complètement les classes de ressources dans vos vues chaque fois que vous souhaitez référencer une traduction.
Utilisez les traductions en place du texte dans vos vues comme avec le code suivant:
@Strings.MyString
Les chaînes seront automatiquement traduits dans la vue en fonction de CultureInfo.CurrentCulture mais ce n'est pas réglé automatiquement
Vous devrez modifier le CurrentCulture
(potentiellement dans Application_BeginRequest
). La manière dont vous faites cela dépend de vous, il peut s'agir d'une valeur de route ou de la langue du navigateur de l'utilisateur
Vous trouverez une liste des langues préférées de l'utilisateur (dans l'ordre) dans HttpContext.Current.Request.UserLanguages
.
Voici un post détaillées sur MVC 3 Mondialisation/Internationalisation http://afana.me/post/aspnet-mvc-internationalization-part-2.aspx
Ce poste est excellent pour couvrir la différence entre la langue, la culture et la région - mais il fait la même erreur que l'abov e post dans la façon dont il appelle l'espace de noms incomplet dans Web.config. –
Il mentionne que vous devez ajouter un espace de noms à vos vues web.config –
La prochaine étape que vous avez besoin est de localiser votre bibliothèque Javascript. Jetez un oeil ici: MVC-JavaScript-localization-of-external-js-files
Pour ajouter quelques détails à Martin Booth's great answer (dans le cas où son lien MediaFire pourrait disparaître), voici comment j'iDid il:
Je l'ai utilisé deux fichiers, car je ne ai besoin anglais et l'allemand (« de ») pour l'instant:
pour les propriétés de chaque fichier, je devais entrer manuellement l'outil sur mesure ainsi que l'espace de noms outil personnalisé valeurs, pour chaque fichier:
Et enfin, je suis entré dans ce qui suit dans le fichier web.config racine, sous la section <system.web>
:
<globalization uiCulture="auto" culture="auto" />
Bien sûr J'ai également ajouté la directive d'espace de noms dans le fichier Web.Config sous le dossier Views (ie pas la racine d'un), comme Martin décrit:
<add namespace="ViewResources" />
Et puis je pouvais enfin accéder aux ressources fortement typées dans mon (partiel) vue Razor:
<h2>@ViewResources.Test1</h2>
BTW: cela a fonctionné avec MVC 4 aussi, pas seulement MVC 3.
- 1. ASP.NET MVC Globalisation des Vues
- 2. Globalisation Spark avec ASP.NET MVC
- 3. Localisation et globalisation dans asp.net mvc 2.0
- 4. La globalisation dans les contrôleurs ASP.Net MVC
- 5. MVC et la globalisation
- 6. Globalisation et localisation dans asp.net
- 7. ASP.NET: erreur de globalisation
- 8. Problème de globalisation avec DateTime et ASP.NET MVC 3 Reliure de modèle
- 9. ACL dans ASP.NET MVC 3
- 10. DropDownList dans ASP.NET MVC 3
- 11. ViewData dans ASP.NET MVC 3
- 12. Modèles ASP.NET MVC 4 dans MVC 3
- 13. ASP.Net MVC 3 Ajax
- 14. ASP.Net MVC 3 & System.Data.Entity?
- 15. ASP.NET MVC 3 Session
- 16. ASP.NET MVC 3 AuthorizeAttribute
- 17. ASP.NET MVC 3 Ajax.ActionLink
- 18. ASP.Net MVC 3 Grids
- 19. Validation ASP.NET MVC 3
- 20. ASP.NET MVC 3 Treeview
- 21. ASP.NET MVC 3 - Placeholder
- 22. ASP.Net MVC 3 AutoMapper
- 23. Exigences ASP.NET MVC 3
- 24. ASP.NET MVC 3 Precompile
- 25. Globalisation dans jquery et asp.net. Comment?
- 26. Globalisation et Localisation dans asp.net 2.0
- 27. asp.net mvc 3 User.IsInRole ("Admin")
- 28. Authentification/autorisation ASP.NET MVC 3
- 29. ASP.NET MVC 3 RAZOR Style
- 30. Impossible d'installer ASP.Net MVC 3
Merci beaucoup Martin. – Vivek
Oon l'étape 7 Je fais de même dans le web. config comme highligted mais avec l'erreur "Le type ou le nom de l'espace de nom ***** 'Resource' est introuvable (manque-t-il une directive using ou une référence d'assembly?)" ***** "S'il vous plaît élaborer plus ou – sandeep
Voici le minimum dont vous avez besoin pour que cela fonctionne http://www.mediafire.com/file/5843d7tyqalv451/Globalization.zip –