UNPKG

@ducor/react

Version:

admin template ui interface

32 lines (31 loc) 1.17 kB
import { jsx as _jsx } from "react/jsx-runtime"; // src/contexts/LanguageContext.tsx import { createContext, useState, useContext, useCallback, } from "react"; // Create the context with a default value var LanguageContext = createContext(undefined); var LanguageProvider = function (_a) { var children = _a.children; var _b = useState("en"), language = _b[0], setLanguage = _b[1]; var changeLanguage = function (lang) { setLanguage(lang); }; return (_jsx(LanguageContext.Provider, { value: { language: language, changeLanguage: changeLanguage }, children: children })); }; var useTrans = function () { var context = useContext(LanguageContext); if (!context) { throw new Error("useTranslate must be used within a LanguageProvider"); } // const translations = { // {} // }; // console.log('context', context); var language = context.language; var t = useCallback(function (key) { // console.log('translate', key); return key; // return translations[language][key] || key; }, [language]); return { t: t }; }; export { LanguageProvider, LanguageContext, useTrans };