Per Project Personal Word list

How about, to compliment the Mac OS X dictionary, project specific dictionaries? These would be used when you want to ‘disregard’ from the spell checker often used words that occur in a specific project but that weren’t in the main dictionary (like names). Then, in that project if you do spell any ‘disregarded’ words wrong you can see them as all the other instances won’t have a red dotted underline. Outside of that project the word will be flagged regardless.

That whole system is controlled by OS X, I bet. There might even be utilities out there for doing something like that, though at the system level. The words you add to the dictionary are just kept in a text file (though don’t edit it with TextEdit as there are invisible characters separating words, that it does not show), in ~/Library/Spelling. You could even maintain a master set, and project sets by swapping files in and out of there. Probably wouldn’t work too well if you do a lot of concurrent work, though.

Something I’ve always liked with ClarisWorks/AppleWorks/Microsoft Word are the custom dictionaries. Reason is, for each “world” I write in, I can make another dictionary so things that are words in one world aren’t treated as words when I’m writing in another world.

I also tend to use multiple languages in my works. My current major WIP is mostly English, true, but characters also use Italian, Spanish, and a bit of Japanese. It’s another reason I like custom dictionaries, so I don’t have to hit “ignore” every time I come across the foreign words.

I realize this likely isn’t feasible since Scrivener uses Mac OS X’s innate dictionaries, but I wanted to at least put it out there as an idea. :slight_smile:

(Sorry if it’s already been mentioned; I didn’t see it in the search I ran.)

-'Dee

If by custom dictionary, all you mean is the ability to add works to the spelling engine which will be ignored in the future, you can certainly already do this. Just right click on the character name or whatever the case may be, and choose “Learn Spelling”. It should be just right below “Ignore Word”.

I mean having multiple user dictionaries, so the “learn” function doesn’t change the dictionary for ALL documents.

Does that make better sense?

Okay, probably not in the way you are thinking. Sure, you can access your word files in the Library/Spelling folder, but managing these would have to be a manual process of duplication and rotation of file names. Creating a copy for one project, renaming it to ‘en’ or whatever, and then when done with it, renaming it to ‘en-projectname’ and the original back to ‘en’. So you can have custom lists, but isn’t something governed up front by the OS X spelling system. There might be a third-party tool to help with this. I know I’ve seen one for manually adding and removing words to the list.

I would like to see a project dictionary. Names, nicknames, surnames, etc all can have spellings that aren’t in and I don’t want in my regular dictionary. Having the ability to create a project dictionary with those words would be great.

Thanks for considering it.

1 Like

Unfortunately this isn’t feasible, since Scrivener just uses OS X’s global spelling system (and all applications on the Mac that use it will be pooling from this same list). You can of course add words to the project’s auto-completion list in the Project menu, but this is not the same as the spelling override list.

What I would like to see is a local project dictionary, where I can add in all the place names, character names etc that I only need for this project. I don’t want to add them all to the main dictionary. The same applies to special technical words

It probably wouldn’t need to have the full dictionary mechanism (indexes, compression etc) since it would usually hold only a hundred or so words, maybe a couple of hundred sometimes. A couple of shareware word processors have done this using a simple text file with all the words added, separated by spaces - makes removing an incorrectly spelled word easy. Since the entire file was only a few ks, it could be sucked into memory and searched very quickly. And the spell checking code would only need to search this file in the event of finding a mis-spelling

regards

David Noakes

I second this request.

The ability to have a single set of words that are additions to the dictionary but only within the context of specific projects would be so so useful.

For example, I’ve got a series of stories, each developed in a separate Scrivener project but they share a common set of fictitious place and character names, which aren’t necessarily plain English.

I use a Mac by the way but this request is really platform independent.. :smiley:

Well, it might seem as if it is, but actually it is not: Scrivener for the Mac uses the Apple text engine that is also used by TextEdit and various other programs on the platform. In other words, spell checking is handled by the system software, not by Scrivener. The best option for someone wanting special spell-checking facilities on OS X is to use a separate program like Spell Catcher, though unfortunately the future of that program must now be in doubt, since the developer sadly died prematurely some weeks ago. I have no idea what text engine is used by Scrivener for Windows, so I can’t offer any comment on that platform.

Martin.

I also populate my dictionary with project specific names, locations etc, and would like to see this feature available.

Perhaps a simple workaround, is we gain the ability to clone a standard dictionary (e.g. English/UK) and select the clone when we configure the project. This would then allow us to use/abuse the dictionary in the standard way without having to add any technical nightmare mechanics to the engine

This is something i’ve half-heartedly investigated for a while. It seems doable on the Mac side at least, if you can locate the spelling dictionary files, copy them, and the modify them internally to identify as a new language (like American English-[Project Name]). Then, presumably, if you only have one language selected at a time, additions to the dictionary will go into a supplemental file for that ‘language’s’ dictionary.

I have yet to track down what set of files these might be, so I haven’t gotten very far in my research. There’s always something more shiny to divert my attention.

Robert,

If you are on Lion, look at this thread:

Not sure what the situation is for ML.

Martin.

I’ve been assuming that to have a separate added-words dictionary supplement for each project, I’d have to copy the entire built-in dictionary, renaming it to reflect my novel/series, then select that “language” for spell checking, and finally, adding in the legitimate words for the context. The added words would then show up in something like “English_Automaton”, rather than being lumped into en_US or similar with all my other added words.

But I’ll certainly file that away for when I get further along on my quest; that editor seems easier to deal with the raw file.

Thanks!

I don’t know if this is even possible, and even if it is I suspect it would be a tall order, but would it be possible to create a project-specific dictionary to keep character names or made-up terms from being flagged by the spell-checker without having to add those terms to the system wide dictionary? It’s just that sometimes a project with unusual character names can look like a sea of red, and that can make it hard to spot the one true typo in those names/made-up terms, but at the same time adding those names/terms to the user dictionary can cause trouble later on if they happen to be slight variations of others that are in common use.

1 Like

“Ignore Spelling” should do that for you on Mac - it tells OS X not to flag that word in the current document (and it seems to treat a Scrivener project as a single document). I think it also works that way on Windows.

Thanks, I hadn’t realized that ‘ignore spelling’ treats a project as a single file.

Just a little one- can you please make the Dictionary icon not flash off every time the cursor moves past punctuation marks, it causes a flicker that registers in my vision.

Also, I have been having trouble getting the incorrect spelling highlight to stay on, while turning off the autocorrect, which I find a bit un intuitive/ frequent. Perhaps the autocorrect should only function if I slow down my typing.

Cheers for considering. Nathan

I really would like project-specific dictionaries. I understand that you’re just hooking into the OSX spell-checker, but I think I have a solution.

I noticed that when I right-click on a misspelled word and select “Ignore Spelling” that the underline goes away. Further, it will then offer up that word as a possible choice when it encounters a similar word. It’s pretty much everything I want, except it doesn’t persist. But that’s where Scrivener comes in.

Could there be a special document which is just a list of words, and when the project is opened up the words in the list are programmatically added to that session’s ignored words via the standard API? I realize that there are two major potential limitations: if two projects are opened at once, they may need to share the ignored spellings list; it’s probably not possible to hook into the API so that when a new word is ignored via the right-click menu, it’s automatically added to the list.

Some people may not want to maintain this separate list and that’s fine; they’ll be no worse off than they are now. But for those of us who do…maybe there’s hope.

2 Likes