当设备未连接时,各页面默认显示英文语言的文本,并在标题追加 (Disconnect)

This commit is contained in:
eafonyang
2026-07-01 11:23:06 +08:00
parent 8283ffcf14
commit ac7b5da0f0
20 changed files with 113 additions and 440 deletions
+7 -6
View File
@@ -12,8 +12,9 @@ import { Check, ChevronLeft } from "lucide-react";
import { useLocation } from "wouter";
import { useMemo } from "react";
import localeZh from "@/locales/data-zh.json";
import localeZhHK from "@/locales/data-zh-HK.json";
import localeEn from "@/locales/data-en.json";
import { resolveLocalePack } from "@/locales/resolveLocale";
import { usePageTitleWithConnection } from "@/hooks/usePageTitleWithConnection";
type VUPageLocale = NonNullable<(typeof localeZh)["vuPage"]>;
@@ -35,12 +36,12 @@ export default function VUPage() {
const currentVU = deviceState?.vu ?? 0;
const vuPageText = useMemo((): VUPageLocale => {
const lang = deviceState?.language;
const loc =
lang === 0 ? localeEn : lang === 1 ? localeZhHK : localeZh;
return (loc.vuPage ?? {}) as VUPageLocale;
const loc = resolveLocalePack(deviceState?.language);
return (loc.vuPage ?? localeEn.vuPage ?? {}) as VUPageLocale;
}, [deviceState?.language]);
const pageTitle = usePageTitleWithConnection(vuPageText.title ?? "VU");
return (
<div className="min-h-screen bg-black">
<div className="page-header">
@@ -48,7 +49,7 @@ export default function VUPage() {
<ChevronLeft size={24} />
</button>
<h1 className="flex-1 text-center text-[17px] font-semibold text-white">
{vuPageText.title ?? "VU 表库"}
{pageTitle}
</h1>
<div className="w-8" />
</div>