forked from Ponysearch/Ponysearch
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
e67a1a3b32
21 changed files with 136 additions and 223 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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
|
|
@ -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 = {
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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]
|
||||
|
|
Binary file not shown.
|
@ -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 "تيرابيت"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -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 "טי״ב"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -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
|
||||
|
|
Binary file not shown.
|
@ -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"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -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"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -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"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -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"
|
||||
|
||||
|
|
Loading…
Reference in a new issue