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) ну в етих вашех ентернетах не один же мультиязычный сайт на смарте и они же как то работают, причем было сказано что ен не обязательно создавать есть ведь маин язык
может просто можно сделать

?force_lng=Master
или если в сетах его название

?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
угу
вот вы открываете сайт - какой язык показывает?