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" 
attribute.    

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
>ideas.

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.  

  http://www.abisource.com/mailinglists/abiword-dev/01/March/0040.html
  http://www.abisource.com/mailinglists/abiword-dev/01/February/1471.html

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.  

Paul

Reply via email to