UNPKG

@uimkit/uikit-react

Version:

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

41 lines (36 loc) 1.84 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib = require('tslib'); var React = require('react'); var TranslationContext = require('../../../context/TranslationContext.js'); require('../../../context/UIKitContext.js'); require('../../../context/ComponentContext.js'); require('../../../context/ChatActionContext.js'); require('../../../context/MessageInputContext.js'); require('../../../context/UIMessageContext.js'); require('../../../context/ChatStateContext.js'); var uimi18n = require('../../../i18n/uimi18n.js'); function useTranslators(_a) { var defaultLanguage = _a.defaultLanguage, i18nInstance = _a.i18nInstance; var _b = React.useState({ t: uimi18n.defaultTranslatorFunction, tDateTimeParser: TranslationContext.defaultDateTimeParser, userLanguage: 'zh', }), translators = _b[0], setTranslators = _b[1]; React.useEffect(function () { var browserLanguage = window.navigator.language.slice(0, 2); // just get language code, not country-specific version var userLanguage = TranslationContext.isLanguageSupported(browserLanguage) ? browserLanguage : defaultLanguage; var uimi18n$1 = i18nInstance || new uimi18n.Uimi18n({ language: userLanguage }); uimi18n$1.registerSetLanguageCallback(function (t) { return setTranslators(function (prevTranslator) { return (tslib.__assign(tslib.__assign({}, prevTranslator), { t: t })); }); }); uimi18n$1.getTranslators().then(function (translator) { setTranslators(tslib.__assign(tslib.__assign({}, translator), { userLanguage: userLanguage || defaultLanguage })); }); }, [i18nInstance]); return { translators: translators, }; } exports.useTranslators = useTranslators; //# sourceMappingURL=useTranslators.js.map