如何在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以外的值,因为它是此问题的建议解决方案,但它无法解决问题。
任何帮助都将不胜感激。
答案 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文件。