檔案增加好了之後程式怎麼撰寫?請看:
假設此專案的Namespace名稱為MultiLanguageTest
假設把語言包取名為LanguagePack
假設LanguagePack.en.resx裡面有新增一個StringTest001的字串。內容是:"我是中文的字串"
假設LanguagePack.zh-TW.resx裡面有新增一個StringTest001的字串。內容是:"I am English"
利用ResourceManager來取得對應文化的resx檔案,然後利用GetString()告訴ResourceManager你要取得那個字串,如此,就會根據你的OS來抓取正確的語言檔.resx
ResourceManager Rm = new ResourceManager( "MultiLanguageTest.LanguagePack", Assembly.GetExecutingAssembly( ) );
MessageBox.Show( Rm.GetString( "StringTest001" ) );
「這樣測試過後,只能看到中文的字串,因為我用的是中文的作業系統啊,怎麼知道這樣寫對不對?」在你的Program.cs 的main()裡加上這個Thread.CurrentThread.CurrentUICulture = new CultureInfo( "en" ); ,執行之後,你就可以讓程式強制在英文的語言文化來呈現了。
加上這行之後,編譯可能看到「Thread不存在目前內容中」、「CultureInfo不存在目前內容中」的錯誤訊息,Using引用進來就好了。
實作時美中不足:
回覆刪除LanguagePack.zn-TW.resx 應該是 zh-TW
:D
唉呀呀,真是抱歉,疏忽了,造成困擾真不好意思
回覆刪除