日韩欧美人妻无码精品白浆,www.大香蕉久久网,狠狠的日狠狠的操,日本好好热在线观看

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

ASP實(shí)現(xiàn)多語(yǔ)言支持

admin
2010年7月8日 1:2 本文熱度 6981
[p]綱要:[br]讓我們?cè)O(shè)想你使用activeserverpages設(shè)計(jì)了一個(gè)成功的站點(diǎn),而你的客戶紛紛要求將此站點(diǎn)國(guó)際化以提供多種語(yǔ)言版本。這時(shí)候你該怎么辦?請(qǐng)看本文。[/p] [p]正文:[br]   一、介紹[/p] [p]  讓我們?cè)O(shè)想你使用activeserverpages設(shè)計(jì)了一個(gè)成功的站點(diǎn),而你的客戶紛紛要求將此站點(diǎn)國(guó)際化以提供多種語(yǔ)言版本。該問(wèn)題的關(guān)鍵在于,你必須使用某種方法實(shí)現(xiàn)快速的頁(yè)面內(nèi)容轉(zhuǎn)換??梢詫⒋藛?wèn)題看成是從數(shù)據(jù)庫(kù)提取適當(dāng)數(shù)據(jù)并用asp動(dòng)態(tài)顯示。在本文中我們將討論如何使用activeserverpages的字典對(duì)象以及一個(gè)后臺(tái)數(shù)據(jù)庫(kù)實(shí)現(xiàn)國(guó)際化支持。[/p] [p]  具體實(shí)現(xiàn)過(guò)程分以下三個(gè)步驟:[br]   ◇設(shè)計(jì)數(shù)據(jù)庫(kù)并存儲(chǔ)文本和文件路徑。[br]   ◇從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)到字典對(duì)象。[br]   ◇在asp頁(yè)面引用文本和文件路徑。[/p] [p]  二、步驟1-設(shè)計(jì)數(shù)據(jù)庫(kù)并存儲(chǔ)文本和文件路徑[/p] [p]  我們需要在數(shù)據(jù)庫(kù)設(shè)計(jì)上花些時(shí)間。使用此數(shù)據(jù)庫(kù),我們希望能夠把所有要用到的文本和圖片適當(dāng)編目,并且這些文本和圖片不能重復(fù);如果要在應(yīng)用中把“是”改成“確定”,希望只在一個(gè)地方作改動(dòng);web維護(hù)者在更改內(nèi)容時(shí)應(yīng)能夠快速找到目標(biāo)文本?;谝陨弦?,讓我們開(kāi)始設(shè)計(jì)數(shù)據(jù)庫(kù)。[/p] [p]  首先創(chuàng)建兩個(gè)表來(lái)放置文本。其中一個(gè)表為commonstrings,用于存放在整個(gè)站點(diǎn)重復(fù)使用的單詞和短語(yǔ)。另外一個(gè)表為specializedstrings,用于存放只在特定頁(yè)面使用的單詞和短語(yǔ)。把公用和限于特定頁(yè)面使用的文本分別存放有利于簡(jiǎn)化站點(diǎn)維護(hù)。[/p] [p]  兩個(gè)表都使用stringkey字段來(lái)標(biāo)記紀(jì)錄,使用stringlanguage來(lái)說(shuō)明所用語(yǔ)言,聯(lián)合stringkey和stringlanguage創(chuàng)建一個(gè)主鍵。字段stringholder用來(lái)保存單詞、短語(yǔ)或語(yǔ)句。這個(gè)字段必須創(chuàng)建唯一索引以保證不會(huì)輸入重復(fù)的單詞、短語(yǔ)或語(yǔ)句。[/p] [p]  對(duì)于specializedstrings表,還需要一個(gè)額外的字段asppage來(lái)標(biāo)記文本所在的asp頁(yè)面。[/p] [p]  對(duì)于圖片文件,我們可以使用相同的步驟創(chuàng)建表來(lái)存儲(chǔ)指向這些文件的路徑。只需要在commonimage表和specializedimage表中用filename字段替換對(duì)應(yīng)的stringholder就可以了。[/p] [p]  在新創(chuàng)建的表中裝入數(shù)據(jù)時(shí),stringkey的內(nèi)容應(yīng)該給站點(diǎn)維護(hù)者盡可能多的提示以表明頁(yè)面上將顯示的文本。例如,對(duì)于一個(gè)在線銷售站點(diǎn)來(lái)說(shuō)有關(guān)拒絕承諾的聲明語(yǔ)句使用orderdisclaimer是一個(gè)不錯(cuò)的選擇,站點(diǎn)維護(hù)者由此可以非常清楚地了解使用該記錄將在web頁(yè)面上顯示的內(nèi)容。[/p] [p]  把那些公用的單詞和短語(yǔ)放在commonstrings表。這樣,維護(hù)者就知道如果他們修改commonstrings表中的一個(gè)記錄,將影響到站點(diǎn)內(nèi)的許多頁(yè)面。[/p] [p]  對(duì)于大的站點(diǎn),可以設(shè)計(jì)一個(gè)易于使用的界面來(lái)輸入和修改數(shù)據(jù)庫(kù)中的文本。準(zhǔn)備這些資料是一項(xiàng)冗長(zhǎng)乏味的任務(wù),越簡(jiǎn)單就越少出錯(cuò)。[/p] [p]  三、步驟2-從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)到字典對(duì)象[/p] [p]  字典對(duì)象(dictionaryobject)是一個(gè)多用途的服務(wù)器端對(duì)象,它相當(dāng)于二維數(shù)組,保存了鍵以及與鍵相關(guān)聯(lián)的數(shù)據(jù)。提取數(shù)據(jù)的唯一途徑在于取得鍵值或索引。可以把字典對(duì)象的作用范圍配置為整個(gè)應(yīng)用范圍或?qū)υ挿秶?,而不必?fù)?dān)心損失性能。賦予應(yīng)用層作用范圍意味著對(duì)象只被實(shí)例化一次,且所有會(huì)話均使用同一個(gè)字典對(duì)象。以下代碼創(chuàng)建兩個(gè)字典對(duì)象實(shí)例,分別和兩個(gè)文本表關(guān)聯(lián)。記住,我們希望對(duì)象只被初始化一次,所以把這些代碼放在application_onstart事件中:[/p] [p][br]subapplication_onstart()[br]dimdictcommonstrings[br]dimdictspecializedstrings[/p] [p]dimconn[br]dimrscommonstrings[br]dimrsspecializedstrings[/p] [p]setdictcommonstrings=server.createobject("scripting.dictionary")[br]setdictspecializedstrings=server.createobject("scripting.dictionary")[/p] [p]  接下來(lái)的任務(wù)是把數(shù)據(jù)裝入字典對(duì)象。我們將遍歷表,連接stringkey和stringlanguage,并把連接后的值作為字典的鍵值,把stringholder放在對(duì)應(yīng)的字典數(shù)據(jù)區(qū)。由此我們獲得了使用數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)的彈性,并避免了持久的數(shù)據(jù)庫(kù)連接而導(dǎo)致的性能影響。事實(shí)上,數(shù)據(jù)庫(kù)只在應(yīng)用啟動(dòng)時(shí)被訪問(wèn)一次,其后asp頁(yè)面將從速度更快的字典對(duì)象讀取所需數(shù)據(jù)。[/p] [p]'建立數(shù)據(jù)庫(kù)連接[br]setconn=server.createobject("adodb.connection")
[br]conn.connectionstring="someconnectionstring"
[br]conn.open[/p] [p]'打開(kāi)commonstrings表,遍歷所有記錄并裝入數(shù)據(jù)[br]setrscommonstrings=conn.execute("selectstringkey,stringholderfromcommonstrings")[br]dountilrscommonstrings.eof[br]dictcommonstrings.addrscommonstrings("stringlanguage")&rscommonstrings("stringkey")_[br],rscommonstrings("stringholder")[br]rscommonstrings.movenext[br]loop[/p] [p]'打開(kāi)specializedstrings表,遍歷所有記錄并裝入數(shù)據(jù)[br]setrsspecializedstrings=conn.execute("selectstringkey,stringholderfromspecializedstrings")[br]dountilrsspecializedstrings.eof[br]dictspecializedstrings.addrsspecializedstrings("stringlanguage")&_[br]rsspecializedstrings("stringkey"),rsspecializedstrings("stringholder")[br]rsspecializedstrings.movenext[br]loop[/p] [p]rsspecializedstrings.close[br]rscommonstrings.close[br]conn.close[br]setrsspecializedstrings=nothing[br]setrscommonstrings=nothing[br]setconn=nothing[br]endsub[/p] [p][/p] [p]  四、步驟3-在asp頁(yè)面引用文本和文件路徑[/p] [p]  接下來(lái)的工作是在asp頁(yè)面引用已經(jīng)實(shí)例化的字典對(duì)象中的文本(以及文件路徑)。首先我們需要知道當(dāng)前用戶所使用的語(yǔ)言,其中一個(gè)辦法是從request.server.variables取得該值。請(qǐng)把下列代碼放入session_onstart事件處理過(guò)程:[/p] [p][br][br]subsession_onstart()[br]session("lang")=request.server.variables("http_accept_language")[br]endsub[br][/p] [p] 通過(guò)鍵值可以從字典對(duì)象取得對(duì)應(yīng)的文本(或圖片文件路徑),鍵值由語(yǔ)言前綴加名字組成。以下為示例代碼:[br][br][br]

<%=dictspecializedstrings.item(session("lang")&"confirmation")%>

[br]


[br][br]
<%=dictspecializedstrings.item(session("lang")&"orderdisclaimer")%>
[br]

[br][/p] [p]  對(duì)于中文瀏覽器,該頁(yè)面的提示類如:[br]   感謝您的購(gòu)買。請(qǐng)進(jìn)入下一頁(yè)付款。[br]   而對(duì)于一個(gè)缺省語(yǔ)言為英文的的瀏覽器,則提示為:[br]thankyouforyourorder.continuetothenextpagetomakeyourpayment.[/p] [p]  根據(jù)我的經(jīng)驗(yàn),從字典對(duì)象引用文本(以及圖片路徑)和直接在asp代碼中輸入數(shù)據(jù)相比,沒(méi)有性能上的不利影響。這是由于文本(和圖片路徑)字典被放在內(nèi)存中,因而可以快速地提取。[/p] [p]  五、討論[/p] [p]  當(dāng)然,實(shí)現(xiàn)多語(yǔ)言支持還有其它的因素需要考慮。使站點(diǎn)內(nèi)容的變化和應(yīng)用開(kāi)發(fā)者隔離是本文試圖說(shuō)明的實(shí)質(zhì)內(nèi)容。本方案不僅對(duì)于實(shí)現(xiàn)站點(diǎn)內(nèi)容國(guó)際化非常有用,而且對(duì)于站點(diǎn)內(nèi)容頻繁改變而布局基本不變的情形,本方案同樣能起作用。后臺(tái)數(shù)據(jù)庫(kù)、集合對(duì)象(字典對(duì)象)以及asp技術(shù)提供了一個(gè)極好的方案來(lái)實(shí)現(xiàn)站點(diǎn)內(nèi)容從源語(yǔ)言到其它語(yǔ)言的擴(kuò)展。[/p]

該文章在 2010/7/8 1:02:35 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

午夜久久福利电影网| 中日韩一级黄色片| 亚洲久久AV不卡| 男人桶女人屁股视频| 日韩av黄片精品| 综合一区二区中文| 爆乳女教师一区二区三| 黄色浏览日韩| 四本熟女久久| 婷婷五月 国产一区| 亚洲高清在线国产无码| 九九九黄色电影网| 加勒比中文无码久久综合| 亚洲九一成人精品| free caoporn| 亚洲精品女同中文av不卡| 九九日韩欧美| 日韩嘿咻真人| 欧美人妖視频二区| 日韩欧美99ww| 不卡一区12| 精品一区二区97| 665566日韩精品| 日韩欧美国产一卡一| 国产一区 偷拍自拍| 亚卅一区二区视频| 超碰碰干熟女系列| 天天操天天爽天天日本| 国产熟妇bbwbbwbbw| 美女大波三级在线播放| 欧美啄木鸟系列精品一区| 性久久91熟妇| silk110中文字幕一区二区| 欧美持黄大片| 九一国产麻豆 品一区二区| 亚洲欧美视频一区| 国产JJIZZ女人老师多水免费| 视频黄片全套| 男人欧洲天堂AV| 大鸡爸操小逼| 欧美亚洲天堂成人|