问题标签 [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.
http - Swagger 2.0 Accept-Language 标头作为请求参数
我正在使用 Swagger 2.0 为 http API 编写规范。
如何将Accept-Language标头定义为路径的必需标头参数?
如何使用关键字produces 来定义Accept-Language 标头?
azure-maps - 在“search/fuzzy/json”api 中解析接受语言标头时出错
我们遇到了一个奇怪的问题,即模糊搜索请求已经开始在某些浏览器中失败。
在此处从测试页面运行搜索有效。如果您在网络选项卡中查看此请求,并将其复制为 CURL,您会得到如下内容:
如果您右键单击搜索请求并单击“在新选项卡中打开”,则会失败并显示 400/Bad Request。如果您将此请求复制为 CURL,它将为您提供如下内容:
这将失败。我已将问题缩小到接受语言参数 'en,nl;q=0.9,en-GB;q=0.8' 当我在新选项卡的 GET 请求中打开时 Chrome 似乎已将其添加为默认值. 将此 val 替换为 'en-US' 会使请求再次起作用。
我已在以下位置复制此内容:Ubuntu 18.04.4 LTS、Chrome 版本 81.0.4044.129(官方版本)(64 位)Windows 版本 10.0.18362 版本 18362、Chrome 版本 81.0.4044.138(官方版本)(64 位)和我们也有客户在 Edge 和 Chrome 上报告它。
因此,假设这个接受语言的默认值是有效的,那么在解析它的 azure api 中似乎存在一个错误。
此问题的解决方法是 chrome://settings/?search=language 并仅设置一种语言。
php - 某些语言不翻译
我有一个网站,我手动翻译了五种语言,添加了按钮以选择首选语言。
我的问题是,有时 Chrome 会提供Translate this page
用户语言选项,或者根据设置自动翻译它。
而且由于$_SERVER['HTTP_ACCEPT_LANGUAGE']
并不总是 100% 可靠(如果根本没有丢失),因此可能会发生这样的情况:打开我的英文版网站的用户(比如说意大利用户)会发现一个不那么准确的谷歌翻译页面而不是网站的“官方”意大利语版本。
此外,使用意大利语HTTP_ACCEPT_LANGUAGE的用户可能出于任何原因希望以另一种语言查看网站,并且每次更改页面时都看到 Google 的弹出窗口非常烦人(即使您可以Disable it for this website
)。
所以我找到了这些解决方案:(<html lang="en" translate="no">
由于某种原因不起作用)和<meta name="google" content="notranslate">
(有效)。
问题是他们阻止谷歌翻译任何语言,理解我网站中未包含的语言。
那么,有没有办法阻止谷歌(或其他翻译)提议翻译/自动翻译我的页面只用某些语言?
php - PHP如何从浏览器中获取语言中的月、日全名
我想以浏览器提供的语言显示日期和月份的名称。所以我可以使用 setlocale 设置语言,例如:setlocale(LC_ALL, 'nl_NL')
然后名称都是荷兰语。我可以通过以下方式获取浏览器语言:$_SERVER["HTTP_ACCEPT_LANGUAGE"]
因此,如果我的浏览器是荷兰语,则$_SERVER["HTTP_ACCEPT_LANGUAGE"]
返回 'nl' 而不是 'nl_NL' 但setlocale(LC_ALL, 'nl')
不起作用。我需要一个转换方法,所以将nl转换为nl_NL。不仅是荷兰语(那很简单),还有其他语言。或完全不同的方法:-)
问候简
.htaccess - 通过 Accept-Language 标头重定向并保留 URL 路径
我正在修改我的网站,我希望 Apache Web 服务器能够像在World of Tanks Europe网站上那样重定向访问者。例如,如果我尝试打开 URL https://worldoftanks.eu/news/
,它会在en/
前面添加news/
并以英文打开页面。我现在在根文件夹中的 .htaccess 文件中有什么:
但这仅在访问者从网站主页开始导航时才有效。有任何想法吗?
UPD1:我遵循了 CBroe 在评论中提供的建议,现在我有这样的东西:
正如他所提到的,裸线会导致无限重定向,结果是这样,但导致http://example.com/en/ru/en/ru/en/ru/en/ru/en/ru/
重定向并出现相应的错误。当我将俄语(或条件中的任何语言)设置为优先级,而英语部分正常工作时,会发生错误。
UPD2:我已经尝试了!^/(ru|en)/
请求 URI 重写条件的建议,但它也失败了。也许我把它放在错误的部分?
python - 有没有办法修复接受语言或货币?
我想问一下如何修复随机货币,因为我正在尝试进行价格检查,但是当我第一次运行它时,它给了我瑞典克朗的货币,几分钟后它给了我不同的货币,我尝试接受语言和它只工作了10分钟,然后它一次又一次地改变了有什么办法可以解决吗?有代码
php - 检查数组值是否包含浏览器国家代码
如果德语是浏览器语言之一,我正在尝试显示指向我的登录页面的德语版本的链接,但我遇到的问题是该数组以一个值返回所有语言。如何检查该值是否包含某些字母?这是我正在使用的代码和我看到的返回:
我得到以下返回:
所以我遇到的问题是该值不是专门的“de”,而是包含“de”,所以链接没有显示。如何检查“de”是否与返回值一致。谢谢
json - 使用“接受:应用程序/json”请求 JSON 文件,给出“资源无法显示”错误
我正在尝试使用@actions/http-client从众所周知的端点(json.schemastore.org )获取 JSON 文件。该客户端出现错误,使用 cURL 尝试请求时出现相同错误:
向请求添加Content-Type
标头会使其成功并返回 JSON 文件,但前提是它位于Accept
传递给 cURL 的列表中的标头之前(Accept: application/json;Content-Type: application/json
导致上述相同的错误):
如果我省略--header
cURL 的参数,请求也会成功:
使用上述(无标头参数),cURL 正在发送此请求:
json.schemastore.org
使用上述 cURL 命令(无标头参数)收到的响应标头是:
响应的主体是 JSON 文档。
谁能帮我理解为什么只Accept: application/json
在请求上使用标头不起作用?请求中没有正文,所以标题似乎没有Content-Type
任何效果?为什么作为参数传递给 cURL 的Content-Type
andAccept
标头的顺序会有什么不同呢?我在想也许这是我不理解的 IIS 的一些行为。