Fcitx [ˈfaɪtɪks] is an input method framework with extension support. Currently it supports Linux and Unix systems like freebsd. Fcitx supports typing with many languages all over the world with a large number of engines.
Fcitx has a slim core while provides powerful features with addons. It is easy to customize fcitx to satisfy your own needs.