Forum Webscript.Ru

Программирование => PHP => Тема начата: Elenka от 12 Сентября 2006, 12:09:07

Название: Как автоматически проверять язык клиента?
Отправлено: Elenka от 12 Сентября 2006, 12:09:07
Задача: при заходе на страницу скрипт должен проверить - анг или рус версию выдавать клиенту, в зависимости от этого подгружаем разные модули.

Как сделать эту проверялку? Смотреть по юзерагенту? как?

спасибо
Название: Как автоматически проверять язык клиента?
Отправлено: CGVictor от 12 Сентября 2006, 13:59:07
Elenka
1. Смотреть по юзерагенту (точнее, по language)
2. Смотреть по GeoIP
UPD: в п.1 я $_SERVER["HTTP_ACCEPT_LANGUAGE"] имел в виду.
Название: Как автоматически проверять язык клиента?
Отправлено: hanslinger от 12 Сентября 2006, 15:07:51
Как же задрали эти определялки…
Ни одна толком не работает, а если и работает, то там, где мне это совсем не надо.
Пользователь должен сам выбрать, на каком языке с ним будет общаться сайт.
Название: Как автоматически проверять язык клиента?
Отправлено: CGVictor от 12 Сентября 2006, 15:35:50
hanslinger
Естественно. Но согласись, лучше попытаться сразу угадать, что показать пользователю.
Название: Как автоматически проверять язык клиента?
Отправлено: hanslinger от 12 Сентября 2006, 17:53:59
Нет.
Когда я захожу на livejournal.com или google.com, я не хочу видеть там русские надписи в навигации.
Я хочу видеть на каждом сайте выбор языка или только один язык.
Название: Как автоматически проверять язык клиента?
Отправлено: CGVictor от 12 Сентября 2006, 18:01:22
hanslinger
(вот сейчас я должен сказать:) Странно, что ты этого хочешь.

В общем случае, для простоты построения концепции server-систем, принимается факт, что пользователю удобнее использовать в интерфейсе его родной язык. Здесь возможны варианты, конечно же, но в подавляющем большинстве случаев этот подход себя оправдывает.

Определить родной язык пользователя native-методами возможным не представляется, поэтому в нашем случае выделяем два пути:
- определить, указал ли он его в настройках заголовков запроса своего браузера
- если это невозможно, попытаться определить, откуда физически пришел запрос

Твой случай тоже на ура вписывается: указжи в браузере en-us и получишь результат.

Я ничего не забыл?
Название: Как автоматически проверять язык клиента?
Отправлено: Elenka от 14 Сентября 2006, 12:19:14
Цитировать
1. Смотреть по юзерагенту (точнее, по language)

что такое по language? где эта переменная ? USERAGENT понятно, а язык то где смотреть? или парсить юзерагент?

спасибо
Название: Как автоматически проверять язык клиента?
Отправлено: CGVictor от 14 Сентября 2006, 12:53:29
Elenka
Цитировать
CGVictor:
$_SERVER["HTTP_ACCEPT_LANGUAGE"]