【问题标题】:wxpython GUI having static Japanese text and chinese static textwxpython GUI 具有静态日语文本和中文静态文本
【发布时间】:2010-02-06 20:56:38
【问题描述】:

我们希望在 wxpython 中支持将静态文本(标签、按钮标签等)本地化为日文和中文。我们只希望更改 GUI 元素中的静态文本,标签中的日文或中文字符的硬编码(静态文本字段)将为我们完成工作。 关于如何追求这一点的任何帮助都会有所帮助。

谢谢

【问题讨论】:

    标签: python unicode wxpython


    【解决方案1】:

    参见:wx.GetTranslation

    http://wiki.wxpython.org/Internationalization

    我所做的是在我的脚本顶部使用 _ = wx.GetTranslation,并将任何字符串包含在 _("My String")

    我使用这个批处理脚本:http://code.google.com/p/gui2exe/source/browse/trunk/scripts/gen_lang 来运行 wiki 上的 mki18n.py 脚本。它基本上在你的源代码上运行“gettext”命令,并挑选出你的字符串来翻译匹配 _("") 格式。

    然后将消息目录添加到 wxPython:

    self.locale = wx.Locale(wx.LANGUAGE_JAPANESE, wx.LOCALE_LOAD_DEFAULT)
    langdir = os.path.join('path', 'to', 'locale', 'folder')
    self.locale.AddCatalogLookupPathPrefix(langdir)
    self.locale.AddCatalog("program-name")
    

    当然,您必须允许用户选择他们喜欢的语言,并从中映射 wx.LANGUAGE_*。例如

    languages = ( (_("English"), wx.LANGUAGE_ENGLISH),
                  (_("English (United Kingdom)"), wx.LANGUAGE_ENGLISH_UK),
                  (_("Japanese"), wx.LANGUAGE_JAPANESE),
                  (_("Portuguese"), wx.LANGUAGE_PORTUGUESE),
                  (_("Dutch"), wx.LANGUAGE_DUTCH),
                  (_("German"), wx.LANGUAGE_GERMAN),
                  (_("Russian"), wx.LANGUAGE_RUSSIAN) )
    
    
    self.locale = wx.Locale(languages[user.preference.language], wx.LOCALE_LOAD_DEFAULT)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-20
      • 2010-12-19
      • 2011-03-23
      • 2021-01-19
      • 1970-01-01
      • 2011-02-24
      • 1970-01-01
      • 2016-12-23
      相关资源
      最近更新 更多