Я делаю язык по мануалу https://smartcj.com/wiki/doku.php?id=ru ... _сайта_i18
Там вставляется пхп код определения языка для пользователя в порядке приоритета
1 кука
2 force_lng (если пользователь находится в конкретной языковой зоне site.com/<язык>)
3 язык браузера
4 английский (дефолтный) если язык, что определился не входит в поддерживаемые языки
И полученный результат используется для выбора текста
но не могу согласовать это с системой редиректа. она просто игнорирует куку force_lng и если юзер (с ру браузером) сменил язык на site.com/de/ и потом зашел на site.com, то его перекинет на site.com/ru/
что хотелось бы от редиректа?
1 если пользователь ранее выбрал язык (force_lng) и зашел на морду, то его редиректит на нужный языковый урл
2 иначе как и щас от языка браузера
3 но если итоговый язык не поддерживается, то выбирается дефолтный: en
4 если язык en, то никакой редирект не делать.
То есть енг-юзер блуждает по сайту как есть, а тот, кто ранее насильно сменил язык (кука) или поддерживаемый язык браузера редиректися в site.com/<язык>/
то есть что образно получается
1 редирект должен учитывать форсированный язык (кука)
2 чтобы не было site.com/en/ должен быть способ задать урл по которому язык будет выставлен en
(по идее он уже есть. это явный site.com/?force_lang=en (лишь бы от него не было побочных эффектов))
3 ну и по хорошему разве не может движок сам определять язык и заведовать кукой и передать в шаблон типа $userlang, а не писать в шаблонах детект самому, если уж он все равно не может без редиректа
Мультиязычный индекс
Re: Мультиязычный индекс
ну можно еще раз почитать что я пишуadmin wrote: Thu Apr 16, 2020 9:39 am потому что стоит
location = / {
index /scj/cgi/index.php?force_lng=en;
}
надо просто подумать , не строчить сразу, а задуматься на 5 минут будет ли работать так как вы хотите
мне не нужна /en/ страница для енглиша
он должен быть на морде
Re: Мультиязычный индекс
я сделал проще для урла domain.com/en/ просто поставил реврайт на domain.com
и у меня не подставляет при перестановке для этого языка /en/ в урл а сам язык меняется на en
все остальные языки /de/ /it/ с этой частью просто и все
и у меня не подставляет при перестановке для этого языка /en/ в урл а сам язык меняется на en
все остальные языки /de/ /it/ с этой частью просто и все
Last edited by XLodger on Thu Apr 16, 2020 11:33 am, edited 1 time in total.
Re: Мультиязычный индекс
Ок, добавил в ап редирект по куке
если стоит кука COOKIE['force_lng'] и человек открывает индекс без GET['force_lng'] , то редиректим на язык указанный в куке.
смотрите все ли ок у вас, если нет то показывайте какой переход работает не так с хедерами
если стоит кука COOKIE['force_lng'] и человек открывает индекс без GET['force_lng'] , то редиректим на язык указанный в куке.
смотрите все ли ок у вас, если нет то показывайте какой переход работает не так с хедерами
Don't forget to run script update
Re: Мультиязычный индекс
Да ридерект срабатывает как надоadmin wrote: Thu Apr 16, 2020 11:32 am Ок, добавил в ап редирект по куке
если стоит кука COOKIE['force_lng'] и человек открывает индекс без GET['force_lng'] , то редиректим на язык указанный в куке.
смотрите все ли ок у вас, если нет то показывайте какой переход работает не так с хедерами
как теперь мне только корень сделать английским по умолчанию если
location = / {
index /scj/cgi/index.php?force_lng=en;
}
не помогло(
Re: Мультиязычный индекс
не ясно по описанию какой конкретно язык должен быть на индексе
показывайте БЕЗ реврайта с хедерами
показывайте БЕЗ реврайта с хедерами
Don't forget to run script update
Re: Мультиязычный индекс
ну конкретно должен быть ЕН язык
ен язык не создавал на старнице языков (он как я понял дефолтный)
вот как его привязать к индексу с установкой кук и плюшек)))
может типа если сайт мультиязычный давать какому то языку привязку к морде?
ен язык не создавал на старнице языков (он как я понял дефолтный)
вот как его привязать к индексу с установкой кук и плюшек)))
может типа если сайт мультиязычный давать какому то языку привязку к морде?
Re: Мультиязычный индекс
если вы заходите на сайт
и нет force_lng
то показывает дефолтный язык
если у вас не показывает деофлтный (ЕН) - значит стоит force_lng
и нет force_lng
то показывает дефолтный язык
если у вас не показывает деофлтный (ЕН) - значит стоит force_lng
Don't forget to run script update
Re: Мультиязычный индекс
а что в данном случае дефолтный язык?
какие под него перменные в языковом шаблоне?
какие под него перменные в языковом шаблоне?
Re: Мультиязычный индекс
дефолтный - тот который при редактировании написан как main
Don't forget to run script update







