UNPKG

@uimkit/uikit-react

Version:

<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>

37 lines (34 loc) 1.71 kB
import { __assign } from 'tslib'; import { useState, useEffect } from 'react'; import { defaultDateTimeParser, isLanguageSupported } from '../../../context/TranslationContext.js'; import '../../../context/UIKitContext.js'; import '../../../context/ComponentContext.js'; import '../../../context/ChatActionContext.js'; import '../../../context/MessageInputContext.js'; import '../../../context/UIMessageContext.js'; import '../../../context/ChatStateContext.js'; import { defaultTranslatorFunction, Uimi18n } from '../../../i18n/uimi18n.js'; function useTranslators(_a) { var defaultLanguage = _a.defaultLanguage, i18nInstance = _a.i18nInstance; var _b = useState({ t: defaultTranslatorFunction, tDateTimeParser: defaultDateTimeParser, userLanguage: 'zh', }), translators = _b[0], setTranslators = _b[1]; useEffect(function () { var browserLanguage = window.navigator.language.slice(0, 2); // just get language code, not country-specific version var userLanguage = isLanguageSupported(browserLanguage) ? browserLanguage : defaultLanguage; var uimi18n = i18nInstance || new Uimi18n({ language: userLanguage }); uimi18n.registerSetLanguageCallback(function (t) { return setTranslators(function (prevTranslator) { return (__assign(__assign({}, prevTranslator), { t: t })); }); }); uimi18n.getTranslators().then(function (translator) { setTranslators(__assign(__assign({}, translator), { userLanguage: userLanguage || defaultLanguage })); }); }, [i18nInstance]); return { translators: translators, }; } export { useTranslators }; //# sourceMappingURL=useTranslators.js.map