Что нового?
Интернет в Броварах
Карта Броваров
Спутниковая карта
Работа в Броварах
Определение языка браузера посетителя на PHP
Автор: Rage Noir - время 13:05 05/06/09

К примеру, берем функцию

function get_lang(){
  if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
    foreach(explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']) as $value) {
      if(strpos($value, ';') !== false) {
        list($value, ) = split(';', $value);
      }
      if(strpos($value, '-') !== false) {
        list($value, ) = split('-', $value);
      }
      $langs[] = $value;
    }
  }
return $langs;
}


* This source code was highlighted with Source Code Highlighter.

Функция вернет что-то типа

Array ( [0] => ru [1] => en [2] => en )

Нам нужен нулевой элемент масива, сравниваем его, например, с 'ua' и 'ru', в случае успеха даем русский вариант, иначе выдаем англискую версию.

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

Значит вешаем на каждой странице ссылочку с добавлением в УРЛ признака языка, например site.com/en/company или site.com/ru/company или только на заставке предлагаем этот выбор.



Добавить коммент

Имя

Text

Комментарии пользователей


KxYi01:53 23/04/18

rxFu

M5yqORrEnIDI04:24 29/05/16

You Sir/Madam are the enemy of confusion evehrwreye!

TomAlko02:19 09/06/13

Чё себе мазги компасировать с функцией если ешё проше $langs = explode('-', $_SERVER['HTTP_ACCEPT_LANGUAGE']); $language = preg_replace('/;.*$/', '', $langs['0']); $language = preg_replace('/[^a-zA-Z_\-]/', '', $language);

test16:35 03/04/10

test