mirror of https://github.com/searx/searx
Merge 7176dc8137
into 276ffd3f01
This commit is contained in:
commit
e96280a423
|
@ -1,7 +1,7 @@
|
|||
Brotli==1.0.9
|
||||
babel==2.11.0
|
||||
babel==2.12.1
|
||||
certifi==2022.12.7
|
||||
flask-babel==2.0.0
|
||||
flask-babel==3.1.0
|
||||
flask==2.2.2
|
||||
jinja2==3.1.2
|
||||
langdetect==1.0.9
|
||||
|
|
|
@ -141,11 +141,47 @@ if not werkzeug_reloader\
|
|||
or (werkzeug_reloader and os.environ.get("WERKZEUG_RUN_MAIN") == "true"):
|
||||
search_initialize(enable_checker=True)
|
||||
|
||||
babel = Babel(app)
|
||||
ui_locale_codes = [l.replace('_', '-') for l in settings['locales'].keys()]
|
||||
|
||||
|
||||
def get_locale():
|
||||
if 'locale' in request.form\
|
||||
and request.form['locale'] in settings['locales']:
|
||||
# use locale from the form
|
||||
locale = request.form['locale']
|
||||
locale_source = 'form'
|
||||
elif request.preferences.get_value('locale') != '':
|
||||
# use locale from the preferences
|
||||
locale = request.preferences.get_value('locale')
|
||||
locale_source = 'preferences'
|
||||
else:
|
||||
# use local from the browser
|
||||
locale = _get_browser_or_settings_language(request, ui_locale_codes)
|
||||
locale = locale.replace('-', '_')
|
||||
locale_source = 'browser'
|
||||
|
||||
# see _get_translations function
|
||||
# and https://github.com/searx/searx/pull/1863
|
||||
if locale == 'oc':
|
||||
request.form['use-translation'] = 'oc'
|
||||
locale = 'fr_FR'
|
||||
|
||||
logger.debug(
|
||||
"%s uses locale `%s` from %s", urllib.parse.quote(request.url), locale, locale_source
|
||||
)
|
||||
|
||||
return locale
|
||||
|
||||
|
||||
babel = Babel()
|
||||
if hasattr(babel, "localeselector"):
|
||||
babel.init_app(app)
|
||||
babel.localeselector(get_locale)
|
||||
else:
|
||||
babel.init_app(app, locale_selector=get_locale)
|
||||
|
||||
rtl_locales = ['ar', 'arc', 'bcc', 'bqi', 'ckb', 'dv', 'fa', 'fa_IR', 'glk', 'he',
|
||||
'ku', 'mzn', 'pnb', 'ps', 'sd', 'ug', 'ur', 'yi']
|
||||
ui_locale_codes = [l.replace('_', '-') for l in settings['locales'].keys()]
|
||||
|
||||
# used when translating category names
|
||||
_category_names = (gettext('files'),
|
||||
|
@ -188,36 +224,6 @@ def _get_browser_or_settings_language(request, lang_list):
|
|||
return settings['search']['default_lang'] or 'en'
|
||||
|
||||
|
||||
@babel.localeselector
|
||||
def get_locale():
|
||||
if 'locale' in request.form\
|
||||
and request.form['locale'] in settings['locales']:
|
||||
# use locale from the form
|
||||
locale = request.form['locale']
|
||||
locale_source = 'form'
|
||||
elif request.preferences.get_value('locale') != '':
|
||||
# use locale from the preferences
|
||||
locale = request.preferences.get_value('locale')
|
||||
locale_source = 'preferences'
|
||||
else:
|
||||
# use local from the browser
|
||||
locale = _get_browser_or_settings_language(request, ui_locale_codes)
|
||||
locale = locale.replace('-', '_')
|
||||
locale_source = 'browser'
|
||||
|
||||
# see _get_translations function
|
||||
# and https://github.com/searx/searx/pull/1863
|
||||
if locale == 'oc':
|
||||
request.form['use-translation'] = 'oc'
|
||||
locale = 'fr_FR'
|
||||
|
||||
logger.debug(
|
||||
"%s uses locale `%s` from %s", urllib.parse.quote(request.url), locale, locale_source
|
||||
)
|
||||
|
||||
return locale
|
||||
|
||||
|
||||
# code-highlighter
|
||||
@app.template_filter('code_highlighter')
|
||||
def code_highlighter(codelines, language=None):
|
||||
|
|
Loading…
Reference in New Issue