【发布时间】: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 类应用翻译
但是,我如何翻译代码中未提供的默认字符串?
【问题讨论】:
-
你在哪个国家?如果你只是运行“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