Google Display Translator Автоматический режим отображения
Я пытаюсь включить переводчик Google на свой сайт. Я хочу использовать автоматическую функцию, чтобы отображалась панель, если язык вашего браузера отличается от языка страницы. Каждый раз, когда я выбираю автоматический режим отображения, код, который он мне дает, предназначен для "вкладок". Кто-нибудь может сказать мне, что я делаю неправильно или предоставить правильный код?
Заранее спасибо.
РЕДАКТИРОВАТЬ:
<div id="google_translate_element"></div>
<script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.FloatPosition.TOP_LEFT}, 'google_translate_element');
}
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
8 ответов
Я видел другой пример здесь:
Определение предпочтительного языка пользователя и Google Translate автоматически
У этого был параметр autoDisplay: false,
Чтобы получить только панель перевода, когда язык сайта не соответствует, я удалил контейнер и использовал autoDisplay: true,
Я получаю планку на другом языке, но не выпадаю.
Пытаясь выяснить, почему autoDisplay не функционировал, т.е. меню перевода всегда отображалось, я обнаружил W3C Internationalization Checker: http://validator.w3.org/i18n-checker/
Средство проверки интернационализации W3C предупредило меня, что возвращаются заголовки Accept: Accept-Language: en-US,en;q=0,8
Код, сгенерированный Google, который я изначально вставил в файлы своего сайта, имел только одно значение для проверки языка страницы. Но я отредактировал его, см. Ниже, и передал массив в ключ pageLanguage, и я думаю, что он теперь работает.
<div id="google_translate_element"></div>
<script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: ['en', 'en-us'], autoDisplay: false, multilanguagePage: true, gaTrack: true, gaId: 'UA-403844-8'}, 'google_translate_element');
}
</script>
<script type="text/javascript" src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
Я провел тесты как можно лучше, изменив языковые настройки в Google Chrome. Но я не совсем верю, что это работает. Меню перевода должно отображаться для всех, кто не настроил en или en-US в своих браузерах. Вы можете передать массив на любом языке, чтобы правильно настроить его для ваших нужд.
Если у кого-то есть какие-либо отзывы по этому поводу, я буду благодарен. Надеюсь, поможет.
<div id="google_translate_element"></div><script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'id', includedLanguages: 'id', 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 для автоматической функции переводчика? Я перепробовал множество итераций в мастере уровней Rincewind, они должны были выполнить пользовательскую настройку, но по умолчанию использовалась функция с вкладками, которая не вписывается в мой дизайн сайта.
Это для английского сайта, измените код языка для языка вашего сайта по умолчанию, где панель не должна отображаться. Удалите отслеживание, если вы его не используете.
<!-- <div id="google_translate_element"></div> -->
<script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'en',
autoDisplay: true,
layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
gaTrack: true, gaId: 'UA-xxxxxx-x'
}, 'google_translate_element');
}
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
Чтобы отображать переводчик только в том случае, если ваша страница отличается от страницы пользователя, проверьте серверную часть и добавьте код только в случае необходимости.
Ваш URL неверен. Добавьте "http:". Смотрите рабочий пример ниже.
<div id="google_translate_element"></div>
<script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en',
layout: google.translate.TranslateElement.FloatPosition.TOP_LEFT},
'google_translate_element');
}
</script>
<script type="text/javascript" src="http://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: 'es',
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', layout: google.translate.TranslateElement.InlineLayout.SIMPLE, autoDisplay: false, multilanguagePage: true}, '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', autoDisplay: false}, 'google_translate_element');
}
</script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>