Я фактически протестировал эти два формата, и мой сервер в порядке с обоими. Поскольку Http header fields говорит, что «en-US» - это формат, и мой локальный класс java возвращает «en_US», я немного смущен, чтобы получить, какой из них использовать!Какой формат «en_US» и «en-US» должен использоваться в запросе заголовка Http как Accept-Language?
Мой частичный код выглядит так:
// set accepted language
List<String> acceptedLanguages = null;
final Locale defaultLocale = Locale.getDefault(); // en
if (defaultLocale != null)
{
final String defaultLang = defaultLocale.toString(); // en_US
if (!TextUtils.isEmpty(defaultLang))
{
acceptedLanguages = new ArrayList<String>();
acceptedLanguages.add(defaultLang);
// Always add en as fallback if applicable
if (!HttpClient.DEFAULT_ACCEPTED_LANGUAGE_COUNTRY.equals(defaultLang))
{
acceptedLanguages.add(HttpClient.DEFAULT_ACCEPTED_LANGUAGE_COUNTRY);
}
}
}
String header = HttpClient.getAcceptLanguageHeader(acceptedLanguages); // like: cz_CH;q=1.0, en_US;q=0.9
this.mHttpGetRequest.addHeader(HttpHeaders.ACCEPT_LANGUAGE, header);
getAcceptLanguageHeader()
метод добавляет en_US;q=0.9
в строку, если язык устройства пользователя в не en_US
.
Любая идея будет оценена по достоинству. Благодарю.
Спасибо за ссылку;) – Hesam
@ Хезам: Не стоит беспокоиться. Рад, что я могу вам помочь! ;) – ChuongPham