2016-07-01 17 views
1

Wie man geöffneten Dialog/Panel auf MacOS mit Python lokalisieren, die wx.DirDialog API verwendet? Code:Lokalisierung von wx.DirDialog unter Mac OS

dlg = wx.DirDialog(self, title, style=wx.DD_DEFAULT_STYLE) 
dlg.ShowModal() 

Ich habe durch "http://wxwidgets.info/localization_video/comment-page-1/#comment-403" gegangen, die Schritte hat Folgendes zu lokalisieren:

  • Erstellen Sie einfache WxWidgets Anwendung
  • Extract String-Konstanten aus dem Quellcode mit poEdit und erstellen .PO Datei
  • String-Konstanten mit PoEdit
  • übersetzen Erstellen Sie einen Meldungskatalog (.MO-Datei) mit poEdit
  • Nehmen Übersetzung mit wxLocale Klasse

Aber, wie kann ich Standard Strings übersetzen, das nicht von meinem Code geliefert?

Angehängte Bilder von wx.DirDialog Öffnen Dialogfeld und TextEdit-Anwendung öffnen Dialogfeld als Referenz. Open dialog obtained through my app Open dialog obtained through TextEdit application

+0

welchem ​​Land sind Sie? Wenn Sie einfach "TextEdit" ausführen und "Cmd + O" drücken, wird dieser Dialog lokalisiert? Im Allgemeinen verwenden wxWidgets (und wxPython) native Plattformsteuerelemente. Wenn Ihr Betriebssystem die Lokalisierung nicht unterstützt, werden Sie es nicht mit einer wx-basierten Anwendung haben. Wenn Sie möchten, sehen Sie, wie Sie Ihrem Mac Lokalisierung hinzufügen können. – Igor

+0

Siehe auch: https://support.apple.com/en-us/HT201841. – Igor

+0

Ja, wenn ich in der TextEdit-Anwendung auf "Cmd + O" klicke, wird dieser geöffnete Dialog lokalisiert. Außerdem habe ich erfolgreich die Kontextmenüpunkte meiner Anwendung und andere UI-Elemente wie Fenster, Schaltflächen und Tabellen wie erwartet lokalisiert. Aber das einzige Dialogfeld, das nicht in meiner App lokalisiert wird, ist ein Dialogfeld, das ich zum Durchsuchen und Auswählen eines Ordners mit der Bibliothek "wx.DirDialog" verwendet. Wie im Bild kann ich die Nachricht in dem Fenster lokalisieren, das wir als Argument für wx.DirDialog übergeben. Gibt es etwas, was ich von meiner Anwendung tun sollte, um die Konstanten/Standardzeichenfolgen des geöffneten Dialogs zu lokalisieren? –

Antwort

0

Lösung: Zeigen die Sprachen, die Anwendung in der info.plist des Bundles unterstützt mit „CFBundleLocalizations/Lokalisierungen“ zeigt alle Elemente in Systemsprache eröffnen und sparen.

Referenz Link: http://trac.wxwidgets.org/ticket/9659