在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')