2011-03-28 325 views
3

我不知道用什么办法,以国际化的乡亲MSWin资源(对话/菜单/串)已为通常包括在本地C++/WTL MSWin通过资源编译器应用程序窗口中的项目发现有用吗?国际化与

我有一些经验,尽管大约2005年,与“传统”的方式来处理这些事情,粗略地讲:重复的资源文件并翻译成另一种语言,对话和所有。我的经验是,这有点痛苦。希望对积极经验的反馈以及如何实现这些积极的经验。

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

一个具体关注的是,MSWin没有/使用任何布局管理器(即我所知道的)。这意味着将对话框翻译为另一种语言可能需要对对话框进行尺寸更改以适应由于翻译而导致的文本空间需求的任何增加或减少。

上的做法任何其他建议也将不胜感激。

回答

1

Windows本身不具有任何布局管理器,但一些与Windows使用的用户界面库做。仅举一个明显的例子,Qt使得i18n比直接使用Win32 API更简单。它有管理网格布局,流布局等。它也有类直接支持翻译,包括QTranslator类,它将翻译翻译文件,直接支持不同文本表示之间的转换等。

+0

Qt看起来有一个比本机窗口更好的i18n模型。但是,我真的想避免重写:( – msandiford 2011-03-28 06:14:10