2015-08-24 36 views
13

Ho un piccolo programma python che mostra come eseguire le traduzioni delle interfacce grafiche GTK (pygobject) per Linux e Windows. Tutto funziona in Linux, ma in Windows i simboli non ASCII non vengono visualizzati nella traduzione.I simboli non ASCII nella traduzione di GTK-GUI in Windows non funzionano?

Si considera che il sia il file Glade e il file * .mo sono decodificati correttamente perché:

  • L'interfaccia inglese mostra i simboli non ASCII sottili
  • sia in inglese e le traduzioni mostrano non-ASCII caratteri di stampa-dichiarazioni

Ecco cosa l'interfaccia appare come nell'originale inglese:

enter image description here

E la traduzione tedesca senza usare variabile d'ambiente o PANGOCAIRO_BACKEND=win32:

enter image description here

La traduzione in tedesco usando la variabile d'ambiente PANGOCAIRO_BACKEND=fontconfig (PANGOCAIRO_BACKEND=fc). La prima etichetta è impostata per utilizzare Calibri utilizzando Pango. E questo è certamente un font che ha "ö", "ä" e "ü" su Windows.

enter image description here

Nella console appare questo avvertimento per la traduzione: Pango-Warning **: Invalid UTF-8 string passed to pango_layout_set_text().

Alcuni dettagli su come ottenere le traduzioni in opera sono stati già discussi qui:

Il repository:

Il installer per Windows:

E 'possibile che builder.set_translation_domain("pygibank") spinge le traduzioni con la codifica sbagliata? È possibile eseguire il debug di questo o qualcuno sa come risolvere questo problema?

risposta

-2

Ho risolto questo problema creando tutte le stringhe Unicode della stringa. Per creare una stringa Unicode, procedere come segue: u'Unicode string with fünky charàcters'.

+0

Le stringhe della GUI si trovano in un file XML. L'hai aggiunto nel codice XML? – tobias47n9e