@ducor/react
Version:
admin template ui interface
32 lines (31 loc) • 1.17 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
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 };