Skip to content

xiaocang/easydict_win32

Repository files navigation

Easydict for Windows

Easy to look up words or translate text

A Windows port of Easydict

English   |   中文

Table of Contents

Introduction

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.

Back to Top

Screenshots

Overview

Main Window with Mini Window (Quick Translate)

Main Window All Windows Settings
Main Window All Windows Settings
Full translation interface Main + Mini + Fixed windows with hotkey settings Service configuration

Light & Dark Mode

Light & Dark Mode — Mini Window (Quick Translate)

Grammar Correction Dictionary Mode Long Document Translation
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
OCR Screenshot Translate Mouse Selection Translate
Capture screen region → OCR → translate Select text in any app → click to translate

Back to Top

Features

  • OCR Screenshot Translate - Snipaste-style screen capture: press Ctrl+Alt+S to 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 window
    • Ctrl+Alt+D - Translate clipboard content
    • Ctrl+Alt+M - Show mini window (copies selection and translates when available)
    • Ctrl+Alt+F - Show fixed window
    • Ctrl+Alt+S - OCR screenshot translate
    • Ctrl+Alt+Shift+S - Silent OCR (copy recognized text to clipboard)
    • Ctrl+Alt+Shift+M - Toggle mini window visibility
    • Ctrl+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

Back to Top

Installation

System Requirements

  • Windows 10 version 2004 (build 19041) or later
  • x64 or ARM64 processor

Install via winget

winget install xiaocang.EasydictforWindows

Download

Download from the Releases page.

Portable Version (Recommended)

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.exe

Verify Download (Optional)

Each 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" }

Build from Source

# 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

Back to Top

Tech Stack

  • .NET - Runtime framework
  • WinUI 3 (Windows App SDK) - Modern Windows UI framework
  • C# - Programming language
  • xUnit + FluentAssertions - Unit testing

Back to Top

Translation Service Integration Tests

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 BaseOpenAIService and share the same OpenAI-compatible implementation, so untested ones are expected to work similarly.

Back to Top

TODO

High Priority

  • 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

Medium Priority

  • More Translation Services

    • Volcano Engine (火山翻译, ByteDance) ✅ Implemented
  • AI Tools

    • Text Polishing
    • Text Summarization
  • More Hotkeys

    • Polish and replace
    • Translate and replace

Low Priority

  • 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

Distribution

  • Windows Store - Published to Microsoft Store
  • winget - Published to Windows Package Manager ✅

Back to Top

Comparison with macOS Version

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

Back to Top

License

GPL-3.0 - For learning and communication purposes only. License and copyright notice must be included when using source code.

Back to Top

Acknowledgements


This project was developed using Vibe Coding, with AI-assisted programming by Claude (Anthropic).