Мультиязычный сайт

O
На сайте с 21.06.2010
Offline
0
786

Перелопатил кучу инфы, но ответа так и не нашел на свой вопрос.

Короче. Есть сайт на английском языке + русском языках. Планируется в ближайшем будущем еще и немецкий добавить и возможно французский. Сейчас пользователь кликает по картинке, на странице к примеру index.php и скрипту передается change.php?lang=ru или change.php?lang=en. Скрипт берет $_GET['lang'] и пихает в сессию. После редирект на предыдущую страницу, которая уже становиться друго-язычной. Но, в адресной строке остается всё тот же index.php. Для ПС это я так понимаю не айс :-)

Теперь чего хочется сделать:

1. так как по-умолчанию ставится англ. язык, шел сразу редирект на mysite.com/en/index.php

2. при переключении на др. язык выдавалась страница mysite.com/ru/index.php

Если это еще как-то понятно (но если просветите примером, буду благодарен), но как теперь поступить со всеми ссылками на сайте? Неужели придется их дописывать как-то так:

mysite.com/$_SESSION['lang']/index.php

rtyug
На сайте с 13.05.2009
Offline
263
#1

я придумал такой вариант:

если этих значений $word[34] = 'вперёд'; будет порядка 2000 и текст будет занимать порядка 2-10Мб то это будет не красиво??

можно сделать, например, для каждой страниц файлы (всего страниц 30-50)

show.tpl.php

....

$show_tpl[34] = 'вперёд';
....

скриптом обновлять...

cделать таблицу с id и data

этот массив сериализировать в json и поставить в data с id который соответсвует show.tpl

а запрос минималистический будет

select data from lang where id=22

десериализируем с json в php

$array = json_decode($from_db_json);

php не будет тратить лишние ресурсы постоянно на инициализацию этого массива (если он не маленький), а будет все время очень быстро десериализовать

1) $array в smatry отправляется

2) или $from_db_json прямо на станицу в js и там распарсить

Спалил тему: Pokerstars вывод WMZ, etc на VISA 0% или SWIFT + Конверт USD/GBP,etc (net profit $0,5 млрд) (https://minfin.com.ua/blogs/94589307/115366/) Monobank - 50₴ на счет при рег. тут (https://clck.ru/DLX4r) | Номер SIP АТС Москва 7(495) - 0Ꝑ, 8(800) - 800Ꝑ/0Ꝑ (http://goo.gl/XOrCSn)
O
На сайте с 21.06.2010
Offline
0
#2

Это ты вообще о чём???

Oracool добавил 21.06.2010 в 17:25

Вообщем решил сделать так:

RewriteRule ^(ru|en|gr|fi)\/(.*)$ $2?language=$1 [L,QSA]

Единственное что еще хотелось бы сделать, так это то чтобы пользователь заходящий в корень сайта автоматически редиректился на папку mysite.com/en/

Подскажите это-то как сделать? Понятно что данное правило должно стоять выше упомянутого.

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