ChineseScreenTranslator

Python License: MIT EasyOCR HuggingFace Google Translate Platform Author

A screen region selection tool that automatically detects and translates Chinese text (Simplified, Traditional, Cantonese, Classical) to English in real time, powered by EasyOCR and neural machine translation.


Features

Feature Details
Screen Selection Click-and-drag rubber-band region selector
OCR Engine EasyOCR - Simplified + Traditional Chinese
Translation Google Translate, Microsoft, or offline Helsinki-NLP
Chinese Variants Simplified, Traditional, Cantonese, Classical, Mixed
Hotkey Trigger Global configurable hotkey (default: Ctrl+Shift+S)
Image Preprocessing Upscale, contrast enhance, sharpen for accuracy
History Persistent JSON history with search and export
Clipboard Auto-copy or one-click copy
Offline Mode Helsinki-NLP MarianMT (opus-mt-zh-en)
GPU Support CUDA acceleration for OCR and offline translation
Settings UI Built-in settings window

Screenshots

+--------------------------------------+
|  ChineseScreenTranslator  v1.0.0     |
|  Detected Chinese Text               |
|  +----------------------------------+|
|  | 你好,欢迎使用本翻译工具。         ||
|  +----------------------------------+|
|  English Translation                 |
|  +----------------------------------+|
|  | Hello, welcome to this           ||
|  | translation tool.                ||
|  +----------------------------------+|
|  [Copy Translation] [Copy Source]    |
+--------------------------------------+

Requirements

System Requirements

Component Minimum Recommended
Python 3.9 3.11+
RAM 4 GB 8 GB+
Disk Space 1 GB 2 GB (models + deps)
GPU (optional) CUDA 11.8 CUDA 12.1
OS Windows 10 / Ubuntu 20.04 / macOS 12 Windows 11 / Ubuntu 22.04

First Run Downloads

Component Size Purpose
EasyOCR detection model ~50 MB Text region detection
EasyOCR ch_sim model ~90 MB Simplified Chinese recognition
EasyOCR ch_tra model ~90 MB Traditional Chinese recognition
Helsinki-NLP opus-mt-zh-en ~300 MB Offline translation (optional)

Installation

Step 1 - Clone the repository

git clone https://github.com/algorembrant/ChineseScreenTranslator.git
cd ChineseScreenTranslator

Step 2 - Create a virtual environment (recommended)

python -m venv venv

# Windows
venv\Scripts\activate

# Linux / macOS
source venv/bin/activate

Step 3 - Install PyTorch

Choose the command that matches your hardware:

Hardware Command
CPU only (any OS) pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu
NVIDIA GPU CUDA 11.8 pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
NVIDIA GPU CUDA 12.1 pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
macOS (Apple Silicon) pip install torch torchvision

Step 4 - Install remaining dependencies

pip install -r requirements.txt

Step 5 - Run the application

python translator.py

The first launch downloads OCR models (~230 MB total). This only happens once.


Usage

Basic Usage

Action How
Start application python translator.py
Trigger screen capture Press Ctrl+Shift+S
Select region Click and drag on screen
View translation Result window appears automatically
Copy translation Click "Copy Translation" button
View history Press Ctrl+Shift+H
Quit Press Ctrl+Shift+Q or close window

Keyboard Shortcuts

Shortcut Action
Ctrl+Shift+S Open screen region selector
Ctrl+Shift+C Copy last translation to clipboard
Ctrl+Shift+H Show/hide translation history
Ctrl+Shift+Q Quit application
Escape Cancel selection overlay

Command Line Options

Option Example Description
--hotkey --hotkey "ctrl+alt+x" Set custom global hotkey
--lang --lang traditional Force OCR language mode
--backend --backend offline Set translation backend
--offline --offline Use offline MarianMT model
--gpu --gpu Enable CUDA GPU acceleration
--upscale --upscale 3 Upscale factor for small text
--confidence --confidence 0.5 OCR confidence threshold
--no-preprocess --no-preprocess Disable image preprocessing
--export-history --export-history out.json Export history on exit
--verbose --verbose Enable DEBUG logging
--version --version Show version and exit
--help --help Show full help

Translation Backends

Backend Speed Requires Quality
google (default) Fast Internet Excellent
microsoft Fast Internet + API key Excellent
offline Moderate ~300 MB model Good

For Microsoft Translator, add your Azure Cognitive Services key to ~/.chinese_screen_translator/config.json:

{
  "microsoft_api_key": "YOUR_KEY_HERE",
  "microsoft_region": "eastus"
}

Supported Chinese Variants

Variant Mode Notes
Simplified Chinese (普通话 / 简体) --lang simplified Mainland China standard
Traditional Chinese (繁體中文) --lang traditional Taiwan, Hong Kong
Cantonese / Yue (廣東話) --lang traditional Use traditional mode
Classical Chinese (文言文) --lang auto Auto-detected
Mixed Chinese-English --lang auto Handled by both models
Vertical Chinese text --lang auto EasyOCR handles automatically

Configuration

Config file location: ~/.chinese_screen_translator/config.json

{
  "hotkey": "ctrl+shift+s",
  "lang": "auto",
  "backend": "google",
  "use_gpu": false,
  "upscale_factor": 2,
  "confidence_threshold": 0.30,
  "preprocess": true,
  "auto_copy": false,
  "show_confidence": true,
  "max_history": 500,
  "microsoft_api_key": "",
  "microsoft_region": "eastus",
  "offline_model_dir": "~/.chinese_screen_translator/models"
}

Troubleshooting

Problem Solution
easyocr not found pip install easyocr then install PyTorch
Models not downloading Check internet connection; proxy may block HuggingFace CDN
Hotkeys not working on Linux Run as root: sudo python translator.py
Low OCR accuracy Increase --upscale 3, zoom in on text, improve lighting
keyboard error on macOS Grant Accessibility permissions in System Preferences
Out of memory Use CPU mode (no --gpu), reduce --upscale
No text detected Lower --confidence 0.2, ensure text is clear and large enough
Google Translate blocked Use --backend offline or set up Microsoft API key

Project Structure

ChineseScreenTranslator/
  translator.py          Main application (single file)
  requirements.txt       Python dependencies
  README.md              This file
  .gitignore             Git ignore rules
  .gitattributes         Git / HuggingFace LFS config
  LICENSE                MIT License

Architecture

Hotkey / Button
     |
     v
ScreenOverlay (tkinter fullscreen transparent)
     |  click + drag
     v
_capture_screenshot (mss / PIL)
     |
     v
ImagePreprocessor
  - Upscale (Lanczos)
  - Contrast enhance
  - Sharpen
     |
     v
OCREngine (EasyOCR)
  - ch_sim reader
  - ch_tra reader
  - Auto-detect or forced mode
     |
     v
TranslationEngine
  - Google Translate (deep-translator)
  - Microsoft Translator
  - Helsinki-NLP MarianMT (offline)
     |
     v
ResultWindow (tkinter)
HistoryManager (JSON persistence)

License

MIT License. See LICENSE for details.


Author

algorembrant


Acknowledgments

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Evaluation results