Page 16 of 25

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

Posted: Wed Apr 22, 2020 7:14 am
by ulan
В данный момент ру
с редиректом на site.com/ru/

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

Posted: Wed Apr 22, 2020 7:29 am
by admin
те приходит человек с РУ
и его НЕ должно редиректить ?
или как вы хотите что б был обработал входящий траф?

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

Posted: Wed Apr 22, 2020 7:50 am
by ulan
Нет
Человек зашел с РУ
его кидает на РУ все верно
Человек меняет язык на ИТ, после этого человек заходит на индекс в новой вкладке его кидает на ИТ (все верно)

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

Что хочется? Хочется чтобы родной язык в смарте имел какую то тоже переменную чтобы не создавать дубль языков, но и наверное чтобы оно было к индексной странице
В общем сейчас все работает верно но так как ен языка нету в системе тут возникла загвоздка

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

Posted: Wed Apr 22, 2020 8:01 am
by admin
при переходе на ЕН (которого нет в списке языков) вы ставите какую-то куку?

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

Posted: Wed Apr 22, 2020 8:12 am
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

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

Posted: Wed Apr 22, 2020 8:29 am
by admin
тогда в комон можно добавить

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

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

) $_GET['force_lng'] = 'en';

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

Posted: Wed Apr 22, 2020 8:53 am
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';

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

Posted: Wed Apr 22, 2020 9:51 am
by ulan
if ($_COOKIE['force_lng'] == 'en' && !isset($_SERVER['HTTP_REFERER']) && !strstr($_SERVER['HTTP_REFERER'], '.com'))
$_GET['force_lng'] = 'en';

ну вроде заработало

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

Posted: Wed Apr 22, 2020 9:52 am
by ulan
Но все таки может дефолтный язык сделаете как язык
на будущее

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

Posted: Thu Apr 23, 2020 5:32 am
by admin
Я думаю чем добавлять эти навороты лучше скидывать куку и тогда будет срабатывать дефолтный язык

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

<input type="button" value ="delete cookie" onclick= 'document.cookie = "force_lng=; expires=Thu, 01 Jan 2000 00:00:00 GMT";'/>