Python代码国际化
标题python代码国际化
需要工具:
poedit
代码:
import gettextdef change_lang(lang: str = 'zh'):global lang_objif lang == 'en':lang_en = gettext.translation('en', 'locale', languages=['LANG'])lang_en.install()lang_obj = lang_en.gettextelif lang == 'ja':lang_jp = gettext.translation('ja', 'locale', languages=['LANG'])lang_jp.install()lang_obj = lang_jp.gettextelif lang == 'zh-hans':lang_jp = gettext.translation('zh_TW', 'locale', languages=['LANG'])lang_jp.install()lang_obj = lang_jp.gettextelse:lang_obj = gettext.gettextreturn lang_objdef _(word: str=""):global lang_objreturn lang_obj(word)lang_obj = change_lang('zh')
以fastapi为例,可以在中间件中获取请求头里面的语言设置
lang = request.headers.get('lang', 'zh')
change_lang(lang)
对需要进行翻译的中文进行处理:
from tools.i18n import _for item in data:item["add_time"] = str(item["add_time"])[:19]if item["source_type"] == 1:item["source"] = _("保险箱")model = models.FileBoxelif item["source_type"] == 2:item["source"] = _("认证服务")model = models.ca_asset_infooperator_obj = await model.filter(pk=item["operator_id"]).first()item["operator_name"] = operator_obj.name if operator_obj else Noneitem["result"] = _("成功") if item["result"] == 1 else _("失败")r_data = dict(data=data, total=total)
poedit操作:
选择需要翻译的语言,然后选择从源代码中提取,
设置翻译属性, 选择代码路径,及设置排除需要翻译的文件路径,
点击预翻译,然后保存翻译文件,后期如果代码有新增需要翻译的,选择从代码更新,然后在点击预翻译并保存, 翻译后的文件 放入项目目录下\locale\LANG\LC_MESSAGES下
Python代码国际化相关推荐
- Python中国际化(i18n)完整指南
这是一个完整的指南,展示了如何为一个Python应用程序进行国际化(i18n).当我在handroll项目中添加i18n时,我很难找到支持其他语言的明确建议.这是我个人的一点经验,解释了我是如何做到这 ...
- python代码编程教学入门,python代码编程火影忍者
python源代码编程软件 编写python源代码的软件.首推的Pycharm. PyCharm用于bai一般IDE具备的功能,比如, 调试.语法高亮.Project管理.du代码跳转.智能提示.自动 ...
- python代码库-Python常用库大全
Python常用库大全,看看有没有你需要的. 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具 ...
- python代码库-哪些 Python 库让你相见恨晚?
Awesome Python 中文版网站?jobbole.github.io Awesome Python中文版来啦! 本文由 伯乐在线 - 艾凌风 翻译,Namco 校稿.未经许可,禁止转载! 英文 ...
- 关于创建zeromq消息队列,设置和更改IP地址,远程可以访问,不只是本地链接。python代码。
关于zeromq的创建,绑定本地,和绑定其他客户端的方法. 网上一大堆关于zmq的通信模式的介绍,包括三种类型,具体我就不在描述. 但是他们给的demo,都是创建本地作为server服务端,也作为cl ...
- python代码怎么写出色_如何写出更具有Python风格的代码,五分钟教会你!
我们都喜欢 Python,因为它让编程和理解变的更为简单.但是一不小心,我们就会忽略规则,以非 Pythonic 方式编写一堆垃圾代码,从而浪费 Python 这个出色的语言赋予我们的优雅.Pytho ...
- OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式...
OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式 以最简单的4 x 5三通道图像为例,其在内存中Mat类型的数据组织形式如下: 每一行的每一列 ...
- 主成分分析(PCA)Python代码实现
主成分分析(Principal Components Analysis, PCA)简介可以参考: http://blog.csdn.net/fengbingchun/article/details/7 ...
- resnet keras 结构_Wandb用起来,一行Python代码实现Keras模型可视化
大数据文摘出品 来源:wandb 编译:邢畅.宁静 在训练神经网络的过程中,我们可能会希望可视化网络的性能和中间的结构,很多可视化代码的冗长复杂使得我们望而却步,有没有一行代码就能解决可视化的所有问题 ...
最新文章
- atlas安装需要kafka吗_Apache Atlas安装使用说明文档
- 花 1 个月收入购买一份保险之后,我的一点碎碎念!
- 导购提成怎么算_空调选购,别问“小白”问题,问导购这几个参数,才会显得内行...
- java如何记录查看记录_Java如何检查消息是否可记录?
- concat php,php基于concat实现无限分类
- IntelliJ IDEA导出设置
- [译] 深度学习的未来
- 总结(6)--- python基础知识点小结(细全)
- 移动端textarea无法滚动
- 三分钟入门电力系统之----------三道防线
- 【时间序列分析】03.正态时间序列与严平稳序列
- 英文文本分类(CNN)
- oracle入门教程+视频教程
- Flash制作大雪纷飞效果动画
- oracle 用户被锁住 28000 the account is locked
- 深入理解Android:卷II
- word论文排版和写作06:审阅和修改文章
- MATLAB三点确定圆
- 127.0.0.1是什么地址?localhost呢?
- python利用以下公式求π的值_Python 计算 π 值的简单示例