Locale::acceptFromHttp

locale_accept_from_http

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::acceptFromHttp -- locale_accept_from_httpПопытаться определить наилучшую локаль основываясь на заголовке HTTP "Accept-Language"

Описание

Объектно-ориентированный стиль

public static string Locale::acceptFromHttp ( string $header )

Процедурный стиль

string locale_accept_from_http ( string $header )

Пытается определить локаль, удовлетворяющую списку языков запрошенному в HTTP-заголовке "Accept-Language".

Список параметров

header

Строка, содержащая заголовок "Accept-Language" в соответствии с форматом RFC 2616.

Возвращаемые значения

Соответствующий идентификатор локали.

Примеры

Пример #1 Пример использования locale_accept_from_http()

<?php
$locale 
locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo 
$locale;
?>

Пример #2 Пример использования в объектно ориентированном стиле

<?php
$locale 
Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo 
$locale;
?>

Результат выполнения данного примера:

en_US

Смотрите также

  • locale_lookup() - Поиск языковых меток наиболее подходящих заданной локали

add a note add a note

User Contributed Notes 2 notes

up
31
Adam Lange
5 years ago
It's good to mention that if user browser will not send HTTP_ACCEPT_LANGUAGE, the output from:

Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);

Will be null.

So remember to set up a fail over scenario!
up
1
rasmus at mindplay dot dk
3 months ago
If you're struggling to figure out how to use this function in a project that only supports certain languages, move along.

Unfortunately, this function doesn't let you specify languages supported by your project - and since the internal header parsing and negotiation logic isn't exposed in any other way, you'll most likely want to ditch this function and go for a custom implementation of the same thing:

https://github.com/willdurand/Negotiation
To Top