很多年前我们就在自建的网站中嵌入了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
这个现在用不了了,好多错误
这个现在用不了了,好多错误