A project-specific spelling dictionary work-around? (Mac)

I’ve been pondering how I might be able to create a spelling dictionary, where the words I add are only used in my project, and not in Mail, Safari, Notepad, etc… I’ve considered doing this by duplicating the American English spelling dictionary and effectively creating another “language” to spell with. I could then select the “English (Great American Novel 1)” language for my project and then add words that are specific to my GAN1 project without polluting the main one I use for other projects or applications.

Does anyone see any issues with this plan? Can a Scrivener project remember that it’s set to use a particular language, separate from another project’s primary language?

For reference, here are two articles which may or may not be a guide to accomplishing my experiment, when I have time.

onsoftware.en.softonic.com/how-t … -and-iwork

Unfortunately not, although not for want of trying. It seems that there is no way at all in Cocoa to tell an NSDocument (the underlying Cocoa class that is used for all document-based apps, by which I mean pretty much any app that can open different files in different windows, even if in Scrivener it calls these documents “projects”) to use a particular spelling dictionary. I’ve looked into it, too, as there are many users who would find this useful (writing in different languages in different projects, for instance). But no matter what you do, when you reopen a project - or a document in TextEdit or Nisus or whatever - it always flits back to using the spelling dictionary set up in the System Preferences.

All the best,

That’s too bad. But being the stubborn type, I’m still thinking that I can work around this. For instance, instead of loading a project from within Scrivener, I could create an applescript or automator workflow that switches the default language, opens the indicated project, and then changes the language back to the original setting after a minute delay.

I know, my plan is crazy; so crazy that it just might work!

Now all I have to do is find the time and the patience to work all this out.

Thanks for your input, Keith.

Ok you nutcase.

Make your applescript a standalone app. Have that app do the following:

  1. Present you a list of all the projects
  2. allow you to select one project.
  3. change the default dict
  4. open project.

#1 can be accomplished several ways.

#3 and #4 will require you to do some thinking. What do you do if scriv is already running? Based on that answer, how do you open files to ensure that #3 is really used? Based on that, can this really be done.

Also, you may find automator easier than AS.

Before you start, hit the liquor store. You’ll likely need it.

I’ve been trying to get Adobe to add this feature to InDesign ever since I got my first copy back in CS2 days (CS6 just came out).

There is one way you might apply pressure. The dictionaries for both OS X and InDesign are based on Hunspell, an open source project. Get its developers interested in document-specific or selectable project-specific dictionaries, and you might see that feature migrate to OS X and hence to Scrivener.

In my case, I edited four William Morris novels written in a literary version of English as it is imagined to have been spoken hundreds of years ago. I didn’t want to pollute my dictionaries with terms that would be used for only those four books, so I ended up having a lot of false flags in my spell checking.

By the way, it’s apparently possible for ordinary folk like you and I to create HunSpell dictionaries for our own purposes. That’d leave you with only the bother of finding out how to get OS X to recognize that dictionary, perhaps by renaming it to one that OS X knows about.

–Michael W. Perry, editor of More to William Morris and On the Lines of William Morris

If you haven’t tried it already, you could investigate Spell Catcher:


I find it a bit cumbersome to use, but it does offer features that the system spell checker doesn’t have.