多語言的版本,是個蠻頭疼的問題~這個問題已經說過蠻多次了,原理簡單,編碼麻煩^_^
簡->繁的轉換是比較容易的事情,但多國化的問題一般的方法如下
語言套件肯定要有,資料庫的內容肯定也要有幾份,
語言套件可以用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>
實際編碼中,會多出比較多的編碼,第一是為了程式的分健壯,第二是更好的重用代碼,程式碼就會多出比較多了,上面只是給出一個樣本。