
    Mi6                    0   % S r SSKJr  SSKrSSKJr  Sr\(       a  SSKrSSK	r	/ SQr
S\R                  " 5       0rS\S'   \" 5       rS	S
S	S	S
S.rSS	SSSS.rSS jrSS jr S     SS jjrSS jrSS jrSS jrSS jrSS jrS S jrS!S jrS!S jrg)"z*Activate, get and deactivate translations.    )annotationsN)localF)activate
deactivatedecimal_separatorthousands_separatorz1dict[str | None, gettext_module.NullTranslations]_TRANSLATIONS. )de_DEfr_FRit_ITpt_BRhu_HU,c                     [         =(       a    [         R                  n U (       d  g SS KnUR                  R	                  UR                  R                  U 5      5       nUS-  sS S S 5        $ ! , (       d  f       g = f)Nr   locale)__spec__parentimportlib.resources	resourcesas_filefiles)package	importlibpkgs      g/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/humanize/i18n.py_get_default_locale_pathr   (   sT    *8??G				$	$Y%8%8%>%>w%G	HCX~ 
I	H	Hs   A--
A;c                 p     [         [        R                     $ ! [        [        4 a    [         S    s $ f = fN)r	   _CURRENTr   AttributeErrorKeyError     r   get_translationr&   3   s5    #X__--H% #T""#s    55c                   U b  U R                  S5      (       a  S[        l        [        S   $ Uc
  [	        5       nUc  Sn[        U5      eU [        ;  a!  [        R                  " SX/5      nU[        U '   U [        l        [        U    $ )a  Activate internationalisation.

Set `locale` as current locale. Search for locale in directory `path`.

Args:
    locale (str | None): Language name, e.g. `en_GB`. If `None`, defaults to no
        transaltion. Similar to calling ``deactivate()``.
    path (str | pathlib.Path): Path to search for locales.

Returns:
    dict: Translations.

Raises:
    FileNotFoundError: If humanize cannot find the locale folder.
NenznHumanize cannot determinate the default location of the 'locale' folder. You need to pass the path explicitly.humanize)
startswithr!   r   r	   r   FileNotFoundErrorgettext_moduletranslation)r   pathmsgr-   s       r   r   r   :   s    $ ~**400T""|')|4 	  $$]"$00T8L +fHO  r%   c                     S[         l        g)z Deactivate internationalisation.N)r!   r   r$   r%   r   r   r   `   s	    HOr%   c                4    [        5       R                  U 5      $ )zbGet translation.

Args:
    message (str): Text to translate.

Returns:
    str: Translated text.
)r&   gettextmessages    r   _gettextr5   e   s     $$W--r%   c                4    [        5       R                  X5      $ )a   Fetches a particular translation.

It works with `msgctxt` .po modifiers and allows duplicate keys with different
translations.

Args:
    msgctxt (str): Context of the translation.
    message (str): Text to translate.

Returns:
    str: Translated text.
)r&   pgettext)msgctxtr4   s     r   	_pgettextr9   q   s     %%g77r%   c                6    [        5       R                  XU5      $ )a  Plural version of _gettext.

Args:
    message (str): Singular text to translate.
    plural (str): Plural text to translate.
    num (int): The number (e.g. item count) to determine translation for the
        respective grammatical number.

Returns:
    str: Translated text.
)r&   ngettext)r4   pluralnums      r   	_ngettextr>      s     %%gs;;r%   c                    U $ )a5  Mark a string as a translation string without translating it.

Example usage:
```python
CONSTANTS = [_gettext_noop('first'), _gettext_noop('second')]
def num_name(n):
    return _gettext(CONSTANTS[n])
```

Args:
    message (str): Text to translate in the future.

Returns:
    str: Original text, unchanged.
r$   r3   s    r   _gettext_noopr@      s	      Nr%   c                    X4$ )a  Mark two strings as pluralized translations without translating them.

Example usage:
```python
CONSTANTS = [ngettext_noop('first', 'firsts'), ngettext_noop('second', 'seconds')]
def num_name(n):
    return _ngettext(*CONSTANTS[n])
```

Args:
    singular (str): Singular text to translate in the future.
    plural (str): Plural text to translate in the future.

Returns:
    tuple: Original text, unchanged.
r$   )singularr<   s     r   _ngettext_nooprC      s    " r%   c                 h     [         [        R                     n U $ ! [        [        4 a    Sn  U $ f = f)zhReturn the thousands separator for a locale, default to comma.

Returns:
     str: Thousands separator.
r   )_THOUSANDS_SEPARATORr!   r   r"   r#   seps    r   r   r      s<    "8??3 J H% J    11c                 h     [         [        R                     n U $ ! [        [        4 a    Sn  U $ f = f)zbReturn the decimal separator for a locale, default to dot.

Returns:
     str: Decimal separator.
r
   )_DECIMAL_SEPARATORr!   r   r"   r#   rF   s    r   r   r      s<     1 J H% JrH   )returnzpathlib.Path | None)rK   gettext_module.NullTranslationsr    )r   z
str | Noner.   zstr | os.PathLike[str] | NonerK   rL   )rK   None)r4   strrK   rN   )r8   rN   r4   rN   rK   rN   )r4   rN   r<   rN   r=   intrK   rN   )rB   rN   r<   rN   rK   ztuple[str, str])rK   rN   )__doc__
__future__r   r2   r,   	threadingr   TYPE_CHECKINGospathlib__all__NullTranslationsr	   __annotations__r!   rE   rJ   r   r&   r   r   r5   r9   r>   r@   rC   r   r   r$   r%   r   <module>rY      s    0 "   
P 	.
)
)
+D@  7
    # ?C#!#!;#!$#!L
	.8 <&(

r%   