很多时候需要用到多语言技术,JavaScript里面也是非常普遍的,比如日历插件的中文版本、英文版本。
JavaScript中实现多语言思路
最直接的一种就是将需要翻译的语言做成参数,每个参数组成的集合做成一个文件,然后再程序里面调用这个文件中的参数即可。
JavaScript语言包具体实现
在以上思路指导下,可以利用下面的办法实现。
直观的是把每个需要翻译的处理成变量,变量值组成的集合统一为一个文件,比如zh-cn.js / en.js等。
变量声明简单的如下所示:
var lang_a="copy"
var lang_b="复制"
还有一种做法,是将以上数据放在Jason数据中,然后利用eval函数解析和读取。这个有很多的好处,目前绝大多数的JavaScript语言包都是利用这种方式进行处理的。
通常做法是制作语言文件,配置语言参数,语言文件格式可以是 xml. 或者 是 json 或者 其他的格式...
例如:
cn : {title: '标题',info:'内容'},
en: {title: 'title',info:'info'},
然后通过参数调用相应的语言文字
lang : 'cn '或者 lang : 'en '
调用: lang.title
大概是这么个流程
HTML/JavaScript<script language="javascript">
document.write(document.defaultCharset)
</script>
ASP
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Option Explicit
Function GetBrowserDefaultLang()
Dim aLang,aLangArray
Dim LangName
aLang=Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
aLangArray=Split(aLang, ",")
If UBound(aLangArray) >-1 Then
Select Case aLangArray(0)
Case "zh-cn"
LangName = "简体中文(中华人民共和国)"
Case "en-us"
LangName = "English(United States)"
Case Else
LangName = "Other Language"
End Select
Else
LangName = "没有发现浏览器的接受语言,将使用网站默认语言"
End If
GetBrowserDefaultLang = LangName
End Function
Response.Write GetBrowserDefaultLang
%>