J'ai mis en place un site Wigtail multilingue qui permet de passer du japonais à l'anglais. Chaque page dans les cms a deux champs pour le contenu qui doit être traduit. J'essaie de savoir si un champ traduisible est laissé vide, si le contenu d'un champ de langue de secours peut être affiché.Wagtail Site multilingue site de secours
Cela se rapporte à cette question, mais mon mise en place semble différent: [Django, how to create a fallback language in a multilingual website?
classe TranslatedField (objet):
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)
HomePage classe (Page):
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")
]
Alors Dans le modèle, le contenu est simplement appelé avec {{page.body | richtext}}. Peut-être que je devrais ajouter quelque chose à mon def obtenir if/else instruction.
Merci pour toute aide.