.oO SearXNG Developer Documentation Oo.
Loading...
Searching...
No Matches
searx.engines.libretranslate Namespace Reference

Functions

 request (_query, params)
 
EngineResults response (resp)
 

Variables

dict about
 
str engine_type = 'online_dictionary'
 
list categories = ['general', 'translate']
 
str base_url = "https://libretranslate.com/translate"
 
str api_key = ""
 

Detailed Description

LibreTranslate (Free and Open Source Machine Translation API)

Function Documentation

◆ request()

searx.engines.libretranslate.request ( _query,
params )

Definition at line 24 of file libretranslate.py.

24def request(_query, params):
25 request_url = random.choice(base_url) if isinstance(base_url, list) else base_url
26
27 if request_url.startswith("https://libretranslate.com") and not api_key:
28 return None
29 params['url'] = f"{request_url}/translate"
30
31 args = {
32 'q': params['query'],
33 'source': params['from_lang'][1],
34 'target': params['to_lang'][1],
35 'alternatives': 3,
36 }
37 if api_key:
38 args['api_key'] = api_key
39
40 params['data'] = json.dumps(args)
41 params['method'] = 'POST'
42 params['headers'] = {'Content-Type': 'application/json'}
43 params['req_url'] = request_url
44
45 return params
46
47

◆ response()

EngineResults searx.engines.libretranslate.response ( resp)

Definition at line 48 of file libretranslate.py.

48def response(resp) -> EngineResults:
49 results = EngineResults()
50
51 json_resp = resp.json()
52 text = json_resp.get('translatedText')
53 if not text:
54 return results
55
56 item = results.types.Translations.Item(text=text, examples=json_resp.get('alternatives', []))
57 results.add(results.types.Translations(translations=[item]))
58
59 return results

Variable Documentation

◆ about

dict searx.engines.libretranslate.about
Initial value:
1= {
2 "website": 'https://libretranslate.com',
3 "wikidata_id": None,
4 "official_api_documentation": 'https://libretranslate.com/docs/',
5 "use_official_api": True,
6 "require_api_key": False,
7 "results": 'JSON',
8}

Definition at line 8 of file libretranslate.py.

◆ api_key

str searx.engines.libretranslate.api_key = ""

Definition at line 21 of file libretranslate.py.

◆ base_url

str searx.engines.libretranslate.base_url = "https://libretranslate.com/translate"

Definition at line 20 of file libretranslate.py.

◆ categories

list searx.engines.libretranslate.categories = ['general', 'translate']

Definition at line 18 of file libretranslate.py.

◆ engine_type

str searx.engines.libretranslate.engine_type = 'online_dictionary'

Definition at line 17 of file libretranslate.py.