Return the correct gettext translations for a request.

        This will never fail and return a dummy translation object if used
        outside of the request or if a translation cannot be found.

def get_translations(self):
        """Return the correct gettext translations for a 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 NullTranslations()

        locale = get_locale()

        cache = self.get_translations_cache(ctx)

        translations = cache.get(str(locale))

        if translations is None:
            translations = self._get_translation_for_locale(locale)
            cache[str(locale)] = translations

        return translations