当前文件引入import { useTranslation } from "react-i18next";
| const { t } = useTranslation(); |
| <Form.Item className="login-btn"> |
| <Button |
| onClick={() => { |
| form.resetFields(); |
| }} |
| icon={<CloseCircleOutlined />} |
| > |
| {t("login.reset")} |
| </Button> |
| <Button type="primary" htmlType="submit" |
| loading={loading} icon={<UserOutlined />}> |
| {t("login.confirm")} |
| </Button> |
| </Form.Item> |
app.tsx
| import { useState, useEffect } from "react"; |
| import { getBrowserLang } from "@/utils/util"; |
| import { ConfigProvider } from "antd"; |
| import { connect } from "react-redux"; |
| import { setLanguage } from "@/redux/modules/global/action"; |
| import { HashRouter } from "react-router-dom"; |
| import AuthRouter from "@/routers/utils/authRouter"; |
| import Router from "@/routers/index"; |
| import useTheme from "@/hooks/useTheme"; |
| import zhCN from "antd/lib/locale/zh_CN"; |
| import enUS from "antd/lib/locale/en_US"; |
| import i18n from "i18next"; |
| import "moment/dist/locale/zh-cn"; |
| |
| const App = (props: any) => { |
| const { language, assemblySize, themeConfig, setLanguage } = props; |
| const [i18nLocale, setI18nLocale] = useState(zhCN); |
| |
| |
| useTheme(themeConfig); |
| |
| |
| const setAntdLanguage = () => { |
| |
| 没有默认语言就设置成浏览器默认语言 |
| if (language && language == "zh") return setI18nLocale(zhCN); |
| if (language && language == "en") return setI18nLocale(enUS); |
| if (getBrowserLang() == "zh") return setI18nLocale(zhCN); |
| if (getBrowserLang() == "en") return setI18nLocale(enUS); |
| }; |
| |
| useEffect(() => { |
| |
| i18n.changeLanguage(language || getBrowserLang()); |
| setLanguage(language || getBrowserLang()); |
| setAntdLanguage(); |
| }, [language]); |
| |
| return ( |
| <HashRouter> |
| <ConfigProvider locale={i18nLocale} componentSize={assemblySize}> |
| <AuthRouter> |
| <Router /> |
| </AuthRouter> |
| </ConfigProvider> |
| </HashRouter> |
| ); |
| }; |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!