自动检测用户所在的国家,时区,语言和货币

我想要一种万无一失的方法来检测用户的国家/地区,时区,语言和货币,而不提示用户任何其他权限,例如位置权限。这应该适用于大多数浏览器。另外,我从浏览器获得的值在不同的浏览器中是否相同?另外,可以将这些值与后端的国家/时区/语言/货币的一些标准数据库进行比较/合并吗?