gpt4 book ai didi

python - QTranslator 如何处理语言环境修饰符 PyQT?

转载 作者:太空宇宙 更新时间:2023-11-04 06:06:32 26 4
gpt4 key购买 nike

我在使用 QTranslator 加载翻译文件时遇到问题,因为它有一个语言环境修饰符。我使用的代码是,

from PyQt4 import QtCore, QtGui
from locale import getdefaultlocale

locale = getdefaultlocale()

app = QtGui.QApplication(sys.argv)

translator = QtCore.QTranslator(app)
translator.load('/usr/share/my_application/tr/qt_%s.qm' % locale[0])
app.installTranslator(translator)

除了包含修饰符(例如 sr_RS@latin.UTF-8)的区域外,此代码几乎适用于所有语言环境。在这种情况下,无论文件名是什么,它都不会加载翻译文件。

我似乎无法弄清楚要为翻译文件命名,或者我需要实现哪些新代码才能使此代码正常运行。

提前致谢,乔希

最佳答案

区域名称通常采用以下形式:

    language[_territory][.codeset][@modifier]

但最后两个元素的顺序可以不同。

从 Qt 翻译器文件的角度来看,很难看出最后两个组件有何关联。因此,显而易见的做法是将它们剪掉,只使用语言和地域。

最简单的方法是使用 QLocale :

    qm = 'qt_%s.qm' % QLocale().name()

关于python - QTranslator 如何处理语言环境修饰符 PyQT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21748677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com