asp的多國語言構思

來源:互聯網
上載者:User

多語言的版本,是個蠻頭疼的問題~這個問題已經說過蠻多次了,原理簡單,編碼麻煩^_^

簡->繁的轉換是比較容易的事情,但多國化的問題一般的方法如下
語言套件肯定要有,資料庫的內容肯定也要有幾份,
語言套件可以用xml,編碼用utf-8,當然也可以動態包含inc檔案,但是邏輯上沒有xml清淅

本地化時間,貨幣等,可以用vbs裡提供的一個函數SetLocale(lcid)

擷取http的頭部得到browser的語言,從而調用不同的語言套件。

這裡樣本的是用xml做為語言套件
其實還是蠻簡單的,但是實際編碼裡會有很多節點,這裡只是提供一個思路,範例程式碼如下

<?xml version="1.0" encoding="utf-8" ?>
<lang>
<ch>
   <username>使用者名稱</username>
   <password>密碼</password>
   <btnSubmit>提交</btnSubmit>
   <btnReset>重設</btnReset>
</ch>
<en>
   <username>username</username>
   <password>password</password>
   <btnSubmit>submit</btnSubmit>
   <btnReset>reset</btnReset>
</en>
</lang>

-----------------------------
test.asp
-----------------------------
<%
function lang(langType,nodeName)
set xmlDoc=Server.CreateObject("microsoft.xmldom")
xmlDoc.load(server.mappath("lang.xml"))
lang=xmlDoc.documentElement.selectSingleNode("//" & langType & "/" & nodeName).text
end function
if request("lang")="ch" then langType="ch" else langType="en"
%>
<a href='javascript:location.href="?lang=<%if _fcksavedurl=""?lang=<%if" langType="ch" then response.Write "en" else response.Write "ch"%>"'>切換語言</a>
<table width="50%" border="0" cellspacing="0" cellpadding="0" align='center'>
<tr>
    <td><%=lang(langType,"username")%></td>
    <td><input type="text" name="textfield" /></td>
</tr>
<tr>
    <td><%=lang(langType,"password")%></td>
    <td><input type="text" name="textfield" /></td>
</tr>
<tr align="center" valign="middle">
    <td><input type="submit" name="Submit" value="<%=lang(langType,"btnSubmit")%>" /></td>
    <td><input type="reset" name="Submit" value="<%=lang(langType,"btnReset")%>" /></td>
</tr>
</table>

實際編碼中,會多出比較多的編碼,第一是為了程式的分健壯,第二是更好的重用代碼,程式碼就會多出比較多了,上面只是給出一個樣本。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.