Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用不同的语言更改gtk.按钮\u是\u否_Python_Pygtk - Fatal编程技术网

Python 用不同的语言更改gtk.按钮\u是\u否

Python 用不同的语言更改gtk.按钮\u是\u否,python,pygtk,Python,Pygtk,我正在用python构建一个多语言应用程序,但是当我使用gtk.BUTTONS_YES_NO时,它总是只显示“YES”或“NO”,如何将文本设置为、YES、SIM、SI或任何其他字符串 dialog = gtk.MessageDialog(self, gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_QUESTION, gtk.BUTTONS_YES_NO, txt_sendingToDevice) dialog.format_secondary_text(

我正在用python构建一个多语言应用程序,但是当我使用gtk.BUTTONS_YES_NO时,它总是只显示“YES”或“NO”,如何将文本设置为、YES、SIM、SI或任何其他字符串

dialog = gtk.MessageDialog(self, gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_QUESTION, gtk.BUTTONS_YES_NO, txt_sendingToDevice)
dialog.format_secondary_text(txt_confirmSendToDevice)
response = dialog.run()
dialog.destroy()

谢谢大家!

假设您只使用常用按钮,并且已安装对要显示的区域设置的支持,则在Linux下,您可以运行以下操作:

import gtk
dialog = gtk.MessageDialog(None, gtk.DIALOG_DESTROY_WITH_PARENT, 
        gtk.MESSAGE_QUESTION, gtk.BUTTONS_YES_NO, "Hello world")
response = dialog.run()
dialog.destroy()
首先是:

LC_ALL='sv_SE.utf8' python test.py
应显示“Nej”和“Ja”按钮(瑞典语)。以及:

应显示“否”和“是”按钮

您还可以在代码中设置此显式:

import gtk
import locale
locale.setlocale(locale.LC_ALL, 'sv_SE.utf8')
dialog = gtk.MessageDialog(None, gtk.DIALOG_DESTROY_WITH_PARENT, 
        gtk.MESSAGE_QUESTION, gtk.BUTTONS_YES_NO, "Hello world")
response = dialog.run()
dialog.destroy()
先决条件 安装适当的语言包,例如在本例中为瑞典语(sv):


我忘了提到您还需要安装相应的gnome翻译包。例如,语言包gnome sv获得瑞典语。对不起,我的意思是,我不在linux上,我在windows XP上:)好的,那么也许对你有进一步的帮助。谢谢你的回答,我最终完成了我自己的小部件,这样我就可以放我想要的文本了!:)欢迎@DanielSpillereAndrade!同样值得一提的是:如果您正在计划更高级的国际化支持,这可能会有所帮助。
import gtk
import locale
locale.setlocale(locale.LC_ALL, 'sv_SE.utf8')
dialog = gtk.MessageDialog(None, gtk.DIALOG_DESTROY_WITH_PARENT, 
        gtk.MESSAGE_QUESTION, gtk.BUTTONS_YES_NO, "Hello world")
response = dialog.run()
dialog.destroy()
sudo apt-get install language-pack-sv language-pack-gnome-sv