wxLocale 国际化示例代码翻译失败

wxLocale Internationalization sample codes failed to translate

我正在 windows 10 上通过 CodeClocks 编写一个 wxWidgets 项目,我想将这个项目翻译成多语言。 按照说明,我通过Poedit生成了一个PO文件和一个MO文件,并将MO文件保存在application文件夹中。然后我从 link 复制了国际化示例代码 https://github.com/wxWidgets/wxWidgets/tree/WX_3_0_BRANCH/samples/keyboard, 当我 运行 示例代码时,翻译失败。如果我 select "French",我会收到错误消息 "Couldn't find/load the internat catalog for the locale 'French_France.1252'",如果我 select 另一种语言,我也会收到错误消息。 我用Poedit的开发者Václav检查了我的PO文件,Václav确认PO文件没有问题。 为什么翻译没有发生?如果有人能给我一些指导,我将不胜感激。

首先,示例中的 link 是错误的("keyboard" 而不是 "internat"),但我想这只是一个错字。其次,您真的将翻译后的消息目录称为 internat.mo(样本正在寻找的目录)吗?您把它放在哪里了?如 the documentation 中所述,它需要位于 fr 子目录中。

如果您仍然找不到问题,请尝试从您的代码中调用 wxLog::AddTraceMask("i18n") 并查看调试输出以查看样本在何处寻找文件。