Frage

Es gibt eine Reihe von Fragen auf dieser Seite in Bezug auf wie RESX-Dateien in einer ASP.NET MVC-Anwendung und best Practices zuzugreifen von ihnen.

Doch nach (zum ersten Mal wie ich hinzufügen möchte) Lesen des MSDN Artikel über Ressourcen ich frage mich nach links, wenn es noch irgendwelche Vorteile der Verwendung von RESX-Dateien sind, da ich nicht Server Kontrollen gehen zu verwenden bin. Theres all dieses Gerede von ‚impliziter‘ und ‚expliziter‘ Lokalisierung, aber ich werde nicht aus, dass mit MVC profitieren.

Schließlich meine Anwendung String-Ressourcen für Schaltflächen und Menüelemente und auch viel länger HTML-Elemente für mehr verschiedene Inhalte benötigen. Ich möchte ein CMS für die längeren Elemente verwenden, weil ich ziemlich sicher bin, will ich nicht gehen, um sie in eine RESX-Datei stecken.

Gibt es zwingende Gründe zu verwenden oder nicht ASP.NET-Ressourcen in einer neuen Anwendung zu nutzen. Ich gehe davon aus, dass zukünftige Erweiterungen MVC oder RESX Erweiterungen werden in Harmonie zusammen arbeiten, aber jetzt bin ich nur ein verherrlicht IDictionary immer so weit ich sehen kann.

Soll ich mit RESX gehen oder woanders suchen? Soll ich auch ein CMS für die Arten von Ressourcen betrachtet, die RESX konzipiert ist?

gelernten Lektionen Alle geschätzt würde.

War es hilfreich?

Lösung

Es gibt einige Vorteile für die RESX Infrastruktur:

  • Sie müssen nicht die richtigen pro-Sprach-Ressourcen geladen werden. Sobald der Ort des Themas festgelegt wird, nimmt die CLr Sorgfalt die entsprechende Anordnung zu finden, und die Ressourcen geladen werden.
  • es ist einfach, die länderspezifische Ressourcen für Lokalisierungen an Dritte.
  • zu übergeben
  • gibt es einen Standard-Fallback-Mechanismus für nicht lokalisierte Ressourcen.

Es gibt auch einen besonderen Nachteil für den RESX Ansatz:

  • ist es schwer Übersetzungsmodell zu unterstützen, wenn die Benutzer Ihre Ressourcen für Sie übersetzen.

Ich möchte ein wenig über den letzten Punkt erarbeiten. Nehmen Sie das Facebook-Übersetzungsmodell zum Beispiel. Facebook hat recht einfache Art und Weise für die Menschen auf den Übersetzungen von verschiedenen Ressourcen und abzustimmen. Wenn diese in einer Datenbank gespeichert werden, wäre es möglich sein, sie nach dem richtigen redaktionellen Prozess zu verwenden, ohne den Wiederaufbau und die Anwendung Umschichtung. Mit dem RESX Modell wird die Ressourcen Baugruppen sein muß wieder aufzubauen und umgeschichtet, was hoch genug, um Kosten in Abhängigkeit von dem Bereitstellungsprozess haben könnte.

So, bevor sie entscheiden, was Lokalisierungsprozess zu verwenden, ich an der Entscheidung von aussehen würde, nachdem die Hauptanwendung bereits im Einsatz wäre wird die Lokalisierung und was der Bereitstellungsprozess für die localizaed Ressourcen tun.

EDIT:. Ich habe vergessen zu erwähnen, dass diese Überlegungen auf die ASP.NET-Framework Wahl orthogonal sind (MVC oder WebForms)

Andere Tipps

würde ich sagen „Ja“, resx Dateien immer noch eine gute Option für neue Anwendungen. Ich glaube nicht, ASP.NET MVC insbesondere Änderungen etwas über die Saiten zu speichern.

Das Tolle an Ressourcen ist

  • sie sind ziemlich einfach zu verwalten
  • Lokalisierung Ihrer Website ist eine viel einfachere Aufgabe als ohne Ressourcen (und ich betone viel einfacher)
  • können Sie den Ressource-Speicher jederzeit ersetzen, da Ressourcen, um das Provider-Modell verwenden. Sie können resx Dateien für db Einträge wechseln, ohne die Umsetzung Ihrer Website zu ändern.

Ich empfehle Ressourcendateien für die „Website-Strings“, die als die große Datenblöcke unterschiedlich sind Sie auf einer häufigen Basis bearbeiten könnten. Also für eine volle Empfehlung, würde ich verwenden Ressourcendateien (resx starten) für Knöpfe, Etiketten, usw. und ein CMS für den fleischigen Inhalt sagen.

Wenn Sie vorhaben, Resx zu verwenden und nicht-Serversteuerelemente verwenden, wie Sie in MVC sind, warum nicht die MVC Helfer Methoden erweitern, so dass Sie lokalisieren Etiketten und Text erstellen kann? Dann rufen Sie einfach den Text aus Ressource in der Hilfsmethode.

z. '<% = Html.CultureLabel ( "ResouceId")%>

oder '<% = Html.CultureButton ( "Name", "ResouceId", HtmlButtonType.Button)%>

Nur so ein Gedanke.

Auch die Verwaltung der Globalisierung einer Website ist viel einfacher, mit resx für den Text.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top