Even though operating systems like OS X have a system-wide spell-checker, many apps have there own spell-checker implemented. For the main spelling dictionary this isn't that much an issue (apart from the fact that they waste disk space and can differ in version number and content). However, for the corresponding custom dictionaries this hodgepodge can be problematic:
- Continuing projects on different computers (work office, home office) with dictionaries that aren't synced can be problematic.
- Finalising and proofing projects that have been spell-checked before in one app can be time-consuming in another app, with a different custom dictionary.
- Custom dictionaries can have different encodings and headers, making exchanging them between apps a non-trivial task.
In this article I'll try to set up a system to sync custom dictionaries between apps on the same computer and between different computers.
Syncing between two computers via Dropbox
On a Mac you can use this Keyboard Maestro macro:
Many apps have their own custom dictionaries
Location of Word:mac 2011 custom dictionary:
/Users/hans/Library/Preferences/Microsoft/Office 2011/Custom Dictionary
Encoding: Unicode UTF-16 Little Endian, Windows CRLF
Location of CafeTran's user.dic:
/Applications/CafeTran.app/Contents/Resources/Java/resources/spellchecker/user.dic
Encoding: Unicode UTF-8, Unix LF
Case-sensitivity:
Both CafeTran's user.dic and Word's custom dictionary are case-sensitive, which can be both an advantage (e.g. for German) and a disadvantage (e.g. for Dutch).
For Dutch you have to add every entry twice. You can do this with TextWrangler. Use a regular expressions to find all words that start with uppercase, followed by lowercase. Copy the results to a new document and make it lowercase. Add it to the custom dictionary.
Regular expression in TW:
CafeTran:
Word:mac:
Handling of words containing numbers:
- These words can be ignored in Word
- These words are ignored in CafeTran too, but perhaps not when they contain a dash (to be checked!) Anyway:
In CafeTran use non-translatables list for items like:
0V
100%
10A
10V
220V
24V
4,5V
4UH
5,5V
9a
A1
A1
A10
CafeTran's user.dic starts with a number representing the number of lines (words) in the file. What happens when this number isn't accurate?
Transit NXT
c:\Users\Public\Documents\Transit NXT\config\users\HL\SpellUserDic.NLD
Encoding: Unicode UTF-16 Little Endian, Windows CRLF
Transit NXT doesn't ignore words that contain numbers. You have to add them to the custom dictionary.
SDL Studio 2014
c:\Users\hans\AppData\Roaming\SDL\SpellChecker\CUSTOM.dic
Encoding: Unicode UTF-8 With BOM, Windows CRLF
First line contains the number of entries. Studio can be configured to ignore words that contain numbers.
memoQ
c:\ProgramData\MemoQ\Resources\Local\IgnoreLists\dut#Custom Dictionary.mqres
Encoding: Unicode UTF-8 With BOM, Windows CRLF
First line doesn't contain the number of entries.
Syncing between apps
xx