i18n fixes

Closes #425
Closes #426

Refactors and fixes bad practices regarding i18n.
Tries to use more full sentences with interpolated variables and gets rid of translations of prepositions, which would only cause misery.

`translator` has received a mild update and now supports an additional parameter to define that the argument of the callback should not be a plain string, but an object with a `start` and `end` property.

This is useful in cases when we want to do a fake interpolation of a variable. The approach itself is problematic. Right now it only supports the addition of a single variable - once we need more we need to refactor this dramatically. The problem is that the `$translate` service is not really build to support our approach.

Two things need to happen to pull this through: We need to have a real case for using multiple variables in a translation and we cannot go around this by using the `translate` directive, which would generally the preferred way, but is not always possible. (hence the `translator` wrapper exists in the first place)

It could very well be that we do not need such a thing - we therefore won't optimize prematurely right away.

For an issue with the `colorizer` translation key, check the comment in #425.
Subsequent work regarding #429 is needed.
Functions with boolean parameters are not self-explanatory. Although in this case I don't known how it can be fixed without severe changes.