From e0a98773c39183b3b07a6d290f7a636647fb56d5 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 19 五月 2025 15:27:10 +0800
Subject: [PATCH] 语言国际化兼容性修改

---
 rsf-admin/src/App.jsx |   40 +++++++++++++++++++++++-----------------
 1 files changed, 23 insertions(+), 17 deletions(-)

diff --git a/rsf-admin/src/App.jsx b/rsf-admin/src/App.jsx
index 86babcc..d08adab 100644
--- a/rsf-admin/src/App.jsx
+++ b/rsf-admin/src/App.jsx
@@ -31,7 +31,19 @@
 import { getSystemInfo, getSystemDicts, tenants } from "@/api/auth";
 import chineseMessages from 'ra-language-chinese';
 import { createTheme, ThemeProvider } from '@mui/material/styles';
-import { zhCN } from '@mui/material/locale';
+import { zhCN, frFR, enUS } from '@mui/material/locale';
+
+
+const getMaterialUILocale = (locale) => {
+  switch (locale) {
+    case 'en':
+      return enUS;
+    case 'fr':
+      return frFR;
+    default:
+      return zhCN;
+  }
+};
 
 const i18nProvider = polyglotI18nProvider(
   (locale) => {
@@ -49,7 +61,7 @@
     { locale: "ru", name: "Russian" },
     { locale: "lk", name: "袪褍褋褋泻懈泄" },
     { locale: "es", name: "Espa帽ola" },
-    	
+
   ],
   {
     // msg in console
@@ -58,21 +70,17 @@
 );
 
 
-const theme = createTheme(
-  {
-    palette: { main: '#1976d2' },
-  },
-  zhCN
-)
-
-
 const store = localStorageStore(SPA_VERSION, SPA_NAME);
 
 const App = () => {
   const [themeName] = useStore("themeName", DEFAULT_THEME_NAME);
   const lightTheme = themes.find((theme) => theme.name === themeName)?.light;
   const darkTheme = themes.find((theme) => theme.name === themeName)?.dark;
-
+  const [locale, setLocale] = useState('zh');
+  const theme = createTheme(
+    {
+      ...lightTheme
+    }, getMaterialUILocale(locale))
   useEffect(() => {
     getSystemInfo().then((data) => {
       localStorage.setItem("system", JSON.stringify(data));
@@ -89,6 +97,7 @@
         lightTheme={lightTheme}
         darkTheme={darkTheme}
         defaultTheme={DEFAULT_THEME_MODE}
+        theme={theme}
         i18nProvider={i18nProvider}
         dataProvider={DataProvider(DATA_PROVIDER_SPRING)}
         loginPage={Login}
@@ -118,12 +127,9 @@
 };
 
 const AppWrapper = () => (
-  <ThemeProvider theme={theme}>
-    <StoreContextProvider value={store}>
-      <App />
-    </StoreContextProvider>
-  </ThemeProvider>
-
+  <StoreContextProvider value={store}>
+    <App />
+  </StoreContextProvider>
 );
 
 export default AppWrapper;
\ No newline at end of file

--
Gitblit v1.9.1