diff --git a/picard/tagger.py b/picard/tagger.py index 711b1d24b..29e5b3c08 100644 --- a/picard/tagger.py +++ b/picard/tagger.py @@ -206,9 +206,10 @@ class Tagger(QtGui.QApplication): def setup_gettext(self, localedir): """Setup locales, load translations, install gettext functions.""" - if self.config.setting["ui_language"]: + ui_language = self.config.setting["ui_language"] + if ui_language: os.environ['LANGUAGE'] = '' - os.environ['LANG'] = self.config.setting["ui_language"] + os.environ['LANG'] = ui_language if sys.platform == "win32": try: locale.setlocale(locale.LC_ALL, os.environ["LANG"]) @@ -221,6 +222,13 @@ class Tagger(QtGui.QApplication): except: pass else: + if sys.platform == "darwin" and not ui_language: + try: + import Foundation + defaults = Foundation.NSUserDefaults.standardUserDefaults() + os.environ["LANG"] = defaults.objectForKey_("AppleLanguages")[0] + except: + pass try: locale.setlocale(locale.LC_ALL, "") except: diff --git a/setup.py b/setup.py index 6e92e97c4..cdfe55c88 100755 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ try: 'iconfile' : 'picard.icns', 'frameworks' : ['libofa.0.dylib', 'libiconv.2.dylib', 'libdiscid.0.dylib'], 'resources' : ['locale'], - 'includes' : ['sip', 'PyQt4', 'picard.util.astrcmp', 'picard.musicdns.ofa', 'picard.musicdns.avcodec'], + 'includes' : ['sip', 'PyQt4', 'Foundation', 'picard.util.astrcmp', 'picard.musicdns.ofa', 'picard.musicdns.avcodec'], 'excludes' : ['pydoc', 'PyQt4.QtDeclarative', 'PyQt4.QtDesigner', 'PyQt4.QtHelp', 'PyQt4.QtMultimedia', 'PyQt4.QtOpenGL', 'PyQt4.QtScript', 'PyQt4.QtScriptTools', 'PyQt4.QtSql', 'PyQt4.QtSvg', 'PyQt4.QtTest', 'PyQt4.QtWebKit', 'PyQt4.QtXmlPatterns', 'PyQt4.phonon'],