UNPKG

epn-ui

Version:

Дизайн система кабинета ВМ

34 lines (31 loc) 917 B
import templite from 'templite'; import { useState } from 'react'; import ruLocale from '../locales/ru.json.js'; import enLocale from '../locales/en.json.js'; var translationObj = { en: enLocale, ru: ruLocale, }; var LOCALE_TYPES = { ru: 'ru', en: 'en', }; function useI18n() { var _a = useState(LOCALE_TYPES.ru), locale = _a[0], setLocale = _a[1]; var changeLanguage = function (language) { return setLocale(language); }; var t = function (key) { var _a; if (typeof locale !== 'string') { return key; } var translation = (_a = translationObj[locale]) === null || _a === void 0 ? void 0 : _a[key]; if (!translation) return key; return templite(translation, {}); }; return { t: t, changeLanguage: changeLanguage, }; } export { LOCALE_TYPES, useI18n as default };