UNPKG

@magicbell/magicbell-react

Version:

React components for building a notification inbox for your app

35 lines 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useLocale = useLocale; const tslib_1 = require("tslib"); require("dayjs/locale/es.js"); require("dayjs/locale/pt-br.js"); require("dayjs/locale/de.js"); const dayjs_1 = tslib_1.__importDefault(require("dayjs")); const ramda_1 = require("ramda"); const de_js_1 = tslib_1.__importDefault(require("./translations/de.js")); const es_js_1 = tslib_1.__importDefault(require("./translations/es.js")); const pt_br_js_1 = tslib_1.__importDefault(require("./translations/pt-br.js")); function setDayjsLocale(localeName) { // All dayjs files are in lowercase and use hypens instead of underscores. const standardLocaleName = localeName.toLowerCase().replace('_', '-'); dayjs_1.default.locale(standardLocaleName); } /** * Function to build localization data for the `TranslationsProvider`. * * @param locale */ function useLocale(locale) { const localeName = typeof locale === 'string' ? locale : locale.name; setDayjsLocale(localeName); const defaultLocales = { es: es_js_1.default, pt_BR: pt_br_js_1.default, de: de_js_1.default }; if (typeof locale === 'string') { return defaultLocales[locale]; } else { const customLocales = (0, ramda_1.mergeDeepRight)(defaultLocales, { [localeName]: locale.translations }); return customLocales[localeName]; } } //# sourceMappingURL=i18n.js.map