      t = getattr(_active, "value", None)
      if t is not None:
          result = getattr(t, translation_function)(eol_message)
      else:
          if _default is None:
              _default = translation(settings.LANGUAGE_CODE)
          result = getattr(_default, translation_function)(eol_message)
      if isinstance(message, SafeData):
          return mark_safe(result)
      return result
  
  
 
</s> remove     t = getattr(_active, "value", None)
    if t is not None:
        result = getattr(t, translation_function)(eol_message)
 </s> add     if len(eol_message) == 0:
        # Returns an empty value of the corresponding type if an empty message
        # is given, instead of metadata, which is the default gettext behavior.
        result = type(message)("")
        _default = _default or translation(settings.LANGUAGE_CODE)
        translation_object = getattr(_active, "value", _default)

        result = getattr(translation_object, translation_function)(eol_message)

      t = getattr(_active, "value", None)
      if t is not None:
          result = getattr(t, translation_function)(eol_message)
      else:
        _default = _default or translation(settings.LANGUAGE_CODE)
        translation_object = getattr(_active, "value", _default)

        result = getattr(translation_object, translation_function)(eol_message)

        _default = _default or translation(settings.LANGUAGE_CODE)
        translation_object = getattr(_active, "value", _default)

        result = getattr(translation_object, translation_function)(eol_message)

        _default = _default or translation(settings.LANGUAGE_CODE)
        translation_object = getattr(_active, "value", _default)

        result = getattr(translation_object, translation_function)(eol_message)

      if isinstance(message, SafeData):
          return mark_safe(result)
      return result
  
  
keep keep keep keep replace replace replace keep keep keep keep keep
 Fixed #23196 -- Short-circuited empty string translation

Translating an empty string used to return the gettext catalog
metadata instead of the empty string.
Thanks Ned Batchelder for the suggestion, Tim Graham for the review
and Anton Berezin and Claude Paroz for contributions to the patch. 
django/utils/translation/trans_real.py