适配新语言
This commit is contained in:
@@ -4,18 +4,18 @@ import { isLikelyNetworkFetchError } from "@/lib/networkError";
|
||||
import { Loader2, Wifi } from "lucide-react";
|
||||
import BottomNav from "@/components/BottomNav";
|
||||
import localeZh from "@/locales/data-zh.json";
|
||||
import localeZhHK from "@/locales/data-zh-HK.json";
|
||||
import localeEn from "@/locales/data-en.json";
|
||||
import { getUiLanguageOverride, isKnownLanguage, resolveLocalePack } from "@/locales/resolveLocale";
|
||||
|
||||
type ConnectLocale = (typeof localeZh)["connect"];
|
||||
|
||||
function pickConnectLocale(): ConnectLocale {
|
||||
function pickConnectLocale(effectiveLanguage: number): ConnectLocale {
|
||||
// 前端语言覆盖(de/es/fr)优先;否则沿用 URL ?lang=(设备语言);最后回退到生效语言。
|
||||
const override = getUiLanguageOverride();
|
||||
if (override != null) return resolveLocalePack(override).connect as ConnectLocale;
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
const lang = params.get("lang");
|
||||
if (lang === "0") return localeEn.connect;
|
||||
if (lang === "1") return localeZhHK.connect;
|
||||
if (lang === "2") return localeZh.connect;
|
||||
return localeEn.connect;
|
||||
const langParam = Number(params.get("lang"));
|
||||
const lang = isKnownLanguage(langParam) ? langParam : effectiveLanguage;
|
||||
return resolveLocalePack(lang).connect as ConnectLocale;
|
||||
}
|
||||
|
||||
function fmt(template: string, vars: Record<string, string>): string {
|
||||
@@ -28,8 +28,8 @@ function fmt(template: string, vars: Record<string, string>): string {
|
||||
|
||||
/** 自动连接设备时的占位(替代原 ConnectScreen) */
|
||||
export default function ConnectionPlaceholder() {
|
||||
const { ip, isConnecting, error, ipMissing } = useDevice();
|
||||
const text = useMemo(pickConnectLocale, []);
|
||||
const { ip, isConnecting, error, ipMissing, effectiveLanguage } = useDevice();
|
||||
const text = useMemo(() => pickConnectLocale(effectiveLanguage), [effectiveLanguage]);
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-black flex flex-col items-center justify-center px-6 pb-24">
|
||||
|
||||
Reference in New Issue
Block a user