如何禁用Django中的默认转换值?

如何禁用Django中的默认转换值?,django,internationalization,translation,Django,Internationalization,Translation,有些标签在不设置*.po文件的情况下为我提供翻译的单词 {% trans "groups" %} {% trans "users" %} 不幸的是,在创建*.po文件并运行以下操作时,它们不会被覆盖: django-admin.py compilemessages 那么我如何摆脱默认的翻译呢?我更喜欢项目级的解决方案,因为我不想修改Django核心文件。有几种方法可以覆盖它 在设置文件的locale\u path中设置您的locale路径,这将为您的翻译提供更高的优先级 将msgid更改为

有些标签在不设置*.po文件的情况下为我提供翻译的单词

{% trans "groups" %}
{% trans "users" %}
不幸的是,在创建*.po文件并运行以下操作时,它们不会被覆盖:

django-admin.py compilemessages

那么我如何摆脱默认的翻译呢?我更喜欢项目级的解决方案,因为我不想修改Django核心文件。

有几种方法可以覆盖它

  • 在设置文件的locale\u path中设置您的locale路径,这将为您的翻译提供更高的优先级
  • 将msgid更改为与Django使用的不同。然后提供将要使用的语言的翻译。msgid可以是任何加上基本字符串的内容,只要它是唯一的且对翻译程序友好的,例如名称空间前缀:
    {%trans“my:groups”%}
  • ,然后它看起来像
    {%trans“groups”context“my”}

    • 我做得更简单了。我没有设置诸如en、fr、ru之类的语言,而是添加了前缀“t_”,因此我使用了诸如t_en、t_ru、t_fr之类的dirs中的po,这绝对不是解决问题的“pythonic”方法。