如何使用JavaScript实现多语言处理

JavaScript010

如何使用JavaScript实现多语言处理,第1张

如何使用JavaScript实现多语言处理?

很多时候需要用到多语言技术,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

%>