Python通过gettext模块支持国际化(i18n),可以实现程序的多语言界面的支持进入Python的安装目录中Tools\i18n目录执行pygettext.py生成一个messages.pot修改messages.pot中编码CHARSETgbENCODINGutf8编辑messages.pot添加需要国际化的内容,另存为*.po文件我这里存成了lang.po编译lang.po执行msgfmt.pylang.po生成lang.mo在项目中建立目录\locale\zh_CN\LC_MESSAGES\locale\en_US\LC_MESSAGESLC_MESSAGES这个是必须的同时将刚刚的lang.po、lang.mo放入到zh_CN\LC_MESSAGES\这个目录下。也可以生成一个英文的对应文件放入到en_US\LC_MESSAGES\目录下测试下效果,输出用_(str)代替str。成功输出中文将zh_CN换成en_US如果没有配置默认直接输出原内容,如HelloYY完整的test.py#-*-coding:utf-8-*-#!/usr/bin/envpythonimportsysreload(sys)sys.setdefaultencoding(utf8)importgettextgettext.install(lang,F:\Workspaces\server\MobileApiServer\project\locale,unicode=False)gettext.translation(lang,F:\Workspaces\server\MobileApiServer\project\locale,languages=[zh_CN]).install(True)print_(HelloYY)项目直接使用,服务启动的时候加载所有的mo文件。在请求的过滤入口处设置本次请求的语言,后面代码中就可以直接使用啦查看原文
产品建议及投诉请联系:shoujibaidu
baidu.
转载请注明:http://www.aierlanlan.com/rzgz/5373.html