f093f4bbc2ab50cb962bcdebb95d8b78f9faf6d2
PANJIT 文件翻譯系統
專案簡介
PANJIT 文件翻譯系統是一個企業級的多語言文件翻譯平台,支持多種文件格式的自動翻譯。系統採用 Flask + Vue.js 架構,整合 LDAP 認證、Celery 異步處理、通知系統等企業功能。
主要功能
- 多格式翻譯:支援 Word (.docx)、PowerPoint (.pptx)、Excel (.xlsx)、PDF 文件翻譯
- 多語言支援:支援繁體中文、簡體中文、英語、日語、韓語、越南語等
- LDAP 認證:整合企業 Active Directory 用戶系統
- 異步處理:使用 Celery + Redis 處理翻譯任務
- 即時通知:WebSocket 即時狀態更新 + 郵件通知
- 檔案管理:支援單檔下載、批量下載、合併檔案下載
- 管理後台:系統統計、用戶管理等功能
技術架構
後端
- Python 3.8+
- Flask 3.0 + SQLAlchemy 2.0
- MySQL 資料庫
- Celery 4.5 + Redis
- LDAP3 認證
- Socket.IO 即時通信
前端
- Vue.js 3.0 + Composition API
- Element Plus UI 框架
- Pinia 狀態管理
- Vite 建置工具
系統需求
- Python 3.8+
- Node.js 16+
- Redis Server
- MySQL 資料庫(已配置)
- Windows 10+ 或 Linux 系統
快速啟動
開發環境
-
克隆專案
cd C:\Users\EGG\WORK\data\user_scrip\TOOL\Document_translator_V2
-
後端啟動
# 使用提供的啟動腳本 start_dev.bat # 或手動啟動 python -m venv venv venv\Scripts\activate pip install -r requirements.txt python app.py
-
前端啟動(另開命令視窗)
cd frontend npm install npm run dev # 或使用批次檔 start_frontend.bat
-
Celery Worker 啟動(另開命令視窗)
venv\Scripts\activate celery -A app.celery worker --loglevel=info --pool=solo # 或使用批次檔 start_celery_worker.bat
系統訪問
- 前端界面: http://127.0.0.1:5173 (開發模式)
- 後端 API: http://127.0.0.1:12010 (生產模式)
- API 文檔: http://127.0.0.1:12010/api
- 健康檢查: http://127.0.0.1:12010/api/v1/health
專案結構
Document_translator_V2/
├── app/ # 後端應用
│ ├── api/ # API 路由
│ ├── models/ # 資料模型
│ ├── services/ # 業務邏輯
│ ├── tasks/ # Celery 任務
│ └── utils/ # 工具函數
├── frontend/ # 前端應用
│ ├── src/
│ │ ├── components/ # Vue 組件
│ │ ├── views/ # 頁面視圖
│ │ ├── stores/ # Pinia 狀態
│ │ └── utils/ # 工具函數
│ └── package.json
├── uploads/ # 檔案上傳目錄
├── logs/ # 日誌目錄
├── app.py # 主應用入口
├── celery_app.py # Celery 配置
├── requirements.txt # Python 依賴
└── .env # 環境變數
配置說明
環境變數 (.env)
系統需要以下環境變數配置:
# 資料庫配置
DATABASE_URL=mysql+pymysql://user:pass@host:port/db_name
MYSQL_HOST=mysql.theaken.com
MYSQL_PORT=33306
MYSQL_USER=A060
MYSQL_DATABASE=db_A060
# LDAP 配置
LDAP_SERVER=panjit.com.tw
LDAP_PORT=389
LDAP_BIND_USER_DN=CN=LdapBind,CN=Users,DC=PANJIT,DC=COM,DC=TW
# SMTP 配置
SMTP_SERVER=mail.panjit.com.tw
SMTP_PORT=25
SMTP_SENDER_EMAIL=todo-system@panjit.com.tw
# Redis 配置
REDIS_URL=redis://localhost:6379/0
API 配置 (api.txt)
系統使用 Dify API 進行翻譯,需要配置:
base_url:YOUR_DIFY_API_BASE_URL
api:YOUR_DIFY_API_KEY
部署指南
Docker 部署
-
建置映像
docker build -t panjit-translator .
-
啟動服務
docker-compose up -d
-
檢查狀態
docker-compose ps docker logs panjit-translator
生產環境
-
使用 Gunicorn 啟動
pip install gunicorn gunicorn -w 4 -b 0.0.0.0:12010 app:app
-
前端建置
cd frontend npm run build
-
配置 Web 服務器 將
frontend/dist
部署到 Nginx 或 Apache
API 文檔
認證相關
POST /api/v1/auth/login
- 用戶登入POST /api/v1/auth/logout
- 用戶登出GET /api/v1/auth/me
- 獲取當前用戶
檔案上傳
POST /api/v1/files/upload
- 上傳檔案
任務管理
GET /api/v1/jobs
- 獲取任務列表GET /api/v1/jobs/{uuid}
- 獲取任務詳情POST /api/v1/jobs/{uuid}/retry
- 重試任務
檔案下載
GET /api/v1/files/{uuid}/download/{lang}
- 下載指定語言版本GET /api/v1/files/{uuid}/download/batch
- 批量下載 (ZIP)GET /api/v1/files/{uuid}/download/combine
- 下載合併檔案
通知系統
GET /api/v1/notifications
- 獲取通知列表POST /api/v1/notifications/{id}/read
- 標記已讀
系統管理
GET /api/v1/admin/stats
- 系統統計GET /api/v1/health
- 健康檢查
故障排除
常見問題
-
Redis 連接失敗
- 確認 Redis 服務是否運行
- 檢查 REDIS_URL 設定
-
資料庫連接失敗
- 確認 MySQL 連接參數
- 檢查網路連接
-
LDAP 認證失敗
- 確認 LDAP 服務器設定
- 檢查服務帳號權限
-
檔案上傳失敗
- 檢查 uploads 目錄權限
- 確認磁碟空間充足
日誌查看
# 應用日誌
tail -f logs/app.log
# Celery 日誌
tail -f logs/celery.log
# 查看錯誤日誌
grep ERROR logs/app.log
維護指南
資料庫維護
# 備份資料庫
mysqldump -u A060 -p db_A060 > backup_$(date +%Y%m%d).sql
# 清理舊檔案(90天前)
find uploads/ -mtime +90 -delete
日誌清理
# 清理應用日誌(保留30天)
find logs/ -name "*.log" -mtime +30 -delete
Docker 部署
快速部署
# 1. 建置 Docker 映像
docker build -t panjit-translator .
# 2. 運行容器
docker run -d -p 12010:12010 --name panjit-translator panjit-translator
# 3. 檢查服務狀態
docker ps
docker logs panjit-translator
服務管理
# 停止服務
docker stop panjit-translator
# 啟動服務
docker start panjit-translator
# 重啟服務
docker restart panjit-translator
部署方式
# Docker 部署 (推薦)
docker build -t panjit-translator .
docker run -d -p 12010:12010 --name panjit-translator panjit-translator
支援與聯絡
PANJIT IT Team
- Email: it-support@panjit.com.tw
- 內線電話: 2481
- 辦公時間: 週一至週五 9:00-18:00
版本資訊
- 版本: v2.0.0
- 發布日期: 2025-09-04
- 維護人員: PANJIT IT Team
授權條款
此軟體為 PANJIT 集團內部使用系統,版權歸 PANJIT 所有,僅供公司內部使用。
Description
Languages
Python
53.7%
Vue
31%
JavaScript
9.7%
SCSS
4.3%
Batchfile
0.4%
Other
0.9%