在PyQt5中实现国际化和本地化支持可以通过以下步骤来实现:
使用Qt Linguist工具创建翻译文件:
pylupdate5
命令生成.ts
文件,其中包含了需要翻译的文本。.ts
文件,逐个翻译文本,保存为.qm
文件。在Python代码中使用QTranslator
类加载翻译文件:
from PyQt5.QtCore import QTranslator
app = QApplication(sys.argv)
translator = QTranslator()
translator.load('translation_fr.qm')
app.installTranslator(translator)
在UI控件中添加需要翻译的文本:
self.label = QLabel(self.tr("Hello World"))
可以根据用户的首选语言设置加载对应的翻译文件:
import locale
locale.setlocale(locale.LC_ALL, '') # 获取用户的地区设置
lang = locale.getdefaultlocale()[0]
translator = QTranslator()
translator.load(f'./translations/{lang}.qm')