
    O&i !                     4   U d Z ddlZddlmZmZ ddlmZ ddlmZm	Z	m
Z
mZmZmZmZmZ  G d d          Zi ae
eeef         ef         ed<   	 	 d)deee                  dee         dededeeef         f
dZd*dedeeee         df         ddfdZ ej         ej        e                    Zed	fdededeeef         fdZd)dededefdZd)dededefdZdedededefdZd+dedede	egef         fdZ  e d	          Z! e d	d          Z" e!d           e!d           e!d           e!d           e!d            e!d!           e!d"           e!d#           e!d$           e!d%          d&
Z#i Z$e
eef         ed'<   i Z%e
eef         ed(<   dS ),zLocale utilities.    N)NullTranslationstranslation)path)AnyCallableDictIterableListOptionalTupleUnionc                      e Zd ZdZdZdedef         dedd fdZdee         fdZ	dedef         dedd	fd
Z
defdZdee         fdZdedefdZdeedef         eedf         f         fdZdeedef         ee         f         dd	fdZd!dZdefdZdedefdZdedefdZdedefdZdedefdZdedefdZdedefdZd Zd Zd Zd Zd Zd  Zd	S )"_TranslationProxya  
    Class for proxy strings from gettext translations. This is a helper for the
    lazy_* functions from this module.

    The proxy implementation attempts to be as complete as possible, so that
    the lazy objects should mostly work as expected, for example for sorting.
    _func_argsfunc.argsreturnc                 X    |st          |          S t                              |           S N)strobject__new__)clsr   r   s      c/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/sphinx/locale/__init__.pyr   z_TranslationProxy.__new__   s(     	t99~~c"""    c                 "    | j         f| j        z   S r   r   selfs    r   __getnewargs__z _TranslationProxy.__getnewargs__   s    
}tz))r   Nc                 "    || _         || _        d S r   r   )r    r   r   s      r   __init__z_TranslationProxy.__init__   s    



r   c                 :    t           | j        | j                   S r   )r   r   r   r   s    r   __str__z_TranslationProxy.__str__    s    :4:tz*+++r   c                 *    t          t                    S r   )dirr   r   s    r   __dir__z_TranslationProxy.__dir__#   s    3xxr   namec                 F    t          |                                 |          S r   )getattrr%   )r    r)   s     r   __getattr__z_TranslationProxy.__getattr__&   s    t||~~t,,,r   c                     | j         | j        fS r   r   r   s    r   __getstate__z_TranslationProxy.__getstate__)   s    z4:%%r   tupc                 $    |\  | _         | _        d S r   r   )r    r/   s     r   __setstate__z_TranslationProxy.__setstate__,   s    !$
DJJJr   c                 0    t          | j        g| j        R  S r   )r   r   r   r   s    r   __copy__z_TranslationProxy.__copy__/   s     9dj9999r   c                     	 dt          t          |                                                     z   S # t          $ r d| j        j         dcY S w xY w)Ni<z broken>)reprr   r%   	Exception	__class____name__r   s    r   __repr__z_TranslationProxy.__repr__2   sa    	9c$,,..112222 	9 	9 	98t~.888888	9s   03 AAotherc                 0    |                                  |z   S r   r%   r    r<   s     r   __add__z_TranslationProxy.__add__8       ||~~%%r   c                 0    ||                                  z   S r   r>   r?   s     r   __radd__z_TranslationProxy.__radd__;       t||~~%%r   c                 0    |                                  |z  S r   r>   r?   s     r   __mod__z_TranslationProxy.__mod__>   rA   r   c                 0    ||                                  z  S r   r>   r?   s     r   __rmod__z_TranslationProxy.__rmod__A   rD   r   c                 0    |                                  |z  S r   r>   r?   s     r   __mul__z_TranslationProxy.__mul__D   rA   r   c                 0    ||                                  z  S r   r>   r?   s     r   __rmul__z_TranslationProxy.__rmul__G   rD   r   c                 D    t          |                                           S r   )hashr%   r   s    r   __hash__z_TranslationProxy.__hash__J   s    DLLNN###r   c                 2    |                                  |k    S r   r>   r?   s     r   __eq__z_TranslationProxy.__eq__M   s    ||~~&&r   c                 2    |                                  |k     S r   r>   )r    strings     r   __lt__z_TranslationProxy.__lt__P   s    ||~~&&r   c                 .    ||                                  v S r   r>   )r    chars     r   __contains__z_TranslationProxy.__contains__S   s    t||~~%%r   c                 D    t          |                                           S r   )lenr%   r   s    r   __len__z_TranslationProxy.__len__V   s    4<<>>"""r   c                 6    |                                  |         S r   r>   )r    indexs     r   __getitem__z_TranslationProxy.__getitem__Y   s    ||~~e$$r   )r   r   ) r:   
__module____qualname____doc__	__slots__r   r   r   r   r!   r#   r%   r
   r(   r   r,   r.   r1   r3   r;   r@   rC   rF   rH   rJ   rL   rO   rQ   rT   rW   rZ   r]    r   r   r   r   	   s         #I#8CH- #c #>Q # # # #*c
 * * * *Xc3h/      , , , , ,c    - - - - - -&eHS#X$6c3h$GH & & & &%hsCx&8%*&D E %$ % % % %: : : :9# 9 9 9 9&S &S & & & &&c &c & & & &&S &S & & & &&c &c & & & &&S &S & & & &&c &c & & & &$ $ $' ' '' ' '& & &# # #% % % % %r   r   translatorssphinxgenerallocale_dirslanguagecatalog	namespacer   c                 ~   t                               ||f          }|j        t          u rd}d}|r"d|v r||                    d          d         g}n|r|g}nd}| D ]?}	 t          |||          }||}n|                    |           0# t          $ r Y <w xY w|t                      }d}|t           ||f<   ||fS )a  Look for message catalogs in `locale_dirs` and *ensure* that there is at
    least a NullTranslations catalog set in `translators`. If called multiple
    times or if several ``.mo`` files are found, their contents are merged
    together (thus making ``init`` reentrant).
    NT_r   )	localedir	languagesF)rc   getr9   r   splitr   add_fallbackr8   )	rf   rg   rh   ri   
translatorhas_translationrm   dir_transs	            r   initru   `   s    )W!566J///
O C8OO*2HNN34G4G4J)K			 J			  	 		49MMME!"

''... 	 	 	D	 %''
(2KG$%&&s    ,B
BBcategoryvaluec                 ^    	 t          j        | |           dS # t           j        $ r Y dS w xY w)a  Update locale settings.

    This does not throw any exception even if update fails.
    This is workaround for Python's bug.

    For more details:

    * https://github.com/sphinx-doc/sphinx/issues/5724
    * https://bugs.python.org/issue18378#msg215215

    .. note:: Only for internal use.  Please don't call this method from extensions.
              This will be removed in Sphinx 6.0.
    N)locale	setlocaleError)rv   rw   s     r   rz   rz      sD    5)))))<   s    ,,
locale_dirc                     	 t          j        t           j                  \  }}n# t          $ r d}Y nw xY wt	          | g||d          S )z>Initialize locale for console.

    .. versionadded:: 1.8
    Nconsole)ry   	getlocaleLC_MESSAGESAttributeErrorru   )r|   rh   rg   rk   s       r   init_consoler      s^    &v'9::!!     h;;;s   !$ 33c                 T    t                               || ft                                S r   )rc   rn   r   rh   ri   s     r   get_translatorr      s"    ??Iw/1A1C1CDDDr   c                     || ft           v S r   )rc   r   s     r   is_translator_registeredr      s    w;..r   messagec                 L    t          | |          }|                    |          S )zcUsed instead of _ when creating TranslationProxy, because _ is
    not bound yet at that time.
    )r   gettext)rh   ri   r   rq   s       r   _lazy_translater      s'      33Jg&&&r   c                 B     dt           dt          dt           f fd}|S )aA  Get a translation function based on the *catalog* and *namespace*.

    The extension can use this API to translate the messages on the
    extension::

        import os
        from sphinx.locale import get_translation

        MESSAGE_CATALOG_NAME = 'myextension'  # name of *.pot, *.po and *.mo files
        _ = get_translation(MESSAGE_CATALOG_NAME)
        text = _('Hello Sphinx!')


        def setup(app):
            package_dir = os.path.abspath(os.path.dirname(__file__))
            locale_dir = os.path.join(package_dir, 'locales')
            app.add_message_catalog(MESSAGE_CATALOG_NAME, locale_dir)

    With this code, sphinx searches a message catalog from
    ``${package_dir}/locales/${language}/LC_MESSAGES/myextension.mo``.
    The :confval:`language` is used for the searching.

    .. versionadded:: 1.8
    r   r   r   c                    t                    st          t          |           S t                    }t	          |          dk    r|                    |           S |                    | |d         |d                   S )N   r   )r   r   r   r   rY   r   ngettext)r   r   rq   rh   ri   s      r   r   z get_translation.<locals>.gettext   s|    ';; 	F$_gy'RRR';;J4yyA~~!))'222!**7DGT!WEEEr   )r   r   )rh   ri   r   s   `` r   get_translationr      sM    2	F 	FS 	FS 	F 	F 	F 	F 	F 	F 	F Nr   r~   	AttentionCautionDangerr{   Hint	ImportantNotezSee alsoTipWarning)
	attentioncautiondangererrorhint	importantnoteseealsotipwarningversionlabelspairindextypes)rd   re   r   )re   )&r`   ry   r   r   r   osr   typingr   r   r   r	   r
   r   r   r   r   rc   r   __annotations__boolru   intrz   abspathdirname__file___LOCALE_DIRr   r   r   r   r   rk   __admonitionlabelsr   r   rb   r   r   <module>r      s       1 1 1 1 1 1 1 1       N N N N N N N N N N N N N N N N N N N NQ% Q% Q% Q% Q% Q% Q% Q%h 8:T%S/#334 9 9 9 	+' +'hsm$+'sm+' +' 	+'
 T!"+' +' +' +'\  E#x}d*B$C t    ( dl<4<1122 "< <<< T!"< < < <$E EC Es EK[ E E E E/ /c / /UY / / / /'S 'S '3 '3 ' ' ' '$ $S $S $3%QT*AU $ $ $ $T OH _Xy))
 ;9876;6:59   !#tCH~ " " " "$S#X # # # # #r   