【发布时间】:2012-02-02 23:20:57
【问题描述】:
我是一名 .NET 人员,必须在 MFC 应用程序上做一些工作。该应用程序是一个 VS2008 MFC 可执行文件,我已将其转换为 VS2010。最初的开发人员通过在应用程序命令行中指定包含键值对的 .txt 文件的名称来进行本地化。已安装的可执行文件快捷方式会根据应用程序安装在哪个国家/地区指定不同的 .txt 文件。如果您只是直接运行 .exe,这当然不起作用。这对我来说似乎是一种奇怪的做事方式。
我想以适当的 MFC 方式执行此操作,但我很难在 Google 上找到明确的答案。我的理解是 .rc 文件中的字符串表应该用于此本地化?这是当前 MFC 的最佳实践吗?
关于字符串表,我读到过的做法是为不同的语言创建多个字符串表。 MFC 应用程序如何选择使用哪种语言?它是基于机器当前的语言设置还是我可以控制它(可能是我们希望我们也在构建的 Wix .msi 安装程序指定语言)?
我还了解到,将所有资源嵌入 MFC 应用程序已经失宠,现在您应该编译单独的资源 .dll 吗?这是真的吗?我调查一下怎么做...
最后,我必须做一些特别的事情来让 MFC 支持 Unicode 还是 MFC 默认为 Unicode?p>
谢谢
【问题讨论】:
-
MFC 和 Unicode 是独立的,你可以使用一个而没有另一个。如果您使用向导来构建您的项目,Unicode 将是选项之一(它应该是默认设置)。否则,您可以在项目设置中找到它。
-
另一篇CP文章:codeproject.com/Articles/11040/…
标签: mfc localization visual-c++-2010 resource-file string-table