UNPKG

fenextjs-hook

Version:
50 lines 1.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useLanguage = void 0; const react_1 = require("react"); const fenextjs_functions_1 = require("fenextjs-functions"); const useLocalStorage_1 = require("../useLocalStorage"); const useLanguage = ({ langs, listTranductions, defaultLang, onNoFoundTranslate, fallbackNoFoundTranslation = undefined, }) => { const { setLocalStorage: setCurrentLang, value: currentLang, load, } = (0, useLocalStorage_1.useLocalStorage)({ name: "fenextjs-lang", defaultValue: defaultLang ?? langs?.[0], }); const onTranslate = (0, react_1.useCallback)((word) => { if (!word || word === "") return word; if (typeof word === "string" && currentLang && typeof window !== "undefined") { const cleanedWord = (0, fenextjs_functions_1.cleanTextForTranslate)(word); if (cleanedWord === "") return ""; const translation = listTranductions?.[cleanedWord]?.[currentLang]; if (translation) { return translation; } else { onNoFoundTranslate?.({ lang: currentLang, word: cleanedWord, }); if (fallbackNoFoundTranslation != undefined) { return fallbackNoFoundTranslation; } } } return word; }, [ currentLang, listTranductions, onNoFoundTranslate, fallbackNoFoundTranslation, ]); return { onTranslate, load, currentLang, setCurrentLang, }; }; exports.useLanguage = useLanguage; //# sourceMappingURL=index.js.map