Question

I am looking for an open source Java spell checking library which has dictionaries for at least the following languages: French, German, Spanish, and Czech. Any suggestion?

Was it helpful?

Solution

You should check out Jazzy its used in some high profile Java applications. Two problems with it:

  1. It has not been updated since 2005.
  2. There is only English dictionary on their SourceForge page.

There are some third party dictionaries floating around. I had one for French, last time I used jazzy.

OTHER TIPS

Another good library is JLanguageTool http://www.languagetool.org/usage/ It has a pretty simple api and does both spelling and grammar checking/suggestions.

JLanguageTool langTool = new JLanguageTool(Language.AMERICAN_ENGLISH);
langTool.activateDefaultPatternRules();

List<RuleMatch> matches = langTool.check("Hitchhiker's Guide tot he Galaxy");
for (RuleMatch match : matches) {
    System.out.println("Potential error at line " +
        match.getEndLine() + ", column " +
        match.getColumn() + ": " + match.getMessage());
    System.out.println("Suggested correction: " +
        match.getSuggestedReplacements());
}

You can also use it to host your own spelling and grammar web service.

Check out JSpell by Page Scholar, http://www.jspell.com.

Another possible alternative is JOrtho http://jortho.sourceforge.net

I haven't used it yet, but I'm evaluating the current Java Open Source spellcheckers to figure out which one to use.

Hunspell looks like it could be of use. It is written in C++ but a java interface according to the home page. Tri-licensed under GPL, LGPL and MPL so you shouldn't have a problem with it.

Have a look at JaSpell. It comes with an internal spell checking engine or you can use aspell. Since the source is available, you can also attach aspell-like engines easily (like Hunspell).

It comes with filters for TeX and XML and it has support for suggestion engines like keyboard distance, common misspellings (where you can define words and their replacements for common typos), Levenshtein distance, and phonetic distance.

You can try Suggester. It is open source, free, and supports all of the above listed languages.

Look at this: http://code.google.com/p/google-api-spelling-java/

This is a simple Java API that makes it very easy to call Google's spell checker service from Java applications.

I tried it and it works very well.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top