【问题标题】:How do I disable default translation values in Django?如何在 Django 中禁用默认翻译值?
【发布时间】:2012-04-01 02:21:19
【问题描述】:

一些标签在没有设置 *.po 文件的情况下给我翻译的单词。

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

很遗憾,在创建 *.po 文件并运行时它们不会被覆盖:

django-admin.py compilemessages

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

【问题讨论】:

    标签: django internationalization translation


    【解决方案1】:

    有几种方法可以覆盖它

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

    【讨论】:

      【解决方案2】:

      我做得更简单。我没有设置 en、fr、ru 等语言,而是添加前缀“t_”,所以我使用 t_en、t_ru、t_fr 等目录中的 po

      【讨论】:

      • 这绝对不是“pythonic”解决问题的方式。
      猜你喜欢
      • 2019-02-01
      • 2019-04-10
      • 2011-12-14
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多