Frage

Nach meinem Verständnis besteht der empfohlene Ansatz zur Lokalisierung in WPF darin, das LocBaml-Tool zu verwenden, um die lokalisierbaren Elemente z. B. in eine Datei zu extrahieren.Erstellen Sie eine CSV-Datei, übersetzen Sie die Elemente in die gewünschte Sprache und generieren Sie aus dieser CSV-Datei eine neue Satellitenbaugruppe neu.Meinen Experimenten zufolge scheint dies jedoch mit der Generierung von Satellitenassemblys aus resources.resx-Dateien in Konflikt zu stehen, da weder die Ressourcen in einer einzigen Ressourcendatei zusammengefasst werden, sondern einfach alle vorhandenen Satellitenassemblys überschrieben werden.

Gibt es einen empfohlenen Ansatz (oder noch besser, ein vorhandenes Tool), um eine „Zusammenführung“ der Ausgabe von LocBaml /generate und der Ausgabe der Ausführung von resgen in einer resources.resx-Datei durchzuführen (was standardmäßig von VS bei Builds durchgeführt wird)?Beschäftigt sich irgendjemand da draußen mit den gleichen Problemen?

War es hilfreich?

Lösung

Sie müssen dies manuell tun, indem Sie .resources aus LocBaml generieren und dann die Resx- und BAML-Ressourcen mithilfe des Assembly-Linkers zusammenführen.

Der Vorgang sieht in etwa so aus:

LocBaml.exe /generate ..\obj\WpfLocalization.g.en-US.resources 
            /trans:Res\de.csv /out:de /culture:de

REM Combine resource files w/ Assembly Linker
al /template:WpfLocalization.exe 
   /embed:de\WpfLocalization.g.de.resources 
   /embed:..\..\obj\WpfLocalization.Properties.Resources.de.resources   
   /culture:de  /out:de\WpfLocalization.resources.dll

(alles in einer Zeile in einer Batchdatei).

Sie können das Obige in eine für Ihr Projekt angepasste Batchdatei einfügen.Denken Sie daran, dass sich LocBaml im selben Ordner wie Ihre Ausgabedateien befinden muss.Sie können dies als Post-Build-Aufgabe hinzufügen.

Andere Tipps

Ich benutze lieber das WPF -Lokalisierungsverlängerung Projekt, an dem Sie gefunden werden können Codeplex Mein WPF -Projekt lokalisieren.

Sie können den gleichen Ansatz verwenden wie WinForms und ist viel einfacher zu bedienen als Locbaml.

Ein bisschen gegoogelt und fand diese Seite, in der einige Möglichkeiten zur Verwendung von Locbaml beschrieben wurden, wodurch ein sehr detailliertes Beschreibung zum Zusammenführen der Ressourcen und Locbaml Ressourcen in eine einzelne Datei (mit AL.EXE) generiert wird.

Lokalisierung von WPF mit Locbaml

Die Seite beschreibt drei Möglichkeiten, Locbaml zu verwenden, und ich suchte nach dem letzten Schritt in Ansatz 3. Viele gute Sachen in diesem Artikel übrigens

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