Anshlag - калужское объединение друзей - туристов. Отдых, путешествия, туризм.

Anshlag - калужское объединение друзей - туристов. Отдых и путешествия по Карелии, туризм, водные походы. Отчеты о походах, рассказы туристов, новости туризма. Форум, гостевая, походные фотографии.



  
 Среда, 19 июня 2019, 15:58:18 

Языкозависимый редирект
Языкозависимый редирект

Быстрый переход ...

» Языкозависимый реди...

Как правильно перенаправлять
пользователя на новую страницу я уже
писал
. Недавно же передо мной стояла
задача перенаправлять «юзера» на ту страницу,
которая будет ему понятнее с языковой
точки зрения. То есть, необходимо было на JavaScript'е
определить наиболее предпочтительный язык
и отослать пользователя либо на русскую
версию сайта, либо на английскую.


В результате у меня получился
небольшой JavaScript'овый объект, использующий
стандартный объект navigator для определения
пользовательского/системного языка (или же,
на худой конец, языка браузера). Необходимая
инфа берётся из свойств navigator.userLanguage,
navigator.systemLanguage (Internet Explorer 4+), navigator.browserLanguage
(Internet Explorer 4+, Opera 5+) и navigator.language
(Netscape Navigator 4.x, Netscape Navigator 6+).


Вот сам объект:


function LanguageInfo(){

    var n = navigator;

    this.UALanguage = n.language ? n.language :
n.browserLanguage ? n.browserLanguage : null;

    this.userLanguage = n.userLanguage ? n.userLanguage :
n.systemLanguage ? systemLanguage : null;

}


Свойство UALanguage определяет язык
браузера (UserAgent), свойство же userLanguage
отвечает за (текущий) язык операционной
системы пользователя. Использовать эти
свойства можно так:


var oLanguage = new LanguageInfo();

location.replace((oLanguage.userLanguage ==
"ru" || oLanguage.UALanguage ==
"ru") ? "/rus/" : "/eng/");


Конечно, предлагаемый способ определения
языка, который будет более всего понятен «сёрферу»,
нельзя назвать надёжным, ибо не известно
истинное знание пользователем того или иного
языка. К тому же, нередко встречаются
уникумы, которые используют операционку и браузер,
скажем, на английском языке, в то время
как почти в нём «не шарят» и охотно
ознакомились бы с сайтом на каком-то
другом языке.


В любом случае, надеюсь приведённый
метод окажется вам когда-нибудь полезен.




Прокомментировать
Хотите оставить свои комментарии? Зарегистрируйтесь на нашем сайте!

 
(c) Anshlag 2002 - 2008