Files
clash-verge-rev/src/locales/jp/settings.json
Sline 838e401796 feat(auto-backup): implement centralized auto-backup manager and UI (#5374)
* feat(auto-backup): implement centralized auto-backup manager and UI

- Introduced AutoBackupManager to handle verge settings, run a background scheduler, debounce change-driven backups, and trim auto-labeled archives (keeps 20); wired into startup and config refresh hooks
  (src-tauri/src/module/auto_backup.rs:28-209, src-tauri/src/utils/resolve/mod.rs:64-136, src-tauri/src/feat/config.rs:102-238)

- Extended verge schema and backup helpers so scheduled/change-based settings persist, create_local_backup can rename archives, and profile/global-extend mutations now trigger backups
  (src-tauri/src/config/verge.rs:162-536, src/types/types.d.ts:857-859, src-tauri/src/feat/backup.rs:125-189, src-tauri/src/cmd/profile.rs:66-476, src-tauri/src/cmd/save_profile.rs:21-82)

- Added Auto Backup settings panel in backup dialog with dual toggles + interval selector; localized new strings across all locales
  (src/components/setting/mods/auto-backup-settings.tsx:1-138, src/components/setting/mods/backup-viewer.tsx:28-309, src/locales/en/settings.json:312-326 and mirrored entries)

- Regenerated typed i18n resources for strong typing in React
  (src/types/generated/i18n-keys.ts, src/types/generated/i18n-resources.ts)

* refactor(setting/backup): restructure backup dialog for consistent layout

* refactor(ui): unify settings dialog style

* fix(backup): only trigger auto-backup on valid saves & restore restarts app safely

* fix(backup): scrub console.log leak and rewire WebDAV dialog to actually probe server

* refactor: rename SubscriptionChange to ProfileChange

* chore: update i18n

* chore: WebDAV i18n improvements

* refactor(backup): error handling

* refactor(auto-backup): wrap scheduler startup with maybe_start_runner

* refactor: remove the redundant throw in handleExport

* feat(backup-history-viewer): improve WebDAV handling and UI fallback

* feat(auto-backup): trigger backups on all profile edits & improve interval input UX

* refactor: use InputAdornment

* docs: Changelog.md
2025-11-10 13:49:14 +08:00

603 lines
25 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"page": {
"actions": {
"manual": "マニュアル",
"telegram": "Telegramチャンネル",
"github": "GitHubリポジトリ"
},
"title": "設定"
},
"sections": {
"system": {
"title": "システム設定",
"toggles": {
"tunMode": "仮想ネットワークカードモード",
"systemProxy": "システムプロキシ"
},
"tooltips": {
"autoLaunchAdmin": "管理者モードでは起動時の自動起動がサポートされない場合があります。",
"silentStart": "アプリケーションを起動すると、バックグラウンドモードで実行され、アプリケーションパネルは表示されません。"
},
"fields": {
"autoLaunch": "自動起動",
"silentStart": "サイレント起動"
},
"notifications": {
"tunMode": {
"autoDisabled": "TUN Mode automatically disabled due to service unavailable",
"autoDisableFailed": "Failed to disable TUN Mode automatically"
}
}
},
"proxyControl": {
"tooltips": {
"systemProxy": "オペレーティングシステムのプロキシ設定を変更します。有効にできない場合は、手動でオペレーティングシステムのプロキシ設定を変更してください。",
"tunMode": "TUN仮想ネットワークカードモードはシステムのすべてのトラフィックを制御します。有効にすると、システムプロキシを開く必要はありません。",
"tunUnavailable": "TUNモードはサービスモードまたは管理者モードが必要です"
},
"actions": {
"installService": "サービスをインストール",
"uninstallService": "サービスのアンインストール"
},
"fields": {
"systemProxy": "システムプロキシ",
"tunMode": "仮想ネットワークカードモード"
}
},
"externalController": {
"title": "外部コントローラーの監視アドレス",
"fields": {
"enable": "外部コントローラーを有効化",
"address": "外部コントローラーの監視アドレス",
"secret": "APIアクセスキー"
},
"placeholders": {
"address": "必須",
"secret": "推奨設定"
},
"tooltips": {
"copy": "クリップボードにコピー"
},
"messages": {
"addressRequired": "コントローラーのアドレスは空にできません",
"secretRequired": "シークレットを空にすることはできません",
"copyFailed": "コピーに失敗しました",
"controllerCopied": "API ポートがクリップボードにコピーされました",
"secretCopied": "API キーがクリップボードにコピーされました"
}
},
"externalCors": {
"title": "外部 CORS 設定",
"fields": {
"allowPrivateNetwork": "プライベートネットワークへのアクセスを許可",
"allowedOrigins": "許可されたオリジン"
},
"placeholders": {
"origin": "有効なURLを入力してください"
},
"actions": {
"add": "追加"
},
"messages": {
"alwaysIncluded": "常に含まれるオリジン: {{urls}}"
},
"tooltips": {
"open": "外部 CORS 設定"
}
},
"appearance": {
"light": "Light",
"dark": "Dark",
"system": "System"
},
"clash": {
"title": "Clash設定",
"form": {
"fields": {
"allowLan": "LAN接続を許可",
"dnsOverwrite": "DNS上書き",
"ipv6": "IPv6",
"unifiedDelay": "統一遅延",
"logLevel": "ログレベル",
"portConfig": "ポート設定",
"external": "外部制御",
"webUI": "Webインターフェース",
"clashCore": "Clashコア",
"openUwpTool": "UWPツールを開く",
"updateGeoData": "GeoDataを更新"
},
"tooltips": {
"networkInterface": "ネットワークインターフェース",
"unifiedDelay": "統一遅延を有効にすると、2回の遅延テストが行われ、接続ハンドシェイクなどによる異なるタイプのードの遅延差を解消します。",
"logLevel": "ログディレクトリのServiceフォルダ内のコアログファイルにのみ適用されます。",
"openUwpTool": "Windows 8以降では、UWPアプリケーションMicrosoft Storeなどがローカルホストのネットワークサービスに直接アクセスすることが制限されています。このツールを使用すると、この制限を回避できます。"
},
"options": {
"logLevel": {
"debug": "Debug",
"info": "Info",
"warning": "Warn",
"error": "Error",
"silent": "Silent"
}
}
}
}
},
"components": {
"verge": {
"basic": {
"title": "Verge基本設定",
"actions": {
"browse": "参照"
},
"trayOptions": {
"showMainWindow": "メインウィンドウを表示",
"showTrayMenu": "トレイメニューを表示",
"disable": "無効にする"
},
"fields": {
"language": "言語設定",
"themeMode": "テーマモード",
"trayClickEvent": "トレイアイコンクリックイベント",
"copyEnvType": "環境変数タイプをコピー",
"startPage": "起動ページ",
"startupScript": "起動スクリプト",
"themeSetting": "テーマ設定",
"layoutSetting": "レイアウト設定",
"misc": "その他の設定",
"hotkeySetting": "ホットキー設定"
}
},
"advanced": {
"title": "Verge詳細設定",
"tooltips": {
"backupInfo": "WebDAVを使用した設定ファイルのバックアップをサポートします。",
"openConfDir": "アプリケーションが正常に動作しない場合は、このフォルダ内のすべてのファイルを!バックアップ!して削除し、アプリケーションを再起動してください。",
"liteMode": "GUIを閉じて、コアのみを実行します。"
},
"actions": {
"copyVersion": "Copy Version"
},
"notifications": {
"latestVersion": "現在は最新バージョンです。",
"versionCopied": "Version copied to clipboard"
},
"fields": {
"backupSetting": "バックアップ設定",
"runtimeConfig": "現在の設定",
"openConfDir": "設定ディレクトリを開く",
"openCoreDir": "コアディレクトリを開く",
"openLogsDir": "ログディレクトリを開く",
"checkUpdates": "更新を確認",
"openDevTools": "開発者ツールを開く",
"liteModeSettings": "軽量モード設定",
"exit": "終了",
"exportDiagnostics": "診断情報をエクスポート",
"vergeVersion": "Vergeバージョン"
}
},
"theme": {
"title": "テーマ設定",
"fields": {
"primaryColor": "主要色",
"secondaryColor": "次要色",
"primaryText": "テキスト主要色",
"secondaryText": "テキスト次要色",
"infoColor": "情報色",
"warningColor": "警告色",
"errorColor": "エラー色",
"successColor": "成功色",
"fontFamily": "フォントファミリー",
"cssInjection": "CSSインジェクション"
},
"actions": {
"editCss": "Edit CSS"
},
"dialogs": {
"editCssTitle": "Edit CSS"
}
},
"layout": {
"title": "レイアウト設定",
"fields": {
"preferSystemTitlebar": "Prefer System Titlebar",
"trafficGraph": "トラフィックグラフ",
"memoryUsage": "コアメモリ使用量",
"proxyGroupIcon": "プロキシグループアイコン",
"hoverNavigator": "Hover Jump Navigator",
"hoverNavigatorDelay": "Hover Jump Navigator Delay",
"navIcon": "ナビゲーションバーアイコン",
"trayIcon": "トレイアイコン",
"showProxyGroupsInline": "Show Proxy Groups Inline",
"commonTrayIcon": "通常のトレイアイコン",
"systemProxyTrayIcon": "システムプロキシトレイアイコン",
"tunTrayIcon": "TUNモードトレイアイコン",
"enableTrayIcon": "トレイアイコンを有効にする",
"enableTraySpeed": "トレイの速度表示を有効にする"
},
"tooltips": {
"hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters",
"hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds"
},
"options": {
"icon": {
"monochrome": "モノクロアイコン",
"colorful": "カラーアイコン",
"disable": "無効にする"
}
}
}
}
},
"modals": {
"clashPort": {
"title": "ポート設定",
"fields": {
"mixed": "混合プロキシポート",
"socks": "SOCKSプロキシポート",
"http": "HTTP(S)プロキシポート",
"redir": "Redir透明プロキシポート",
"tproxy": "TPROXY透明プロキシポート"
},
"actions": {
"random": "ランダムポート"
},
"messages": {
"saved": "Port settings saved",
"saveFailed": "Failed to save port settings"
}
},
"clashCore": {
"variants": {
"release": "正式版",
"alpha": "アルファ版"
}
},
"liteMode": {
"title": "軽量モード設定",
"actions": {
"enterNow": "今すぐ軽量モードに入る"
},
"toggles": {
"autoEnter": "自動的に軽量モードに入る"
},
"tooltips": {
"autoEnter": "有効にすると、ウィンドウを閉じてから一定時間後に自動的に軽量モードが有効になります。"
},
"fields": {
"delay": "自動的に軽量モードに入るまでの遅延時間"
},
"messages": {
"autoEnterHint": "ウィンドウを閉じると、{{n}}分後に自動的に軽量モードが有効になります。"
}
},
"backup": {
"title": "バックアップ設定",
"tabs": {
"local": "Local backup",
"webdav": "WebDAV backup"
},
"actions": {
"selectTarget": "Select backup target",
"backup": "バックアップ",
"export": "Export",
"exportBackup": "Export Backup",
"deleteBackup": "バックアップを削除",
"restore": "復元",
"restoreBackup": "バックアップを復元",
"viewHistory": "View history"
},
"fields": {
"webdavUrl": "WebDAVサーバーのURL http(s)://",
"username": "ユーザー名",
"info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups."
},
"messages": {
"webdavUrlRequired": "WebDAVサーバーのURLは必須です。",
"invalidWebdavUrl": "無効なWebDAVサーバーのURL形式",
"usernameRequired": "ユーザー名は必須です。",
"passwordRequired": "パスワードは必須です。",
"webdavConfigSaved": "WebDAV設定が保存されました。",
"webdavConfigSaveFailed": "WebDAV設定の保存に失敗しました: {{error}}",
"backupCreated": "バックアップが作成されました。",
"backupFailed": "バックアップに失敗しました: {{error}}",
"localBackupCreated": "Local backup created successfully",
"localBackupFailed": "Local backup failed",
"restoreSuccess": "復元に成功しました。アプリケーションは1秒後に再起動します。",
"localBackupExported": "Local backup exported successfully",
"localBackupExportFailed": "Failed to export local backup",
"webdavRefreshSuccess": "WebDAV refresh succeeded",
"webdavRefreshFailed": "WebDAV refresh failed: {{error}}",
"confirmDelete": "Confirm to delete this backup file?",
"confirmRestore": "Confirm to restore this backup file?"
},
"auto": {
"title": "Automatic backup",
"scheduleLabel": "Enable scheduled backup",
"scheduleHelper": "Create local backups in the background at the configured interval.",
"intervalLabel": "Backup frequency",
"changeLabel": "Backup on critical changes",
"changeHelper": "Automatically back up when the global extend config/script or subscriptions are added, removed, or edited.",
"options": {
"hours": "Every {{n}} hours",
"days": "Every {{n}} days"
}
},
"manual": {
"title": "Manual backup",
"local": "Creates a snapshot on this device, stored under the app data directory.",
"webdav": "Upload a snapshot to your WebDAV server once credentials are set.",
"configureWebdav": "Configure WebDAV"
},
"history": {
"title": "Backup history",
"summary": "{{count}} backups • latest {{recent}}",
"empty": "No backups available"
},
"webdav": {
"title": "WebDAV settings"
},
"table": {
"filename": "ファイル名",
"backupTime": "バックアップ時間",
"actions": "操作",
"noBackups": "バックアップがありません。",
"rowsPerPage": "Rows per page"
}
},
"misc": {
"title": "その他の設定",
"fields": {
"appLogLevel": "アプリケーションログレベル",
"appLogMaxSize": "App Log Max Size",
"appLogMaxCount": "App Log Max Count",
"autoCloseConnections": "接続を自動的に閉じる",
"autoCheckUpdate": "自動更新チェック",
"enableBuiltinEnhanced": "組み込み拡張機能を有効にする",
"proxyLayoutColumns": "プロキシページのレイアウト列数",
"autoLogClean": "ログを自動的にクリーンアップ",
"autoDelayDetection": "自動遅延検出",
"defaultLatencyTest": "デフォルトの遅延テストURL",
"defaultLatencyTimeout": "テストタイムアウト時間"
},
"tooltips": {
"autoCloseConnections": "プロキシグループで選択されたノードまたはプロキシモードが変更されたときに、既存の接続を閉じます。",
"enableBuiltinEnhanced": "設定ファイルの互換性処理",
"autoDelayDetection": "バックグラウンドで現在のノードのレイテンシーを定期的にテストします",
"defaultLatencyTest": "HTTPクライアントリクエストテストにのみ使用され、設定ファイルには影響しません。"
},
"options": {
"proxyLayoutColumns": {
"auto": "自動列数"
},
"autoLogClean": {
"never": "クリーンアップしない",
"retainDays": "{{n}}日間保持"
}
}
},
"update": {
"title": "New Version v{{version}}",
"actions": {
"goToRelease": "リリースページに移動",
"update": "更新"
},
"messages": {
"portableError": "ポータブル版ではアプリケーション内での更新はサポートされていません。手動でダウンロードして置き換えてください。",
"breakChangeError": "このバージョンは重大な更新であり、アプリケーション内での更新はサポートされていません。アンインストールしてから手動でダウンロードしてインストールしてください。"
}
},
"sysproxy": {
"title": "システムプロキシ設定",
"fieldsets": {
"currentStatus": "現在のシステムプロキシ"
},
"fields": {
"enableStatus": "有効状態:",
"serverAddr": "サーバーアドレス:",
"pacUrl": "PACアドレス",
"proxyHost": "プロキシホスト",
"usePacMode": "PACモードを使用",
"proxyGuard": "システムプロキシガード",
"guardDuration": "プロキシガード間隔",
"alwaysUseDefaultBypass": "常にデフォルトのバイパスを使用",
"proxyBypass": "プロキシバイパス設定:",
"bypass": "現在のバイパス:",
"pacScriptContent": "PACスクリプト内容"
},
"tooltips": {
"proxyGuard": "他のソフトウェアがオペレーティングシステムのプロキシ設定を変更するのを防ぐために有効にします。"
},
"messages": {
"durationTooShort": "プロキシデーモンの間隔は1秒以上に設定する必要があります。",
"invalidBypass": "無効なバイパス形式",
"invalidProxyHost": "プロキシホストの形式が無効です"
},
"actions": {
"editPac": "編集 PAC"
}
},
"tun": {
"title": "仮想ネットワークカードモード",
"fields": {
"stack": "TUNモードスタック",
"device": "Device Name",
"autoRoute": "グローバルルートを自動設定",
"strictRoute": "厳格なルート",
"autoDetectInterface": "トラフィックの出口インターフェースを自動選択",
"dnsHijack": "DNSハイジャック",
"mtu": "最大転送単位"
},
"tooltips": {
"dnsHijack": "Please use , to separate multiple DNS servers"
},
"messages": {
"applied": "設定が適用されました。"
}
},
"dns": {
"dialog": {
"title": "DNS上書き",
"warning": "ここの設定がわからない場合は、変更しないでください。DNS上書きを有効にしたままにしてください。"
},
"sections": {
"general": "DNS設定",
"fallbackFilter": "フォールバックフィルター設定",
"hosts": "Hosts設定"
},
"fields": {
"enable": "DNSを有効にする",
"listen": "DNS監視アドレス",
"enhancedMode": "拡張モード",
"fakeIpRange": "Fake IP範囲",
"fakeIpFilterMode": "Fake IPフィルターモード",
"ipv6": {
"label": "IPv6",
"description": "IPv6 DNS解決を有効にする"
},
"preferH3": {
"label": "HTTP/3を優先する",
"description": "DNS DOHでHTTP/3プロトコルを使用する"
},
"respectRules": {
"label": "ルートルールに従う",
"description": "DNS接続はルートルールに従います。"
},
"useHosts": {
"label": "Hostsファイルを使用する",
"description": "Hostsファイルを使用してホスト名を解決する"
},
"useSystemHosts": {
"label": "システムのHostsファイルを使用する",
"description": "システムのHostsファイルを使用してホスト名を解決する"
},
"directPolicy": {
"label": "直接接続の名前解決サーバーはポリシーに従う",
"description": "名前解決サーバーのポリシーに従うかどうか"
},
"defaultNameserver": {
"label": "デフォルトの名前解決サーバー",
"description": "名前解決サーバーを解決するために使用されるデフォルトのDNSサーバー"
},
"nameserver": {
"label": "名前解決サーバー",
"description": "DNSサーバーのリスト。カンマで区切って指定します。"
},
"fallback": {
"label": "フォールバックサーバー",
"description": "フォールバックDNSサーバーのリスト。カンマで区切って指定します。"
},
"proxy": {
"label": "プロキシサーバーの名前解決サーバー",
"description": "プロキシノードの名前解決サーバー。プロキシノードのドメイン名を解決するためにのみ使用されます。カンマで区切って指定します。"
},
"directNameserver": {
"label": "直接接続の名前解決サーバー",
"description": "直接接続の出口名前解決サーバー。systemキーワードをサポートします。カンマで区切って指定します。"
},
"fakeIpFilter": {
"label": "Fake IPフィルター",
"description": "Fake IP解決をスキップするドメイン名。カンマで区切って指定します。"
},
"nameserverPolicy": {
"label": "名前解決サーバーのポリシー",
"description": "特定のドメインのDNSサーバー。複数のサーバーはセミコロンで区切って指定します。形式: domain=server1;server2"
},
"geoipFiltering": {
"label": "GeoIPフィルタリング",
"description": "フォールバックのGeoIPフィルタリングを有効にする"
},
"geoipCode": "GeoIP国コード",
"fallbackIpCidr": {
"label": "フォールバックIP CIDR",
"description": "フォールバックサーバーを使用しないIP CIDR。カンマで区切って指定します。"
},
"fallbackDomain": {
"label": "フォールバックドメイン",
"description": "フォールバックサーバーを使用するドメイン名。カンマで区切って指定します。"
},
"hosts": {
"label": "Hosts",
"description": "カスタムのドメイン名からIPまたはドメイン名へのマッピング。カンマで区切って指定します。"
}
},
"messages": {
"saved": "DNS設定が保存されました。",
"configError": "DNS configuration error:"
},
"errors": {
"invalid": "Invalid configuration",
"invalidYaml": "Invalid YAML format"
}
},
"webUI": {
"actions": {
"openUrl": "URLを開く"
},
"title": "Webインターフェース",
"messages": {
"supportedPlaceholders": "%host, %port, %secretをサポートします。",
"placeholderInstruction": "%host, %port, %secretを使用してホスト、ポート、アクセスキーを表します。"
}
},
"hotkey": {
"toggles": {
"enableGlobal": "グローバルホットキーを有効にする"
},
"title": "ホットキー設定",
"functions": {
"rule": "ルールモード",
"global": "グローバルモード",
"openOrCloseDashboard": "ダッシュボードを開く/閉じる",
"toggleSystemProxy": "システムプロキシを開く/閉じる",
"toggleTunMode": "TUNモードを開く/閉じる",
"entryLightweightMode": "軽量モードに入る",
"direct": "直接接続モード"
}
},
"password": {
"prompts": {
"enterRoot": "ルートパスワードを入力してください。"
}
},
"networkInterface": {
"title": "ネットワークインターフェース",
"fields": {
"ipAddress": "IPアドレス",
"macAddress": "MACアドレス"
}
}
},
"feedback": {
"notifications": {
"clash": {
"restartSuccess": "Clashコアが再起動されました。",
"versionUpdated": "コアバージョンが更新されました。",
"alreadyLatestVersion": "すでに最新のコアバージョンを使用しています。",
"changeSuccess": "コアの切り替えに成功しました。",
"changeFailed": "コアの切り替えに失敗しました。",
"geoDataUpdated": "GeoDataが更新されました。"
},
"clashService": {
"installSuccess": "サービスのインストールに成功しました。",
"uninstallSuccess": "サービスのアンインストールに成功しました。"
},
"updater": {
"withClashProxySuccess": "Clashプロキシを使用して更新に成功しました。",
"withClashProxyFailed": "Clashプロキシを使用しても更新に失敗しました。"
}
}
},
"statuses": {
"clash": {
"stopping": "コアを停止中...",
"restarting": "コアを再起動中..."
},
"clashService": {
"installing": "サービスをインストール中...",
"uninstalling": "サービスをアンインストール中..."
}
}
}