Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 692c331b authored by Markus Heiser's avatar Markus Heiser Committed by GitHub
Browse files

Merge pull request #1863 from MarcAbonce/monkey-patch-occitan-locale

Monkey patch babel get_translations to support Occitan
parents 09f4e2cd 51e78211
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ try:
    from cgi import escape
except:
    from html import escape
from six import next
from datetime import datetime, timedelta
from time import time
from werkzeug.middleware.proxy_fix import ProxyFix
@@ -52,6 +53,8 @@ from flask import (
    Flask, request, render_template, url_for, Response, make_response,
    redirect, send_from_directory
)
from babel.support import Translations
import flask_babel
from flask_babel import Babel, gettext, format_date, format_decimal
from flask.json import jsonify
from searx import settings, searx_dir, searx_debug
@@ -156,6 +159,22 @@ _category_names = (gettext('files'),

outgoing_proxies = settings['outgoing'].get('proxies') or None

_flask_babel_get_translations = flask_babel.get_translations


# monkey patch for flask_babel.get_translations
def _get_translations():
    translation_locale = request.form.get('use-translation')
    if translation_locale:
        babel_ext = flask_babel.current_app.extensions['babel']
        translation = Translations.load(next(babel_ext.translation_directories), 'oc')
    else:
        translation = _flask_babel_get_translations()
    return translation


flask_babel.get_translations = _get_translations


def _get_browser_language(request, lang_list):
    for lang in request.headers.get("Accept-Language", "en").split(","):
@@ -180,6 +199,10 @@ def get_locale():
    if locale == 'zh_TW':
        locale = 'zh_Hant_TW'

    if locale == 'oc':
        request.form['use-translation'] = 'oc'
        locale = 'fr_FR'

    logger.debug("selected locale is `%s`", locale)

    return locale