0

如何在Visual Studio中爲Win32項目本地化多個.rc文件?我已經按照這裏的教程http://multilingualui.blogspot.co.uk/描述瞭如何本地化2種語言的win32解決方案:分別應用於en-US和fr-FR項目的英語(美國)和法語(法國)。但是,每個項目只有一個資源文件:en-US.rc和fr-FR.rc。但我不清楚,如果每種語言有兩個或更多的資源文件,例如en-US.rc,en-US2.rc,fr-FR.rc和fr-FR2.rc,我應該改變它。當我嘗試創建這些額外的.rc文件並在其中放置STRINGTABLE資源,然後構建項目時,出現以下錯誤:在Visual Studio for Win32項目中本地化多個.rc文件

1> CVTRES:致命錯誤CVT1100:重複資源。鍵入:MUI,名稱:1,語言:0x0409 1> LINK:致命錯誤LNK1123:在轉換爲COFF期間失敗:文件無效或損壞

我嘗試將TLBID:id值更改爲1以外的值,因爲它是提出瞭解決這個問題的辦法,但是它並沒有解決這個問題。

任何幫助,將不勝感激。

+0

避免過分喜歡資源文件,工具日期從石器時代開始。在軟件開發方面,25年是很多狗年。你希望它會爲你合併字符串表,它不知道該怎麼做。只要將它們保存在一個.rc文件中即可。如有必要,可以使用#include指令將文件分開。 –

+0

我會嘗試,謝謝你的答案。我只是在尋找一個平穩過渡的舊項目,該項目有> 50個.rc文件(它們是非本地化的,僅適用於一種(英語)語言)工程,這將是一個多語言項目(需要支持日語在我的情況)。 –

回答

0

我們的解決方案中有多個DLL項目,每個項目只包含一組資源。在運行時InitInstance(),我們選擇與代碼相應的語言DLL像

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

,並使用hInst_aRes加載字符串,對話框...

相關問題