У меня есть плагин, который применяет перевод Google к моей странице — как браузер знает, на каком языке отображать?

Вопрос или проблема

Мой сайт использует плагин (Google Language Translator), чтобы применять перевод текста от Google (см. здесь — флаги в верхней части страницы переключают язык). Если я переключаю на другой язык, закрываю браузер, заново открываю браузер и снова открываю свою страницу, отображается тот же язык. Как браузер знает, что нужно отображать тот же язык, что и раньше?

Есть ли какая-то переменная, установленная где-то? Возможно, куки или идентификатор сессии? Или, может быть, какая-то переменная JavaScript? Я просмотрел исходный код, но ничего очевидного не увидел.

Я пытался связаться с разработчиком плагина, но он не ответил :-/

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

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

ред.: В частности, плагин отображает языковую панель Google на моем сайте. Когда посетитель использует эту языковую панель для переключения языка страницы, устанавливается куки googtrans на моей странице, соответствующее указанному языку (скриншот). Насколько я понимаю, куки добавляется внешним скриптом, размещенным Google, а не плагином. Поэтому я не могу удалить куки или заставить его истечь.

Ответ или решение

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

Как работает механизм перевода Google?

  1. Использование плагина: Когда вы устанавливаете и активируете плагин Google Language Translator, он добавляет в ваш сайт определенные скрипты и элементы управления языком. Эти элементы позволяют пользователю выбирать язык перевода на странице с помощью флагов или выпадающего списка.

  2. Установка Cookies: Когда пользователь выбирает другой язык, плагин отправляет команду на установку cookie в браузере пользователя с определенным именем – googtrans. Типичная структура cookie выглядит следующим образом: googtrans=/en/fr. Последняя часть этого cookie указывает, что пользователь выбрал французский язык. Это cookie сохраняется в браузере и позволяет сохранить выбор пользователя на его следующем посещении сайта. Это именно то, что вы наблюдаете, когда после закрытия и повторного открытия браузера выбранный язык сохраняется.

  3. Скрипты Google: Как вы заметили, cookie добавлен с помощью внешнего скрипта, который хостится Google. Это означает, что вы, как пользователь плагина, не можете напрямую изменить или удалить этот cookie с помощью вашего собственного кода. Cookie будет передаваться браузером вместе с запросами на сервер, и когда браузер загружает страницу, скрипты видят установленный cookie и применяют соответствующий перевод.

Проблема с WPML и Google Translate

Вы упомянули, что у вас возникли проблемы с переключением между Google Translate и вашими собственными переводами, созданными с помощью WPML. Это связано с тем, что оба механизма (плагин Google и WPML) управляют языком по-разному:

  • Конфликт между плагинами: Как только пользователь выбрал язык с помощью Google Translate, вы сохраняете информацию о переводе в cookie. Если затем вы переключитесь на страница, созданная плагином WPML, браузер продолжает использовать cookie googtrans, и, следовательно, может возникнуть конфликт с настройками WPML. Например, если пользователю отображается контент на китайском языке через Google Translate, а затем он пытается получить доступ к переводу WPML на французский, могут возникнуть несоответствия в отображаемом контенте.

Рекомендуемые действия

  1. Отладка конфликтов: Проверьте, как ваш сайт обрабатывает языковые переключатели. Возможно, стоит реализовать логику, позволяющую очищать cookie googtrans при переключении на язык, управляемый WPML.

  2. Настройка переходов: Рассмотрите возможность создания отдельной кнопки или механизма, который очищает или игнорирует cookie googtrans при переключении между языками.

  3. Обратитесь к разработчикам: Если у вас продолжают возникать проблемы, настоятельно рекомендуем обратиться к разработчикам обоих плагинов (Google Language Translator и WPML), чтобы выяснить, как они могут взаимодействовать и какие существуют рекомендации по их совместимости.

Ваша проблема является распространенной среди пользователей, использующих несколько языковых плагинов, и требует careful attention! Надеюсь, что это объяснение поможет лучше понять, как работает механизм перевода и почему возникают проблемы.

Оцените материал
Добавить комментарий

Капча загружается...