No, I don't think that's the right approach. There are a lot
of words in the documents, and there will be words misspelled.
You don't want a misspelled word to be flagged as an Italian
word, just because that misspelling happens to be a random
Italian word, and it doesn't exists in German or French.
Re: detecting the language of a word?
Replies are listed 'Best First'.
I had thought about the misspelled condition after I made the post and I was thinking along the lines that it wouldn't show up in any list and then it would be up to the user to deciede. but you're right, there is the possibility that its the correct spelling for a word in another language. No matter what the original poster does, the documents are going to have to be proof read by hand to check for any such mistakes.
Though no perfect solution exists, a workable solution is better than no solution. With some modification the process offered by jjdraco can be
made more reliable.
1. Use the other language dictionaries to strip all words that appear in other languages from the german dictionary and place them in a secondary german dictionary. This leaves the
primary dictionary with only uniquely german words and all occurances can be safely ignored.
2. Your processor should have two modes, a reporting mode and an inspection/correction mode. In reporting mode you processor will simply run
over the document gather information about words that are not in the primary dictionary. Have it report on statistics on running time, how many
matches were made, and the most common matches. Using this you can ensure your checker runs in a reasonable amount of time and doesn't proviode
a prohibitively large number of words for inspection. You will also be able to look at the most common matches to see if they can be reliably
processed in an automatic way with some addition scripts. If so, then you can probably eliminate a large percentage of the words that would
otherwise have to be inspected. Repeat this step until you have successfully taken out all you can automatically.
3. Run the processor in inspection mode so each non-match can be found and editted. Have the processor use the sencondary dictionaries to
offer the inspector choices of automatic entries or to manually edit it.