asp.net-mvc - multi - asp.net mvc 5 localization




Mehrere Sprachen in einer ASP.NET MVC-Anwendung? (4)

Das Orchard-Projekt verwendet eine Verknüpfungsmethode namens "T", um alle In-Page-String-Übersetzungen durchzuführen. Sie sehen also Tags mit einem @T ("A String to Translate").

Ich beabsichtige zu prüfen, wie dies hinter den Kulissen umgesetzt und möglicherweise in zukünftigen Projekten genutzt wird. Der kurze Name hält den Code sauber, da er viel verwendet wird .

Was ich an diesem Ansatz mag, ist, dass die ursprüngliche Zeichenkette (in diesem Fall Englisch) immer noch leicht im Code zu sehen ist und keine Suche in einem Resource Tool oder einem anderen Ort benötigt, um die tatsächliche Zeichenkette zu entschlüsseln.

Weitere Informationen finden Sie unter http://orchardproject.net .

Was ist der beste Weg, um mehrere Sprachen für die Schnittstelle in einer ASP.NET MVC-Anwendung zu unterstützen? Ich habe Leute gesehen, die Ressourcendateien für andere Anwendungen verwenden. Ist das immer noch der beste Weg?


Dies ist eine weitere Option, und Sie haben Zugriff auf die CurrentUICulture im Controller:

Überprüfen Sie MVC3-multi-language


Ich fand diese Ressource sehr hilfreich

Es ist ein Wrapper um die HttpContext.Current.GetGlobalResourceString und HttpContext.Current.GetLocalResourceString , mit denen Sie die Ressourcen wie folgt aufrufen können ...

// default global resource
Html.Resource("GlobalResource, ResourceName")

// global resource with optional arguments for formatting
Html.Resource("GlobalResource, ResourceName", "foo", "bar")

// default local resource
Html.Resource("ResourceName")

// local resource with optional arguments for formatting
Html.Resource("ResourceName", "foo", "bar")

Das einzige Problem, das ich gefunden habe, ist, dass Controller keinen Zugriff auf lokale Resoce-Strings haben.


Ja-Ressourcen sind immer noch die beste Möglichkeit, mehrere Sprachen in der .NET-Umgebung zu unterstützen. Weil sie einfach zu referenzieren und noch einfacher sind, neue Sprachen hinzuzufügen.

Site.resx
Site.en.resx
Site.en-US.resx
Site.fr.resx
etc...

Du hast also recht noch die Ressourcendateien zu benutzen.





multilingual