Represent errors as hashes instead of tuples
Add an i18n integration