MVC4-Lokalisierung. Zugriff auf resx aus der Ansicht

Meiner Ansicht nach möchte ich auf Ressourcenzeichenfolgen aus der spezifischen lokalen Ressource in dieser Datei zugreifen. So wie Sie es aus Webformularen kennen:

(string)GetLocalResource("Title");

Schmerzlos und glatt. Das Framework verwaltet, welche .resx-Datei von der Kulturinfo-Code-Erweiterung (.en-EN.resx) abgerufen werden soll.

Ist das in MVC4 mit Razore View möglich? Und wie?

Mir ist aufgefallen, dass ich das einstellen kannCustom Tool Eigenschaft in der RESX-Datei aufPublicResXFileCodeGenerator. Auf diese Weise kann ich von der Ansicht aus darauf zugreifen. Beispiel: Ich habe 2 Ressourcendateien für index.cshtml in Dänisch und Englisch erstellt. Genau wie bei Webformularen. Hier ist, was ich wünschte, ich könnte schreiben (Custom Tool Name Eigenschaft auf 'ViewResource' gesetzt):

@ViewResource.Title

Bam. Wenn die aktuelle Kultur dänisch ist, lautet der Titel "Forside" und wenn Englisch "Home". Stattdessen habe ich nur die Möglichkeit, eine bestimmte Datei auszuwählen. Und daraus wählen Sie die gewünschte Zeichenfolge:

@ViewResource.Index_cshtml_en-EN_resx.Title

Das ist nicht dynamisch. Also dachte ich, ich könnte eine Erweiterungsklasse erstellen, die das en-EN / da-DK irgendwie ersetzen würde. Aber das scheint wirklich relativ viel Arbeit für etwas zu sein, das so "einfach" und bereits gut und leicht in Web-Formulare integriert ist. Es muss einen anderen Weg geben. Sicher hat das mvc-Team einen cleveren Mechanismus für uns, wie alles andere auch :)

Antworten auf die Frage(6)

Ihre Antwort auf die Frage