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

WP

^_^
Определение часовового пояса и языка пользователя.

1. У меня в CMS ссылки строятся _http://site/язык/..., но когда поступает запрос http://site/, нужно узнать куда его редиректить. Есть ли методы кроме geoip?
2. Нужно узнать часовой пояс, чтобы даты формировались именно в нём. Есть ли "geotimezone"?

Если нет "geotimezone", то и придется определять через JS (это элементарно). В связи с этим: Можно ли определить язык через JavaScript?

Заметил что есть такие User-Agent, в которых указан язык. Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2)
 

phprus

Moderator
Команда форума
Для определения языка смоти в строну заголовка Accept-Language, в котором браузер по идее должен указывать те языки документы на которых предпочитает пользователь.
Пример: Accept-Language: ru,en-us;q=0.7,en;q=0.3
 

vadim

Guest
WP
А если geoip и Accept-Language отличаются, ты чему склонен доверять???
 

WP

^_^
phprus
Пасиб.
vadim
geoip для этих целей решил не использовать.
> А если geoip и Accept-Language отличаются, ты чему склонен доверять???
Конечно Accept-Language, т.к. человек может использовать иностранный proxy.
 

vadim

Guest
WP
Это был наводящий вопрос :)

А вообще лучше, где это возможно давать юзеру самому выбирать язык - часто бывает, что челове сидит за компом одного языка, а сам лучше бы сайт на другом почитал бы
 

WP

^_^
vadim
Дык это естественно, сбоку выбор языка и скина =) Это определение (Accept-Language) отвечает только за то что будет выбрано поумолчанию =)
 

clops

Новичок
обычно сайты выдают по-умолчанию на языке броузера (тот что будет первый в accept_language) — так кстати поступает и сайт php.net, если же пользователь сам выбирает другой язык, то он и запоминается как основной
 

Platon_82

Новичок
РЕшил для выбора языковой версии для пользователя использовать Accept-Language

print_r($_SERVER['HTTP_ACCEPT_LANGUAGE']);

Вот что у меня выдает в разных браузерах:

mozilla ff - ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
IE - uk
Opera9 - uk_UA,uk;q=0.9,en;q=0.8

Как разбирать это значение переменной. Оно же кругом разное
 

FractalizeR

Новичок
IE и Opera у вас английские версии? У меня на IE7 Rus выдает ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
 

FractalizeR

Новичок
Свойства обозревателя -> Общие -> Языки
Там что, только английский стоит? Если да, поставьте русский.
 

Platon_82

Новичок
Стоит только:
Украинский [uk]

-~{}~ 04.02.08 21:17:

Хотел выбрать русский. Вот для выбора:

Русский [en]
Русский [ru]
Как такое понять и разобрать програмно)))) ?
 

FractalizeR

Новичок
Что вы хотите разбирать програмно? У вас с браузером проблемы. У подавляющего большинства пользователей все настройки стоят нормально и первым языком в HTTP_ACCEPT_LANGUAGE будет русский.

Я думаю, вам следует ориентироваться на этот язык с предоставлением пользователю возможности поменять его.
 

WP

^_^
Я сделал по двум параметрам - по первому языку Accept-Language и по geoip.
Некропостеры блин :)
 
Сверху