
    h"                        S r SSKJr  SSKJrJr  SSKJrJr  SSK	J
r
  SSKJr  / SQr " S S	\5      r " S
 S5      r\" 5       rCS rS rS rS rS r\
" \\5      r\
" \\5      rS*S jrS rS*S jrS*S jrS rS r " S S\5      r S r!S r"S r#S r$S r%S+S  jr&S! r'SS".S# jr(S$ r)S% r*S& r+\" S'5      r,S( r-S) r.g),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                       \ rS rSrSrg)TranslatorCommentWarning%    N)__name__
__module____qualname____firstlineno____static_attributes__r"       S/var/www/html/env/lib/python3.13/site-packages/django/utils/translation/__init__.pyr    r    %   s    r(   r    c                       \ rS rSrSrS rSrg)Trans2   a  
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                     SSK Jn  UR                  (       a9  SSKJn  SSKJnJn  [        R                  " USS9  [        R                  " USS9  OSSKJn  [        X[        X15      5        [        X15      $ )Nr   )settings)
trans_real)translation_file_changedwatch_for_translation_changesr0   )dispatch_uid)
trans_null)django.confr.   USE_I18Ndjango.utils.translationr/   !django.utils.translation.reloaderr0   r1   r   connectr   r3   setattrgetattr)self	real_namer.   transr0   r1   s         r)   __getattr__Trans.__getattr__?   sb    (D
 &&-<V   (7Q E!:;u((r(   r"   N)r#   r$   r%   r&   __doc__r>   r'   r"   r(   r)   r+   r+   2   s    
)r(   r+   c                 ,    [         R                  U 5      $ N)_transr   messages    r)   r   r   [   s    w''r(   c                 ,    [         R                  U 5      $ rB   )rC   r   rD   s    r)   r   r   _   s    >>'""r(   c                 .    [         R                  XU5      $ rB   )rC   r   singularpluralnumbers      r)   r   r   c   s    ??8V44r(   c                 ,    [         R                  X5      $ rB   )rC   r   )contextrE   s     r)   r   r   g   s    ??7,,r(   c                 .    [         R                  XX#5      $ rB   )rC   r   rM   rI   rJ   rK   s       r)   r   r   k   s    Gv>>r(   Nc                    ^ ^^^^^ [        T[        5      (       a  TTS'   [        T T5      " S0 TD6nU$ TR                  5       m " U UU4S jST5      m[        U4S jT5      " S0 TD6nU UUU4S jUl        U$ )NrK   c                   T   > \ rS rSrU4S jrU4S jrU U4S jrU4S jrU4S jrSr	g)	&lazy_number.<locals>.NumberAwareStringz   c                     > [        TS   5      $ )NrI   )bool)r;   kwargss    r)   __bool__/lazy_number.<locals>.NumberAwareString.__bool__{   s    F:.//r(   c                 H   >  UT   $ ! [          a    [        ST-  5      ef = f)Nz|Your dictionary lacks key '%s'. Please provide it, because it is required to determine whether string is singular or plural.)KeyError)r;   valuesrK   s     r)   _get_number_value8lazy_number.<locals>.NumberAwareString._get_number_value~   s<    !&>) "8:@A s    !c                    > UTS'   T" S0 TD6$ )NrK   r"   r"   )r;   number_valuefuncrV   s     r)   
_translate1lazy_number.<locals>.NumberAwareString._translate   s    #/x ~f~%r(   c                    > U(       a  T(       a  U R                  U5      OUS   nU R                  U5      R                  " U0 UD6$ )Nr   )r\   ra   format)r;   argsrV   r_   rK   s       r)   rd   -lazy_number.<locals>.NumberAwareString.format   sB    6<D**62TRSW  |4;;TLVLLr(   c                    > [        U[        5      (       a  T(       a  U R                  U5      nOUnU R                  U5      n X1-  nU$ ! [         a     U$ f = frB   )
isinstancedictr\   ra   	TypeError)r;   rhsr_   
translatedrK   s       r)   __mod__.lazy_number.<locals>.NumberAwareString.__mod__   sd    c4((V#'#9#9##>L#&L!__\:
%J "! ! !!s   A
 

AAr"   N)
r#   r$   r%   r&   rW   r\   ra   rd   rm   r'   )r`   rV   rK   s   r)   NumberAwareStringrR   z   s"    0&M" "r(   ro   c                     > T" 5       $ rB   r"   )rV   ro   s    r)   <lambda>lazy_number.<locals>.<lambda>   s	    &7&9r(   c                     > [         T TTT44$ rB   )_lazy_number_unpickle)r`   rK   original_kwargsresultclasss   r)   rq   rr      s    !;8$
r(   r"   )rh   intr   copy
__reduce__)r`   rv   rK   rV   proxyro   ru   s   ```` @@r)   lazy_numberr{   s   s    &#!xT;'1&1\ LY !++-#	" #	" #	"J 9;LMWPVW
 Lr(   c                     [        X4SU0UD6$ )NrK   )r{   )r`   rv   rK   rV   s       r)   rt   rt      s    tBB6BBr(   c                 *    [        [        [        XUS9$ )NrH   )r{   r   strrH   s      r)   r   r      s    xxvVVr(   c           	      *    [        [        [        XX#S9$ )NrO   )r{   r   r~   rO   s       r)   r   r      s    36 r(   c                 ,    [         R                  U 5      $ rB   )rC   r
   )languages    r)   r
   r
      s    ??8$$r(   c                  *    [         R                  5       $ rB   )rC   r   r"   r(   r)   r   r      s    r(   c                   *    \ rS rSrSS jrS rS rSrg)r      c                     Xl         X l        g rB   )r   r   )r;   r   r   s      r)   __init__override.__init__   s     $r(   c                 |    [        5       U l        U R                  b  [        U R                  5        g [	        5         g rB   )r   old_languager   r
   r   )r;   s    r)   	__enter__override.__enter__   s(    (N==$T]]#r(   c                     U R                   c  [        5         g U R                  (       a  [        5         g [        U R                   5        g rB   )r   r   r   r
   )r;   exc_type	exc_value	tracebacks       r)   __exit__override.__exit__   s.    $__LT&&'r(   )r   r   r   NF)r#   r$   r%   r&   r   r   r   r'   r"   r(   r)   r   r      s    %(r(   r   c                  *    [         R                  5       $ rB   )rC   r   r"   r(   r)   r   r      s      r(   c                  *    [         R                  5       $ rB   )rC   r   r"   r(   r)   r   r      s    ##%%r(   c                 ,    [         R                  U 5      $ rB   )rC   r   )	lang_codes    r)   r   r      s    $$Y//r(   c                     U R                  S5      nUS:  a,  U SU R                  5       S-   XS-   S R                  5       -   $ U R                  5       $ )z8Turn a locale name (en_US) into a language name (en-us)._r   N-   )findlower)localeps     r)   r   r      sS    CAAvbqz!C'&Q/*?*?*AAA||~r(   c                 :   U R                  5       R                  S5      u  pnU(       d  U SS R                  5       U SS -   $ UR                  S5      u  p2n[        U5      S:  a  UR                  5       OUR	                  5       nU(       a  USU-   -  nUS-   U-   $ )z8Turn a language name (en-us) into a locale name (en_US).r   N      r   )r   	partitionlentitleupper)r   langr   countrytails        r)   r   r      s    ~~'11#6DW|!!#hqrl22
 ((-G!$W!1gmmow}}G3:#:r(   Fc                 ,    [         R                  X5      $ rB   )rC   r   )request
check_paths     r)   r   r      s    ++G@@r(   c                 ,    [         R                  U 5      $ rB   )rC   get_language_from_path)paths    r)   r   r      s    ((..r(   )strictc                ,    [         R                  X5      $ rB   )rC   get_supported_language_variant)r   r   s     r)   r   r      s    00CCr(   c                      SSK Jn  U" U 40 UD6$ )Nr   )r   )templater   )srcrV   r   s      r)   r   r     s    $c$V$$r(   c                  *    [         R                  5       $ rB   )rC   r   r"   r(   r)   r   r   	  s      ""r(   c           	      L   SSK Jn   X   nSU;   a  SU;  a  [        US   S   5      nOUn U(       a  [        US   5      US
'   U$ ! [         aR    SU ;  a  [        SU -  5      eU R	                  S5      S   n X   n NS! [         a    [        SU < SU< S	35      ef = ff = f)Nr   )	LANG_INFOfallbacknamer   zUnknown language code %s.zUnknown language code z and .name_translated)django.conf.localer   r   rZ   splitr   )r   r   	lang_infoinfogeneric_lang_codes        r)   r   r     s    ,(	"vY'>$Yz%:1%=>DD ".tF|"<K  	i6BCC%OOC03	/D 	6?ARS 		s"   !A A 2B#:B  BB#z\s*\n\s*c                 J    [         R                  SU R                  5       5      $ )N )trim_whitespace_resubstrip)ss    r)   trim_whitespacer   )  s    !!#qwwy11r(   c                 l    [        [        U S-
  5      R                  [        S5      [        S95      S-   $ )Nr   0)rounding)rw   r   quantizer   )values    r)   round_away_from_oner   -  s/    wuqy!**73<(*KLqPPr(   rB   r   )/r@   
contextlibr   decimalr   r   django.utils.autoreloadr   r   django.utils.functionalr   django.utils.regex_helperr	   __all__SyntaxWarningr    r+   rC   r   r   r   r   r   r~   r   r   r{   rt   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 ( 62	} 	 )  )F 
 
(#5-? GS!Xs#1hCW%( (*!&0  A/ 9> D%#2 &k2 2Qr(   