Defined OO translations to allow translations to be more generic.

It should greatly simplifies partial translation usage (like for
interpreter).