Ich kenne mich mit py2app nicht aus, aber wenn es ohne geht und mit nicht, dann wird py2app wohl irgendwas falsch packen, vermutlich musst du in der setup-Datei noch irgendwelche Einstellungen machen, da musst du einfach mal sukzessive durchprobieren, was an der Python-Umgebung in der App anders ist als normalerweise.
@Shining-Blue: Wie alt bist du denn?? Simula gibts schon seit den 60ern
getdefaultlocale() OS X
-
- User
- Beiträge: 37
- Registriert: Samstag 15. August 2009, 04:36
Na, na ,na - nicht so indeiskretDarii hat geschrieben:@Shining-Blue: Wie alt bist du denn?? Simula gibts schon seit den 60ern
Aber soviel sei verraten: Auf meinem guten alten Apple][ euro+ (Eigenbau) habe ich noch die ersten Schritte von Herrn Wirth in Richtung Modula 2 mitbekommen, doch meine Lieblingsumgebung war damals Kyan Pascal mit seinem phantastischen Inlineassembler.
LG SB
-
- User
- Beiträge: 37
- Registriert: Samstag 15. August 2009, 04:36
So, eine kleine Erkenntnis habe ich nun hinzugewonnen.
Die Tatsache, wann es auf dem Mac funktioniert und wann nicht, hängt unter anderem davon ab, ob Eclipse/pydev bzw der Pythoninterpreter gestartet wurden nachdem (!) das Terminal gestartet wurde und ob die Option die LANG-Variable zu setzen aktiviert ist.
Da dies bei einem Start von "Otto Normaluser" aus dem Bundle nicht zwingend gewährleistet ist, werde ich mich wohl um einen neuen Ansatz zur Lokalisierung kümmern müssen.
Ich befürchte es wird wohl auf plattformabhängige Lösungen hinauslaufen - schade, wollte ich eigentlich vermeiden.
LG SB
Die Tatsache, wann es auf dem Mac funktioniert und wann nicht, hängt unter anderem davon ab, ob Eclipse/pydev bzw der Pythoninterpreter gestartet wurden nachdem (!) das Terminal gestartet wurde und ob die Option die LANG-Variable zu setzen aktiviert ist.
Da dies bei einem Start von "Otto Normaluser" aus dem Bundle nicht zwingend gewährleistet ist, werde ich mich wohl um einen neuen Ansatz zur Lokalisierung kümmern müssen.
Ich befürchte es wird wohl auf plattformabhängige Lösungen hinauslaufen - schade, wollte ich eigentlich vermeiden.
LG SB
-
- User
- Beiträge: 37
- Registriert: Samstag 15. August 2009, 04:36
Ich dreh' noch am Rad
Das kann doch nicht so schwer sein ein Programm platformübergreifend mehrsprachig zu machen.
Unter Linux funktioniert alles wunderbar, unter OS X auch solange es nicht durch py2app gejagt wird, aber unter Windows XP bekomme ich es um's Verrecken nicht gebacken.
Der Languagecode wird richtig erkannt, der Pfad zum Verzeichnis 'local' ebenfalls und dennoch erfolgt keine Übersetzung.
Wenn den jedenfalls irgend eine Fehlermeldung ausgegeben werden würde hätte ich ja noch einen Ansatz, aber so bin ich echt mit meinem Latein am Ende.
Ich glaube ich habe mitlerweile alle Variationen ausprobiert, die so über Google & Co zu diesem Thema zu finden sind, aber wenn dan artete das nur in Verschlimmbesserungen aus.
Wer hat es denn schon einmal geschafft eine Pythonanwendung unter Win mehrsprachig umzusetzen?
Zur Zeit sieht der Code folgendermaßen aus:
Ratlose, hilfesuchende Grüße,
SB
Das kann doch nicht so schwer sein ein Programm platformübergreifend mehrsprachig zu machen.
Unter Linux funktioniert alles wunderbar, unter OS X auch solange es nicht durch py2app gejagt wird, aber unter Windows XP bekomme ich es um's Verrecken nicht gebacken.
Der Languagecode wird richtig erkannt, der Pfad zum Verzeichnis 'local' ebenfalls und dennoch erfolgt keine Übersetzung.
Wenn den jedenfalls irgend eine Fehlermeldung ausgegeben werden würde hätte ich ja noch einen Ansatz, aber so bin ich echt mit meinem Latein am Ende.
Ich glaube ich habe mitlerweile alle Variationen ausprobiert, die so über Google & Co zu diesem Thema zu finden sind, aber wenn dan artete das nur in Verschlimmbesserungen aus.
Wer hat es denn schon einmal geschafft eine Pythonanwendung unter Win mehrsprachig umzusetzen?
Zur Zeit sieht der Code folgendermaßen aus:
Code: Alles auswählen
from MainFrame import MainFrame
import locale
import gettext
import os
import sys
import wx
from AppKit import NSLocale
import platform
APPDIR = os.path.split( os.path.realpath( sys.argv[0] ) )[0]
LOCALEDIR = os.path.join( APPDIR, "locale" )
class MainApp( wx.App ):
def OnInit( self ):
wx.InitAllImageHandlers()
MainWindow = MainFrame( None, -1, "" )
self.SetTopWindow( MainWindow )
MainWindow.Show()
return 1
# end of class MainApp
if __name__ == "__main__":
# Plattform erkennen
if platform.system() == 'Windows':
locale.setlocale( locale.LC_ALL, '' )
language_code, encoding = locale.getlocale()
elif platform.system() == 'Darwin':
language_code = NSLocale.currentLocale().localeIdentifier()
encoding = unicode
else:
locale.setlocale( locale.LC_ALL, '' )
language_code, encoding = locale.getlocale()
# Localelize
gettext.bindtextdomain( 'ScaleIt4BB', LOCALEDIR )
gettext.install( 'ScaleIt4BB', LOCALEDIR, language_code, encoding )
ScaleIt4BB = MainApp( 0 )
ScaleIt4BB.MainLoop()
SB