這兩天研究這個的結果,整理一下筆記。
主要從下面兩篇文章得到的資訊:
這裡我參照上面的文章,寫了兩個範例:
Project使用的環境為 Windows 平台、.NET Framework 2.0,Visual Studio 2008 撰寫
範例1
這是從資源檔讀取介面文字的範例,我根據 .NET Magazine的一篇文章 所撰寫的。
範例2
我整理的步驟摘要:
- 將Form的屬性Localizable設為true
- 設定介面上所有Control的文字(Text)
- 此時的介面Form屬性Language為Default時的設定,也就是沒特別指定對應的語言
- 現在把Form屬性Language設為Chinese (Taiwan),然後去修改所有Control的Text,或是重新Layout
- 如果有修改的話(沒修改不會產生,會用default),會產生對應的resource檔(如 Form1.zh-TW.resx)
- 也可以同上建立Language為English (United States) 的文字及排版
- 在 InitializeComponent 之前,就先決定要使用的語系 (沒決定的話,系統會幫你偵測,沒對應到的話就用Default,因為我有建立zh-TW,所以有對應到就會用這個)
還有Layout的部份,不同語系的也可以不同排版(有動過排版才會儲存),但這點可是有好有壞 :P
其他可以看一下原始碼,基本上想要動態改變CultureInfo 來改變介面的話,還是要自己寫code去重讀介面。
CodeProject 有人寫好元件來做這件事,可以參考看看。
沒有留言:
張貼留言