Using Spellcheck in NeoOffice

From NeoWiki

Revision as of 23:07, 24 January 2009 by Sardisson (Talk | contribs)
Jump to: navigation, search
This article is not up to date, or it needs structural or stylistic changes to conform with the rest of this wiki.


N.B. This article covers the steps required to activate writing tools in NeoOffice 3.0 Early Access and later; for the steps to use in NeoOffice 2.x, see Activating Dictionaries and Configuring Spellcheck in NeoOffice 2.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.

Contents

Activating the Writing Tools for Your Preferred Language

NeoOffice 3.x 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.

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

The language tools system in NeoOffice 3.x does not map other English variants to the US or UK English tools; you must install the dictionary, etc., for your language to have working writing tools.

Enabling Writing Tools for Additional Languages

To install and activate writing tools for additional languages in NeoOffice, 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.

Automation

Using a Macro

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

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.

does NeoOffice read the Mac OS X user dictionary, or just regular dictionaries? DictEdit

Troubleshooting

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.

Or

  • 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

is this relevant/the same for 3.x? if not, move to the 2.x page

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/com.apple.LaunchServices*.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?

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), 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 NeoOffice.app/Contents/share/dict/ooo/dictionary.lst file.

FIXME - how do we achieve this in 3.x

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