在PyQt5中實(shí)現(xiàn)國際化和本地化支持可以通過以下步驟來實(shí)現(xiàn):
使用Qt Linguist工具創(chuàng)建翻譯文件:
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"))
可以根據(jù)用戶的首選語言設(shè)置加載對應(yīng)的翻譯文件:
import locale
locale.setlocale(locale.LC_ALL, '') # 獲取用戶的地區(qū)設(shè)置
lang = locale.getdefaultlocale()[0]
translator = QTranslator()
translator.load(f'./translations/{lang}.qm')