javascript - 如何从 i18next 获取 localeCompare 的语言环境?
问题描述
我们的项目使用i18next进行翻译,我目前需要使用String.prototype.localeCompare对字符串进行排序
我将如何从 i18next获取类似'en'
, 'fr'
,等的代码?'en-US'
i18next 是否默认使用特定代码?我需要使用 i18next 实例还是默认导出?
我相信这些可能被称为“BCP 47 语言标签”
谢谢
解决方案
好的,所以简短的答案是您只需使用i18next.language
在我们的例子中,我们使用正确的实例很重要,而不仅仅是默认导入。我们还使用了一个附加层react-i18next
,如下所示。
import { I18nContext } from "react-i18next";
...
const { i18n } = useContext(I18nContext);
...
return isLocaleCompareSupported()
? aText.localeCompare(bText, i18n.language)
: aText.localeCompare(bText);
推荐阅读
- syntax - 在八度函数中定义变量
- c++ - 使用线程和 GUI 进行定期通信
- tensorflow - 如何从 2 个类别的 3x3 混淆矩阵中找到 TP、TN、FP 和 FN 值?
- deluge - deluge 脚本 - 日期比较运算符与当前日期
- c++ - 在函数 C++ 中调用模板函数
- json - WebHook Azure 数据工厂传递变量
- c++ - 在另一个之上创建一个弹出窗口
- django - ModelMultipleChoiceField 字段无返回值
- android-room - Android Jetpack Room 一对多查询哪里
- javascript - 将 PHP 结合到 Javascript 中?