PyQt5 使用 Qt Linguist 完成语言转换功能,知识点与实例(例子是中英文转换翻译)

本文详细介绍如何使用PyQt5和QtLinguist实现应用程序的多语言切换功能,包括创建UI界面、编写逻辑代码和生成翻译包的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PyQt5 使用 Qt Linguist 完成语言转换功能,知识点与实例(例子是中英文翻译)

前言

大概思路是做一个Language工具栏选项,通过点击选项实现中英文界面切换,具体用到了Qt Linguist.exe,工具栏创建与功能连接,下面将详细介绍。

QT Linguist官方例子https://doc.qt.io/qt-5/examples-linguist.html,共有三个例子。

这篇文章写了太多的官方文档介绍,不需要的可以直接跳到创建完整项目的步骤。

Qt Linguist介绍

QT为Qt C++和Qt Quick提供了专用的快捷开发语言翻译的应用,使得权限管理者,翻译者,开发者可以用Qt tools来完成他们的工作。
权限管理者 承担着管理所有应用权限的责任,比如说,调配开发者跟翻译者的工作,还可以用已发布的应用,lupdate tool来同步源代码跟翻译后的,还可以用lrelease tool来创建一个运行时的翻译文件(我理解为语言包)。
翻译者 可以使用Qt Linguist 工具来在应用中翻译文本。不需要计算机知识,只需要你会启动项目,会用文本编辑器。
开发者必须创建可以使用被翻译过的文本的Qt应用。应当帮助译者识别短语出现的上下文。开发人员可以使用教程了解他们的任务。
虽然官方文档这么说,但是我们应当知道,三个角色一般来说都是程序员扮演的

QT Linguist 包含在pyqt5-tools中一并安装上了(安装在前一篇文章)。一般在Python文件夹 目录下

venv\Lib\site-packages\pyqt5_tools\Qt\bin

可以找到QT Linguist.exe运行程序。

Qt Linguist提供了多种语言支持,但是没有增加很多开发者的工作
Qt通过只在程序创建的时候,使用翻译者翻译短句,实现对程序的最小开支。在大多数情况下,主窗口只创建一遍,一旦窗口初始化的时候完成翻译,根据需要来选择显示还是隐藏,只有在窗口被创建,销毁的时候才需要翻译者。

创建一个完整项目

主窗口文件MainWin.py UI界面文件test_ui.py

1. 使用Qtdesigner创建ui界面

(在我的文章初探在Pycharm中使用QT开发GUI页面,组件安装配置以及一个完整项目中有详细介绍)
在这里插入图片描述
一个label ,两个按钮,实现点击 English按钮 出现英文,点击 简体中文 按钮将其切换为英文,保存为.ui文件,并转换为.py文件

pyuic5 -o test_ui.py test_ui.ui

2.写入主界面逻辑

引入ui格式,建立app窗口

import sys
from PyQt5.QtWidgets import QMainWindow,QApplication
from test_ui import *
class MyMainForm(QMainWindow,Ui_Form):
    def __init__(self,parent = None):
        super(MyMainForm, self).__init__(parent)
        self.setupUi(self)
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    myWin = MyMainForm()
    myWin.show()
    sys.exit(app.exec_())

PyQt5文档中对各个语句功能的详解,不再赘述

https://www.riverbankcomputing.com/static/Docs/PyQt5/designer.html

3.Qt Linguist创建翻译包

  1. 首先需要生成一个 .ts 文件,test_ui.py 是要翻译的文件名,zn_CN.ts是要生成的文件名。

    E:\Python_project\优快云>pylupdate5 test_ui.py -ts zn_CN.ts

  2. 在Python文件夹下,找到Qt Linguist.exe程序,打开刚才生成的.ts文件

    Linguist文件夹: venv\Lib\site-packages\pyqt5_tools\Qt\bin

    注意在进入的时候选择源语言与要翻译的目标语言,这里我选择的是英翻汉,主界面如下:
    在这里插入图片描述

  3. 完成所有的字段翻译并保存,作为例子只翻译helloworld这个字段

    在这里插入图片描述
    完成后点击file>release,将翻译好的包保存到当前目录下,得到.qm文件
    在这里插入图片描述
    在这里插入图片描述

  4. 将翻译逻辑写添加到逻辑页面中
    完整代码如下:

    import sys
    from PyQt5.QtWidgets import QMainWindow,QApplication
    from PyQt5.QtCore import QTranslator
    from test_ui import *
    class MyMainForm(QMainWindow,Ui_Form):
        def __init__(self,parent = None):
            super(MyMainForm, self).__init__(parent)
            self.setupUi(self)
            #定义翻译家
            self.trans = QTranslator()
            #将两个按钮链接到槽函数
            self.pushButton.clicked.connect(self._tigger_english)
            self.pushButton_2.clicked.connect(self._trigger_zh_cn)
        def _tigger_english(self):
            #加载语言包
            self.trans.load("zn_CN")
            #获取窗口实例
            app = QApplication.instance()
            #将翻译家安装到实例中
            app.installTranslator(self.trans)
            #翻译界面
            self.retranslateUi(self)
            pass
        def _trigger_zh_cn(self):
            #加载语言包
            self.trans.load("en")
            #获取窗口实例
            app = QApplication.instance()
            #将翻译家安装到实例中
            app.installTranslator(self.trans)
            self.retranslateUi(self)
            pass
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        myWin = MyMainForm()
        myWin.show()
        sys.exit(app.exec_())
    
    

github项目地址

https://github.com/yuuanjiaxiang/优快云/tree/master/Translation

最后一点自己的叨叨,在学习linguist过程中,看了很多QtLinguist以及pyqt5的官方文档,进步很多,比看博客或者网络搜索得到的更系统更清晰,同时也很煎熬,顶着工地英语压力确实很大,以后还是要多看官方文档,对自己的提升比较快一些吧。不忘初心,砥砺前行,哈哈。

### 回答1: 你可以尝试以下步骤: 1. 首先进入 pycharm.desktop 文件所在的目录。 2. 打开终端,输入以下命令: ``` chmod +x pycharm.desktop ``` 该命令会赋予 pycharm.desktop 文件执行权限。 3. 接着,输入以下命令: ``` ./pycharm.desktop ``` 该命令会执行 pycharm.desktop 文件,从而打开 PyCharm。 注意:如果你没有安装 PyCharm,以上步骤可能无法正常运行。你需要先安装 PyCharm,然后再执行以上步骤。 ### 回答2: 在Linux系统中打开pycharm.desktop文件有以下几种方式: 1. 使用文件管理器:首先打开文件管理器(如Nautilus、Dolphin等),然后导航到包含pycharm.desktop文件的目录。找到该文件后,双击打开即可在默认的文本编辑器中查看和编辑。 2. 使用终端命令:打开终端,使用cd命令导航到包含pycharm.desktop文件的目录。然后使用任何文本编辑器(如nano、gedit等)打开该文件。比如,运行以下命令来使用gedit编辑器打开文件: ``` gedit pycharm.desktop ``` 3. 使用命令行工具:打开终端,然后使用命令行工具(如vi、vim等)在终端中打开pycharm.desktop文件。比如,运行以下命令来使用vim编辑器打开文件: ``` vim pycharm.desktop ``` 无论使用哪种方式,一旦成功打开pycharm.desktop文件,你就可以查看和编辑其中的内容了。这个文件通常是一个桌面应用程序的启动器配置文件,你可以在其中配置pycharm的启动命令、图标、名称等信息。 ### 回答3: 在Linux系统中打开pycharm.desktop文件需要按照以下步骤进行操作: 1. 首先,进入文件管理器,导航到保存pycharm.desktop文件的目录。可以使用命令行或是图形界面方式打开。 2. 找到pycharm.desktop文件,右键点击该文件,选择“打开方式”或类似选项(也可能是“属性”),然后选择“文本编辑器”或“其他应用程序”。 3. 如果没有“文本编辑器”选项,请选择“其他应用程序”并浏览到系统中安装的文本编辑器,如Gedit、Mousepad、VS Code等。 4. 在文本编辑器中打开pycharm.desktop文件。 5. 检查pycharm.desktop文件的内容是否被正确解析。该文件应该是一个可执行文件(.desktop文件是用来定义程序启动器的配置文件)。 6. 如果内容正确,可以修改文件的设置,例如编辑程序的名称、图标、命令等。修改完成后,保存pycharm.desktop文件。 7. 关闭文本编辑器。 8. 在文件管理器中,找到pycharm.desktop文件,右键点击该文件,选择“设置为可执行”。 9. 接下来,双击pycharm.desktop文件即可打开PyCharm。如果设置正确,PyCharm将启动。 请注意,上述步骤中的某些选项名称可能会因Linux发行版和使用的桌面环境而有所不同。确保选择正确的选项以正确打开并编辑pycharm.desktop文件。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值