程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 編程使用資源文件實現多語言頁面(In Action)

編程使用資源文件實現多語言頁面(In Action)

編輯:.NET實例教程


需求:我們的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,那我的建議是,你還是自己先去嘗試著做吧,我做好給你,你再看肯定沒有你自己做一邊效果來的好。

http://www.cnblogs.com/wdxinren/archive/2006/09/07/497686.Html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved