2014-01-22 131 views
0

我們在這裏有一個複雜的應用程序,它是用MFC和C#編寫的並且以混合模式運行。我們現在正在嘗試設置此應用程序的多語言版本。所以我爲每個現有資源文件創建了英文資源文件(在.NET部分中)並翻譯了所有必需的字符串。例如:MyResource.resxMyResource.en.resx。原始語言是德語。
現在,如果我啓動的解決方案僅包含.NET項目,且其設置爲'en-US',則所有對話框和文本均按英語顯示。 MFC部分(.exe文件中的編譯代碼)被翻譯成名爲Lingobit的工具,該工具替換該.exe文件中的字符串,並且工作正常。到現在爲止還挺好。

但是,當啓動完整的混合模式應用程序時,.NET部分的所有英文資源文件都將被忽略,並且會回退到德文版本。

我另外嘗試使用Lingobit來翻譯.NET-DLL。 Lingobit創建了一個獨立的mylib.resource.dll我的原始mylib.dll這似乎也被忽略了。

我在這裏想法如何創建此應用程序的英文版本。任何建議如何使我的混合模式應用程序使用英文資源文件?

在此先感謝。MFC/C#.NET混合模式本地化(多語言/多語言應用程序)

回答

0

解決方案本身很簡單,但花了我一段時間才找到它。如果編譯.Net項目,Visual Studio將在輸出文件夾(例如:bin/Debug /)中創建一個「en」文件夾。該文件夾不是通過編譯混合模式版本創建的,因此只需將它從.Net輸出文件夾複製到混合模式輸出文件夾即可。 另外,我將創建一個腳本,將其複製到構建後的所需位置。

大家好。