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.flaskfix import patch_application
|
||||||
|
|
||||||
from searx.locales import (
|
from searx.locales import (
|
||||||
|
LOCALE_BEST_MATCH,
|
||||||
LOCALE_NAMES,
|
LOCALE_NAMES,
|
||||||
RTL_LOCALES,
|
RTL_LOCALES,
|
||||||
localeselector,
|
localeselector,
|
||||||
@ -1059,10 +1060,12 @@ def image_proxy():
|
|||||||
|
|
||||||
@app.route('/engine_descriptions.json', methods=['GET'])
|
@app.route('/engine_descriptions.json', methods=['GET'])
|
||||||
def engine_descriptions():
|
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()
|
result = ENGINE_DESCRIPTIONS['en'].copy()
|
||||||
if locale != 'en':
|
if sxng_ui_lang_tag != 'en':
|
||||||
for engine, description in ENGINE_DESCRIPTIONS.get(locale, {}).items():
|
for engine, description in ENGINE_DESCRIPTIONS.get(sxng_ui_lang_tag, {}).items():
|
||||||
result[engine] = description
|
result[engine] = description
|
||||||
for engine, description in result.items():
|
for engine, description in result.items():
|
||||||
if len(description) == 2 and description[1] == 'ref':
|
if len(description) == 2 and description[1] == 'ref':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user