【问题标题】:Change gtk.BUTTONS_YES_NO in different language用不同的语言更改 gtk.BUTTONS_YES_NO
【发布时间】:2014-04-17 16:47:55
【问题描述】:

我正在用 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()

谢谢!

【问题讨论】:

    标签: python pygtk


    【解决方案1】:

    假设您只使用常用按钮并且您已经安装了对您想要显示的语言环境的支持,那么在 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”按钮(瑞典语)。并且:

    LC_ALL='en_US.utf8' python test.py
    

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

    你也可以在代码中明确设置:

    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):

    sudo apt-get install language-pack-sv language-pack-gnome-sv
    

    【讨论】:

    • 我忘了说你还需要安装合适的 gnome 翻译包。例如 language-pack-gnome-sv 获取瑞典语。
    • 对不起,我的意思是,我不在 linux 上,我在 windows XP 上:)
    • 好的,那么this question 可能对你有进一步的帮助。
    • 谢谢你的回答,我最终做了自己的小部件,所以我可以放我想要的文字! :)
    • 欢迎您@DanielSpillereAndrade!另外值得一提的是:Babel 如果您正在计划更高级的国际化支持,可能会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 2012-07-28
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多