Update: use the error code source name instead of a human friendly name for error code translation
The human friendly variant is more convenient, but it is probably better to use the machien name directly on error output.
This should make things script-friendly and also allow for distinguishing something simimarl to f_my_error and fl_my_error.
With f_my_error and fl_my_error, using the previous method, both would report as "my error", when in fact they are different errors.
The down side is that this now requires 1 more step to convert the codes into a human friendly name.