Commit abb3cdf43ed03d4de98266fefcfa6ebbf260d4a0
1 parent
126beb40
Exists in
master
and in
68 other branches
FIX: Language combo default selection
Showing
1 changed file
with
15 additions
and
5 deletions
Show diff stats
invesalius/i18n.py
| @@ -44,13 +44,23 @@ def GetLocales(): | @@ -44,13 +44,23 @@ def GetLocales(): | ||
| 44 | 44 | ||
| 45 | def GetLocaleOS(): | 45 | def GetLocaleOS(): |
| 46 | """Return language of the operating system.""" | 46 | """Return language of the operating system.""" |
| 47 | + default_locale = 'en' | ||
| 48 | + locales_dict = GetLocales() | ||
| 49 | + | ||
| 47 | if sys.platform == 'darwin': | 50 | if sys.platform == 'darwin': |
| 48 | locale.setlocale(locale.LC_ALL, "") | 51 | locale.setlocale(locale.LC_ALL, "") |
| 49 | - return locale.getlocale()[0] | ||
| 50 | - lc = locale.getdefaultlocale()[0] | ||
| 51 | - if lc: | ||
| 52 | - return lc | ||
| 53 | - return 'en' | 52 | + os_locale = locale.getlocale()[0] |
| 53 | + else: | ||
| 54 | + os_locale = locale.getdefaultlocale()[0] | ||
| 55 | + | ||
| 56 | + if os_locale: | ||
| 57 | + if os_locale in locales_dict.keys(): | ||
| 58 | + default_locale = os_locale | ||
| 59 | + else: | ||
| 60 | + for l in locales_dict: | ||
| 61 | + if l.startswith(os_locale): | ||
| 62 | + default_locale = l | ||
| 63 | + return default_locale | ||
| 54 | 64 | ||
| 55 | def InstallLanguage(language): | 65 | def InstallLanguage(language): |
| 56 | language_dir = os.path.abspath(os.path.join('..','locale')) | 66 | language_dir = os.path.abspath(os.path.join('..','locale')) |