Изменение языка в зависимости от языковой версии браузера пользователя

Иногда возникает необходимость перевести какой-либо элемент сайта с одного языка на другой. Это может быть необходимо, если ваш сайт посещают пользователи, язык которых отличается от языка сайта. Допустим, сайт на румынском языке, но его посещают и пользователи из Молдовы, для которых русский язык предпочтительнее.

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

Так пользователи из Румынии получат текст на румынском языке, а пользователи из Молдовы – на русском.

Рассмотрим пример на основе темы colormag.

У нас есть блок: Вам может понравиться. Давайте создадим условия, при которых разным пользователям будет отображаться разный текст в зависимости от языковой версии браузера.

Настройки должны быть сделаны в этом файле inc/related-posts.php.

За вывод текста отвечает строка кода

echo get_theme_mod( 'colormag_you_may_also_like_text', esc_html__( 'You May Also Like', 'colormag' ) );

Для запроса относительно языка мы будем использовать элемент массива HTTP_ACCEPT_LANGUAGE, который даст нам представление о предпочтениях клиента относительно языка.

Создадим условия:

  • румынский язык
  • русский язык
  • все остальные языки.

Все остальные языки нужны для того, чтобы сообщить клиенту язык, который не соответствует ни одному из двух условий. По умолчанию это будет английский язык.

Итак, создадим скрипт:

<?php $lang = substr($_SERVER[‘HTTP_ACCEPT_LANGUAGE’], 0, 2); if($lang == “ro”){ echo get_theme_mod( ‘colormag_you_may_also_like_text’, esc_html__( ‘S-ar putea să-ți placă și…’, ‘colormag’ ) ); } elseif($lang == “ru”){ echo get_theme_mod( ‘colormag_you_may_also_like_text’, esc_html__( ‘Возможно вам понравится’, ‘colormag’ ) ); } else{ echo get_theme_mod( ‘colormag_you_may_also_like_text’, esc_html__( ‘You May Also Like’, ‘colormag’ ) ); } // echo get_theme_mod( ‘colormag_you_may_also_like_text’, esc_html__( ‘You May Also Like’, ‘colormag’ ) ); ?>

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

Поисковики относятся к этому спокойно и не обращают на это внимание, ведь lang в заголовке страницы остаётся неизменным.

Изменение языка в зависимости от языковой версии браузера пользователя

Источник Colormag.info

44
14 комментариев

Непонятен смысл этого фокуса, тем более - влияние на сеошку.

Ответить
Автор

Я написал смысл в первом абзаце

Ответить

Хм.. Чем-то клоакинг напоминает. Получается, поисковым роботам будет показываться 1 язык (который по умолчанию), а части пользователей - другой.

Ответить
Автор

Какой части?

Ответить

Всегда 2 символа в коде языка?

Ответить
Автор

Ответ в самом последнем абзаце

Ответить