Django国际化遇到的神坑

配置完全是按照文档来,检查了一遍又一遍。来回地创建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的语言包里去找它里面没有翻译的内容。虽然我很想赞叹一声,但是竟然要这样区分-_,我也是醉了。

切记切记,语言包的名称中不要有-!!!