
    
#h9                     @    d dl mZ d dlZd dlmZmZmZ  G d d      Zy)    )GoogleTranslatorN)ListDictUnionc                   J    e Zd Zd Zd	dededefdZd	dee   dedee   fdZy)
TranslationServicec                     i | _         y )N)cache)selfs    NC:\Users\james\Desktop\root\other\Misc\Work\ledger\server\api\api_translate.py__init__zTranslationService.__init__   s	    02
    texttarget_langreturnc                   K   | j                   vri | j                   <   | j                      v r| j                         S t        j                         }|j                  d fd       d {   }|| j                      <   |S 7 w)Nc                  <    t        d       j                        S Nauto)sourcetargetr   	translater   r   s   r   <lambda>z.TranslationService.translate.<locals>.<lambda>   s    $F;GQQRVWr   )r
   asyncioget_running_looprun_in_executor)r   r   r   loop
translateds    ``  r   r   zTranslationService.translate	   s     djj(&(DJJ{#4::k**::k*400'')//W
 

 )3

;%
s   A.B2B3B	text_listc                 T  K   | j                   vri | j                   <   g }|D ]{  | j                      v r| j                         }nDt        j                         }|j                  d fd       d {   }|| j                      <   |j	                  |       } |S 7 +w)Nc                  <    t        d       j                        S r   r   r   s   r   r   z3TranslationService.translate_list.<locals>.<lambda>%   s    ,F;OYYZ^_r   )r
   r   r   r   append)r   r!   r   translated_listr    r   r   s     `   @r   translate_listz!TranslationService.translate_list   s     djj(&(DJJ{#Dtzz+..!ZZ4T:
 //1#'#7#7_$ 
 1;

;'-"":.  s   A6B(:B&;,B(N)es)__name__
__module____qualname__r   strr   r   r&    r   r   r   r      sF    3C c S d3i c UYZ]U^ r   r   )deep_translatorr   r   typingr   r   r   r   r,   r   r   <module>r/      s    ,  $ $% %r   