Simplify the logic of translate_assert

There is no visible need to pass the fallback function through all the
cases of translate_assert. It's makes the code simpler if we keep
the conditional logic at the beginning.
Merge pull request #1917 from alco/simpler-translate_assert

Simplify the logic of translate_assert