我们的项目正在使用i18next进行翻译,目前我需要使用String.prototype.localeCompare来对字符串进行排序
我应该如何从i18next获取诸如'en'
,'fr'
,'en-US'
等的代码? i18next是否默认为特定代码?我需要使用i18next实例还是默认导出?
我相信这些可以称为“ BCP 47语言标签”
谢谢
答案 0 :(得分:0)
好,所以简短的答案是您只使用i18next.language
在我们的例子中,使用正确的实例(不仅仅是默认的导入)确实很重要。我们还使用了一个名为react-i18next
的附加层,如下所示。
import { I18nContext } from "react-i18next";
...
const { i18n } = useContext(I18nContext);
...
return isLocaleCompareSupported()
? aText.localeCompare(bText, i18n.language)
: aText.localeCompare(bText);