
    +h                     N    d dl Z d Zd	dZdefdZ G d d      Z G d d      Zy)
    Nc                     t         j                  j                  t              } t         j                  j	                  t         j                  j                  |       d      }t         j                  j                  |      sd}|S )zJ
    Determine the path to the 'messages' directory as best possible.
    localez/usr/share/locale)ospathabspath__file__joindirnameexists)module_pathlocale_paths     ?/var/www/html/venv/lib/python3.12/site-packages/wtforms/i18n.pymessages_pathr      sR     ''//(+K'',,rww{;XFK77>>+&)    c                 @    ddl }|j                  dt               |       S )a  
    Get a gettext.GNUTranslations object pointing at the
    included translation files.

    :param languages:
        A list of languages to try, in order. If omitted or None, then
        gettext will try to use locale information from the environment.
    r   Nwtforms)gettexttranslationr   )	languagesr   s     r   get_builtin_gnu_translationsr      s     y-/9EEr   c                      ||       S )a  
    Get a WTForms translation object which wraps a low-level translations object.

    :param languages:
        A sequence of languages to try, in order.
    :param getter:
        A single-argument callable which returns a low-level translations object.
     )r   getters     r   get_translationsr      s     )r   c                   "    e Zd ZdZd Zd Zd Zy)DefaultTranslationszf
    A WTForms translations object to wrap translations objects which use
    ugettext/ungettext.
    c                     || _         y N)translations)selfr   s     r   __init__zDefaultTranslations.__init__/   s
    (r   c                 8    | j                   j                  |      S r   )r   ugettextr    strings     r   r   zDefaultTranslations.gettext2   s      ))&11r   c                 <    | j                   j                  |||      S r   )r   	ungettextr    singularpluralns       r   ngettextzDefaultTranslations.ngettext5   s      **8VQ??r   N)__name__
__module____qualname____doc__r!   r   r,   r   r   r   r   r   )   s    
)2@r   r   c                       e Zd ZdZd Zd Zy)DummyTranslationsz
    A translations object which simply returns unmodified strings.

    This is typically used when translations are disabled or if no valid
    translations provider can be found.
    c                     |S r   r   r$   s     r   r   zDummyTranslations.gettextA   s    r   c                     |dk(  r|S |S )N   r   r(   s       r   r,   zDummyTranslations.ngettextD   s    6Or   N)r-   r.   r/   r0   r   r,   r   r   r   r2   r2   9   s    r   r2   r   )r   r   r   r   r   r2   r   r   r   <module>r6      s6    	F  $,H 	@ @  r   