Добавление Google Translate на веб-сайт
Глядя здесь Google Translate я получаю следующий код.
<meta name="google-translate-customization" content="9f841e7780177523-3214ceb76f765f38-gc38c6fe6f9d06436-c"></meta>
<div id="google_translate_element">
</div>
<script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
}
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
Но, глядя сюда html-5-tutorial, в правом верхнем углу я вижу следующий код:
<div class="translate">
<div id="google_translate_element">
<div dir="ltr" class="skiptranslate goog-te-gadget">
<div id=":0.targetLanguage">
<select class="goog-te-combo">
<option value="">Select Language</option>
<option value="af">Afrikaans</option>
<option value="sq">Albanian</option>
<option value="ar">Arabic</option>
<option value="hy">Armenian</option>
<option value="az">Azerbaijani</option>
<option value="eu">Basque</option>
<option value="be">Belarusian</option>
<option value="bn">Bengali</option>
<option value="bg">Bulgarian</option>
<option value="ca">Catalan</option>
<option value="zh-CN">Chinese (Simplified)</option>
<option value="zh-TW">Chinese (Traditional)</option>
<option value="hr">Croatian</option>
<option value="cs">Czech</option>
<option value="da">Danish</option>
<option value="nl">Dutch</option>
<option value="eo">Esperanto</option>
<option value="et">Estonian</option>
<option value="tl">Filipino</option>
<option value="fi">Finnish</option>
<option value="fr">French</option>
<option value="gl">Galician</option>
<option value="ka">Georgian</option>
<option value="de">German</option>
<option value="el">Greek</option>
<option value="gu">Gujarati</option>
<option value="ht">Haitian Creole</option>
<option value="iw">Hebrew</option>
<option value="hi">Hindi</option>
<option value="hu">Hungarian</option>
<option value="is">Icelandic</option>
<option value="id">Indonesian</option>
<option value="ga">Irish</option>
<option value="it">Italian</option>
<option value="ja">Japanese</option>
<option value="kn">Kannada</option>
<option value="ko">Korean</option>
<option value="la">Latin</option>
<option value="lv">Latvian</option>
<option value="lt">Lithuanian</option>
<option value="mk">Macedonian</option>
<option value="ms">Malay</option>
<option value="mt">Maltese</option>
<option value="no">Norwegian</option>
<option value="fa">Persian</option>
<option value="pl">Polish</option>
<option value="pt">Portuguese</option>
<option value="ro">Romanian</option>
<option value="ru">Russian</option>
<option value="sr">Serbian</option>
<option value="sk">Slovak</option>
<option value="sl">Slovenian</option>
<option value="es">Spanish</option>
<option value="sw">Swahili</option>
<option value="sv">Swedish</option>
<option value="ta">Tamil</option>
<option value="te">Telugu</option>
<option value="th">Thai</option>
<option value="tr">Turkish</option>
<option value="uk">Ukrainian</option>
<option value="ur">Urdu</option>
<option value="vi">Vietnamese</option>
<option value="cy">Welsh</option>
<option value="yi">Yiddish</option>
</select>
</div>
Powered by <span style="white-space: nowrap;"><a class="goog-logo-link" href="http://translate.google.com" target="_blank"><img style="padding-right: 3px;" src="http://www.google.com/images/logos/google_logo_41.png" width="37" height="13">Translate</a></span></div></div>
<script>
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'en'
}, 'google_translate_element');
}
</script>
</div>
Первый работает только на живом сайте, а не на локальном компьютере, и поэтому я не могу таргетировать и стилизовать его с помощью CSS. Также он не содержит разметки SELECT и OPTION.
Более поздняя версия содержит разметку SELECT и OPTION, но если я скопирую и вставлю весь код, он не будет работать в реальном времени. сайт.
Я думаю, что мой вопрос будет заключаться в том, как реализовать google translate, используя более позднюю разметку?
11 ответов:
Вот разметка, которая должна работать как локально, так и удаленно - скопирована с html-5-tutorial.com:
<div id="google_translate_element"></div> <script> function googleTranslateElementInit() { new google.translate.TranslateElement( {pageLanguage: 'en'}, 'google_translate_element' ); /* To remove the "powered by google", uncomment one of the following code blocks. NB: This breaks Google's Attribution Requirements: https://developers.google.com/translate/v2/attribution#attribution-and-logos */ // Native (but only works in browsers that support query selector) //if(typeof(document.querySelector) == 'function') { // document.querySelector('.goog-logo-link').setAttribute('style', 'display: none'); // document.querySelector('.goog-te-gadget').setAttribute('style', 'font-size: 0'); //} // If you have jQuery - works cross-browser - uncomment this //jQuery('.goog-logo-link').css('display', 'none'); //jQuery('.goog-te-gadget').css('font-size', '0'); } </script> <script src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>Примечание Вы можете раскомментировать правильные биты, чтобы удалить "powered by google" - но обратите внимание, что это нарушает требования к атрибуции Google
function googleTranslateElementInit() { new google.translate.TranslateElement( {pageLanguage: 'en'}, 'google_translate_element' ); }
Код
<div id="google_translate_element"></div> <script type="text/javascript"> function googleTranslateElementInit() { new google.translate.TranslateElement({pageLanguage: 'hi', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element'); } </script> <script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
Чтобы сделать google translate мобильным, избавьтесь от раздела layout, layout: google.переводить.TranslateElement.InlineLayout.Простой
<div id="google_translate_element"> </div> <script type="text/javascript"> function googleTranslateElementInit() { new google.translate.TranslateElement({pageLanguage: 'en'}, 'google_translate_element'); } </script> <script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>Он работает на моем сайте и удобен для мобильных устройств. https://livinghisword.org/articles/pages/whoiscernandisourworld.php
<div id="google_translate_element"></div> <script type="text/javascript"> function googleTranslateElementInit() { new google.translate.TranslateElement({ pageLanguage: 'en', includedLanguages: 'es', layout: google.translate.TranslateElement.InlineLayout.SIMPLE }, '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: 'en', includedLanguages: 'ar', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, '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: 'fr', layout: google.translate.TranslateElement.FloatPosition.TOP_RIGHT}, '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: 'en', includedLanguages: 'th,zh-CN,zh-TW', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, '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: 'ko', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, '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: 'en', includedLanguages: 'ar', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element'); } </script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
Использование:
c._ctkk=eval('((function(){var a\x3d2143197373;var b\x3d-58933561;return 408631+\x27.\x27+(a+b)})())');<script type="text/javascript"> (function(){ var d="text/javascript",e="text/css",f="stylesheet",g="script",h="link",k="head",l="complete",m="UTF-8",n="."; function p(b){ var a=document.getElementsByTagName(k)[0]; a||(a=document.body.parentNode.appendChild(document.createElement(k))); a.appendChild(b)} function _loadJs(b){ var a=document.createElement(g); a.type=d; a.charset=m; a.src=b; p(a)} function _loadCss(b){ var a=document.createElement(h); a.type=e; a.rel=f; a.charset=m; a.href=b; p(a)} function _isNS(b){ b=b.split(n); for(var a=window,c=0;c<b.length;++c) if(!(a=a[b[c]])) return ! 1; return ! 0} function _setupNS(b){ b=b.split(n); for(var a=window,c=0;c<b.length;++c) a.hasOwnProperty?a.hasOwnProperty(b[c])?a=a[b[c]]:a=a[b[c]]={}:a=a[b[c]]||(a[b[c]]={}); return a} window.addEventListener&&"undefined"==typeof document.readyState&&window.addEventListener("DOMContentLoaded",function(){document.readyState=l},!1); if (_isNS('google.translate.Element')){return} (function(){ var c=_setupNS('google.translate._const'); c._cl='en'; c._cuc='googleTranslateElementInit1'; c._cac=''; c._cam=''; c._ctkk=eval('((function(){var a\x3d2143197373;var b\x3d-58933561;return 408631+\x27.\x27+(a+b)})())'); var h='translate.googleapis.com'; var s=(true?'https':window.location.protocol=='https:'?'https':'http')+'://'; var b=s+h; c._pah=h; c._pas=s; c._pbi=b+'/translate_static/img/te_bk.gif'; c._pci=b+'/translate_static/img/te_ctrl3.gif'; c._pli=b+'/translate_static/img/loading.gif'; c._plla=h+'/translate_a/l'; c._pmi=b+'/translate_static/img/mini_google.png'; c._ps=b+'/translate_static/css/translateelement.css'; c._puh='translate.google.com'; _loadCss(c._ps); _loadJs(b+'/translate_static/js/element/main.js'); })(); })(); </script>
Comments