|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
可能有的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页面的语言代码。 中文gb3212-80 ="Content-Type" content="text/html; charset=x-sjis"> 日文Shift-jis 返回类别: 教程 上一教程: 水晶报表打印单据时增加空行或空白行的示例脚本 下一教程: STRING添加TRIM,LTRIM,RTRIM 您可以阅读与"ASP程序界面的多语言支持"相关的教程: · 基于WEB系统的多语言支持--ASP国际化多语言具体方案 · ASP实现多语言支持 · 在一个ASP页面停留的多少时间的程序 · ASP模拟 LOTUS NOTES 的界面程序 · 利用ASP程序实现将远程页面的所有内容下载到本地 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |