Page 15 of 25

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

Posted: Tue Apr 21, 2020 5:32 pm
by ulan
Погоди но в одном из постов ты писал что не надо добавлять ен язык так как это дефолтный язык
как решить тогда эту проблему?

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

Posted: Tue Apr 21, 2020 5:39 pm
by admin
варианты

1. выключить авторедирект
2. добавить язык
3. добавить в комон force_lng в ГЕТ на открытие индкса что б не срабатывал авторедиркт

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

Posted: Tue Apr 21, 2020 5:48 pm
by ulan
1) не будет работать для других
2) база уже заполнена и тогда как бы структура ломается, но как тогда другие сайты работают? или они делают маин = ен языку? а можно ли как то действительно может где то в базе изменить маин на ен? ну или переключение сделать не ен а маин но чтобы маин был тоже как дефолтный язык, поидее у многих такая проблема должна быть
3) а можно показать это костыль?

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

Posted: Tue Apr 21, 2020 6:06 pm
by admin
2.какая структура куда ломается - не понял

3. костыль

if (ваши условия) $_GET['force_lng'] = '...';

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

Posted: Wed Apr 22, 2020 2:37 am
by ulan
admin wrote: Tue Apr 21, 2020 6:06 pm 2.какая структура куда ломается - не понял

3. костыль

if (ваши условия) $_GET['force_lng'] = '...';
2) ну в етих вашех ентернетах не один же мультиязычный сайт на смарте и они же как то работают, причем было сказано что ен не обязательно создавать есть ведь маин язык
может просто можно сделать Image
?force_lng=Master
или если в сетах его название
Image
?force_lng=main_site

Мне кажется это проще чем плодить еще таблицы под енг язык которые будут равны main_site

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

Posted: Wed Apr 22, 2020 4:10 am
by admin
Такой вариант будет работать и сейчас

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

Posted: Wed Apr 22, 2020 6:54 am
by ulan
$_langs=array('ru', 'de', 'es', 'it', 'fr');
$_foundLang = 'main_site';
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']];
}
Захожу на индекс с маин сайт
Array
(
[force_lng] => main_site
)
Array
(
[__cfduid] => d50652cb07056fb69bf598645d90c6ab81587538089
[775f9db09085da2efc30b9593a1ab5d6] => noref
[61179e8db07e3d3a7325167b71e70e7d] => noref
[00e649a1ade08d83c25bebfa29223bf9] => 1587538089
[e5bccd97c2948109bece3196b7838bff] => 1
[force_lng] => ru
)

Открываю в новой вкладке сайт кидает на ру
Array
(
)
Array
(
[__cfduid] => d50652cb07056fb69bf598645d90c6ab81587538089
[e5bccd97c2948109bece3196b7838bff] => 1
[775f9db09085da2efc30b9593a1ab5d6] => bookmarks
[61179e8db07e3d3a7325167b71e70e7d] => bookmarks
[00e649a1ade08d83c25bebfa29223bf9] => 1587538125
[force_lng] => ru
)
то есть main_site это не язык в движке?

Тоже самое и с Master

Так все же дефолтный язык в смарте имеет какую то переменную?

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

Posted: Wed Apr 22, 2020 7:04 am
by admin
разберемся по очедеи
не надо 100500 переходов до этого

надо только 1 конкретный который работает не так

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

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

Posted: Wed Apr 22, 2020 7:06 am
by ulan
Надо без добавления ен языка в мультиязычность смарта сделать дефолтный язык который есть в смарте
чтобы я мог поставить юзеру куку с этим дефолтным язком и открыть потом этот язык при открытии сайта

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

Posted: Wed Apr 22, 2020 7:11 am
by admin
угу

вот вы открываете сайт - какой язык показывает?