标题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代码国际化相关推荐

  1. Python中国际化(i18n)完整指南

    这是一个完整的指南,展示了如何为一个Python应用程序进行国际化(i18n).当我在handroll项目中添加i18n时,我很难找到支持其他语言的明确建议.这是我个人的一点经验,解释了我是如何做到这 ...

  2. python代码编程教学入门,python代码编程火影忍者

    python源代码编程软件 编写python源代码的软件.首推的Pycharm. PyCharm用于bai一般IDE具备的功能,比如, 调试.语法高亮.Project管理.du代码跳转.智能提示.自动 ...

  3. python代码库-Python常用库大全

    Python常用库大全,看看有没有你需要的. 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具 ...

  4. python代码库-哪些 Python 库让你相见恨晚?

    Awesome Python 中文版网站?jobbole.github.io Awesome Python中文版来啦! 本文由 伯乐在线 - 艾凌风 翻译,Namco 校稿.未经许可,禁止转载! 英文 ...

  5. 关于创建zeromq消息队列,设置和更改IP地址,远程可以访问,不只是本地链接。python代码。

    关于zeromq的创建,绑定本地,和绑定其他客户端的方法. 网上一大堆关于zmq的通信模式的介绍,包括三种类型,具体我就不在描述. 但是他们给的demo,都是创建本地作为server服务端,也作为cl ...

  6. python代码怎么写出色_如何写出更具有Python风格的代码,五分钟教会你!

    我们都喜欢 Python,因为它让编程和理解变的更为简单.但是一不小心,我们就会忽略规则,以非 Pythonic 方式编写一堆垃圾代码,从而浪费 Python 这个出色的语言赋予我们的优雅.Pytho ...

  7. OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式...

    OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式 以最简单的4 x 5三通道图像为例,其在内存中Mat类型的数据组织形式如下: 每一行的每一列 ...

  8. 主成分分析(PCA)Python代码实现

    主成分分析(Principal Components Analysis, PCA)简介可以参考: http://blog.csdn.net/fengbingchun/article/details/7 ...

  9. resnet keras 结构_Wandb用起来,一行Python代码实现Keras模型可视化

    大数据文摘出品 来源:wandb 编译:邢畅.宁静 在训练神经网络的过程中,我们可能会希望可视化网络的性能和中间的结构,很多可视化代码的冗长复杂使得我们望而却步,有没有一行代码就能解决可视化的所有问题 ...

最新文章

  1. atlas安装需要kafka吗_Apache Atlas安装使用说明文档
  2. 花 1 个月收入购买一份保险之后,我的一点碎碎念!
  3. 导购提成怎么算_空调选购,别问“小白”问题,问导购这几个参数,才会显得内行...
  4. java如何记录查看记录_Java如何检查消息是否可记录?
  5. concat php,php基于concat实现无限分类
  6. IntelliJ IDEA导出设置
  7. [译] 深度学习的未来
  8. 总结(6)--- python基础知识点小结(细全)
  9. 移动端textarea无法滚动
  10. 三分钟入门电力系统之----------三道防线
  11. 【时间序列分析】03.正态时间序列与严平稳序列
  12. 英文文本分类(CNN)
  13. oracle入门教程+视频教程
  14. Flash制作大雪纷飞效果动画
  15. oracle 用户被锁住 28000 the account is locked
  16. 深入理解Android:卷II
  17. word论文排版和写作06:审阅和修改文章
  18. MATLAB三点确定圆
  19. 127.0.0.1是什么地址?localhost呢?
  20. python利用以下公式求π的值_Python 计算 π 值的简单示例

热门文章

  1. ios 企业证书申请及发布APP Mac
  2. QCC300x笔记(5) -- 外部Flash的读写操作
  3. Python报错SyntaxError: EOL while scanning string literal
  4. web前端开发入门十个小项目(Hbuilder)
  5. 【基础】什么是视锥体
  6. mstar 平台I2C 配置
  7. Java实验9 T4.统计文件的所有短文中包含英文字母的个数
  8. 天涯上令人抓狂的100个神经签名(天涯疯人院语录)
  9. android仿微信语音聊天功能,Android仿微信发送语音消息的功能及示例代码
  10. linux的二级目录