python修改手机默认语言_Python多语言、国际化

Python通过gettext模块支持国际化(i18n),可以实现程序的多语言界面的支持

进入Python的安装目录中Tools\i18n目录

u=2350975817,1182474632&fm=170&s=49198F18BAEC5E8C3BD8EDD3030090B3&w=510&h=385&img.PNG

执行pygettext.py生成一个messages.pot

u=3359422708,1680601363&fm=170&s=4488DD1009AEE4C85ED1DD560300E0F1&w=640&h=388&img.PNG

修改messages.pot中编码CHARSET  gb2312ENCODING  utf8

u=1710152208,3648855899&fm=170&s=04D118D019FECDCC02ED6352030050F4&w=575&h=334&img.PNG

编辑messages.pot添加需要国际化的内容,另存为*.po文件我这里存成了lang.po

u=1198927492,1071146162&fm=170&s=4888CD1AD9AFD0C856E8DD4C030070F1&w=640&h=356&img.PNG

编译lang.po执行msgfmt.py lang.po生成lang.mo

u=707879713,1944707842&fm=170&s=E9208F18F8EE1C8C63E16DD3030070B2&w=544&h=387&img.PNG

在项目中建立目录\locale\zh_CN\LC_MESSAGES\locale\en_US\LC_MESSAGESLC_MESSAGES这个是必须的同时将刚刚的lang.po、lang.mo放入到zh_CN\LC_MESSAGES\这个目录下。也可以生成一个英文的对应文件放入到en_US\LC_MESSAGES\目录下

u=771199184,3241091065&fm=170&s=0010CD301B7950090CF89DC8030080B1&w=616&h=253&img.PNG

测试下效果,输出用_(str)代替str。成功输出中文将zh_CN换成en_US如果没有配置默认直接输出原内容,如Hello YY完整的test.py# -*- coding: utf-8 -*-#!/usr/bin/env pythonimport sysreload(sys)sys.setdefaultencoding('utf8')import gettextgettext.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 _('Hello YY')

u=202912672,3590205999&fm=170&s=0EE1C8120F224D205275044E0300C0F6&w=639&h=234&img.PNG

项目直接使用,服务启动的时候加载所有的mo文件。在请求的过滤入口处设置本次请求的语言,后面代码中就可以直接使用啦

u=1534859711,340451398&fm=170&s=1DA87C3383B04C235665F04C030070F5&w=640&h=200&img.PNG

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值