mirror of
https://github.com/searxng/searxng.git
synced 2025-05-24 01:12:56 -04:00
[fix] preferences: description not localized for all UI languages (#4844)
The previous implementation for determining the description of an engine did not take into account that the UI languages can also have a region tag and/or a script tag: el-GR: Ελληνικά, Ελλάδα (Greek, Greece) fa-IR: فارسی, ایران (Persian, Iran) nb-NO: Norsk bokmål, Norge (Norwegian bokmål, Norway) nl-BE: Nederlands, België (Dutch, Belgium) pt-BR: Português, Brasil (Portuguese, Brazil) zh-HK: 中文, 中國香港特別行政區 (Chinese, Hong Kong SAR China) zh-Hans-CN: 中文, 中国 (Chinese, China) zh-Hant-TW: 中文, 台灣 (Chinese, Taiwan) Closes: https://github.com/searxng/searxng/issues/4842 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
1ef5c03962
commit
230215c250
@ -106,6 +106,7 @@ from searx.metrics import get_engines_stats, get_engine_errors, get_reliabilitie
|
||||
from searx.flaskfix import patch_application
|
||||
|
||||
from searx.locales import (
|
||||
LOCALE_BEST_MATCH,
|
||||
LOCALE_NAMES,
|
||||
RTL_LOCALES,
|
||||
localeselector,
|
||||
@ -1059,10 +1060,12 @@ def image_proxy():
|
||||
|
||||
@app.route('/engine_descriptions.json', methods=['GET'])
|
||||
def engine_descriptions():
|
||||
locale = get_locale().split('_')[0]
|
||||
sxng_ui_lang_tag = get_locale().replace("_", "-")
|
||||
sxng_ui_lang_tag = LOCALE_BEST_MATCH.get(sxng_ui_lang_tag, sxng_ui_lang_tag)
|
||||
|
||||
result = ENGINE_DESCRIPTIONS['en'].copy()
|
||||
if locale != 'en':
|
||||
for engine, description in ENGINE_DESCRIPTIONS.get(locale, {}).items():
|
||||
if sxng_ui_lang_tag != 'en':
|
||||
for engine, description in ENGINE_DESCRIPTIONS.get(sxng_ui_lang_tag, {}).items():
|
||||
result[engine] = description
|
||||
for engine, description in result.items():
|
||||
if len(description) == 2 and description[1] == 'ref':
|
||||
|
Loading…
x
Reference in New Issue
Block a user