summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--searx/engines/google.py1
-rw-r--r--searx/translations/nb_NO/LC_MESSAGES/messages.mobin8101 -> 8793 bytes
-rw-r--r--searx/translations/nb_NO/LC_MESSAGES/messages.po20
-rwxr-xr-xsearx/webapp.py60
-rw-r--r--tests/unit/test_webapp.py18
-rwxr-xr-xutils/filtron.sh6
-rwxr-xr-xutils/lib.sh3
-rwxr-xr-xutils/searx.sh2
8 files changed, 60 insertions, 50 deletions
diff --git a/searx/engines/google.py b/searx/engines/google.py
index 8e649c9d1..e1caabb12 100644
--- a/searx/engines/google.py
+++ b/searx/engines/google.py
@@ -298,6 +298,7 @@ def request(query, params):
'ie': "utf8",
'oe': "utf8",
'start': offset,
+ 'filter': '0',
**additional_parameters,
})
diff --git a/searx/translations/nb_NO/LC_MESSAGES/messages.mo b/searx/translations/nb_NO/LC_MESSAGES/messages.mo
index 3bf1a37a6..3b9e4639a 100644
--- a/searx/translations/nb_NO/LC_MESSAGES/messages.mo
+++ b/searx/translations/nb_NO/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/nb_NO/LC_MESSAGES/messages.po b/searx/translations/nb_NO/LC_MESSAGES/messages.po
index 21af0a268..96b0ecb3e 100644
--- a/searx/translations/nb_NO/LC_MESSAGES/messages.po
+++ b/searx/translations/nb_NO/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-07-31 19:11+0200\n"
-"PO-Revision-Date: 2021-08-13 03:06+0000\n"
+"PO-Revision-Date: 2021-08-20 07:16+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Norwegian Bokmål <https://weblate.bubu1.eu/projects/searxng/"
"searxng/nb_NO/>\n"
@@ -59,7 +59,7 @@ msgstr "kart"
#: searx/webapp.py:196
msgid "onions"
-msgstr ""
+msgstr "løktjenester"
#: searx/webapp.py:197
msgid "science"
@@ -107,7 +107,7 @@ msgstr "for mange forespørsler"
#: searx/webapp.py:223
msgid "access denied"
-msgstr ""
+msgstr "tilgang nektet"
#: searx/webapp.py:224
msgid "server API error"
@@ -143,11 +143,11 @@ msgstr ""
#: searx/answerers/random/answerer.py:65
msgid "Random value generator"
-msgstr ""
+msgstr "Generator for tilfeldige tall"
#: searx/answerers/random/answerer.py:66
msgid "Generate different random values"
-msgstr ""
+msgstr "Generer forskjellige tilfeldige verdier"
#: searx/answerers/statistics/answerer.py:50
msgid "Statistics functions"
@@ -155,11 +155,11 @@ msgstr "Statistikkfunksjoner"
#: searx/answerers/statistics/answerer.py:51
msgid "Compute {functions} of the arguments"
-msgstr ""
+msgstr "Regn ut {functions} av parameterne"
#: searx/engines/openstreetmap.py:155
msgid "Get directions"
-msgstr ""
+msgstr "Få veibeskrivelser"
#: searx/engines/pdbe.py:90
msgid "{title} (OBSOLETE)"
@@ -171,7 +171,7 @@ msgstr "Denne oppføringen har blitt erstattet av"
#: searx/engines/pubmed.py:78
msgid "No abstract is available for this publication."
-msgstr ""
+msgstr "Sammendrag er ikke tilgjengelig for denne publikasjonen."
#: searx/engines/qwant.py:196
msgid "Source"
@@ -195,7 +195,7 @@ msgstr "Uendelig rulling"
#: searx/plugins/infinite_scroll.py:4
msgid "Automatically load next page when scrolling to bottom of current page"
-msgstr ""
+msgstr "Last inn neste side automatisk ved rulling til bunnen av nåværende side"
#: searx/plugins/oa_doi_rewrite.py:9
msgid "Open Access DOI rewrite"
@@ -982,7 +982,7 @@ msgstr ""
#: searx/templates/oscar/messages/no_results.html:17
#: searx/templates/simple/messages/no_results.html:18
msgid "Sorry!"
-msgstr ""
+msgstr "Beklager."
#: searx/templates/oscar/messages/no_results.html:18
#: searx/templates/simple/messages/no_results.html:19
diff --git a/searx/webapp.py b/searx/webapp.py
index 2daafeffa..a1abea887 100755
--- a/searx/webapp.py
+++ b/searx/webapp.py
@@ -223,21 +223,28 @@ exception_classname_to_text = {
'lxml.etree.ParserError': parsing_error_text,
}
-_flask_babel_get_translations = flask_babel.get_translations
-
# monkey patch for flask_babel.get_translations
+_flask_babel_get_translations = flask_babel.get_translations
def _get_translations():
if has_request_context() and request.form.get('use-translation') == 'oc':
babel_ext = flask_babel.current_app.extensions['babel']
return Translations.load(next(babel_ext.translation_directories), 'oc')
return _flask_babel_get_translations()
+flask_babel.get_translations = _get_translations
-flask_babel.get_translations = _get_translations
+@babel.localeselector
+def get_locale():
+ locale = request.preferences.get_value('locale') if has_request_context() else 'en'
+ if locale == 'oc':
+ request.form['use-translation'] = 'oc'
+ locale = 'fr_FR'
+ logger.debug("%s uses locale `%s`", urllib.parse.quote(request.url), locale)
+ return locale
-def _get_browser_or_settings_language(req, lang_list):
+def _get_browser_language(req, lang_list):
for lang in req.headers.get("Accept-Language", "en").split(","):
if ';' in lang:
lang = lang.split(';')[0]
@@ -247,37 +254,7 @@ def _get_browser_or_settings_language(req, lang_list):
locale = match_language(lang, lang_list, fallback=None)
if locale is not None:
return locale
- return settings['search']['default_lang'] or 'en'
-
-
-@babel.localeselector
-def get_locale():
- if 'locale' in request.form\
- and request.form['locale'] in LOCALE_NAMES:
- # 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
+ return 'en'
# code-highlighter
@@ -541,11 +518,18 @@ def pre_request():
logger.exception(e, exc_info=True)
request.errors.append(gettext('Invalid settings'))
- # init search language and locale
+ # language is defined neither in settings nor in preferences
+ # use browser headers
if not preferences.get_value("language"):
- preferences.parse_dict({"language": _get_browser_or_settings_language(request, LANGUAGE_CODES)})
+ language = _get_browser_language(request, LANGUAGE_CODES)
+ preferences.parse_dict({"language": language})
+
+ # locale is defined neither in settings nor in preferences
+ # use browser headers
if not preferences.get_value("locale"):
- preferences.parse_dict({"locale": get_locale()})
+ locale = _get_browser_language(request, UI_LOCALE_CODES)
+ locale = locale.replace('-', '_')
+ preferences.parse_dict({"locale": locale})
# request.user_plugins
request.user_plugins = [] # pylint: disable=assigning-non-slot
diff --git a/tests/unit/test_webapp.py b/tests/unit/test_webapp.py
index 2cbdc83d6..8598113f7 100644
--- a/tests/unit/test_webapp.py
+++ b/tests/unit/test_webapp.py
@@ -220,6 +220,24 @@ class ViewsTestCase(SearxTestCase):
'Search language ignored browser preference.'
)
+ def test_brower_empty_locale(self):
+ result = self.app.get('/preferences', headers={'Accept-Language': ''})
+ self.assertEqual(result.status_code, 200)
+ self.assertIn(
+ b'<option value="en" selected="selected">',
+ result.data,
+ 'Interface locale ignored browser preference.'
+ )
+
+ def test_locale_occitan(self):
+ result = self.app.get('/preferences?locale=oc')
+ self.assertEqual(result.status_code, 200)
+ self.assertIn(
+ b'<option value="oc" selected="selected">',
+ result.data,
+ 'Interface locale ignored browser preference.'
+ )
+
def test_stats(self):
result = self.app.get('/stats')
self.assertEqual(result.status_code, 200)
diff --git a/utils/filtron.sh b/utils/filtron.sh
index 3bd6f016d..4e35199ee 100755
--- a/utils/filtron.sh
+++ b/utils/filtron.sh
@@ -302,6 +302,12 @@ install_rules() {
return
fi
+ if cmp --silent "${FILTRON_RULES}" "${FILTRON_RULES_TEMPLATE}"; then
+ info_msg "${FILTRON_RULES} is up to date with"
+ info_msg "${FILTRON_RULES_TEMPLATE}"
+ return
+ fi
+
rst_para "Diff between origin's rules file (+) and current (-):"
echo "${FILTRON_RULES}" "${FILTRON_RULES_TEMPLATE}"
$DIFF_CMD "${FILTRON_RULES}" "${FILTRON_RULES_TEMPLATE}"
diff --git a/utils/lib.sh b/utils/lib.sh
index f29666226..028450ab4 100755
--- a/utils/lib.sh
+++ b/utils/lib.sh
@@ -437,7 +437,8 @@ install_template() {
if [[ "$do_eval" == "1" ]]; then
template_file="${CACHE}${dst}${variant}"
- info_msg "BUILD template ${template_file}"
+ info_msg "BUILD ${template_file}"
+ info_msg "BUILD using template ${template_origin}"
if [[ -n ${SUDO_USER} ]]; then
sudo -u "${SUDO_USER}" mkdir -p "$(dirname "${template_file}")"
else
diff --git a/utils/searx.sh b/utils/searx.sh
index 3ebe5df11..a2d42c27b 100755
--- a/utils/searx.sh
+++ b/utils/searx.sh
@@ -621,7 +621,7 @@ install_settings() {
fi
mkdir -p "$(dirname "${SEARX_SETTINGS_PATH}")"
- install_template \
+ install_template --no-eval \
"${SEARX_SETTINGS_PATH}" \
"${SERVICE_USER}" "${SERVICE_GROUP}"
configure_searx