Двуязычная версия сайта - каким способом лучше реализовать

stasbz

Новичок
Двуязычная версия сайта - каким способом лучше реализовать

Сайт реализован на php+smarty. В папке ru.templates лежат русскоязычные шаблоны, в папке en.templates англоязычные шаблоны.
По умолчанию открывается русскоязычная версия сайта. переключение на англоязычную - http://xxx.com/index.php?lang=ru
Каким способом лучше организовать открытие той или иной версии сайта в зависимости от страны пользователя?
Как я понимаю есть вариант определения по языку браузера - но многие считают это вариант плохим, или по гео Ip.
 

dimagolov

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

Sigorma

Новичок
Каждый язык имеет свой суб домен в виде ru.sample.com, en.sample.com которые являются алиасами для домена sample.com на котором в свою очередь отдаем конкретные языковые настройки.
+ utf-8
+ тег <select> со списком языков для перехода между версиями.
 

stasbz

Новичок
Автор оригинала: *****
только не "по geoIP/браузеру", а по Accept-Language
спасибо. остановлюсь на этом варианте. настрою htaccess.
как мне быть тогда с моим вариантом переключения языка - по умолчанию русские шаблоны, ручное переключение на англоязычную - http://xxx.com/index.php?lang=ru
я как то уже пробывал настраивать htaccess, но из-за токого варианта переключения языка возникали проблемы - во-общем не работало.

Настройка htaccess
# Если русского языка в списке поддерживаемых нет
RewriteCond %{HTTP:Accept-Language} !ru [NC]
# Идем в английский раздел
RewriteRule ^/?$ /en/ [R,L]
# Иначе в русский
RewriteRule ^/?$ /ru/ [R]

Когда вместо /en/ поставил /index.php?lang=ru не работало. вообщем разные варианты пробывал, не получилось.
 

stasbz

Новичок
так у меня и не указан язык в юрл.
xxx.com
по умолчанию открывается русская версия.
чтобы перейти надо нажать ссылку EN http://xxx.com/index.php?lang=en
а необходимо чтобы открывалась сразу енглиш версия сайта при заходе зарубженого пользователя.
 

С.

Продвинутый новичок
Определяй иностранность и перенаправляй на английскую версию.

НО!!! только при первом заходе, как предположение. Посетитель может захотеть смотреть по-другому, и если он целенаправленно выбрал язык, то перенаправлять его куда-либо уже нельзя, не смотря на все языковые признаки.
 

fixxxer

К.О.
Партнер клуба
Есть такая штука, сессия называется.

И что только люди не выдумывают, лишь бы не использовать gettext...
 

dimagolov

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

fixxxer

К.О.
Партнер клуба
Во-первых, это спорный вопрос.

Во-вторых, никто не мешает держать язык где-то в url, писать в сессию lang_id только при _явном_ выборе языка, не совпадающего с определенным автоматически, и при несовпадении делать редирект.
 

HraKK

Мудак
Команда форума
Во-первых, это спорный вопрос.
Без спорный.
И язык указанный в url явзяется обязательным к отображению несмотря не на Accept-Language или любые переменные в session.
 

dimagolov

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

fixxxer

К.О.
Партнер клуба
Вот вы это разрабочикам facebook например расскажите, раз такие умные тут собрались. А то они, бедные, не в курсе.
 

dimagolov

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

Krishna

Продался Java
Вот вы это разрабочикам facebook например расскажите, раз такие умные тут собрались.
Это не аргумент. Я на YouTube столько косяков в интерфейсе нахожу, что ППЦ.

Неопровержимых авторитетов в природе не бывает)
 

pilot911

Новичок
Автор оригинала: dimagolov
fixxxer, мне, как посетителю сайта насрать что он там автоматом определяет. мне даже насрать на то, что он думает про мой прошлый выбор языка. если я запросил версию на монгольском языке (указанием этого в url), то я должен ее получить независимо ни от чего.
это логично, урл имеет приоритет над куками и геоип
 
Сверху