2
我有一个用pyqt创建的GUI,现在我想为用户提供两种不同语言,英语和西班牙语的可能性。如何制作两种不同语言的PYQT图形用户界面?
我想把ui改成不同的语言会很容易,但是有很多“QMessagebox”是用英文手工编写的。
任何人有一个想法如何做到这一点?
我有一个用pyqt创建的GUI,现在我想为用户提供两种不同语言,英语和西班牙语的可能性。如何制作两种不同语言的PYQT图形用户界面?
我想把ui改成不同的语言会很容易,但是有很多“QMessagebox”是用英文手工编写的。
任何人有一个想法如何做到这一点?
嗯,我觉得对于一个小程序,最简单的方法是存储在文本文件中的一切看起来就像是:
firstmessage=message
secondemessage=message
然后创建一个读者fonction,如:
def read (text):
f=open(text,'r')
h=f.readlines()
H={}
for i in range (0,len(f)) :
h[i]=h[i].split('=')
h[i]=h[i][1]
h[i]=h[i].split('\n')
h[i]=h[i][0]
return H
这将返回看起来像关联“firstmessage”与“消息”,其余的字典... 然后,您创建一个参数窗口,您可以选择您的语言,程序将重新加载包含单词的字典。
这对于SO来说太宽泛了,但是您应该搜索的主题是“本地化”。见例如http://fireless.wordpress.com/2014/02/01/internationalizing-python-pyqt-apps/ – jonrsharpe
在PyQt中搜索函数'tr()' - 参见http://stackoverflow.com/questions/14715015/pyqt-国际化 – furas