版權所有:(xiaodaoxiaodao)藍小刀 ?? xiaodaoxiaodao@gmail.com

http://m.tkk7.com/xiaodaoxiaodao/archive/2010/04/19/318701.html

轉載請注明來源/作者

?

ASP 國際化

?

在網上查了下,找不到相關的ASP國際化的東西,最近涉及到了,順便把代碼貼了出來,有需要的就拿過去用用。在ASP頁面中實現國際化 ,一般國際化的大致想法都差不多,簡單分為兩步

1.? 在第一次load頁面時加載所有的資源文件到Session

2.? 在相應的頁面中通過一個公共的方法來取得相應的資源

?

需要在ASP頁面中包含inc文件,inc中含有一些資源文件加載和讀取的方法

<!-- #include virtual="/ResourceFunctions.inc" -->

?

接下來需要調用ResourceFileLoadInSession方法,把資源文件加載到ResourceFileDictionary對象中

<%

UILanguage = "en_US"

???? call ResourceFileLoad("virtual=/Resources_" + UILanguage + ".properties")

%>

上面的UILanguage系統語言可根據需要從DB中讀取。.

?

最后,在頁面中讀取相應的資源,可通過兩種方式 對于資源文件,key/value格式類似于java中的資源

[Commons]

Commons.DispalyText =<font color='red'> 普通html文字測試</font>

?

在頁面中讀取此起源文件時,可通過兩種方法ResourceFileValue("Commons.DispalyText")

或者ResourceFileValue("Commons|Commons.DispalyText")

?

對于帶參數的token,可以通過下面方法讀取

Menus.DispalyText = 帶兩個參數的文本資源:參數{0},參數{1}

在頁面中讀?。?span lang="EN-US">

<%= ResourceFileValue(Array("Menus.DispalyText","test0","test1"))%>

?

要注意的是資源文件保存時,要保存為utf8格式,而且必須為utf8 without BOM(editplus中另存時,SaveAs的選項中有,utf8utf BOM兩種,保存為前者)

?

ASP 國際化項目代碼下載地址:

ASP國際化代碼

?

版權所有:(xiaodaoxiaodao)藍小刀 ?? xiaodaoxiaodao@gmail.com