2012-02-22 3 views
2

У меня есть список языков для моего Джанго проекта, и они работают отлично:Джанго перевод не работает при использовании подъязыко

LANGUAGES = (
    ('en', ugettext('English')), 
    ('es', ugettext('Spanish')), 
) 

Теперь я хочу, чтобы добавить английскую Великобританию, потому что некоторые пользователи писали мне об орфографических ошибках, что Арен «т действительно ошибки, только разница между Великобританией, но и американским английским, поэтому я добавил:

LANGUAGES = (
    ('en', ugettext('English')), 
    #('en-us', ugettext('English US')), 
    ('es', ugettext('Spanish')), 
    ('en-gb', ugettext('English UK')), 
) 

и сделал весь процесс создания языковых файлов, но когда я выбираю„ан-гб“он просто использует те же файлы, что и «en». Обратите внимание, что я пытаюсь использовать как «en», так и новый «en-us»

Я попытался добавить 'fr' в список и использовать файлы перевода, которые у меня есть для 'en-gb', и они отлично работают.

Как я могу сделать работу «en-gb»? Я мог бы просто использовать код языка, который я, вероятно, никогда не буду использовать, и поместил туда свои файлы, но это не похоже на правильный способ сделать это, и я, вероятно, просто пропустил что-то простое, чтобы сделать «en-gb», Работа.

ответ

3

Это должно быть en_GB, а не en-gb. See the docs.

+0

спасибо, что делает работа. Я использовал en-gb becuase, вот как они помещают коды языков на примеры здесь: https://docs.djangoproject.com/en/dev/topics/i18n/translation/ ближе к концу в разделе «Как Django открывает язык предпочтение " –

+0

Этот раздел написан не очень хорошо, особенно. поскольку Django имеет сильное предпочтение '_' над' -'. – Edwin