Handle missing or bad translations

handles missing keys as well as bad values (where the value is an object), see #16