Home

Awesome

<p align="center"> <img width="400" src="https://github.com/wtetsu/mouse-dictionary/blob/images/logo.png" alt="Mouse Dictionary logo" /> <br/> </p> <p align="center"> <a href="https://github.com/wtetsu/mouse-dictionary/actions?query=workflow%3ATest"><img src="https://github.com/wtetsu/mouse-dictionary/workflows/Test/badge.svg" alt="Test" /></a> <a href="https://codeclimate.com/github/wtetsu/mouse-dictionary"><img src="https://codeclimate.com/github/wtetsu/mouse-dictionary/badges/gpa.svg" alt="Code Climate" /></a> <a href="https://codecov.io/gh/wtetsu/mouse-dictionary"><img src="https://codecov.io/gh/wtetsu/mouse-dictionary/branch/master/graph/badge.svg" alt="codecov" /></a> </p>

Mouse Dictionary is a super fast browser dictionary.

<img src="https://user-images.githubusercontent.com/515948/200157867-400b7090-159c-471a-82b2-c4769df318e4.gif" />

Features:

Available for various documents:

Install

See also Getting started

Screenshots

English-Japanese

ss02.gif

Japanese-English

ss03.gif

German

Want to use for the German language? Take a look these great articles!

How to develop

Preparation

Use Node.js 20+.

npm install

Generate static resources.

npm run res

Build

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.

Contribution

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:

Cross-extension messaging

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:

nametypevalue
typestringmust be "text"
textstringtext you want to look up

License

Mouse Dictionary is published under the MIT license.

Third-party data

This project includes some third-party data:

Dictionary data

Images

Built-in PDF viewer

Great JavaScript libraries

See also

Chrome 拡張の高速な英語辞書ツールをつくりました(a Japanese tutorial)