Ë P;ååìoÀGãóð—UdZddlmZddlZddlZddlmZgd¢Z dej«iZ de d<e«Z dd ddd d œZd d d d d œZdd „Zdd„Zddd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d„Zd!d„Zd!d„Zy)"z*Activate, get and deactivate translations.é)Ú annotationsN)Úlocal)ÚactivateÚ deactivateÚdecimal_separatorÚthousands_separatorz1dict[str | None, gettext_module.NullTranslations]Ú _TRANSLATIONSÚ.Ú )Úde_DEÚfr_FRÚit_ITÚpt_BRÚhu_HUÚ,)r rrrcó²— t€ytjjtjj t«d«S#t $rYywxYw)NÚlocale)Ú__file__ÚosÚpathÚjoinÚdirnameÚ NameError©óú2/usr/lib/python3.12/site-packages/humanize/i18n.pyÚ_get_default_locale_pathr"sD€ðÜ Ð ØÜ�w‰w�|‰|œBŸG™GŸO™O¬HÓ5°xÓ@Ð@øÜ òÙðús‚A ‰AA Á AÁAcón— ttjS#ttf$r tdcYSwxYw©N)r Ú_CURRENTrÚAttributeErrorÚKeyErrorrrrÚget_translationr#+s5€ð#ÜœXŸ_™_Ñ-Ð-øÜ œHÐ %ò#ܘTÑ"Ò"ð#ús ‚™4³4có²—|€ t«}|€ d}t|«‚|tvr!tjd||g«}|t|<|t _t|S)aRActivate internationalisation. Set `locale` as current locale. Search for locale in directory `path`. Args: locale (str): Language name, e.g. `en_GB`. path (str): Path to search for locales. Returns: dict: Translations. Raises: Exception: If humanize cannot find the locale folder. znHumanize cannot determinate the default location of the 'locale' folder. You need to pass the path explicitly.Úhumanize)rÚ Exceptionr Úgettext_moduleÚ translationr r)rrÚmsgr(s rrr2sf€ð €|Ü'Ó)ˆà €|ð 4ð ô˜‹nÐØ ”]Ñ"Ü$×0Ñ0°¸TÀFÀ8ÓLˆ Ø +Œ �fÑØ„H„OÜ ˜Ñ Ð rcó—dt_y)z Deactivate internationalisation.N)r rrrrrrQs €à„H…Orcó4—t«j|«S)zvGet translation. Args: message (str): Text to translate. Returns: str: Translated text. )r#Úgettext©Úmessages rÚ_gettextr/Vs€ô Ó × $Ñ $ WÓ -Ð-rcó6—t«j||«S)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)Úmsgctxtr.s rÚ _pgettextr3bs€ô Ó × %Ñ % g¨wÓ 7Ð7rcó8—t«j|||«S)a6Plural 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)r.ÚpluralÚnums rÚ _ngettextr8rs€ô Ó × %Ñ % g¨v°sÓ ;Ð;rcó—|S)aaMark 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. rr-s rÚ _gettext_noopr:�s €ð €Nrcó —||fS)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)Úsingularr6s rÚ_ngettext_noopr=”s€ð" �VÐ Ðrcóf— ttj}|S#ttf$rd}Y|SwxYw)ztReturn the thousands separator for a locale, default to comma. Returns: str: Thousands separator. r)Ú_THOUSANDS_SEPARATORr rr!r"©Úseps rrr¨s<€ð Ü"¤8§?¡?Ñ3ˆð €Jøô œHÐ %òØ‰Ø €Jðúó ‚›0¯0cóf— ttj}|S#ttf$rd}Y|SwxYw)znReturn the decimal separator for a locale, default to dot. Returns: str: Decimal separator. r )Ú_DECIMAL_SEPARATORr rr!r"r@s rrrµs<€ð Ü ¤§¡Ñ1ˆð €Jøô œHÐ %òØ‰Ø €JðúrB)Úreturnú str | None)rEúgettext_module.NullTranslationsr)rÚstrrrFrErG)rEÚNone)r.rHrErH)r2rHr.rHrErH)r.rHr6rHr7ÚintrErH)r<rHr6rHrEztuple[str, str])rErH)Ú__doc__Ú __future__rr,r'Úos.pathrÚ threadingrÚ__all__ÚNullTranslationsr Ú__annotations__r r?rDrr#rrr/r3r8r:r=rrrrrÚrRs«ðÚ0Ý"ã ÛÝâ P€ð Ð )ˆ.× )Ñ )Ó +ðD€ Ð@óñ ‹7€ð Ø Ø Ø Ø ñ ÐðØ Ø Ø ñ Ðóó#ô!ó>ó .ó 8ó <óó&ó( ô r