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>
Другие вопросы по тегам