Определение языка клиента

Сегодня столкнулся с призабавной проблемой. Возник вопрос определения, на каком языке показывать контент клиенту.
Покопавшись в Сети, мне так и не удалось найти человеческого решения этой проблемы. Я-то думал, что уже есть куча готовых модулей(может, и есть, но я их не нашел).

Короче, я сделал так:

my $browser_info = $ENV{'HTTP_USER_AGENT'};
if($browser_info =~ /ru/){
    $lang = "ru";
}else{
    $lang = "en";
}

Недостатки тут очевидны и их нет смысла перечислять. Хотел узнать, есть ли готовое решение или же нужно модифицировать мой код?

Тоже не

Тоже не получилось найти таких модулей, поищу ещё. Думал, что некоторые определяют зону из IP/доменов... Ещё вроде есть параметр HTTP_ACCEPT_LANGUAGE.

________________

#!/usr/bin/perl
print " :) "

В FF есть

В FF есть настройка:
tools->options; вкладка advanced, в ней вкладка general; language, и там можно выставлять языки в порядке "удобности".
Соответственно когда броузер запрашивает страничку, в хидерах кроме запроса и куки идет HTTP_ACCEPT_LANGUAGE, где перечислены желаемые языки с весовыми коэффициентами (я когда-то изучал работу accept_charset - там если коэффициента не написано это вроде значит что он равен 1 и выбирается доступный вариант с максимальным коэффициентом).

Это строчка когда на умолчаниях (первый en-us, второй en):
HTTP_ACCEPT_LANGUAGE en-us,en;q=0.5
Это если первым вставить украинский (первый украинский uk, потом en-us,потом en):
HTTP_ACCEPT_LANGUAGE uk,en-us;q=0.7,en;q=0.3
А сейчас я вставил 3-м русский:
HTTP_ACCEPT_LANGUAGE uk,en-us;q=0.8,ru;q=0.5,en;q=0.3

плюс полезно смотреть:
HTTP_ACCEPT_CHARSET KOI8-U,utf-8;q=0.7,*;q=0.7

И конечно-же, на w3c.org выложены стандарты rfc, где это все есть с примерами.

Естественно, такая технология стандартизирована просто выше крыши, поэтому ее часто реализуют прямо на уровне mod_rewrite, даже ничего не меняя в скриптах (даже когда-то была специальная версия russian apache), реализуется все на уровне что просто есть несколько версий страничек для разных языков.
Вариант отождествлять страну с языком однозначно некорректен - представьте, наш соотечественник ожидает своего рейса в дьютифри международного аэропорта в ОАЭ или в Турции и решил зайти на ваш сайт - как турист он совсем не обязан знать местный язык :)
Еще более веселый вариант, если человек находится например в питере и зашел на ваш сайт по GPRS, а у него включился финский роуминг (в Украине роуминг часто включается в западных областях) :)

Самый корректный вариант: первый раз (если нет еще куки) встречать по HTTP_ACCEPT_LANGUAGE, затем если человек поменял язык, запомнить это в соответствующем куки и по этому куки переключать на нужный язык - переключение легко делается через mod_rewrite + небольшой кусочек кода, выдающий соотв куки.