1.ASP部分 a.建立语言包 1.在各个子系统建立"语言包"目录 , 如BBS--> language -->Simplified --->Traditional --->English 2 为每个ASP,js,HTC 建立语言文件,如ACMBBStopic.asp.lang ,treeview.htc.lang , 用来存放语言全局变量。 如目录Language\English\ ACMBBSShow.asp.lang Public Const LangRollway="reverse roll" Public Const LangInvaildUser="invaild user" Public Const LangMailbox="mail box" Public Const LangSysSetup="system setup" Public Const LangACMBBS="Acer BBS" Public Const LangBulltn="Acer bulltin" Public Const LangPersnSetup="personal setting" Public Const LangPublicTools="Public Tools" 如目录Language\ Simplified \ ACMBBSShow.asp.lang Public Const LangRollway="反向滚动" Public Const LangInvaildUser="非法用户" Public Const LangMailbox="邮件资料夹" Public Const LangSysSetup="系统设置" Public Const LangACMBBS="明碁网咖" Public Const LangBulltn="公告栏" Public Const LangPersnSetup="个人设定" Public Const LangPublicTools="群组工具" 语言全局变量命名规则; 必须是VBscript 变量定义方式 Public Const 变量名为 : "Lang" + Message Descption
b. 设定Global.asa SUB Session_OnStart Session.CODEPAGE="1252" '1252En '950繁体 '936简体 Session.Contents("Language")="EngLish" 'EngLish 'Traditional 'Simplified Session.Contents("StrCharset")="big5" 'iso-8859-1 'big5 'gb2312 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 package file<<" & 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 package file<<" & strIncludeFile & ">>! check the file's syntax" Response.End END IF End Function 2.图片部分 为带有汉字图片建立 BBS--> language -->simplified-->Image --->traditional-->Image --->English -->Image 动态Include <img src="language/Session.Contents("Language"))/image/AAA.gif"> 3.COM部分 使用resource file 控制语言版本,由系统自动判断语言版本
注意: resource file 简体字码必须在简体机器输入,繁体字码必须在繁体机器输入 4.其他
多语言版本参考规则﹕ 1.英文翻译长度尽量与汉语长度相当。 2.要符合各个版本的语言习惯。 3.英文版中Title ,text标签文本﹐按钮文本﹐select option 中英文单词 首字母大写,但 介词﹐连词 ,冠词 使用小写。 4. 英文版中缩写全部使用大写。 5. 英文版中check ,radio ,英文首字母大写. 6. 英文版中状态信息使用小写。
|