微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

wxPython 提供假文件翻译

如何解决wxPython 提供假文件翻译

我想对 .mo 文件进行 base64 编码,并将其用作 wxPython 的翻译文件。因为它将位于 .py 文件中。


我有一个 wxPython 项目,它正在以几种不同的方式进行编译。图标没有问题,因为它们被打包在一个 .py 文件和 base64 中。 .mo 文件中的翻译令人头疼。是否可以对翻译进行同样的作弊?不将它们包含在正确的 .mo 文件中,而只是将翻译转储到 base64 或 gzipped base64 中?

wx.FileTranslationLoader() 似乎是唯一存在的 wx.TranslationLoader()。它说我可以替换那个翻译加载器并使用我自己的。 https://wxpython.org/Phoenix/docs/html/wx.Translations.html#wx.Translations.SetLoader 但是要做到这一点,我需要返回一个 msgCatalog,它显然不是我可以在任何地方找到的对象类型。

这似乎是一种伪造的可靠方法,因此将打包我所有 .py 的构建器设置为他们的翻译文件,但这似乎不容易实现,但也许我错过了一个简单的 hack。也许ducktype MsgCatalog 但我不知道它需要什么方法。而且我实际上并不想自己阅读 .mo,只是给它一个像对象一样的字节流。从理论上讲,我可以将 mo 写入语言环境目录,但通常各种安装的内部文件系统都是假的,因此我最终会将一些奇怪的文件写入磁盘。我想我可以在临时目录中执行此操作,但这似乎很麻烦。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。