首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QTranslator如何处理地区修饰符PyQT?

QTranslator如何处理地区修饰符PyQT?
EN

Stack Overflow用户
提问于 2014-02-13 08:23:18
回答 1查看 791关注 0票数 2

我在使用QTranslator加载翻译文件时遇到了问题,因为其中包含一个区域设置修饰符。我用的代码是,

代码语言:javascript
复制
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)之外,这段代码对几乎所有的语言环境都是完美的。在这种情况下,不管名称是什么,它都不会加载翻译文件。

我似乎不知道如何命名翻译文件,或者需要实现什么新代码才能使代码正常工作。

谢谢你,乔什

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-13 21:30:52

地区名称通常以下列形式出现:

代码语言:javascript
复制
    language[_territory][.codeset][@modifier]

但后两个元素的顺序可能有所不同。

从Qt翻译器文件的角度来看,很难看出最后两个组件在任何方面都是相关的。所以,最明显的事情就是把它们剪掉,只使用语言和地域。

最简单的方法是使用QLocale

代码语言:javascript
复制
    qm = 'qt_%s.qm' % QLocale().name()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21748677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档