
    zir                       U d Z ddlmZ ddlZddlmZmZ ddlmZ ddl	m
Z
 e
rddlmZ ddl	mZmZ  G d	 d
          Zi Zded<   	 	 d-d.dZ ej         ej        e                    Z	 	 d/d0dZd-d1dZd-d2dZd3d4d 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dS )5zLocale utilities.    )annotationsN)NullTranslationstranslation)path)TYPE_CHECKING)Iterable)AnyCallablec                      e Zd ZdZdZd$d	Zd%d
Zd&dZd'dZd(dZ	d)dZ
d*dZd%dZd+dZd+dZd+dZd+dZd,dZd,dZd Zd Zd Zd  Zd! Zd" Zd#S )-_TranslationProxyz
    The proxy implementation attempts to be as complete as possible, so that
    the lazy objects should mostly work as expected, for example for sorting.
    
_catalogue
_namespace_message	cataloguestr	namespacemessagereturnNonec                0    || _         || _        || _        d S Nr   )selfr   r   r   s       a/var/www/tmov.alphamb/tmov_inventario/venv/lib/python3.11/site-packages/sphinx/locale/__init__.py__init__z_TranslationProxy.__init__   s    ##    c                    	 t           | j        | j        f                             | j                  S # t
          $ r
 | j        cY S w xY wr   )translatorsr   r   gettextr   KeyErrorr   s    r   __str__z_TranslationProxy.__str__   sT    	!t?@HHWWW 	! 	! 	!=   	!s   03 AA	list[str]c                *    t          t                    S r   )dirr   r!   s    r   __dir__z_TranslationProxy.__dir__"   s    3xxr   namer	   c                F    t          |                                 |          S r   )getattrr"   )r   r'   s     r   __getattr__z_TranslationProxy.__getattr__%   s    t||~~t,,,r   tuple[str, str, str]c                *    | j         | j        | j        fS r   r   r!   s    r   __getstate__z_TranslationProxy.__getstate__(   s    >>r   tupc                0    |\  | _         | _        | _        d S r   r   )r   r.   s     r   __setstate__z_TranslationProxy.__setstate__+   s    :=7$---r   c                B    t          | j        | j        | j                  S r   )r   r   r   r   r!   s    r   __copy__z_TranslationProxy.__copy__.   s     $/4=QQQr   c           	         	 d|                                  S # t          $ r+ | j        j        d| j         d| j         d| j         dz   cY S w xY w)Ni(z, ))r"   	Exception	__class____name__r   r   r   r!   s    r   __repr__z_TranslationProxy.__repr__1   s    	R)t||~~))) 	R 	R 	RN+P$/PPT_PPPPPQ R R R	Rs    2A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__>   r@   r   c                0    ||                                  z  S r   r=   r>   s     r   __rmod__z_TranslationProxy.__rmod__A   rC   r   c                0    |                                  |z  S r   r=   r>   s     r   __mul__z_TranslationProxy.__mul__D   r@   r   c                0    ||                                  z  S r   r=   r>   s     r   __rmul__z_TranslationProxy.__rmul__G   rC   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   N)r   r   r   r   r   r   r   r   )r   r   )r   r#   )r'   r   r   r	   )r   r+   )r.   r+   r   r   )r   r   )r;   r   r   r   )r;   r	   r   r   )r9   
__module____qualname____doc__	__slots__r   r"   r&   r*   r-   r0   r2   r:   r?   rB   rE   rG   rI   rK   rN   rP   rS   rV   rY   r\    r   r   r   r      s         7I       
! ! ! !   - - - -? ? ? ?> > > >R R R RR R R R& & & && & & && & & && & & && & & && & & &$ $ $' ' '' ' '& & &# # #% % % % %r   r   z'dict[tuple[str, str], NullTranslations]r   sphinxgenerallocale_dirsIterable[str | None]language
str | Nonecatalogr   r   r   tuple[NullTranslations, bool]c                |   t                               ||f          }|j        t          u rd}|r&d|v r||                    d          d         g}n|g}nd}| D ]?}	 t          |||          }||}n|                    |           0# t          $ r Y <w xY w|d}n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).
    N_r   )	localedir	languagesTF)r   getr8   r   splitr   add_fallbackr7   )	rd   rf   rh   r   
translatorrm   dir_transhas_translations	            r   initru   `   s    )W!566J///
 (??+3X^^C5H5H5K*LII!
II	  	 		49MMME!"

''... 	 	 	D	 %''
&0K	7"#&&s   ,B		
BB
locale_dirc                    | t           } 	 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)_LOCALE_DIRlocale	getlocaleLC_MESSAGESAttributeErrorru   )rv   rh   rf   rk   s       r   init_consoler~      sk      
&v'9::!!     h;;;s   !- <<r   c                T    t                               || ft                                S r   )r   rn   r   rh   r   s     r   get_translatorr      s"    ??Iw/1A1C1CDDDr   boolc                    || ft           v S r   )r   r   s     r   is_translator_registeredr      s    w;..r   Callable[[str], str]c                     d 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          |           S t                    }|                    |           S r   )r   r   r   r   )r   rq   rh   r   s     r   r   z get_translation.<locals>.gettext   sJ    ';; 	/$WiAAA';;J%%g...r   )r   r   r   r   ra   )rh   r   r   s   `` r   get_translationr      s.    2/ / / / / / / Nr   rx   	AttentionCautionDangerErrorHint	ImportantNotezSee alsoTipWarning)
	attentioncautiondangererrorhint	importantnoteseealsotipwarning)rb   rc   )
rd   re   rf   rg   rh   r   r   r   r   ri   )Nrb   )rv   rg   rh   r   r   ri   )rh   r   r   r   r   r   )rh   r   r   r   r   r   )rc   )rh   r   r   r   r   r   )r_   
__future__r   rz   r   r   r   osr   typingr   collections.abcr   r	   r
   r   r   __annotations__ru   abspathdirname__file__ry   r~   r   r   r   rk   __admonitionlabelsra   r   r   <module>r      s5      " " " " " "  1 1 1 1 1 1 1 1                   %(((((($$$$$$$$K% K% K% K% K% K% K% K%\ 8: 9 9 9 9 	,' ,' ,' ,' ,'^ dl<4<1122 "< < < < <(E E E E E/ / / / /! ! ! ! !N OH _Xy))
 ;9876;6:59    r   