Files
Document_Translator/README.md
2025-09-04 16:37:33 +08:00

6.8 KiB
Raw Permalink Blame History

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 系統

快速啟動

開發環境

  1. 克隆專案

    cd C:\Users\EGG\WORK\data\user_scrip\TOOL\Document_translator_V2
    
  2. 後端啟動

    # 使用提供的啟動腳本
    start_dev.bat
    
    # 或手動啟動
    python -m venv venv
    venv\Scripts\activate
    pip install -r requirements.txt
    python app.py
    
  3. 前端啟動(另開命令視窗)

    cd frontend
    npm install
    npm run dev
    
    # 或使用批次檔
    start_frontend.bat
    
  4. Celery Worker 啟動(另開命令視窗)

    venv\Scripts\activate
    celery -A app.celery worker --loglevel=info --pool=solo
    
    # 或使用批次檔
    start_celery_worker.bat
    

系統訪問

專案結構

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 部署

  1. 建置映像

    docker build -t panjit-translator .
    
  2. 啟動服務

    docker-compose up -d
    
  3. 檢查狀態

    docker-compose ps
    docker logs panjit-translator
    

生產環境

  1. 使用 Gunicorn 啟動

    pip install gunicorn
    gunicorn -w 4 -b 0.0.0.0:12010 app:app
    
  2. 前端建置

    cd frontend
    npm run build
    
  3. 配置 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 - 健康檢查

故障排除

常見問題

  1. Redis 連接失敗

    • 確認 Redis 服務是否運行
    • 檢查 REDIS_URL 設定
  2. 資料庫連接失敗

    • 確認 MySQL 連接參數
    • 檢查網路連接
  3. LDAP 認證失敗

    • 確認 LDAP 服務器設定
    • 檢查服務帳號權限
  4. 檔案上傳失敗

    • 檢查 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

版本資訊

  • 版本: v2.0.0
  • 發布日期: 2025-09-04
  • 維護人員: PANJIT IT Team

授權條款

此軟體為 PANJIT 集團內部使用系統,版權歸 PANJIT 所有,僅供公司內部使用。