Сайт определяет язык но не дает возможности изменить его.

S
На сайте с 13.11.2012
Offline
72
614

В index.php добавил код

<?php
// список языков
$sites = array(
"en" => "https://мой.сайт/",
"ru" => "https://мой.сайт/ru/",
);
// получаем язык
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
// проверяем язык
if (!in_array($lang, array_keys($sites))){
$lang = 'en';
}
// перенаправление на субдомен
header('Location: ' . $sites[$lang]);

Браузер отлично определят нужный язык. Захожу из России, открывается https://мой.сайт/ru/

Пытаюсь в ручную выбрать английскую версию, все равно перекидывает на русскую, что не удивительно.

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

Спасибо.

Asar
На сайте с 23.08.2004
Offline
322
#1

А вот Гугла вапще не рекомендит автоопределением заниматься... Грит, токма по ссылке надобно... Где-та здесь https://support.google.com/webmasters/answer/182192?hl=ru или рядом прописано было...

Ну а по делу — запихни в сессию соответствующую переменную при переходе юзверя по ссылке на другую языковую версию. А ежели надолго надобно — ставь куку какую-нить надолго...

fakeid
На сайте с 18.10.2015
Offline
9
#2

1. Когда вы автоматически зашли на русскую версию страницы впервые - спрашивать пользователя, правильно ли определили страну.

2. Устанавливаете куку, в котором будет код страны: ru, en, us и так далее

3. При повторном заходе читаем куку и уже не спрашиваем язык.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий