Skip to content

Easy to look up words or translate text. Windows port of tisfeng/Easydict.

License

Notifications You must be signed in to change notification settings

xiaocang/easydict_win32

Repository files navigation

Easydict for Windows

Easy to look up words or translate text

A Windows port of Easydict

English   |   中文

CI

Get it from Microsoft

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

Features

Implemented

  • Multiple Translation 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)
    • 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
  • LLM Streaming Translation - Real-time display of translation results

  • Multiple Window Modes

    • Main Window - Full translation interface
    • Mini Window - Compact floating window
    • Fixed Window - Persistent translation window
  • 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+Shift+M - Toggle mini window visibility
    • Ctrl+Alt+Shift+F - Toggle fixed window visibility
  • System Tray - Minimize to tray, run in background

  • Clipboard Monitoring - Auto-translate copied text

  • HTTP Proxy Support - Configure proxy server

  • High DPI Support - Per-Monitor V2 DPI awareness

  • 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

  • Dark/Light Theme - Follows system theme

  • TTS (Text-to-Speech) - Play source and translated text using Windows Speech Synthesis

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

Back to Top

Installation

System Requirements

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

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

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

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
  • Smart Query - Auto-select translation mode based on text type
  • Multi-language UI - UI localization
  • Auto Update - Check and install updates

Distribution

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

Back to Top

Comparison with macOS Version

Feature macOS Windows
Translation Services 25+ 18
OCR Screenshot Translation Yes No
TTS Yes Yes
Selection Translation Yes Yes
Window Types 3 3
Global Hotkeys 10+ 6
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).