OFBiz的国际化XML代码生成

因为公司要求项目中除了注释外,前台的view中不要出现中文,全部都使用国际化的代码来配置,增加了很多工作量,而且英文不好的人来说简直是天大的灾难,于是我就写了个小工具,来生成OFBiz的国际化的标签,支持自己配置,也可以直接输入中文,在线翻译。

调用有道翻译的API,为什么不调用Google Translate,因为注册有点麻烦。

 

<html>
	<head>
		<title>自动转换OFBiz国际化</title>
		<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
		<script type="text/javascript">
			$(function(){
				$("#gen").click(function(){
					gen();
				});

				$("#translate").click(function(){
					var zh = $("#zh").val();
					// 提供jsonp服务的url地址(不管是什么类型的地址,最终生成的返回值都是一段javascript代码)
				    var url = "http://fanyi.youdao.com/openapi.do?keyfrom=tourmsg&key=1134363095&type=data&callback=show&doctype=jsonp&version=1.1&q=" + zh;
				    // 创建script标签,设置其属性
				    var script = document.createElement('script');
				    script.setAttribute('src', url);
				    // 把script标签加入head,此时调用开始
				    document.getElementsByTagName('head')[0].appendChild(script);
					
				});
			});

			function gen(){
				var zh = $("#zh").val();
				var en = $("#en").val();
				var key = $("#key").val();
				var content = '<property key="' + key + '">\r'+
			        '\t<value xml:lang="en">'+ en +'</value>\r'+
			        '\t<value xml:lang="zh">'+ zh +'</value>\r'+
			    '</property>';
			    $("#reslut").val(content);
			}

			function show(data){
				var translation = data['translation'];
				var apiResult = translation[0];
				var arr = apiResult.split(" ");
				var newstr = "";
				$(arr).each(function(k,v){
					newstr+=v.firstUpperCase();
				});
				$("#key").val(newstr);
				$("#en").val(translation);
				gen();
			}

			String.prototype.firstUpperCase = function(){
			    return this.replace(/\b(\w)(\w*)/g, function($0, $1, $2) {
			        return $1.toUpperCase() + $2.toLowerCase();
			    });
			}
		</script>
	</head>
	<body>
		<div>
		KEY:<input type="text" id="key" size="40"/>
		</div>
		<div style="height: 100px;">
			<div style="position: relative;float: left;">
				<p>中文:</p>
				<textarea cols="50" rows="3" id="zh"></textarea>
			</div>
			<div style="position: relative;float: left;margin-left: 30px">
				<p>英文:</p>
				<textarea cols="50" rows="3" id="en"></textarea>
			</div>
		</div>
		<div><button id="gen" style="width: 120px;height: 30px">生产OFBiz国际化</button>
		 OR
		<button id="translate" style="width: 120px;height: 30px">翻译并取第一个</button></div>
	
		<div>
			<p>结果:</p>
			<textarea rows="5" cols="70" id="reslut">
<property key="">
	<value xml:lang="en"></value>
	<value xml:lang="zh"></value>
</property>
			</textarea>
		</div>
		<hr/>

	</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值