Visual C# 2010 簡易開發多國語言程式
寫過很多次多國語言的程式,但是每一次自己都沒有紀錄下來,這一次決定寫一篇,除了自己紀錄外也供大家分享。
首先要確定自己的需求,多國語言有幾種寫法,這次要採定使用設定檔的方式,也就是說不用在程式執行時變換語言種類,只能在程式起始時讀取設定檔確定使用語言的種類。
先在要使用多國語言的 Form 上把會使用到的物件先都擺上: Label、Button、Menu。 先都設定好 Default 的語言,再來要修改 Form 的屬性 Localizable to True,如下圖:
接著再把 Language 設定成所需使用的語言: Chinese (Traditional, Taiwan),修改 Lable、Button等的Text ,系統會自動產生相對應的 Form1.zh-TW.resx 如下:
在程式一開始Using的後面加上:
首先要確定自己的需求,多國語言有幾種寫法,這次要採定使用設定檔的方式,也就是說不用在程式執行時變換語言種類,只能在程式起始時讀取設定檔確定使用語言的種類。
先在要使用多國語言的 Form 上把會使用到的物件先都擺上: Label、Button、Menu。 先都設定好 Default 的語言,再來要修改 Form 的屬性 Localizable to True,如下圖:
Change Localizable from False to True |
Form1.zh-TW.resx |
using System.Threading;
using System.Globalization;
using System.Resources;
並在 Form1 的 InitializeComponent(); 前加上:
Thread.CurrentThread.CurrentCulture = new CultureInfo("");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("");
雙引號中間沒資料就是用 Default Language, 如果雙引號中間是 "zh-TW" 就是使用繁體中文如:
Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-TW");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-TW");
再從專案中 Properties下的 Settings.settings 加一個 Language 的變數如下:
Setting.settings |
把原有程式 :
Thread.CurrentThread.CurrentCulture = new CultureInfo("");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("");
修改成:
Thread.CurrentThread.CurrentCulture = new CultureInfo(Properties.Settings.Default.Language); Thread.CurrentThread.CurrentUICulture = new CultureInfo(Properties.Settings.Default.Language);
這樣只要修改Properties 中的 Language 就能改變使用的語系。
再在程式中找一處可以加入修改Properties 值得地方:
Properties.Settings.Default.Language = "zh-TW";
Properties.Settings.Default.Save();
這樣使用者就可以自己更改語系。
留言
張貼留言
請多指教