diff --git a/requirements-dev.txt b/requirements-dev.txt index 2889b5666..ff75a62f9 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -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 diff --git a/requirements.txt b/requirements.txt index 65108b117..1e4aa6fda 100644 --- a/requirements.txt +++ b/requirements.txt @@ -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 diff --git a/searx/autocomplete.py b/searx/autocomplete.py index e277c6631..09589cf1f 100644 --- a/searx/autocomplete.py +++ b/searx/autocomplete.py @@ -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): diff --git a/searx/engines/gentoo.py b/searx/engines/gentoo.py deleted file mode 100644 index 4a4e085ba..000000000 --- a/searx/engines/gentoo.py +++ /dev/null @@ -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 diff --git a/searx/engines/mediawiki.py b/searx/engines/mediawiki.py index 76317402e..81d0c37aa 100644 --- a/searx/engines/mediawiki.py +++ b/searx/engines/mediawiki.py @@ -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 = { diff --git a/searx/engines/mullvad_leta.py b/searx/engines/mullvad_leta.py index 6e46163e3..a1e59d93b 100644 --- a/searx/engines/mullvad_leta.py +++ b/searx/engines/mullvad_leta.py @@ -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): diff --git a/searx/settings.yml b/searx/settings.yml index 1302e83a9..964e373c0 100644 --- a/searx/settings.yml +++ b/searx/settings.yml @@ -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] diff --git a/searx/translations/ar/LC_MESSAGES/messages.mo b/searx/translations/ar/LC_MESSAGES/messages.mo index d62889b39..ad8ba4624 100644 Binary files a/searx/translations/ar/LC_MESSAGES/messages.mo and b/searx/translations/ar/LC_MESSAGES/messages.mo differ diff --git a/searx/translations/ar/LC_MESSAGES/messages.po b/searx/translations/ar/LC_MESSAGES/messages.po index a4b2332ec..ac8c11720 100644 --- a/searx/translations/ar/LC_MESSAGES/messages.po +++ b/searx/translations/ar/LC_MESSAGES/messages.po @@ -17,21 +17,23 @@ # return42 , 2024. # Yahya-Lando , 2024. # nebras , 2024. +# geekom13 , 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 \n" +"PO-Revision-Date: 2024-07-01 00:18+0000\n" +"Last-Translator: geekom13 \n" +"Language-Team: Arabic \n" "Language: ar\n" -"Language-Team: Arabic " -"\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 "تيرابيت" - diff --git a/searx/translations/he/LC_MESSAGES/messages.mo b/searx/translations/he/LC_MESSAGES/messages.mo index 053b4adfc..891aedaee 100644 Binary files a/searx/translations/he/LC_MESSAGES/messages.mo and b/searx/translations/he/LC_MESSAGES/messages.mo differ diff --git a/searx/translations/he/LC_MESSAGES/messages.po b/searx/translations/he/LC_MESSAGES/messages.po index 18c85da91..b14bba3b7 100644 --- a/searx/translations/he/LC_MESSAGES/messages.po +++ b/searx/translations/he/LC_MESSAGES/messages.po @@ -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 \n" +"PO-Revision-Date: 2024-07-05 07:09+0000\n" +"Last-Translator: return42 \n" +"Language-Team: Hebrew \n" "Language: he\n" -"Language-Team: Hebrew " -"\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 "טי״ב" - diff --git a/searx/translations/it/LC_MESSAGES/messages.mo b/searx/translations/it/LC_MESSAGES/messages.mo index 5e972c5eb..853c64f62 100644 Binary files a/searx/translations/it/LC_MESSAGES/messages.mo and b/searx/translations/it/LC_MESSAGES/messages.mo differ diff --git a/searx/translations/it/LC_MESSAGES/messages.po b/searx/translations/it/LC_MESSAGES/messages.po index 0a5493949..c3868e9ea 100644 --- a/searx/translations/it/LC_MESSAGES/messages.po +++ b/searx/translations/it/LC_MESSAGES/messages.po @@ -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 \n" "Language-Team: Italian \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 diff --git a/searx/translations/ko/LC_MESSAGES/messages.mo b/searx/translations/ko/LC_MESSAGES/messages.mo index 8b0c56836..c5c41d371 100644 Binary files a/searx/translations/ko/LC_MESSAGES/messages.mo and b/searx/translations/ko/LC_MESSAGES/messages.mo differ diff --git a/searx/translations/ko/LC_MESSAGES/messages.po b/searx/translations/ko/LC_MESSAGES/messages.po index 98ede8a29..44cf27440 100644 --- a/searx/translations/ko/LC_MESSAGES/messages.po +++ b/searx/translations/ko/LC_MESSAGES/messages.po @@ -9,21 +9,23 @@ # return42 , 2023. # return42 , 2024. # eaglclaws , 2024. +# seonghobae , 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 " +"PO-Revision-Date: 2024-07-03 17:18+0000\n" +"Last-Translator: seonghobae " "\n" +"Language-Team: Korean \n" "Language: ko\n" -"Language-Team: Korean " -"\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" - diff --git a/searx/translations/pt_BR/LC_MESSAGES/messages.mo b/searx/translations/pt_BR/LC_MESSAGES/messages.mo index 0e116f08b..921656b8b 100644 Binary files a/searx/translations/pt_BR/LC_MESSAGES/messages.mo and b/searx/translations/pt_BR/LC_MESSAGES/messages.mo differ diff --git a/searx/translations/pt_BR/LC_MESSAGES/messages.po b/searx/translations/pt_BR/LC_MESSAGES/messages.po index b949e8513..071f9073f 100644 --- a/searx/translations/pt_BR/LC_MESSAGES/messages.po +++ b/searx/translations/pt_BR/LC_MESSAGES/messages.po @@ -28,21 +28,22 @@ # 2024. # nouoneq , 2024. # Pyrbor , 2024. +# rodgui , 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 " -"\n" +"PO-Revision-Date: 2024-07-03 17:18+0000\n" +"Last-Translator: rodgui \n" +"Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" -"Language-Team: Portuguese (Brazil) " -"\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" - diff --git a/searx/translations/sv/LC_MESSAGES/messages.mo b/searx/translations/sv/LC_MESSAGES/messages.mo index 3a23c7c85..6f3b15303 100644 Binary files a/searx/translations/sv/LC_MESSAGES/messages.mo and b/searx/translations/sv/LC_MESSAGES/messages.mo differ diff --git a/searx/translations/sv/LC_MESSAGES/messages.po b/searx/translations/sv/LC_MESSAGES/messages.po index d3125ba93..81f007192 100644 --- a/searx/translations/sv/LC_MESSAGES/messages.po +++ b/searx/translations/sv/LC_MESSAGES/messages.po @@ -21,19 +21,19 @@ # wintryexit , 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 " -"\n" +"PO-Revision-Date: 2024-07-05 07:09+0000\n" +"Last-Translator: return42 \n" +"Language-Team: Swedish \n" "Language: sv\n" -"Language-Team: Swedish " -"\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" - diff --git a/searx/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/searx/translations/zh_Hans_CN/LC_MESSAGES/messages.mo index c8ca101f9..2921acb89 100644 Binary files a/searx/translations/zh_Hans_CN/LC_MESSAGES/messages.mo and b/searx/translations/zh_Hans_CN/LC_MESSAGES/messages.mo differ diff --git a/searx/translations/zh_Hans_CN/LC_MESSAGES/messages.po b/searx/translations/zh_Hans_CN/LC_MESSAGES/messages.po index 6792974fe..e09fa5754 100644 --- a/searx/translations/zh_Hans_CN/LC_MESSAGES/messages.po +++ b/searx/translations/zh_Hans_CN/LC_MESSAGES/messages.po @@ -31,21 +31,22 @@ # jianhanquwan , 2024. # lcaopcn , 2024. # chjtxwd , 2024. +# Jeex , 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 " -"\n" +"PO-Revision-Date: 2024-07-05 07:09+0000\n" +"Last-Translator: Jeex \n" +"Language-Team: Chinese (Simplified) \n" "Language: zh_Hans_CN\n" -"Language-Team: Chinese (Simplified) " -"\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" -