需求:我們的asp.net站點需要提供多語言支持,考慮到我們使用的是asp.net2.0,我們可以利用資源文件來實現。
note:這里我們使用編程的方法實現,使用其他方法,請參見:
http://msdn2.microsoft.com/en-us/library/c6zyy3s9.aspx
接下來我們演示一個簡單的例子
steps:
step1:在visual studio2005中創建一個asp.net站點
step2:在網站項目中添加app_globalresources
note:這里我們使用全局資源文件作為演示,本地資源文件操作步驟類似,關于全局資源文件與本地資源文件的異同,請參見
http://msdn2.microsoft.com/en-us/library/ms227427.aspx
中choosing between global and local resource files這一段
step3:在app_globalresources中添加項,選擇resource file模板,取名為site.resx
note:這是我們的默認語言資源文件,必須要有
在這個資源文件的鍵/值配對中寫入:
name : btnsubmittext
value: submit
step4:增加我們需要的各種語言的資源文件,這里我們增加兩個文件
site.zh-cn.resx
在這個資源文件的鍵/值配對中寫入:
name : btnsubmittext
value: 確定
site.en-us.resx
在這個資源文件的鍵/值配對中寫入:
name : btnsubmittext
value: submit
note:這里給資源文件取名的時候,需要按照如下格式:
[class]. [culture name].resx
比如說site.zh-cn.resx
關于culture name請參見msdn中cultureinfo類中的remarks部分
step5:在我們的default頁面中添加一個button控件,id為btnsubmit
step6:在我們的default頁面中添加兩個button控件,id為btnchinese,btnenglish,text為中文,english
在btnchinese的click事件方法中,添加代碼:
thread.currentthread.currentuiculture = new cultureinfo("zh-cn");
btnsubmit.text = resources.site.btnsubmittext;
在btnenglish的click事件方法中,添加代碼:
thread.currentthread.currentuiculture = new cultureinfo("en-us");
btnsubmit.text = resources.site.btnsubmittext;
note:如果我們不在代碼里指定當前線程的currentuiculture,那么程序就會根據瀏覽器中的設置進行判斷,你可以在ie中的語言設置中進行默認設置。
ok, 我們可以運行了。
uat就讓大家來做吧,呵呵。不出所料,一切都如我們所預料的運行。
by the way, 最近發的幾篇文章難度都不是很高,其實重要的是告訴大家一種可以選擇的方法,或是大家都不是很注意的一些知識點, 引導大家如果有需要繼續去發掘,msdn里有的內容,我就簡要介紹或者直接給出鏈接,那樣就不會顯得文章龐大臃腫,讓大家集中注意力在某一些點上。enjoy it j
ps:歡迎大家加我的msn或者qq討論.net 2.0(主要是c#2.0跟asp.net2.0吧)跟.net3.0,發現我加入的幾個qq群都還挺少有人討論這兩個版本的內容的。還有一些朋友問我的很多問題,其實通過查找msdn都可以找到答案跟示例,所以我的建議是,首先通過自己查找資料尋找解決方案。還有一些朋友直接向我要源碼,或者說讓我做一個msdn示例里已經有代碼的演示project,那我的建議是,你還是自己先去嘗試著做吧,我做好給你,你再看肯定沒有你自己做一邊效果來的好。
,歡迎訪問網頁設計愛好者web開發。
|
新聞熱點
疑難解答