2008-09-17 2 views
17

Es scheint keinen guten Weg zu geben, eine WPF-Anwendung zu lokalisieren. MSDN scheint zu denken, dass das Vermüllen meiner XAML mit x:Uid, das Generieren von CSV-Dateien und das Generieren neuer Assemblys (das Verwenden ihres Beispielcodes!) Die Antwort ist. Schlimmer noch, dieser Prozess befasst sich nicht mit der Lokalisierung von Bildern, binären Blobs (z. B. PDF-Dateien) oder Strings, die in Code eingebettet sind.Was ist der beste Weg, um eine WPF-Anwendung ohne LocBAML zu lokalisieren?

Also, wie können Sie eine Anwendung zu lokalisieren, die:

  1. mehrere Baugruppen
  2. Enthält Bilder und andere binäre Blobs enthält (zB: PDF-Dokumente), die
  3. werden müssen, um lokalisierte Hat String-Daten, die nicht in XAML ist (zB: MessageBox.Show("Hello World");)
+0

Die Antwort, die Sie akzeptiert haben mehrere Antworten Incide. Können Sie darauf hinweisen, was Sie gewählt haben? – Dmitriy

+0

Es ist so lange her, ich vergesse! Do! –

Antwort

8

nicht hier ein Experte, aber "Littering" XAML mit x: UIDs ist nicht schlechter als "Littering" Windows Forms-Code mit dem aller strin g Tisch-Unsinn müssen Sie tun, um sie zu lokalisieren.

Soweit ich verstehe, unterstützen WPF-Apps immer noch "alle Framework CLR-Ressourcen einschließlich String-Tabellen, Bilder und so weiter." was bedeutet, dass Sie lokalisierte Ressourcen haben können.

Natürlich wäre es viel einfacher, wenn Sie eine Markup-Erweiterung erstellt, die viel von diesem Unsinn für Sie behandelt. You can find an example of someone doing this here. Und here's another, similar solution.

+3

Hey, Leute, nach diesem Kommentar ist diese Antwort *** fast acht Jahre alt ***. Suchen Sie nach aktuelleren Informationen zur Lokalisierung von WPF-Anwendungen. Keine Notwendigkeit, die Antwort upvote, nur diesen Kommentar upvote/lassen Sie Details über was Sie finden! – Will

0

Sie können die alten "ResX" -Dateien verwenden, die all Ihre erwähnten Szenarien unterstützen. Wie kann dies in einer WPF-Anwendung erreicht werden, wird hier erklärt:

WPF Application Framework (WAF) => Lokalisierung Beispiel sehen

10

Sie sollten here finden Sie unter dem Artikel und Code anschauen. Es beschreibt verschiedene Möglichkeiten zur Lokalisierung von WPF-Apps mithilfe von LocBaml, benutzerdefinierten Markup-Erweiterungen oder angefügten Eigenschaften. IMHO ist die beste Lösung, die Markup-Erweiterungen und Resx-Ressourcen zu verwenden. Der Code enthält einen Lokalisierungsrahmen dafür.

0

versuchen Sie die Gnu GetText-Dienstprogramme und unterstützende Anwendungen. Es tut generate C# Klassen um ResourceManager und ResourceSets, und natürlich können Sie die Übersetzungen für andere Teile Ihrer Anwendung wiederverwenden - zB Webseiten, nativen Code, oder iphone usw.

Verwandte Themen