配置完全是按照文档来,检查了一遍又一遍。来回地创建po,mo文件,可是web就是不显示中文,Django你坏了还是我坏了?
django国际化的问题纠缠了我5个小时,我从没有如此痛苦过,因为我很清楚这是一个很小的问题,但是因为没法调试,没有log,我根本不知道问题出在哪里。谁能TMD知道不能用-
啊,草泥马!!!
解决方案:
语言包不要有-
,例如语言包是zh-hans
, 请将其改成zh_hans
,其他地方的zh-hans
不需要修改。
如果说这也能称为知识的话,我真是日了狗了。
django现在对zh-cn
, zh-CN
都不支持了,用了这些的话Django会提醒你:
The use of the language code 'zh-cn' is deprecated. Please use the 'zh-hans' translation instead.
其实直接用zh
也可以,而且,他还会主动到zh_hans
的语言包里去找它里面没有翻译的内容。虽然我很想赞叹一声,但是竟然要这样区分-
和_
,我也是醉了。
切记切记,语言包的名称中不要有-
!!!