Как отключить значения перевода по умолчанию в Django? - PullRequest
3 голосов
/ 01 апреля 2012

Некоторые теги дают мне переведенные слова без настройки файла * .po.

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

К сожалению, они не будут переопределены при создании файла * .po и запуске:

django-admin.py compilemessages

Так как мне избавиться от переводов по умолчанию?Я бы предпочел решение на уровне проекта, потому что я не хочу изменять файлы ядра Django.

Ответы [ 2 ]

5 голосов
/ 01 апреля 2012

Есть несколько способов переопределить его

  • установить путь локали в LOCALE_PATHS в файле настроек, это придает переводам более высокий приоритет.
  • изменить msgid, чтобы он отличался отиспользуется Джанго.Затем предоставьте переводы для языков, которые будут использоваться.Msgid может быть чем угодно, кроме базовой строки, если он уникален и удобен для перевода, например, префикс пространства имен: {% trans "my:groups" %}
  • контекстные маркеры для Django1.3 + , тогда он выглядиткак {% trans "groups" context "my" %}
0 голосов
/ 07 июня 2012

я сделал проще.Вместо того, чтобы устанавливать язык как en, fr, ru и др., Я добавляю префикс 't_', поэтому я использую po из dirs, таких как t_en, t_ru, t_fr

...