Live translations for WeChat Input Method (微信输入法) and Microsoft Pinyin (微软拼音).
See what every candidate means while you type pinyin, and insert the translation instead of the Chinese.
Download · Quick start · Features · Privacy · FAQ
Translate is a small, quiet companion for WeChat Input Method (WeType) and Microsoft Pinyin on Windows. As you type pinyin, a panel under the candidate window shows the translation of each candidate. Press Alt+1…9 to type the translation into whatever app you're using — a chat, an email, a document — without leaving the keyboard.
| Instant for common words | A built-in dictionary answers single words immediately, offline. |
| Fast for sentences | Phrases and sentences come from the translation service you choose — one batched request per list, usually about 1.5 s — and repeats come from the cache. |
| Insert or copy | Alt+1…9 types the translation in place of the pinyin; Alt+Shift+1…9 copies it. Your app never loses focus. |
| Full text for long candidates | A preview opens beside the panel when candidate 1 doesn't fit; Alt+` shows it on request. |
| Seven target languages | English, Japanese, Korean, French, German, Spanish and Russian. |
| Bring your own service | OpenAI, Claude, Gemini, Grok, DeepSeek, OpenCode Go, or any OpenAI-, Claude- or Gemini-compatible endpoint. |
| Stays out of the way | No window and no tray icon. The panel appears only while you compose, skips password fields it can detect, and starts with Windows. |
| Private by design | Keys stay in Windows Credential Manager. Text goes only to the service you pick. Logs never contain what you type. |
| At home on Windows | Interface in English, 简体中文, 日本語 and 한국어; light and dark themes that follow the system. |
- Download
Translate-<version>-win-x64.zipfrom Releases. - Unzip it anywhere, for example
%LOCALAPPDATA%\Programs\Translate. - Run
Translate.exe. No installer, admin rights, Python or other tools are needed.
Translate runs in the background — nothing appears until you type pinyin with WeChat Input Method or Microsoft Pinyin in any app. From then on it starts with Windows (turn that off in Settings › General).
Tip
Without a translation service, single words are still translated into English by the built-in dictionary. Add a service for phrases, sentences and the other languages.
Connect a translation service. Run Translate.exe again (or press Ctrl+Alt+O) to open Settings, then:
- Translation › Service — pick a provider. The endpoint and a default model are filled in; Load models lists what your key can use.
- Paste your API key, press Test connection, then Save. The key goes to Windows Credential Manager and is never shown again.
- Overview › Translate into — choose your language.
Supported services
| Service | API format | Authentication |
|---|---|---|
| OpenAI | Chat Completions | API key |
| Claude (Anthropic) | Messages | API key |
| Gemini (Google) | Gemini API | API key |
| Grok (xAI) | OpenAI-compatible | API key |
| DeepSeek | OpenAI-compatible | API key |
| OpenCode Go | OpenAI-compatible, routed per model | Plan API key |
| Custom | OpenAI-, Claude- or Gemini-compatible | Bearer token, x-api-key, custom header, query parameter or none |
Every service has a configurable endpoint, model and timeout. Use a service whose terms allow this kind of use; some plan-based subscriptions (OpenCode Go, for example) are intended for coding tools only.
| Keys | Action |
|---|---|
| Alt+1 … 9 | Insert that candidate's translation |
| Alt+Shift+1 … 9 | Copy it instead |
| Alt+` | Show or hide the full text |
| Alt+↑ / ↓ | Preview another candidate |
| Alt+PgUp / PgDn | Scroll the full text |
| Alt+0 | Hide or show the panel |
| Ctrl+Alt+P | Pause or resume translating |
| Ctrl+Alt+O | Open Settings |
Right-click a row to insert, copy or retry it. To use the mouse, turn on Settings › Appearance › Keep the panel clickable — WeType's candidate window takes all clicks right under the candidates, so this moves the panel clear of it.
Pause, Open Settings and Hide or show the panel can be changed in Settings › General (Translate checks that no other app holds the new keys). Settings › Overview lists WeChat Input Method and Microsoft Pinyin, whether each is ready, and a switch to turn either off; with both on, Translate follows whichever one you type with.
- Read locally: the input method's candidate list (WeType: its own messages; Microsoft Pinyin: Windows' accessibility interface), the candidate window's position, the caret, and the foreground app's name (to skip detectable password fields and excluded apps).
- Sent: uncached candidate texts and the target language — only to the translation service you chose, and nothing in Local only mode or without a service. Nothing goes to the authors of Translate: no account, telemetry or update check.
- Stored: settings (no key), keys in Windows Credential Manager, short dictionary words in an encrypted cache, and a size-capped log without candidate text or translations.
Full details: docs/privacy.md.
| Windows | 10 or 11, x64 |
| Input method | WeChat Input Method (tested with 3.0.0.34) and/or Microsoft Pinyin (Windows 11; tested on build 26200) |
| Translation service | Optional — your own API key, for phrases, sentences and languages other than English |
| Disk space | About 61 MB download, 156 MB unpacked |
| WebView2 | The Microsoft Edge WebView2 Runtime, built into Windows 11 and current Windows 10 (Translate tells you if it's missing) |
- WeType updates. Translate reads WeType's internal messages, which aren't a public interface. A WeType update can stop it from seeing candidates until Translate is updated — please open an issue with your WeType version.
- Security software may flag Translate, because it attaches to WeType's process with a native observer to read candidates. Microsoft Pinyin needs no such attachment.
- Microsoft Pinyin on Windows 10, and its use previous version setting, are untested.
- Not code-signed yet, so SmartScreen warns on first launch.
- Placement follows WeType's bar wherever it is drawn (any layout, display scaling or screen edge). Mixed scaling across several monitors and Windows on ARM are untested.
- Portable only: no installer or Start menu entry. If you move the folder, run
Translate.exeonce from the new place so Start with Windows follows it. - The built-in dictionary covers Chinese → English only.
Windows says "Windows protected your PC". Is it safe?
Translate isn't code-signed yet, so SmartScreen doesn't recognise it. Choose More info › Run anyway. You can check
the download against SHA256SUMS.txt from the same release:
Get-FileHash .\Translate-0.2.4-win-x64.zip -Algorithm SHA256Nothing happened when I started it.
That's expected: Translate has no window or tray icon. Type pinyin with WeChat Input Method or Microsoft Pinyin and the panel appears under
the candidates. Run Translate.exe again or press Ctrl+Alt+O to open Settings.
Do I need an API key?
No. Without one, single words are translated into English by the built-in CC-CEDICT dictionary. A service adds phrases, sentences and the other six languages.
How do I pause or quit it?
Ctrl+Alt+P pauses and resumes. To quit, open Settings and choose About › Quit Translate.
How do I uninstall it?
Turn off Settings › General › Start with Windows and press Save, then quit Translate. Delete its folder and
%APPDATA%\Translate. Remove saved keys in Windows Credential Manager › Windows Credentials (entries starting with
Translate:service:).
flowchart LR
A["WeChat Input Method<br/>(wetype_server.exe)"] -- candidate lists (native IPC) --> B["Translate engine<br/>(bundled Python)"]
P["Microsoft Pinyin<br/>(TextInputHost.exe)"] -- candidate lists (UI Automation) --> B
B --> C{"Cache"}
C -- miss --> D{"Dictionary"}
D -- miss or refine --> E["Your translation service"]
B -- translations --> F["Panel<br/>(Tauri + WebView2)"]
F -- "Alt+1…9" --> G["Your app<br/>(SendInput)"]
The engine attaches to WeType's wetype_server.exe with a small native observer, decodes the candidate lists WeType
sends to its own candidate window, and tracks that window's position. For Microsoft Pinyin it reads the candidate window through UI
Automation (the accessibility interface Narrator uses) — no attachment at all. Each list goes through the cache, the dictionary and then one
batched request to your service. Inserting cancels the pinyin composition and types the translation with SendInput,
without taking focus from your app.
More: Development guide · Design system · Engine protocol · Release build · Changelog
Requires Windows 10/11 x64, Node 22+, Python 3.12, Rust (MSVC, with the Visual Studio Build Tools) and Frida 17.23.3
vendored into backend/vendor:
python -m pip install --target backend/vendor -r backend/requirements.txt
cd app
npm install
python -X utf8 scripts/package.pySee docs/development.md for tests and the portable release build.
Found a bug, or does your WeType version not work? Open an issue with your Windows and WeType versions. The log (Settings › Privacy › Open logs) holds states, counts and timings, never candidate text or translations.
MIT © 2026 Rickywu05
The local dictionary is derived from CC-CEDICT (CC BY-SA 4.0). Release downloads bundle Python, MinHook, Frida (optional compatibility transport), Tauri and other components under their own licenses — see THIRD_PARTY_NOTICES.txt.