Я использую многоязычный скрипт, чтобы перейти от lanquage. Теперь у меня возникают проблемы, чтобы перейти от языка, когда я на языке по умолчанию (английский)Многоязычный сайт: языки переключения
Сайт выглядит как:
example.com (Main directory)
example.com/fr/
example.com/es/
Когда я в example.com/fr/ blabla/index, и я хочу перейти к example.com/es/blabla/index, он отлично работает.
Но когда я нахожусь в example.com/blabla/index, и я хочу перейти к example.com/fr/blabla/index. Я перенаправлять example.com/fr/index
Я использую:
<?php
function switchLanguage($lang) {
$u = explode('/', $_SERVER['REQUEST_URI']);
$u[1] = $lang;
return implode('/', $u);
}
?>
Так что логично, что я не перенаправлять на правильный путь, потому что нет никакого каталога/анг.
Я думал, можно ли переписать URL-адрес с помощью массива? Что-то вроде этого:
<?php
function switchLanguage($lang)
$array1 = array(' ', $_SERVER['REQUEST_URI']);
$array2 = array('$lang', ' ');
$newArray = array_combine($array1, $array2);
foreach ($newArray as $key) {
echo "$key $value";
}
?>
Но как я могу получить значение в URL или где я буду неправильно.
Чтобы использовать базу данных или .ini и Geoip кэширование не вариант
Не могли бы вы объяснить мне одно: когда вы переходите на example.com/fr/blabla/index, вы перенаправляетесь на example.com/fr/index. Тогда вы говорите, что «нет директории/eng». Откуда этот «анг»? –
Является ли язык по умолчанию тем, что ваш скрипт все еще впадает в путь, к которому вы хотите перенаправить? –
Почти там, это выглядит многообещающе! Я объясню это, надеюсь, теперь лучше: Посетитель находится на странице: Example.com/sub1/index.php И он хочет изменить язык на испанский язык. Я хочу, чтобы редирект на: Example.com/es/sub1/index.php Но теперь он (еще) будет: Example.com/es/ index.php So в SUB1 каталог должен прибыть после/es/ –