
    Evg"                        d Z ddlmZ ddlmZmZ ddlmZmZ ddl	m
Z
 ddlmZ g dZ G d d	e          Z G d
 d          Z e            Z[d Zd Zd Zd Zd Z e
ee          Z e
ee          Zd*dZd Zd*dZd*dZd Zd Z G d de          Z d Z!d Z"d Z#d Z$d Z%d+d Z&d! Z'dd"d#Z(d$ Z)d% Z*d& Z+ ed'          Z,d( Z-d) Z.dS ),z
Internationalization support.
    )ContextDecorator)ROUND_UPDecimal)autoreload_startedfile_changed)lazy)_lazy_re_compile)activate
deactivateoverridedeactivate_allget_languageget_language_from_requestget_language_infoget_language_bidicheck_for_languageto_language	to_locale
templatizegettextgettext_lazygettext_noopngettextngettext_lazypgettextpgettext_lazy	npgettextnpgettext_lazyc                       e Zd ZdS )TranslatorCommentWarningN)__name__
__module____qualname__     ^/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/django/utils/translation/__init__.pyr    r    %   s        Dr%   r    c                       e Zd ZdZd ZdS )Transa  
    The purpose of this class is to store the actual translation function upon
    receiving the first call to that function. After this is done, changes to
    USE_I18N will have no effect to which function is served upon request. If
    your tests rely on changing USE_I18N, you can delete all the functions
    from _trans.__dict__.

    Note that storing the function with setattr will have a noticeable
    performance effect, as access to the function goes the normal path,
    instead of using __getattr__.
    c                     ddl m} |j        r;ddlm} ddlm}m} t          j	        |d           t          j	        |d           nddlm} t          | |t          ||                     t          ||          S )Nr   )settings)
trans_real)translation_file_changedwatch_for_translation_changesr,   )dispatch_uid)
trans_null)django.confr*   USE_I18Ndjango.utils.translationr+   !django.utils.translation.reloaderr,   r-   r   connectr   r/   setattrgetattr)self	real_namer*   transr,   r-   s         r&   __getattr__zTrans.__getattr__?   s    (((((( 	EDDDDDD       
 &-<V     (7Q     EDDDDDi	!:!:;;;ui(((r%   N)r!   r"   r#   __doc__r:   r$   r%   r&   r(   r(   2   s-        
 
) ) ) ) )r%   r(   c                 6    t                               |           S N)_transr   messages    r&   r   r   [   s    w'''r%   c                 6    t                               |           S r=   )r>   r   r?   s    r&   r   r   _   s    >>'"""r%   c                 :    t                               | ||          S r=   )r>   r   singularpluralnumbers      r&   r   r   c   s    ??8VV444r%   c                 8    t                               | |          S r=   )r>   r   )contextr@   s     r&   r   r   g   s    ??7G,,,r%   c                 <    t                               | |||          S r=   )r>   r   rH   rD   rE   rF   s       r&   r   r   k   s    GXvv>>>r%   Nc                     t          t                    rd<    t                     di }nL                                 G  fdd           t          fd          di } fd|_        |S )NrF   c                   D    e Zd ZfdZfdZ fdZfdZfdZdS )&lazy_number.<locals>.NumberAwareStringc                 .    t          d                   S )NrD   )bool)r7   kwargss    r&   __bool__z/lazy_number.<locals>.NumberAwareString.__bool__{   s    F:.///r%   c                 V    	 |         S # t           $ r t          dz            w xY w)Nz|Your dictionary lacks key '%s'. Please provide it, because it is required to determine whether string is singular or plural.)KeyError)r7   valuesrF   s     r&   _get_number_valuez8lazy_number.<locals>.NumberAwareString._get_number_value~   sM    !&>)   "8:@A  s    (c                     |d<    di S )NrF   r$   r$   )r7   number_valuefuncrP   s     r&   
_translatez1lazy_number.<locals>.NumberAwareString._translate   s    #/x t~~f~~%r%   c                     |rr|                      |          n|d         } |                     |          j        |i |S )Nr   )rU   rY   format)r7   argsrP   rW   rF   s       r&   r[   z-lazy_number.<locals>.NumberAwareString.format   sS    6<TTD**6222TRSW  <t|44;TLVLLLr%   c                     t          |t                    rr|                     |          }n|}|                     |          }	 ||z  }n# t          $ r Y nw xY w|S r=   )
isinstancedictrU   rY   	TypeError)r7   rhsrW   
translatedrF   s       r&   __mod__z.lazy_number.<locals>.NumberAwareString.__mod__   s    c4(( 'V '#'#9#9##>#>LL#&L!__\::
#%JJ    D "!s   A 
AAN)r!   r"   r#   rQ   rU   rY   r[   rc   )rX   rP   rF   s   r&   NumberAwareStringrM   z   s        0 0 0 0 0    & & & & & &M M M M M" " " " " " "r%   rd   c                                   S r=   r$   )rP   rd   s    r&   <lambda>zlazy_number.<locals>.<lambda>   s    &7&7&9&9 r%   c                      t            ffS r=   )_lazy_number_unpickle)rX   rF   original_kwargsresultclasss   r&   rf   zlazy_number.<locals>.<lambda>   s    !;8$
 r%   r$   )r^   intr   copy
__reduce__)rX   rj   rF   rP   proxyrd   ri   s   ```` @@r&   lazy_numberro   s   s    &# /
!x'T;''11&11 ++--#	" #	" #	" #	" #	" #	" #	" #	" #	" #	" #	" #	"J N9999;LMMWWPVWW
 
 
 
 
 
 
 Lr%   c                 "    t          | |fd|i|S )NrF   )ro   )rX   rj   rF   rP   s       r&   rh   rh      s    t[BBB6BBBr%   c                 >    t          t          t          | ||          S )NrC   )ro   r   strrC   s      r&   r   r      s    xxvVVVVr%   c                 @    t          t          t          | |||          S )NrJ   )ro   r   rr   rJ   s       r&   r   r      s'    3(6RX   r%   c                 6    t                               |           S r=   )r>   r
   )languages    r&   r
   r
      s    ??8$$$r%   c                  4    t                                           S r=   )r>   r   r$   r%   r&   r   r      s    r%   c                   "    e Zd ZddZd Zd ZdS )r   Fc                 "    || _         || _        d S r=   )ru   r   )r7   ru   r   s      r&   __init__zoverride.__init__   s     $r%   c                     t                      | _        | j        t          | j                   d S t	                       d S r=   )r   old_languageru   r
   r   )r7   s    r&   	__enter__zoverride.__enter__   s>    (NN=$T]#####r%   c                     | j         t                       d S | j        rt                       d S t          | j                    d S r=   )r{   r   r   r
   )r7   exc_type	exc_value	tracebacks       r&   __exit__zoverride.__exit__   sK    $_ 	(LLLLLT&'''''r%   NF)r!   r"   r#   ry   r|   r   r$   r%   r&   r   r      sF        % % % %  ( ( ( ( (r%   r   c                  4    t                                           S r=   )r>   r   r$   r%   r&   r   r      s       r%   c                  4    t                                           S r=   )r>   r   r$   r%   r&   r   r      s    ##%%%r%   c                 6    t                               |           S r=   )r>   r   )	lang_codes    r&   r   r      s    $$Y///r%   c                     |                      d          }|dk    r?| d|                                         dz   | |dz   d                                         z   S |                                 S )z8Turn a locale name (en_US) into a language name (en-us)._r   N-   )findlower)localeps     r&   r   r      sf    CAAvvbqbz!!C'&Q/*?*?*A*AAA||~~r%   c                 v   |                                                      d          \  }}}|s'| dd                                          | dd         z   S |                    d          \  }}}t          |          dk    r|                                n|                                }|r|d|z   z  }|dz   |z   S )z8Turn a language name (en-us) into a locale name (en_US).r   N      r   )r   	partitionlentitleupper)ru   langr   countrytails        r&   r   r      s    ~~''11#66D!W 3|!!##hqrrl22
 ((--GQ!$W!1!1gmmooow}}G 3:#:r%   Fc                 8    t                               | |          S r=   )r>   r   )request
check_paths     r&   r   r      s    ++GZ@@@r%   c                 6    t                               |           S r=   )r>   get_language_from_path)paths    r&   r   r      s    ((...r%   )strictc                8    t                               | |          S r=   )r>   get_supported_language_variant)r   r   s     r&   r   r      s    00FCCCr%   c                      ddl m}  || fi |S )Nr   )r   )templater   )srcrP   r   s      r&   r   r     s,    $$$$$$:c$$V$$$r%   c                  4    t                                           S r=   )r>   r   r$   r%   r&   r   r   	  s      """r%   c           	         ddl m} 	 ||          }d|v r d|vrt          |d         d                   }n|}no# t          $ rb d| vrt          d| z            |                     d          d         }	 ||         }n$# t          $ r t          d| d|d	          w xY wY nw xY w|rt          |d                   |d
<   |S )Nr   )	LANG_INFOfallbacknamer   zUnknown language code %s.zUnknown language code z and .name_translated)django.conf.localer   r   rS   splitr   )r   r   	lang_infoinfogeneric_lang_codes        r&   r   r     s)   ,,,,,,i(	""vY'>'>$Yz%:1%=>>DDD 	 	 	i6BCCC%OOC003	./DD 	 	 	(6?iiARARARS  	 D	  =".tF|"<"<Ks'   .7 ;B#3A<;B#<!BB#"B#z\s*\n\s*c                 \    t                               d|                                           S )N )trim_whitespace_resubstrip)ss    r&   trim_whitespacer   )  s     !!#qwwyy111r%   c                     t          t          | dz
                                t          d          t                              dz   S )Nr   0)rounding)rk   r   quantizer   )values    r&   round_away_from_oner   -  s:    wuqy!!**73<<(*KKLLqPPr%   r=   r   )/r;   
contextlibr   decimalr   r   django.utils.autoreloadr   r   django.utils.functionalr   django.utils.regex_helperr	   __all__SyntaxWarningr    r(   r>   r   r   r   r   r   rr   r   r   ro   rh   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r$   r%   r&   <module>r      s    ( ' ' ' ' ' % % % % % % % % D D D D D D D D ( ( ( ( ( ( 6 6 6 6 6 6  2	 	 	 	 	} 	 	 	 )  )  )  )  )  )  )  )F 
 
( ( (# # #5 5 5- - -? ? ? tGS!!Xs##1 1 1 1hC C CW W W W   % % %  ( ( ( ( ( ( ( (*! ! !& & &0 0 0        A A A A/ / / 9> D D D D D% % %# # #  2 &%k22 2 2 2Q Q Q Q Qr%   