django - 如何将 Django 的翻译字符串与 Wagtailtrans 一起使用(支持多语言 Wagtail 站点的附加组件)
问题描述
所以我有一个使用 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 一起工作,但我似乎无法弄清楚这个设置应该如何。谁能帮我吗?
解决方案
推荐阅读
- tsql - 从 SQL Server 2008 中的字符串中获取下划线之前的字符并用逗号分隔
- java - Java System.nanoTime() 多个并行调用导致相同的值?
- vb.net - 无法加载 DLL 'mozglue':Geckofx 45.0.1 中的错误
- php - 不能使用碳工厂类
- php - 无法在 WAMP localhost 上运行 laravel 任务调度程序
- c# - 在 XAML 中设置属性的顺序是什么?
- c# - 跟踪到 DLL
- android - Android Studio 构建 java.exe 第二次暂停
- macos - 如何在 MACOS 终端中显示面包屑?
- ios - UIPanGestureRecognizer 处理程序使我的应用程序崩溃 - swift