Account creation user experience/Strings/Experiment

There are various classes of strings that account creation might display:
 * hardcoded English in the JavaScript that "munges" the form into the new appearance
 * the huge chunk of text in the new benefits section. This is currently hardcoded in the JavaScript, may be movable to a MediaWiki: message
 * error messages from the existing form that appear when you submit
 * messages ACUX shows on validation
 * other internal text

Hardcoded English in the JS
Do we have to worry about these for the test?

Existing MW messages
MW has messages similar to what we want, or we can have our own variations.

Reusing from UserLogin form itself 'password-name-match'  => 'Your password must be different from your username.', 'badretype' => 'The passwords you entered do not match.', 'noname' => 'You have not specified a valid username.',

Reusing these messages from Special:ChangeEmail form 'email-address-validity-valid'  => 'E-mail address appears valid', 'email-address-validity-invalid' => 'Enter a valid e-mail address',

Reusing error returned by User.php 'passwordtooshort' => 'Passwords must be at least NaN $1 characterss.',

Reusing from somewhere 'userexists'                => 'Username entered already in use. too wordy? Extension:SignupAPI is just "User exists"

New messages needed
On validation, server API tells us what the username will be, e.g. "steven" -> "Steven". I can inform the user with something like 'Username OK, will be Steven'

When user tabs out of username field without entering anything and it goes red "Username required" or "Username cannot be blank" ? or just "*" ? 'htmlform-required'           => 'This value is required',
 * there is a generic

When blank name is submitted for validation (should never happen?) 'signupapi-noname' => 'No username was specified',
 * just reuse "Username required" from above?

Other internal text
'Invalid value for user parameter name'
 * comes from MW API when name does not look like a name (fails Title::makeTitleSafe). Not localized.


 * I propose not showing API failure messages to user, and just a generic "I <error code="baduser_name" info="Invalid value for user parameter name" nvalid username"

Testing for these strings

 * See also ../Testing and ../Usernames

You can generate the API messages by invoking the wiki's API in a URL

api.php?action=e3acux&do=ac_validate&password= api.php?action=e3acux&do=ac_validate&name=Admin api.php?action=e3acux&do=ac_validate&name=%23bad api.php?action=e3acux&do=ac_validate&name=bad%23bad api.php?action=e3acux&do=ac_validate&name=bad@bad api.php?action=e3acux&do=ac_validate&name=/bad
 * Password too short
 * name in use
 * bad name (starts with #, note have to encode this in URL)
 * bad name (# in middle)
 * bad name (@ in it)
 * bad name

api.php?action=e3acux&do=ac_validate&name=ThisNameIsOK api.php?action=e3acux&do=ac_validate&password=SomePassword
 * OK name
 * OK password