Warum ist defaultlocal beim Mac immer None?
So kann doch gettext nie die richtige Sprache finden.
Code: Alles auswählen
>>> import locale
>>> print locale.getdefaultlocale()
(None, 'mac-roman')
LG SB
Code: Alles auswählen
>>> import locale
>>> print locale.getdefaultlocale()
(None, 'mac-roman')
Code: Alles auswählen
import locale
locale.setlocale(locale.LC_ALL, '')
language_code, encoding = locale.getlocale()
Code: Alles auswählen
claudy:~ claudia$ python
Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39)
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> print locale.getlocale()
(None, None)
>>> locale.setlocale(locale.LC_ALL, '')
'C'
>>> language_code, encoding = locale.getlocale()
>>> print language_code
None
>>> print encoding
None
>>>
Code: Alles auswählen
claudy:~ claudia$ echo $LANG
claudy:~ claudia$ echo $USER
claudia
Code: Alles auswählen
>>> import locale
>>> print locale.getlocale()
(None, None)
>>> locale.setlocale(locale.LC_ALL, '')
'de_DE.UTF-8'
>>> print locale.getlocale()
('de_DE', 'UTF8')
>>>
Code: Alles auswählen
>>> locale.getdefaultlocale()
('de_DE', 'UTF8')
>>> locale.setlocale(locale.LC_ALL, '')
'de_DE.UTF-8'
Code: Alles auswählen
>>> locale.getdefaultlocale()
(None, 'mac-roman')
>>> locale.setlocale(locale.LC_ALL, '')
'de_DE.UTF-8'
>>> locale.getdefaultlocale()
(None, 'mac-roman')
Code: Alles auswählen
>>> locale.getdefaultlocale()
('de_DE', 'UTF8')
>>> locale.setlocale(locale.LC_ALL, '')
'de_DE.UTF-8'
Code: Alles auswählen
>>> import locale
>>> locale.setlocale(locale.LC_ALL, '')
'de_DE.UTF-8'
>>> locale.localeconv()['thousands_sep']
''
Code: Alles auswählen
locale.setlocale( locale.LC_ALL, '' )
self.MainFrame_statusbar.SetStatusText( str( locale.getlocale() ) )
Code: Alles auswählen
from AppKit import NSLocale
print NSLocale.currentLocale().localeIdentifier()
Nun, um das Problem zu lösen reichte es den Tip von lunar zu implementieren und was die Pythonversion betrifft, so bindet py2app das 2.6er Framework ein - das sollte also nicht das Problem sein.Darii hat geschrieben:Ich verstehe dein Problem nicht, was hast du getan, damit es jetzt auch einmal funktioniert? Vermutlich verwendet py2app dann evtl eine andere Python-Version
Das werde ich mir einmal näher ansehen, auch wenn das Programm eigentlich auf allen gängigen Plattformen laufen soll.Darii hat geschrieben: Alternativ, wenn du das sowieso nur für den Mac machst (py2app) kommst du auch per(siehe NSLocale) an die aktuelle Sprache (aber nur, wenn du die Python-Version von Apple benutzt, alternativ musst du pyobjc noch nachinstallieren – wenn das geht, das weiß ich nicht).Code: Alles auswählen
from AppKit import NSLocale print NSLocale.currentLocale().localeIdentifier()
Wobei letzteres doch nun endlich mal sterben sollte. Wenn man denn unbedingt so etwas haben will, dann doch Subversion. Git und Mercurial lassen aber auch das schon meilenweit hinter sich.Shining-Blue hat geschrieben:Bitte nicht schimpfen, bin halt blond, blauäugig und noch arg am lernen, dennmeine letzten Programmiererfahrungen stammen noch aus Zeiten wo OOP man gerade erfunden wurde und Dinge wie Internet und CVS noch unbekannt waren.
Nunja, Sourceforge bietet durchaus ViewVC.cofi hat geschrieben:Wie waere es denn wenn du den Code ueber paste.pocoo.org zugaenglich machst? Natuerlich nur fuer denn Fall, dass das nich allzu umfangreich ist.
Code: Alles auswählen
from MainFrame import MainFrame
import locale
import gettext
import os
import sys
import wx
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__":
# Localelize
APPDIR = os.path.split( os.path.realpath( sys.argv[0] ) )[0]
LOCALEDIR = os.path.join( APPDIR, "locale" )
locale.setlocale( locale.LC_ALL, '' )
language_code, encoding = locale.getlocale()
gettext.bindtextdomain( 'ScaleIt4BB' )
gettext.install( 'ScaleIt4BB', LOCALEDIR, encoding )
ScaleIt4BB = MainApp( 0 )
ScaleIt4BB.MainLoop()
Ah danke. In dem Zeichensalat hab ich uebersehen, dass es bei Sourceforge lagertLeonidas hat geschrieben:Nunja, Sourceforge bietet durchaus ViewVC.
Shining-Blue hat geschrieben:ick wull du wat mit Zeichensalat
Das ist fuer mich Zeichensalatcvs -d:pserver:anonymous@scaleit4bb.cvs.sourceforge.net:/cvsroot/scaleit4bb82 login
cvs -z3 -d:pserver:anonymous@scaleit4bb.cvs.sourceforge.net:/cvsroot/scaleit4bb83 co -P modulename