@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
41 lines (36 loc) • 1.84 kB
JavaScript
;
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