diff --git a/src/components/SubscriptionQuotaFooter.tsx b/src/components/SubscriptionQuotaFooter.tsx index b1bf73151..a07914080 100644 --- a/src/components/SubscriptionQuotaFooter.tsx +++ b/src/components/SubscriptionQuotaFooter.tsx @@ -205,7 +205,9 @@ export const SubscriptionQuotaView: React.FC = ({ } // 成功获取数据 - const tiers = (quota.tiers || []).filter((tier) => tier.name in TIER_I18N_KEYS); + const tiers = (quota.tiers || []).filter( + (tier) => tier.name in TIER_I18N_KEYS, + ); if (tiers.length === 0) return null; // ── inline 模式:紧凑两行显示 ── diff --git a/src/hooks/useProxyStatus.ts b/src/hooks/useProxyStatus.ts index aa6d4a08e..d193b5972 100644 --- a/src/hooks/useProxyStatus.ts +++ b/src/hooks/useProxyStatus.ts @@ -57,6 +57,7 @@ export function useProxyStatus() { t("common.unknown", { defaultValue: "未知错误" }); toast.error( t("proxy.server.startFailed", { + detail, defaultValue: `启动代理服务失败: ${detail}`, }), ); @@ -87,6 +88,7 @@ export function useProxyStatus() { t("common.unknown", { defaultValue: "未知错误" }); toast.error( t("proxy.stopWithRestoreFailed", { + detail, defaultValue: `停止失败: ${detail}`, }), ); @@ -129,6 +131,7 @@ export function useProxyStatus() { t("common.unknown", { defaultValue: "未知错误" }); toast.error( t("proxy.takeover.failed", { + detail, defaultValue: `操作失败: ${detail}`, }), ); diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 117dd0b31..c7f089cdd 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -2056,7 +2056,7 @@ "hint": "Select apps to route — once enabled, requests from that app will go through local routing", "enabled": "{{app}} routing enabled", "disabled": "{{app}} routing disabled", - "failed": "Failed to toggle routing", + "failed": "Failed to toggle routing: {{detail}}", "tooltip": { "active": "{{appLabel}} is routing - {{address}}:{{port}}\nSwitch provider for hot switching", "broken": "{{appLabel}} is routing, but routing service is not running", diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json index b7b238884..156653fde 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json @@ -2056,7 +2056,7 @@ "hint": "ルーティングするアプリを選択します。有効にすると、そのアプリのリクエストはローカルルーティング経由で転送されます", "enabled": "{{app}} ルーティング有効", "disabled": "{{app}} ルーティング無効", - "failed": "ルーティングの切り替えに失敗しました", + "failed": "ルーティングの切り替えに失敗しました: {{detail}}", "tooltip": { "active": "{{appLabel}} がルーティング中 - {{address}}:{{port}}\nホットスイッチングのためプロバイダを切り替え", "broken": "{{appLabel}} がルーティング中ですが、ルーティングサービスが実行されていません", diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json index 2ce2aeb4a..f8a59d5da 100644 --- a/src/i18n/locales/zh.json +++ b/src/i18n/locales/zh.json @@ -2057,7 +2057,7 @@ "hint": "选择要路由的应用,启用后该应用的请求将通过本地路由转发", "enabled": "{{app}} 路由已启用", "disabled": "{{app}} 路由已关闭", - "failed": "切换路由状态失败", + "failed": "切换路由状态失败: {{detail}}", "tooltip": { "active": "{{appLabel}} 路由中 - {{address}}:{{port}}\n切换该应用供应商为热切换", "broken": "{{appLabel}} 路由中,但路由服务未运行",