Awesome
<p align="center"> <img src="https://raw.githubusercontent.com/tisfeng/ImageBed/main/uPic/Eudic-1671180098.png" height="256"> <h1 align="center">Easydict</h1> <h4 align="center"> Easily look up words or translate text. </p> <p align="center">๐จ๐ณ ๐บ๐ธ ๐ฏ๐ต ๐ฐ๐ท ๐ซ๐ท ๐ช๐ธ ๐ต๐น ๐ฎ๐น ๐ท๐บ ๐ฉ๐ช ๐ธ๐ฆ ๐ธ๐ช ๐ณ๐ฑ ๐ท๐ด ๐น๐ญ ๐ธ๐ฐ ๐ญ๐บ ๐ฌ๐ท ๐ฉ๐ฐ ๐ซ๐ฎ ๐ต๐ฑ ๐จ๐ฟ ๐น๐ท ๐ฑ๐น ๐ฑ๐ป ๐บ๐ฆ ๐ง๐ฌ ๐ฎ๐ฉ ๐ฒ๐พ ๐ธ๐ฎ ๐ช๐ช ๐ป๐ณ ๐ฎ๐ท ๐ต๐ฐ ๐น๐ฑ ๐น๐ฆ ๐ฎ๐ณ ๐ต๐ญ ๐ซ๐ฎ ๐ฐ๐ญ ๐ฑ๐ฆ ๐ง๐ณ ๐ฒ๐ฒ ๐ณ๐ด ๐ท๐ธ ๐ญ๐ท ๐ฒ๐ณ ๐ฎ๐ฑ </p> </p> <p align="center"> <a title="Install Easy Dictionary Raycast Extension" href="https://www.raycast.com/isfeng/easydict#install"> <img height="64" style="height: 64px" src="https://assets.raycast.com/isfeng/easydict/install_button@2x.png"> </a> </p>What is Easydict? ใไธญๆไป็ปใ
Easydict
is an easy dictionary, for looking up words or translating text easily. Use it out of the box, automatically detect the input text language, and support Linguee and Youdao Dictionary, support OpenAI, ๐ MacOS system translation, DeepL, Google, Bing, Baidu, Tencent, Volcano, Youdao, and Caiyun translation.
Features
- Out of the box, easy to look up words or translate text.
- Automatically detect the input language and automatically query the preferred language.
- Provide word-rich query information, including basic translation, pronunciation, the types of exams that include the word, multiple parts of speech and explanations, forms and tenses, web translations, and web phrases.
- Support automatic query selected text, enabled by default.
- Support screenshot OCR translate.
- Support to open the Eudic Dictionary and quickly look up words, if installed on your Mac.
- Support automatic playback of word pronunciation. Use
Cmd + S
to play the pronunciation of words manually. - Support Youdao Text to Speech(TTS).
- Support to sort query results manually.
- Support Arguments.
- Support Fallback Commands.
- Support system proxy.
- Support Linguee and Youdao Dictionary.
- Support macOS system translation. (Please see How to use ๐ macOS system translation in Easydict?)
- Support OpenAI, DeepL, Google, Bing, Baidu, Tencent, Volcano, Youdao, and Caiyun translation.
- Support 48+ languages.
If you like this extension, please give it a Star โญ๏ธ, thanks!
Recommendation
My other project, Easydict is a concise and easy-to-use translation dictionary macOS App that allows you to easily and elegantly look up words or translate text, feel free to try it!
Look up word
Translate text
Auto select translate
OCR screenshot translate
Arguments
Youdao Modern Chinese Dict
Linguee Dictionary๏ผEnglish <--> Chinese
float
Linguee Dictionary๏ผEnglish <--> French
good
Show More Details๏ผShortcut Cmd + M
๏ผ
Translation
Installation
Easydict
is an extension of Raycast, so you need to install Raycast first.
Raycast is a blazingly fast, totally extendable launcher. Similar to Alfred but it's completely free!
Install from Raycast Store
<a title="Install Easy Dictionary Raycast Extension" href="https://www.raycast.com/isfeng/easydict#install"> <img height="64" style="height: 64px" src="https://assets.raycast.com/isfeng/easydict/install_button@2x.png"> </a>Manually Install
git clone https://github.com/tisfeng/Raycast-Easydict.git && cd Raycast-Easydict
npm install && npm run dev
Advanced
Actually, it works well without you having to do any extra work. The next are advanced documents for those who want to use Easydict
better or understand how the extension works.
Supported Languages
Currently we support 48 languages: Chinese-Simplified, Chinese-Traditional, English, Japanese, Korean, French, Spanish, Portuguese, Italian, German, Russian, Arabic, Swedish, Romanian, Thai, Slovak, Dutch, Hungarian, Greek, Danish, Finnish, Polish, Czech, Turkish, Lithuanian, Latvian, Ukrainian, Bulgarian, Indonesian, Malay, Slovenian, Estonian, Vietnamese, Persian, Hindi, Telugu, Tamil, Urdu, Filipino, Khmer, Lao, Bengali, Burmese, Norwegian, Serbian, Croatian, Mongolian, Hebrew.
Language Detection
Currently, we support 5 language detection APIs, including Baidu, Tencent, Volcano, Apple and Bing. Apple language detection is a macOS feature, but you need to install a shortcut to use it.
Considering user privacy, only Bing language detection is enabled by default (no App Key is required, and no user personal data is recorded!) Other language detection APIs are enabled only when the corresponding translation feature is enabled. Note, however, that in general, the more language detection APIs are enabled, the more accurate the text will be and the faster the response time will be.
Details of the languages supported by each language detection service are as follows:
Languages | Bing | ๐ Apple | Baidu | Volcano | Tencent |
---|---|---|---|---|---|
Chinese (Simplified) | โ | โ | โ | โ | โ |
Chinese (Traditional) | โ | โ | โ | โ | โ |
English | โ | โ | โ | โ | โ |
Japanese | โ | โ | โ | โ | โ |
Korean | โ | โ | โ | โ | โ |
French | โ | โ | โ | โ | โ |
Spanish | โ | โ | โ | โ | โ |
Portuguese | โ | โ | โ | โ | โ |
Italian | โ | โ | โ | โ | โ |
German | โ | โ | โ | โ | โ |
Russian | โ | โ | โ | โ | โ |
Arabic | โ | โ | โ | โ | โ |
Swedish | โ | โ | โ | โ | โ |
Romanian | โ | โ | โ | โ | โ |
Thai | โ | โ | โ | โ | โ |
Slovak | โ | โ | โ | โ | โ |
Dutch | โ | โ | โ | โ | โ |
Hungarian | โ | โ | โ | โ | โ |
Greek | โ | โ | โ | โ | โ |
Danish | โ | โ | โ | โ | โ |
Finnish | โ | โ | โ | โ | โ |
Polish | โ | โ | โ | โ | โ |
Czech | โ | โ | โ | โ | โ |
Turkish | โ | โ | โ | โ | โ |
Lithuanian | โ | โ | โ | โ | โ |
Latvian | โ | โ | โ | โ | โ |
Ukrainian | โ | โ | โ | โ | โ |
Bulgarian | โ | โ | โ | โ | โ |
Indonesian | โ | โ | โ | โ | โ |
Malay | โ | โ | โ | โ | โ |
Slovenian | โ | โ | โ | โ | โ |
Estonian | โ | โ | โ | โ | โ |
Vietnamese | โ | โ | โ | โ | โ |
Persian | โ | โ | โ | โ | โ |
Hindi | โ | โ | โ | โ | โ |
Telugu | โ | โ | โ | โ | โ |
Tamil | โ | โ | โ | โ | โ |
Urdu | โ | โ | โ | โ | โ |
Filipino | โ | โ | โ | โ | โ |
Khmer | โ | โ | โ | โ | โ |
Lao | โ | โ | โ | โ | โ |
Bengali | โ | โ | โ | โ | โ |
Burmese | โ | โ | โ | โ | โ |
Georgian | โ | โ | โ | โ | โ |
Serbian | โ | โ | โ | โ | โ |
Croatian | โ | โ | โ | โ | โ |
Mongolian | โ | โ | โ | โ | โ |
Hebrew | โ | โ | โ | โ | โ |
Dictionary
Youdao Dictionary
Support 5 languages, (Chinese), English, French, Japanese, Korean.
Linguee Dictionary
Support 19 languages, (Chinese, Japanese, Russian), English, French, Spanish, Portuguese, Italian, German, Swedish, Romanian, Slovak, Dutch, Hungarian, Greek, Danish, Finnish, Polish, Czech.
Translation
Currently, we support DeepL, Google, Bing, ๐ Apple, Baidu, Tencent, Volcano, Youdao and Caiyun translation, total 9 translation services.
Google and DeepL translations will use the system proxy by default. (DeepL works without a proxy, but sometimes requests time out)
Note โ ๏ธ: Since the Chinese version of Google Translate is currently unavailable, you can only use the international version, so you need to use a proxy to use Google Translate.
Supported translation languages:
Languages | Youdao | DeepL | Bing | ๐ Apple | Baidu | Volcano | Tencent | Caiyun | |
---|---|---|---|---|---|---|---|---|---|
Chinese (Simplified) | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Chinese (Traditional) | โ | โ ๏ธ | โ | โ | โ ๏ธ | โ | โ | โ | โ ๏ธ |
English | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Japanese | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Korean | โ | โ | โ | โ | โ | โ | โ | โ | โ |
French | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Spanish | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Portuguese | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Italian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
German | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Russian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Arabic | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Swedish | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Romanian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Thai | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Slovak | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Dutch | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Hungarian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Greek | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Danish | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Finnish | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Polish | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Czech | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Turkish | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Lithuanian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Latvian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Ukrainian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Bulgarian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Indonesian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Malay | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Slovenian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Estonian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Vietnamese | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Persian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Hindi | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Telugu | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Tamil | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Urdu | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Filipino | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Khmer | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Lao | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Bengali | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Burmese | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Norwegian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Serbian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Croatian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Mongolian | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Hebrew | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Note: โ ๏ธ means the translation of source language to Traditional Chinese is not supported, such as DeepL. If you enter Traditional Chinese for translation, it will be treated as Simplified Chinese.
Preferred Languages
The default preferred languages are simplified Chinese and English. You can change them according to your preferences.
Preference language has two main functions:
<details><summary> First, it improves the accuracy of automatic detection of input text language. </summary> <p>Preference language will be given priority in order during automatic detection. This is because some words may represent multiple languages at the same time, and the automatic detection program cannot work as expected. In most cases, the automatic detection of input text is very useful, except for very few special cases. For example, the English word heel
will be automatically recognized into Dutch by Youdao translation, and then the translation results are not what we expect. At this time, if your Easydict
preferred language contains English, it will be recognized into English first and translated correctly.
For example, if you input a sentence arbitrarily, it will be translated into the first preferred language. If the automatically recognized language is the same as your first preferred language, it will be automatically translated into the second preferred language.
</p> </details>Automatic Query Selected Text
<details><summary> Automatic query selected text of the frontmost application, this option is turned on by default. </summary> <p>In order to better match the automatic selected text feature, it is a good idea to set a hotkey for Easydict
, such as Cmd
+ E
, so that after selected the text, you can directly query words through the hotkey, which is very smooth and elegant.
Automatic Play Query Word Pronunciation
<details><summary> Automatically play the word audio after querying the word, turned on by default. </summary> <p>Note that when this option is started, the voice will be played only when the query is judged to be is_Word
and in English, e.g. good
, look for
, etc. For other queries, the voice can be played with the shortcut Cmd + S
.
The content of playing voice: English words are pronounced by the online Youdao dictionary first, and other words are pronounced by the TTS service of Youdao translation. For long text playback, use the say command.
</p> </details>Use Cmd + S
to play the pronunciation of words manually.
Select Target Language
<details><summary> Specify the target language. This option is turned off by default. </summary> <p>By default, the extension will automatically select the preferred language as the target translation language. However, sometimes if you want to manually specify a language as the target language, you can turn on this option in the preferences and then you can temporarily select another target language in the action panel.
</p> </details>Sort Query Results Manually
<details> <summary> You can sort query results by your preference, default is Youao Dictionary, Linguee Dictionary, DeepL, Google, Bing, Apple, Baidu, Tencent, Volcano, Youdao, Caiyun. </summary> <p>Name case are insensitive, use comma to separate. Example: youdao dictionary, linguee dictionary, deepl, google, bing, apple, baidu, tencent, volcano, youdao, caiyun
.
You can also specify a part of the sort, for example: youdao dictionary, apple, tencent
๏ผthe actual sort is: youdao dictionary, apple, tencent, linguee dictionary, deepl, google, bing, baidu, volcano, youdao, caiyun
.
</p> </details>Note: This sort is the overall sort, if a translation service is not enabled, the sort will be automatically ignored.
๐ Apple Translate
Easydict
support MacOS system translate, for more information, please see How to use macOS Apple System Translation in Easydict?
System Proxy
When this feature is turned on, Easydict
will try to get the Mac system agent, and if successful, all subsequent network requests will be sent through the system agent. It is disabled by default. This feature is intended to counter IP blocking (some services such as Linguee have frequency restrictions on IPs), **but it can slow down the response time to requests, so please enable it only when needed. **
Note โ ๏ธ: Please don't turn on
Use System Proxy
while using the developer tools with MitM, otherwise some service requests will report certificate errors, for example: https://github.com/tisfeng/Raycast-Easydict/issues/18 .
Use with PopClip
You need to install PopClip first, then add a shortcut key for Easydict
, such as Cmd + E
, then you can open Easydict
quickly with PopClip
!
Usage: Select the following code block, PopClip
will show "Install Easydict", just click it.
# popclip
name: Easydict
icon: search E
key combo: command E
Ref: https://github.com/pilotmoon/PopClip-Extensions#extension-snippets-examples
Translation Services
For easy to use, we provide some built-in translation APIs appid and appkey, but these Services have request frequency limits. If many people use them at the same time, it is likely to slow down or even stop. Therefore, for a better use experience, you'd better apply for a dedicated appid and appkey, and then replace the built-in services on the Preferences page.
Don't worry, these translation services have free quotas. Generally speaking, personal use is enough.
The following application tutorial is from Bob
. Follow the tutorial and you should be able to complete the application soon.
-
Youdao Translate๏ผ Select
text translation
andspeech synthesis
. (You will receive ยฅ50 experience fund)
Acknowledgements
- This project is inspired by raycast-Parrot and Bob, and the first version is based on raycast-Parrot.
Easydict
has improved many UI displays, added more practical features, deleted some complex or inappropriate operations, and made a lot of optimization && improvements on the original project. - OCR Translate feature refers to ScreenOCR, thanks to aidevjoe's PR feat: add OCR recognition.