2016-01-26 7 views
6

Ich konnte erfolgreich eine asp.net mvc6 Lokalisierung Beispielanwendung laufen lassen, aber alle .resx Dateien werden in einem "Ressourcen" Ordner abgelegt.Wie man resx Dateien in einer ASP.net MVC6 Anwendung besser organisieren kann

Wenn Sie einen Blick auf diese sample application haben Sie werden feststellen, dass alle Ressourcen im Stammverzeichnis-Ordner abgelegt werden: „Ressourcen“ und es wird Bezug genommen auf die Startup.cs wie diese Datei:

services 
      .AddMvc() 
      .AddViewLocalization(options => options.ResourcesPath = "Resources") 
      .AddDataAnnotationsLocalization(); 

Die aktuelle Anwendung, an der ich arbeite, hat mehrere Bereiche und im Idealfall möchte ich diese .resx-Dateien besser organisieren. Sonst wird es sehr unordentlich.

Ist das in MVC6 überhaupt noch möglich?

Antwort

1

Eine mögliche Sache, die Sie tun können, ist, separate Ordner pro Bereich in Ihrem Ressourcenroutenordner zu erstellen. In diesen "Bereichsordnern" können Sie mehrere spezifische Ressourcendateien erstellen.

Scheint ziemlich überschaubar für mich.

Für z.

Ressourcen

  • CatalogArea
    • ProductTranslations.resx
    • CategoryTranslations.resx
  • SupportArea
    • KnowledgeBaseTranslations.resx
+0

Ja, das wäre ideal, aber wie bekomme ich dies tatsächlich zu arbeiten? d. H. Es gibt hier eine Zeile: .AddViewLocalization (options => options.ResourcesPath = "Ressourcen") –

+0

Funktioniert es nicht aus der Box mit dem Code, den Sie in Ihrer Frage hinzugefügt haben? –

+0

Ich glaube nicht, nein. –

1

Sie können Ressource speichern (und nicht nur Dateien Ressourcen - zum Beispiel lagere ich meine Übersetzungen in JSON-Datei), wo immer Sie wollen. Sie müssen nur außer Kraft setzen:

  • IStringLocalizer
  • IStringLocalizerFactory
+0

Vielen Dank für den Beitrag. Aber haben Sie ein kleines Beispiel? oder auf eine Seite zeigen, die ein Beispiel hat? –

+0

Werfen Sie einen Blick hier: http://www.leonardlabat.com/2015/11/28/custom-json-localization-with-asp-net-5/. Dort finden Sie alle Informationen, die Sie zum Schreiben Ihrer benutzerdefinierten Lokalisierung benötigen. –

+0

Sieht gut aus und ich werde diese zu einem anderen Zeitpunkt betrachten. Dies scheint jedoch wie Overkill. Es war so einfach in asp.net MVC5. Sicher gibt es eine Entsprechung in MVC6? –