Автоматический режим отображения веб-сайта Google

Я пытаюсь включить переводчик google на моем сайте. Я хочу использовать автоматическую вещь, чтобы панель отображалась, если ваш язык браузера отличается от языка страницы. Каждый раз, когда я выбираю автоматический режим отображения, код, который он мне дает, это "вкладка". Может ли кто-нибудь сказать мне, что я делаю неправильно или предоставить правильный код?

Спасибо заранее.

EDIT:

<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>

Ответ 1

Я видел еще один пример:

Автоматически определять предпочтительный язык пользователя и автоматический перевод Google

У этого параметра был параметр autoDisplay: false,

Чтобы получить только панель перевода, когда язык сайта не соответствует, я удалил контейнер и использовал autoDisplay: true,

Я получаю панель, когда на другом языке, но не выпадаю.

Ответ 2

При попытке выяснить, почему autoDisplay не работает, то есть меню перевода всегда отображается, я нашел проверку W3C для интернационализации: http://validator.w3.org/i18n-checker/

W3C Internationalization Checker предупредил меня, что возвращаемые заголовки Accept:   Accept-Language: en-US, en; q = 0.8

Код, созданный Google, который я первоначально вставлял в файлы моего сайта, имел только одно значение для проверки языка страницы. Но я отредактировал его, см. Ниже, и передал массив в ключе страницы, и я думаю, что теперь он работает.

<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 или US. Вы можете передать любой язык в массив, чтобы правильно настроить его для ваших нужд.

Если у кого-то есть отзывы, я был бы признателен. Надеюсь, что это поможет.

Ответ 3

<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>

Ответ 4

Чтобы отобразить переводчик только в том случае, если ваша страница отличается от страницы пользователя, выполните проверку на стороне сервера и при необходимости включите код.

См. Получение языка браузера

Ваш 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>

Ответ 5

Забавно, как извлечение кода Google для автоматической функции транслятора нарушено, не так ли? Я пробовал много итераций в Мастере уровня Rincewind, которым они должны выполнить пользовательскую настройку, но по умолчанию была функция Tabbed, которая не соответствует моему дизайну сайта.

Это для английского сайта, измените код языка для языка вашего сайта по умолчанию, где панель не должна отображаться. Удалите отслеживание, если вы его не используете.

<!-- <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>

Ответ 6

<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>

Ответ 7

<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>

Ответ 8

<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>