diff --git a/invesalius/i18n.py b/invesalius/i18n.py index ce8183a..e80470c 100644 --- a/invesalius/i18n.py +++ b/invesalius/i18n.py @@ -64,8 +64,11 @@ def GetLocaleOS(): def InstallLanguage(language): language_dir = os.path.abspath(os.path.join('..','locale')) - lang = gettext.translation('invesalius', language_dir,\ + if os.path.isdir(language_dir): + lang = gettext.translation('invesalius', language_dir,\ languages=[language], codeset='utf8') - # Using unicode - lang.install(unicode=1) - return lang.ugettext + # Using unicode + lang.install(unicode=1) + return lang.ugettext + else: + return False diff --git a/invesalius/invesalius.py b/invesalius/invesalius.py index f6274e1..e2eaf23 100755 --- a/invesalius/invesalius.py +++ b/invesalius/invesalius.py @@ -90,13 +90,19 @@ class SplashScreen(_SplashScreen): create_session = True # Check if there is a language set (if session file exists - if session.ReadLanguage(): + language_exist = session.ReadLanguage() + + if language_exist: lang = session.GetLanguage() - _ = i18n.InstallLanguage(lang) + install = i18n.InstallLanguage(lang) + if install: + _ = install + else: + language_exist = False # If no language is set into session file, show dialog so # user can select language - else: + if not language_exist: dialog = lang_dlg.LanguageDialog() # FIXME: This works ok in linux2, darwin and win32, -- libgit2 0.21.2