在Blog或新闻发布的时候,我们希望URL是一段有意义的字串,例如我Blog里的《Linux下切分Tomcat的catalina.out日志文件》文章链接是https://i.laoer.com/2009/02/18/rotating-catalina-out-in-tomcat-using-cronolog/,这样有利于SEO(搜索引擎优化),对于我们母语为中文的小虾,有时候要翻译标题还是有点头疼的,还好有了Google翻译,让翻译的事情变得简单了一点,但对于开发者,怎么使用户也方便的翻译,特别是在写Blog的时候就能把标题翻译好,还要动点脑筋,我看到JavaEye里发布新闻的地方有个“让Google帮助生成永久链接”的功能挺好的,看了一下他们的源码,得到以下这段,顺别也解释一下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <script type="text/javascript" src="http://www.google.com/jsapi"></script> //载入Google的jsapi <script type="text/javascript"> function slugify(str) { //这个方法应该是将字符转为小写,并把一些特殊字符转为"-" return str.toLowerCase().replace(/[^a-z0-9-_]+/g, '-').replace(/^-|-$/g, ''); } google.load("language", "1"); //载入Google的language Ajax库 function translate_title() { //这里就是翻译文章标题了,里面的方法需要jQuery支持,之前要引入jQuery的包,这里就省略了 if($F("news_title").blank()) { alert("请先填写标题"); return; } $("news_slug_url").value = "正在翻译中..."; google.language.translate($F("news_title"), "zh", "en", function(result) { if (!result.error) { $("news_slug_url").value = slugify(result.translation); } }); } </script> |
这里有个地方要说一下,Google的Ajax库API还是挺好的,可以load几种Ajax的库,另外Google的Web 工具包也可以看看。