Я пытаюсь добавить китайский язык в свое приложение, написанное на 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'日本語'),
)
На данный момент все (кроме китайского) языки работают отлично. Это содержимое locale directory :
$ ls locale/
en
fi
ja
no
zh_CN
zh_TW
В каждом каталоге у меня есть каталог LC_MESSAGES с файлами * .mo и * .po.
Файлы * .po создаются скриптом, написанным на 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 ...
Знаете ли вы, что может быть не так?