Re: repost: multiple language support in Abi, suggestion plus offer to help (non-programmer)

Subject: Re: repost: multiple language support in Abi, suggestion plus offer to help (non-programmer)
From: Paul Rohr (
Date: Mon Mar 05 2001 - 15:11:07 CST

Hi Paul,

Thanks and welcome to the list.

At 02:13 AM 3/5/01 -0300, Paul Rodríguez wrote:
>The absolute main selling point in a word processor for me (other than an
>open source) is multi-language support. Well, real time spell checking
>might be more important, but we've got that down. : ) But particularly
>important to me is multi-language spell checking. I'd really love for Abi
>to be able to automatically spell check for me in the language that I am
>writing. I really have no idea what would be involved in implementing this,
>but I'd love to help in any way that I can.

In order to do multi-language spell checking, we'll need to do some
additional programming work, namely:

1. Expand the file format in two places.
First, we need to explicitly label the default locale for the entire
document. This could conceivably go right on the abiword tag as a "lang"

Second, we'll need to add a character-level "lang" property to allow spans
of text to be identified as belonging to another language. (Note to self --
this should be added along with the other CSS-like properties so that it can
participate in the styles mechanism.)

2. Add language-awareness to the UI.
We currently have no way for users to override the relevant locale defaults
for the user interface, or for document content. These both belong in the
options dialog. See my recent discussions with Karl, Tim, and others for
some ideas on UI details.

We'll also need a way to change the language for a given selection. Sounds
like an ideal toolbar button or pull-right on the popup menu.

3. Load multiple dictionaries as needed
Given the first two steps, we'll also need to keep track of how many
languages are used in a given document, and then load the appropriate
dictionaries (if available) as needed to spell check specific passages.
Good dictionaries tend to be pretty large, so we may want logic to load and
unload them from memory as needed.

There are three kinds of work needed here. First, make sure we *can* load
more one dictionary at a time. Second, locate and identify the appropriate
dictionary for a given language -- currently, we have no way to know that
american.hash goes with en-US and deutsch.hash goes with du-DE, etc. Three,
modify the spell-check APIs to be language-aware.

>Sadly, I have no coding skills,
>but I believe in the project and have willingness to help.
>So I guess this is also a an offer to help in general if there are any
>non-programming needs. I'll keep an eye out on the list if anybody has any

Since you're interested in spell-checking for various languages, this one
should be right up your alley.

We're currently looking for folks who're willing to help figure out which
ispell dictionaries do & don't work, and why. There are several dozen such
dictionaries, and many don't work with AbiWord, but nobody's identified what
the common factors are.

For example, one possible explanation is that we only recognize one of the
many ways it's possible to build an ispell dictionary. If so, it's not
clear whether all those variants are really useful enough to warrant adding
the necessary code to support them all. Instead, if all ispell dictionaries
can be built in some similar way (??), it'd be really nice to create a
script which could be used to build *any* ispell-style dictionary using
those same options (whatever they are) and then label them with "real"
locale information.

It'd sure be nice if anyone who wanted a dictionary for, say, Hebrew, could
just download a he-IL.hash from our website that'd Just Work.


This archive was generated by hypermail 2b25 : Tue Mar 06 2001 - 04:58:19 CST