translation.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:modeltranslation 作者: intelligenia 项目源码 文件源码
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)


########################################################################
########################################################################
########################################################################
## GET TRANSLATIONS ##


########################################################################################################################
## Get translated fields
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号