2017-06-13 60 views
0

我已經建立了一個可以在日語和英語之間切換的多語言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語句。

感謝您的任何幫助。

回答

0

你可以只檢查是否在模板中的變量設置像這樣:

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