Forum Webscript.Ru
Программирование => PHP => Тема начата: Elenka от 12 Сентября 2006, 12:09:07
-
Задача: при заходе на страницу скрипт должен проверить - анг или рус версию выдавать клиенту, в зависимости от этого подгружаем разные модули.
Как сделать эту проверялку? Смотреть по юзерагенту? как?
спасибо
-
Elenka
1. Смотреть по юзерагенту (точнее, по language)
2. Смотреть по GeoIP
UPD: в п.1 я $_SERVER["HTTP_ACCEPT_LANGUAGE"] имел в виду.
-
Как же задрали эти определялки
Ни одна толком не работает, а если и работает, то там, где мне это совсем не надо.
Пользователь должен сам выбрать, на каком языке с ним будет общаться сайт.
-
hanslinger
Естественно. Но согласись, лучше попытаться сразу угадать, что показать пользователю.
-
Нет.
Когда я захожу на livejournal.com или google.com, я не хочу видеть там русские надписи в навигации.
Я хочу видеть на каждом сайте выбор языка или только один язык.
-
hanslinger
(вот сейчас я должен сказать:) Странно, что ты этого хочешь.
В общем случае, для простоты построения концепции server-систем, принимается факт, что пользователю удобнее использовать в интерфейсе его родной язык. Здесь возможны варианты, конечно же, но в подавляющем большинстве случаев этот подход себя оправдывает.
Определить родной язык пользователя native-методами возможным не представляется, поэтому в нашем случае выделяем два пути:
- определить, указал ли он его в настройках заголовков запроса своего браузера
- если это невозможно, попытаться определить, откуда физически пришел запрос
Твой случай тоже на ура вписывается: указжи в браузере en-us и получишь результат.
Я ничего не забыл?
-
1. Смотреть по юзерагенту (точнее, по language)
что такое по language? где эта переменная ? USERAGENT понятно, а язык то где смотреть? или парсить юзерагент?
спасибо
-
Elenka
CGVictor:
$_SERVER["HTTP_ACCEPT_LANGUAGE"]