def _save_translations(sender, instance, *args, **kwargs): """ This signal saves model translations. """ # If we are in a site with one language there is no need of saving translations if site_is_monolingual(): return False cls = sender # If its class has no "translatable_fields" then there are no translations if not hasattr(cls._meta, "translatable_fields"): return False # For each translatable field, get its value, computes its md5 and for each language creates its # empty translation. for field in cls._meta.translatable_fields: value = getattr(instance, field) if not value is None: md5_value = checksum(value) setattr(instance, u"md5" + field, md5_value) for lang in settings.LANGUAGES: lang = lang[0] # print "({0}!={1}) = {2}".format(lang, settings.LANGUAGE_CODE,lang!=settings.LANGUAGE_CODE) if lang != settings.LANGUAGE_CODE: context = u"Updating from object" if hasattr(instance, "trans_context"): context = getattr(instance, "trans_context") trans = FieldTranslation.update(instance, field, lang, context)
def _save_translations(sender, instance, *args, **kwargs): """ This signal saves model translations. """ # If we are in a site with one language there is no need of saving translations if site_is_monolingual(): return False cls = sender # If its class has no "translatable_fields" then there are no translations if not hasattr(cls._meta, "translatable_fields"): return False # For each translatable field, get its value, computes its md5 and for each language creates its # empty translation. for field in cls._meta.translatable_fields: value = getattr(instance,field) if not value is None: md5_value = checksum(value) setattr( instance, u"md5"+field, md5_value ) for lang in settings.LANGUAGES: lang = lang[0] # print "({0}!={1}) = {2}".format(lang, settings.LANGUAGE_CODE,lang!=settings.LANGUAGE_CODE) if lang != settings.LANGUAGE_CODE: context = u"Updating from object" if hasattr(instance, "trans_context"): context = getattr(instance, "trans_context") trans = FieldTranslation.update(instance, field, lang, context)
def _make_translations(obj): cls = obj.__class__ obj.classname = cls.__name__ if hasattr(cls,"TRANSLATABLE_FIELDS"): for field in cls.TRANSLATABLE_FIELDS: value = getattr(obj,field) md5_value = hashlib.md5(value.encode("utf-8")).hexdigest() setattr( obj, "md5"+field, md5_value ) for lang in settings.LANGUAGES: trans = FieldTranslation.update(obj, field, lang[0])
def _make_translations(obj): cls = obj.__class__ obj.classname = cls.__name__ if hasattr(cls, "TRANSLATABLE_FIELDS"): for field in cls.TRANSLATABLE_FIELDS: value = getattr(obj, field) md5_value = hashlib.md5(value.encode("utf-8")).hexdigest() setattr(obj, "md5" + field, md5_value) for lang in settings.LANGUAGES: trans = FieldTranslation.update(obj, field, lang[0])