我已将Google Nexus 4设备设置为Français (France)
设置,并且正在浏览通过客户端的Accept-Language
HTTP标头进行本地化的网站。
但是,当我查看到达服务器的Accept-Language
设置时,我看到的只是en-US
。
如果我使用Dolphin浏览器在同一设备上查看同一网站,则标题会显示为fr-FR,en-US;q=0.8
,并且该网站会以法语正确显示。
Nexus 4是一款运行Android 4.4.2的开发设备; Nexus 4 Build / KOT49H。 Chrome版本为32.0.1700.99。
有谁知道我如何让Chrome荣幸地使用该设备的语言设置?
我正在开发一个Android应用程序,并且期望HTTP客户端org.apache.http.client.HttpClient
在调用我的Web服务时会尊重设置Accept-Language
HTTP标头。但事实并非如此,而我正试图找出原因。
Chrome浏览器也会出现这种情况,所以我想我会看到是否有其他人有这个问题(发布我的代码有点复杂,而且不太合适)。
我是否真的必须根据我从Locale.getDefault().getLanguage()
返回的内容显式设置HTTP标头?
似乎无法通过Android设置设置用户的语言。
答案 0 :(得分:2)
您正在执行以下步骤吗? (我从你的问题中想象你已经是,但我想检查,因为这对我有用)
HttpClient client = new DefaultHttpClient();
HttpPost request = new HttpPost(webServiceUrl);
request.addHeader("Accept-Language", "fr");
HttpResponse response = client.execute(request);