在Visual Studio for Win32 Project中本地化多个.rc文件

时间:2013-06-28 10:26:20

标签: visual-studio winapi visual-c++ localization resource-files

如何在Visual Studio for Win32项目中本地化多个.rc文件?我按照这里的教程http://multilingualui.blogspot.co.uk/描述了如何本地化两种语言的win32解决方案:英语(美国)和法语(法国),它们分别应用于项目en-US和fr-FR。但是,每个项目只有一个资源文件:en-US.rc和fr-FR.rc。我不清楚,如果每种语言有2个或更多资源文件,我应该改变什么,例如,en-US.rc,en-US2.rc,fr-FR.rc和fr-FR2.rc。当我尝试创建这些额外的.rc文件并在其中放置一个STRINGTABLE资源,然后构建项目时,我收到错误:

1> CVTRES:致命错误CVT1100:重复资源。 type:MUI,name:1,language:0x0409 1> LINK:致命错误LNK1123:转换为COFF期间失败:文件无效或损坏

我尝试将TLBID:id值更改为1以外的值,因为它是此问题的建议解决方案,但它无法解决问题。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

我们的解决方案中有多个DLL项目,每个项目只包含一组资源。在运行时InitInstance(),我们选择适当的语言DLL,代码如

hInst_aRes = LoadLibrary(sResourceDllName);
if (hInst_aRes == NULL)
{    // handle <resoure-DLL not available>
     return FALSE;
}
AfxSetResourceHandle(hInst_aRes);

并使用hInst_aRes加载字符串,对话框,......

答案 1 :(得分:0)

好的,我按照这里的教程http://msdn.microsoft.com/en-us/library/windows/desktop/ee845043(v=vs.85).aspx进行操作,它也适用于多个.rc文件。