2015-08-24 14 views
13

Ich habe ein kleines Python-Programm, das zeigt, wie man Übersetzungen von GTK (pygobject) GUIs für Linux und Windows macht. Alles funktioniert unter Linux, aber in Windows werden Nicht-ASCII-Symbole nicht in der Übersetzung gerendert.Nicht-ASCII-Symbole in der Übersetzung von GTK-GUI in Windows funktioniert nicht?

Ich gehe davon aus, dass die beiden die Glade-Datei und die * .mo Datei decodiert werden korrekt, weil:

  • Die englische Schnittstelle zeigt nicht-ASCII-Zeichen feine
  • Englisch und die Übersetzungen zeigen Nicht-ASCII Zeichen in Druck Aussagen

Hier ist, was die Schnittstelle wie im englischen Original aussieht:

enter image description here

Und die deutsche Übersetzung ohne Verwendung eines Umgebungsvariable oder PANGOCAIRO_BACKEND=win32:

enter image description here

Die deutsche Übersetzung über die Umgebungsvariable PANGOCAIRO_BACKEND=fontconfig (PANGOCAIRO_BACKEND=fc). Das erste Etikett ist so eingestellt, dass Calibri mit Pango verwendet wird. Und das ist sicherlich eine Schriftart, die auf Windows "ö", "ä" und "ü" hat.

enter image description here

in der Konsole diese Warnung für die Übersetzung erscheint: Pango-Warning **: Invalid UTF-8 string passed to pango_layout_set_text().

Einige Details über die Übersetzungen an die Arbeit wurden bereits hier diskutiert:

Das Repository:

Die Installationsprogramm für Windows:

Ist es möglich, dass builder.set_translation_domain("pygibank") die Übersetzungen mit der falschen Codierung drückt? Ist es möglich, das zu debuggen oder weiß jemand, wie man das repariert?

Antwort

-2

Ich löste dieses Problem, indem ich alle String-Unicode-Strings machte. Führen Sie Folgendes aus, um eine Unicode-Zeichenfolge zu erstellen: u'Unicode string with fünky charàcters'.

+0

Die GUI-Strings sind in einer XML-Datei. Hast du das dem XML-Code hinzugefügt? – tobias47n9e