【问题标题】:Internationalization with MSWin resources (dialog/menu/strings)使用 MSWin 资源国际化(对话框/菜单/字符串)
【发布时间】:2011-03-28 02:31:05
【问题描述】:

我想知道对于 i18n 人来说,什么方法对通常通过资源编译器包含在本机 C++/WTL MSWin 应用程序中的 Windows 项目有用?

我有一些经验,尽管大约在 2005 年,使用“传统”方法来处理这些事情,粗略地说:复制资源文件并翻译成另一种语言、对话框和所有内容。我的经验是这有点痛苦。如果您对积极的体验以及如何实现这些体验提供任何反馈,我们将不胜感激。

我也有一些使用 GNU gettext 的经验,它似乎在将开发人员的关注点与翻译者的关注点分开方面做得更好。不幸的是,我认为在 windows 环境中使用 GNU gettext 意味着放弃 Visual Studio 内置的用于生成应用程序菜单和对话框等的有用工具。任何关于如何克服这个问题的建议都将不胜感激。

我特别担心的是 MSWin 没有/使用任何布局管理器(我知道)。这意味着将对话框翻译成另一种语言可能需要更改对话框的尺寸,以适应因翻译而增加或减少的文本空间需求。

任何其他关于方法的建议也将不胜感激。

【问题讨论】:

    标签: c++ windows winapi localization internationalization


    【解决方案1】:

    Windows 本身没有任何布局管理器,但一些用于 Windows 的 UI 库有。举一个明显的例子,Qt 使 i18n 比直接使用 Win32 API 简单得多。它有网格布局、流布局等管理器。它还有直接支持翻译的类,包括一个 QTranslator 类,它将在翻译文件中查找翻译,直接支持不同文本表示之间的转换等。

    【讨论】:

    • Qt 的 i18n 模型看起来比原生窗口更好。但是,我真的很想避免重写:(
    猜你喜欢
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多