* feat: integrate i18next for internationalization support - Added i18next and react-i18next dependencies for localization. - Updated various components to utilize translation functions for user-facing text. - Enhanced user experience by providing multilingual support across the application. * feat: improve i18n implementation with better translations and accessibility - Add proper i18n keys for language switcher tooltips and aria-labels - Replace hardcoded Chinese console error messages with i18n keys - Add missing translation keys for new UI elements - Improve accessibility with proper aria-label attributes --------- Co-authored-by: Jason <farion1231@gmail.com>
30 lines
785 B
TypeScript
30 lines
785 B
TypeScript
import React from "react";
|
||
import ReactDOM from "react-dom/client";
|
||
import App from "./App";
|
||
import { UpdateProvider } from "./contexts/UpdateContext";
|
||
import "./index.css";
|
||
// 导入 Tauri API(自动绑定到 window.api)
|
||
import "./lib/tauri-api";
|
||
// 导入国际化配置
|
||
import "./i18n";
|
||
|
||
// 根据平台添加 body class,便于平台特定样式
|
||
try {
|
||
const ua = navigator.userAgent || "";
|
||
const plat = (navigator.platform || "").toLowerCase();
|
||
const isMac = /mac/i.test(ua) || plat.includes("mac");
|
||
if (isMac) {
|
||
document.body.classList.add("is-mac");
|
||
}
|
||
} catch {
|
||
// 忽略平台检测失败
|
||
}
|
||
|
||
ReactDOM.createRoot(document.getElementById("root")!).render(
|
||
<React.StrictMode>
|
||
<UpdateProvider>
|
||
<App />
|
||
</UpdateProvider>
|
||
</React.StrictMode>
|
||
);
|