记录|给网站添加谷歌多语言翻译插件
时间:2021-10-6 11:56 热度:12687° 评论:3 条
粗略记录一下
谷歌翻译的js,
因为会加载几个域名google.com的gif请求不到的严重拖慢网页翻译,没想到好办法
<script src="https://translate.google.cn/translate_a/element.js?cb=googleTranslateElementInit"></script> <script> function googleTranslateElementInit() { new google.translate.TranslateElement( { // pageLanguage: 'zh-CN', // 需要翻译的语言,比如你只需要翻译成越南和英语,这里就只写en,vi includedLanguages: 'en,zh-CN,hr,cs,da,nl,fr,de,el,iw,hu,ga,it,ja,ko,pt,ro,ru,sr,es,th,vi', layout: google.translate.TranslateElement.InlineLayout.SIMPLE, // 自动显示翻译横幅,就是翻译后顶部出现的那个 autoDisplay: true, // 还有些其他参数,由于原插件不再维护,找不到详细api了,将就了,实在不行直接上dom操作 }, 'google_translate_element' // 触发元素的id ); } </script>
//右下角切换语言 <div id="google_translate_element" style="position:fixed;bottom:10px;right:10px;z-index:2000;opacity:0.7"></div>
//css隐藏顶端的翻译选项 <style>.goog-te-banner-frame{display: none;}body{top: 0px !important;}</style>
插件以cookie值自动翻译,以下利用js设置googtrans为空时添加值为/zh-CN/en(默认进去翻译成英文)
另外可以以链接hash设置翻译语言,如:
https://xxx.com#googtrans(zh-CN|ja)
function getck(name) { var cookie_start = document.cookie.indexOf(name); var cookie_end = document.cookie.indexOf(";", cookie_start); if (cookie_start == -1) { return ''; } else { var v = document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length)); return unescape(v); } } if (getck("googtrans") == '') { document.cookie = "googtrans=/zh-CN/en"; }
新版的js,还没研究,下面设置默认自动翻译成一种语言,没有切换选项
<script type="text/javascript" src="https://translate.google.cn/translate_a/element.js?cb=gtElInit&client=wt"></script> <script type="text/javascript"> var gtElInit = function gtElInit() { var lib = new google.translate.TranslateService(); lib.translatePage('zh-cn', 'en', function () {}); } </script>
考虑用法
<div style="text-align:center;"><p>翻译演示<p> <button onclick="change(this);" value="">中文</button> <button onclick="change(this);" value="en">英文</button> <button onclick="change(this);" value="ja">日文</button> <select id="select" onchange="change(this)" class="adres-input"> <option value="">中文</option> <option value="en">英文</option> <option value="ja">日文</option> <option value="ko">韩文</option> <option value="ru">俄文</option> </select> </div> <script type="text/javascript" src="https://translate.google.cn/translate_a/element.js?cb=gtElInit&client=wt"></script> <script> //var gtElInit = function gtElInit() { // var lib = new google.translate.TranslateService(); // lib.translatePage('zh-cn', 'en', function () {}); //} function change(obj) { var lang = obj.value; var lib = new google.translate.TranslateService(); lib.translatePage('zh-cn', lang, function () {}); } </script>
翻译接口
不需要提供 tk 参数,client 类型里 t 和 webapp 需要,at 和 gtx 不需要
curl 'https://translate.google.com/translate_a/single?client=at&sl=zh-CN&tl=en&dt=t&q=%E6%88%91%E6%98%AF%E5%B8%85%E9%80%BC'
curl 'https://translate.google.com/translate_a/single?client=gtx&sl=zh-CN&tl=en&dt=t&q=%E6%88%91%E6%98%AF%E5%B8%85%E9%80%BC'
相关资料:
https://www.coderepublics.com/howto/how-to-google-translate.php
https://blog.csdn.net/panshiqu/article/details/104193607
正文到此结束
捐赠支持:如果觉得这篇文章对您有帮助,请“扫一扫”鼓励作者!
匿名
匿名
jialezi