UNPKG

@react-native-localize-ext/react

Version:
33 lines (32 loc) 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useLocale = exports.useI18n = void 0; const react_1 = require("react"); const utils_1 = require("./utils"); function useI18n(...i18nList) { const [, setSign] = react_1.useState(() => utils_1.getSignatures(i18nList)); react_1.useEffect(() => { const listeners = i18nList.map((item, index) => { return item._.listen(() => { setSign((value) => { const data = value.split(utils_1.SPLIT_STR); data[index] = utils_1.getSignature(item); return data.join(utils_1.SPLIT_STR); }); }); }); return () => { listeners.forEach((unListen) => unListen()); }; }, []); return; } exports.useI18n = useI18n; function useLocale(i18n) { const [locale, setLocale] = react_1.useState(i18n._.getLocaleName()); i18n._.listen((name) => { setLocale(name); }); return locale; } exports.useLocale = useLocale;