For quite a while now, I have been looking for English and Spanish conversion dictionaries (both ways) for Apple's native Dictionary application. So far I have not had any success.
Is there any free, decent quality solution such as "New Oxford American Dictionary" and "Dictionnaire de l'Académie Française"?
Any links or information would be highly appreciated.
Best Answer
The latest MacOS versions already include Spanish dictionaries which can be enabled in preferences in the Dictionary.app (⌘+,).
The answer below is for converting and installing third-party dictionaries from other popular formats.
To create a dictionary for the built-in OS X Dictionary.app you will first need pyglossary to convert to the AppleDict format from the input format which can be ABBYY Lingvo DSL, Babylon BGL, Stardict IFO, etc (see all supported formats).
Once the AppleDict source XML is generated, the Apple Dictionary Development Kit is used to generate the native binary files that the Dictionary.app can use.
Proceed as follows:
Installing dependencies
Install Xcode command line tools:
Install the Auxiliary Tools for Xcode from https://developer.apple.com/download/more/ — you'll need to login with your iCloud or Apple Developer account. Mount the DMG file by double-clicking it in Finder, and copy the folder Dictionary Development Kit to /Developer/Extras (as root) (or to
~/Developer/Extras
as a normal user as pointed out by richard-möhn):Install Python 3 via homebrew (OS X comes with Python 2.x preinstalled):
Checkout the pyglossary project:
Install lxml and BeautifulSoup, the parsers that pyglossary depends on:
Now everything is ready to do the actual conversion.
Performing the Conversion
Convert the source dictionary (in this case Babylon BGL) to AppleDict:
make install
copies the generated dictionary to~/Library/Dictionaries
. Now if you restart the dictionary app and and open preferences (⌘+,) the new dictionary will appear in the list. Click the checkbox to enable it.Other formats, for example ABBYY Lingvo DSL require more steps such as re-encoding from UTF-16 to UTF-8. Here is a wrapper script for DSL to AppleDict conversion.
Here are some Free dictionaries in Babylon BGL format. There are also literally hundreds of dictionaries available in DICTD, Stardict and ABBYY Lingvo DSL formats.