Categories
Blogs Bookmarks Computere og Internet Kim Blog (English) Macintosh Mactopia Open Source Technology

How to implement native Danish spell-checking in Mac OS X – Apple: steal it, I’ll post bail

Bad Apple

A discussion on the Danish Macintosh community, Macnyt, about the missing native Danish spell-checking in Mac OS X, let me to speculate on what it would take to implement it. Apple you’re more than welcome to steal it, and I’ll even post bail ;-).

NOTE to Danish Mac users: What follows will not give you native (Danish) spell-checking in Mac OS X, but it describes what I believe would be required, by Apple, to implement it.

What? No Danish?

Apple’s Mac OS X comes with a very nice, integrated spell-checking service. Unfortunately there’s no support for the Danish language, and this omission hits all Mac OS X applications that plug into Mac OS X for their spell checking services. This excludes Microsoft Office:mac and most open source software like Open Office and NeoOffice, that has their own spell checkers, but it hits all system applications as well as Apple’s own iLife, IWork and most other 3rd party applications.

I know from experience that this is a major issue with Danish Mac users, the question surfaces again and again.

cocoAspell to the rescue

The current solution is to install cocoAspell, a Mac OS X wrapper for the Aspell open source spell checker, and download the Danish dictionary. If you understand Danish, you can also get help from Æbletræet and this detailed guide (ZIP file) made by a Macnyt user.

Unfortunately that is not something the average person knows how to do, and it’s relatively complicated.

How to implement native Danish spell-checking in Mac OS X

So here it is: This is what I have found out, that it would take to implement native Danish spell checking in Mac OS X.

From an implementation point-of-view, it looks like it is quite straightforward.

Everything is located in the AppleSpell.service package, that is located in /System/Library/Services.

The file is organised like a .app package, first a Contents folder, that contains a Resources and a Mac OS X folder, along with a PkgInfo file and some .plist files.

Each supported language is represented by an entry in a .plist file called info.plist located in Contents, and a .lproj folder located in Contents/Resources.

The .lproj folder contains two files, one is called bindict, the other Dictionary.dat.

Problem: bindict and Dictionary.dat are binary files, and I haven’t been able to locate ANY documentation of the formats.

Step-by-step guide (for the Apple engineers):

  1. Get a copy of the “Store Danske Ordliste”
  2. Organise it “in a manner that is compatible with your indexing software” (this is the hard part, and I’m sure you could get community involvement in this).
  3. Run it through your indexing application (or lend us a copy)
  4. Create a new AppleSpell.service package
  5. Add the entry for Danish to the Contents/info.plist file
  6. Add a folder for Danish language to Contents/Resources
  7. Add the bindict and Dictionay.dat files created by the indexing application to the folder for Danish language
  8. Replace the old AppleSpell.service package with the new
  9. Ask the Danish Mac community to help test it
  10. Release it with the next, minor, update of Mac OS X

I estimate that it would take no longer than 1 man-week to implement and test this – so Apple come on

p.s.. do you really need to reinvent the wheel?

In many ways cocoAspell, is a better and, not least, open solution, so Apple you should really consider the alternative: drop the native spell-checker and embrace cocoAspell, there’s really no need to reinvent the wheel is there?

8 replies on “How to implement native Danish spell-checking in Mac OS X – Apple: steal it, I’ll post bail”

Exactly!

Apple has, partially gotten the point, but they’re really, really bad at utilising the local communities, escpecially in countries with no, clear, direct representation, like Denmark.

The community service provided by sites like Macnyt.dk and Æbletræet.dk is quite amazing, and I think Apple should tap into them, officially.

Very interesting, thanks – I’d like to try this method. However, I’m totally bewildered on which dsdo to use, as there are so many of them. Could you help out there, please?

Unfortunately this isn’t, as you discovered, something that you can do on your own, we need the help/aid from Apple’s engineeres. A Macnyt user has done what I didn’t, and written the Apple developers, let’s hope that will wake Apple up.

Read more here (thread on Macnyt.dk – in Danish).

Forgot to mention, that starting with Mac OS X 10.5 Leopard, Danish spell checking was finally added. Downside is that I’ve heard reports that CocoAspell isn’t working now.

Leave a Reply

Your email address will not be published. Required fields are marked *