使MFC应用程序国际化 [英] Making an MFC application international

查看:202
本文介绍了使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 Studio2008.)

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字符串放入字符串表"资源时遇到困难. (据我所知,需要使用文本编辑器以L"0x0034"格式将Unicode字符串输入到.rc文件中.我还没有找到一种执行此操作的资源编辑器方法.)关于此的任何提示?我可以在使用VC ++和MFC的VS2008中使用任何其他资源吗?

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?

Microsoft论坛上有人建议我在记事本中打开有问题的.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.

这篇关于使MFC应用程序国际化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆