Переключить язык на странице

12
D
На сайте с 28.06.2008
Offline
1101
605

Вывожу на страницу блоки текста в зависимости от страны (гос. языка в этой стране) средствами пхп.

Примерно так

if ($lang == 'ru'){$ps3 = " блабла ";}
elseif ($lang == 'es'){$ps3 = "blabla";}
elseif ($lang == 'de'){$ps3 = "blabla";}
elseif ($lang == 'fr'){$ps3 = "blabla";}
else {$ps3 = "blabla на английском";}

Но предполагаю что будут ситуации, когда зайдет на страницу чел из германии, ему покажется все на немецком, а он там турист и небельме по немецки.

Хочу сделать кнопку на сайте, типа "Транслейт ту инглиш" и при нажатии на нее показывать, то что записано в else {$ps3 = "blabla на английском";}

Я так понимаю пхп не умеет менять код страницы после загрузки, это должно быть JS, а его я вообще не знаю.

Не подскажите как это можно реализовать?

IL
На сайте с 20.04.2007
Offline
435
#1
Dram:
пхп не умеет менять код страницы после загрузки, это должно быть JS, а его я вообще не знаю.

js-ом открыть страницу, на которой в сессию запишется новый язык, после чего


<?php
if (!$referer = $_SERVER['HTTP_REFERER']) $referer = '/' ; .. если не удалось определить referer - отправляем на главную
header('Location: '.$referer);
exit;
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
D
На сайте с 28.06.2008
Offline
1101
#2

ivan-lev, т.е. вы предлагаете делать через перезагрузку страницы?

А без перезагрузки можно?

IL
На сайте с 20.04.2007
Offline
435
#3
Dram:
А без перезагрузки можно?

Можно.. но зачем? ))

Точнее, всё равно будет AJax-обращение к серверу, чтоб забрать текст на нужном языке (или же все возможные языки загружать при каждом обращении)..


// можно как-то так получить данные в JSON формате и "распихать" по блокам.
$.get(url, function(data){
$('#box1').html(data.box1);
},'json');

Вплоть до того, что загрузить Ajax-ом страницу целиком...


$('html').html(content);
Gerga
На сайте с 02.08.2015
Offline
94
#4
Dram:
Вывожу на страницу блоки текста в зависимости от страны (гос. языка в этой стране) средствами пхп.

язык пользователя желательно определять по локали и желательно для каждого языка должна быть своя страница.

D
На сайте с 28.06.2008
Offline
1101
#5
Gerga:
язык пользователя желательно определять по локали и желательно для каждого языка должна быть своя страница.

Вы даете советы не зная структуру и специфику проекта....

Gerga
На сайте с 02.08.2015
Offline
94
#6

Dram, если бы вы реализовало как правильнее, у вас бы не было такой проблемы:

Dram:
Но предполагаю что будут ситуации, когда зайдет на страницу чел из германии, ему покажется все на немецком, а он там турист и небельме по немецки.

иначе вы уже начинаете костылить.

IL
На сайте с 20.04.2007
Offline
435
#7
Gerga:
Dram, если бы вы реализовало как правильнее, у вас бы не было такой проблемы:

Ну, нет же..

Я, к примеру, ухожу с русскоязычного aliexpress-а на "Go to Global Site"...

Нормально, когда на любом многоязычном сайте есть возможность переключить язык на произвольный (из доступных)...

Gerga
На сайте с 02.08.2015
Offline
94
#8

ivan-lev, конечно хорошо, когда есть возможность переключить язык. Но глупо определять язык клиента по географическому положению, когда есть Accept-Language.

https://habr.com/ru/post/159129/

D
На сайте с 28.06.2008
Offline
1101
#9

Gerga, еще хуже не зная как и что у меня устроено фантазировать что будет лучше.

Gerga
На сайте с 02.08.2015
Offline
94
#10

Dram, хорошо, извините.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий