ÿØÿà JFIF ` ` ÿþxØ
| Server IP : 109.234.164.53 / Your IP : 216.73.216.110 Web Server : Apache System : Linux cervelle.o2switch.net 4.18.0-553.32.1.lve.el8.x86_64 #1 SMP Thu Dec 19 13:14:03 UTC 2024 x86_64 User : computer3 ( 1098) PHP Version : 7.1.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/alt/python35/lib/python3.5/site-packages/humanize/ |
Upload File : |
# -*- coding: utf-8 -*-
import gettext as gettext_module
from threading import local
import os.path
__all__ = ['activate', 'deactivate', 'gettext', 'ngettext']
_TRANSLATIONS = {None: gettext_module.NullTranslations()}
_CURRENT = local()
_DEFAULT_LOCALE_PATH = os.path.join(os.path.dirname(__file__), 'locale')
def get_translation():
try:
return _TRANSLATIONS[_CURRENT.locale]
except (AttributeError, KeyError):
return _TRANSLATIONS[None]
def activate(locale, path=None):
"""Set 'locale' as current locale. Search for locale in directory 'path'
@param locale: language name, eg 'en_GB'"""
if path is None:
path = _DEFAULT_LOCALE_PATH
if locale not in _TRANSLATIONS:
translation = gettext_module.translation('humanize', path, [locale])
_TRANSLATIONS[locale] = translation
_CURRENT.locale = locale
return _TRANSLATIONS[locale]
def deactivate():
_CURRENT.locale = None
def gettext(message):
return get_translation().gettext(message)
def pgettext(msgctxt, message):
"""'Particular gettext' function.
It works with 'msgctxt' .po modifiers and allow duplicate keys with
different translations.
Python 2 don't have support for this GNU gettext function, so we
reimplement it. It works by joining msgctx and msgid by '4' byte."""
key = msgctxt + '\x04' + message
translation = get_translation().gettext(key)
return message if translation == key else translation
def ngettext(message, plural, num):
return get_translation().ngettext(message, plural, num)
def gettext_noop(message):
"""Example usage:
CONSTANTS = [gettext_noop('first'), gettext_noop('second')]
def num_name(n):
return gettext(CONSTANTS[n])"""
return message