# Changelog — 推送历史错误提示中文化

**日期**: 2026-06-02

## 变更摘要

推送相关错误信息（rsync/SSH 原始英文 stderr）在写入数据库与前端展示时统一本地化为中文。

## 动机

推送历史表格、实时进度、预览与诊断弹窗中直接显示英文 rsync/SSH 报错，运维阅读成本高。

## 涉及文件

| 文件 | 说明 |
|------|------|
| `server/utils/sync_error_message.py` | 后端翻译（写入 sync_log 前） |
| `server/application/services/sync_engine_v2.py` | 推送失败/预览错误走翻译 |
| `server/api/sync_v2.py` | 诊断接口 stderr 片段翻译 |
| `frontend/src/utils/pushErrorMessage.ts` | 前端展示翻译（含历史英文记录） |
| `frontend/src/components/push/PushHistoryTable.vue` | 错误列 |
| `frontend/src/composables/push/usePushProgress.ts` | WebSocket 进度详情 |
| `frontend/src/components/push/PushPreviewDialog.vue` | 预览失败列 |
| `frontend/src/components/push/PushDiagnoseDialog.vue` | 诊断告警 |

## 是否需迁移/重启

- 后端需重启；前端需重新构建部署
- 无数据库迁移；历史英文记录在刷新页面后由前端翻译显示

## 验证方式

1. `python -m pytest tests/test_sync_error_message.py -v`
2. 推送失败后在「推送历史」错误列看到中文（如「权限被拒绝」「连接被拒绝」）
3. 已是中文的消息（如「推送已取消」）保持不变
