add custom logic and custom error messages on wp login form

I manage two user meta data that I use to define start date and end date of WP user account.
User should be able to connect to WP, using the standard login form, only if today date is between start date and end date.
If the condition is not satisfied, the login form should display a custom message such as "your account is not yet valid" or "your account is no longer valid", and user should not log in, even if userlogin and password are correct.
For the moment, I have put some code in wp-signon action hook to check the meta values, and this code works fine.
When an error is found with these meta values, how do I display an error message in the standard WP login form, and how do I prevent the user to login?
Regarding the error messages, how can I manage localization?