You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在浏览器中获取用户区域设置而非用户语言?问题排查

问题分析与解决

你的Windows 11系统区域设为丹麦语,但浏览器优先使用英语(en-GB)作为语言偏好,导致Intl.NumberFormat().resolvedOptions().locale返回en-GB而非预期的da-DK——因为这个API读取的是浏览器的语言设置,不是系统区域设置。

解决步骤

  • 调整浏览器语言优先级:
    • Chrome/Edge:进入设置→语言,添加丹麦语(da-DK),并将其拖动到语言列表的最顶部,重启浏览器后生效
    • Firefox:进入设置→语言和外观→语言,添加丹麦语,通过上移按钮将其设为首选语言
  • 网页端无法直接读取系统区域设置(浏览器出于隐私安全限制了这类系统级访问),如果需要适配系统区域,可引导用户手动选择区域,或优化代码优先检查navigator.languages中的丹麦语:
    function getUserLocale() {
        const preferredLocales = navigator.languages || [];
        // 优先找丹麦语相关区域
        const danishLocale = preferredLocales.find(locale => locale.startsWith('da'));
        if (danishLocale) return danishLocale;
    
        const intl = window.Intl;
        if (intl !== undefined) {
            return intl.NumberFormat().resolvedOptions().locale;
        }
    
        return navigator.language ?? "en-US";
    }
    

内容的提问来源于stack exchange,提问作者Holm76

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 18:15:00