网站做国际化如何获取用户所在的国家/地区

1、我用nuxt做了一个后端渲染的项目
2、我需要做国际化,使用i18n进行切换不同语言的文案都是没有问题的
3、但是获取用户所在的国家或者地区该怎么做,求前辈们指点一下。

阅读 7.1k
3 个回答

一般来说:

  1. 基于IP地址的识别, 有现成的库(如ipip.net)
  2. 基于浏览器的UA字段来判断

结合使用

我想到了这几种方法来判定用户的语言和国家/地区:

  1. 读取 navigator.systemLanguage 属性的值, 其值如这样 “zh-CN”;
  2. Http Header 中的 “Accept-Language” 记录了用户代理期望获取什么语言的网页,比如我这里是这样的 “Accept-Language: zh-Hans-CN,zh-Hans;q=0.5”
  3. 可以根据 IP 地址等的区域属性做更细致的判别;
  4. 更不要缺少的是给与用户主动选择的能力。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题