如何建设一个多语言版的ASP网站?

来源:asp之家 时间:2009-11-26 20:36:00 

 

<ScriptRUNAT=SERVERLanguage=VBScript>
SubApplication_OnStart()
DimDictCommonStrings
DimDictSpecializedStrings
DimConn
DimrsCommonStrings
DimrsSpecializedStrings
SetDictCommonStrings=Server.CreateObject("Scripting.Dictionary")
SetDictSpecializedStrings=Server.CreateObject("Scripting.Dictionary")

接下来,我们把数据装入字典对象。通过遍历表,连接StringKey和StringLanguage,并把连接后的值作为字典的键值,来把StringHolder放在对应的字典数据区。实际中,数据库只在应用启动时被访问一次,其后ASP页面将从速度更快的字典对象读取所需数据:

SetConn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="SomeConnectionString"
Conn.open
' 连接数据库
SetrsCommonStrings=Conn.Execute("SelectStringKey,StringHolderfromCommonStrings")
DountilrsCommonStrings.EOF
DictCommonStrings.AddrsCommonStrings("StringLanguage")&rsCommonStrings("StringKey")_
,rsCommonStrings("StringHolder")
rsCommonStrings.MoveNext
' 打开CommonStrings表,遍历所有记录并装入数据
Loop
SetrsSpecializedStrings=Conn.Execute("SelectStringKey,StringHolderfromSpecializedStrings")
DountilrsSpecializedStrings.EOF
DictSpecializedStrings.AddrsSpecializedStrings("StringLanguage")&_
rsSpecializedStrings("StringKey"),rsSpecializedStrings("StringHolder")
rsSpecializedStrings.MoveNext
' 打开SpecializedStrings表,遍历所有记录并装入数据
Loop
rsSpecializedStrings.Close
rsCommonStrings.Close
Conn.Close
SetrsSpecializedStrings=Nothing
SetrsCommonStrings=Nothing
SetConn=Nothing
EndSub
</Script>

 再次,我们就要在ASP页面引用文本和文件路径了。做好了前期工作,现在我们要在ASP页面引用已经实例化的字典对象中的文本以及文件路径。

1、我们需要需要获知当前用户使用的是何种语言(忙了半天,不就是为了这个嘛)。获知对方使用何种语言的方法有好几种,我们用的是从Request.Server.Variables取得该值的办法,把下列代码放入Session_Onstart事件处理过程:

<ScriptLanguage=VBScript>
SubSession_OnStart()
Session("Lang")=Request.Server.Variables("HTTP_ACCEPT_LANGUAGE")
EndSub
</Script>

2、再通过键值从字典对象取得对应的文本或图片文件路径。键值由语言前缀加名字组成,代码示例:

<HTML>
<PAlign=center>
<h1><%=DictSpecializedStrings.Item(Session("Lang")&"Confirmation")%></h1>
</P>
<PAlign=center>
<h5><%=DictSpecializedStrings.Item(Session("Lang")&"OrderDisclaimer")%></h5>
</P>
</HTML>

都做好了。

中文版浏览器:欢迎光临asp之家!

英文版浏览器:Welcome to Aspxhome.com!

标签:语言,asp,网站,字典对象,英文
0
投稿

猜你喜欢

  • 使用python的chardet库获得文件编码并修改编码

    2022-02-23 18:22:35
  • pytorch K折交叉验证过程说明及实现方式

    2021-01-11 16:05:08
  • 五种方法解决 Web2.0设计中的匹配度

    2007-09-22 10:58:00
  • PyCharm更改字体和界面样式的方法步骤

    2021-12-24 09:15:25
  • 解决pip install报错:Cannot connect to proxy问题

    2021-05-01 01:14:11
  • Python函数装饰器实现方法详解

    2023-08-10 12:33:16
  • Python3.5 Pandas模块之Series用法实例分析

    2022-07-23 16:19:09
  • Python爬虫爬取ts碎片视频+验证码登录功能

    2023-03-23 01:39:23
  • Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)

    2021-12-24 13:28:27
  • Vuex模块化实现待办事项的状态管理

    2024-04-27 15:59:55
  • 基于pdf2docx模块Python实现批量将PDF转Word文档的完整代码教程

    2022-06-24 15:55:02
  • Mysql中的Btree与Hash索引比较

    2024-01-16 12:56:49
  • 详解python __init__.py 和 __all__作用

    2023-08-22 06:55:22
  • 微信 java 实现js-sdk 图片上传下载完整流程

    2024-04-29 14:08:03
  • 解决mysql不能插入中文Incorrect string value

    2009-07-30 09:02:00
  • python 使用cycle构造无限循环迭代器

    2022-08-19 13:09:10
  • javascript基于prototype实现类似OOP继承的方法

    2024-05-02 16:29:15
  • python安装dlib库报错问题及解决方法

    2023-01-27 16:24:41
  • 一个非常简单好用的Python图形界面库(PysimpleGUI)

    2022-12-25 08:17:09
  • Windows中安装使用Virtualenv来创建独立Python环境

    2023-10-21 19:44:52
  • asp之家 网络编程 m.aspxhome.com