使 MFC 应用程序国际化
我这里有几个大型 MFC 应用程序,将它们转换为任何其他格式是不可能的.我们正在向其他市场扩张,并希望使这些应用能够在其他语言和文化中运行.
I've got several large MFC applications here, and converting them into any other format is out of the question. We're expanding into other markets, and would like to make the apps work in other languages and cultures.
到目前为止,我偶尔会找到关于如何处理 Visual C++ 版本 6 的参考资料,其中提到 MFC 的更高版本具有额外的相关功能.搜索 MSDN 为我提供了有关如何将应用程序转换为 Unicode 的说明,我们已经这样做了.我在 MSDN 上找不到任何关于如何在 Unicode 中使语言成为多语言的内容,只有一些使用 Google 的旧东西,以及一本关于使用 VC++6 国际化的书.(我们现在在 XP 和 Vista 上使用 Visual Studio 2008.)
So far, I've found occasional references as to what to do with Visual C++ version 6, with one mention that later versions of MFC have additional relevant features. Searching MSDN gives me instructions on how to convert the apps to Unicode, which we already did. I found nothing on MSDN on how to make languages multilingual once they're in Unicode, only a few older things using Google, and one book about internationalization using VC++6. (We're using Visual Studio 2008 now, on XP and Vista.)
我不声称我的 Google-fu 的强大,并且很高兴被引导到我错过的东西.
I make no claims for the strength of my Google-fu, and would be happy to be directed to things I've missed.
使用VC++6的方法合理吗,还是应该使用后面的特性?
Is it reasonable to use the methods of VC++6, or should I use later features?
如果我应该在此之后使用功能,我在哪里可以找到对它们的参考?
If I should use features later than that, where can I find some reference to them?
除了设置语言环境、将所有字符串转换为资源以及以不同语言复制资源之外,我还有什么需要担心的吗?
Is there something I should worry about other than setting the locale, converting all strings to resources, and duplicating resources in different languages?
我可以找到更多关于 .NET 国际化的信息,但我对 .NET 缺乏经验.我会发现哪些适用于 VC++ 和 MFC?
I can find more things about .NET internationalization, but I'm inexperienced in .NET. What will I find there that's applicable to VC++ and MFC?
我在尝试将 Unicode 字符串放入字符串表资源时遇到了困难.(据我所知,Unicode 字符串需要使用文本编辑器以 L"0x0034" 形式输入到 .rc 文件中.我还没有找到资源编辑器的方法来做到这一点.)有什么提示吗?我可以在 VS2008 中使用 VC++ 和 MFC 使用任何其他资源吗?
I just ran into difficulties trying to put Unicode strings into the String Table resource. (As far as I can tell, Unicode strings need to be entered into the .rc file with a text editor, in L"0x0034" form. I haven't found a resource editor way to do that.) Any tips on that? Any other resource I can use in VS2008 using VC++ and MFC?
微软论坛上的某个人建议我在记事本中打开有问题的 .rc 文件,并将其保存为 Unicode.不幸的是,这似乎并没有修复对话框,尽管字符串表似乎在日语中工作.
Somebody on a Microsoft forum suggested that I open the offending .rc file in Notepad, and save it in Unicode. Unfortunately, this doesn't seem to fix the dialogs, although the stringtable seems to be working in Japanese.
推荐答案
不仅仅是翻译字符串"来国际化应用程序.
There's a lot more than just translating "strings" to internationalize an application.
您的大部分 UI 都需要更新以考虑不同的文本长度和语言方向(希伯来语、中文、阿拉伯语……)
Most of your UI will need to be updated to take into account the different text lengths, and language orientation (thing Hebrew, Chinese, Arabic, ...)
还需要更改一些图片以适应不同的文化(不幸的是,我没有这方面的示例),要么是形象不同,要么颜色不符合当地规范.
Some images will also need to be changed to fit a different culture (unfortunately, I don't have an example for that), either the figurative is different or the colors do not fit local specifications.
我们正在使用 appTranslator 之类的工具来帮助我们进行外观本地化(UI 重新格式化)并为字符串使用专业的技术翻译.
We are using a tool like appTranslator to help us do the cosmetic localization (UI re-formatting) and use a professional technical translator for the strings.
相关文章