Я реализую i18n в своем веб-приложении и нахожусь на этапе тестирования на данный момент. Я использую java.util.Locale
на стороне сервера, чтобы передать локаль соответствующим API (дата и т. Д.), Которые потребляют информацию. Вот мои настройки:заголовок запроса браузера «Accept-Language» не отправляет страну
- язык браузер был установлен на «хинди» система страны
- операционная была установлена на «Индия»
- я отправить запрос на сервер ожидает на «Accept-Language» заголовок должен быть
hi-IN
, но значение остаетсяhi
, независимо от настроек страны в моей ОС ... фактическое значениеAccept-Language:hi;en-US,en;q=0.8,q=0.6
- my webapp использует входящее значение в заголовке запроса и делает i18n или l10n соответственно, загружая соответствующий перевод языка из файлов ресурсов
- У меня есть тестовый пример, где я вручную посылаю
new Locale("hi", "IN")
, чтобы указать язык и страну. Этот тестовый пример печатает значения на правильном языке, как я ожидаю, но поскольку значение, поступающее от запроса, составляет толькоhi
, я не могу видеть желаемый результат.
Не знаете, почему браузеры (Chrome и Firefox) не поддерживают формат language_country
для всех записей в их выборе. Есть что-то, чего я не вижу?
Редактировать: Я сделал несколько исправлений, основанных на ответе @ pawel-dyda. Чтобы процитировать часть его ответа
Ваш язык должен быть hi-IN, который, я считаю, должен объяснить нечетное поведение.
Суть вопроса (почему я поднимаю этот вопрос здесь), что я не могу получить свой браузер, чтобы послать значение hi-IN
на сервер в заголовке Accept-Language
.
Не могли бы вы рассказать нам, какова ваша конечная цель? Это тестирование? –
@ PawełDyda сделал незначительное изменение на мой вопрос. Конечной целью является внедрение i18n, сейчас я на этапе тестирования – cyberjar09
Единственный способ заставить Firefox и Chrome отправлять «привет-IN» - убедить своих разработчиков изменить их реализацию. И судя по [Intl object] (http://www.ecma-international.org/publications/standards/Ecma-402.htm), единственный способ сделать это - установить/изменить стандарт (HTTP 2.1 any?). Я дал вам обходные пути для этой проблемы. Вы просто не можете ожидать lang-country в любое время ... Извините, это путь мира. –