Call the account secret a "password" in the English copy - #18
Open
zattak1 wants to merge 1 commit into
Open
Conversation
The login and activation flow calls the account secret a "pass phrase".
For a first-time user that term either means nothing or, in an app whose
login dialog can also show a Connect Wallet button, reads as a seed
phrase -- at exactly the moment the user is deciding whether to trust the
app with an account.
The markup already takes the other side of this: the inputs are
type="password", id="current-password" / "new-password",
class="Q_password", autocomplete="new-password". Only the visible copy
still says "pass phrase", so the rename makes the strings agree with the
fields they label.
Renamed at every English site, because a partial rename is worse than
none -- the dialog saying "password" while the activation page two
minutes later says "pass phrase" is two names for one thing:
text/Users/content/en.json activate/ChoosePassPhrase(+SeeSuggestions),
notifications/ForgetPass, PassphraseSaved,
login/passphrase, resend*, noPassphrase,
notVerified, setIdentifier/sendMessage
text/Users/email/en.json activation/ReallyYourEmail, resend/Subject,
YouAreReceiving, Reset, SetUpPassphrase
text/Users/mobile/en.json resend/DidYouWant
web/js/Users.js the JS defaults that render before
Q.Text.get resolves -- both mirrors have to
agree or the copy changes as the fetch lands
views/Users/content/activate.php the input placeholder
views/Users/email/resend.php the example email
classes/Users/Exception/WrongPassphrase.php the wrong-login message
classes/Users/Email.php the hardcoded fallback subject in
resendActivationMessage()
Two strings were rewritten rather than word-swapped, because they named
an action the user has no model for ("send yourself an activation
message"):
notVerified -> "Your account is not verified yet. We will send you a
link to finish setting it up."
noPassphrase -> "You have not set a password yet. We will send you a
link to set one."
The resend strings say "we sent you a link" rather than naming email,
since the identifier can be a mobile number and the same concepts render
through the SMS views.
Values only. Keys (ChoosePassPhrase, SetUpPassphrase, noPassphrase,
DidYouWant), config paths, event names, class names, request field names
and column names are all untouched -- they are API surface, and renaming
them would break consumers for a cosmetic win. Non-English locale files
are left alone: retranslating them is a separate change for someone who
speaks each language.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The login and activation flow calls the account secret a "pass phrase". For a first-time user that term either means nothing or — in an app whose login dialog can also show a Connect Wallet button — reads as a seed phrase, at exactly the moment they are deciding whether to trust the app with an account.
The markup already takes the other side of this. The inputs are
type="password",id="current-password"/"new-password",class="Q_password",autocomplete="new-password". Only the visible copy still says "pass phrase", so this makes the strings agree with the fields they label.Scope
Renamed at every English site, because a partial rename is worse than none — the dialog saying "password" while the activation page two minutes later says "pass phrase" is two names for one thing.
text/Users/content/en.jsonactivate/ChoosePassPhrase(+SeeSuggestions),notifications/ForgetPass,PassphraseSaved,login/passphrase,resend*,noPassphrase,notVerified,setIdentifier/sendMessagetext/Users/email/en.jsonactivation/ReallyYourEmail,resend/Subject,YouAreReceiving,Reset,SetUpPassphrasetext/Users/mobile/en.jsonresend/DidYouWantweb/js/Users.jsQ.Text.getresolves — both mirrors have to agree, or the copy visibly changes as the fetch landsviews/Users/content/activate.phpviews/Users/email/resend.phpclasses/Users/Exception/WrongPassphrase.phpclasses/Users/Email.phpresendActivationMessage()Two strings rewritten rather than word-swapped
Both named an action the user has no model for ("send yourself an activation message"):
notVerified→ "Your account is not verified yet. We will send you a link to finish setting it up."noPassphrase→ "You have not set a password yet. We will send you a link to set one."The resend strings say "we sent you a link" rather than naming email, since the identifier can be a mobile number and the same concepts render through the SMS views.
What is deliberately not touched
Values only. Keys (
ChoosePassPhrase,SetUpPassphrase,noPassphrase,DidYouWant), config paths, event names, class names, request field names (passphrase,passphrase_hashed) and column names (passphraseHash) are unchanged — they are API surface, and renaming them would break consumers for a cosmetic win. So this is copy-only: no behavior, no schema, no wire format.Non-English locale files are left alone; retranslating them is a separate change for someone who speaks each language.
Note
This is a terminology/product-opinion change, so it is entirely reasonable to decline it — happy to close if "pass phrase" is a deliberate choice. We are carrying it on our fork either way; opening it here in case it is useful upstream.