2009-04-30 8 views
18

Ich habe die Aufgabe der Internationalisierung einer großen Client-Server-Anwendung gegeben. Die Aufgabe ist, dass ich die App "World Ready" mache und dann die kompilierte Anwendung und Ressourcen an Kollegen in einem anderen Land zur Übersetzung und Freigabe an ihre Kunden weitergibt. Es wird mehrere Länder und daher mehrere separate Übersetzungen geben.Sind resx-Dateien für die Internationalisierung geeignet?

Das Wichtigste dabei ist, dass ich einen einfachen zweistufigen Freigabeprozess wollen:

Schritt 1: ich kompilieren und lassen eine Anwendung ‚World Ready‘ meinen Kollegen in den verschiedenen Landern

Schritt 2: Sie die Lokalisierung von Ressourcen tun und lassen Sie dann an ihre Kunden

I wollen nicht die zusätzlichen Schritte von Make App W hinzufügen elt Bereit ->Dateien senden Übersetzung off ->Warten Wochen für die Übersetzungen kommen ->Compile in App ->Mitteilung App.

Ich habe auf .NET-Globalisierung und die Verwendung von Resx-Datei. Von dem, was ich gesehen habe, wird die Resx-Datei in die Anwendung kompiliert und kann daher nicht einmal nach dem Kompilieren geändert werden. Selbst Satelliten-Assemblies scheinen nicht editierbar zu sein. Und selbst wenn ich in diesem Punkt falsch liege, wie würden Änderungen an den Satelliten-Assemblies zurück in die Resx-Dateien in meinem Projekt reflektiert werden?

Also jetzt für die Frage. Da ich zuerst die App kompilieren möchte und die Übersetzungen anschließend behandeln lassen möchte, sind resx-Dateien der richtige Weg, oder sollte ich sie aufgeben und eine maßgeschneiderte datenbankbasierte Lösung schreiben, die nach der Kompilierung der App einfach bearbeitet werden kann ?

Ich hoffe, dass alles einen Sinn ergibt. Freue dich auf deine Gedanken.

+1

Danke für die Information. Ich bin immer noch nicht von ResX-Dateien überzeugt. Viele der Tools scheinen ziemlich teuer zu sein, und ich habe Bedenken, dass sie die Flexibilität einer maßgeschneiderten Datenbanklösung bieten würden. Was mich wirklich von resx-Dateien abhält, ist, dass WinRes.exe (die App, die zum Lokalisieren des Formularlayouts verwendet wird) nicht mit Infragistics Controls funktioniert, die wir ausgiebig benutzen. Ohne den Vorteil, das Layout zu ändern, verlieren ResX-Dateien ihre Attraktivität. Daher denke ich, dass wir eine datenbankgestützte Lösung wählen werden. Noch einmal vielen Dank für die Eingabe. –

+0

Die meisten Lokalisierungstools haben eine API, und wenn Sie jemals daran denken, ein solches Tool zu verwenden, können Sie dies auch im Fall der datenbankgestützten Lösung tun: Sie veröffentlichen einfach die Übersetzungen auf dieser Lokalisierungsplattform oder rufen sie an. Sie sind wirklich nützlich, wenn Sie Ihre Übersetzungen crowdource. – Awesome

Antwort

16

Ja, resx-Dateien sind die beste Lösung.

Für die Übersetzung der Ressourcen sollten Sie sich ein Lokalisierungstool ansehen, zum Beispiel Passolo. Es tut entweder

  • die ursprüngliche resx als Eingabe und erzeugt übersetzt resx-Datei, die Sie
  • nehmen Baugruppen als Eingabe kompiliert und erzeugt Satelliten-Baugruppen auf Ihre Codebasis einchecken möchten.

Wir übersetzen Assemblys, weil dies auch die Lokalisierung des GUI-Layouts ermöglicht. Damit ein externes Tool einen GUI-Editor öffnen kann, benötigt es den Code und dies ist in der Assembly enthalten.

Wenn Sie sich nur auf die Testübersetzung konzentrieren, ist die Übersetzung von resx wahrscheinlich einfacher zu handhaben.

Ein solches externes Tool bietet diese wichtigen Funktionalitäten:

  • alle aneinanderzureihen sammeln, Sie müssen nicht
  • verwalten Übersetzungstext vieler Sprachen Hunderte von resx-Dateien verarbeiten, meist mit GUI-Designer.
  • erkennen, ob ein Quelltext geändert wurde oder hinzugefügt wurde, damit Sie jetzt wissen, welche Texte übersetzt werden müssen.
  • Übersetzung von duplizierten Texten nur einmal.
  • normalerweise nette ui, um Übersetzungen zu redigieren.
  • Export/Import in CSV und ähnlichen Formaten von anderen Tools oder sogar anderen Unternehmen verarbeitet werden.
2

Ja, das gesamte Globalisierungs-Framework in .NET basiert auf RESX-Dateien und den von ihnen erstellten Satelliten-Assemblies. Sobald Sie die Haupt-App kompiliert haben, können die RESX-Dateien unabhängig voneinander in ihre Satelliten-Assemblies kompiliert werden.

Ich weiß, dass es Werkzeuge gibt, die im Übersetzungsprozess helfen, aber ich bin nicht vertraut mit irgendwelchen davon aus der Hand.

Verwandte Themen