【发布时间】:2017-12-21 17:39:46
【问题描述】:
我正在使用 Visual Studio 中的 VC++、MFC 开发多语言应用程序。我为每种语言都有单独的 .rc 文件。
说
English.rc //having string table for English language
French.rc //having string table for French language
German.rc //having string table for German language
每种语言都有自己的字符串表。
因为我们可以使用函数LoadString(ID_HERE) 从字符串表中获取字符串值。我想链接不同语言的 .rc 文件,以便我可以获得不同语言的字符串。默认情况下,English.rc 文件与项目关联。我想知道如何将其更改为另一个 .rc 文件。
如何在运行时加载/链接任何特定语言的 .rc 文件,或者通过在下拉框中选择任何语言来更改语言?
我不想为此使用 DLL 方法。有什么直接的方法可以将 .rc 文件链接到项目吗?
【问题讨论】:
-
“我不想为此使用 DLL 方法。” - 我不知道这是什么意思,但是将资源脚本编译成资源 -只有模块是标准解决方案。见Adding Multilingual User Interface Support to an Application。
-
@IInspectable 我检查了一些链接。在其中一个中,它通过将所有 .rc 文件添加在一起并尝试使用它来创建单独的 DLL。我认为您提供的链接也有类似的“HelloModule.dll”
-
我链接到的教程为每种语言创建了一个单独的 MUI 模块,以及与语言无关的 "HelloModule.dll" 文件,其中包含代码和语言中立的后备资源.虽然可以在同一个模块中存储给定资源的多语言版本,但您将失去使用系统 MUI 支持的能力,因为它会自动探测特定语言的 MUI 文件。有关详细信息,请参阅 LANGUAGE statement 的文档。
标签: visual-c++ mfc