|
@@ -15,7 +15,7 @@ import dynamic from "next/dynamic";
|
|
|
import { Path, SlotID } from "../constant";
|
|
|
import { ErrorBoundary } from "./error";
|
|
|
|
|
|
-import { getLang } from "../locales";
|
|
|
+import { getISOLang, getLang } from "../locales";
|
|
|
|
|
|
import {
|
|
|
HashRouter as Router,
|
|
@@ -86,6 +86,17 @@ export function useSwitchTheme() {
|
|
|
}, [config.theme]);
|
|
|
}
|
|
|
|
|
|
+function useHtmlLang() {
|
|
|
+ useEffect(() => {
|
|
|
+ const lang = getISOLang();
|
|
|
+ const htmlLang = document.documentElement.lang;
|
|
|
+
|
|
|
+ if (lang !== htmlLang) {
|
|
|
+ document.documentElement.lang = lang;
|
|
|
+ }
|
|
|
+ }, []);
|
|
|
+}
|
|
|
+
|
|
|
const useHasHydrated = () => {
|
|
|
const [hasHydrated, setHasHydrated] = useState<boolean>(false);
|
|
|
|
|
@@ -168,6 +179,7 @@ export function useLoadData() {
|
|
|
export function Home() {
|
|
|
useSwitchTheme();
|
|
|
useLoadData();
|
|
|
+ useHtmlLang();
|
|
|
|
|
|
useEffect(() => {
|
|
|
console.log("[Config] got config from build time", getClientConfig());
|