A Windows port of Easydict
- Introduction
- Screenshots
- Features
- Installation
- Tech Stack
- Translation Service Integration Tests
- TODO
- Comparison with macOS Version
- License
- Acknowledgements
This is a Windows port of Easydict, originally a macOS translation dictionary app. The project was developed using Vibe Coding - AI-assisted programming to migrate the Swift/SwiftUI codebase to .NET + WinUI 3.
While the feature set is not yet complete compared to the macOS version, this port fills the gap for Windows users who want a convenient translation tool with global hotkey support and multiple translation services.
Main Window with Mini Window (Quick Translate)
| Main Window | All Windows | Settings |
|---|---|---|
![]() |
![]() |
![]() |
| Full translation interface | Main + Mini + Fixed windows with hotkey settings | Service configuration |
Light & Dark Mode — Mini Window (Quick Translate)
| Grammar Correction | Dictionary Mode | Long Document Translation |
|---|---|---|
![]() |
![]() |
![]() |
| AI-powered grammar correction | Word definitions, phonetics, and examples | PDF/Text/Markdown translation with progress |
| OCR Screenshot Translate | Mouse Selection Translate |
|---|---|
![]() |
![]() |
| Capture screen region → OCR → translate | Select text in any app → click to translate |
-
OCR Screenshot Translate - Snipaste-style screen capture: press
Ctrl+Alt+Sto capture a screen region, auto-detect windows or drag to select, then OCR the text and translate. Uses Windows OCR API with configurable recognition language. Also supports silent OCR (Ctrl+Alt+Shift+S) that copies recognized text to clipboard without translating. -
Mouse Selection Translate - Select text in any app (drag, double-click, or triple-click) and click the floating pop button to translate instantly in Mini Window
-
Grammar Correction Mode - AI-powered grammar correction that highlights errors and provides corrected text with explanations
-
Long Document Translation - Translate PDF, plain text, and Markdown documents with ML-based layout detection, formula protection, parallel processing, bilingual output, and translation cache
-
Dictionary Mode - Word definitions, phonetics, and example sentences powered by Google Dict and Linguee
-
Global Hotkeys
Ctrl+Alt+T- Show/hide main windowCtrl+Alt+D- Translate clipboard contentCtrl+Alt+M- Show mini window (copies selection and translates when available)Ctrl+Alt+F- Show fixed windowCtrl+Alt+S- OCR screenshot translateCtrl+Alt+Shift+S- Silent OCR (copy recognized text to clipboard)Ctrl+Alt+Shift+M- Toggle mini window visibilityCtrl+Alt+Shift+F- Toggle fixed window visibility
-
Multiple Window Modes
- Main Window - Full translation interface
- Mini Window - Compact floating window
- Fixed Window - Persistent translation window
-
LLM Streaming Translation - Real-time display of translation results
-
System Tray - Minimize to tray, run in background
-
Clipboard Monitoring - Auto-translate copied text
-
Shell Context Menu - Right-click any file or desktop background → "OCR Translate" to instantly capture and translate text on screen
-
Dark/Light Theme - Follows system theme
-
TTS (Text-to-Speech) - Play source and translated text using Windows Speech Synthesis
-
Multi-language UI - Localized interface in 15 languages including English, Chinese (Simplified/Traditional), Japanese, Korean, French, German, Spanish, Portuguese, Italian, Russian, Arabic, Thai, Vietnamese, and Indonesian
-
40+ Languages - Customizable language selection in Settings — choose which languages appear in source/target pickers from 40+ options spanning East Asian, European, Middle Eastern, South Asian, and Southeast Asian languages
-
HTTP Proxy Support - Configure proxy server
-
High DPI Support - Per-Monitor V2 DPI awareness
-
Multiple Translation Services (19 services)
- Google Translate (free, no API key required)
- Google Dict (rich dictionary: phonetics, definitions, examples)
- Bing Translate (free, no API key required)
- DeepL (supports Free/Pro API, Traditional Chinese supported)
- Youdao (Web + OpenAPI)
- OpenAI (GPT-4o, GPT-4o-mini, etc.)
- Gemini (Google AI, including Gemini 2.5 models)
- DeepSeek
- Groq (fast LLM inference)
- Zhipu AI
- GitHub Models (free)
- Doubao (ByteDance translation-specialized model)
- Volcano Engine (火山翻译, ByteDance)
- Caiyun (彩云小译, Traditional Chinese supported)
- NiuTrans (小牛翻译, 450+ languages, Traditional Chinese supported)
- Linguee Dictionary (with context examples)
- Ollama (local LLM, default: llama3.2)
- BuiltIn AI (free, powered by Groq)
- Custom OpenAI-compatible services
- Windows 10 version 2004 (build 19041) or later
- x64 or ARM64 processor
winget install xiaocang.EasydictforWindowsDownload from the Releases page.
File: easydict_win32-vX.Y.Z-x64.zip
- No installation required - extract and run
- No administrator privileges needed
- Self-contained (.NET runtime included)
- First run may trigger Windows SmartScreen warning - click "More info" → "Run anyway"
# Extract and run
Expand-Archive easydict_win32-v1.0.0-x64.zip -DestinationPath Easydict
.\Easydict\Easydict.WinUI.exeEach release includes SHA256 checksums for verification.
# Linux/macOS/WSL
sha256sum -c checksums-x64.sha256 --ignore-missing
# PowerShell
$expected = (Get-Content checksums-x64.sha256 | Select-String "easydict_win32").ToString().Split()[0]
$actual = (Get-FileHash easydict_win32-v1.0.0-x64.zip -Algorithm SHA256).Hash.ToLower()
if ($expected -eq $actual) { "OK" } else { "FAILED" }# Clone repository
git clone https://github.com/xiaocang/easydict_win32.git
cd easydict_win32/dotnet
# Build
dotnet build src/Easydict.WinUI/Easydict.WinUI.csproj -c Release
# Run
dotnet run --project src/Easydict.WinUI/Easydict.WinUI.csproj- .NET - Runtime framework
- WinUI 3 (Windows App SDK) - Modern Windows UI framework
- C# - Programming language
- xUnit + FluentAssertions - Unit testing
| Service | Protocol | Status | Notes |
|---|---|---|---|
| Google Translate | REST | ✅ | Free, no API key |
| Bing Translate | REST | ✅ | Free, no API key |
| Youdao | REST | ✅ | Web + OpenAPI |
| OpenAI | OpenAI API | ✅ | |
| DeepSeek | OpenAI API | ✅ | |
| Gemini | Gemini API | ✅ | Custom SSE streaming |
| Zhipu AI | OpenAI API | ✅ | |
| Volcano Engine | REST | ✅ | HMAC-SHA256 signing |
| Groq | OpenAI API | — | OpenAI-compatible, missing API key |
| GitHub Models | OpenAI API | — | OpenAI-compatible, missing API key |
| Doubao | Custom SSE | — | Missing API key |
| DeepL | REST | — | Missing API key |
| Caiyun | REST | — | Missing API key |
| NiuTrans | REST | ✅ | |
| Linguee | REST | — | Not tested |
| Google Dict | REST | ✅ | |
| Ollama | OpenAI API | — | Requires local Ollama setup |
| BuiltIn AI | OpenAI API | — | Embedded key |
| Custom OpenAI | OpenAI API | — | OpenAI-compatible, user-defined endpoint |
Services marked OpenAI API extend
BaseOpenAIServiceand share the same OpenAI-compatible implementation, so untested ones are expected to work similarly.
-
Doubao- ByteDance LLM service ✅ Implemented -
Caiyun- 彩云小译 ✅ Implemented -
NiuTrans- 小牛翻译 (450+ languages) ✅ Implemented -
Linguee Dictionary- Dictionary with context examples ✅ Implemented -
TTS (Text-to-Speech)- Windows Speech Synthesis API ✅ Implemented -
OCR Screenshot Translation- Snipaste-style screen capture with Windows OCR API ✅ Implemented
-
More Translation Services
-
Volcano Engine(火山翻译, ByteDance) ✅ Implemented
-
-
AI Tools
- Text Polishing
- Text Summarization
-
More Hotkeys
- Polish and replace
- Translate and replace
-
Dictionary Mode- Word definitions, pronunciation ✅ Implemented - Smart Query - Auto-select translation mode based on text type
-
Multi-language UI- UI localization (15 languages) ✅ Implemented - Auto Update - Check and install updates
- Windows Store - Published to Microsoft Store
-
winget- Published to Windows Package Manager ✅
| Feature | macOS | Windows |
|---|---|---|
| Translation Services | 25+ | 19 |
| OCR Screenshot Translation | Yes | Yes |
| TTS | Yes | Yes |
| Selection Translation | Yes | Yes |
| Grammar Correction | No | Yes |
| Long Document Translation | No | Yes |
| Dictionary Mode | Yes | Yes |
| Window Types | 3 | 3 |
| Global Hotkeys | 10+ | 8 |
| LLM Streaming | Yes | Yes |
| Traditional Chinese | Yes | Yes |
GPL-3.0 - For learning and communication purposes only. License and copyright notice must be included when using source code.
- Easydict - Original macOS version
- Windows App SDK - WinUI 3 framework
This project was developed using Vibe Coding, with AI-assisted programming by Claude (Anthropic).









