Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Arcane Spark 2024-07-13 00:00:56 +02:00
commit e67a1a3b32
21 changed files with 136 additions and 223 deletions

View file

@ -2,7 +2,7 @@ mock==5.1.0
nose2[coverage_plugin]==0.15.1
cov-core==1.15.0
black==24.3.0
pylint==3.2.3
pylint==3.2.5
splinter==0.21.0
selenium==4.22.0
Pallets-Sphinx-Themes==2.1.3

View file

@ -1,4 +1,4 @@
certifi==2024.6.2
certifi==2024.7.4
babel==2.15.0
flask-babel==4.0.0
flask==3.0.3

View file

@ -5,6 +5,7 @@
# pylint: disable=use-dict-literal
import json
import html
from urllib.parse import urlencode, quote_plus
import lxml
@ -162,7 +163,7 @@ def stract(query, _lang):
if not resp.ok:
return []
return [suggestion['raw'] for suggestion in resp.json()]
return [html.unescape(suggestion['raw']) for suggestion in resp.json()]
def startpage(query, sxng_locale):

View file

@ -1,125 +0,0 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Gentoo Wiki
"""
from urllib.parse import urlencode, urljoin
from lxml import html
from searx.utils import extract_text
# about
about = {
"website": 'https://wiki.gentoo.org/',
"wikidata_id": 'Q1050637',
"official_api_documentation": 'https://wiki.gentoo.org/api.php',
"use_official_api": False,
"require_api_key": False,
"results": 'HTML',
}
# engine dependent config
categories = ['it', 'software wikis']
paging = True
base_url = 'https://wiki.gentoo.org'
# xpath queries
xpath_results = '//ul[@class="mw-search-results"]/li'
xpath_link = './/div[@class="mw-search-result-heading"]/a'
xpath_content = './/div[@class="searchresult"]'
# cut 'en' from 'en-US', 'de' from 'de-CH', and so on
def locale_to_lang_code(locale):
if locale.find('-') >= 0:
locale = locale.split('-')[0]
return locale
# wikis for some languages were moved off from the main site, we need to make
# requests to correct URLs to be able to get results in those languages
lang_urls = {
'en': {'base': 'https://wiki.gentoo.org', 'search': '/index.php?title=Special:Search&offset={offset}&{query}'},
'others': {
'base': 'https://wiki.gentoo.org',
'search': '/index.php?title=Special:Search&offset={offset}&{query}\
&profile=translation&languagefilter={language}',
},
}
# get base & search URLs for selected language
def get_lang_urls(language):
if language != 'en':
return lang_urls['others']
return lang_urls['en']
# Language names to build search requests for
# those languages which are hosted on the main site.
main_langs = {
'ar': 'العربية',
'bg': 'Български',
'cs': 'Česky',
'da': 'Dansk',
'el': 'Ελληνικά',
'es': 'Español',
'he': 'עברית',
'hr': 'Hrvatski',
'hu': 'Magyar',
'it': 'Italiano',
'ko': '한국어',
'lt': 'Lietuviškai',
'nl': 'Nederlands',
'pl': 'Polski',
'pt': 'Português',
'ru': 'Русский',
'sl': 'Slovenský',
'th': 'ไทย',
'uk': 'Українська',
'zh': '简体中文',
}
# do search-request
def request(query, params):
# translate the locale (e.g. 'en-US') to language code ('en')
language = locale_to_lang_code(params['language'])
# if our language is hosted on the main site, we need to add its name
# to the query in order to narrow the results to that language
if language in main_langs:
query += ' (' + main_langs[language] + ')'
# prepare the request parameters
query = urlencode({'search': query})
offset = (params['pageno'] - 1) * 20
# get request URLs for our language of choice
urls = get_lang_urls(language)
search_url = urls['base'] + urls['search']
params['url'] = search_url.format(query=query, offset=offset, language=language)
return params
# get response from search-request
def response(resp):
# get the base URL for the language in which request was made
language = locale_to_lang_code(resp.search_params['language'])
url = get_lang_urls(language)['base']
results = []
dom = html.fromstring(resp.text)
# parse results
for result in dom.xpath(xpath_results):
link = result.xpath(xpath_link)[0]
href = urljoin(url, link.attrib.get('href'))
title = extract_text(link)
content = extract_text(result.xpath(xpath_content))
results.append({'url': href, 'title': title, 'content': content})
return results

View file

@ -100,6 +100,12 @@ base_url: str = 'https://{language}.wikipedia.org/'
ISO 639-1 language code (en, de, fr ..) of the search language.
"""
api_path: str = 'w/api.php'
"""The path the PHP api is listening on.
The default path should work fine usually.
"""
timestamp_format = '%Y-%m-%dT%H:%M:%SZ'
"""The longhand version of MediaWiki time strings."""
@ -113,12 +119,7 @@ def request(query, params):
else:
params['language'] = params['language'].split('-')[0]
if base_url.endswith('/'):
api_url = base_url + 'w/api.php?'
else:
api_url = base_url + '/w/api.php?'
api_url = api_url.format(language=params['language'])
api_url = f"{base_url.rstrip('/')}/{api_path}?".format(language=params['language'])
offset = (params['pageno'] - 1) * number_of_results
args = {

View file

@ -20,6 +20,8 @@ Otherwise, follow instructions provided by Mullvad for enabling the VPN on Linux
update of SearXNG!
"""
from __future__ import annotations
from typing import TYPE_CHECKING
from httpx import Response
from lxml import html
@ -37,6 +39,8 @@ traits: EngineTraits
use_cache: bool = True # non-cache use only has 100 searches per day!
leta_engine: str = 'google'
search_url = "https://leta.mullvad.net"
# about
@ -61,6 +65,11 @@ time_range_dict = {
"year": "y1",
}
available_leta_engines = [
'google', # first will be default if provided engine is invalid
'brave',
]
def is_vpn_connected(dom: html.HtmlElement) -> bool:
"""Returns true if the VPN is connected, False otherwise"""
@ -80,11 +89,22 @@ def assign_headers(headers: dict) -> dict:
def request(query: str, params: dict):
country = traits.get_region(params.get('searxng_locale', 'all'), traits.all_locale) # type: ignore
result_engine = leta_engine
if leta_engine not in available_leta_engines:
result_engine = available_leta_engines[0]
logger.warning(
'Configured engine "%s" not one of the available engines %s, defaulting to "%s"',
leta_engine,
available_leta_engines,
result_engine,
)
params['url'] = search_url
params['method'] = 'POST'
params['data'] = {
"q": query,
"gl": country if country is str else '',
'engine': result_engine,
}
# pylint: disable=undefined-variable
if use_cache:
@ -107,8 +127,8 @@ def request(query: str, params: dict):
return params
def extract_result(dom_result: html.HtmlElement):
[a_elem, h3_elem, p_elem] = eval_xpath_list(dom_result, 'div/div/*')
def extract_result(dom_result: list[html.HtmlElement]):
[a_elem, h3_elem, p_elem] = dom_result
return {
'url': extract_text(a_elem.text),
'title': extract_text(h3_elem),
@ -116,6 +136,14 @@ def extract_result(dom_result: html.HtmlElement):
}
def extract_results(search_results: html.HtmlElement):
for search_result in search_results:
dom_result = eval_xpath_list(search_result, 'div/div/*')
# sometimes an info box pops up, will need to filter that out
if len(dom_result) == 3:
yield extract_result(dom_result)
def response(resp: Response):
"""Checks if connected to Mullvad VPN, then extracts the search results from
the DOM resp: requests response object"""
@ -124,7 +152,7 @@ def response(resp: Response):
if not is_vpn_connected(dom):
raise SearxEngineResponseException('Not connected to Mullvad VPN')
search_results = eval_xpath(dom.body, '//main/div[2]/div')
return [extract_result(sr) for sr in search_results]
return list(extract_results(search_results))
def fetch_traits(engine_traits: EngineTraits):

View file

@ -797,9 +797,13 @@ engines:
shortcut: gen
- name: gentoo
engine: gentoo
engine: mediawiki
shortcut: ge
timeout: 10.0
categories: ["it", "software wikis"]
base_url: "https://wiki.gentoo.org/"
api_path: "api.php"
search_type: text
timeout: 10
- name: gitlab
engine: json_engine
@ -1230,6 +1234,7 @@ engines:
# read https://docs.searxng.org/dev/engines/online/mullvad_leta.html
# - name: mullvadleta
# engine: mullvad_leta
# leta_engine: google # choose one of the following: google, brave
# use_cache: true # Only 100 non-cache searches per day, suggested only for private instances
# search_url: https://leta.mullvad.net
# categories: [general, web]

View file

@ -17,21 +17,23 @@
# return42 <return42@users.noreply.translate.codeberg.org>, 2024.
# Yahya-Lando <Yahya-Lando@users.noreply.translate.codeberg.org>, 2024.
# nebras <nebras@users.noreply.translate.codeberg.org>, 2024.
# geekom13 <geekom13@users.noreply.translate.codeberg.org>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-06-17 12:15+0000\n"
"PO-Revision-Date: 2024-06-11 02:08+0000\n"
"Last-Translator: nebras <nebras@users.noreply.translate.codeberg.org>\n"
"PO-Revision-Date: 2024-07-01 00:18+0000\n"
"Last-Translator: geekom13 <geekom13@users.noreply.translate.codeberg.org>\n"
"Language-Team: Arabic <https://translate.codeberg.org/projects/searxng/"
"searxng/ar/>\n"
"Language: ar\n"
"Language-Team: Arabic "
"<https://translate.codeberg.org/projects/searxng/searxng/ar/>\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : "
"n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 5.6.1\n"
"Generated-By: Babel 2.15.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@ -561,11 +563,11 @@ msgstr ""
#: searx/plugins/self_info.py:28
msgid "Your IP is: "
msgstr ""
msgstr "عنوانك هو (Ip) "
#: searx/plugins/self_info.py:31
msgid "Your user-agent is: "
msgstr ""
msgstr "وكيل المستخدم الخاص بك هو "
#: searx/plugins/tor_check.py:24
msgid "Tor check plugin"
@ -1935,4 +1937,3 @@ msgstr "إخفاء الفيديو"
#~ msgid "TiB"
#~ msgstr "تيرابيت"

View file

@ -18,20 +18,20 @@
# 2024.
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-06-17 12:15+0000\n"
"PO-Revision-Date: 2024-05-14 19:20+0000\n"
"Last-Translator: sacred-serpent <sacred-"
"serpent@users.noreply.translate.codeberg.org>\n"
"PO-Revision-Date: 2024-07-05 07:09+0000\n"
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>\n"
"Language-Team: Hebrew <https://translate.codeberg.org/projects/searxng/"
"searxng/he/>\n"
"Language: he\n"
"Language-Team: Hebrew "
"<https://translate.codeberg.org/projects/searxng/searxng/he/>\n"
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 "
"&& n % 10 == 0) ? 2 : 3));\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
"n % 10 == 0) ? 2 : 3));\n"
"X-Generator: Weblate 5.6.1\n"
"Generated-By: Babel 2.15.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@ -257,7 +257,7 @@ msgstr ""
#. WEATHER_TERMS['TEMPERATURE']
#: searx/searxng.msg
msgid "Temperature"
msgstr ""
msgstr "טמפרטורה"
#. WEATHER_TERMS['UV INDEX']
#: searx/searxng.msg
@ -277,7 +277,7 @@ msgstr ""
#. SOCIAL_MEDIA_TERMS['SUBSCRIBERS']
#: searx/searxng.msg
msgid "subscribers"
msgstr ""
msgstr "מנויים"
#. SOCIAL_MEDIA_TERMS['POSTS']
#: searx/searxng.msg
@ -292,12 +292,12 @@ msgstr ""
#. SOCIAL_MEDIA_TERMS['COMMENTS']
#: searx/searxng.msg
msgid "comments"
msgstr ""
msgstr "הערות"
#. SOCIAL_MEDIA_TERMS['USER']
#: searx/searxng.msg
msgid "user"
msgstr ""
msgstr "משתמש"
#. SOCIAL_MEDIA_TERMS['COMMUNITY']
#: searx/searxng.msg
@ -312,22 +312,22 @@ msgstr ""
#. SOCIAL_MEDIA_TERMS['TITLE']
#: searx/searxng.msg
msgid "title"
msgstr ""
msgstr "כותרת"
#. SOCIAL_MEDIA_TERMS['AUTHOR']
#: searx/searxng.msg
msgid "author"
msgstr ""
msgstr "מחבר"
#. SOCIAL_MEDIA_TERMS['THREAD OPEN']
#: searx/engines/discourse.py:121 searx/searxng.msg
msgid "open"
msgstr ""
msgstr "פתוח"
#. SOCIAL_MEDIA_TERMS['THREAD CLOSED']
#: searx/engines/discourse.py:121 searx/searxng.msg
msgid "closed"
msgstr ""
msgstr "סגור"
#. SOCIAL_MEDIA_TERMS['THREAD ANSWERED']
#: searx/engines/discourse.py:132 searx/searxng.msg
@ -1360,7 +1360,7 @@ msgstr "גודל קובץ"
#: searx/templates/simple/result_templates/files.html:40
msgid "Date"
msgstr ""
msgstr "תאריך"
#: searx/templates/simple/result_templates/files.html:42
#: searx/templates/simple/result_templates/paper.html:24
@ -1369,7 +1369,7 @@ msgstr "סוג"
#: searx/templates/simple/result_templates/images.html:20
msgid "Resolution"
msgstr ""
msgstr "רזולוציה"
#: searx/templates/simple/result_templates/images.html:21
msgid "Format"
@ -1397,7 +1397,7 @@ msgstr "הסתר מפה"
#: searx/templates/simple/result_templates/packages.html:12
msgid "Version"
msgstr ""
msgstr "גרסה"
#: searx/templates/simple/result_templates/packages.html:18
msgid "Maintainer"
@ -1418,7 +1418,7 @@ msgstr ""
#: searx/templates/simple/result_templates/packages.html:42
msgid "License"
msgstr ""
msgstr "רשיון"
#: searx/templates/simple/result_templates/packages.html:52
msgid "Project"
@ -1442,7 +1442,7 @@ msgstr "עורך"
#: searx/templates/simple/result_templates/paper.html:23
msgid "Publisher"
msgstr ""
msgstr "מפרסם"
#: searx/templates/simple/result_templates/paper.html:26
msgid "DOI"
@ -1913,4 +1913,3 @@ msgstr "הסתר וידאו"
#~ msgid "TiB"
#~ msgstr "טי״ב"

View file

@ -32,7 +32,7 @@ msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-06-17 12:15+0000\n"
"PO-Revision-Date: 2024-06-25 11:18+0000\n"
"PO-Revision-Date: 2024-07-01 00:18+0000\n"
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>\n"
"Language-Team: Italian <https://translate.codeberg.org/projects/searxng/"
"searxng/it/>\n"
@ -41,7 +41,7 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.5.5\n"
"X-Generator: Weblate 5.6.1\n"
"Generated-By: Babel 2.15.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@ -227,7 +227,7 @@ msgstr "Umidità"
#. WEATHER_TERMS['MAX TEMP.']
#: searx/searxng.msg
msgid "Max temp."
msgstr "Temp. max"
msgstr "Temp. massima"
#. WEATHER_TERMS['MIN TEMP.']
#: searx/searxng.msg

View file

@ -9,21 +9,23 @@
# return42 <markus.heiser@darmarit.de>, 2023.
# return42 <return42@users.noreply.translate.codeberg.org>, 2024.
# eaglclaws <eaglclaws@users.noreply.translate.codeberg.org>, 2024.
# seonghobae <seonghobae@users.noreply.translate.codeberg.org>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-06-17 12:15+0000\n"
"PO-Revision-Date: 2024-06-08 13:18+0000\n"
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
"PO-Revision-Date: 2024-07-03 17:18+0000\n"
"Last-Translator: seonghobae <seonghobae@users.noreply.translate.codeberg.org>"
"\n"
"Language-Team: Korean <https://translate.codeberg.org/projects/searxng/"
"searxng/ko/>\n"
"Language: ko\n"
"Language-Team: Korean "
"<https://translate.codeberg.org/projects/searxng/searxng/ko/>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.6.1\n"
"Generated-By: Babel 2.15.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@ -324,7 +326,7 @@ msgstr "닫힘"
#. SOCIAL_MEDIA_TERMS['THREAD ANSWERED']
#: searx/engines/discourse.py:132 searx/searxng.msg
msgid "answered"
msgstr ""
msgstr "응답"
#: searx/webapp.py:330
msgid "No item found"
@ -519,11 +521,11 @@ msgstr "호스트 이름 변경"
#: searx/plugins/hostnames.py:68
msgid "Hostnames plugin"
msgstr ""
msgstr "호스트 이름 플러그인"
#: searx/plugins/hostnames.py:69
msgid "Rewrite hostnames, remove results or prioritize them based on the hostname"
msgstr ""
msgstr "검색 결과에서 이 호스트 이름을 기준으로 삭제 또는 우선순위에 따라 재작성하기"
#: searx/plugins/oa_doi_rewrite.py:12
msgid "Open Access DOI rewrite"
@ -547,11 +549,11 @@ msgstr "쿼리가 \"ip\"인 경우 사용자의 IP를 표시하고 쿼리에 \"u
#: searx/plugins/self_info.py:28
msgid "Your IP is: "
msgstr ""
msgstr "당신의 IP는: "
#: searx/plugins/self_info.py:31
msgid "Your user-agent is: "
msgstr ""
msgstr "당신의 사용자 에이전트는: "
#: searx/plugins/tor_check.py:24
msgid "Tor check plugin"
@ -1756,4 +1758,3 @@ msgstr "비디오 숨기기"
#~ msgid "TiB"
#~ msgstr "TiB"

View file

@ -28,21 +28,22 @@
# 2024.
# nouoneq <nouoneq@users.noreply.translate.codeberg.org>, 2024.
# Pyrbor <Pyrbor@users.noreply.translate.codeberg.org>, 2024.
# rodgui <rodgui@users.noreply.translate.codeberg.org>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-06-17 12:15+0000\n"
"PO-Revision-Date: 2024-06-08 13:18+0000\n"
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
"\n"
"PO-Revision-Date: 2024-07-03 17:18+0000\n"
"Last-Translator: rodgui <rodgui@users.noreply.translate.codeberg.org>\n"
"Language-Team: Portuguese (Brazil) <https://translate.codeberg.org/projects/"
"searxng/searxng/pt_BR/>\n"
"Language: pt_BR\n"
"Language-Team: Portuguese (Brazil) "
"<https://translate.codeberg.org/projects/searxng/searxng/pt_BR/>\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.6.1\n"
"Generated-By: Babel 2.15.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@ -343,7 +344,7 @@ msgstr "Fechado"
#. SOCIAL_MEDIA_TERMS['THREAD ANSWERED']
#: searx/engines/discourse.py:132 searx/searxng.msg
msgid "answered"
msgstr ""
msgstr "respondido"
#: searx/webapp.py:330
msgid "No item found"
@ -540,11 +541,12 @@ msgstr "Substituir host"
#: searx/plugins/hostnames.py:68
msgid "Hostnames plugin"
msgstr ""
msgstr "Plugin de Hostnames"
#: searx/plugins/hostnames.py:69
msgid "Rewrite hostnames, remove results or prioritize them based on the hostname"
msgstr ""
"Reescrita de hostnames, remova resultados ou priorize-os com base no hostname"
#: searx/plugins/oa_doi_rewrite.py:12
msgid "Open Access DOI rewrite"
@ -572,11 +574,11 @@ msgstr ""
#: searx/plugins/self_info.py:28
msgid "Your IP is: "
msgstr ""
msgstr "Seu IP é: "
#: searx/plugins/self_info.py:31
msgid "Your user-agent is: "
msgstr ""
msgstr "Seu agente de usuário é: "
#: searx/plugins/tor_check.py:24
msgid "Tor check plugin"
@ -1978,4 +1980,3 @@ msgstr "ocultar vídeo"
#~ msgid "TiB"
#~ msgstr "TiB"

View file

@ -21,19 +21,19 @@
# wintryexit <weatherdowner@proton.me>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-06-17 12:15+0000\n"
"PO-Revision-Date: 2024-05-29 09:18+0000\n"
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
"\n"
"PO-Revision-Date: 2024-07-05 07:09+0000\n"
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>\n"
"Language-Team: Swedish <https://translate.codeberg.org/projects/searxng/"
"searxng/sv/>\n"
"Language: sv\n"
"Language-Team: Swedish "
"<https://translate.codeberg.org/projects/searxng/searxng/sv/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.6.1\n"
"Generated-By: Babel 2.15.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@ -324,17 +324,17 @@ msgstr "författare"
#. SOCIAL_MEDIA_TERMS['THREAD OPEN']
#: searx/engines/discourse.py:121 searx/searxng.msg
msgid "open"
msgstr ""
msgstr "öppna"
#. SOCIAL_MEDIA_TERMS['THREAD CLOSED']
#: searx/engines/discourse.py:121 searx/searxng.msg
msgid "closed"
msgstr ""
msgstr "stängd"
#. SOCIAL_MEDIA_TERMS['THREAD ANSWERED']
#: searx/engines/discourse.py:132 searx/searxng.msg
msgid "answered"
msgstr ""
msgstr "svarad"
#: searx/webapp.py:330
msgid "No item found"
@ -531,11 +531,13 @@ msgstr "Värdnamn satt"
#: searx/plugins/hostnames.py:68
msgid "Hostnames plugin"
msgstr ""
msgstr "Värdnamn plugin"
#: searx/plugins/hostnames.py:69
msgid "Rewrite hostnames, remove results or prioritize them based on the hostname"
msgstr ""
"Skriva om värdnamn, ta bort resultat eller prioritera dem baserat på "
"värdnamnet"
#: searx/plugins/oa_doi_rewrite.py:12
msgid "Open Access DOI rewrite"
@ -563,11 +565,11 @@ msgstr ""
#: searx/plugins/self_info.py:28
msgid "Your IP is: "
msgstr ""
msgstr "Din IP address är: "
#: searx/plugins/self_info.py:31
msgid "Your user-agent is: "
msgstr ""
msgstr "Din användaragent är: "
#: searx/plugins/tor_check.py:24
msgid "Tor check plugin"
@ -1946,4 +1948,3 @@ msgstr "göm video"
#~ msgid "TiB"
#~ msgstr "TiB"

View file

@ -31,21 +31,22 @@
# jianhanquwan <jianhanquwan@users.noreply.translate.codeberg.org>, 2024.
# lcaopcn <lcaopcn@users.noreply.translate.codeberg.org>, 2024.
# chjtxwd <chjtxwd@users.noreply.translate.codeberg.org>, 2024.
# Jeex <Jeex@users.noreply.translate.codeberg.org>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-06-17 12:15+0000\n"
"PO-Revision-Date: 2024-06-14 07:08+0000\n"
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
"\n"
"PO-Revision-Date: 2024-07-05 07:09+0000\n"
"Last-Translator: Jeex <Jeex@users.noreply.translate.codeberg.org>\n"
"Language-Team: Chinese (Simplified) <https://translate.codeberg.org/projects/"
"searxng/searxng/zh_Hans/>\n"
"Language: zh_Hans_CN\n"
"Language-Team: Chinese (Simplified) "
"<https://translate.codeberg.org/projects/searxng/searxng/zh_Hans/>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.6.1\n"
"Generated-By: Babel 2.15.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@ -201,7 +202,7 @@ msgstr "平均温度"
#. WEATHER_TERMS['CLOUD COVER']
#: searx/searxng.msg
msgid "Cloud cover"
msgstr ""
msgstr "云量"
#. WEATHER_TERMS['CONDITION']
#: searx/searxng.msg
@ -541,7 +542,7 @@ msgstr "主机名插件"
#: searx/plugins/hostnames.py:69
msgid "Rewrite hostnames, remove results or prioritize them based on the hostname"
msgstr ""
msgstr "重写主机名、删除结果或根据主机名确定优先级"
#: searx/plugins/oa_doi_rewrite.py:12
msgid "Open Access DOI rewrite"
@ -565,11 +566,11 @@ msgstr "当您搜索“ip”时这将会显示您的 IP 地址;同理,在
#: searx/plugins/self_info.py:28
msgid "Your IP is: "
msgstr ""
msgstr "你的IP是 "
#: searx/plugins/self_info.py:31
msgid "Your user-agent is: "
msgstr ""
msgstr "你的用户代理是: "
#: searx/plugins/tor_check.py:24
msgid "Tor check plugin"
@ -1887,4 +1888,3 @@ msgstr "隐藏视频"
#~ msgid "TiB"
#~ msgstr "TiB"