叶子谷- 网页教程

RSS订阅 站长资讯通告:
搜索: 您现在的位置: 叶子谷 >> 技术学习 >> Asp ※ Php >> 正文

基于WEB系统的多语言支持--ASP国际化多语言详细方案_动网_社区论坛·开发者网络源动力

2008-06-10 13:50:46 来源:网络 作者:佚名 【 点击:
1.ASP部分
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.英文版中状态信息使用小写。

  

Tags: 标签SY_关键字  
责任编辑:cptedu
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】   
    姓 名: * Oicq:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    设为首页 -加入收藏 - 联系我们 - 友情链接 - 版权声明 - 管理登陆