def set_translation(self, lang, field, text):
        auto_slug_obj = None
        if lang == self._get_default_language():
            raise CanNotTranslate(
                _('You are not supposed to translate the default language. '
                  'Use the model fields for translations in default language')
            )
        trans_obj = self.get_translation_obj(lang, field, create=True)
        trans_obj.translation = text
        trans_obj.save()
        if INSTALLED_AUTOSLUG:
            if self.translatable_slug:
                try:
                    auto_slug_obj = self._meta.get_field(self.translatable_slug).populate_from
                except AttributeError:
                    pass
        if auto_slug_obj:
            tobj = self.get_translation_obj(lang, self.translatable_slug, create=True)
            translation = self.get_translation(lang, auto_slug_obj)
            tobj.translation = slugify(translation)
            tobj.save()
        key = self._get_translation_cache_key(lang, field)
        cache.set(key, text)
        cache.delete(self._get_translations_cache_key(lang))
        return trans_obj