你的位置: 首页 > HTML5网站开发 > 正文
多语种网站设计及实现思路
作者:漫游   分类: HTML5网站开发    时间:2012-2-24 10:27   热度:5517°   字号:        评论:0 
作者:漫游   分类: HTML5网站开发    时间:2012-2-24 10:27   热度:5517°  评论:0 条 

以ASP网站为例,以中文、英文、日文3种语言为例。本文只论思路及示例实现,具体代码自行编写补充。

数据库设计时,可以用一个比较笨的办法,即文字字段,有几个语种就加几个字段。例如新闻标题和内容,title0和content0是中文的标题和内容,title1和content1是英文的标题和内容,title2和content2是日文的标题和内容,如此类推。

后台管理中,先设置一个变量,如:
<%
const langStr = "中文|English|日本語"
langTitle = split(langStr    ,"|")'语言项
lang = ubound(langTitle)    '语言种类数,0为1种,1为2种
%>

这样就可以用循环的方法来修改同一记录,例如:
<%
content0 = rs("content0")
content0 = rs("content0")
content0 = rs("content0")

for temp = 0 to lang
%>
   <input name="title<%=temp%>" type="text" value="<%=rs("title"&temp)%>">
   <textarea id="content<%=temp%>" name="content<%=temp%>">
   <%=rs("content"&temp)%>
   </textarea>
<%
next
%>

前台处理,也有同样的一个变量lang来判别当前是哪个语种,可以据此来调用相应数据库的字段。
可以先做好中文版的程序,连同中文版单独使用的图片等媒体都放在/cn/文件夹下,调整好了后就复制到/en/和/jp/,共用文件夹放根目录下如/inc和/images,顺利的话访问各个语种目录都能自动读取对应语种的数据了。
如果使用url重写的话,程序文件只需要放在一个地方,不必复制多份,更方便维护了。重写规则只要有几个语种就复制几次,如:
RewriteRule /cn/index.html$ /code/index\.asp
RewriteRule /en/index.html$ /code/index\.asp
RewriteRule /jp/index.html$ /code/index\.asp

<%
realpath = LCase( Request.ServerVariables( "PATH_INFO" ) )    '实际路径
showpath = LCase( Request.ServerVariables( "HTTP_X_REWRITE_URL" ) )    '重写出来的路径
'有重写url的话使用showpath变量进行判别,没有则使用realpath。
if instr(showpath,"/en/")>0 then
    lang=1
elseif instr(showpath,"/jp/")>0 then
    lang=2
else
    lang=0
end if

rs.open "select top 1 content" & lang & " as content, title" & lang & " as title where ....",conn,1,1
response.write rs("title")
%>

瞧瞧上一篇文章去!   瞧瞧下一篇文章去!
本文标签: 网站
二维码加载中...
本文作者:漫游      文章标题: 多语种网站设计及实现思路
本文地址:http://www.roammemo.com/html5/58.html
版权声明:若无注明,本文皆为“漫游的备忘录”原创,转载请保留文章出处。
返回顶部    首页    手机版本   
版权所有:漫游的备忘录    站长: 漫游    模板基于:博闻广记 v1.2   程序:emlog