当前位置: 首页 > 图文教程 > 网络编程 > ASP > 基于WEB系统的多语言支持--ASP国际化多语言详细方案

ASP
利用ASP输出excel文件一例
asp中使用js的encodeURIComponent
ASP动态网站制作中使用MYSQL的分析
如何编写通用的ASP防SQL注入攻击程序
ASP脚本变量、函数、过程和条件语句
ASP内建对象Application和Session
ASP基础教程:常用的 ASP ActiveX 组件
ASP程序漏洞解析及黑客入侵防范方法
ASP访问带多个参数的存储过程
用ASP和SQL语句动态的创建Access表
ASP初学者学习ASP指令
ASP开发中有用的函数(function)集合(1)
ASP开发中有用的函数(function)集合(2)
ASP开发中有用的函数(function)集合(3)
ASP网站程序自动升级实现的方法
ASP开发中的(VBScript)类基础学习
ASP代码:防止重复多次提交表单的方法
在ASP中使用类,实现模块化
ASP基础教程之学习ASP中子程序的应用
ASP技巧:ASP中三个常用语句的使用技巧

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 145 ::
收藏到网摘: n/a

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="/upload/tech/20091103/20091103093423_cedebb6e872f539bef8c3f919874e9d7.gif">


3.COM部分
使用resource file 控制语言版本,由系统自动判断语言版本

注意: resource file 简体字码必须在简体机器输入,繁体字码必须在繁体机器输入


4.其他

多语言版本参考规则﹕
1.英文翻译长度尽量与汉语长度相当。
2.要符合各个版本的语言习惯。
3.英文版中Title ,text标签文本﹐按钮文本﹐select option 中英文单词 首字母大写,但
介词﹐连词 ,冠词 使用小写。
4. 英文版中缩写全部使用大写。
5. 英文版中check ,radio ,英文首字母大写.
6. 英文版中状态信息使用小写。

评论 (0) All

登陆 还没注册?