old_contents: # -*- 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 translation
  
  
  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
  
new_contents: # -*- 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
  
subject: Fix for alternative 'if' branch