所以我有一个使用 Wagtailtrans 扩展的 Wagtail 网站。我基本上通过复制页面树来启用多语言。因此,url 在开始时使用语言代码固定。
我可以完美地翻译我通过模型定义的所有内容。这是一个如何工作的示例:
class ServicesPage(MetadataPageMixin, TranslatablePage):
description = models.CharField(max_length=255, blank=True,)
content_panels = Page.content_panels + [
FieldPanel('description', classname="full")
]
您在模型中将其定义为 TranslatablePage 而不是 Page。一切正常,但是我仍然需要一些我没有在我的模型中定义的额外字符串来翻译。我只是使用 Django 的翻译功能,{% load i18n %}
然后将字符串包裹在{% trans "String" %}
.
到目前为止一切顺利,我在 Wagtail admin 中定义了我的两种语言(Wagtail trans 为此创建了一个选项),在这种情况下是英语和荷兰语。我将英语设置为主要语言,因此字符串为英语。
我使用./manage.py makemessages
它,它为我创建了一个 .po 文件,其中包含所有标记的字符串。最后我用./manage.py compilemessages
.
但是当我切换到荷兰语时,翻译的字符串没有显示出来,它仍然显示英文字符串。所以我怀疑它需要一些额外的调整才能与 Wagtailtrans 一起工作,但我似乎无法弄清楚这个设置应该如何。谁能帮我吗?