与英语相比,有两个不同的“版本”,您可以用德语与他人交谈。您可以使用正式的,更客观的“Sie”或非正式的,更个性化的“du”。
所以,虽然你只是说“你能帮助我吗?”用英语,你可以说
用德语。
我现在的问题是,对于我的Django应用程序,我想使用第二个版本(“du”),因为它更适合我的Web应用程序。事实是,Django(我所知道的?)只支持正式版本,现在我在Web应用程序中存在不一致之处。有时候,你可以阅读“du”和有时“Sie”(来自默认的Django翻译)。
当然,我可以用“du”删除我手动添加的句子,但我不喜欢它,因为网页适用于相互认识的人。
我的两个问题:
答案 0 :(得分:2)
Django的翻译系统仅为gettext
,因此您可以使用gettext
的功能。
你可能想要的是contextual markers。 Django supports this。
因此,您可以使用' formal'的上下文标记来标记要翻译的字符串。或者'非正式',这将允许您提供字符串的多个翻译(每个不同的上下文标记一个)。
因此,例如,如果您有包含
的模板代码[% trans "Can you help me?" context "formal" %}
和
{% trans "Can you help me?" context "informal" %}
然后你的.po
文件将以两次字符串结束,你可以提供正式和非正式的翻译,Django将根据你请求的上下文提取正确的翻译。