From 81f651f4f3476b3ea999d05b626c9dfb85034fe6 Mon Sep 17 00:00:00 2001 From: Slinetrac Date: Sun, 2 Nov 2025 23:08:45 +0800 Subject: [PATCH] chore(i18n): common.* --- src/components/base/base-empty.tsx | 17 ++++-- src/components/home/clash-mode-card.tsx | 53 +++++++++++++------ src/components/home/system-info-card.tsx | 4 +- src/components/profile/editor-viewer.tsx | 4 +- src/components/proxy/proxy-groups.tsx | 2 +- .../setting/mods/clash-core-viewer.tsx | 4 +- src/components/setting/mods/hotkey-viewer.tsx | 14 ++++- .../setting/mods/network-interface-viewer.tsx | 2 +- src/locales/ar.json | 43 +++++++++------ src/locales/de.json | 43 +++++++++------ src/locales/en.json | 43 +++++++++------ src/locales/es.json | 43 +++++++++------ src/locales/fa.json | 43 +++++++++------ src/locales/id.json | 43 +++++++++------ src/locales/jp.json | 43 +++++++++------ src/locales/ko.json | 43 +++++++++------ src/locales/ru.json | 43 +++++++++------ src/locales/tr.json | 43 +++++++++------ src/locales/tt.json | 43 +++++++++------ src/locales/zh.json | 43 +++++++++------ src/locales/zhtw.json | 43 +++++++++------ src/pages/unlock.tsx | 2 +- 22 files changed, 437 insertions(+), 224 deletions(-) diff --git a/src/components/base/base-empty.tsx b/src/components/base/base-empty.tsx index dcf04bbb..275f43ef 100644 --- a/src/components/base/base-empty.tsx +++ b/src/components/base/base-empty.tsx @@ -1,16 +1,23 @@ import { InboxRounded } from "@mui/icons-material"; import { alpha, Box, Typography } from "@mui/material"; +import type { ReactNode } from "react"; import { useTranslation } from "react-i18next"; interface Props { - text?: React.ReactNode; - extra?: React.ReactNode; + text?: ReactNode; + textKey?: string; + extra?: ReactNode; } -export const BaseEmpty = (props: Props) => { - const { text = "Empty", extra } = props; +export const BaseEmpty = ({ + text, + textKey = "common.states.empty", + extra, +}: Props) => { const { t } = useTranslation(); + const resolvedText: ReactNode = text !== undefined ? text : t(textKey); + return ( ({ @@ -24,7 +31,7 @@ export const BaseEmpty = (props: Props) => { })} > - {t(`${text}`)} + {resolvedText} {extra} ); diff --git a/src/components/home/clash-mode-card.tsx b/src/components/home/clash-mode-card.tsx index 96fab34f..d8cd3982 100644 --- a/src/components/home/clash-mode-card.tsx +++ b/src/components/home/clash-mode-card.tsx @@ -13,25 +13,48 @@ import { useVerge } from "@/hooks/use-verge"; import { useAppData } from "@/providers/app-data-context"; import { patchClashMode } from "@/services/cmds"; +const CLASH_MODES = ["rule", "global", "direct"] as const; +type ClashMode = (typeof CLASH_MODES)[number]; + +const isClashMode = (mode: string): mode is ClashMode => + (CLASH_MODES as readonly string[]).includes(mode); + +const MODE_META: Record = { + rule: { + label: "home.clashMode.labels.rule", + description: "home.clashMode.descriptions.rule", + }, + global: { + label: "home.clashMode.labels.global", + description: "home.clashMode.descriptions.global", + }, + direct: { + label: "home.clashMode.labels.direct", + description: "home.clashMode.descriptions.direct", + }, +}; + export const ClashModeCard = () => { const { t } = useTranslation(); const { verge } = useVerge(); const { clashConfig, refreshClashConfig } = useAppData(); // 支持的模式列表 - const modeList = useMemo(() => ["rule", "global", "direct"] as const, []); + const modeList = CLASH_MODES; // 直接使用API返回的模式,不维护本地状态 const currentMode = clashConfig?.mode?.toLowerCase(); + const currentModeKey = + typeof currentMode === "string" && isClashMode(currentMode) + ? currentMode + : undefined; const modeDescription = useMemo(() => { - if (typeof currentMode === "string" && currentMode.length > 0) { - return t( - `${currentMode[0].toLocaleUpperCase()}${currentMode.slice(1)} Mode Description`, - ); + if (currentModeKey) { + return t(MODE_META[currentModeKey].description); } return t("home.clashMode.errors.communication"); - }, [currentMode, t]); + }, [currentModeKey, t]); // 模式图标映射 const modeIcons = useMemo( @@ -44,8 +67,8 @@ export const ClashModeCard = () => { ); // 切换模式的处理函数 - const onChangeMode = useLockFn(async (mode: string) => { - if (mode === currentMode) return; + const onChangeMode = useLockFn(async (mode: ClashMode) => { + if (mode === currentModeKey) return; if (verge?.auto_close_connection) { closeAllConnections(); } @@ -60,7 +83,7 @@ export const ClashModeCard = () => { }); // 按钮样式 - const buttonStyles = (mode: string) => ({ + const buttonStyles = (mode: ClashMode) => ({ cursor: "pointer", px: 2, py: 1.2, @@ -68,8 +91,8 @@ export const ClashModeCard = () => { alignItems: "center", justifyContent: "center", gap: 1, - bgcolor: mode === currentMode ? "primary.main" : "background.paper", - color: mode === currentMode ? "primary.contrastText" : "text.primary", + bgcolor: mode === currentModeKey ? "primary.main" : "background.paper", + color: mode === currentModeKey ? "primary.contrastText" : "text.primary", borderRadius: 1.5, transition: "all 0.2s ease-in-out", position: "relative", @@ -82,7 +105,7 @@ export const ClashModeCard = () => { transform: "translateY(1px)", }, "&::after": - mode === currentMode + mode === currentModeKey ? { content: '""', position: "absolute", @@ -128,7 +151,7 @@ export const ClashModeCard = () => { {modeList.map((mode) => ( onChangeMode(mode)} sx={buttonStyles(mode)} > @@ -137,10 +160,10 @@ export const ClashModeCard = () => { variant="body2" sx={{ textTransform: "capitalize", - fontWeight: mode === currentMode ? 600 : 400, + fontWeight: mode === currentModeKey ? 600 : 400, }} > - {t(mode)} + {t(MODE_META[mode].label)} ))} diff --git a/src/components/home/system-info-card.tsx b/src/components/home/system-info-card.tsx index 0f474218..0fa1c32e 100644 --- a/src/components/home/system-info-card.tsx +++ b/src/components/home/system-info-card.tsx @@ -174,7 +174,9 @@ export const SystemInfoCard = () => { try { const info = await checkUpdate(); if (!info?.available) { - showNotice.success("Currently on the Latest Version"); + showNotice.success( + t("settings.verge.advanced.notifications.latestVersion"), + ); } else { showNotice.info("Update Available", 2000); goToSettings(); diff --git a/src/components/profile/editor-viewer.tsx b/src/components/profile/editor-viewer.tsx index dd4591be..9b742f26 100644 --- a/src/components/profile/editor-viewer.tsx +++ b/src/components/profile/editor-viewer.tsx @@ -245,7 +245,9 @@ export const EditorViewer = (props: Props) => { appWindow.toggleMaximize().then(editorResize)} > {isMaximized ? : } diff --git a/src/components/proxy/proxy-groups.tsx b/src/components/proxy/proxy-groups.tsx index a5ae5331..84e771c4 100644 --- a/src/components/proxy/proxy-groups.tsx +++ b/src/components/proxy/proxy-groups.tsx @@ -372,7 +372,7 @@ export const ProxyGroups = (props: Props) => { }, [renderList]); if (mode === "direct") { - return ; + return ; } if (isChainMode) { diff --git a/src/components/setting/mods/clash-core-viewer.tsx b/src/components/setting/mods/clash-core-viewer.tsx index 8756766b..596162c5 100644 --- a/src/components/setting/mods/clash-core-viewer.tsx +++ b/src/components/setting/mods/clash-core-viewer.tsx @@ -75,7 +75,7 @@ export function ClashCoreViewer({ ref }: { ref?: Ref }) { try { setRestarting(true); await restartCore(); - showNotice.success("Clash Core Restarted"); + showNotice.success(t("settings.clash.notifications.restartSuccess")); setRestarting(false); } catch (err) { setRestarting(false); @@ -88,7 +88,7 @@ export function ClashCoreViewer({ ref }: { ref?: Ref }) { setUpgrading(true); await upgradeCore(); setUpgrading(false); - showNotice.success("Core Version Updated"); + showNotice.success(t("settings.clash.notifications.versionUpdated")); } catch (err: any) { setUpgrading(false); const errMsg = err?.response?.data?.message ?? String(err); diff --git a/src/components/setting/mods/hotkey-viewer.tsx b/src/components/setting/mods/hotkey-viewer.tsx index a150e05d..4a01d081 100644 --- a/src/components/setting/mods/hotkey-viewer.tsx +++ b/src/components/setting/mods/hotkey-viewer.tsx @@ -24,7 +24,17 @@ const HOTKEY_FUNC = [ "toggle_system_proxy", "toggle_tun_mode", "entry_lightweight_mode", -]; +] as const; + +const HOTKEY_FUNC_LABELS: Record<(typeof HOTKEY_FUNC)[number], string> = { + open_or_close_dashboard: "settings.hotkey.functions.openOrCloseDashboard", + clash_mode_rule: "settings.hotkey.functions.rule", + clash_mode_global: "settings.hotkey.functions.global", + clash_mode_direct: "settings.hotkey.functions.direct", + toggle_system_proxy: "settings.hotkey.functions.toggleSystemProxy", + toggle_tun_mode: "settings.hotkey.functions.toggleTunMode", + entry_lightweight_mode: "settings.hotkey.functions.entryLightweightMode", +}; export const HotkeyViewer = forwardRef((props, ref) => { const { t } = useTranslation(); @@ -108,7 +118,7 @@ export const HotkeyViewer = forwardRef((props, ref) => { {HOTKEY_FUNC.map((func) => ( - {t(func)} + {t(HOTKEY_FUNC_LABELS[func])} setHotkeyMap((m) => ({ ...m, [func]: v }))} diff --git a/src/components/setting/mods/network-interface-viewer.tsx b/src/components/setting/mods/network-interface-viewer.tsx index a6b48851..b12e6d93 100644 --- a/src/components/setting/mods/network-interface-viewer.tsx +++ b/src/components/setting/mods/network-interface-viewer.tsx @@ -133,7 +133,7 @@ const AddressDisplay = ({ size="small" onClick={async () => { await writeText(content); - showNotice.success("Copy Success"); + showNotice.success("settings.common.notifications.copySuccess"); }} > diff --git a/src/locales/ar.json b/src/locales/ar.json index 86d4b618..7b9088ba 100644 --- a/src/locales/ar.json +++ b/src/locales/ar.json @@ -1,7 +1,4 @@ { - "Maximize": "تكبير", - "Minimize": "تصغير", - "Empty": "فارغ", "Proxies": "الوكلاء", "rule": "قاعدة", "global": "عالمي", @@ -65,13 +62,6 @@ "theme.light": "سمة فاتحة", "theme.dark": "سمة داكنة", "theme.system": "سمة النظام", - "Copy Success": "تم النسخ بنجاح", - "open_or_close_dashboard": "فتح/إغلاق لوحة التحكم", - "clash_mode_rule": "وضع القواعد", - "clash_mode_global": "الوضع العالمي", - "toggle_system_proxy": "تفعيل/تعطيل وكيل النظام", - "toggle_tun_mode": "تفعيل/تعطيل وضع TUN", - "entry_lightweight_mode": "Entry Lightweight Mode", "Exit": "خروج", "Profile Imported Successfully": "تم استيراد الملف الشخصي بنجاح", "Stopping Core...": "Stopping Core...", @@ -80,8 +70,6 @@ "Uninstalling Service...": "Uninstalling Service...", "Service Installed Successfully": "تم تثبيت الخدمة بنجاح", "Service Uninstalled Successfully": "تم إلغاء تثبيت الخدمة بنجاح", - "Core Version Updated": "تم تحديث إصدار النواة", - "Currently on the Latest Version": "أنت على أحدث إصدار حاليًا", "Import Subscription Successful": "تم استيراد الاشتراك بنجاح", "Profile": "الملف الشخصي", "Dashboard": "لوحة التحكم", @@ -209,7 +197,12 @@ "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." }, "states": { - "saving": "Saving..." + "saving": "Saving...", + "empty": "فارغ" + }, + "window": { + "maximize": "تكبير", + "minimize": "تصغير" } }, "navigation": { @@ -524,6 +517,16 @@ "clashMode": { "errors": { "communication": "Core communication error" + }, + "labels": { + "rule": "وضع القواعد", + "global": "الوضع العالمي", + "direct": "الوضع المباشر" + }, + "descriptions": { + "rule": "Automatically choose proxies according to the rule set.", + "global": "Forward all network requests through the selected proxy.", + "direct": "Bypass the proxy and connect to the internet directly." } } }, @@ -675,7 +678,8 @@ } }, "notifications": { - "restartSuccess": "تم إعادة تشغيل نواة Clash" + "restartSuccess": "تم إعادة تشغيل نواة Clash", + "versionUpdated": "تم تحديث إصدار النواة" } }, "liteMode": { @@ -1064,7 +1068,16 @@ "toggles": { "enableGlobal": "تمكين مفتاح التشغيل السريع العالمي" }, - "title": "إعدادات الاختصارات" + "title": "إعدادات الاختصارات", + "functions": { + "rule": "وضع القواعد", + "global": "الوضع العالمي", + "openOrCloseDashboard": "فتح/إغلاق لوحة التحكم", + "toggleSystemProxy": "تفعيل/تعطيل وكيل النظام", + "toggleTunMode": "تفعيل/تعطيل وضع TUN", + "entryLightweightMode": "Entry Lightweight Mode", + "direct": "الوضع المباشر" + } }, "password": { "prompts": { diff --git a/src/locales/de.json b/src/locales/de.json index 858ef20a..ef610839 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -1,7 +1,4 @@ { - "Maximize": "Maximieren", - "Minimize": "Minimieren", - "Empty": "Leer", "Proxies": "Proxies", "rule": "Regel", "global": "Global", @@ -65,13 +62,6 @@ "theme.light": "Light", "theme.dark": "Dark", "theme.system": "System", - "Copy Success": "Kopieren erfolgreich", - "open_or_close_dashboard": "Dashboard öffnen/schließen", - "clash_mode_rule": "Regel-Modus", - "clash_mode_global": "Globaler Modus", - "toggle_system_proxy": "Systemproxy ein/ausschalten", - "toggle_tun_mode": "TUN-Modus ein/ausschalten", - "entry_lightweight_mode": "Leichtgewichtigen Modus betreten", "Exit": "Beenden", "Profile Imported Successfully": "Abonnement erfolgreich importiert", "Stopping Core...": "Kern wird gestoppt...", @@ -80,8 +70,6 @@ "Uninstalling Service...": "Service wird deinstalliert...", "Service Installed Successfully": "Service erfolgreich installiert", "Service Uninstalled Successfully": "Service erfolgreich deinstalliert", - "Core Version Updated": "Kernversion wurde aktualisiert", - "Currently on the Latest Version": "Sie verwenden bereits die neueste Version", "Import Subscription Successful": "Abonnement erfolgreich importiert", "Profile": "Konfiguration", "Dashboard": "Dashboard", @@ -209,7 +197,12 @@ "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." }, "states": { - "saving": "Saving..." + "saving": "Saving...", + "empty": "Leer" + }, + "window": { + "maximize": "Maximieren", + "minimize": "Minimieren" } }, "navigation": { @@ -524,6 +517,16 @@ "clashMode": { "errors": { "communication": "Core communication error" + }, + "labels": { + "rule": "Regel-Modus", + "global": "Globaler Modus", + "direct": "Direktverbindungs-Modus" + }, + "descriptions": { + "rule": "Automatically choose proxies according to the rule set.", + "global": "Forward all network requests through the selected proxy.", + "direct": "Bypass the proxy and connect to the internet directly." } } }, @@ -675,7 +678,8 @@ } }, "notifications": { - "restartSuccess": "Clash-Kern wurde neu gestartet" + "restartSuccess": "Clash-Kern wurde neu gestartet", + "versionUpdated": "Kernversion wurde aktualisiert" } }, "liteMode": { @@ -1064,7 +1068,16 @@ "toggles": { "enableGlobal": "Globale Tastenkombinationen aktivieren" }, - "title": "Tastenkombinationseinstellungen" + "title": "Tastenkombinationseinstellungen", + "functions": { + "rule": "Regel-Modus", + "global": "Globaler Modus", + "openOrCloseDashboard": "Dashboard öffnen/schließen", + "toggleSystemProxy": "Systemproxy ein/ausschalten", + "toggleTunMode": "TUN-Modus ein/ausschalten", + "entryLightweightMode": "Leichtgewichtigen Modus betreten", + "direct": "Direktverbindungs-Modus" + } }, "password": { "prompts": { diff --git a/src/locales/en.json b/src/locales/en.json index 15b8a174..d7119229 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1,7 +1,4 @@ { - "Maximize": "Maximize", - "Minimize": "Minimize", - "Empty": "Empty", "Proxies": "Proxies", "rule": "rule", "global": "global", @@ -65,13 +62,6 @@ "theme.light": "Light", "theme.dark": "Dark", "theme.system": "System", - "Copy Success": "Copy Success", - "open_or_close_dashboard": "Open/Close Dashboard", - "clash_mode_rule": "Rule Mode", - "clash_mode_global": "Global Mode", - "toggle_system_proxy": "Enable/Disable System Proxy", - "toggle_tun_mode": "Enable/Disable Tun Mode", - "entry_lightweight_mode": "Entry Lightweight Mode", "Exit": "Exit", "Profile Imported Successfully": "Profile Imported Successfully", "Stopping Core...": "Stopping Core...", @@ -80,8 +70,6 @@ "Uninstalling Service...": "Uninstalling Service...", "Service Installed Successfully": "Service Installed Successfully", "Service Uninstalled Successfully": "Service Uninstalled Successfully", - "Core Version Updated": "Core Version Updated", - "Currently on the Latest Version": "Currently on the Latest Version", "Import Subscription Successful": "Import subscription successful", "Profile": "Profile", "Dashboard": "Dashboard", @@ -209,7 +197,12 @@ "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." }, "states": { - "saving": "Saving..." + "saving": "Saving...", + "empty": "Empty" + }, + "window": { + "maximize": "Maximize", + "minimize": "Minimize" } }, "navigation": { @@ -524,6 +517,16 @@ "clashMode": { "errors": { "communication": "Core communication error" + }, + "labels": { + "rule": "Rule Mode", + "global": "Global Mode", + "direct": "Direct Mode" + }, + "descriptions": { + "rule": "Automatically choose proxies according to the rule set.", + "global": "Forward all network requests through the selected proxy.", + "direct": "Bypass the proxy and connect to the internet directly." } } }, @@ -675,7 +678,8 @@ } }, "notifications": { - "restartSuccess": "Clash Core Restarted" + "restartSuccess": "Clash Core Restarted", + "versionUpdated": "Core Version Updated" } }, "liteMode": { @@ -1064,7 +1068,16 @@ "toggles": { "enableGlobal": "Enable Global Hotkey" }, - "title": "Hotkey Setting" + "title": "Hotkey Setting", + "functions": { + "rule": "Rule Mode", + "global": "Global Mode", + "openOrCloseDashboard": "Open/Close Dashboard", + "toggleSystemProxy": "Enable/Disable System Proxy", + "toggleTunMode": "Enable/Disable Tun Mode", + "entryLightweightMode": "Entry Lightweight Mode", + "direct": "Direct Mode" + } }, "password": { "prompts": { diff --git a/src/locales/es.json b/src/locales/es.json index 76e0a91b..137a36e0 100644 --- a/src/locales/es.json +++ b/src/locales/es.json @@ -1,7 +1,4 @@ { - "Maximize": "Maximizar", - "Minimize": "Minimizar", - "Empty": "Vacío", "Proxies": "Proxies", "rule": "Regla", "global": "Global", @@ -65,13 +62,6 @@ "theme.light": "Light", "theme.dark": "Dark", "theme.system": "System", - "Copy Success": "Copia exitosa", - "open_or_close_dashboard": "Abrir/cerrar panel", - "clash_mode_rule": "Modo de reglas", - "clash_mode_global": "Modo global", - "toggle_system_proxy": "Activar/desactivar el proxy del sistema", - "toggle_tun_mode": "Activar/desactivar el modo TUN", - "entry_lightweight_mode": "Entrar en modo ligero", "Exit": "Salir", "Profile Imported Successfully": "Suscripción importada con éxito", "Stopping Core...": "Deteniendo núcleo...", @@ -80,8 +70,6 @@ "Uninstalling Service...": "Desinstalando servicio...", "Service Installed Successfully": "Servicio instalado con éxito", "Service Uninstalled Successfully": "Servicio desinstalado con éxito", - "Core Version Updated": "Versión del núcleo actualizada", - "Currently on the Latest Version": "Actualmente está en la última versión", "Import Subscription Successful": "Suscripción importada con éxito", "Profile": "Configuración", "Dashboard": "Panel de control", @@ -209,7 +197,12 @@ "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." }, "states": { - "saving": "Saving..." + "saving": "Saving...", + "empty": "Vacío" + }, + "window": { + "maximize": "Maximizar", + "minimize": "Minimizar" } }, "navigation": { @@ -524,6 +517,16 @@ "clashMode": { "errors": { "communication": "Core communication error" + }, + "labels": { + "rule": "Modo de reglas", + "global": "Modo global", + "direct": "Modo de conexión directa" + }, + "descriptions": { + "rule": "Automatically choose proxies according to the rule set.", + "global": "Forward all network requests through the selected proxy.", + "direct": "Bypass the proxy and connect to the internet directly." } } }, @@ -675,7 +678,8 @@ } }, "notifications": { - "restartSuccess": "Núcleo de Clash reiniciado" + "restartSuccess": "Núcleo de Clash reiniciado", + "versionUpdated": "Versión del núcleo actualizada" } }, "liteMode": { @@ -1064,7 +1068,16 @@ "toggles": { "enableGlobal": "Habilitar atajos de teclado globales" }, - "title": "Configuración de atajos de teclado" + "title": "Configuración de atajos de teclado", + "functions": { + "rule": "Modo de reglas", + "global": "Modo global", + "openOrCloseDashboard": "Abrir/cerrar panel", + "toggleSystemProxy": "Activar/desactivar el proxy del sistema", + "toggleTunMode": "Activar/desactivar el modo TUN", + "entryLightweightMode": "Entrar en modo ligero", + "direct": "Modo de conexión directa" + } }, "password": { "prompts": { diff --git a/src/locales/fa.json b/src/locales/fa.json index 8ecf25a6..12266afb 100644 --- a/src/locales/fa.json +++ b/src/locales/fa.json @@ -1,7 +1,4 @@ { - "Maximize": "بزرگ‌نمایی", - "Minimize": "کوچک‌نمایی", - "Empty": "خالی خالی", "Proxies": "پراکسی‌ها", "rule": "قانون", "global": "جهانی", @@ -65,13 +62,6 @@ "theme.light": "روشن", "theme.dark": "تاریک", "theme.system": "سیستم", - "Copy Success": "کپی با موفقیت انجام شد", - "open_or_close_dashboard": "باز/بستن داشبورد", - "clash_mode_rule": "حالت قانون", - "clash_mode_global": "حالت جهانی", - "toggle_system_proxy": "فعال/غیرفعال کردن پراکسی سیستم", - "toggle_tun_mode": "فعال/غیرفعال کردن حالت Tun", - "entry_lightweight_mode": "Entry Lightweight Mode", "Exit": "خروج", "Profile Imported Successfully": "پروفایل با موفقیت وارد شد", "Stopping Core...": "Stopping Core...", @@ -80,8 +70,6 @@ "Uninstalling Service...": "Uninstalling Service...", "Service Installed Successfully": "سرویس با موفقیت نصب شد", "Service Uninstalled Successfully": "سرویس با موفقیت حذف نصب شد", - "Core Version Updated": "نسخه هسته به‌روزرسانی شد", - "Currently on the Latest Version": "در حال حاضر در آخرین نسخه", "Import Subscription Successful": "وارد کردن اشتراک با موفقیت انجام شد", "Profile": "پروفایل", "Dashboard": "داشبورد", @@ -209,7 +197,12 @@ "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." }, "states": { - "saving": "Saving..." + "saving": "Saving...", + "empty": "خالی خالی" + }, + "window": { + "maximize": "بزرگ‌نمایی", + "minimize": "کوچک‌نمایی" } }, "navigation": { @@ -524,6 +517,16 @@ "clashMode": { "errors": { "communication": "Core communication error" + }, + "labels": { + "rule": "حالت قانون", + "global": "حالت جهانی", + "direct": "حالت مستقیم" + }, + "descriptions": { + "rule": "Automatically choose proxies according to the rule set.", + "global": "Forward all network requests through the selected proxy.", + "direct": "Bypass the proxy and connect to the internet directly." } } }, @@ -675,7 +678,8 @@ } }, "notifications": { - "restartSuccess": "هسته Clash مجدداً راه‌اندازی شد" + "restartSuccess": "هسته Clash مجدداً راه‌اندازی شد", + "versionUpdated": "نسخه هسته به‌روزرسانی شد" } }, "liteMode": { @@ -1064,7 +1068,16 @@ "toggles": { "enableGlobal": "فعال کردن کلید میانبر سراسری" }, - "title": "تنظیمات کلیدهای میانبر" + "title": "تنظیمات کلیدهای میانبر", + "functions": { + "rule": "حالت قانون", + "global": "حالت جهانی", + "openOrCloseDashboard": "باز/بستن داشبورد", + "toggleSystemProxy": "فعال/غیرفعال کردن پراکسی سیستم", + "toggleTunMode": "فعال/غیرفعال کردن حالت Tun", + "entryLightweightMode": "Entry Lightweight Mode", + "direct": "حالت مستقیم" + } }, "password": { "prompts": { diff --git a/src/locales/id.json b/src/locales/id.json index aa11596d..10591d59 100644 --- a/src/locales/id.json +++ b/src/locales/id.json @@ -1,7 +1,4 @@ { - "Maximize": "Maksimalkan", - "Minimize": "Minimalkan", - "Empty": "Kosong", "Proxies": "Proksi", "rule": "aturan", "global": "global", @@ -65,13 +62,6 @@ "theme.light": "Terang", "theme.dark": "Gelap", "theme.system": "Sistem", - "Copy Success": "Salin Berhasil", - "open_or_close_dashboard": "Buka/Tutup Dasbor", - "clash_mode_rule": "Mode Aturan", - "clash_mode_global": "Mode Global", - "toggle_system_proxy": "Aktifkan/Nonaktifkan Proksi Sistem", - "toggle_tun_mode": "Aktifkan/Nonaktifkan Mode Tun", - "entry_lightweight_mode": "Entry Lightweight Mode", "Exit": "Keluar", "Profile Imported Successfully": "Profil Berhasil Diimpor", "Stopping Core...": "Stopping Core...", @@ -80,8 +70,6 @@ "Uninstalling Service...": "Uninstalling Service...", "Service Installed Successfully": "Layanan Berhasil Diinstal", "Service Uninstalled Successfully": "Layanan Berhasil Dicopot", - "Core Version Updated": "Versi Core Diperbarui", - "Currently on the Latest Version": "Saat ini pada Versi Terbaru", "Import Subscription Successful": "Berlangganan Berhasil Diimpor", "Profile": "Profil", "Dashboard": "Dasbor", @@ -209,7 +197,12 @@ "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." }, "states": { - "saving": "Saving..." + "saving": "Saving...", + "empty": "Kosong" + }, + "window": { + "maximize": "Maksimalkan", + "minimize": "Minimalkan" } }, "navigation": { @@ -524,6 +517,16 @@ "clashMode": { "errors": { "communication": "Core communication error" + }, + "labels": { + "rule": "Mode Aturan", + "global": "Mode Global", + "direct": "Mode Langsung" + }, + "descriptions": { + "rule": "Automatically choose proxies according to the rule set.", + "global": "Forward all network requests through the selected proxy.", + "direct": "Bypass the proxy and connect to the internet directly." } } }, @@ -675,7 +678,8 @@ } }, "notifications": { - "restartSuccess": "Core Clash Dimulai Ulang" + "restartSuccess": "Core Clash Dimulai Ulang", + "versionUpdated": "Versi Core Diperbarui" } }, "liteMode": { @@ -1064,7 +1068,16 @@ "toggles": { "enableGlobal": "Aktifkan Hotkey Global" }, - "title": "Pengaturan Pintasan" + "title": "Pengaturan Pintasan", + "functions": { + "rule": "Mode Aturan", + "global": "Mode Global", + "openOrCloseDashboard": "Buka/Tutup Dasbor", + "toggleSystemProxy": "Aktifkan/Nonaktifkan Proksi Sistem", + "toggleTunMode": "Aktifkan/Nonaktifkan Mode Tun", + "entryLightweightMode": "Entry Lightweight Mode", + "direct": "Mode Langsung" + } }, "password": { "prompts": { diff --git a/src/locales/jp.json b/src/locales/jp.json index afc372e1..3874af73 100644 --- a/src/locales/jp.json +++ b/src/locales/jp.json @@ -1,7 +1,4 @@ { - "Maximize": "最大化", - "Minimize": "最小化", - "Empty": "空っぽ", "Proxies": "Proxies", "rule": "ルール", "global": "グローバル", @@ -65,13 +62,6 @@ "theme.light": "ライト", "theme.dark": "ダーク", "theme.system": "システム", - "Copy Success": "コピー成功", - "open_or_close_dashboard": "ダッシュボードを開く/閉じる", - "clash_mode_rule": "ルールモード", - "clash_mode_global": "グローバルモード", - "toggle_system_proxy": "システムプロキシを開く/閉じる", - "toggle_tun_mode": "TUNモードを開く/閉じる", - "entry_lightweight_mode": "軽量モードに入る", "Exit": "終了", "Profile Imported Successfully": "プロファイルのインポートに成功しました。", "Stopping Core...": "コアを停止中...", @@ -80,8 +70,6 @@ "Uninstalling Service...": "サービスをアンインストール中...", "Service Installed Successfully": "サービスのインストールに成功しました。", "Service Uninstalled Successfully": "サービスのアンインストールに成功しました。", - "Core Version Updated": "コアバージョンが更新されました。", - "Currently on the Latest Version": "現在は最新バージョンです。", "Import Subscription Successful": "サブスクリプションのインポートに成功しました。", "Profile": "プロファイル", "Dashboard": "ダッシュボード", @@ -209,7 +197,12 @@ "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." }, "states": { - "saving": "Saving..." + "saving": "Saving...", + "empty": "空っぽ" + }, + "window": { + "maximize": "最大化", + "minimize": "最小化" } }, "navigation": { @@ -524,6 +517,16 @@ "clashMode": { "errors": { "communication": "Core communication error" + }, + "labels": { + "rule": "ルールモード", + "global": "グローバルモード", + "direct": "直接接続モード" + }, + "descriptions": { + "rule": "Automatically choose proxies according to the rule set.", + "global": "Forward all network requests through the selected proxy.", + "direct": "Bypass the proxy and connect to the internet directly." } } }, @@ -675,7 +678,8 @@ } }, "notifications": { - "restartSuccess": "Clashコアが再起動されました。" + "restartSuccess": "Clashコアが再起動されました。", + "versionUpdated": "コアバージョンが更新されました。" } }, "liteMode": { @@ -1064,7 +1068,16 @@ "toggles": { "enableGlobal": "グローバルホットキーを有効にする" }, - "title": "ホットキー設定" + "title": "ホットキー設定", + "functions": { + "rule": "ルールモード", + "global": "グローバルモード", + "openOrCloseDashboard": "ダッシュボードを開く/閉じる", + "toggleSystemProxy": "システムプロキシを開く/閉じる", + "toggleTunMode": "TUNモードを開く/閉じる", + "entryLightweightMode": "軽量モードに入る", + "direct": "直接接続モード" + } }, "password": { "prompts": { diff --git a/src/locales/ko.json b/src/locales/ko.json index 8b5371fe..cea24c3e 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -1,7 +1,4 @@ { - "Maximize": "최대화", - "Minimize": "최소화", - "Empty": "비어있음", "Proxies": "프록시", "rule": "규칙", "global": "전역", @@ -65,13 +62,6 @@ "theme.light": "Light", "theme.dark": "Dark", "theme.system": "System", - "Copy Success": "복사 성공", - "open_or_close_dashboard": "Open/Close Dashboard", - "clash_mode_rule": "Rule Mode", - "clash_mode_global": "Global Mode", - "toggle_system_proxy": "Enable/Disable System Proxy", - "toggle_tun_mode": "Enable/Disable Tun Mode", - "entry_lightweight_mode": "Entry Lightweight Mode", "Exit": "Exit", "Profile Imported Successfully": "Profile Imported Successfully", "Stopping Core...": "Stopping Core...", @@ -80,8 +70,6 @@ "Uninstalling Service...": "Uninstalling Service...", "Service Installed Successfully": "Service Installed Successfully", "Service Uninstalled Successfully": "Service Uninstalled Successfully", - "Core Version Updated": "Core Version Updated", - "Currently on the Latest Version": "Currently on the Latest Version", "Import Subscription Successful": "구독 가져오기 성공", "Profile": "Profile", "Dashboard": "Dashboard", @@ -209,7 +197,12 @@ "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." }, "states": { - "saving": "Saving..." + "saving": "Saving...", + "empty": "비어있음" + }, + "window": { + "maximize": "최대화", + "minimize": "최소화" } }, "navigation": { @@ -524,6 +517,16 @@ "clashMode": { "errors": { "communication": "Core communication error" + }, + "labels": { + "rule": "Rule Mode", + "global": "Global Mode", + "direct": "Direct Mode" + }, + "descriptions": { + "rule": "Automatically choose proxies according to the rule set.", + "global": "Forward all network requests through the selected proxy.", + "direct": "Bypass the proxy and connect to the internet directly." } } }, @@ -675,7 +678,8 @@ } }, "notifications": { - "restartSuccess": "Clash Core Restarted" + "restartSuccess": "Clash Core Restarted", + "versionUpdated": "Core Version Updated" } }, "liteMode": { @@ -1064,7 +1068,16 @@ "toggles": { "enableGlobal": "Enable Global Hotkey" }, - "title": "단축키 설정" + "title": "단축키 설정", + "functions": { + "rule": "Rule Mode", + "global": "Global Mode", + "openOrCloseDashboard": "Open/Close Dashboard", + "toggleSystemProxy": "Enable/Disable System Proxy", + "toggleTunMode": "Enable/Disable Tun Mode", + "entryLightweightMode": "Entry Lightweight Mode", + "direct": "Direct Mode" + } }, "password": { "prompts": { diff --git a/src/locales/ru.json b/src/locales/ru.json index 312ccf48..1e449768 100644 --- a/src/locales/ru.json +++ b/src/locales/ru.json @@ -1,7 +1,4 @@ { - "Maximize": "Развернуть", - "Minimize": "Свернуть", - "Empty": "Пусто", "Proxies": "Прокси", "rule": "правила", "global": "глобальный", @@ -65,13 +62,6 @@ "theme.light": "Светлая", "theme.dark": "Тёмная", "theme.system": "Системная", - "Copy Success": "Скопировано", - "open_or_close_dashboard": "Открыть/Закрыть панель управления", - "clash_mode_rule": "Режим правил", - "clash_mode_global": "Глобальный режим", - "toggle_system_proxy": "Включить/Отключить системный прокси", - "toggle_tun_mode": "Включить/Отключить режим TUN", - "entry_lightweight_mode": "Вход в LightWeight Mode", "Exit": "Выход", "Profile Imported Successfully": "Профиль успешно импортирован", "Stopping Core...": "Stopping Core...", @@ -80,8 +70,6 @@ "Uninstalling Service...": "Uninstalling Service...", "Service Installed Successfully": "Служба успешно установлена", "Service Uninstalled Successfully": "Служба успешно удалена", - "Core Version Updated": "Ядро обновлено до последней версии", - "Currently on the Latest Version": "Обновление не требуется", "Import Subscription Successful": "Подписка успешно импортирована", "Profile": "Профиль", "Dashboard": "Панель управления", @@ -209,7 +197,12 @@ "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." }, "states": { - "saving": "Saving..." + "saving": "Saving...", + "empty": "Пусто" + }, + "window": { + "maximize": "Развернуть", + "minimize": "Свернуть" } }, "navigation": { @@ -524,6 +517,16 @@ "clashMode": { "errors": { "communication": "Core communication error" + }, + "labels": { + "rule": "Режим правил", + "global": "Глобальный режим", + "direct": "Прямой режим" + }, + "descriptions": { + "rule": "Automatically choose proxies according to the rule set.", + "global": "Forward all network requests through the selected proxy.", + "direct": "Bypass the proxy and connect to the internet directly." } } }, @@ -675,7 +678,8 @@ } }, "notifications": { - "restartSuccess": "Ядро перезапущено" + "restartSuccess": "Ядро перезапущено", + "versionUpdated": "Ядро обновлено до последней версии" } }, "liteMode": { @@ -1064,7 +1068,16 @@ "toggles": { "enableGlobal": "Включить глобальную горячую клавишу" }, - "title": "Настройки сочетаний клавиш" + "title": "Настройки сочетаний клавиш", + "functions": { + "rule": "Режим правил", + "global": "Глобальный режим", + "openOrCloseDashboard": "Открыть/Закрыть панель управления", + "toggleSystemProxy": "Включить/Отключить системный прокси", + "toggleTunMode": "Включить/Отключить режим TUN", + "entryLightweightMode": "Вход в LightWeight Mode", + "direct": "Прямой режим" + } }, "password": { "prompts": { diff --git a/src/locales/tr.json b/src/locales/tr.json index e033aa98..455994fd 100644 --- a/src/locales/tr.json +++ b/src/locales/tr.json @@ -1,7 +1,4 @@ { - "Maximize": "Büyüt", - "Minimize": "Küçült", - "Empty": "Boş", "Proxies": "Vekil'ler", "rule": "kural", "global": "küresel", @@ -65,13 +62,6 @@ "theme.light": "Açık", "theme.dark": "Koyu", "theme.system": "Sistem", - "Copy Success": "Kopyalama Başarılı", - "open_or_close_dashboard": "Kontrol Panelini Aç/Kapat", - "clash_mode_rule": "Kural Modu", - "clash_mode_global": "Küresel Mod", - "toggle_system_proxy": "Sistem Vekil'ini Etkinleştir/Devre Dışı Bırak", - "toggle_tun_mode": "Tun Modunu Etkinleştir/Devre Dışı Bırak", - "entry_lightweight_mode": "Hafif Moda Gir", "Exit": "Çıkış", "Profile Imported Successfully": "Profil Başarıyla İçe Aktarıldı", "Stopping Core...": "Stopping Core...", @@ -80,8 +70,6 @@ "Uninstalling Service...": "Uninstalling Service...", "Service Installed Successfully": "Hizmet Başarıyla Kuruldu", "Service Uninstalled Successfully": "Hizmet Başarıyla Kaldırıldı", - "Core Version Updated": "Çekirdek Sürümü Güncellendi", - "Currently on the Latest Version": "Şu Anda En Son Sürümdesiniz", "Import Subscription Successful": "Abonelik içe aktarımı başarılı", "Profile": "Profil", "Dashboard": "Kontrol Paneli", @@ -209,7 +197,12 @@ "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." }, "states": { - "saving": "Saving..." + "saving": "Saving...", + "empty": "Boş" + }, + "window": { + "maximize": "Büyüt", + "minimize": "Küçült" } }, "navigation": { @@ -524,6 +517,16 @@ "clashMode": { "errors": { "communication": "Core communication error" + }, + "labels": { + "rule": "Kural Modu", + "global": "Küresel Mod", + "direct": "Doğrudan Mod" + }, + "descriptions": { + "rule": "Automatically choose proxies according to the rule set.", + "global": "Forward all network requests through the selected proxy.", + "direct": "Bypass the proxy and connect to the internet directly." } } }, @@ -675,7 +678,8 @@ } }, "notifications": { - "restartSuccess": "Clash Çekirdeği Yeniden Başlatıldı" + "restartSuccess": "Clash Çekirdeği Yeniden Başlatıldı", + "versionUpdated": "Çekirdek Sürümü Güncellendi" } }, "liteMode": { @@ -1064,7 +1068,16 @@ "toggles": { "enableGlobal": "Küresel Kısayol Tuşunu Etkinleştir" }, - "title": "Kısayol Tuşu Ayarı" + "title": "Kısayol Tuşu Ayarı", + "functions": { + "rule": "Kural Modu", + "global": "Küresel Mod", + "openOrCloseDashboard": "Kontrol Panelini Aç/Kapat", + "toggleSystemProxy": "Sistem Vekil'ini Etkinleştir/Devre Dışı Bırak", + "toggleTunMode": "Tun Modunu Etkinleştir/Devre Dışı Bırak", + "entryLightweightMode": "Hafif Moda Gir", + "direct": "Doğrudan Mod" + } }, "password": { "prompts": { diff --git a/src/locales/tt.json b/src/locales/tt.json index 7ccb338f..8ead1ea5 100644 --- a/src/locales/tt.json +++ b/src/locales/tt.json @@ -1,7 +1,4 @@ { - "Maximize": "Зурайту", - "Minimize": "Кечерәйтү", - "Empty": "Буш", "Proxies": "Прокси", "rule": "кагыйдә", "global": "глобаль", @@ -65,13 +62,6 @@ "theme.light": "Якты", "theme.dark": "Караңгы", "theme.system": "Система", - "Copy Success": "Күчерелде", - "open_or_close_dashboard": "Панельне ачу/ябу", - "clash_mode_rule": "Кагыйдәләр режимы", - "clash_mode_global": "Глобаль режим", - "toggle_system_proxy": "Системалы проксины кабызу/сүндерү", - "toggle_tun_mode": "Tun режимын кабызу/сүндерү", - "entry_lightweight_mode": "Entry Lightweight Mode", "Exit": "Чыгу", "Profile Imported Successfully": "Профиль уңышлы импортланды", "Stopping Core...": "Stopping Core...", @@ -80,8 +70,6 @@ "Uninstalling Service...": "Uninstalling Service...", "Service Installed Successfully": "Сервис уңышлы урнаштырылды", "Service Uninstalled Successfully": "Сервис уңышлы салдырылды", - "Core Version Updated": "Ядро версиясе яңартылды", - "Currently on the Latest Version": "Сездә иң соңгы версия урнаштырылган", "Import Subscription Successful": "Import subscription successful", "Profile": "Профиль", "Dashboard": "Панель", @@ -209,7 +197,12 @@ "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." }, "states": { - "saving": "Saving..." + "saving": "Saving...", + "empty": "Буш" + }, + "window": { + "maximize": "Зурайту", + "minimize": "Кечерәйтү" } }, "navigation": { @@ -524,6 +517,16 @@ "clashMode": { "errors": { "communication": "Core communication error" + }, + "labels": { + "rule": "Кагыйдәләр режимы", + "global": "Глобаль режим", + "direct": "Туры режим" + }, + "descriptions": { + "rule": "Automatically choose proxies according to the rule set.", + "global": "Forward all network requests through the selected proxy.", + "direct": "Bypass the proxy and connect to the internet directly." } } }, @@ -675,7 +678,8 @@ } }, "notifications": { - "restartSuccess": "Clash ядросы яңадан башланды" + "restartSuccess": "Clash ядросы яңадан башланды", + "versionUpdated": "Ядро версиясе яңартылды" } }, "liteMode": { @@ -1064,7 +1068,16 @@ "toggles": { "enableGlobal": "Глобаль Хоткейны кушу" }, - "title": "Клавиатура төймәләре (hotkey) көйләүләре" + "title": "Клавиатура төймәләре (hotkey) көйләүләре", + "functions": { + "rule": "Кагыйдәләр режимы", + "global": "Глобаль режим", + "openOrCloseDashboard": "Панельне ачу/ябу", + "toggleSystemProxy": "Системалы проксины кабызу/сүндерү", + "toggleTunMode": "Tun режимын кабызу/сүндерү", + "entryLightweightMode": "Entry Lightweight Mode", + "direct": "Туры режим" + } }, "password": { "prompts": { diff --git a/src/locales/zh.json b/src/locales/zh.json index 18651322..110fff1d 100644 --- a/src/locales/zh.json +++ b/src/locales/zh.json @@ -1,7 +1,4 @@ { - "Maximize": "最大化", - "Minimize": "最小化", - "Empty": "空空如也", "Proxies": "代理", "rule": "规则", "global": "全局", @@ -65,13 +62,6 @@ "theme.light": "浅色", "theme.dark": "深色", "theme.system": "系统", - "Copy Success": "复制成功", - "open_or_close_dashboard": "打开/关闭面板", - "clash_mode_rule": "规则模式", - "clash_mode_global": "全局模式", - "toggle_system_proxy": "打开/关闭系统代理", - "toggle_tun_mode": "打开/关闭 TUN 模式", - "entry_lightweight_mode": "进入轻量模式", "Exit": "退出", "Profile Imported Successfully": "导入订阅成功", "Stopping Core...": "停止内核中...", @@ -80,8 +70,6 @@ "Uninstalling Service...": "卸载服务中...", "Service Installed Successfully": "已成功安装服务", "Service Uninstalled Successfully": "已成功卸载服务", - "Core Version Updated": "内核版本已更新", - "Currently on the Latest Version": "当前已是最新版本", "Import Subscription Successful": "导入订阅成功", "Profile": "配置", "Dashboard": "仪表板", @@ -209,7 +197,12 @@ "trafficStatsDescription": "流量统计组件发生错误,为防止崩溃已暂时停用。" }, "states": { - "saving": "保存中..." + "saving": "保存中...", + "empty": "空空如也" + }, + "window": { + "maximize": "最大化", + "minimize": "最小化" } }, "navigation": { @@ -524,6 +517,16 @@ "clashMode": { "errors": { "communication": "内核通信错误" + }, + "labels": { + "rule": "规则模式", + "global": "全局模式", + "direct": "直连模式" + }, + "descriptions": { + "rule": "按照规则自动选择代理。", + "global": "将所有网络请求转发到选定的代理。", + "direct": "绕过代理,直接连接互联网。" } } }, @@ -675,7 +678,8 @@ } }, "notifications": { - "restartSuccess": "已重启 Clash 内核" + "restartSuccess": "已重启 Clash 内核", + "versionUpdated": "内核版本已更新" } }, "liteMode": { @@ -1064,7 +1068,16 @@ "toggles": { "enableGlobal": "启用全局热键" }, - "title": "热键设置" + "title": "热键设置", + "functions": { + "rule": "规则模式", + "global": "全局模式", + "openOrCloseDashboard": "打开/关闭面板", + "toggleSystemProxy": "打开/关闭系统代理", + "toggleTunMode": "打开/关闭 TUN 模式", + "entryLightweightMode": "进入轻量模式", + "direct": "直连模式" + } }, "password": { "prompts": { diff --git a/src/locales/zhtw.json b/src/locales/zhtw.json index d34fcae5..5a20c690 100644 --- a/src/locales/zhtw.json +++ b/src/locales/zhtw.json @@ -1,7 +1,4 @@ { - "Maximize": "最大化", - "Minimize": "最小化", - "Empty": "空空如也", "Proxies": "代理", "rule": "規則", "global": "全域", @@ -65,13 +62,6 @@ "theme.light": "淺色", "theme.dark": "深色", "theme.system": "系統", - "Copy Success": "複製成功", - "open_or_close_dashboard": "開啟/關閉儀表板", - "clash_mode_rule": "規則模式", - "clash_mode_global": "全域模式", - "toggle_system_proxy": "開啟/關閉系統代理", - "toggle_tun_mode": "開啟/關閉 虛擬網路介面卡模式", - "entry_lightweight_mode": "進入輕量模式", "Exit": "離開", "Profile Imported Successfully": "匯入設定檔成功", "Stopping Core...": "內核停止中...", @@ -80,8 +70,6 @@ "Uninstalling Service...": "服務解除安裝中...", "Service Installed Successfully": "已成功安裝服務", "Service Uninstalled Successfully": "已成功解除安裝服務", - "Core Version Updated": "內核版本已更新", - "Currently on the Latest Version": "目前已是最新版本", "Import Subscription Successful": "匯入訂閱成功", "Profile": "配置", "Dashboard": "儀表板", @@ -209,7 +197,12 @@ "trafficStatsDescription": "流量統計元件發生錯誤,已停用以避免當機。" }, "states": { - "saving": "儲存中..." + "saving": "儲存中...", + "empty": "空空如也" + }, + "window": { + "maximize": "最大化", + "minimize": "最小化" } }, "navigation": { @@ -524,6 +517,16 @@ "clashMode": { "errors": { "communication": "內核通信錯誤" + }, + "labels": { + "rule": "規則模式", + "global": "全域模式", + "direct": "直連模式" + }, + "descriptions": { + "rule": "依照規則自動選擇代理。", + "global": "將所有網路請求轉送至所選代理。", + "direct": "略過代理,直接連線至網際網路。" } } }, @@ -675,7 +678,8 @@ } }, "notifications": { - "restartSuccess": "已重啟 Clash 內核" + "restartSuccess": "已重啟 Clash 內核", + "versionUpdated": "內核版本已更新" } }, "liteMode": { @@ -1064,7 +1068,16 @@ "toggles": { "enableGlobal": "啟用全域快速鍵" }, - "title": "快速鍵設定" + "title": "快速鍵設定", + "functions": { + "rule": "規則模式", + "global": "全域模式", + "openOrCloseDashboard": "開啟/關閉儀表板", + "toggleSystemProxy": "開啟/關閉系統代理", + "toggleTunMode": "開啟/關閉 虛擬網路介面卡模式", + "entryLightweightMode": "進入輕量模式", + "direct": "直連模式" + } }, "password": { "prompts": { diff --git a/src/pages/unlock.tsx b/src/pages/unlock.tsx index 4f8579b3..f9f1ea67 100644 --- a/src/pages/unlock.tsx +++ b/src/pages/unlock.tsx @@ -282,7 +282,7 @@ const UnlockPage = () => { height: "50%", }} > - + ) : (