Fcitx5 is an input method framework with support for many languages and scripts.