很多年前我们就在自建的网站中嵌入了Google Translate代码来实现翻译功能,但2011年的时候因为GFW的缘故,只好暂停了,当时记录了博客《为了速度去掉Google Translate工具代码》。
2月份来美国圣地亚哥前在北京参加了think with Google的活动,会上讲到互联网出海的时候,特别又提到Google Translate工具,这些年来谷歌翻译的准确率应该得到了很大提高,特别是人工智能的发展带来翻译质量的提升。
所以我们又想把这个工具用起来,虽然我们自己在多个系列网站上都有自己的翻译,但还是可以把Google Translate也放在网站上,让用户多一些可用的翻译功能。
在这里找到添加Google网站翻译的工具:https://translate.google.com/manager/website/
分三步来进行:
1、输入网站名称和源语言:
不过从最后获得的代码来看,网站网址并没有什么用,不在嵌入的翻译工具代码中;
而源语言是有用的,有代码例如英文是en,简体中文是zh-CN,如果网站本身有多语言版本,可以在不同的语言版本页面中嵌入对应的语言代码以便翻译准确;
2、选择译文语言、显示格式和高级选项:
译文语言一般就用默认的“所有语言”,除非你只想限定翻译指定的几种语言;
显示格式可以用内嵌,以及垂直,以便让用户自己来选择,并且在手机上可以方便选择各种语言(使用下拉菜单方式的话,在PC上可以显示所有语言,但在手机上可能因为屏幕宽度无法显示所有语言);
高级选项里面,默认的“用户所用语言不同于您网页的语言时,自动显示翻译横幅。”我建议去掉,免得总是在顶部显示翻译栏,而把开启翻译的选择权交给用户;
3、获取代码:
把屏幕上的代码复制出来,粘贴到网站源代码中就可以了。
示例代码如下:
<div id="google_translate_element"></div><script type="text/javascript"> function googleTranslateElementInit() { new google.translate.TranslateElement({pageLanguage: 'zh-CN'}, 'google_translate_element'); } </script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
可以改一改,例如去掉自动显示翻译横幅后,代码如下:
<div id="google_translate_element"></div><script type="text/javascript"> function googleTranslateElementInit() { new google.translate.TranslateElement({pageLanguage: 'zh-CN', autoDisplay: false}, 'google_translate_element'); } </script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
也就是多了“, autoDisplay: false”。
在Drupal 7中,可以把这段代码放置在page.tpl.php的sidebar_first里面,让所有的页面都包含,也可以作为一个Block来添加;
至于国内不能访问拖慢网页打开速度的问题,可以安装一个判断用户是否来自国内的Drupal模块,对于国内用户就不显示这个翻译元件,只针对国外用户显示。一个Drupal站里面完整的Block例子代码如下:
<?php global $language; $language_code = $language->language; switch ($language_code) { case 'zh-hans': $translate_code = 'zh-CN'; break; case 'zh-hant': $translate_code = 'zh-TW'; break; default: $translate_code = $language_code; } $code = '<div id="google_translate_element"></div><script type="text/javascript">'; $code .= " function googleTranslateElementInit() { new google.translate.TranslateElement({pageLanguage: '$translate_code', autoDisplay: false}, 'google_translate_element'); } "; $code .= '</script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>'; if (in_china()) { $output = ''; } else { $output = $code; } print $output; ?>
希望这个谷歌翻译功能对其它语言的网站访问用户有些作用。
目前可以互译的语言有:
- 阿尔巴尼亚文
- 阿拉伯文
- 阿姆哈拉文
- 阿塞拜疆文
- 爱尔兰文
- 爱沙尼亚文
- 巴斯克文
- 白俄罗斯文
- 保加利亚文
- 冰岛文
- 波兰文
- 波斯尼亚文
- 波斯文
- 丹麦文
- 德文
- 俄文
- 法文
- 菲律宾文
- 芬兰文
- 高棉文
- 格鲁吉亚文
- 古吉拉特文
- 哈萨克文
- 海地文
- 韩文
- 豪萨文
- 荷兰文
- 赫蒙文
- 吉尔吉斯文
- 加利西亚文
- 加泰罗尼亚文
- 捷克文
- 卡纳达文
- 科萨文
- 科西嘉文
- 克罗地亚文
- 库尔德文
- 拉丁文
- 拉脱维亚文
- 老挝文
- 立陶宛文
- 卢森堡文
- 罗马尼亚文
- 马尔加什文
- 马耳他文
- 马拉地文
- 马拉雅拉姆文
- 马来文
- 马其顿文
- 毛利文
- 蒙古文
- 孟加拉文
- 缅甸文
- 南非荷兰文
- 尼泊尔文
- 尼扬扎文
- 挪威文
- 旁遮普文
- 葡萄牙文
- 普什图文
- 日文
- 瑞典文
- 萨摩亚文
- 塞尔维亚文
- 僧伽罗文
- 绍纳文
- 世界文
- 斯洛伐克文
- 斯洛文尼亚文
- 斯瓦希里文
- 苏格兰盖尔文
- 宿务文
- 索马里文
- 塔吉克文
- 泰卢固文
- 泰米尔文
- 泰文
- 土耳其文
- 威尔士文
- 乌尔都文
- 乌克兰文
- 乌兹别克文
- 希伯来文
- 希腊文
- 西班牙文
- 西弗里西亚文
- 夏威夷文
- 信德文
- 匈牙利文
- 巽他文
- 亚美尼亚文
- 伊布文
- 依地文
- 意大利文
- 印地文
- 印度尼西亚文
- 英文
- 约鲁巴文
- 越南文
- 爪哇文
- 中文
- 中文(繁体)
- 祖鲁文
评论1
这个现在用不了了,好多错误
这个现在用不了了,好多错误