Mouse Dictionary is a super fast browser dictionary.
Features:
- ⚡ Super quick response time (1/60 second)
- 💡 Smart phrase detection
- 🔍 Automatic word separation (e.g. camelCase -> camel case)
- 📝 Option to add your own data
- 🎨 Customizable view
Available for various documents:
- HTML
- YouTube captions
- Notion
- Evernote (Use with Mouse Dictionary iframe support)
- ...
- For Chrome
- For Firefox
- For Safari (See #53)
See also Getting started
Want to use for the German language? Take a look these great articles!
Use Node.js 16+.
npm install
Generate static resources.
npm run res
For Chrome:
npm run build-chrome # Debug build
npm run release-chrome # Release build
For Firefox:
npm run build-firefox # Debug build
npm run release-firefox # Release build
For Safari:
npm run build-safari # Debug build
npm run release-safari # Release build
see package.json for other commands.
For the moment, Mouse Dictionary project doesn't have any strict rule about contribution. Feel free to create any issues and pull requests.
Some guides:
- Editor: the main developer uses VSCode
- Before you commit: try running
npm run test
andnpm run lint
Mouse Dictionary supports receiving cross-extension messages. Mouse Dictionary iframe support is a good example that implements message sending to this extension.
Here is a code example for sending a message to Mouse Dictionary. You can make Mouse Dictionary look up words/expressions from other extensions.
const MD_EXTENSION_ID = "dnclbikcihnpjohihfcmmldgkjnebgnj";
chrome.runtime.sendMessage(MD_EXTENSION_ID, {
type: "text",
text: "rained cats and dogs",
});
Parameters:
name | type | value |
---|---|---|
type | string | must be "text" |
text | string | text you want to look up |
Mouse Dictionary is published under the MIT license.
This project includes some third-party data:
- ejdict-hand (Public Domain)
- Mouse Dictionary's built-in PDF viewer is based on PDF.js (Apache-2.0)
- See package.json and license.html
Chrome 拡張の高速な英語辞書ツールをつくりました(a Japanese tutorial)