Beispiel #1
0
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])