W Multi多语言网站后备语言

问题描述:

我已经建立了一个可以在日语和英语之间切换的多语言W website网站。 cms中的每个页面都有两个需要翻译的内容字段。我试图找出可翻译字段是否留空,是否可以显示回退语言字段的内容。W Multi多语言网站后备语言

这涉及到这个问题,但我的设立似乎有所不同: [Django, how to create a fallback language in a multilingual website?

类TranslatedField(对象):

def __init__(self, en_field, ja_field): 
    self.en_field = en_field 
    self.ja_field = ja_field 

def __get__(self, instance, owner): 
    if translation.get_language() == 'ja': 
     return getattr(instance, self.ja_field) 
    else: 
     return getattr(instance, self.en_field) 

类网站(页):

body_en = RichTextField(blank=True) 
body_ja = RichTextField(blank=True) 

body = TranslatedField(
    'body_en', 
    'body_ja', 
) 

content_panels = Page.content_panels + [ 
    ImageChooserPanel('background_image'), 
    FieldPanel('body_en', classname="full"), 
    FieldPanel('body_ja', classname="full") 
] 

所以那么在模板中,内容仅用{{page.body | richtext}}调用。也许我需要添加一些东西到我的def 得到 if/else语句。

感谢您的任何帮助。

你可以只检查是否在模板中的变量设置像这样:

<div> 
    <span> 
    {% if page.body_jp %} 
     私の日本語テキスト 
    {% else %} 
     This is my fallback text in English! 
    {% endif %} 
    </span> 
</div>