【问题标题】:Localization of wx.DirDialog on Mac OSMac OS 上 wx.DirDialog 的本地化
【发布时间】:2016-11-03 17:55:53
【问题描述】:

如何使用使用 wx.DirDialog API 的 Python 在 MacOS 上本地化打开的对话框/面板? 代码:

dlg = wx.DirDialog(self, title, style=wx.DD_DEFAULT_STYLE)
dlg.ShowModal()

我已经通过“http://wxwidgets.info/localization_video/comment-page-1/#comment-403”,它有以下本地化步骤:

  • 创建简单的 wxWidgets 应用程序
  • 使用 poEdit 从源代码中提取字符串常量并创建 .PO 文件
  • 使用 poEdit 翻译字符串常量
  • 使用 poEdit 创建消息目录(.MO 文件)
  • 使用 wxLocale 类应用翻译

但是,我如何翻译代码中未提供的默认字符串?

附上 wx.DirDialog 打开对话框和 TextEdit 应用程序打开对话框的图片以供参考。

【问题讨论】:

  • 你在哪个国家?如果你只是运行“TextEdit”并点击“Cmd+O”,这个对话框会被本地化吗?通常 wxWidgets(和 wxPython)都使用本地平台控件,因此如果您的操作系统不支持本地化 - 您将不会使用基于 wx 的应用程序。如果你想要它,看看如何为你的 Mac 添加本地化。
  • 是的,当我在 TextEdit 应用程序上点击“Cmd+O”时,这个打开的对话框是本地化的。此外,我还成功地本地化了我的应用程序的上下文菜单项,以及其他 UI 项,如窗口、按钮、表格,如预期的那样。但是我的应用程序中唯一未本地化的对话框是打开对话框,我使用它来浏览和选择使用“wx.DirDialog”库的文件夹。如图所示,我能够在我们作为 wx.DirDialog 的参数传递的窗口中本地化消息。我应该从我的应用程序中做些什么来本地化打开对话框的常量/标准字符串?
  • 请查看 trac.wxwidgets.org。我认为有一个关于这个问题的错误打开(一个旧的 - 针对 wxWidgets /not wxPython/)。票据附有补丁,因此如果您有兴趣,可以获取补丁,应用它并重新编译 wxWidgets/wxPython。让我们知道情况如何。
  • 谢谢,得到了链接trac.wxwidgets.org/ticket/9659,它正在按预期工作:)

标签: macos python-2.7 wxwidgets nsopenpanel


【解决方案1】:

解决方案:使用“CFBundleLocalizations/Localizations”在bundle的info.plist中指明应用程序支持的语言,在打开和保存过程中显示系统语言中的所有项目。

参考链接:http://trac.wxwidgets.org/ticket/9659

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 2018-04-12
    • 2014-01-16
    相关资源
    最近更新 更多