Mô tả
🚀 EnViT5 Smart Translator - Bản Siêu Tốc (Offline)
EnViT5 Smart Translator là công cụ dịch thuật màn hình mạnh mẽ, sử dụng trí tuệ nhân tạo (AI) để dịch trực tiếp từ hình ảnh sang tiếng Việt. Phần mềm được tối ưu hóa đặc biệt cho dòng chip Intel Core i7 Thế hệ 12, đảm bảo tốc độ phản hồi tức thì mà không cần kết nối Internet.
🌟 Tính năng nổi bật
- Dịch Offline 100%: Không gửi dữ liệu lên mây, bảo mật tuyệt đối thông tin.
- Cốt lõi VietAI: Sử dụng mô hình EnViT5 chuyên sâu cho cặp ngôn ngữ Anh - Việt.
- Tốc độ i7 Gen 12: Tận dụng nhân P-cores và định dạng INT8 Quantization để dịch trong chưa đầy 1 giây.
- Chống lặp thông minh: Tích hợp bộ phạt lặp (Repetition Penalty) và tự động chuẩn hóa dấu câu đầu vào.
📖 Hướng dẫn sử dụng
Giao diện phần mềm
Phần mềm có 4 nút chính:
- Quét / Thu nhỏ (Esc): Phóng to màn hình để bắt đầu chế độ dịch hoặc thu nhỏ để thoát.
- Xóa (Enter): Xóa vùng đã chọn và reset màn hình.
- Cài đặt: Mở cửa sổ cài đặt với các thông số: -
Beams Size: Số lượng beam trong quá trình tìm kiếm, ảnh hưởng đến chất lượng bản dịch (giá trị cao hơn có thể cải thiện chất lượng nhưng làm chậm tốc độ). - Phạt lặp: Hệ số phạt lặp từ, giúp giảm khả năng lặp lại từ trong bản dịch. - Chặn lặp cụm: Kích thước n-gram không được lặp lại, ngăn chặn việc lặp lại cụm từ trong bản dịch. - Độ dài tối đa: Độ dài tối đa của bản dịch đầu ra. - Cỡ chữ: Kích thước chữ hiển thị trong bản dịch. - Thoát (X): Đóng phần mềm.
Các bước dịch nhanh
- Chọn nút Quét (hoặc nhấn Esc nếu đang ở chế độ thu nhỏ).
- Màn hình chuyển sang chế độ mờ.
- Chọn vùng cần dịch bằng chuột (nên chọn theo câu hoặc đoạn văn, tránh chọn theo danh mục hoặc menu để dịch tốt nhất).
- Nếu muốn reset màn hình, nhấn nút Xóa hoặc Enter.
- Thu nhỏ phần mềm bằng nút Thu nhỏ hoặc Esc.
- Thoát phần mềm bằng nút X.
👨💻 Dev Guide
Ứng dụng dịch thuật màn hình sử dụng bộ não EnViT5 (CTranslate2), Tesseract OCR và giao diện PyQt5.
1. Thiết lập Môi trường (Venv)
Để tránh xung đột thư viện và lỗi đường dẫn tuyệt đối, hãy luôn khởi tạo môi trường ảo mới:
python -m venv venv# Kích hoạt:# Windows:.\venv\Scripts\activate# Linux/Mac:source venv/bin/activate
2. Cài đặt Thư viện
Sau khi kích hoạt venv, tiến hành cài đặt các phụ thuộc chính:
python -m pip install --upgrade pippip install -r requirements.txt
Lưu ý: Nếu gặp lỗi DLL load failed khi chạy OpenCV hoặc CTranslate2, hãy cài đặt Microsoft Visual C++ Redistributable.
3. Quản lý Phụ thuộc với pipreqs
Khi bạn thêm module mới vào code, hãy dùng pipreqs để cập nhật requirements.txt. Do dự án chứa ký tự tiếng Việt, bắt buộc dùng flag encoding:
# Tạo lại file requirements (ép kiểu UTF-8)pipreqs . --force --encoding=utf-8
4. Đóng gói phần mềm (Packaging)
Sử dụng PyInstaller để đóng gói thành file .exe. Vì ứng dụng cần các folder tài nguyên, hãy dùng tham số --add-data.
Lệnh đóng gói chuẩn:
pyinstaller --noconfirm --onedir --windowed --name "EnViT5_Translator" \ --add-data "model_envit5_fast;model_envit5_fast" \ --add-data "Tesseract-OCR;Tesseract-OCR" \ --add-data ".env;." main.py
--onedir: Tạo thư mục chứa file chạy (khuyên dùng để dễ quản lý folder model).
--windowed: Tắt màn hình console đen khi mở app.
5. Lưu ý quan trọng sau khi đóng gói
- Cấu trúc thư mục: Đảm bảo folder
model_envit5_fast và Tesseract-OCR nằm cùng cấp với file .exe. - Quyền truy cập: Nếu ứng dụng không thực hiện được OCR, hãy thử chạy với quyền Administrator để Tesseract có quyền đọc bộ nhớ tạm.
- i7 Gen 12 (Hybrid CPU): Code đã được ép
intra_threads=1 và OMP_NUM_THREADS=1 để tránh hiện tượng treo (Deadlock) trên kiến trúc nhân P và E của Intel. Đừng tăng thông số này lên trừ khi bạn đã test kỹ trên các dòng chip khác. - Tesseract Path: Trong code, hàm
get_resource_path() sẽ tự động tìm đường dẫn trong thư mục tạm _MEIPASS của PyInstaller, hãy giữ nguyên logic này để app hoạt động trên mọi máy.
6. Cấu trúc Project
translate2/├── main.py # File chạy chính├── main_window.py # Giao diện chính PyQt5├── engine.py # Xử lý dịch và logic AI├── ocr_utils.py # Tiện ích OCR (Tesseract)├── ui_components.py # Các thành phần giao diện phụ trợ├── config.py # Cấu hình chung├── main.spec # File cấu hình đóng gói PyInstaller├── requirements.txt # Danh sách thư viện Python├── README.md # Tài liệu hướng dẫn├── build/ # Thư mục build của PyInstaller├── __pycache__/ # Thư mục cache Python├── model_envit5_fast/ # Chứa model AI (config.json, shared_vocabulary.json, spiece.model)├── Tesseract-OCR/ # Chứa tesseract.exe, tessdata/ và các file OCR│ └── tessdata/ # Dữ liệu ngôn ngữ cho Tesseract (eng.traineddata, vie.traineddata, ...)└── ... # Các file/thư mục khác nếu có
Lưu ý:
Đảm bảo các thư mục model_envit5_fast và Tesseract-OCR nằm cùng cấp với file thực thi .exe hoặc main.py khi chạy hoặc đóng gói.
Thư mục build/ và __pycache__/ được tạo tự động, không cần quan tâm khi sử dụng thông thường.