I18N funktioniert nicht in wx.richtext.RichTextCtrl

Plattformunabhängige GUIs mit wxWidgets.
Antworten
IoI
User
Beiträge: 68
Registriert: Dienstag 1. Dezember 2009, 11:39

Hallo,

ich benutzte in einem meiner Programme die wx.richtext.RichTextCtrl-Klasse. Da das Programm ansonsten auch Deutsch ist, wäre es natürlich gut wenn auch die RTCtrl in Deutsch wäre. Leider ist das nicht so, das Kontext-Menü ist komplett in Englisch.

Ähnliches ist mir auch schon bei anderen Widgets aufgefallen, z.B. im wx.ProgressDialog.

Also dachte ich mir, vielleicht hat ja noch niemand die Strings übersetzt. Dem ist allerdings nicht so, ein Blick in die deutsch PO-Datei zeigt beispielsweise für Select All:

Code: Alles auswählen

#: ../src/common/stockitem.cpp:153
#: ../src/richtext/richtextctrl.cpp:2600
#: ../src/msw/textctrl.cpp:2156
#: ../src/mac/carbon/textctrl.cpp:1069
msgid "Select &All"
msgstr "Alles auswählen"
Hier steht sogar im Kommentar, dass es in ../src/richtext/richtextctrl.cpp:2600 verwendet wird und die Quelle bestätigt dies auch.

Also was ist falsch, dass bei mir weder in der wxPython-demo noch im eigenen Programm der deutsch String verwendet wird? (wx.LANGUAGE_DEFAULT ist Deutsch)
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Das Problem hatte ich auch, bin auch erst gerade draufgekommen, bei mir hat das gereicht:

Code: Alles auswählen

if __name__ == '__main__': 
    app = wx.PySimpleApp(redirect=False)
    wx.SetDefaultPyEncoding('utf-8')
    x = wx.Locale(87)
    print x.GetLocale()
    frame = FooBar(None, -1,'Foo', size=(300, 200))
    frame.Show()
    app.MainLoop()
the more they change the more they stay the same
IoI
User
Beiträge: 68
Registriert: Dienstag 1. Dezember 2009, 11:39

Hat leider bei mir keinen Effekt gehabt :-(
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Hast du das x = ?

wx.Locale(87) reicht nicht
the more they change the more they stay the same
IoI
User
Beiträge: 68
Registriert: Dienstag 1. Dezember 2009, 11:39

Muss mich korrigieren, es funktioniert doch. Leider aber nicht mehr nach dem Packen mit PyInstaller zu einer Windows-Exe.

Schade, trotzdem danke.
Antworten