问题标签 [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 投票
3 回答
8932 浏览

php - 使用按钮更改网站的语言

嗨,我想正如标题所说,使用按钮更改网站的语言,但这无需更改 url mywebsite.com(不做mywebsite.com?lang=es),只需更改PHP此代码中的变量:

然后使用这个按钮

更改语言而不更改网址

有没有办法做到这一点?如果是这样,如何?

提前致谢。

0 投票
2 回答
811 浏览

regex - 根据“Accept-Language”匹配设置为斯堪的纳维亚语言的浏览器

问题

我正在尝试根据 HTTP 标头“Accept-Language”匹配设置为斯堪的纳维亚语言的浏览器。

我的正则表达式是:

我的问题是这是否足够,是否有人知道任何其他奇怪的斯堪的纳维亚语(但“有效”)语言代码或导致误报的模糊浏览器错误?

用于

正则表达式用于在挪威网页顶部显示英文链接(这是主要语言以及域和子域的根),将您带到英文网页(辅助语言和根目录下的文件夹)当浏览器语言不是斯堪的纳维亚语时。如果用户不想再次看到链接,则可以关闭/“退出”链接,并将哈希存储在 JavaScript localStorage 中。由于实施时间有限,我们决定不使用 IP 地理位置。

0 投票
2 回答
7909 浏览

php - 带有 HTTP_ACCEPT_LANGUAGE 的 Google 抓取错误

在我的 Codeigniter 应用程序中,我使用$_SERVER['HTTP_ACCEPT_LANGUAGE']确定用户浏览器语言来设置应用程序语言,如下所示:

一切正常,但由于谷歌爬虫没有发送任何HTTP_ACCEPT_LANGUAGE,它返回一个 php 错误 Undefined index: HTTP_ACCEPT_LANGUAGEwhen crawling my all pages。

这真的很讨厌,因为 php 错误甚至填满了我的整个谷歌搜索片段。

有没有办法让谷歌机器人忽略这个HTTP_ACCEPT_LANGUAGE动作?

提前致谢!

0 投票
1 回答
1406 浏览

c# - Http Web 请求 Accept 和 Expect 区别

我一直在编写一个 C# 程序来处理和发送 Web 请求,它们似乎按预期工作,但是我的代码中有以下两个标题HttpWebRequest

我对这些差异或这些差异有点困惑,有人可以向我澄清一下哪个是哪个,或者我是否错了。我的想法是否正确,Accept是我期望他们从我这里拿走的东西(例如 XML),以及Expect他们应该返回给我的东西,即我期望的回报。

我错了吗?我可以在文档中在线找到的很多东西对我来说有点模糊和令人困惑,我是否正确使用了 expect 或者它应该是完全不同的东西?

任何澄清都会很棒,谢谢

0 投票
1 回答
2705 浏览

java - HtmlUnit:以特定语言从服务器请求网站

我正在 HtmlUnit 中寻找一种干净/简单的方式来从特定语言的服务器请求网页。

为此,我一直在尝试用西班牙语而不是英语为他们的主页请求“bankofamerica.com”。

这是我到目前为止所做的:

我试图在 Http 请求中将“Accept-Language”标头设置为“es”。我这样做是使用:

它不起作用。然后,我使用以下代码创建了一个 Web 请求:

由于这也失败了,我打印了这个 url 的请求对象,以检查是否正在设置这些标头。

所以服务器被请求一个西班牙语页面,但作为响应它以英语发送主页(响应标头的 Content-Language 的值设置为 en-US)

我确实找到了用西班牙语检索 BOA 页面的技巧。我访问了这个页面并使用 chrome 开发者工具从请求标头中获取 cookie 值。我使用此值执行以下操作:

我猜答案就在这里。

这是我的下一个问题。如果我正在编写一个脚本来检索 100 个不同的西班牙语网站(即假设它们的页面都是西班牙语)。HtmlUnit 中是否有一种干净的方法来实现这一点。

(如果 cookie 确实是一种解决方案,那么要在 htmlunit 中创建它们,您需要指定域名。然后必须为 100 个站点中的每一个创建 cookie。据我所知,在 HtmlUnit 中没有办法做类似的事情:

Cookie langCookie = new Cookie("所有域","LANG_COOKIE","es_US"); myWebClient.getCookieManager().addCookie(langCookie);)

注意:我使用 HtmlUnit 2.12 并在 webclient 中设置 BrowserVersion.CHROME

谢谢。

0 投票
1 回答
737 浏览

jersey - 解析 url 参数和 JSON 时如何让 JAX-RS (Jersey) 使用特定的语言环境?(理想情况下从“Accept-Language”标题推断)

更具体地说,现在我在十进制数字(逗号与点)上的分隔符有问题:如果错误的分隔符出现在 url 参数中,则 web 服务返回 404。但我想找到一个合适的解决方案也将处理 JSON 读/写。

注意:我已经尝试了其他问题 的答案,但它引用了我的 Jersey jar 中没有的类(If、QuantityXmlAdapter 和 NumberPersonalizedXmlAdapter),我在 Google 上找不到关于它们的线索。

0 投票
2 回答
1602 浏览

http - HTTP Accept-language 字段中语言的顺序是否重要?

我想知道接受语言中实际语言的顺序是否重要。例如,如果我们的 HTTP GET 消息包含标头:

...浏览器是否会更喜欢繁体法语(fr)而不是瑞士法语(fr-ch),即使它们都没有提到相对质量因子 q,因此为 1。

0 投票
1 回答
4268 浏览

java - 使用 JAX RS 遵守 HTTP 请求中请求的语言环境

我试图找到一种方法来根据请求上的 Accept-Language 标头来尊重响应的语言环境。我正在使用 Jersey 实现。这将适用于应用程序的 Restful 方面。我们已经为 WebApplication 端 (JSF) 提供了它,但 Jersey/JAXRS 不合作。

所以基本上说我需要返回一个错误响应,我想发回一个字符串,说英语语言环境的“问题”和西班牙语语言环境的“问题”。

到目前为止,我发现了这个类似的帖子,但没有给出具体的答案——实现在 JSF 和 JAX-RS 中工作的语言环境提供程序

感谢您的帮助

更新:

到目前为止,我可以通过这样做来获取语言环境:

}

然后我想尊重我发回的字符串消息的语言环境。如果看到这个:

我不能这样做,因为我想本地化很多东西。

0 投票
1 回答
33 浏览

php - 内容协商值可以乱序发送吗?

我正在从Accept-Language标题中确定用户的语言/区域设置,并且想知道它们是否会被乱序传递。我编写了一个 php 排序函数来确保它们按降序排列,但如果没有必要,我想删除它。

正确顺序示例:

Accept-Language: fr-ca, fr; q=0.8, en-ca; q=0.6, en-us; q=0.4, en; q=0.2

错误顺序示例:

Accept-Language: fr-ca, en; q=0.2, en-ca; q=0.6, en-us; q=0.4, fr; q=0.8

0 投票
1 回答
1382 浏览

asp.net-mvc-4 - 是否可以覆盖客户端接受语言标头,以便子请求使用新语言?

我们的业务要求规定用户应该能够在不更改浏览器或系统设置的情况下更改其语言偏好。我们的实现是一个简单的界面,要求他们选择一种语言。最初,我打算将他们的选择存储在 cookie 值中并检查它并设置 UI 文化,但我想知道是否有更简单的方法。

目前,我正在尝试看看我是否可以接受他们的选择,然后在响应中设置接受语言,以便在后续请求中使用它。现在,我在响应中设置了接受语言标头,但下一个请求用浏览器值覆盖它(例如 en-US,en;q=0.8")这可能吗?我该怎么做?还有其他想法实现这个功能也很受欢迎。