
    i]                         U d Z ddlZddlmZ ej
                  rddlmZ ddlm	Z	 ddddd	d
dZ
eeej                  f   ed<   ddgZee   ed<   dZdZdeddddfdZdddefdZy)z`Lingva Translate`_ is an alternative front-end for Google Translate,
serving as a free and open source translator with over a hundred
languages available.

.. _Lingva Translate: https://github.com/thedaviddelta/lingva-translate
    N)EngineResults)SXNG_Response)OnlineDictParamsz1https://github.com/thedaviddelta/lingva-translatez=https://github.com/thedaviddelta/lingva-translate#public-apisTFJSON)websitewikidata_idofficial_api_documentationuse_official_apirequire_api_keyresultsaboutgeneral	translate
categoriesonline_dictionaryzhttps://lingva.ml_queryparamsr   returnc                 V    |d   d   }|d   d   }|d   }t          d| d| d| |d<   y )N	from_lang   to_langqueryz/api/v1//url)base_url)r   r   r   r   r   s        %/root/searxng/searx/engines/lingva.pyrequestr       sI    {#A&IY"G7OEj1WIQugFF5M    respr   c                    t               }| j                         }| j                  }|d   d   }|d   d   }|d   }|j                  d      }|s|S |j                  d      }| d| d}	g }
|rd	|v r1|j	                  |j
                  j                  |	|d	   z   
             |j                  dg       D ]  }|j                  dg       D ]  }|j                  dg       D ]0  }|j	                  |j
                  j                  |	|z   
             2 |
j                  t         j
                  j                  j                  ||j                  d      r|d   gng |j                  d      r|d   gng |j                  dg                      |j                  dg       D ]f  }|j                  dg       D ]O  }|
j                  t         j
                  j                  j                  |d   |j                  dg                    Q h |
s9|
j                  t         j
                  j                  j                  |             |j	                  |j
                  j                  |
t         d| d| d|              |S )Nr   r   r   r   translationinfo- typo)
suggestiondefinitionslistsynonyms
definitionexample)textr(   examplesr*   extraTranslationswordmeanings)r-   r(   )r-   r   )translationsr   )r   jsonsearch_paramsgetaddtypesLegacyResultappendTranslationsItemr   )r    res	json_respr   r   r   r   r"   r#   from_to_prefixr2   r+   itemsynonymextra_translationr0   s                   r   responserB   (   s   
/C		I!%!3!3F{#A&IY"G7OE--.K
$-MM&$9D!{!G9A.N@BLT>GGCII**ntF|6S*TU((="5 	J"vr2 #xx
B7 YGGGCII22nw>V2WXY ##!''4499(<@HH\<RT,%7$8XZ6:hhy6I$y/!2r!%*b!9	 : 		 "&*=r!B 	)--fb9 ##!''4499!&\$(HHZ$< : 	 M//<<AA{ASTGG		%*Ai['!E7; 	 	
 Jr   )__doc__typingtsearx.result_typesr   TYPE_CHECKINGsearx.extended_typesr   )searx.search.processors.online_dictionaryr   r   dictstrAny__annotations__r   r)   engine_typer   r   rB    r   r   <module>rP      s     ,??2J C"atCJ  #K0
DI 0!GC G!3 G G8? 8} 8r   