Localazy: Convert more strings (#11675)
This commit is contained in:
parent
ef5a93b702
commit
0518af70ac
60 changed files with 2915 additions and 2567 deletions
|
@ -541,13 +541,9 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
>
|
||||
<div className="mx_CreateSecretStorageDialog_optionTitle">
|
||||
<span className="mx_CreateSecretStorageDialog_optionIcon mx_CreateSecretStorageDialog_optionIcon_secureBackup" />
|
||||
{_t("Generate a Security Key")}
|
||||
</div>
|
||||
<div>
|
||||
{_t(
|
||||
"We'll generate a Security Key for you to store somewhere safe, like a password manager or a safe.",
|
||||
)}
|
||||
{_t("settings|key_backup|setup_secure_backup|generate_security_key_title")}
|
||||
</div>
|
||||
<div>{_t("settings|key_backup|setup_secure_backup|generate_security_key_description")}</div>
|
||||
</StyledRadioButton>
|
||||
);
|
||||
}
|
||||
|
@ -564,11 +560,9 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
>
|
||||
<div className="mx_CreateSecretStorageDialog_optionTitle">
|
||||
<span className="mx_CreateSecretStorageDialog_optionIcon mx_CreateSecretStorageDialog_optionIcon_securePhrase" />
|
||||
{_t("Enter a Security Phrase")}
|
||||
</div>
|
||||
<div>
|
||||
{_t("Use a secret phrase only you know, and optionally save a Security Key to use for backup.")}
|
||||
{_t("settings|key_backup|setup_secure_backup|enter_phrase_title")}
|
||||
</div>
|
||||
<div>{_t("settings|key_backup|setup_secure_backup|use_phrase_only_you_know")}</div>
|
||||
</StyledRadioButton>
|
||||
);
|
||||
}
|
||||
|
@ -583,9 +577,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
return (
|
||||
<form onSubmit={this.onChooseKeyPassphraseFormSubmit}>
|
||||
<p className="mx_CreateSecretStorageDialog_centeredBody">
|
||||
{_t(
|
||||
"Safeguard against losing access to encrypted messages & data by backing up encryption keys on your server.",
|
||||
)}
|
||||
{_t("settings|key_backup|setup_secure_backup|description")}
|
||||
</p>
|
||||
<div className="mx_CreateSecretStorageDialog_primaryContainer" role="radiogroup">
|
||||
{optionKey}
|
||||
|
@ -607,7 +599,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
if (this.state.canUploadKeysWithPasswordOnly) {
|
||||
authPrompt = (
|
||||
<div>
|
||||
<div>{_t("Enter your account password to confirm the upgrade:")}</div>
|
||||
<div>{_t("settings|key_backup|setup_secure_backup|requires_password_confirmation")}</div>
|
||||
<div>
|
||||
<Field
|
||||
id="mx_CreateSecretStorageDialog_password"
|
||||
|
@ -624,21 +616,17 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
} else if (!this.state.backupTrustInfo?.trusted) {
|
||||
authPrompt = (
|
||||
<div>
|
||||
<div>{_t("Restore your key backup to upgrade your encryption")}</div>
|
||||
<div>{_t("settings|key_backup|setup_secure_backup|requires_key_restore")}</div>
|
||||
</div>
|
||||
);
|
||||
nextCaption = _t("action|restore");
|
||||
} else {
|
||||
authPrompt = <p>{_t("You'll need to authenticate with the server to confirm the upgrade.")}</p>;
|
||||
authPrompt = <p>{_t("settings|key_backup|setup_secure_backup|requires_server_authentication")}</p>;
|
||||
}
|
||||
|
||||
return (
|
||||
<form onSubmit={this.onMigrateFormSubmit}>
|
||||
<p>
|
||||
{_t(
|
||||
"Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.",
|
||||
)}
|
||||
</p>
|
||||
<p>{_t("settings|key_backup|setup_secure_backup|session_upgrade_description")}</p>
|
||||
<div>{authPrompt}</div>
|
||||
<DialogButtons
|
||||
primaryButton={nextCaption}
|
||||
|
@ -657,11 +645,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
private renderPhasePassPhrase(): JSX.Element {
|
||||
return (
|
||||
<form onSubmit={this.onPassPhraseNextClick}>
|
||||
<p>
|
||||
{_t(
|
||||
"Enter a Security Phrase only you know, as it's used to safeguard your data. To be secure, you shouldn't re-use your account password.",
|
||||
)}
|
||||
</p>
|
||||
<p>{_t("settings|key_backup|setup_secure_backup|enter_phrase_description")}</p>
|
||||
|
||||
<div className="mx_CreateSecretStorageDialog_passPhraseContainer">
|
||||
<PassphraseField
|
||||
|
@ -672,10 +656,10 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
onValidate={this.onPassPhraseValidate}
|
||||
fieldRef={this.passphraseField}
|
||||
autoFocus={true}
|
||||
label={_td("Enter a Security Phrase")}
|
||||
labelEnterPassword={_td("Enter a Security Phrase")}
|
||||
labelStrongPassword={_td("Great! This Security Phrase looks strong enough.")}
|
||||
labelAllowedButUnsafe={_td("Great! This Security Phrase looks strong enough.")}
|
||||
label={_td("settings|key_backup|setup_secure_backup|enter_phrase_title")}
|
||||
labelEnterPassword={_td("settings|key_backup|setup_secure_backup|enter_phrase_title")}
|
||||
labelStrongPassword={_td("settings|key_backup|setup_secure_backup|phrase_strong_enough")}
|
||||
labelAllowedButUnsafe={_td("settings|key_backup|setup_secure_backup|phrase_strong_enough")}
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
@ -697,8 +681,8 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
let matchText;
|
||||
let changeText;
|
||||
if (this.state.passPhraseConfirm === this.state.passPhrase) {
|
||||
matchText = _t("That matches!");
|
||||
changeText = _t("Use a different passphrase?");
|
||||
matchText = _t("settings|key_backup|setup_secure_backup|pass_phrase_match_success");
|
||||
changeText = _t("settings|key_backup|setup_secure_backup|use_different_passphrase");
|
||||
} else if (!this.state.passPhrase.startsWith(this.state.passPhraseConfirm)) {
|
||||
// only tell them they're wrong if they've actually gone wrong.
|
||||
// Security conscious readers will note that if you left element-web unattended
|
||||
|
@ -707,8 +691,8 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
// just opening the browser's developer tools and reading it.
|
||||
// Note that not having typed anything at all will not hit this clause and
|
||||
// fall through so empty box === no hint.
|
||||
matchText = _t("That doesn't match.");
|
||||
changeText = _t("Go back to set it again.");
|
||||
matchText = _t("settings|key_backup|setup_secure_backup|pass_phrase_match_failed");
|
||||
changeText = _t("settings|key_backup|setup_secure_backup|set_phrase_again");
|
||||
}
|
||||
|
||||
let passPhraseMatch: JSX.Element | undefined;
|
||||
|
@ -724,14 +708,14 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
}
|
||||
return (
|
||||
<form onSubmit={this.onPassPhraseConfirmNextClick}>
|
||||
<p>{_t("Enter your Security Phrase a second time to confirm it.")}</p>
|
||||
<p>{_t("settings|key_backup|setup_secure_backup|enter_phrase_to_confirm")}</p>
|
||||
<div className="mx_CreateSecretStorageDialog_passPhraseContainer">
|
||||
<Field
|
||||
type="password"
|
||||
onChange={this.onPassPhraseConfirmChange}
|
||||
value={this.state.passPhraseConfirm}
|
||||
className="mx_CreateSecretStorageDialog_passPhraseField"
|
||||
label={_t("Confirm your Security Phrase")}
|
||||
label={_t("settings|key_backup|setup_secure_backup|confirm_security_phrase")}
|
||||
autoFocus={true}
|
||||
autoComplete="new-password"
|
||||
/>
|
||||
|
@ -772,11 +756,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
|
||||
return (
|
||||
<div>
|
||||
<p>
|
||||
{_t(
|
||||
"Store your Security Key somewhere safe, like a password manager or a safe, as it's used to safeguard your encrypted data.",
|
||||
)}
|
||||
</p>
|
||||
<p>{_t("settings|key_backup|setup_secure_backup|security_key_safety_reminder")}</p>
|
||||
<div className="mx_CreateSecretStorageDialog_primaryContainer mx_CreateSecretStorageDialog_recoveryKeyPrimarycontainer">
|
||||
<div className="mx_CreateSecretStorageDialog_recoveryKeyContainer">
|
||||
<div className="mx_CreateSecretStorageDialog_recoveryKey">
|
||||
|
@ -792,7 +772,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
{_t("action|download")}
|
||||
</AccessibleButton>
|
||||
<span>
|
||||
{_t("%(downloadButton)s or %(copyButton)s", {
|
||||
{_t("settings|key_backup|setup_secure_backup|download_or_copy", {
|
||||
downloadButton: "",
|
||||
copyButton: "",
|
||||
})}
|
||||
|
@ -824,7 +804,9 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
private renderStoredPhase(): JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<p className="mx_Dialog_content">{_t("Your keys are now being backed up from this device.")}</p>
|
||||
<p className="mx_Dialog_content">
|
||||
{_t("settings|key_backup|setup_secure_backup|backup_setup_success_description")}
|
||||
</p>
|
||||
<DialogButtons
|
||||
primaryButton={_t("action|done")}
|
||||
onPrimaryButtonClick={() => this.props.onFinished(true)}
|
||||
|
@ -837,7 +819,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
private renderPhaseLoadError(): JSX.Element {
|
||||
return (
|
||||
<div>
|
||||
<p>{_t("Unable to query secret storage status")}</p>
|
||||
<p>{_t("settings|key_backup|setup_secure_backup|secret_storage_query_failure")}</p>
|
||||
<div className="mx_Dialog_buttons">
|
||||
<DialogButtons
|
||||
primaryButton={_t("action|retry")}
|
||||
|
@ -853,10 +835,8 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
private renderPhaseSkipConfirm(): JSX.Element {
|
||||
return (
|
||||
<div>
|
||||
<p>
|
||||
{_t("If you cancel now, you may lose encrypted messages & data if you lose access to your logins.")}
|
||||
</p>
|
||||
<p>{_t("You can also set up Secure Backup & manage your keys in Settings.")}</p>
|
||||
<p>{_t("settings|key_backup|setup_secure_backup|cancel_warning")}</p>
|
||||
<p>{_t("settings|key_backup|setup_secure_backup|settings_reminder")}</p>
|
||||
<DialogButtons
|
||||
primaryButton={_t("action|go_back")}
|
||||
onPrimaryButtonClick={this.onGoBackClick}
|
||||
|
@ -875,19 +855,19 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
case Phase.ChooseKeyPassphrase:
|
||||
return _t("encryption|set_up_toast_title");
|
||||
case Phase.Migrate:
|
||||
return _t("Upgrade your encryption");
|
||||
return _t("settings|key_backup|setup_secure_backup|title_upgrade_encryption");
|
||||
case Phase.Passphrase:
|
||||
return _t("Set a Security Phrase");
|
||||
return _t("settings|key_backup|setup_secure_backup|title_set_phrase");
|
||||
case Phase.PassphraseConfirm:
|
||||
return _t("Confirm Security Phrase");
|
||||
return _t("settings|key_backup|setup_secure_backup|title_confirm_phrase");
|
||||
case Phase.ConfirmSkip:
|
||||
return _t("Are you sure?");
|
||||
case Phase.ShowKey:
|
||||
return _t("Save your Security Key");
|
||||
return _t("settings|key_backup|setup_secure_backup|title_save_key");
|
||||
case Phase.Storing:
|
||||
return _t("encryption|bootstrap_title");
|
||||
case Phase.Stored:
|
||||
return _t("Secure Backup successful");
|
||||
return _t("settings|key_backup|setup_secure_backup|backup_setup_success_title");
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
|
@ -912,7 +892,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
|||
if (this.state.error) {
|
||||
content = (
|
||||
<div>
|
||||
<p>{_t("Unable to set up secret storage")}</p>
|
||||
<p>{_t("settings|key_backup|setup_secure_backup|unable_to_setup")}</p>
|
||||
<div className="mx_Dialog_buttons">
|
||||
<DialogButtons
|
||||
primaryButton={_t("action|retry")}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue