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

This commit is contained in:
eafonyang
2026-07-01 11:23:12 +08:00
parent 1e5e6f5548
commit ac9bac4d18
21 changed files with 113 additions and 460 deletions
+3 -5
View File
@@ -59,15 +59,13 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { Streamdown } from "streamdown";
import { toast } from "sonner";
import localeZh from "@/locales/data-zh.json";
import localeZhHK from "@/locales/data-zh-HK.json";
import localeEn from "@/locales/data-en.json";
import { resolveDeviceLanguage, resolveLocalePack } from "@/locales/resolveLocale";
type AILocale = NonNullable<(typeof localeZh)["ai"]>;
function resolveAILocale(language: number | undefined): AILocale {
const loc =
language === 0 ? localeEn : language === 1 ? localeZhHK : localeZh;
return loc.ai as AILocale;
return resolveLocalePack(language).ai as AILocale;
}
function formatText(template: string, vars: Record<string, string | number>): string {
@@ -210,7 +208,7 @@ export default function AIPage({ variant = "page", onClose }: AIPageProps = {})
const { setOpen: setAiPanelOpen } = useAIDrawer();
const { isConnected, deviceState, api } = useDevice();
const mac = deviceState?.mac ?? "";
const language = deviceState?.language ?? 2;
const language = resolveDeviceLanguage(deviceState?.language);
const deviceName = deviceState?.device ?? "Luxsin X9";
const aiText = useMemo(() => resolveAILocale(language), [language]);