def get_translation_for_key(item): from django.core.exceptions import ObjectDoesNotExist from django.utils.translation import get_language from translator.models import Translation from django.core.cache import cache if getattr(settings, "DJANGO_TRANSLATOR_ENABLED", True): lang = get_language() key = get_key(lang, item) result = cache.get(key) try: if not result: try: result = Translation.objects.get(key=item).description except ObjectDoesNotExist: result = Translation(key=item) result.description = item result.save() result = result.description cache.set(key, result) except OperationalError: logging.getLogger(__name__).info("Unable to get translation for {0}".format(item), ) result = item else: result = item return mark_safe(result)
def get_translation_for_key(item): from django.core.exceptions import ObjectDoesNotExist from django.utils.translation import get_language from translator.models import Translation from django.core.cache import cache lang = get_language() key = u'{0}-{1}'.format(lang, item) result = cache.get(key) if not result: try: result = Translation.objects.get(key=item).description except ObjectDoesNotExist: result = Translation(key=item) result.description = item result.save() result = unicode(result.description) cache.set(key, result) return mark_safe(result)