Seite 1 von 1
[geschlossen]DirPickerCtrl Buttonname ändern?
Verfasst: Mittwoch 26. Oktober 2011, 11:37
von Schaf220
Hallo liebe Community,
gibt es eine Möglichkeit den Buttontext von einem DirPickerCtrl zu ändern. Von "Browse" auf entweder Durchsuchen oder auf ein Ordner Bildchen(bmp oder so).
Mit freundlichen Grüßen
Schaf220
Re: DirPickerCtrl Buttonname ändern?
Verfasst: Mittwoch 26. Oktober 2011, 11:50
von BlackJack
@Schaf220: Nicht das ich wüsste, aber wenn es Deutsch sein sollte, würde ich versuchen die Sprache auf Deutsch umzustellen. Oder hast Du das schon getan?
Re: DirPickerCtrl Buttonname ändern?
Verfasst: Mittwoch 26. Oktober 2011, 12:00
von Schaf220
Die Sprache vom OS oder vom Programm selber?
Die Sprache vom Betriebssystem ist DE. Vom Programm wüsste ich nicht wie ich das festlegen kann.
Re: DirPickerCtrl Buttonname ändern?
Verfasst: Mittwoch 26. Oktober 2011, 12:54
von BlackJack
@Schaf220: Schau Dir mal `wx.Locale` und da `Init()` und `GetSystemLanguage()` an. Das betrifft ja zum Beispiel auch Standardschaltflächen wie 'Yes', 'No', und 'Cancel', wo man bei einem deutschen System auch gerne 'Ja', 'Nein' und 'Abbruch' lesen würde.
Re: DirPickerCtrl Buttonname ändern?
Verfasst: Mittwoch 26. Oktober 2011, 13:13
von Schaf220
@BlackJack: Also wenn ich die Zeilen ausführe:
Code: Alles auswählen
from wx import Locale
test = Locale()
print test.GetLanguageName(test.GetSystemLanguage())
bekomme ich German als Antwort.
Re: DirPickerCtrl Buttonname ändern?
Verfasst: Mittwoch 26. Oktober 2011, 13:23
von BlackJack
@Schaf220: Dazu hättest Du nicht einmal ein Exemplar von `Locale` erstellen müssen, das sind in C++ statische Methoden.

Re: DirPickerCtrl Buttonname ändern?
Verfasst: Montag 31. Oktober 2011, 14:40
von Gremlin
Schaf220 hat geschrieben:gibt es eine Möglichkeit den Buttontext von einem DirPickerCtrl zu ändern.
Nein. Soweit ich weiß bzw. selbst rumprobiert habe, ist das nicht änderbar. Vielleicht liegts auch einfach daran, dass in keiner der von wxpython mitgelieferten gettext Dateien "Browse" übersetzt wird. :K
BlackJack hat geschrieben:Dazu hättest Du nicht einmal ein Exemplar von `Locale` erstellen müssen
Doch, das muss er tun, damit es funktioniert:
http://groups.google.com/group/wxpython ... c9fbed53ec
Aber die Referenz von "Locale" sollte in einer Liste gespeichert und die Referenz der Liste dann an die App-Instanz gebunden werden. (Warum gerade der Umweg über die Liste notwendig ist, weiß ich nicht mehr genau. Vielleicht hat es damit zu tun, dass man dadurch die Sprache wechseln kann ohne das Programm neu starten zu müssen.)
Re: DirPickerCtrl Buttonname ändern?
Verfasst: Montag 31. Oktober 2011, 15:12
von BlackJack
@Gremlin: Der Link auf die Google-Gruppe funktioniert wenn sich da anmeldet.
Um statische Methoden auf `wx.Locale` aufzurufen muss man *kein* Exemplar davon erstellen. Das haben statische Methoden so an sich.
Code: Alles auswählen
In [148]: wx.Locale.GetLanguageName(58)
Out[148]: u'English (U.S.)'
Re: DirPickerCtrl Buttonname ändern?
Verfasst: Montag 31. Oktober 2011, 15:26
von Gremlin
Ach.. ich hätte genauer lesen sollen, ich nehme alles zurück BlackJack. (abgesehen von dem Hinweis mit der Funktionalität.)
Und äh.. ich bin nicht bei Google angemeldet und kann trotzdem die Einträge lesen.
Re: DirPickerCtrl Buttonname ändern?
Verfasst: Montag 31. Oktober 2011, 15:45
von BlackJack
@Gremlin: Ich bekomme eine Seite wo ich aufgefordert werde einen Google-Account anzulegen wenn ich auf Deinen Link klicke.
Re: DirPickerCtrl Buttonname ändern?
Verfasst: Montag 31. Oktober 2011, 15:55
von Gremlin
Also gut, dann hier die zentrale Aussage:
Robin Dunn hat geschrieben:
> loc = wx.Locale(wx.LANGUAGE_ENGLISH_US)
You need to save a reference to the locale, otherwise it is reset to the
previous locale when this variable is deleted.
--
Robin Dunn
Software Craftsman
http://wxPython.org