Указание локали для http запроса / ответа - PullRequest
4 голосов
/ 17 марта 2010

У меня есть веб-сервис ReSTful, который должен анализировать чувствительные к локали данные из запроса. Эти данные могут быть либо в теле XML, либо в части строки запроса. Есть ли какой-либо способ определения того, в какую локаль отправляются данные (и, соответственно, локаль, в которой должен быть отправлен ответ)?

Один из вариантов - просто указать клиентам локаль, в которой должны быть отправлены все запросы. Более дружественный вариант, по-видимому, заключается в том, чтобы позволить клиенту указывать локаль.

Я считал:

a) используя http-заголовок accept-language для кодирования этой информации.

б) использование атрибута xml: lang для XML POST и дополнительного поля для строк запроса (например, ... & locale = en-GB)

http://www.w3.org/International/questions/qa-accept-lang-locales предупреждает об ограничениях в использовании заголовка accept-language, но большинство предупреждений, по-видимому, сосредоточены вокруг запросов, исходящих из браузеров. В моем случае запросы будут поступать из других приложений.

Весь совет с благодарностью!

Ответы [ 2 ]

7 голосов
/ 17 марта 2010

Ваш непосредственный выбор - Accept-Language и, вероятно, Accept-Charset. Еще одним вариантом является использование базы данных, которая сопоставляет IP-адрес клиента с географическим местоположением (насколько это возможно). Эти базы данных стали довольно хорошими. Я думаю, но они обычно не бесплатны (нужно платить).

3 голосов
/ 24 июля 2014

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

...