chiark / gitweb /
Disable all languages except english for an official release.
[cura.git] / Cura / util / resources.py
index 473f496459e09e1ea212a23261164e00bbf7bcd9..6eb90cc6f86d35a761d0e5bc99f65fd1bb57b89a 100644 (file)
@@ -3,7 +3,9 @@ __copyright__ = "Copyright (C) 2013 David Braam - Released under terms of the AG
 
 import os
 import sys
+import glob
 
+#Cura/util classes should not depend on wx...
 import wx
 import gettext
 
@@ -43,15 +45,36 @@ def getPathForMesh(name):
 def getPathForFirmware(name):
        return getPathForResource(resourceBasePath, 'firmware', name)
 
-def setupLocalization():
+def getDefaultMachineProfiles():
+       path = os.path.normpath(os.path.join(resourceBasePath, 'machine_profiles', '*.ini'))
+       return glob.glob(path)
+
+def setupLocalization(selectedLanguage = None):
        try:
                if sys.platform.startswith('darwin'):
                        languages = NSLocale.preferredLanguages()
                else:
+                       #Using wx.Locale before you created wx.App seems to cause an nasty exception. So default to 'en' at the moment.
                        languages = [wx.Locale(wx.LANGUAGE_DEFAULT).GetCanonicalName()]
        except Exception as e:
                languages = ['en']
 
+       if selectedLanguage is not None:
+               for item in getLanguageOptions():
+                       if item[1] == selectedLanguage and item[0] is not None:
+                               languages = [item[0]]
+
        locale_path = os.path.normpath(os.path.join(resourceBasePath, 'locale'))
        translation = gettext.translation('Cura', locale_path, languages, fallback=True)
        translation.install(unicode=True)
+
+def getLanguageOptions():
+       return [
+               # [None, 'System default'],
+               ['en', 'English'],
+               # ['de', 'Deutsch'],
+               # ['fr', 'French'],
+               # ['nl', 'Nederlands'],
+               # ['sp', 'Spanish'],
+               # ['po', 'Polish']
+       ]