docs: def _get_translations_multi_paths():
      """Return the correct gettext translations that should be used for this
      request.
  
      This will never fail and return a dummy translation object if used
      outside of the request or if a translation cannot be found.
      """
      ctx = _request_ctx_stack.top
      if ctx is None:
          return None
  
      translations = getattr(ctx, "babel_translations", None)
      if translations is None:
          babel_ext = ctx.app.extensions["babel"]
          translations = None
          trs = None
  
          # reverse order: thus the application catalog is loaded last, so that
          # translations from libraries can be overriden
          for (dirname, domain) in reversed(babel_ext._translations_paths):
              trs = Translations.load(
                  dirname, locales=[flask_babel.get_locale()], domain=domain
              )
  
              # babel.support.Translations is a subclass of
              # babel.support.NullTranslations, so we test if object has a 'merge'
              # method
  
              if not trs or not hasattr(trs, "merge"):
                  # got None or NullTranslations instance
                  continue
              elif translations is not None and hasattr(translations, "merge"):
                  translations.merge(trs)
              else:
                  translations = trs
  
          # ensure translations is at least a NullTranslations object
          if translations is None:
              translations = trs
  
          ctx.babel_translations = translations
  
      return translations