Pyside(PyQt)开发中英文版软件

前言

最近接到一个新需求,软件需要开发英文版。自己研究了一阵子,差不多走通了,把方案分享给大家

操作流程

  1. 在代码中将需要翻译的字符串用tr包裹,如下图所示

    在这里插入图片描述

  2. 编写脚本,将所有需要翻译的py文件加入ts,这里我写bat脚本举例(如果是linux环境,编写shell脚本即可)

       @echo off
       setlocal
       
       REM 设置你的源代码目录和输出ts文件的位置
       set "sourceDir=.\src"
       set "outputTsFile=.\assets\i18n\bms_analyse_zh_CN.ts"
       set "tempFileList=temp_filelist.txt"
       
       REM 清除现有的ts文件和临时文件列表
       if exist "%tempFileList%" del "%tempFileList%"
       
       REM 收集所有.py文件的路径到临时文件,去除双引号
       for /r "%sourceDir%" %%F in (*.py) do (
           echo %%~fF>> "%tempFileList%"
       )
       
       REM 使用pyside6-lupdate处理临时文件列表中的所有.py文件
       if exist "%tempFileList%" (
           pyside6-lupdate @"%tempFileList%" -ts "%outputTsFile%"
           del "%tempFileList%"
       )
       
       echo TS file generation complete.
       pause
       endlocal
    
  3. 执行脚本生成完ts文件后,将翻译内容填入到ts文件中

    在这里插入图片描述

    translation里面填要翻译的语言,报错不用理会,无关紧要

  4. 编译.ts文件生成.qm文件

    lrelease -verbose .\assets\i18n\bms_analyse_zh_CN.ts -qm .\assets\i18n\bms_analyse_zh_CN.qm
    

    在这里插入图片描述

    生成过程如下图所示

    在这里插入图片描述

    这里显示已经翻译的条数和未翻译的条数

  5. 在程序中设置语言

        # 设置语言
        translator = QTranslator(app)
        path = os.path.join(assets_dir, "i18n", "bms_analyse_zh_CN.qm")
        translator.load(path)
        app.installTranslator(translator)
    

    可以写一个按钮触发事件,或者读配置文件,将我上面加载语言的代码放进去,我这里选择的是读配置文件

    在这里插入图片描述

  6. 打开程序后就能看到英文版界面了,这里是我数据分析软件的一个例子(还有部分翻译工作未完成)

    在这里插入图片描述

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Pyside6和PyQt6都是Python编程语言用于创建GUI应用程序的工具包。它们都是基于Qt框架构建的,因此具有相似的功能和API。 以下是关于使用Pyside6/PyQt6进行快速开发和实战的一些提示: 1. 学习Qt框架:Qt框架是创建GUI应用程序的基础。学习Qt框架可以帮助你了解Pyside6和PyQt6的工作原理,以及如何使用它们创建GUI应用程序。 2. 学习Python编程语言:Pyside6和PyQt6都是Python编程语言的库。因此,熟悉Python编程语言可以帮助你更好地使用这些库。 3. 使用Qt Designer:Qt Designer是一个可视化工具,可以帮助你轻松创建GUI应用程序的UI。你可以使用Qt Designer创建UI,并将其导入到Pyside6/PyQt6项目。 4. 学习信号和槽:信号和槽是Pyside6/PyQt6的重要概念。信号是一个事件,例如按钮单击或文本更改,而槽是响应这些事件的函数。学习如何使用信号和槽可以帮助你创建响应用户操作的GUI应用程序。 5. 阅读文档和示例代码:Pyside6和PyQt6都有详细的文档和示例代码。阅读这些文档和示例代码可以帮助你了解如何使用库的不同功能和API,并为你的项目提供灵感。 6. 加入社区:Pyside6和PyQt6有活跃的社区和论坛。加入这些社区可以帮助你与其他开发人员交流经验,并得到解决问题的帮助。 总之,使用Pyside6和PyQt6进行快速开发和实战需要学习Qt框架、Python编程语言、Qt Designer、信号和槽等知识,并阅读文档和示例代码。加入社区可以帮助你更好地了解和使用这些库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MC皮蛋侠客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值