Using Spellcheck in NeoOffice

From NeoWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 17:56, 20 January 2009 (edit)
Narf (Talk | contribs)
(Installing Third-Party Dictionaries for - added note specifying NeoOffice 2.x)
← Previous diff
Revision as of 21:49, 20 January 2009 (edit) (undo)
Lorinda (Talk | contribs)
(Troubleshooting - add secion on exporting standard dictionary)
Next diff →
Line 149: Line 149:
<!--[ this post on trinity].--> <!--[ this post on trinity].-->
 +=="Exporting" The Word List from a User Dictionary==
 +When spellchecking a document, you have the option of adding unrecognized words to a user dictionary. The default user dictionary is standard.dic. If you want to export these words, you can do so as follows:
 +*Locate the dictionary file. It can be found at the following path <tt>~/Library/Preferences/NeoOffice-2.2/user/wordbook/standard.dic </tt> where ~ is your home folder.
 +*Copy this file to the desktop or another location
 +*Edit the name of this file (the copy) so that the extension reads <tt>.txt</tt>
 +*Open this txt file in NeoOffice. (if asked which filter to use, chose UTF)
 +*You will see a list of words separated by <tt>#</tt> characters. You can use a global search and replace to format the file as you need to.
 +*You may also need to remove some hard page returns
==Troubleshooting== ==Troubleshooting==

Revision as of 21:49, 20 January 2009

This article is not up to date, or it needs structural or stylistic changes to conform with the rest of this wiki. You can help the NeoOffice community by fixing it. If you do not have a NeoWiki account, please follow the steps on the New User page to request one.

N.B. This article covers the steps required to activate writing tools in NeoOffice 2.0 Alpha and later; for the steps to use in NeoOffice 1.2.2 and earlier, see Activating Dictionaries in NeoOffice 1.x instead.

NeoOffice will correctly configure your preferences to use the language tools (spell check, thesaurus, etc.) for the language that is set as the default in the System Preferences when you launch NeoOffice, provided you have the appropriate writing tools installed.

Note that all the writing tools (dictionary, thesaurus, hyphenation) may not be available for all languages; some languages may have only one (usually the dictionary), and some may not have any tools at all.

If you want the NeoOffice user interface (and in some cases the Help) to be in your native language, you must install the appropriate language pack separately; see Changing the Language of the User Interface for more information.


Activating the Writing Tools for Your Preferred Language

NeoOffice 2.2.2

NeoOffice 2.2.2 will automatically use the native Mac OS X spelling dictionaries if they match the language of the text to be checked. See Issues with Locale Variants of Languages below for more details.

Third-party dictionaries for the Mac OS X spelling system

NeoOffice will also use any third-party dictionaries that plug into the native Mac OS X spelling system, e.g. dictionaries for Icelandic, Finnish, Hungarian, and Hebrew, CheckSpell for Czech, Latvian, Lithuanian, Polish, Slovak, and Ukrainian (10.4.11 and above; incompatible with, and will remove, cocoAspell), and cocoAspell*, a plug-in which supports dictionaries for 74 languages. In order to use these dictionaries, the language must appear (and be checked) in the Languages: section of the Finder's Get Info window for NeoOffice. If the language code corresponding to the dictionary you want to use does not appear in the Get Info window, follow these steps to add the language to NeoOffice:

  • Quit NeoOffice, if it is running
  • Create an empty .lproj folder using the ISO code for your language in the /Applications/ folder
    • Select NeoOffice in the Finder and choose Show Package Contents from the Finder's context menu.
    • Open the Contents folder and then the Resources folder
    • Create the new folder as described above
      E.g. for Icelandic, you should create a folder named is.lproj
  • Select NeoOffice in the Finder and open the Get Info window again; verify that the language now appears in the Languages: section and the box for it is checked.
  • Restart NeoOffice

* Note that some users have reported cocoAspell has caused NeoOffice to be unable to use the Mac OS X spell-checker; see below for more information.

Languages without a Mac OS X dictionary

If Mac OS X does not have a spelling dictionary for your language, NeoOffice will use an dictionary, if installed.

For NeoOffice 3.0: The dictionary wizard is no longer available -- Dictionaries are now available via the extensions repository.

For NeoOffice 2.x: To download spelling dictionaries and other writing tools, choose Install new dictionaries… from the Wizards submenu of the File menu, then follow the steps in the wizard.

Because the writing tools authors and their communities are always updating these tools, you should run the Dictionary Wizard each time you upgrade to a new version of NeoOffice.

Note for users of non-US or non-UK English (and possibly other languages with regional variants)

The new language tools system in NeoOffice 2.x no longer maps other English variants to the US or UK English tools; you must install the dictionary, etc., for your language to have working writing tools. If you upgraded from NeoOffice 1.x, your list of installed writing tools was preserved and may now be incorrect and cause problems. You can safely delete ~/Library/Preferences/NeoOffice-2.x/user/wordbook/dictionary.lst to fix potential problems.

Installing Third-Party Dictionaries for

Due to licensing problems and other issues, there may be dictionaries for some languages that are not available via the dictionary wizard. If you find a dictionary for your language in either Hunspell (preferred) or MySpell format, it is possible to use this dictionary with NeoOffice.

For NeoOffice 2.x: To install the downloaded dictionary (in .zip format),

  • Go to the File menu, click on Wizards and choose Install New Dictionaries...
  • Choose an interface language (e.g. English)
  • Click on Start DicOOo
  • Check the Off-line language pack installation box
  • Click on the Browse... button to select the downloaded zip file for the desired dictionary
  • Click on Open then on Next>>
  • Select the chosen language, and click on Next>>
    • You will have to repeat this last step in each of the next two panes to install a thesaurus and hyphenation dictionary.
  • If you do not want to replace the exisiting dictionaries, check the Do not extract dictionary archives that are already installed.
  • Click on Next>>
  • When the installation is finished, click on Finish
  • If you are done installing dictionaries, close the DicOOo file.

Known Sources of Third-Party Dictionaries

  • Foolab: Arabic (عربي) [early version, only 71,000 words]
  • Ivrix Project: Arabic (عربي) [very large list, based on Buckwalter but converted by a non-Arabic speaker; reported to be slow and consume 200 MB of RAM]
  • Hunspell SourceForge Project: Amharic (አማርኛ), Azerbaijani (Azərbaycanca), Bengali (বাংলা), Kashubian (Kaszëbsczi), Persian (فارسی), Hindi (हिंदी), Mongolian (Монгол), Marathi (मराठी), Oriya (ଓଡ଼ିଆ), Punjabi (ਪੰਜਾਬੀ), Tamil (தமிழ்), Uzbek (Ўзбекча), Vietnamese (Việt ngữ). Note that only the downloads labeled "pack" appear to work with the steps listed above.
  • OOoWiki: Assorted (many of the tools listed there are already available using the Dictionary wizard, but if your language is not in the Dictionary wizard, check the OOoWiki.)
  • Linguistico: Italian (better quality than those available from the Dictionary Wizard)
  • Antidote Very complete French set of writings tools. Antidote installs easily in NeoOffice 2 (Writer, Calc, Impress, Draw). Antidote is shareware (about $69).

Enabling Writing Tools for Additional Languages

To install and activate writing tools for additional languages in NeoOffice 2.0 Alpha, simply repeat the steps in the previous section for any additional languages you wish to use.

Disabling Writing Aids for Languages that aren't Needed

  1. Under the NeoOffice menu choose Preferences.
  2. In the dialog that appears, doulbe click on Language Settings
  3. Cllick on Writing Aids
  4. In the panel that appears, highlight (but don't uncheck) NeoOffice Mac OS X Spellcheck with Hunspell and click the Edit button to the right of the this item.
  5. In the dialog that appears, select a language from the drop down list and uncheck NeoOffice Mac OS X Spellcheck with Hunspell.
  6. Repeat this step for all languages that you want to disable and click Close when you are finished.
  7. To save your changes, click OK and the dialog will close.

Selecting the Dictionary to be Used in a Document or Section

If you have multiple languages and dictionaries enabled, you can control which dictionary is used in a document (or section thereof) by setting the appropriate preferences.

To set the language of an entire document, select Preferences from the NeoOffice menu, then click the disclosure triangle next to Language settings to expand that section. Next select the Languages item and set the Default languages for documents as desired (either for all new documents, or for the current document only with the appropriate checkbox).

To set the the language of a particular section of text, select the text and choose Character... from the Format menu; set the appropriate language via the appropriate Language box in the Font tab.

Be sure to set the language of the document and/or each section of text appropriately or spell-check will not work.

Note: Make sure that Check in all languages is not checked. To find this preference setting, click on the NeoOffice menu, choose Preferences. In the resulting dialog box, click on the triangle next to Language settings and then select Writing Aids. In the bottom box labeled Options, scroll down to the option Check in all languages. Due to an apparent bug, if this box is checked, even "words" like jksdfhgskzjhgf will be marked as correct.


Using a Macro

yoxi provides this tip for creating a macro to automate the process of changing between languages:

  1. Select some text, then click on the Record Macro button in the top buttonbar. (If there isn't one there, Click on the Tools menu choose Macros and then select Record Macro). A "Stop Recording" floating button will appear.
  2. Under the Format menu, choose Character and then choose the "Font" tab in the panel that comes up. In the Language dropdown, choose your first language, e.g. English (UK), and then click on OK.
  3. Now click on the "Stop Recording" floater – the "Macro" dialog will appear. Enter a meaningful name in the "Macro Name" field, top left, such as LangEnUK, and click on "Save".
  4. Repeat the steps above, but choosing your second language, e.g. German (Germany), and assigning the second macro another name e.g. LangDeDE or whatever.
  5. Now to assign the keys: Under the Tools menu choose Configure... and then click on the "Keyboard" tab. Scroll down to the keystroke you want to assign, e.g. Cmd-shift-G for German (I know -D makes more sense, but that's already being used – though you can overwrite this assignment if you don't need a shortcut for right-to-left typing).
  6. In the "Category" panel bottom left, scroll down to "NeoOffice BASIC", then click on the "+" to open the folder, then do the same with "Standard" within that folder, and click on "Module1" within "Standard". Then in the "Function" panel to its right, click on the macro you named, i.e. LangDeDE, then click on the "Modify" button above right to assign that macro to the keystroke you highlighted earlier.
  7. Repeat the above step with the second keystroke and the second macro, and then click on "OK".
  8. 'tis done! Now when you select text and do cmd-shift-G, that text will be assigned German (Germany) language - ditto with cmd-shift-E and English (UK).

If you use more than two languages, you could write a more sophisticated macro with a list of language codes/numbers (the OOo BASIC uses numbers for language codes), so you could hit e.g. cmd-shift-L on the selected text and just enter a language code in a popup box and it would do the rest.

Using Styles and Templates

rays offers an alternative solution using styles and the default template styles:

Working in a multi-lingual international office, we've set-up a single document template with multiple paragraph styles which share all the same font choices (e.g. Times, 9pt, space before or after, as you like) except for the associated language. So we can now have Text Body FR, Text Body ES, Text Body IT, Text Body DE etc. available in the same document as the original Text Body which we have set language as English. So, subject to the supported language dictionaries being installed, it is now as simple to create a multi-language document as it is to create a document in any one of the supported languages. Just choose the appropriate language paragraph style for each paragraph as you go...

Spell checking is automatically associated with the appropriate dictionary by the language setting in the paragraph style.

"Exporting" The Word List from a User Dictionary

When spellchecking a document, you have the option of adding unrecognized words to a user dictionary. The default user dictionary is standard.dic. If you want to export these words, you can do so as follows:

  • Locate the dictionary file. It can be found at the following path ~/Library/Preferences/NeoOffice-2.2/user/wordbook/standard.dic where ~ is your home folder.
  • Copy this file to the desktop or another location
  • Edit the name of this file (the copy) so that the extension reads .txt
  • Open this txt file in NeoOffice. (if asked which filter to use, chose UTF)
  • You will see a list of words separated by # characters. You can use a global search and replace to format the file as you need to.
  • You may also need to remove some hard page returns


Sometimes this process gets convoluted; there is a trinity thread that attempts to walk through troubleshooting why language (and thus dictionary) settings "don't stick" sometimes.

Auto Spellcheck doesn't work in .doc Files

.doc files (from MS Word) often don't include a setting for the language of the document. If autospell check is not working in a .doc file, there are two options:

  • Select the entire text of the document;
  • Cntrl or Right Click in the selection and choose Character from the contextual menu.
  • Click on the Font tab and set the language drop-down to the correct language.


  • Go to the NeoOffice menu and choose Preferences
  • Click on Language Settings and then Languages
  • Set the Default Language for document to the correct language
  • If necessary, check For the current document only

If Autocorrect and Replacement Settings Don't Work

In this thread at trinity, Bill offers the following experience:

I installed Canadian English in my copy of NeoOffice 2.0 (patch 15) so that spell checking would happen that way, and the autocorrect replace list and exceptions list stopped working.

There seemed to be no easy way to replicate the USA English versions of these lists, and typing them all in again (after selecting "English (Canada)" at the top of the autocorrect dialog) was way too tedious.

But I managed to populate these lists using this method.

Right-click on the NeoOffice application and choose "Show Package Contents". Navigate to "Contents/share/autocorr/". Find the "acor_en-US.dat" file - this apparently contatins the replace and exceptions lists.

In a new Finder window (just to make copying easier), navigate to "~/Library/Preferences/NeoOffice-2.x/user/autocorr/". If "acor_en-US.dat" exists in this folder, temporarily rename it. The "acor ..." files in this folder seem to contain additions you've made to the replace and exceptions lists.

Copy the "acor_en-US.dat" file from autocorr folder deep in the NeoOffice application to the autocorr folder deep in the Preferences folder. In the Preferences folder rename the copied file to "autocorr_en-CA.dat". If necessary, reset the name of the "autocorr_en-US.dat" file.

Launch NeoOffice, go to the AutoCorrection dialog, choose "English (Canada)" from the pop-up, and the lists will be there.

Choose a different file name if you're using an English variant other than Canadian, UK, or USA, and (I assume) you have installed that language in NeoOffice.

"Could Not Contact Spell Checker" Error Message

If you see this error while you are checking spelling (or while auto-spell checking is on), you may have encountered a conflict caused by third-party spelling services (either cocoAspell or Spell Catcher have been reported to cause this problem).

Some users have experienced success by upgrading their cocoAspell or Spell Catcher installations, or by removing the cocoAspell.service or Spell Catcher Services.service items from ~/Library/Services or /Library/Services. A reboot will be required after upgrading or upgrading the files.

Note: Be sure to only move the .service file, not delete it, in case the approach does not work for you.

If you still get the same error after doing the above steps, try doing the following steps:

  1. Move any /Library/Caches/*.csstore files to the Trash but do not empty the Trash
  2. Reboot your machine
  3. Immediately empty the Trash

For more information, see this thread at trinity, this thread at trinity, or these three threads at Apple Discussions.

Issues with Locale Variants of Languages

NeoOffice looks for an available dictionary for the fictitious language "ab_CD" in the following places (and in that order):

  1. Is "ab_CD" available with the OS X spellchecking services?
  2. Is "ab_CD" provided as a OpenOffice Hunspell dictionary?
  3. Is "ab" available with the OS X spellchecking services?

Because of a bug in the way Mac OS X 10.3 assigns language codes to dictionaries, on Mac OS X 10.3.9 NeoOffice will always use the spellchecking for a language, if present.

When NeoOffice is not using the Mac OS X spellchecking services for language "ab" (because an "ab_CD" dictionary is part of the default install of NeoOffice or you are using Mac OS X 10.3.9), and the preferred behavior is to use the Mac OS X dictionary, a workaround is available by removing or commenting out the "ab_CD" line from the file.

See this thread in trinity for more details about this issue and for potential interaction with CocoASpell.

Changing the language of the NeoOffice user interface

NeoOffice uses the topmost language in the list in the International pane of the System Preferences to determine the interface language. For details on using an interface language other than the one specified in the System Preferences, consult Changing the Language of the User Interface.

This article in other languages: Français Italiano
Personal tools