a.建立语言包
1.在各个子系统建立"语言包"目录,
如BBS-->language-->Simplified
--->Traditional
--->English
2为每个ASP,js,HTC建立语言文件,如ACMBBStopic.asp.lang,treeview.htc.lang,
用来存放语言全局变量。
如目录Language\English\ACMBBSShow.asp.lang
PublicConstLangRollway="reverseroll"
PublicConstLangInvaildUser="invailduser"
PublicConstLangMailbox="mailbox"
PublicConstLangSysSetup="systemsetup"
PublicConstLangACMBBS="AcerBBS"
PublicConstLangBulltn="Acerbulltin"
PublicConstLangPersnSetup="personalsetting"
PublicConstLangPublicTools="PublicTools"
如目录Language\Simplified\ACMBBSShow.asp.lang
PublicConstLangRollway="反向滚动"
PublicConstLangInvaildUser="非法用户"
PublicConstLangMailbox="邮件资料夹"
PublicConstLangSysSetup="系统设置"
PublicConstLangACMBBS="明碁网咖"
PublicConstLangBulltn="公告栏"
PublicConstLangPersnSetup="个人设定"
PublicConstLangPublicTools="群组工具"
语言全局变量命名规则;
必须是VBscript变量定义方式PublicConst
变量名为:"Lang" MessageDescption
b.设定Global.asa
SUBSession_OnStart
Session.CODEPAGE="1252"'1252En'950繁体'936简体
Session.Contents("Language")="EngLish"'EngLish'Traditional'Simplified
Session.Contents("StrCharset")="big5"'iso-8859-1'big5'gb2312
EndSub
c.引用语言包
1.建立BBS-->language-->script目录,IncludeLang.vbs
2.在各个asp,js,HTC头部
<Scriptlanguage=vbscriptrunat="server"src="./Language/script/IncludeLang.vbs"></Script>
<callIncludeLangFile("acmMainPageshow.asp.lang",Session.Contents("Language"))>
3.使用思想
o将*.lang等语言包用FunctionGetFileContents读到变量中,
o使用vbscript中EXECUTE方法在Server执行
IncludeLang.vbs内容如下
'//'*********************************************************
'//'Purpose:openinclude文件
'//'Inputs:strIncludeFile路径
'//'Returns:AllText
'//'*********************************************************
FunctionGetFileContents(strIncludeFile)
OnErrorResumeNext
DimobjFSO
DimobjText
DimstrPage
SetobjFSO=Server.CreateObject("Scripting.FileSystemObject")
SetobjText=objFSO.OpenTextFile(Server.MapPath(strIncludeFile))
GetFileContents=objText.ReadAll
objText.Close
SetobjText=Nothing
SetobjFSO=Nothing
IFErrThen
Response.Write"Erroropenthislanguagepackagefile<<"&strIncludeFile&">>!"
Response.End
ENDIF
EndFunction
'//'*********************************************************
'//'Purpose:动态include文件
'//'Inputs:strIncludeFile路径,语言种类
'//'Returns:执行变量到全局变量
'//'*********************************************************
FunctionIncludeLangFile(StrFileName,Language)
OnErrorResumeNext
dimStrLangPackagePath
dimStrLanguagePath
StrLanguagePath=Language
StrLangPackagePath="./Language/"&StrLanguagePath&"/"&StrFileName
Execute(GetFileContents(StrLangPackagePath))
IFErrThen
Response.Write"ErrorIncludethislanguagepackagefile<<"&strIncludeFile&">>!checkthefile'ssyntax"
Response.End
ENDIF
EndFunction
2.图片部分
为带有汉字图片建立BBS-->language-->simplified-->Image
--->traditional-->Image
--->English-->Image
动态Include
<imgsrc="language/Session.Contents("Language"))/image/AAA.gif">
3.COM部分
使用resourcefile控制语言版本,由系统自动判断语言版本
注意:resourcefile简体字码必须在简体机器输入,繁体字码必须在繁体机器输入
4.其他
多语言版本参考规则﹕
1.英文翻译长度尽量与汉语长度相当。
2.要符合各个版本的语言习惯。
3.英文版中Title,text标签文本﹐按钮文本﹐selectoption中英文单词首字母大写,但
介词﹐连词,冠词使用小写。
4.英文版中缩写全部使用大写。
5.英文版中check,radio,英文首字母大写.
6.英文版中状态信息使用小写。

RSS订阅







