我在使用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)除了包含修饰符的代码(E.G. sr_RS@latin.UTF-8)之外,这段代码对几乎所有的语言环境都是完美的。在这种情况下,不管名称是什么,它都不会加载翻译文件。
我似乎不知道如何命名翻译文件,或者需要实现什么新代码才能使代码正常工作。
谢谢你,乔什
发布于 2014-02-13 21:30:52
地区名称通常以下列形式出现:
language[_territory][.codeset][@modifier]但后两个元素的顺序可能有所不同。
从Qt翻译器文件的角度来看,很难看出最后两个组件在任何方面都是相关的。所以,最明显的事情就是把它们剪掉,只使用语言和地域。
最简单的方法是使用QLocale
qm = 'qt_%s.qm' % QLocale().name()https://stackoverflow.com/questions/21748677
复制相似问题