專案需要中文版和英文版,開發環境vc2013,win7系統,準備在一個工程中同時維護2個RC資源檔案,使用中英文軟體共享源代碼,通過不同配置實作即可編譯為中文版,也可編譯為英文版。現在已經實作將2個RC資源檔案加入該工程中,但是不知道如何配置(比如在專案設定中選擇不同的RC檔案),各位大俠幫個忙,在線等,謝謝
uj5u.com熱心網友回復:
為什么要用兩個資源檔案?一個資源檔案可以支持多語種uj5u.com熱心網友回復:
多語言切換一般有兩種方式實作:1.資源庫切換實作
2.字典庫實作
對于資源庫的切換實作,一般把自己的資源編譯成一個dll,在exe中通過呼叫AfxSetResourceHandle的方式來切換當前資源從而實作語言的切換
優點:1.實作簡單
2.對于不同語言,可以修改相應資源適應界面,不會出現界面顯示不完整的問題
缺點:1.資源dll比較多,如果要支持更多的語言極不方便
2.對于不熟悉的語言,自己沒法翻譯,也不可能交給別人來翻譯(資源庫,對話框,選單,等等這些資源,翻譯公司不可能幫你修改這些東西的)
字典庫實作多語言切換,實作相對復雜一點,原理是列舉軟體中所有資源,將這些資源中的中文字串記錄到字典中,在字典中分別根據不同的語言翻譯成不同的字串,
軟體界面呈現時從字典庫中取出相應的翻譯串進行顯示就OK。
優點:1.可以切換任何一種語言,只要能翻譯出來,方便切換
2.第三方翻譯時不會受限于資源工程源檔案,可以隨時翻譯
3.切換語言無需AfxSetResourceHandle切換資源,比較方便
缺點:1.由于不需要修改界面等資源進行切換語言,會導致切換到不同的語言時,界面文字可能顯示不完整
uj5u.com熱心網友回復:
https://msdn.microsoft.com/en-us/library/1021kkz0.aspxuj5u.com熱心網友回復:
1樓已經講得很清楚了,一般用資源DLL,把resource.h和.rc檔案拷貝出來,建一個資源DLL檔案分開翻譯,如果以后增加,得在對應的h和rc分別手動添加!!!!!做微軟VC的多語言實在太痛苦了!QT的多語言,敲幾個命令列同步一下,lupdate lrelease 即可,只需要翻譯新加的幾條就可以了!!!
微軟要是能把這個功能簡易化,那是相當贊的!
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
除了語言還有其他什么不同嗎?如果其他都相同完全可以把語言檔案獨立出來,做成檔案,然后根據語言分別讀取就是了
其他圖示什么的,如果不同也可以通過打包軟體來解決,例如inno setup
這種不同語言不同編譯開關的方式,到后面往往變成一鍋亂粥,
uj5u.com熱心網友回復:
用SOUI支持多語言就簡單了。
http://www.cnblogs.com/setoutsoft/p/6743006.html
uj5u.com熱心網友回復:
VC本身就可以在一個資源中添加不同的語言版本,并且運行時系統會自動按系統語言來選擇合適版本。
uj5u.com熱心網友回復:
維護起來很麻煩,沒有辦法自動同步,你加任何控制元件,那其他語言需要手動再加一編,界面和控制元件多了真不適合,這一點QT里面多語言完全秒殺VS
uj5u.com熱心網友回復:
不要用多個資源用ini,參考android和ios的多語言實作辦法
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/72246.html
標籤:界面
上一篇:如何獲取win7下檔案夾圖示?
