@ducor/react
Version:
admin template ui interface
31 lines (30 loc) • 1.09 kB
JavaScript
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
const LanguageContext = createContext(undefined);
const LanguageProvider = ({ children }) => {
const [language, setLanguage] = useState("en");
const changeLanguage = (lang) => {
setLanguage(lang);
};
return (_jsx(LanguageContext.Provider, { value: { language, changeLanguage }, children: children }));
};
const useTrans = () => {
const context = useContext(LanguageContext);
if (!context) {
throw new Error("useTranslate must be used within a LanguageProvider");
}
// const translations = {
// {}
// };
// console.log('context', context);
const { language } = context;
const t = useCallback((key) => {
// console.log('translate', key);
return key;
// return translations[language][key] || key;
}, [language]);
return { t };
};
export { LanguageProvider, LanguageContext, useTrans };