gpt4 book ai didi

获取运行时默认语言环境的 JavaScript 标准 API?

转载 作者:行者123 更新时间:2023-12-03 14:25:15 28 4
gpt4 key购买 nike

为了确定当前的语言环境,我找到了不同的方法:

  • 在浏览器中,大多数人建议查看 HTTP header (Accept-Language)
  • 有人建议咨询navigator.language
  • 在后端(Node.js)和HTTP之外,建议咨询(取决于系统)process.env

  • 另一方面,ECMAScript 国际化 API 定义了 locales Intl 中的每一个的参数构造函数作为可选:

    If the locales argument is not provided or is undefined, the runtime'sdefault locale is used.


    因此,似乎应该有一种独立于浏览器和独立于操作系统的方式来获取“运行时的默认语言环境”。
    有没有比获取运行时的默认语言环境更直接的方法
    new Intl.NumberFormat().resolvedOptions().locale
    ?

    问题 How/Where does JavaScript detect the default locale?是不同的,因为它要求检测默认语言环境(在浏览器主机中)的实现。与此相反,我的问题不是关于实现,而是关于标准 API 的存在。

    最佳答案

    我不知道更直接的方法,但正如你已经指出的那样,

  • new Intl.NumberFormat().resolvedOptions().locale是一个解决方案
  • DefaultLocale是一个抽象操作,将来可能会或可能不会实现。

  • 因此,我主张对 function 进行 polyfill。作为:
    if (typeof DefaultLocale === "undefined") {
    function DefaultLocale() {
    return new Intl.NumberFormat().resolvedOptions().locale;
    }
    }
    因此,您的代码将合理地假设存在并将其称为 function .在 future 的某个时候,当这个 function以标准方式实现,您将能够通过从上面删除 block 来进行清理。

    关于获取运行时默认语言环境的 JavaScript 标准 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55385129/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com