скрипт определения языка @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 11 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Toshik Муж.
соучастник
0
Сообщения: 393
Зарегистрирован: 04.05.05
Откуда: Польша(Казахстан)
Заголовок сообщения: скрипт определения языка
Сообщение Добавлено: 26 Сентябрь 2006, 03:13:55 
Всем привет.
Вобщем наверно каждый видел в сети такие сайты которые имея скрипт определения языка установленного в браузере пользователя автоматически открывает страницу на соответствующей языковой версии сайта.
Искал много и очень упорно. Но видимо мои способности по использованию Гугл сильн ограничены находиться все что угодно только не то что нужно.
Помогите пожалуйста.
буду очень признателен.
Заранее спасибо.

_________________
Хорошие художники копируют великие воруют.
MpaK999 Муж.
участник
1
Сообщения: 1716
Зарегистрирован: 14.11.02
Откуда: Ufa/Russia
Сообщение Добавлено: 26 Сентябрь 2006, 08:27:48 
мда, попользуйтесь поиском, было уже

ключевые слова geoip

_________________
:: metal kick ass ::
diezel2005 Муж.
новый человек
16
Сообщения: 140
Зарегистрирован: 12.08.06
Откуда: Украина
Сообщение Добавлено: 26 Сентябрь 2006, 11:47:50 
Делается это не по

Цитата:
ключевые слова geoip


а примерно так.
заводишь массив:
$languages = array('ar' => 'ar([-_][[:alpha:]]{2})?|arabic','bg' => 'bg|bulgarian') ну и добавляешь в него все возможные языки,
похожий массив - $site_languages - заводишь на языки, на которые сможешь перевести сайт.
вот функция, которая вернет тебе язык пользователя, если на него переведен твой сайт:
Код:
function get_browser_language() {
  $language = 'en_US.ISO_8859-1';
  $browser_languages = explode(',', getenv('HTTP_ACCEPT_LANGUAGE'));
  for ($i=0, $n=sizeof($browser_languages); $i<$n; $i++) {
    reset($languages);
    while (list($key, $value) = each($languages)) {
      if (eregi('^(' . $value . ')(;q=[0-9]\\.[0-9])?$', $browser_languages[$i]) && isset($site_languages[$key])) {
        $language = $site_languages[$key];
        break 2;
      }
    }
  }
   return $language;
}

_________________
Не можешь вынести хамства? Сосчитай до десяти и вынеси хама.
MpaK999 Муж.
участник
1
Сообщения: 1716
Зарегистрирован: 14.11.02
Откуда: Ufa/Russia
Сообщение Добавлено: 26 Сентябрь 2006, 11:52:21 
diezel2005, вы определяете по языку браузера, у пользователя может быть инглишь версия к примеру, это не совсем верное решение, geoip всё же надежнее, хотя самое надежное на главной странице спросить у пользователя, что за язык он хочет

_________________
:: metal kick ass ::
diezel2005 Муж.
новый человек
16
Сообщения: 140
Зарегистрирован: 12.08.06
Откуда: Украина
Сообщение Добавлено: 26 Сентябрь 2006, 12:58:52 
GeoIP подходит только для показа контента, но никак для показа переведенной страницы. Я могу быть в Нью-Йорке с монгольским виндовс, но работать на русских настройках системы. Какой наиболее удобный для меня перевод? ессно тот, на который настроена система. А геоИп - для целевой рекламы, антифрода(кстати, сравнивая IP и язык браузера), для показа локального времени.

_________________
Не можешь вынести хамства? Сосчитай до десяти и вынеси хама.
MpaK999 Муж.
участник
1
Сообщения: 1716
Зарегистрирован: 14.11.02
Откуда: Ufa/Russia
Сообщение Добавлено: 26 Сентябрь 2006, 18:26:45 
diezel2005, вы можете быть и в нью-йорке и с русским виндовс

кстати, что такое "антифрод"?

хотя если автор хочет браузер так пусть будет так "определения языка установленного в браузере пользователя"

не плохой пример определения языка браузера, есть в fckeditor

_________________
:: metal kick ass ::
Toshik Муж.
соучастник
0
Сообщения: 393
Зарегистрирован: 04.05.05
Откуда: Польша(Казахстан)
Сообщение Добавлено: 27 Сентябрь 2006, 03:01:24 
MpaK999, а можно по подробнее насчет этого fckeditor? тема и правда для меня по крайней мере очень интересная и актуальная.

_________________
Хорошие художники копируют великие воруют.
MpaK999 Муж.
участник
1
Сообщения: 1716
Зарегистрирован: 14.11.02
Откуда: Ufa/Russia
Сообщение Добавлено: 27 Сентябрь 2006, 08:09:43 
Toshik, fckeditor.net - бесплатный визуальный редактор, он автоматом при загрузке определяет язык браузера и показывает ему соответсвующий перевод

_________________
:: metal kick ass ::
Ainur Муж.
соучастник
16
Сообщения: 731
Зарегистрирован: 15.09.04
Откуда: Italia
Сообщение Добавлено: 28 Сентябрь 2006, 23:02:33 
Я могу временно находится в Китае, определит меня по IP (которое еще нужно купить) и что на китайском читать?

В PHP примерно так:
Код:
//язык по умолчанию
$base_lang = "ru";   

//используемые языки
$support_lang['ru'] = true;
$support_lang['en'] = true;
$support_lang['it'] = true;

//если язык пользователя в списке используемых
if( $support_lang[$_SERVER['HTTP_ACCEPT_LANGUAGE']] )

//выдаём его языковую версию
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];

else

//в противном случае, версию по умолчанию
$lang = $base_lang;
Кухан Муж.
соучастник
18
Сообщения: 581
Зарегистрирован: 20.06.05
Откуда: МОСКВА
Сообщение Добавлено: 29 Сентябрь 2006, 15:21:30 
Ainur, в HTTP_ACCEPT_LANGUAGE может быть несколько языков:
например в Опере
Код:
ru,en;q=0.9

в ФФ
Код:
ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3

_________________
Какая-то реклама — «HTML» вёрстка.
Ainur Муж.
соучастник
16
Сообщения: 731
Зарегистрирован: 15.09.04
Откуда: Italia
Сообщение Добавлено: 30 Сентябрь 2006, 12:35:35 
Кухан, если несколько – тогда выдаётся тот, который по умолчанию, так как я не могу знать какой для человека родной. Можно изменить, что бы смотрело все языки и выбирало из них, я идею показал, дальше сами делайте.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 11 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100