频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

14.4 可级联调用轻量级JSON-RPC框架在网站多语言智能转换中的应用

作者: 夏天 出处:电子工业出版社博文视点  2008-04-11 09:59    砖    好    评论   进入论坛
阅读提示:《JavaScript高级应用与实践》第14章重点讲了支持级联调用的JSON-RPC for Java轻量级框架的实现及应用,本节主要讲了可级联调用轻量级JSON-RPC框架在网站多语言智能转换中的应。

14.4 可级联调用轻量级JSON-RPC框架在网站多语言智能转换中的应用

在本书8.9节中我们已经描述了如何通过AJAX和Servlet调用goole的translate多语言翻译服务,然而那局限于框架型的实现,离易于使用和应用还有一定的距离。本节将结合JSON-RPC实现一个网站应用级的多语言转换应用框架。它的特点是:对同样的文本翻译只执行一次,并在Web服务器中进行cache,以便提高多客户端的相同并发翻译请求速度;同一页面的每种语言翻译只请求一次,并进行浏览器级缓存,以便提高多语言的切换速度,从而也降低Web服务器的负担,减少网络流量。我们已经在14.1节中进行了JSON Java的翻译服务器程序配置:myTrs:jcore.jsonrpc.test.A,其中A.java中使用的jcore.google.api.translate.Translate请读者参考第8章8.9节,下面请看A.java的实现:

    package jcore.jsonrpc.test;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import jcore.google.api.translate.Translate;
/***
* JSON-RPC翻译服务对象
* @author 夏天
*
*/
public class A implements Serializable
{
private HttpServletRequest request = null;
private static final long serialVersionUID = -5362330504532103641L;
// 用static单实例模式,以便多Web用户共享已经翻译过的字符串的cache
private static A _this = new A();
private static A getInstance()
{
return _this;
}
 public A(){}

public A setRequest(HttpServletRequest r)
{
this.request = r;
return this;
}

// 翻译的cache
private Map map = new HashMap();

/***
* JRPC中翻译语言的支持,如果翻译过程中出现网络错误就返回原文本
* @param szStr 待翻译的文本
* @param from  待翻译的文本的语言
* @param to    将要翻译的语言
* @return
*/
public String Translate(String szStr, String from, String to)
{
try {
A oA = getInstance();
Map m = oA.getMap();
synchronized(m)
{
String szKey = szStr + "_" + to, szNew = (String)m.get(szKey);
if(null == szNew)
m.put(szKey, szNew = Translate.translate(szStr, from, to));
return szNew;
}
} catch (Exception e) {
}
return szStr;
}

public HttpServletRequest getRequest()
{
return this.request;
}
 // Click为测试的方法,实际应用应该删除它
public List Click()
{
List lst = new ArrayList();
lst.add(new Date());
Map map = new HashMap();
map.put("name", "mete");
map.put("nm01", "mete=meet");
map.put("nm02", "mete=miracle + talent");
lst.add(map);
lst.add(new String[]{
"多种复合对象的访问",
"你可以尝试在javascript中直接访问这些返回的符合对象的方法",
"如同访问Java对象一样",
"而不需要做任何特别的编码,只写java代码就可以了"});
return lst;
}
 public Map getMap() {
return map;
}
}
网站多语言实时翻译轻量级JavaScript框架设计如下:
为了能看到大幅度的翻译效果,我们用本书的示例代码首页(index.jsp)来进行示范,示范效果如下:
  
图14-9  翻译前的效果
 
图14-10  翻译为英语的效果
 
图14-11  翻译为阿拉伯文的效果
 
图14-12  翻译为朝鲜语的效果
【责任编辑:雪花 TEL:(010)68476606】

回书目   上一节   下一节
专题
轻松制胜——局域网组建精讲
CCNA ICND 2认证考试指南
CCENT/CCNA ICND 1认证考试指南
JavaScript高级应用与实践
ASP.NET 2.0网络编程自学手册
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
2007年互联网大会
2007年互联网大会
华为员工自杀频频拷问企业文化
华为员工自杀频频拷问企业文化
技术人求职简历完备手册
技术人求职简历完备手册
· 技术人求职简历完备手册
· 勇闯IT培训黑色围城
· 北漂技术人90天求职纪实
· 龙芯要做中国的“奔腾”
· 国际文档格式标准开战
· 贝恩资本携手华为22亿..
· 微软出价446亿美元收购..
· 隐私保护技术探讨
· Windows Server 2008专..
· NAC安全访问控制
· PHP开发应用手册
· ASP.NET 2.0基础开发指..
· WCF开发基础
· 路由器设置与口令恢复
· VC++基础开发专题
· 2008年春季英特尔信息..
清除流氓软件——51CTO特别专题
清除流氓软件——51CTO特别专..
ARP攻击防范与解决方案
ARP攻击防范与解决方案
iSCSI应用与发展
iSCSI应用与发展
· iSCSI应用与发展
· SQL Server 2008/2005..
· SOA 面向服务架构
· SQL Server 2008/2005..
· iSCSI应用与发展
· RAID——磁盘阵列基础
· 中间件应用技术专题
· SQL Server入门到精通
· 病毒查杀专题
· 国际文档格式标准开战
· Linux防火墙
· 路由器设置与口令恢复
· 打造安全服务器
· SOA 面向服务架构
· PHP开发应用手册
· ADSL应用面面俱到
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
iSCSI应用与发展
iSCSI应用与发展
· iSCSI应用与发展
· 中间件应用技术专题
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· iSCSI应用与发展
· RAID——磁盘阵列基础
· 身份认证技术
· 病毒查杀专题
· 清除流氓软件——51CTO..
· 路由器设置与口令恢复
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· ADSL应用面面俱到
· ADSL应用面面俱到
· 反垃圾邮件技术应用