2014-07-03 37 views
2

我有一个用pyqt创建的GUI,现在我想为用户提供两种不同语言,英语和西班牙语的可能性。如何制作两种不同语言的PYQT图形用户界面?

我想把ui改成不同的语言会很容易,但是有很多“QMessagebox”是用英文手工编写的。

任何人有一个想法如何做到这一点?

+1

这对于SO来说太宽泛了,但是您应该搜索的主题是“本地化”。见例如http://fireless.wordpress.com/2014/02/01/internationalizing-python-pyqt-apps/ – jonrsharpe

+3

在PyQt中搜索函数'tr()' - 参见http://stackoverflow.com/questions/14715015/pyqt-国际化 – furas

回答

1

嗯,我觉得对于一个小程序,最简单的方法是存储在文本文件中的一切看起来就像是:

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”与“消息”,其余的字典... 然后,您创建一个参数窗口,您可以选择您的语言,程序将重新加载包含单词的字典。