代码之家  ›  专栏  ›  技术社区  ›  neaumusic

如何从i18next获取localeCompare的区域设置?

  •  0
  • neaumusic  · 技术社区  · 4 年前

    我们的项目正在使用 i18next 对于翻译,我目前需要使用 String.prototype.localeCompare

    我该如何获得这样的代码 'en' , 'fr' , 'en-US' 等从i18next?i18next是否默认为特定代码?我需要使用i18next实例还是默认导出?

    我认为这些可能被称为“BCP 47语言标签”

    谢谢

    0 回复  |  直到 4 年前
        1
  •  0
  •   neaumusic    4 年前

    好的,简而言之,你只需使用 i18next.language

    在我们的例子中,重要的是我们使用了正确的实例,而不仅仅是默认导入。我们还使用了一个名为 react-i18next 如下图所示。

    import { I18nContext } from "react-i18next";
    
    ...
    
    const { i18n } = useContext(I18nContext);
    
    ...
    
    return isLocaleCompareSupported()
        ? aText.localeCompare(bText, i18n.language)
        : aText.localeCompare(bText);