Как получить локаль для localeCompare от i18next?

Наш проект использует i18next для переводов, и в настоящее время мне нужно отсортировать строки, используя String.prototype.localeCompare

Как мне получить такой код, как 'en', 'fr', 'en-US' и т. д., от i18next? Использует ли i18next по умолчанию определенный код? Нужно ли мне использовать экземпляр i18next или экспорт по умолчанию?

Я полагаю, что это можно назвать языковыми тегами BCP 47.

Спасибо


person neaumusic    schedule 04.11.2020    source источник
comment
Вы ищете i18next.language?   -  person tenorsax    schedule 04.11.2020


Ответы (1)


Итак, краткий ответ: вы просто используете i18next.language

В нашем случае имело значение то, что мы использовали правильный экземпляр, а не только импорт по умолчанию. Мы также использовали дополнительный слой под названием react-i18next, как показано ниже.

import { I18nContext } from "react-i18next";

...

const { i18n } = useContext(I18nContext);

...

return isLocaleCompareSupported()
    ? aText.localeCompare(bText, i18n.language)
    : aText.localeCompare(bText);

person neaumusic    schedule 04.11.2020