在 Django 中本地化长文本的最佳实践?
Best practice for localizing long text in Django?
我刚刚阅读完有关国际化的 Django 文档,但有些事情困扰着我。
似乎默认语言字符串本身用作检索翻译的键。这对于短文本来说非常好,但对于段落来说,这似乎是糟糕的设计。现在,每当我更改英文(默认)文本时,我的密钥都会发生变化,我需要手动更新我的 .po 文件吗?
似乎使用 "INTRO_TEXT" 之类的键并从它自己的 .po 文件中检索默认语言是正确的方法。其他人是如何解决这个问题的,哪些对您有效?
是的,您必须手动更新 PO 文件,但大多数情况下,删除过时翻译的模糊标记会受到限制(gettext 将翻译标记为模糊修改原版)。
我个人更喜欢这种方法,因为它将文本内容保留在源代码中,使其更具可读性(尤其是 HTML)。我也发现很难找到好的和简洁的字符串标识符,命名不好的标识符很容易让人头疼。
如果您不想手动编辑 PO 文件或想将翻译委托给非开发人员,Django-rosetta 会很有帮助。
我刚刚阅读完有关国际化的 Django 文档,但有些事情困扰着我。
似乎默认语言字符串本身用作检索翻译的键。这对于短文本来说非常好,但对于段落来说,这似乎是糟糕的设计。现在,每当我更改英文(默认)文本时,我的密钥都会发生变化,我需要手动更新我的 .po 文件吗?
似乎使用 "INTRO_TEXT" 之类的键并从它自己的 .po 文件中检索默认语言是正确的方法。其他人是如何解决这个问题的,哪些对您有效?
是的,您必须手动更新 PO 文件,但大多数情况下,删除过时翻译的模糊标记会受到限制(gettext 将翻译标记为模糊修改原版)。
我个人更喜欢这种方法,因为它将文本内容保留在源代码中,使其更具可读性(尤其是 HTML)。我也发现很难找到好的和简洁的字符串标识符,命名不好的标识符很容易让人头疼。
如果您不想手动编辑 PO 文件或想将翻译委托给非开发人员,Django-rosetta 会很有帮助。