uim is a multilingual input method library. It aims to provide a flexible development platform and useful user environment for input methods. It works in many environments, including general desktop systems such as GNOME or KDE, and even in a console. It also supports Linux Zaurus and Mac OS X.