Python Django:有没有一种方法可以非正式地用;杜;?

Python Django:有没有一种方法可以非正式地用;杜;?,python,django,Python,Django,与英语不同的是,德语有两种不同的“版本”。你可以用正式的,更非个人的“Sie”或非正式的,更个人化的“du” 所以,当你用英语说“你能帮我吗?”时,你可以说 科恩你米尔·赫尔芬?(正式,当你并不真正了解对方时) 卡恩斯特dumir helfen?(非正式,当您已经认识此人时) 德语 我现在的问题是,对于Django应用程序,我希望使用第二个版本(“du”),因为它更适合我的web应用程序。问题是Django(我知道什么?)只支持正式版本,现在我在web应用程序中遇到了不一致的情况。有时,您可

与英语不同的是,德语有两种不同的“版本”。你可以用正式的,更非个人的“Sie”或非正式的,更个人化的“du”

所以,当你用英语说“你能帮我吗?”时,你可以说

  • 科恩米尔·赫尔芬?(正式,当你并不真正了解对方时)
  • 卡恩斯特dumir helfen?(非正式,当您已经认识此人时)
德语

我现在的问题是,对于Django应用程序,我希望使用第二个版本(“du”),因为它更适合我的web应用程序。问题是Django(我知道什么?)只支持正式版本,现在我在web应用程序中遇到了不一致的情况。有时,您可以在那里阅读“du”,有时可以阅读“Sie”(来自默认的Django翻译)

当然,我可以删除我手动添加的带有“du”的句子,但我不喜欢它,因为该网页将面向相互认识的人

我的两个问题:

  • 有没有办法让Django使用我可能错过的非正式翻译
  • 如果Django不提供此功能,有没有办法让Django支持它(我很乐意提供/更改翻译)。或者你知道其他的解决方法吗

  • Django的翻译系统只是
    gettext
    ,因此您可以使用
    gettext
    的功能

    你可能想要的是。德扬戈

    因此,您可以使用“正式”或“非正式”上下文标记来标记要翻译的字符串,这将允许您提供字符串的多个翻译(每个不同的上下文标记对应一个)

    例如,如果模板代码包含

    [% trans "Can you help me?" context "formal" %}
    


    然后,您的
    .po
    文件将以该字符串结束两次,您可以提供正式和非正式的翻译,Django将根据您请求的上下文提取正确的翻译。

    但我希望对每个翻译使用非正式翻译,并且仅对Django的默认消息使用非正式翻译。因为我的web应用程序是德语的,所以只有我手动添加的消息是硬编码的。然后提供您自己的翻译文件。通过复制/粘贴,您甚至可以领先一步。Django将使用它在您的应用程序中找到的任何翻译文件,然后再返回到它自己的内置文件。我解决这个问题的想法是添加一种额外的新语言,如下所述()。例如,de语言是正式语言,您可以在中创建一个de作为非正式语言。
    {% trans "Can you help me?" context "informal" %}