Раньше я писал небольшой экспериментальный веб-проект, когда работал в иностранной компании-разработчике программного обеспечения. Частично требование заключалось в поддержке нескольких языков (упрощенный китайский, традиционный китайский, английский, корейский, японский) для пользователя. В то время для его реализации использовалась технология шаблонов. Это требование выполняется, и настройки пользователя сохраняются с помощью файлов cookie. Однако пользователю все равно необходимо выбрать язык при первом входе в систему (или после удаления файлов cookie). ). Так может ли это быть удобнее для пользователей? Можно ли использовать программу, автоматически помогающую с выбором?
Ответ: да, все используют Google. Если вы используете китайскую систему для открытия домашней страницы Google, естественно откроется домашняя страница на китайском языке, а не на других языках. Потому что Google автоматически определит, какой язык является предпочтительным для системы пользователя.
Как мы можем сделать это, как Google? На самом деле это очень просто.
Информация HTTP-заголовков, отправляемая браузером на веб-сервер, содержит такую информацию, как Accept-Language. Эта информация представляет собой язык в разделе «Инструменты» -> «Свойства обозревателя» -> «Общие». Она используется для настройки просмотра языковых предпочтений, приемлемых для браузера. сервер, который может представлять собой приоритетный список нескольких приемлемых языков.
Позвольте мне взять ASP в качестве примера, чтобы кратко представить, «как автоматически определять язык пользователя»:
<%
Функция RegExpTest(patrn, strng)
Dim regEx,Match,Matches' создает переменные.
Set regEx = New RegExp' Создайте регулярное выражение.
regEx.Pattern = patrn' устанавливает шаблон.
regEx.IgnoreCase = True' устанавливает, чувствительны ли символы к регистру.
regEx.Global = True — устанавливает глобальную доступность.
Set Matches = regEx.Execute(strng)'Выполнить поиск.
Для каждого совпадения в совпадениях' перебирает коллекцию совпадений.
RetStr = RetStr&Match.Value
Следующий
РегЭкспТест = РетСтр
Конечная функция
AL = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")' Получите допустимые языковые параметры браузера пользователя.
LG = RegExpTest("^[az-]+",AL)' Получите приемлемые языковые настройки браузера пользователя.
выберите чехол LG
корпус "ж-сп"
response.write "中文(中国)"
дело "ж-тв"
response.write "Китайский (Тайвань)"
дело "ж-мо"
response.write "Китайский (САР Макао)"
дело "ж-хк"
response.write "Китайский (САР Гонконг)"
корпус "ж-сг"
response.write "Китайский (Сингапур)"
корпус "en-us"
response.write "Английский (США)"
случай "джа"
ответ.напишите "Японский"
случай "ко"
ответ.напишите "Корейский"
конец выбора
%>