帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP编程
ASP程序界面的多语言支持
作者: 发布时间:2005-03-12 来源:
可能有的web应用程序,需要多语言支持,例如,讨论组,既有中文界面,
以适合国人使用的方便,又需要英文界面,以满足国际化的需要。我想,
似乎没有必要为每一个语言都写一个版本,这不仅比较繁琐,而且以后程
序升级就必须修改所有版本的程序。熟悉vc++程序的朋友一定知道通常
windows应用程序的国际化手段都是通过rc文件来解决的。只要重新加入
不同语言版本的rc文件编译一下就行了。
asp程序不能编译也不需编译。我于是开始考虑使用数据库,将ASP程序中
使用到的提示信息/甚至图片的URL等都放进数据库,并有不同的字段。
(1)数据库表设计
表STRINGTABLE
id int
ch_str varchar 255
jp_str varchar 255
en_str varchar 255
...................其他语言的字段

(2)inc文件STRINGTABLE.INC

const MAX_STR=100 '根据ID的最大值
const LANG_CH=1
const LANG_JP=2
const LANG_EN=3
dim strArr
dim strRS
dim strSql

if not isArray(APPLICATION("constStr")) then
strSql="select * from W_STRINGTABLE"
set strRS=conn.execute(strSql)
redim strArr(3,MAX_STR)
do while not strRS.eof
strArr(LANG_CH,clng(strRS("ID")))=strRS("CH_STR")
strArr(LANG_JP,clng(strRS("ID")))=strRS("JP_STR")
strArr(LANG_EN,clng(strRS("ID")))=strRS("EN_STR")
strRS.movenext
loop
APPLICATION.lock
APPLICATION("constStr")=strArr
APPLICATION.unlock
strRs.close
else
strArr=APPLICATION("constStr")
end if

(3)应用示例
const LANG_CH,STR_CONFIRM_OVERWRITE=1234
...
response.write strArr(LANG_CH,STR_CONFIRM_OVERWRITE)
response.write strArr(LANG_JP,STR_CONFIRM_OVERWRITE)

假设有程序user.asp
调用方式如下
user.asp?language=en (中文)
user.asp?language=ch (E文)

'-----------user.asp
dim lang
if not(isnull(request("language")) or isempty(request("language")) or (request("language")="") ) then
if request("language")="en" then
lang=LANG_EN
elseif request("language")="jp" then
lang=LANG_JP
else
lang=LANG_CH
end if
else
lang=LANG_CH
end if
'..................
response.write strArr(lang,STR_CONFIRM_OVERWRITE)

注:
通过meta tag可以设置html页面的语言代码。
<meta HTTP-EQUIV="Content-Type" content="text/html; charset=gb_2312-80"> 中文gb3212-80
<meta http-equiv</U>="Content-Type" content="text/html; charset=x-sjis"> 日文Shift-jis

来自: http://www.cn-net.net/
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·ASP程序密码验证问题 (MS,缺陷)  (2005-03-12)
 ·如何增强ASP程序性能(4)  (2005-03-12)
 ·如何增强ASP程序性能(1)  (2005-03-12)
 ·如何增强ASP程序性能(2)  (2005-03-12)
 ·如何增强ASP程序性能(3)  (2005-03-12)
 ·ASP程序密码验证漏洞  (2005-03-12)
 ·已调试好的asp程序在VB中转换为组  (2005-03-12)
 ·开发连接远程SQL Server 的ASP程  (2005-03-12)
 ·一个查看ASP的JavaScript程序,方  (2005-03-12)
 ·使用VB编写纯ASP程序  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·在ASP中使用数据库
·使用ASP脚本技术
·通过启动脚本来感受ASP的力量
·学习使用ASP对象和组件
·解析asp的脚本语言
·初看ASP-针对初学者
·ASP开发10条经验总结
·ASP之对象总结
·ASP与数据库应用(给初学者)
·关于学习ASP和编程的28个观点
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统