Inflection (Pluralization) in Java
Most non-trivial, user-facing software eventually needs to do declension to offer reasonable feedback. Often, simple inflection of nouns is sufficient.
There are some good inflection libraries in other languages, perhaps most notably Damian Conway’s Lingua::EN::Inflect for Perl, and Rails’ ActiveSupport::Inflector, but there are surprisingly few good stand-alone implementations for Java.
A search on the web for ‘Java Inflector Library’ will find you references to ModeShape (formerly JBoss DNA), ActiveJDBC, Apache CXF, NetBeans, and other projects, all of which are larger projects that include an inflection class or sub-library.
The Evo Inflector library is a stand-alone library that looks to be very full-featured, and is in the maven repos, so would appear to be open-source, but I wasn’t able to find a license or a source code repository for it. It is also more of a ‘kitchen-sink’ library, and not dedicated to inflection.
The one stand-alone library that I was able to find that has an open-source (Apache 2.0) license is the simply-named “Inflector” library. It’s simple - English nouns only - and I’m using it in my current project. However, after an extensive search, I’ve been unable to find a source repo for it. It appears that it used to live at https://inflector.dev.java.net, but that does not seem to exist any more.
I think that it would be really useful to a stand-alone, open-source library dedicated to inflection, and able to handle adjectives and pronouns in addition to nouns. It would also be really nice if it handled more languages than just English.
Anyone up for the challenge?