Я пытаюсь добавить китайский язык в свое приложение, написанное в Django, и мне очень тяжело с этим справиться. Я потратил полдня на разные подходы, без успеха.
Мое приложение поддерживает несколько языков, это часть файла settings.py:
TIME_ZONE = 'Europe/Dublin'
LANGUAGE_CODE = 'en'
LOCALES = (
#English
('en', u'English'),
#Norwegian
('no', u'Norsk'),
#Finish
('fi', u'Suomi'),
#Simplified Chinese
('zh-CN', u'简体中文'),
#Traditional Chinese
('zh-TW', u'繁體中文'),
#Japanese
('ja', u'日本語'),
)
В настоящий момент все (но китайские) языки работают отлично. Это содержимое каталога локали:
$ ls locale/
en
fi
ja
no
zh_CN
zh_TW
В каждом каталоге у меня есть каталог LC_MESSAGES с файлами *.mo и *.po. *.po файлы создаются с помощью script, написанного на Python, который преобразует *.ODS в текстовый файл. *.mo создаются командой python manage.py compilemessages.
Язык может быть выбран пользователем из соответствующей формы в разделе "Настройки" в моем приложении.
Django не загружает китайский перевод. Это проблема. Оба упрощенных и традиционных не работают. Я попробовал различные варианты языковых и языковых кодов в settings.py и в каталоге локалей: zh-CN, zh-cn, zh_CN, zh_cn. Нет успеха.
Возможно, я допустил простую ошибку? Я добавил польский язык только для теста, и все прошло хорошо. В основном я сделал то же самое. Я добавил ('pl', u'Polish ') кортеж к settings.py и "locale/pl" с каталогами *.po и *.mo и LC_MESSAGES...
Знаете ли вы, что может быть неправильно?