Verify interface lang can be used for localization
Check the configured interface language against the available localization dict before attempting to use, otherwise fall back to english. Also expanded language names in the languages json file.
This commit is contained in:
parent
ef6bb5fec0
commit
041689d637
|
@ -10,13 +10,13 @@ class Config:
|
|||
return bool(int(val))
|
||||
return False
|
||||
|
||||
app_config = current_app.config
|
||||
self.app_config = current_app.config
|
||||
self.url = os.getenv('WHOOGLE_CONFIG_URL', '')
|
||||
self.lang_search = os.getenv('WHOOGLE_CONFIG_SEARCH_LANGUAGE', '')
|
||||
self.lang_interface = os.getenv('WHOOGLE_CONFIG_LANGUAGE', '')
|
||||
self.style = os.getenv(
|
||||
'WHOOGLE_CONFIG_STYLE',
|
||||
open(os.path.join(app_config['STATIC_FOLDER'],
|
||||
open(os.path.join(self.app_config['STATIC_FOLDER'],
|
||||
'css/variables.css')).read())
|
||||
self.block = os.getenv('WHOOGLE_CONFIG_BLOCK', '')
|
||||
self.ctry = os.getenv('WHOOGLE_CONFIG_COUNTRY', '')
|
||||
|
@ -77,14 +77,15 @@ class Config:
|
|||
|
||||
return key in self.safe_keys
|
||||
|
||||
def get_interface_lang(self):
|
||||
def get_localization_lang(self):
|
||||
"""Returns the correct language to use for localization, but falls
|
||||
back to english if not set.
|
||||
|
||||
Returns:
|
||||
str -- the interface language string
|
||||
str -- the localization language string
|
||||
"""
|
||||
if self.lang_interface:
|
||||
if (self.lang_interface and
|
||||
self.lang_interface in self.app_config['TRANSLATIONS']):
|
||||
return self.lang_interface
|
||||
|
||||
return 'lang_en'
|
||||
|
|
|
@ -131,7 +131,7 @@ def index():
|
|||
languages=app.config['LANGUAGES'],
|
||||
countries=app.config['COUNTRIES'],
|
||||
translation=app.config['TRANSLATIONS'][
|
||||
g.user_config.get_interface_lang()
|
||||
g.user_config.get_localization_lang()
|
||||
],
|
||||
logo=render_template(
|
||||
'logo.html',
|
||||
|
@ -239,7 +239,7 @@ def search():
|
|||
search_type=search_util.search_type,
|
||||
config=g.user_config,
|
||||
translation=app.config['TRANSLATIONS'][
|
||||
g.user_config.get_interface_lang()
|
||||
g.user_config.get_localization_lang()
|
||||
],
|
||||
response=response,
|
||||
version_number=app.config['VERSION_NUMBER'],
|
||||
|
|
|
@ -1,49 +1,49 @@
|
|||
[
|
||||
{"name": "-------", "value": ""},
|
||||
{"name": "English", "value": "lang_en"},
|
||||
{"name": "Afrikaans", "value": "lang_af"},
|
||||
{"name": "Arabic", "value": "lang_ar"},
|
||||
{"name": "Armenian", "value": "lang_hy"},
|
||||
{"name": "Belarusian", "value": "lang_be"},
|
||||
{"name": "Bulgarian", "value": "lang_bg"},
|
||||
{"name": "Catalan", "value": "lang_ca"},
|
||||
{"name": "Chinese (Simplified)", "value": "lang_zh-CN"},
|
||||
{"name": "Chinese (Traditional)", "value": "lang_zh-TW"},
|
||||
{"name": "Croatian", "value": "lang_hr"},
|
||||
{"name": "Czech", "value": "lang_cs"},
|
||||
{"name": "Danish", "value": "lang_da"},
|
||||
{"name": "Dutch", "value": "lang_nl"},
|
||||
{"name": "Esperanto", "value": "lang_eo"},
|
||||
{"name": "Estonian", "value": "lang_et"},
|
||||
{"name": "Filipino", "value": "lang_tl"},
|
||||
{"name": "Finnish", "value": "lang_fi"},
|
||||
{"name": "French", "value": "lang_fr"},
|
||||
{"name": "German", "value": "lang_de"},
|
||||
{"name": "Greek", "value": "lang_el"},
|
||||
{"name": "Hebrew", "value": "lang_iw"},
|
||||
{"name": "Hindi", "value": "lang_hi"},
|
||||
{"name": "Hungarian", "value": "lang_hu"},
|
||||
{"name": "Icelandic", "value": "lang_is"},
|
||||
{"name": "Indonesian", "value": "lang_id"},
|
||||
{"name": "Italian", "value": "lang_it"},
|
||||
{"name": "Japanese", "value": "lang_ja"},
|
||||
{"name": "Korean", "value": "lang_ko"},
|
||||
{"name": "Latvian", "value": "lang_lv"},
|
||||
{"name": "Lithuanian", "value": "lang_lt"},
|
||||
{"name": "Norwegian", "value": "lang_no"},
|
||||
{"name": "Persian", "value": "lang_fa"},
|
||||
{"name": "Polish", "value": "lang_pl"},
|
||||
{"name": "Portuguese", "value": "lang_pt"},
|
||||
{"name": "Romanian", "value": "lang_ro"},
|
||||
{"name": "Russian", "value": "lang_ru"},
|
||||
{"name": "Serbian", "value": "lang_sr"},
|
||||
{"name": "Slovak", "value": "lang_sk"},
|
||||
{"name": "Slovenian", "value": "lang_sl"},
|
||||
{"name": "Spanish", "value": "lang_es"},
|
||||
{"name": "Swahili", "value": "lang_sw"},
|
||||
{"name": "Swedish", "value": "lang_sv"},
|
||||
{"name": "Thai", "value": "lang_th"},
|
||||
{"name": "Turkish", "value": "lang_tr"},
|
||||
{"name": "Ukrainian", "value": "lang_uk"},
|
||||
{"name": "Vietnamese", "value": "lang_vi"}
|
||||
{"name": "Afrikaans (Afrikaans)", "value": "lang_af"},
|
||||
{"name": "Arabic (عربى)", "value": "lang_ar"},
|
||||
{"name": "Armenian (հայերեն)", "value": "lang_hy"},
|
||||
{"name": "Belarusian (Беларуская)", "value": "lang_be"},
|
||||
{"name": "Bulgarian (български)", "value": "lang_bg"},
|
||||
{"name": "Catalan (Català)", "value": "lang_ca"},
|
||||
{"name": "Chinese, Simplified (简体中文)", "value": "lang_zh-CN"},
|
||||
{"name": "Chinese, Traditional (繁体中文)", "value": "lang_zh-TW"},
|
||||
{"name": "Croatian (Hrvatski)", "value": "lang_hr"},
|
||||
{"name": "Czech (čeština)", "value": "lang_cs"},
|
||||
{"name": "Danish (Dansk)", "value": "lang_da"},
|
||||
{"name": "Dutch (Nederlands)", "value": "lang_nl"},
|
||||
{"name": "Esperanto (Esperanto)", "value": "lang_eo"},
|
||||
{"name": "Estonian (Eestlane)", "value": "lang_et"},
|
||||
{"name": "Filipino (Pilipino)", "value": "lang_tl"},
|
||||
{"name": "Finnish (Suomalainen)", "value": "lang_fi"},
|
||||
{"name": "French (Français)", "value": "lang_fr"},
|
||||
{"name": "German (Deutsche)", "value": "lang_de"},
|
||||
{"name": "Greek (Ελληνικά)", "value": "lang_el"},
|
||||
{"name": "Hebrew (עִברִית)", "value": "lang_iw"},
|
||||
{"name": "Hindi (हिंदी)", "value": "lang_hi"},
|
||||
{"name": "Hungarian (Magyar)", "value": "lang_hu"},
|
||||
{"name": "Icelandic (Íslenska)", "value": "lang_is"},
|
||||
{"name": "Indonesian (Indonesian)", "value": "lang_id"},
|
||||
{"name": "Italian (Italiano)", "value": "lang_it"},
|
||||
{"name": "Japanese (日本語)", "value": "lang_ja"},
|
||||
{"name": "Korean (한국어)", "value": "lang_ko"},
|
||||
{"name": "Latvian (Latvietis)", "value": "lang_lv"},
|
||||
{"name": "Lithuanian (Lietuvis)", "value": "lang_lt"},
|
||||
{"name": "Norwegian (Norwegian)", "value": "lang_no"},
|
||||
{"name": "Persian (فارسی)", "value": "lang_fa"},
|
||||
{"name": "Polish (Polskie)", "value": "lang_pl"},
|
||||
{"name": "Portugese (Português)", "value": "lang_pt"},
|
||||
{"name": "Romanian (Română)", "value": "lang_ro"},
|
||||
{"name": "Russian (русский)", "value": "lang_ru"},
|
||||
{"name": "Serbian (Српски)", "value": "lang_sr"},
|
||||
{"name": "Slovak (Slovák)", "value": "lang_sk"},
|
||||
{"name": "Slovenian (Slovenščina)", "value": "lang_sl"},
|
||||
{"name": "Spanish (Español)", "value": "lang_es"},
|
||||
{"name": "Swahili (Kiswahili)", "value": "lang_sw"},
|
||||
{"name": "Swedish (Svenska)", "value": "lang_sv"},
|
||||
{"name": "Thai (ไทย)", "value": "lang_th"},
|
||||
{"name": "Turkish (Türk)", "value": "lang_tr"},
|
||||
{"name": "Ukranian (Український)", "value": "lang_uk"},
|
||||
{"name": "Vietnamese (Tiếng Việt)", "value": "lang_vi"}
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue
Block a user