Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
searx-engine
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gargantext
searx-engine
Commits
7f224713
Unverified
Commit
7f224713
authored
Feb 08, 2020
by
Markus Heiser
Committed by
GitHub
Feb 08, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1621 from nfk/locale
Fix regional settings #844
parents
50b070c5
7c79eb9b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
32 additions
and
14 deletions
+32
-14
preferences.py
searx/preferences.py
+2
-2
settings.yml
searx/settings.yml
+0
-1
webapp.py
searx/webapp.py
+30
-11
No files found.
searx/preferences.py
View file @
7f224713
...
...
@@ -268,8 +268,8 @@ class Preferences(object):
super
(
Preferences
,
self
)
.
__init__
()
self
.
key_value_settings
=
{
'categories'
:
MultipleChoiceSetting
([
'general'
],
choices
=
categories
+
[
'none'
]),
'language'
:
SearchLanguageSetting
(
settings
[
'
search'
][
'languag
e'
],
choices
=
LANGUAGE_CODES
),
'language'
:
SearchLanguageSetting
(
settings
[
'
ui'
][
'default_local
e'
],
choices
=
list
(
LANGUAGE_CODES
)
+
[
''
]
),
'locale'
:
EnumStringSetting
(
settings
[
'ui'
][
'default_locale'
],
choices
=
list
(
settings
[
'locales'
]
.
keys
())
+
[
''
]),
'autocomplete'
:
EnumStringSetting
(
settings
[
'search'
][
'autocomplete'
],
...
...
searx/settings.yml
View file @
7f224713
...
...
@@ -5,7 +5,6 @@ general:
search
:
safe_search
:
0
# Filter results. 0: None, 1: Moderate, 2: Strict
autocomplete
:
"
"
# Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "startpage", "wikipedia" - leave blank to turn it off by default
language
:
"
en-US"
ban_time_on_fail
:
5
# ban time in seconds after engine errors
max_ban_time_on_fail
:
120
# max ban time in seconds after engine errors
...
...
searx/webapp.py
View file @
7f224713
...
...
@@ -159,18 +159,28 @@ outgoing_proxies = settings['outgoing'].get('proxies') or None
@
babel
.
localeselector
def
get_locale
():
locale
=
"en-US"
for
lang
in
request
.
headers
.
get
(
"Accept-Language"
,
locale
)
.
split
(
","
):
locale
=
match_language
(
lang
,
settings
[
'locales'
]
.
keys
(),
fallback
=
None
)
if
locale
is
not
None
:
break
logger
.
debug
(
"default locale from browser info is `
%
s`"
,
locale
)
if
request
.
preferences
.
get_value
(
'locale'
)
!=
''
:
locale
=
request
.
preferences
.
get_value
(
'locale'
)
if
'locale'
in
request
.
form
\
and
request
.
form
[
'locale'
]
in
settings
[
'locales'
]:
return
request
.
form
[
'locale'
]
locale
=
request
.
form
[
'locale'
]
if
'locale'
in
request
.
args
\
and
request
.
args
[
'locale'
]
in
settings
[
'locales'
]:
return
request
.
args
[
'locale'
]
if
locale
==
'zh_TW'
:
locale
=
'zh_Hant_TW'
if
request
.
preferences
.
get_value
(
'locale'
)
!=
''
:
return
request
.
preferences
.
get_value
(
'locale'
)
logger
.
debug
(
"selected locale is `
%
s`"
,
locale
)
return
request
.
accept_languages
.
best_match
(
settings
[
'locales'
]
.
keys
())
return
locale
# code-highlighter
...
...
@@ -348,7 +358,9 @@ def render(template_name, override_theme=None, **kwargs):
if
'autocomplete'
not
in
kwargs
:
kwargs
[
'autocomplete'
]
=
request
.
preferences
.
get_value
(
'autocomplete'
)
if
get_locale
()
in
rtl_locales
and
'rtl'
not
in
kwargs
:
locale
=
request
.
preferences
.
get_value
(
'locale'
)
if
locale
in
rtl_locales
and
'rtl'
not
in
kwargs
:
kwargs
[
'rtl'
]
=
True
kwargs
[
'searx_version'
]
=
VERSION_STRING
...
...
@@ -361,7 +373,7 @@ def render(template_name, override_theme=None, **kwargs):
if
'current_language'
not
in
kwargs
:
kwargs
[
'current_language'
]
=
match_language
(
request
.
preferences
.
get_value
(
'language'
),
LANGUAGE_CODES
,
fallback
=
settings
[
'search'
][
'language'
]
)
fallback
=
locale
)
# override url_for function in templates
kwargs
[
'url_for'
]
=
url_for_theme
...
...
@@ -431,6 +443,13 @@ def pre_request():
logger
.
exception
(
'invalid settings'
)
request
.
errors
.
append
(
gettext
(
'Invalid settings'
))
# init search language and locale
locale
=
get_locale
()
if
not
preferences
.
get_value
(
"language"
):
preferences
.
parse_dict
({
"language"
:
locale
})
if
not
preferences
.
get_value
(
"locale"
):
preferences
.
parse_dict
({
"locale"
:
locale
})
# request.user_plugins
request
.
user_plugins
=
[]
allowed_plugins
=
preferences
.
plugins
.
get_enabled
()
...
...
@@ -637,7 +656,7 @@ def index():
unresponsive_engines
=
result_container
.
unresponsive_engines
,
current_language
=
match_language
(
search_query
.
lang
,
LANGUAGE_CODES
,
fallback
=
settings
[
'search'
][
'language'
]
),
fallback
=
request
.
preferences
.
get_value
(
"language"
)
),
base_url
=
get_base_url
(),
theme
=
get_current_theme_name
(),
favicons
=
global_favicons
[
themes
.
index
(
get_current_theme_name
())],
...
...
@@ -757,7 +776,7 @@ def preferences():
return
render
(
'preferences.html'
,
locales
=
settings
[
'locales'
],
current_locale
=
get_locale
(
),
current_locale
=
request
.
preferences
.
get_value
(
"locale"
),
image_proxy
=
image_proxy
,
engines_by_category
=
engines_by_category
,
stats
=
stats
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment