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>