ときくん2k downloadsInspired by 'Mouse Tooltip Translator' Chrome extension. Hover to translate.
"Read effortlessly, learn instantly." A translation plugin for Obsidian that completes your reading and learning with just a mouse hover.
No need to switch to a browser. Simply hover over a word or sentence and a popup instantly shows its meaning. Leverages Google's dictionary feature (POS) to display parts of speech, detailed definitions, and transliteration.
Speed — Blazing-fast Google / Google GTX / Google V2
Precision — Reliable DeepL / Bing / Yandex / Papago / Baidu
Context — Context-aware LLM (OpenAI / Claude / Gemini / Grok / Groq / OpenRouter / GitHub Models / Ollama / LM Studio)
Assign the best engine independently for hover, text selection, and full-page translation.
Every lookup is automatically accumulated in a sidebar vocabulary book. Sort by view count, last reviewed date, or alphabetical order, and filter between words and sentences for efficient review.
Press Esc to close the tooltip.
Switch to Reading View, then click the language icon (🌐) in the view header or run the "Translate current page" command. A progress bar is displayed while each block is being translated. Click the icon again (or run the "Restore original" command) to revert. You can also cancel the translation with the ✕ button on the progress bar.
After translation, hover over any paragraph to see the original text in a tooltip.
Click the book icon in the ribbon or run the "Open vocabulary book" command to open the sidebar panel. All past translations are listed with their view counts, and can be sorted by view count, last reviewed date, or alphabetical order, and filtered by words or sentences.
| Setting | Description |
|---|---|
| Enabled | Master switch for translation |
| Restrict to note content | Respond only within note body (editor / preview / embeds). When disabled, translates across the entire Obsidian UI |
| Hover engine | Engine used for mouseover translation |
| Selection engine | Engine used for text-selection translation |
| Page engine | Engine used for full-page translation |
| Translate from | Source language (includes auto-detect) |
| Translate to | Target language |
| Trigger | Mouseover / selection / both |
| Mouseover unit | Translate the word or sentence under the cursor |
| Hover delay | Wait time before translation starts |
| Tooltip placement | Open the tooltip above or below the hovered text |
| Show dictionary | Display dictionary-style results when available |
| Show transliteration | Display transliteration / romanization |
| Show source text | Display original text in the tooltip |
| Show detected language | Display detected source and target language |
| Skip same-language translations | Hide tooltip when detected language matches target language |
| Skip identical translations (strict) | Also hide tooltip when translation result is identical to input |
| Fallback translator engine | Retry a failed request with another engine (Google / Bing / Baidu), temporarily benching the failed one |
| Disable translation cache | Call the API every time, bypassing the in-memory cache |
The engine list fully mirrors the reference Chrome extension (v0.1.246). The default engine is google.
Experimental engines may stop working due to upstream service changes.
| Engine | Notes |
|---|---|
| Default. Supports dictionary entries and transliteration | |
| bing | Web endpoint |
| LLM - OpenAI / Claude / Gemini / Local | OpenAI-compatible chat completions with provider presets (see below) |
| deepl | Experimental web endpoint |
| yandex | Experimental web endpoint |
| baidu | Experimental web endpoint |
| papago | Experimental web endpoint |
| browser API | Chromium built-in Translator API (requires Chrome 138+ runtime; may be unavailable in Obsidian) |
| googleWebImage | Shows the first Google image search hit for the hovered word |
| googleGTX | Alternative Google endpoint |
| googleWeb | Google dictionary definition ("meaning:") scrape |
| googleV2 | Google batchexecute endpoint |
When the LLM engine is selected for any context, the following additional settings appear.
| Setting | Description |
|---|---|
| LLM Provider | Custom / OpenAI (ChatGPT) / Claude (Anthropic) / Gemini (Google) / Grok (xAI) / Groq / OpenRouter / GitHub Models / Ollama (local) / LM Studio (local). Choosing a preset fills in the endpoint URL; settings per provider are remembered and restored when switching |
| LLM API Endpoint URL | OpenAI-compatible base URL including the version path (e.g. https://api.openai.com/v1). Editable only for Custom |
| LLM API Key | API key (leave blank for local servers) |
| LLM Model | Model name. The ↻ button fetches the model list from the endpoint using the API key so you can pick one |
Go to Obsidian Settings → Community plugins → Browse, search for Mouse Tooltip Translator, and install.
Download main.js, manifest.json, and styles.css
Place them in:
<your vault>/.obsidian/plugins/mouse-tooltip-translator/
Restart Obsidian or reload the plugin
Enable Mouse Tooltip Translator from Community plugins
1.12.0This plugin is desktop-only.
requestUrl API is used for network requests.translation-log.json inside the plugin folder.MIT License
Inspired by the Mouse Tooltip Translator Chrome extension.