Мультиязычный индекс

Locked
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: Мультиязычный индекс

Post by ulan »

В данный момент ру
с редиректом на site.com/ru/
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Мультиязычный индекс

Post by admin »

те приходит человек с РУ
и его НЕ должно редиректить ?
или как вы хотите что б был обработал входящий траф?
Don't forget to run script update
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: Мультиязычный индекс

Post by ulan »

Нет
Человек зашел с РУ
его кидает на РУ все верно
Человек меняет язык на ИТ, после этого человек заходит на индекс в новой вкладке его кидает на ИТ (все верно)

Человек меняет язык на ЕН (нету этого языка у нас) человек заходит на индекс в новой вкладке его кинет на ИТ так как ЕН языка нету в смарте, конечно мы можем добавить ен язык но тогда у нас в базе появится дубли
ЕН = маин сайт

Что хочется? Хочется чтобы родной язык в смарте имел какую то тоже переменную чтобы не создавать дубль языков, но и наверное чтобы оно было к индексной странице
В общем сейчас все работает верно но так как ен языка нету в системе тут возникла загвоздка
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Мультиязычный индекс

Post by admin »

при переходе на ЕН (которого нет в списке языков) вы ставите какую-то куку?
Don't forget to run script update
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: Мультиязычный индекс

Post by ulan »

Куку ставит ваш скрипт с вики
$_langs=array('ru', 'de', 'es', 'it', 'fr');
$_foundLang = 'Master';
foreach($_langs as $_lang){
if (strstr($_SERVER['HTTP_ACCEPT_LANGUAGE'], $_lang)) {
$_foundLang=$_lang;
break;
}
}
$lang = $my_keywords[$_foundLang];
if ($_GET['force_lng'] and isset($my_keywords[$_GET['force_lng']])) {
setcookie('force_lng', $_GET['force_lng'], time() + 86400, '/');
$lang = $my_keywords[$_GET['force_lng']];
} elseif ($_COOKIE['force_lng'] and isset($my_keywords[$_COOKIE['force_lng']])){
$lang = $my_keywords[$_COOKIE['force_lng']];
}
Вчера же смотрели этот момент
ставится кука форселанг ен
Image
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Мультиязычный индекс

Post by admin »

тогда в комон можно добавить

if ($_COOKIE['force_lng'] == 'en' and

(!isset($_SERVER['HTTP_REFERER']) or !strstr($_SERVER['HTTP_REFERER'], 'вашдомен')

) $_GET['force_lng'] = 'en';
Don't forget to run script update
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: Мультиязычный индекс

Post by ulan »

Parse error: syntax error, unexpected '$_GET' (T_VARIABLE) in /home/games/sites/site.com/scj/cgi/common.php on line 5

) $_GET['force_lng'] = 'en';
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: Мультиязычный индекс

Post by ulan »

if ($_COOKIE['force_lng'] == 'en' && !isset($_SERVER['HTTP_REFERER']) && !strstr($_SERVER['HTTP_REFERER'], '.com'))
$_GET['force_lng'] = 'en';

ну вроде заработало
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: Мультиязычный индекс

Post by ulan »

Но все таки может дефолтный язык сделаете как язык
на будущее
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Мультиязычный индекс

Post by admin »

Я думаю чем добавлять эти навороты лучше скидывать куку и тогда будет срабатывать дефолтный язык

Что бы убрать куку (например вы хотите что б у человека стал дефолтный язык) можно сделать кнопку вида

<input type="button" value ="delete cookie" onclick= 'document.cookie = "force_lng=; expires=Thu, 01 Jan 2000 00:00:00 GMT";'/>
Don't forget to run script update
Locked