问题标签 [http-accept-language]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
grails - Grails i18n:设置 Accept-Language 标头
根据 Grails 的国际化文档,i18n 由以下任一方式完成:
Accept-Language
在请求中设置标头;或者- 处理
lang
查询字符串参数
我选择前者,因为它更符合 HTTP,坦率地说,我只是不喜欢将它添加为查询参数。
但是我首先要如何设置Accept-Language
?!?
我希望我的应用程序的语言环境由请求的 TLD 确定。因此,请求http://myapp.example.com
将返回en_US
我的应用程序的版本,因为*.com
传统上与英语/美国相关联。如果http://myapp.example.fr
被请求,那么 Grails 应该返回fr_FR
我的应用程序的版本。等等。
所以我真正的问题是:
如何将请求的 URL/TLD 映射到 Grails 可以在服务器上设置的变量,然后注入 GSP,以便客户端请求始终具有Accept-Language
给定 URL/TLD 的匹配标头?
更新
我想在这里确认浏览器/Grails 的行为:假设当用户配置他们的浏览器时,浏览器相应地调整Accept-Language
标题是否安全?如果是这样,我是否还可以假设Grails默认使用的ifAccept-Language
未发送lang
且未指定为查询参数?en_US
java - Which format of "en_US" and "en-US" should be used in Http header request as Accept-Language?
I actually tested these two formats and my server is okay with both. Since Http header fields is saying "en-US" is the format and my Local java class is returning "en_US", I'm little bit confused to get which of them to use!
My partial code is like this:
getAcceptLanguageHeader()
method adds en_US;q=0.9
to the string if user's device language in not en_US
.
Any idea would be appreciated. Thanks.
java - Spring MVC:根据浏览器语言重定向用户
在Spring MVC 4 中,如何根据浏览器语言(HTTP 标头“Accept-Language”)将用户重定向到本地化 url?
我希望如果用户尝试访问该 url ,如果其浏览器语言为“DE”(即“Accept-Language”标头设置为“de”)example.com/some/path
,它将重定向到。de.example.com/some/path
同样,如果用户正在访问de.example.com/some/path
并且其语言为 EN,则应将其重定向到example.com/some/path
.
最简单的方法是什么?
php - 如果浏览器语言与名为国家的数据库表不匹配,如何发起查询?
我没有PHP经验,我只知道基础知识。我不知道我是否正确地问这个问题,我什至不知道这是否可能,但我会尝试解释。
我有 10 多个表的数据库。每个表都被命名为国家(奥地利、德国、拉脱维亚、立陶宛等)。
我有脚本,当他连接到网站时显示用户浏览器语言。
另外,我有 PHP 查询脚本,它按用户浏览器语言显示数据(如果用户连接浏览器,主要语言是奥地利语,而不是 PHP 查询显示来自奥地利表的数据)。
HTTP_ACCEPT_LANGUAGE
询问:
我想做的事:
我希望如果用户连接到网站,并且他的浏览器语言与我的表不匹配,那么默认情况下,查询应该使用其他表启动并且不发送错误(例如拉脱维亚表)。我怎么能这样做?
其他问题:
我知道,如果我将使用 HTTP_ACCEPT_LANGUAGE 函数,那么我将无法使用<select>
代码,该用户将能够手动选择国家/地区。也许我错了..也许有人可以为我解释一下?
.htaccess - Http 接受来自 Chrome 的错误输出语言,德语 (de)
我有一个多语言网站。使用 htaccess
问题:
我使用最新的 chrome 浏览器的德文版。默认情况下,它会发送以下语言标头:
但在 Firefox 和 IE 中:
如您所见,英语的优先级高于德语。所以有人也有这个问题吗?
http - HTTP header `Accept-Language`:服务器应该严格使用它还是仅仅作为偏好?
我想知道"Accept Language"
如果服务器具有请求的资源但不是指定的语言,服务器应该如何使用 HTTP 标头。服务器是否应该返回任何类型的错误(404,或“找不到资源”等)或成功但可用语言的资源?
HTTP 规范是否提到或推荐了这种情况下的用法?
我阅读了“RFC2616 - 14.4 Accept-Language”,但对我来说不是很清楚。
我知道快速的解决方案是添加Accept Language: *
到标题中,但我想了解这里的内容并尝试在右侧解决这个问题(可能是服务器或客户端)
任何帮助表示赞赏。
.htaccess - .htaccess 语言重定向到虚拟文件夹
如果未检测到特定语言,我尝试重定向到虚拟文件夹,但这不起作用:
我需要的:
如果有人使用“dk”以外的语言访问 url.to/page.html,他应该被重定向到 url.to/en/page.html,否则他应该留在根文件夹 (url.to/page.html)。
感谢帮助!
.htaccess - htaccess语言检测高效代码
在我的网站上,我很想将说意大利语(他们的语言浏览器是意大利语)的访问者重定向到 /it/ 并将所有其他语言重定向到 /en/
我想出了以下代码:
这样所有条件都被检查,如果语言是意大利语,他们会重定向到 /it 否则第二个块进入行动,他们会被重定向到英文版本。
我的第一个问题是:有更有效的方法吗?我的 htaccess 功能非常有限。
作为一个额外的问题:这会给搜索引擎优化带来问题吗?我猜所有爬取 domain.net 的机器人都会被重定向到英文版,然后找到意大利版的链接(这是一个标志图像)并爬取意大利版。这是对的吗?
python - Python使用请求更改Accept-Language
我是 python 新手,并试图使用 requests 库从 IMDb 获取一些信息。我的代码以我的母语捕获所有数据(例如,电影标题),但我想用英语获取它们。我如何更改请求中的接受语言来做到这一点?
php - 语言重定向适用于桌面,但不适用于移动浏览器
我在 PHP 中编写了一个小脚本,用于检查浏览器的语言设置并将它们重定向到网站的语言版本(WP 多站点),
使用 Mobile Safari 或 Mobile Chrome 进行测试时,重定向似乎不起作用。我需要考虑移动浏览器的接受语言的任何特殊输出吗?
更新:经过更多调试后,我发现了这一点:
- 回显 HTTP_ACCEPT_LANGUAGE 但不重定向时,Mobile Safari 显示正确的语言。
- 移动 Chrome(仅限 iOS,适用于 Android)不显示正确的语言(默认为“en”)。
- iOS 以不同的顺序解析 http 头数据,比较 iOS Chrome (en-US,en;q=0.8,sv;q=0.6) 和 OSX Chrome (sv,en-US;q=0.8,en;q=0.6 )。