Инструменты пользователя

Инструменты сайта


accept-language

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

accept-language [2012/06/03 13:52] (текущий)
Строка 1: Строка 1:
 +====== Accept-Language ======
 +  * [[ISO]]
 +  * [[RFC]]
 +  * [[http://​www.w3.org/​International/​questions/​qa-lang-priorities|W3C:​ Настройка языковых предпочтений в браузере]]
 +  * [[http://​www.w3.org/​International/​questions/​qa-accept-lang-locales.ru.php|W3C:​ Хорошо ли использовать заголовок HTTP Accept-Language для определения локали пользователя?​]]
 +  * [[wpru>​ISO 639]] ISO 639 — международный стандарт ISO сокращений названий языков. Содержит следующие списки:​ ISO 639-1 (2002) — двухбуквенные коды основных языков;​ ISO 639-2 (1998) — трёхбуквенные;​ ISO 639-3 (2007) — трёхбуквенные;​ ISO 639-5 (2008) — трёхбуквенные групп языков.
 +  * [[wpru>​ISO 639-1]] ISO 639-1:2002 «Коды для обозначения названий языков,​ часть 1: коды Альфа-2»
 +  * [[http://​www.rfc-editor.org/​rfc/​bcp/​bcp47.txt|BCP:​ 47 Tags for Identifying Languages]] [[RFC]] 5646
 +  * [[http://​schneegans.de/​lv/​|BCP 47 Validator]]
 +  * [[http://​www.w3.org/​International/​articles/​language-tags/​|W3C:​ Language тэги в HTML и XML]]
 +  * [[http://​www.w3.org/​International/​articles/​bcp47/​Overview.ru.php|W3C:​ Понимание Новых Language Тэгов]]
  
 +Параметр [[HTTP]] ​ **Accept-Language** - поддерживаемый язык. Имеет значение для сервера,​ который может выдавать один и тот же документ в разных языковых версиях.
 +
 +<note tip>Не хорошо использовать только HTTP Accept-Language заголовок для того, чтобы определить локаль пользователя. Если вы используете исключительно Accept-Language,​ то вы можете ограничить пользователя в выборе вариантов языков,​ которые ему нравятся. Во-первых хорошим началом может стать использование значения Accept-Language для определения региональных настроек,​ но убедитесь,​ что вы позволили при необходимости изменять язык и точнее указывать культурные настройки. Сохраняйте результаты в базе данных или в cookie для позднейших посещений.</​note>​
 +
 +
 +Поле заголовка запроса Accept-Language сходно с полем Accept, но регламентирует набор естественных языков,​ которые предпочтительны в отклике на запрос.<​file>​
 +Accept-Language = "​Accept-Language"​ ":"​ 1#( language-range [ ";"​ "​q"​ "​="​ qvalue ] )
 +
 +language-range = ( ( 1*8ALPHA *( "​-"​ 1*8ALPHA ) ) | "​*"​ )
 +</​file>​Каждому набору языков может быть поставлено в соответствие значение качества,​ которое представляет собой оценку предпочтений пользователя для языков,​ специфицированных в диапазоне. По умолчанию значение качества "​q=1"​. Например:<​file>​
 +Accept-Language:​ da, en-gb;​q=0.8,​ en;q=0.7
 +</​file>​будет означать:​ "Я предпочитаю датский,​ но восприму британский английский и другие типы английского"​. Список языков согласуется с языковой меткой,​ если он в точности равен метке или, если он в точности равен префиксу метки, такому как первый символ метки, за которым следует символ "​-"​. Специальный список "​*",​ если он присутствует в поле Accept-Language,​ согласуется с любой меткой.
 +
 +<​note>​Это использование префикса не предполагает,​ что языковые метки присвоены языкам таким образом,​ что, если пользователь понимает язык с определенной меткой,​ то он поймет все языки, имеющие метки с одним и тем же префиксом. Правило префикса просто позволяет использовать префиксные метки для случаев,​ когда это справедливо.</​note>​
 +
 +Фактор качества,​ присваиваемый языковой метке с помощью поля Accept-Language,​ равен значению качества самого длинного списка языков в поле. Если в поле отсутствует список языков,​ фактору качества присваивается значение нуль. Если в запросе отсутствует заголовок Accept-Language,​ серверу следует предполагать,​ что все языки приемлемы в равной мере. Если заголовок Accept-Language имеется,​ тогда все языки, которым присвоен фактор качества больше нуля, приемлемы.
 +
 +Посылка заголовка Accept-Language с полным списком языковых предпочтений пользователя в каждом запросе может восприниматься как нарушение принципов конфиденциальности.
 +
 +<note tip>​Так как степень интеллигентности в высшей степени индивидуальна,​ рекомендуется,​ чтобы приложения клиента делали выбор языковых предпочтений доступным для пользователя. Если выбор не сделан доступным,​ тогда поле заголовка Accept-Language не должно присутствовать в запросе.</​note>​
 +====== ru_UA отличия от локали ru_RU ======
 +Говоря просто:​ ru_UA - язык_СТРАНА.
 +
 +ru_UA - русская локаль для Украины. ​
 +
 +uk_UA - украинская локаль для Украины. Это локаль для украинского языка. Но для этой локали нужно сделать нормальную украинскую локализацию. При её выборе большинство приложений будут на английском из-за отсутствия украинских mo- файлов.
 +
 +Локаль ru_UA отличается от локали ru_RU всего тремя буквами,​ а именно і - русское и, є -русское е, и ї - нечто среднее между й и ё. В полноценной локали ​ ua_UA буквы (фонетические звуки) г, х, з, c, ф, они правильно пишутся с черточками над верхом буквы.
 +====== Ссылки ======
 +  * [[http://​netcoding.ru/​articles/​php/​opredelenie-yazika-s-pomoshyu-php/​|Определить язык пользователя с помощью PHP]]
загрузка...
accept-language.txt · Последние изменения: 2012/06/03 13:52 (внешнее изменение)