mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-10-15 05:40:47 +08:00
* fix(cmd): preserve anyhow context in coded errors Use alternate error formatting so coded failures retain the full anyhow context chain without changing their wire format. * fix(macos): skip redundant proxy disable writes When both proxy modes are off, read macOS state first and skip networksetup if the OS is already clean. Update the guard target only after a successful write. * feat(proxy): classify system proxy failures Attach stable, actionable proxy failure codes to anyhow chains while preserving the original diagnostic causes. * feat(cmd): return structured command failures Replace encoded error strings with serializable code and detail fields, and update frontend notice consumers to handle the structured shape. * fix(scripts): use the js-yaml namespace import Import js-yaml through its ESM namespace so the i18n cleanup script can access load and dump. * feat(proxy): localize classified proxy failures Map privilege and direct-fallback codes to localized explanations, and let mapped causes outrank generic operation keys in notices. * fix(ui): bound notice text and render failure details Limit resolved notice text without truncating clipboard content, and normalize structured failures embedded in translation parameters. * feat(proxy): persist unseen proxy failures Store unresolved classified failures by code, notify the frontend when the table changes, and show each failure sequence once when a visible window can receive it. * feat(proxy): report tray and hotkey toggle failures Record classified failures from tray and hotkey proxy toggles so they appear when a visible window is available. * fix(ui): restore the proxy switch after failed toggles Refresh frontend proxy state after a failed toggle so the switch reflects the rolled-back configuration. * feat(proxy): stop the guard after repeated failures Report guard outcomes, stop after the failure threshold, and persist the classified failure for the frontend. * fix(macos): preserve proxy during service handoff Stop a sidecar being handed to the service without clearing proxy state that the new owner must inherit. * feat(macos): classify misplaced sidecar state Distinguish a refused sidecar proxy write from a machine that still needs the privileged service installed. * feat(ui): recover misplaced sidecar notices Offer a restart action for macOS proxy failures caused by a ready service while the core still runs as a sidecar. * feat(ui): install the service from proxy notices Let privilege notices install the macOS service, restart the core, and report the runtime mode that was actually reached. * feat(cmd): attach requested proxy operations Carry the requested proxy direction with structured command failures when the originating command knows it. * feat(sysproxy): drain guards before OS access Wait for the local proxy guard to stop before OS reads, service handoff, or final writes, and refuse transitions when it does not drain. * feat(sysproxy): recover partial proxy writes Use write progress to choose whether to restore the old guard or compensate with a disabled proxy state, while preserving actionable errors. * feat(sysproxy): skip already-applied proxy writes Compare macOS proxy snapshots with global, PAC, and disabled targets so matching state avoids redundant privileged writes. * feat(proxy): report background proxy failures Persist and surface classified proxy failures from lifecycle paths that have no direct caller awaiting the result. * feat(ui): move proxy recovery into a dialog Guide users through installing or switching to the service after a refused proxy write, and suppress duplicate toast reports. * fix(ui): close proxy dialog after service recovery Dismiss the recovery dialog once the core reaches service mode, even when the original proxy request remains pending. * feat(ui): retry proxy request after service recovery Replay the requested proxy direction after the core reaches service mode, while leaving incidental restores unchanged. * fix(proxy): refresh state after successful apply Publish the proxy refresh from the shared apply path after releasing the lifecycle lock, and remove the tray-specific duplicate. * feat(ui): show proxy recovery progress Display installation, restart, and proxy-apply stages while keeping the primary action spinner visible during recovery. * feat(ui): route unavailable TUN through service recovery Let the TUN switch request service recovery and restore its requested state after the core restarts in service mode. * fix(ui): avoid duplicate TUN recovery errors Roll back deferred TUN toggles without reporting an error, and publish configuration refreshes from the transaction commit path. * chore: update changelog & pinlock * fix(core): resolve platform-specific clippy warnings * fix(core): detect Windows wildcard TCP conflicts Windows permits a specific exclusive bind beside an existing non-exclusive wildcard listener. Consult the system TCP listener table so the probe reports that overlap as a conflict.
94 lines
3.8 KiB
YAML
94 lines
3.8 KiB
YAML
_version: 1
|
|
notifications:
|
|
dashboardToggled:
|
|
title: Übersicht
|
|
body: Die Sichtbarkeit der Übersicht wurde aktualisiert.
|
|
clashModeChanged:
|
|
title: Moduswechsel
|
|
body: Auf {mode} umgeschaltet.
|
|
systemProxyToggled:
|
|
title: Systemproxy
|
|
'on': System proxy has been enabled.
|
|
'off': System proxy has been disabled.
|
|
systemProxyFailed:
|
|
title: Systemproxy
|
|
body: Der Systemproxy konnte nicht gesetzt werden. Öffnen Sie Clash Verge, um zu sehen, warum.
|
|
systemProxyGuardStopped:
|
|
title: Systemproxy-Wächter
|
|
body: Nach mehreren Fehlversuchen in Folge gestoppt. Öffnen Sie Clash Verge, um zu sehen, warum.
|
|
tunModeToggled:
|
|
title: TUN-Modus
|
|
'on': TUN mode has been enabled.
|
|
'off': TUN mode has been disabled.
|
|
lightweightModeEntered:
|
|
title: Leichtmodus
|
|
body: Leichtmodus aktiviert.
|
|
profilesReactivated:
|
|
title: Profile
|
|
body: Profil reaktiviert.
|
|
appQuit:
|
|
title: Beenden steht bevor
|
|
body: Clash Verge wird gleich beendet.
|
|
appHidden:
|
|
title: Anwendung ausgeblendet
|
|
body: Clash Verge läuft im Hintergrund.
|
|
updateReady:
|
|
title: Clash Verge Update
|
|
body: A new version (v{version}) has been downloaded and is ready to install.
|
|
installNow: Install Now
|
|
later: Later
|
|
service:
|
|
adminInstallPrompt: Für die Installation des Clash-Verge-Dienstes sind Administratorrechte erforderlich.
|
|
adminUninstallPrompt: Für die Deinstallation des Clash-Verge-Dienstes sind Administratorrechte erforderlich.
|
|
launchGuard:
|
|
currentExeError: 'Der Speicherort der Anwendung konnte nicht ermittelt werden: {error}'
|
|
homeDirError: 'Das Benutzerverzeichnis des aktuellen Benutzers konnte nicht ermittelt werden. Die Anwendung wird beendet: {error}'
|
|
translocated: macOS führt diese Anwendung aus einem temporären App-Translocation-Pfad aus. Verschieben Sie sie im Finder manuell nach /Applications oder ~/Applications und öffnen Sie sie anschließend erneut.
|
|
rejected: |-
|
|
Diese Anwendung muss aus einem Applications-Ordner gestartet werden.
|
|
|
|
{reason}
|
|
notInBundle: Die ausführbare Datei befindet sich nicht in einem Anwendungspaket.
|
|
canonicalizeBundleError: 'Der Pfad des Anwendungspakets konnte nicht aufgelöst werden: {error}'
|
|
bundleNameError: Der Name des Anwendungspakets konnte nicht ermittelt werden. Die Anwendung wird beendet.
|
|
replacePrompt: Unter {destination} ist bereits eine Anwendung vorhanden. Soll sie ersetzt und aus Applications neu gestartet werden?
|
|
movePrompt: Damit der Hintergrunddienst sicher gestartet werden kann, muss die Anwendung nach {destination} verschoben werden. Jetzt verschieben und neu starten?
|
|
createApplicationsDirError: 'Der Applications-Ordner konnte nicht erstellt werden: {error}'
|
|
moveFailed: Die Anwendung konnte nicht verschoben werden. Verschieben Sie sie im Finder manuell und versuchen Sie es erneut.
|
|
replaceFailed: 'Die vorhandene Anwendung konnte nicht sicher ersetzt werden: {error}'
|
|
relaunchFailed: Die Anwendung wurde kopiert, konnte aber nicht automatisch neu gestartet werden. Öffnen Sie sie manuell aus Applications.
|
|
cancel: Abbrechen
|
|
move: Verschieben
|
|
ok: OK
|
|
tray:
|
|
dashboard: Übersicht
|
|
ruleMode: Regelmodus
|
|
globalMode: Globaler Modus
|
|
directMode: Direktmodus
|
|
outboundModes: Ausgangsmodi
|
|
rule: Regel
|
|
direct: Direkt
|
|
global: Global
|
|
profiles: Profile
|
|
proxies: Proxy
|
|
systemProxy: Systemproxy
|
|
tunMode: TUN-Modus
|
|
closeAllConnections: Alle Verbindungen schließen
|
|
lightweightMode: Leichtmodus
|
|
copyEnv: Umgebungsvariablen kopieren
|
|
confDir: Konfigurationsverzeichnis
|
|
coreDir: Core-Verzeichnis
|
|
logsDir: Log-Verzeichnis
|
|
openDir: Verzeichnis öffnen
|
|
appLog: Anwendungslog
|
|
coreLog: Core-Log
|
|
restartClash: Clash-Core neu starten
|
|
restartApp: Anwendung neu starten
|
|
vergeVersion: Verge-Version
|
|
more: Mehr
|
|
exit: Beenden
|
|
tooltip:
|
|
systemProxy: Systemproxy
|
|
tun: TUN
|
|
profile: Profil
|