2009-11-24 8 views
6

Ich entwickle eine mehrsprachige Website und die Lokalisierung erfolgt meist durch .Resx-Dateien. Aber jetzt muss ich Benutzern mit einigen Berechtigungen ermöglichen, Ressourcendateien online von der Website zu bearbeiten. Kennt jemand eine vorhandene Komponente, um dies zu erreichen?ASP.NET-Komponente zum Bearbeiten von. Resx-Dateien

Antwort

6

Das Beste, was Sie tun können, ist zu einem DB-orientierten Ansatz zu bewegen.

Rick Strahl hat diesen ausgezeichneten Artikel: Creating a Data Driven ASP.NET Localization Resource Provider and Editor mit freien Quellcode!

Es hat sogar eine Import-Funktion, so dass Sie die Arbeit, die bisher gemacht wurde, nicht neu übersetzen müssen.

Edit:, wenn Sie auf die Bearbeitung der XML-Dateien bestehen, kann dieser Artikel helfen: Updatable ASP.NET ResX Resource Provider – yes, it’s possible!

+0

Das sieht nach tollen Lösungen aus. Vielen Dank! – Farinha

0

Ich denke, Sie sollten diesen Schritt noch einmal betrachten. Zuallererst werden Resx-Dateien kompiliert anstatt direkt verwendet zu werden, so dass jede Änderung die Neukompilierung der Seite erfordert. Die andere Sache ist, dass es eine ernsthafte Sicherheitsbedrohung sein könnte - Sie erlauben Benutzern, Dateien in Ihrem Anwendungsordner zu ändern.

* - http://msdn.microsoft.com/en-us/library/ekyft91f%28VS.80%29.aspx

+0

Ich vermute, also gibt es keine „saubere“ Art und Weise die RESX-Dateien aus anderen Stoffen als Zugriff zu öffnen, sie nur „Old-School“ -Stil, mit der XML-rumgespielt, und sie in dem Dateisystem zu schreiben nochmal. Und dann wird die App herausfinden, dass sie geändert wurden und sie zur Laufzeit kompilieren. Zum Sicherheitsrisiko enthalten die RESX-Dateien nur Übersetzungszeichenfolgen, und die Benutzer, die sie ändern, benötigen die entsprechenden Berechtigungen. Das ließ mich wundern, könnte ein "injection attack" gemacht werden, indem man etwas Code in eine .resx Datei einfügt? – Farinha

0

Ich fand gerade diese Resource Blender Anwendung, die ähnlich ist, was ich suchte:

Resource ist eine Open-Source- Übersetzung und Internationalisierung Anwendung, die eine einfache Möglichkeit bietet zu lokalisierten Ressourcen für Aufnahme mit verschiedenen Anwendungen zu verwalten. Als ASP.NET Web-Anwendung Anwendung und eine WPF-Desktop Anwendung, macht es die Lokalisierung von Anwendungen ein Kinderspiel. ResourceBlender generiert lokalisierte Ressourcen in verschiedenen Formaten aus einer zentralen Datenbank für die Aufnahme mit verschiedenen Anwendungen.

Schlüsselfunktionen gehören:

  • Export Ressourcen .NET RESX-Dateien, Java properties, GNU .po/gettext, XHTML Einheiten und vieles mehr.
  • Importieren/Exportieren Sie Übersetzungsdaten als XML-Tabellen, um die Bearbeitung komfortabler zu gestalten.
  • Verwenden Sie eine Übersetzungsdatenbank, um Lokalisierungen synchron zu halten.
  • Unterstützt MySQL, SQL Server und SQLite, so dass keine externe Datenbank erforderlich ist.
  • Migrieren von vorhandenen .resx- oder .properties-Dateien mit einem Importassistenten.
  • Einfach für Übersetzer und Projektbesitzer/Administratoren.
  • Frei und Open Source.
  • Automatische Übersetzung der Maschine mit Google Übersetzer.
  • Benutzerdefinierte Vorlagen für Ressourcenformate.
Verwandte Themen