问题标签 [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.

0 投票
1 回答
1753 浏览

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

0 投票
2 回答
2652 浏览

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.9to the string if user's device language in not en_US.

Any idea would be appreciated. Thanks.

0 投票
2 回答
1982 浏览

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.

最简单的方法是什么?

0 投票
1 回答
80 浏览

php - 如果浏览器语言与名为国家的数据库表不匹配,如何发起查询?

我没有PHP经验,我只知道基础知识。我不知道我是否正确地问这个问题,我什至不知道这是否可能,但我会尝试解释。

  1. 我有 10 多个表的数据库。每个表都被命名为国家(奥地利、德国、拉脱维亚、立陶宛等)。

  2. 我有脚本,当他连接到网站时显示用户浏览器语言。

  3. 另外,我有 PHP 查询脚本,它按用户浏览器语言显示数据(如果用户连接浏览器,主要语言是奥地利语,而不是 PHP 查询显示来自奥地利表的数据)。

HTTP_ACCEPT_LANGUAGE

询问:

我想做的事:

我希望如果用户连接到网站,并且他的浏览器语言与我的表不匹配,那么默认情况下,查询应该使用其他表启动并且不发送错误(例如拉脱维亚表)。我怎么能这样做?

其他问题:

我知道,如果我将使用 HTTP_ACCEPT_LANGUAGE 函数,那么我将无法使用<select>代码,该用户将能够手动选择国家/地区。也许我错了..也许有人可以为我解释一下?

0 投票
2 回答
835 浏览

.htaccess - Http 接受来自 Chrome 的错误输出语言,德语 (de)

我有一个多语言网站。使用 htaccess

问题:

我使用最新的 chrome 浏览器的德文版。默认情况下,它会发送以下语言标头:

但在 Firefox 和 IE 中:

如您所见,英语的优先级高于德语。所以有人也有这个问题吗?

0 投票
1 回答
123 浏览

http - HTTP header `Accept-Language`:服务器应该严格使用它还是仅仅作为偏好?

我想知道"Accept Language"如果服务器具有请求的资源但不是指定的语言,服务器应该如何使用 HTTP 标头。服务器是否应该返回任何类型的错误(404,或“找不到资源”等)或成功但可用语言的资源?

HTTP 规范是否提到或推荐了这种情况下的用法?
我阅读了“RFC2616 - 14.4 Accept-Language”,但对我来说不是很清楚。

我知道快速的解决方案是添加Accept Language: *到标题中,但我想了解这里的内容并尝试在右侧解决这个问题(可能是服务器或客户端)

任何帮助表示赞赏。

0 投票
1 回答
169 浏览

.htaccess - .htaccess 语言重定向到虚拟文件夹

如果未检测到特定语言,我尝试重定向到虚拟文件夹,但这不起作用:

我需要的:

如果有人使用“dk”以外的语言访问 url.to/page.html,他应该被重定向到 url.to/en/page.html,否则他应该留在根文件夹 (url.to/page.html)。

感谢帮助!

0 投票
1 回答
371 浏览

.htaccess - htaccess语言检测高效代码

在我的网站上,我很想将说意大利语(他们的语言浏览器是意大利语)的访问者重定向到 /it/ 并将所有其他语言重定向到 /en/

我想出了以下代码:

这样所有条件都被检查,如果语言是意大利语,他们会重定向到 /it 否则第二个块进入行动,他们会被重定向到英文版本。

我的第一个问题是:有更有效的方法吗?我的 htaccess 功能非常有限。

作为一个额外的问题:这会给搜索引擎优化带来问题吗?我猜所有爬取 domain.net 的机器人都会被重定向到英文版,然后找到意大利版的链接(这是一个标志图像)并爬取意大利版。这是对的吗?

0 投票
1 回答
9872 浏览

python - Python使用请求更改Accept-Language

我是 python 新手,并试图使用 requests 库从 IMDb 获取一些信息。我的代码以我的母语捕获所有数据(例如,电影标题),但我想用英语获取它们。我如何更改请求中的接受语言来做到这一点?

0 投票
6 回答
2184 浏览

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 )。