如何在Django中禁用默认翻译值?

时间:2012-04-01 02:21:19

标签: django internationalization translation

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

{% trans "groups" %}
{% trans "users" %}

不幸的是,在创建* .po文件并运行时,它们不会被覆盖:

django-admin.py compilemessages

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

2 个答案:

答案 0 :(得分:5)

有几种方法可以覆盖它

  • 在设置文件中的LOCALE_PATHS中设置您的语言环境路径,这会为您的翻译提供更高的优先级。
  • 将msgid更改为与Django使用的不同。然后提供将要使用的语言的翻译。 msgid可以是任何加上基本字符串,只要它的唯一和转换器友好,例如名称空间前缀:{% trans "my:groups" %}
  • Contextual markers for Django1.3+ ,然后看起来像{% trans "groups" context "my" %}

答案 1 :(得分:-1)

我做得更简单了。我没有设置en,fr,ru和其他语言,而是添加了前缀't_',所以我使用的是d,如t_en,t_ru,t_fr