当前位置: 首页 > 知识库问答 >
问题:

前端 - 网站如何根据国家自动切换语言?

慕容俭
2023-07-19

网站如何根据国家自动切换语言?
例如在国内打开就是正常的/zh, 在美国打开是/en

共有4个答案

江英卓
2023-07-19

目前来说,同一个网址的话在不同国家打开没办法自动切换语言的,毕竟访问者ip是随机的分配的。现在大部分网站的做法是设置默认语言,比如英文,然后访问者自己去切换语言,阿里云和亚马逊之前都是这样做的

江向阳
2023-07-19

image.png
你看,http请求头自带一个语言表示,读取的系统的。这是一种思路

朱令
2023-07-19

1、IP 地理位置
2、浏览器语言首选项
3、用户手动选择

1和2可能存在误差。VPN 或代理服务器,使其 IP 地址与实际所在国家不一致。而浏览器语言偏好设置可能会被用户手动更改。
从体验上来说 3 不错,或者结合使用。

宋俊艾
2023-07-19

前端(客户端)处理的话可以通过 Navigator.language - Web API 接口参考 | MDN 来获取用户设置的语言。

navigator.language// log => "zh-CN" 

后端(服务端)可以通过在 Nginx 中配置按照不同请求头中的 Accept-Language 值做不同的重定向。

但其实前端做处理就可以了,毕竟现在国际化基本都是前端来做了。

 类似资料:
  • 除了通过用户点击地球表面的国家来进行切换以外,Giojs还支持使用switchCountry() API来直接切换 被选中的国家 ,开发者可以使用这个API来开发具有交互性的应用。 (您也可以点击在线演示,查看应用该API的示例) 参数:countryCode - 在 ISO 3166 标准中的国家代码 // 切换选中国家到 "US" controller.switchCountry("US");

  • Woocommerce中,送货方式(Shipping method)可以根据国家不同而不同,支付网关(Payment Gateways)却无法选择国家,只要开启了某种支付方式,不管用户选择哪个国家,都会出现。 中国普遍使用支付宝,paypal也有一定用户,下面的代码可以让用户选择中国时只出现支付宝和paypal两种支付方式,如果这两种方式都没有启用,则显示其余启用的支付方式。 add_filter

  • Vue3如何实现像这个网站的图片自动切换效果 https://fortnite.gg/shop 这是我写的template 查看了该网站的效果是设置了两个class="animation"的盒子来做链接切换并且调整高度,但是我的每个item的图片数量不确定,有的为1,有的为2,3个,实在想不出来应该怎么实现了,可以请教大佬们一下思路吗

  • 所以,我有一个按钮,在黑暗和光明模式之间切换(我的网站默认是黑暗的),它可以工作,但现在我需要它保持在任何切换状态,在多个页面选择。我怀疑这和会话存储有关。也不想使用jQuery。我可以在代码中添加什么来实现这一点呢? 我有五个页面都链接到了id为“dark”的styles.css,然后在JS中我引用了第二个样式表light.css或JS中的“light”,所以我要切换样式表。所有五个页面的页脚都

  • 问题内容: 是否有热键或简便的方法用IntelliJ中的开关替换if-else if语句?我不希望不将if-else if语句手动转换为开关。我希望能够突出显示if- else if语句并按组合键或使用菜单按钮。 问题答案: 更新 :正如@christopheml在对另一个答案的评论中指出的那样,“用Switch替换”似乎在IntelliJ 2018.1中消失了。已在此处提交错误。 有Intell

  • 现在的效果是鼠标悬浮文字切换背景图,如何改成.line自动往下滚动,滚动到下一个文字就切换当前文字的背景图,鼠标悬浮就停止滚动。