基于WEB系统的多语言支持--ASP国际化多语言详细方案

2018-09-06 12:51

阅读:971

  文章来源:

  1.ASP部分
a.建立语言包
1.在各个子系统建立语言包目录 ,
如BBS--> language -->Simplified
--->Traditional
--->English
2 为每个ASP,js,HTC 建立语言文件,如ACMBBStopic.g ,treeview.htc.lang ,
用来存放语言全局变量。
如目录LanguageEnglish ACMBBSShow.asp.lang
PublicConstLangRollway=reverse roll
PublicConstLangInvaildUser=invaild user
PublicConstLangMailbox=mail box
PublicConstLangSysSetup=system setup
PublicConstLangACMBBS=Acer BBS
PublicConstLangBulltn=Acer bulltin
PublicConstLangPersnSetup=personal setting
PublicConstLangPublicTools=Public Tools
如目录Language Simplified ACMBBSShow.asp.lang
PublicConstLangRollway=反向滚动
PublicConstLangInvaildUser=非法用户
PublicConstLangMailbox=邮件资料夹
PublicConstLangSysSetup=系统设置
PublicConstLangACMBBS=明碁网咖
PublicConstLangBulltn=公告栏
PublicConstLangPersnSetup=个人设定
PublicConstLangPublicTools=群组工具
语言全局变量命名规则;
必须是VBscript 变量定义方式PublicConst
变量名为 :Lang + Message Descption

b.设定Global.asa
SUB Session_OnStart
Session.Contents(Language)=EngLishEngLishTraditionalSimplified
Session.Contents(StrCharset)=big5iso-8859-1big5gb2312
End Sub
c.引用语言包
1.建立 BBS--> language -->script目录, IncludeLang.vbs
2.在各个asp,js,HTC头部
<Script language=vbscript runat=server src=./Language/script/IncludeLang.vbs></Script>
<% call IncludeLangFile(acmMainPageshow.asp.lang,Session.Contents(Language))%>
3.使用思想
o将 *.lang 等语言包用Function GetFileContents 读到变量中,
o使用vbscript中EXECUTE方法在Server执行
IncludeLang.vbs 内容如下

//*********************************************************
// Purpose: open include 文件
// Inputs:strIncludeFile 路径
// Returns:All Text
//*********************************************************

Function GetFileContents(strIncludeFile)
On Error Resume Next
Dim objFSO
Dim objText
Dim strPage
Set objFSO = Server.CreateObject(Scripting.FileSystemObject)
Set objText = objFSO.OpenTextFile(Server.MapPath(strIncludeFile))
GetFileContents= objText.ReadAll
objText.Close
Set objText = Nothing
Set objFSO = Nothing
IF Err Then
Response.Write Error open this language packagefile<< strIncludeFile >>!
Response.End
END IF
End Function

//*********************************************************
// Purpose: 动态 include 文件
// Inputs:strIncludeFile 路径,语言种类
// Returns:执行变量到全局变量
//*********************************************************
Function IncludeLangFile(StrFileName,Language)
On Error Resume Next
dim StrLangPackagePath
dim StrLanguagePath
StrLanguagePath=Language
StrLangPackagePath=./Language/ StrLanguagePath / StrFileName
Execute(GetFileContents(StrLangPackagePath))
IF Err Then
Response.Write Error Include this language packagefile<< strIncludeFile >>! check the filessyntax
Response.End
END IF
End Function
2.图片部分
为带有汉字图片建立 BBS--> language -->simplified-->Image
--->traditional-->Image
&nbs


评论


亲,登录后才可以留言!