Перейти к содержанию
Romek

Языковая версия в зависимости от языка браузера

Рекомендуемые сообщения

Добрый день! На сайте несколько языков, можно настроить как-то, чтобы человек к примеру с украинским языком, попадал на украинскую версию, с русским - на русскую ? Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня браузер "говорит"

Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4,uk;q=0.2
на каком языке ты мне покажешь сайт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
if (isset($request->server['HTTP_ACCEPT_LANGUAGE']) && $request->server['HTTP_ACCEPT_LANGUAGE']) { 
	$browser_languages = explode(',', $request->server['HTTP_ACCEPT_LANGUAGE']);
	
	foreach ($browser_languages as $browser_language) {
		foreach ($languages as $key => $value) {
			if ($value['status']) {
				$locale = explode(',', $value['locale']);

				if (in_array($browser_language, $locale)) {
					$detect = $key;
				}
			}
		}
	}
}

По идее OC так и должен делать

 

Вот моя строка

ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3

вот чужая

ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4,uk;q=0.2

 

т.е. Если разбить на элементы массива, то получим, например

ru-RU,

ru;q=0.8

en-US;q=0.6

en;q=0.4

uk;q=0.2

 

И никак не получаем

true в строке

if (in_array($browser_language, $locale)) {

 

потому что, имеем например следующую строку в локале

ru_RU.UTF-8,ru_RU,russian

 

поэтому нужно или в поле кодировки добавить, например ru-RU

 

Хорош ли этот способ для SEO сложно сказать, потому что нужно смотреть и заголовки от роботов

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

Изменено пользователем chukcha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.