Ensure that languages that are set are actually supported
This commit is contained in:
@@ -190,7 +190,9 @@ def defPaths(customSavePath=None):
|
|||||||
from service.settings import EOSSettings, LocaleSettings
|
from service.settings import EOSSettings, LocaleSettings
|
||||||
eos.config.settings = EOSSettings.getInstance().EOSSettings # this is kind of confusing, but whatever
|
eos.config.settings = EOSSettings.getInstance().EOSSettings # this is kind of confusing, but whatever
|
||||||
|
|
||||||
language = language or LocaleSettings.getInstance().get('locale')
|
# set langauge
|
||||||
|
localeSettings = LocaleSettings.getInstance()
|
||||||
|
language = language if language in localeSettings.supported_langauges else localeSettings.get('locale')
|
||||||
eos.config.set_lang(language)
|
eos.config.set_lang(language)
|
||||||
|
|
||||||
def defLogging():
|
def defLogging():
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ translation_mapping = {
|
|||||||
|
|
||||||
def set_lang(i18n_lang):
|
def set_lang(i18n_lang):
|
||||||
global lang
|
global lang
|
||||||
lang = translation_mapping.get(i18n_lang, translation_mapping.get("en-US"))
|
lang = translation_mapping.get(i18n_lang, translation_mapping.get("en_US"))
|
||||||
|
|
||||||
pyfalog.debug("Gamedata connection string: {0}", gamedata_connectionstring)
|
pyfalog.debug("Gamedata connection string: {0}", gamedata_connectionstring)
|
||||||
|
|
||||||
|
|||||||
@@ -538,6 +538,7 @@ class GraphSettings:
|
|||||||
|
|
||||||
class LocaleSettings:
|
class LocaleSettings:
|
||||||
_instance = None
|
_instance = None
|
||||||
|
DEFAULT = "en_US"
|
||||||
|
|
||||||
supported_langauges = {
|
supported_langauges = {
|
||||||
"en_US": wx.LANGUAGE_ENGLISH_US,
|
"en_US": wx.LANGUAGE_ENGLISH_US,
|
||||||
@@ -554,7 +555,7 @@ class LocaleSettings:
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
|
||||||
defaults = {
|
defaults = {
|
||||||
'locale': "en_US"
|
'locale': self.DEFAULT
|
||||||
}
|
}
|
||||||
self.settings = SettingsProvider.getInstance().getSettings('localeSettings', defaults)
|
self.settings = SettingsProvider.getInstance().getSettings('localeSettings', defaults)
|
||||||
|
|
||||||
@@ -562,4 +563,6 @@ class LocaleSettings:
|
|||||||
return self.settings[key]
|
return self.settings[key]
|
||||||
|
|
||||||
def set(self, key, value):
|
def set(self, key, value):
|
||||||
|
if key == 'locale' and value not in self.supported_langauges:
|
||||||
|
self.settings[key] = self.DEFAULT
|
||||||
self.settings[key] = value
|
self.settings[key] = value
|
||||||
|
|||||||
Reference in New Issue
Block a user