I'm not sure how that helps NLS behavior very much.  We really just need a resource bundle which we can use to seed the exception with the error message for the current locale, or we need a unique exception object for every error code so the UI can handle the different types.