mirror of https://github.com/vector-im/riot-web
				
				
				
			First pass of copy changes
							parent
							
								
									630507304a
								
							
						
					
					
						commit
						02cada7cc6
					
				|  | @ -71,7 +71,6 @@ export default class CreateKeyBackupDialog extends React.PureComponent { | |||
|             copied: false, | ||||
|             downloaded: false, | ||||
|             zxcvbnResult: null, | ||||
|             setPassPhrase: false, | ||||
|         }; | ||||
| 
 | ||||
|         if (this.state.secureSecretStorage === undefined) { | ||||
|  | @ -219,7 +218,6 @@ export default class CreateKeyBackupDialog extends React.PureComponent { | |||
|     _onPassPhraseConfirmNextClick = async () => { | ||||
|         this._keyBackupInfo = await MatrixClientPeg.get().prepareKeyBackupVersion(this.state.passPhrase); | ||||
|         this.setState({ | ||||
|             setPassPhrase: true, | ||||
|             copied: false, | ||||
|             downloaded: false, | ||||
|             phase: PHASE_SHOWKEY, | ||||
|  | @ -338,7 +336,7 @@ export default class CreateKeyBackupDialog extends React.PureComponent { | |||
|             <details> | ||||
|                 <summary>{_t("Advanced")}</summary> | ||||
|                 <p><button onClick={this._onSkipPassPhraseClick} > | ||||
|                     {_t("Set up with a Recovery Key")} | ||||
|                     {_t("Set up with a recovery key")} | ||||
|                 </button></p> | ||||
|             </details> | ||||
|         </div>; | ||||
|  | @ -401,28 +399,17 @@ export default class CreateKeyBackupDialog extends React.PureComponent { | |||
|     } | ||||
| 
 | ||||
|     _renderPhaseShowKey() { | ||||
|         let bodyText; | ||||
|         if (this.state.setPassPhrase) { | ||||
|             bodyText = _t( | ||||
|                 "As a safety net, you can use it to restore your encrypted message " + | ||||
|                 "history if you forget your Recovery Passphrase.", | ||||
|             ); | ||||
|         } else { | ||||
|             bodyText = _t("As a safety net, you can use it to restore your encrypted message history."); | ||||
|         } | ||||
| 
 | ||||
|         return <div> | ||||
|             <p>{_t( | ||||
|                 "Your recovery key is a safety net - you can use it to restore " + | ||||
|                 "access to your encrypted messages if you forget your passphrase.", | ||||
|             )}</p> | ||||
|             <p>{_t( | ||||
|                 "Keep your recovery key somewhere very secure, like a password manager (or a safe).", | ||||
|                 "Keep a copy of it somewhere secure, like a password manager or even a safe.", | ||||
|             )}</p> | ||||
|             <p>{bodyText}</p> | ||||
|             <div className="mx_CreateKeyBackupDialog_primaryContainer"> | ||||
|                 <div className="mx_CreateKeyBackupDialog_recoveryKeyHeader"> | ||||
|                     {_t("Your Recovery Key")} | ||||
|                     {_t("Your recovery key")} | ||||
|                 </div> | ||||
|                 <div className="mx_CreateKeyBackupDialog_recoveryKeyContainer"> | ||||
|                     <div className="mx_CreateKeyBackupDialog_recoveryKey"> | ||||
|  | @ -430,7 +417,7 @@ export default class CreateKeyBackupDialog extends React.PureComponent { | |||
|                     </div> | ||||
|                     <div className="mx_CreateKeyBackupDialog_recoveryKeyButtons"> | ||||
|                         <button className="mx_Dialog_primary" onClick={this._onCopyClick}> | ||||
|                             {_t("Copy to clipboard")} | ||||
|                             {_t("Copy")} | ||||
|                         </button> | ||||
|                         <button className="mx_Dialog_primary" onClick={this._onDownloadClick}> | ||||
|                             {_t("Download")} | ||||
|  | @ -462,7 +449,7 @@ export default class CreateKeyBackupDialog extends React.PureComponent { | |||
|                 <li>{_t("<b>Save it</b> on a USB key or backup drive", {}, {b: s => <b>{s}</b>})}</li> | ||||
|                 <li>{_t("<b>Copy it</b> to your personal cloud storage", {}, {b: s => <b>{s}</b>})}</li> | ||||
|             </ul> | ||||
|             <DialogButtons primaryButton={_t("OK")} | ||||
|             <DialogButtons primaryButton={_t("Continue")} | ||||
|                 onPrimaryButtonClick={this._createBackup} | ||||
|                 hasCancel={false}> | ||||
|                 <button onClick={this._onKeepItSafeBackClick}>{_t("Back")}</button> | ||||
|  | @ -515,15 +502,14 @@ export default class CreateKeyBackupDialog extends React.PureComponent { | |||
|             case PHASE_OPTOUT_CONFIRM: | ||||
|                 return _t('Warning!'); | ||||
|             case PHASE_SHOWKEY: | ||||
|                 return _t('Recovery key'); | ||||
|             case PHASE_KEEPITSAFE: | ||||
|                 return _t('Keep it safe'); | ||||
|                 return _t('Make a copy of your recovery key'); | ||||
|             case PHASE_BACKINGUP: | ||||
|                 return _t('Starting backup...'); | ||||
|             case PHASE_DONE: | ||||
|                 return _t('Success!'); | ||||
|             default: | ||||
|                 return _t("Create Key Backup"); | ||||
|                 return _t("Create key backup"); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -76,7 +76,6 @@ export default class CreateSecretStorageDialog extends React.PureComponent { | |||
|             copied: false, | ||||
|             downloaded: false, | ||||
|             zxcvbnResult: null, | ||||
|             setPassPhrase: false, | ||||
|             backupInfo: null, | ||||
|             backupSigStatus: null, | ||||
|             // does the server offer a UI auth flow with just m.login.password
 | ||||
|  | @ -84,9 +83,6 @@ export default class CreateSecretStorageDialog extends React.PureComponent { | |||
|             canUploadKeysWithPasswordOnly: null, | ||||
|             accountPassword: props.accountPassword, | ||||
|             accountPasswordCorrect: null, | ||||
|             // set if we are 'upgrading' encryption (making an SSSS store from
 | ||||
|             // an existing key backup secret).
 | ||||
|             doingUpgrade: null, | ||||
|             // status of the key backup toggle switch
 | ||||
|             useKeyBackup: true, | ||||
|         }; | ||||
|  | @ -117,8 +113,6 @@ export default class CreateSecretStorageDialog extends React.PureComponent { | |||
|             phase, | ||||
|             backupInfo, | ||||
|             backupSigStatus, | ||||
|             // remember this after this phase so we can use appropriate copy
 | ||||
|             doingUpgrade: phase === PHASE_MIGRATE, | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
|  | @ -325,7 +319,6 @@ export default class CreateSecretStorageDialog extends React.PureComponent { | |||
|         this._keyInfo = keyInfo; | ||||
|         this._encodedRecoveryKey = encodedRecoveryKey; | ||||
|         this.setState({ | ||||
|             setPassPhrase: true, | ||||
|             copied: false, | ||||
|             downloaded: false, | ||||
|             phase: PHASE_SHOWKEY, | ||||
|  | @ -588,19 +581,6 @@ export default class CreateSecretStorageDialog extends React.PureComponent { | |||
|     } | ||||
| 
 | ||||
|     _renderPhaseShowKey() { | ||||
|         let bodyText; | ||||
|         if (this.state.setPassPhrase) { | ||||
|             bodyText = _t( | ||||
|                 "As a safety net, you can use it to restore your access to encrypted " + | ||||
|                 "messages if you forget your passphrase.", | ||||
|             ); | ||||
|         } else { | ||||
|             bodyText = _t( | ||||
|                 "As a safety net, you can use it to restore your access to encrypted " + | ||||
|                 "messages.", | ||||
|             ); | ||||
|         } | ||||
| 
 | ||||
|         const AccessibleButton = sdk.getComponent('elements.AccessibleButton'); | ||||
|         return <div> | ||||
|             <p>{_t( | ||||
|  | @ -608,12 +588,11 @@ export default class CreateSecretStorageDialog extends React.PureComponent { | |||
|                 "access to your encrypted messages if you forget your passphrase.", | ||||
|             )}</p> | ||||
|             <p>{_t( | ||||
|                 "Keep your recovery key somewhere very secure, like a password manager (or a safe).", | ||||
|                 "Keep a copy of it somewhere secure, like a password manager or even a safe.", | ||||
|             )}</p> | ||||
|             <p>{bodyText}</p> | ||||
|             <div className="mx_CreateSecretStorageDialog_primaryContainer"> | ||||
|                 <div className="mx_CreateSecretStorageDialog_recoveryKeyHeader"> | ||||
|                     {_t("Your Recovery Key")} | ||||
|                     {_t("Your recovery key")} | ||||
|                 </div> | ||||
|                 <div className="mx_CreateSecretStorageDialog_recoveryKeyContainer"> | ||||
|                     <div className="mx_CreateSecretStorageDialog_recoveryKey"> | ||||
|  | @ -621,7 +600,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent { | |||
|                     </div> | ||||
|                     <div className="mx_CreateSecretStorageDialog_recoveryKeyButtons"> | ||||
|                         <AccessibleButton kind='primary' className="mx_Dialog_primary" onClick={this._onCopyClick}> | ||||
|                             {_t("Copy to clipboard")} | ||||
|                             {_t("Copy")} | ||||
|                         </AccessibleButton> | ||||
|                         <AccessibleButton kind='primary' className="mx_Dialog_primary" onClick={this._onDownloadClick}> | ||||
|                             {_t("Download")} | ||||
|  | @ -653,7 +632,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent { | |||
|                 <li>{_t("<b>Save it</b> on a USB key or backup drive", {}, {b: s => <b>{s}</b>})}</li> | ||||
|                 <li>{_t("<b>Copy it</b> to your personal cloud storage", {}, {b: s => <b>{s}</b>})}</li> | ||||
|             </ul> | ||||
|             <DialogButtons primaryButton={_t("OK")} | ||||
|             <DialogButtons primaryButton={_t("Continue")} | ||||
|                 onPrimaryButtonClick={this._bootstrapSecretStorage} | ||||
|                 hasCancel={false}> | ||||
|                 <button onClick={this._onKeepItSafeBackClick}>{_t("Back")}</button> | ||||
|  | @ -672,11 +651,8 @@ export default class CreateSecretStorageDialog extends React.PureComponent { | |||
|         const DialogButtons = sdk.getComponent('views.elements.DialogButtons'); | ||||
|         return <div> | ||||
|             <p>{_t( | ||||
|                 "This session can now verify other sessions, granting them access " + | ||||
|                 "to encrypted messages and marking them as trusted for other users.", | ||||
|             )}</p> | ||||
|             <p>{_t( | ||||
|                 "Verify other users in their profile.", | ||||
|                 "You can now verify your other devices, " + | ||||
|                 "and other users to keep your chats safe.", | ||||
|             )}</p> | ||||
|             <DialogButtons primaryButton={_t('OK')} | ||||
|                 onPrimaryButtonClick={this._onDone} | ||||
|  | @ -712,13 +688,12 @@ export default class CreateSecretStorageDialog extends React.PureComponent { | |||
|             case PHASE_CONFIRM_SKIP: | ||||
|                 return _t('Are you sure?'); | ||||
|             case PHASE_SHOWKEY: | ||||
|                 return _t('Recovery key'); | ||||
|             case PHASE_KEEPITSAFE: | ||||
|                 return _t('Keep it safe'); | ||||
|                 return _t('Make a copy of your recovery key'); | ||||
|             case PHASE_STORING: | ||||
|                 return _t('Storing secrets...'); | ||||
|                 return _t('Setting up keys'); | ||||
|             case PHASE_DONE: | ||||
|                 return this.state.doingUpgrade ? _t('Encryption upgraded') : _t('Encryption setup complete'); | ||||
|                 return _t("You're done!"); | ||||
|             default: | ||||
|                 return ''; | ||||
|         } | ||||
|  |  | |||
|  | @ -142,7 +142,7 @@ export const PasswordAuthEntry = createReactClass({ | |||
| 
 | ||||
|         return ( | ||||
|             <div> | ||||
|                 <p>{ _t("To continue, please enter your password.") }</p> | ||||
|                 <p>{ _t("Confirm your identity by entering your account password below.") }</p> | ||||
|                 <form onSubmit={this._onSubmit} className="mx_InteractiveAuthEntryComponents_passwordSection"> | ||||
|                     <Field | ||||
|                         id="mx_InteractiveAuthEntryComponents_password" | ||||
|  |  | |||
|  | @ -248,7 +248,7 @@ export default class RestoreKeyBackupDialog extends React.PureComponent { | |||
|         } else if (this.state.restoreError) { | ||||
|             if (this.state.restoreError.errcode === MatrixClient.RESTORE_BACKUP_ERROR_BAD_KEY) { | ||||
|                 if (this.state.restoreType === RESTORE_TYPE_RECOVERYKEY) { | ||||
|                     title = _t("Recovery Key Mismatch"); | ||||
|                     title = _t("Recovery key mismatch"); | ||||
|                     content = <div> | ||||
|                         <p>{_t( | ||||
|                             "Backup could not be decrypted with this key: " + | ||||
|  | @ -256,7 +256,7 @@ export default class RestoreKeyBackupDialog extends React.PureComponent { | |||
|                         )}</p> | ||||
|                     </div>; | ||||
|                 } else { | ||||
|                     title = _t("Incorrect Recovery Passphrase"); | ||||
|                     title = _t("Incorrect recovery passphrase"); | ||||
|                     content = <div> | ||||
|                         <p>{_t( | ||||
|                             "Backup could not be decrypted with this passphrase: " + | ||||
|  | @ -273,7 +273,7 @@ export default class RestoreKeyBackupDialog extends React.PureComponent { | |||
|             content = _t("No backup found!"); | ||||
|         } else if (this.state.recoverInfo) { | ||||
|             const DialogButtons = sdk.getComponent('views.elements.DialogButtons'); | ||||
|             title = _t("Backup Restored"); | ||||
|             title = _t("Backup restored"); | ||||
|             let failedToDecrypt; | ||||
|             if (this.state.recoverInfo.total > this.state.recoverInfo.imported) { | ||||
|                 failedToDecrypt = <p>{_t( | ||||
|  | @ -293,7 +293,7 @@ export default class RestoreKeyBackupDialog extends React.PureComponent { | |||
|         } else if (backupHasPassphrase && !this.state.forceRecoveryKey) { | ||||
|             const DialogButtons = sdk.getComponent('views.elements.DialogButtons'); | ||||
|             const AccessibleButton = sdk.getComponent('elements.AccessibleButton'); | ||||
|             title = _t("Enter Recovery Passphrase"); | ||||
|             title = _t("Enter recovery passphrase"); | ||||
|             content = <div> | ||||
|                 <p>{_t( | ||||
|                     "<b>Warning</b>: you should only set up key backup " + | ||||
|  | @ -340,7 +340,7 @@ export default class RestoreKeyBackupDialog extends React.PureComponent { | |||
|                 })} | ||||
|             </div>; | ||||
|         } else { | ||||
|             title = _t("Enter Recovery Key"); | ||||
|             title = _t("Enter recovery key"); | ||||
|             const DialogButtons = sdk.getComponent('views.elements.DialogButtons'); | ||||
|             const AccessibleButton = sdk.getComponent('elements.AccessibleButton'); | ||||
| 
 | ||||
|  |  | |||
|  | @ -39,7 +39,7 @@ export default class SetupEncryptionToast extends React.PureComponent { | |||
|         switch (this.props.kind) { | ||||
|             case 'set_up_encryption': | ||||
|             case 'upgrade_encryption': | ||||
|                 return _t('Verify your other sessions easier'); | ||||
|                 return _t('Verify yourself & others to keep your chats safe'); | ||||
|             case 'verify_this_session': | ||||
|                 return _t('Other users may not trust it'); | ||||
|         } | ||||
|  |  | |||
|  | @ -517,7 +517,7 @@ | |||
|     "Headphones": "Headphones", | ||||
|     "Folder": "Folder", | ||||
|     "Pin": "Pin", | ||||
|     "Verify your other sessions easier": "Verify your other sessions easier", | ||||
|     "Verify yourself & others to keep your chats safe": "Verify yourself & others to keep your chats safe", | ||||
|     "Other users may not trust it": "Other users may not trust it", | ||||
|     "Upgrade": "Upgrade", | ||||
|     "Verify": "Verify", | ||||
|  | @ -1648,20 +1648,20 @@ | |||
|     "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.", | ||||
|     "If you've forgotten your recovery key you can <button>set up new recovery options</button>.": "If you've forgotten your recovery key you can <button>set up new recovery options</button>.", | ||||
|     "Unable to load backup status": "Unable to load backup status", | ||||
|     "Recovery Key Mismatch": "Recovery Key Mismatch", | ||||
|     "Recovery key mismatch": "Recovery key mismatch", | ||||
|     "Backup could not be decrypted with this key: please verify that you entered the correct recovery key.": "Backup could not be decrypted with this key: please verify that you entered the correct recovery key.", | ||||
|     "Incorrect Recovery Passphrase": "Incorrect Recovery Passphrase", | ||||
|     "Incorrect recovery passphrase": "Incorrect recovery passphrase", | ||||
|     "Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.": "Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.", | ||||
|     "Unable to restore backup": "Unable to restore backup", | ||||
|     "No backup found!": "No backup found!", | ||||
|     "Backup Restored": "Backup Restored", | ||||
|     "Backup restored": "Backup restored", | ||||
|     "Failed to decrypt %(failedCount)s sessions!": "Failed to decrypt %(failedCount)s sessions!", | ||||
|     "Restored %(sessionCount)s session keys": "Restored %(sessionCount)s session keys", | ||||
|     "Enter Recovery Passphrase": "Enter Recovery Passphrase", | ||||
|     "Enter recovery passphrase": "Enter recovery passphrase", | ||||
|     "<b>Warning</b>: you should only set up key backup from a trusted computer.": "<b>Warning</b>: you should only set up key backup from a trusted computer.", | ||||
|     "Access your secure message history and set up secure messaging by entering your recovery passphrase.": "Access your secure message history and set up secure messaging by entering your recovery passphrase.", | ||||
|     "If you've forgotten your recovery passphrase you can <button1>use your recovery key</button1> or <button2>set up new recovery options</button2>": "If you've forgotten your recovery passphrase you can <button1>use your recovery key</button1> or <button2>set up new recovery options</button2>", | ||||
|     "Enter Recovery Key": "Enter Recovery Key", | ||||
|     "Enter recovery key": "Enter recovery key", | ||||
|     "<b>Warning</b>: You should only set up key backup from a trusted computer.": "<b>Warning</b>: You should only set up key backup from a trusted computer.", | ||||
|     "Access your secure message history and set up secure messaging by entering your recovery key.": "Access your secure message history and set up secure messaging by entering your recovery key.", | ||||
|     "If you've forgotten your recovery key you can <button>set up new recovery options</button>": "If you've forgotten your recovery key you can <button>set up new recovery options</button>", | ||||
|  | @ -1716,7 +1716,7 @@ | |||
|     "Country Dropdown": "Country Dropdown", | ||||
|     "Custom Server Options": "Custom Server Options", | ||||
|     "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use this app with an existing Matrix account on a different homeserver.": "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use this app with an existing Matrix account on a different homeserver.", | ||||
|     "To continue, please enter your password.": "To continue, please enter your password.", | ||||
|     "Confirm your identity by entering your account password below.": "Confirm your identity by entering your account password below.", | ||||
|     "Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.", | ||||
|     "Please review and accept all of the homeserver's policies": "Please review and accept all of the homeserver's policies", | ||||
|     "Please review and accept the policies of this homeserver:": "Please review and accept the policies of this homeserver:", | ||||
|  | @ -2042,43 +2042,35 @@ | |||
|     "Go back to set it again.": "Go back to set it again.", | ||||
|     "Enter your passphrase a second time to confirm it.": "Enter your passphrase a second time to confirm it.", | ||||
|     "Confirm your passphrase": "Confirm your passphrase", | ||||
|     "As a safety net, you can use it to restore your access to encrypted messages if you forget your passphrase.": "As a safety net, you can use it to restore your access to encrypted messages if you forget your passphrase.", | ||||
|     "As a safety net, you can use it to restore your access to encrypted messages.": "As a safety net, you can use it to restore your access to encrypted messages.", | ||||
|     "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.", | ||||
|     "Keep your recovery key somewhere very secure, like a password manager (or a safe).": "Keep your recovery key somewhere very secure, like a password manager (or a safe).", | ||||
|     "Your Recovery Key": "Your Recovery Key", | ||||
|     "Copy to clipboard": "Copy to clipboard", | ||||
|     "Keep a copy of it somewhere secure, like a password manager or even a safe.": "Keep a copy of it somewhere secure, like a password manager or even a safe.", | ||||
|     "Your recovery key": "Your recovery key", | ||||
|     "Copy": "Copy", | ||||
|     "Download": "Download", | ||||
|     "Your recovery key has been <b>copied to your clipboard</b>, paste it to:": "Your recovery key has been <b>copied to your clipboard</b>, paste it to:", | ||||
|     "Your recovery key is in your <b>Downloads</b> folder.": "Your recovery key is in your <b>Downloads</b> folder.", | ||||
|     "<b>Print it</b> and store it somewhere safe": "<b>Print it</b> and store it somewhere safe", | ||||
|     "<b>Save it</b> on a USB key or backup drive": "<b>Save it</b> on a USB key or backup drive", | ||||
|     "<b>Copy it</b> to your personal cloud storage": "<b>Copy it</b> to your personal cloud storage", | ||||
|     "This session can now verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "This session can now verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.", | ||||
|     "Verify other users in their profile.": "Verify other users in their profile.", | ||||
|     "You can now verify your other devices, and other users to keep your chats safe.": "You can now verify your other devices, and other users to keep your chats safe.", | ||||
|     "Upgrade your encryption": "Upgrade your encryption", | ||||
|     "Recovery key": "Recovery key", | ||||
|     "Keep it safe": "Keep it safe", | ||||
|     "Storing secrets...": "Storing secrets...", | ||||
|     "Encryption upgraded": "Encryption upgraded", | ||||
|     "Encryption setup complete": "Encryption setup complete", | ||||
|     "Make a copy of your recovery key": "Make a copy of your recovery key", | ||||
|     "Setting up keys": "Setting up keys", | ||||
|     "You're done!": "You're done!", | ||||
|     "Unable to set up secret storage": "Unable to set up secret storage", | ||||
|     "Retry": "Retry", | ||||
|     "We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.", | ||||
|     "For maximum security, this should be different from your account password.": "For maximum security, this should be different from your account password.", | ||||
|     "Enter a passphrase...": "Enter a passphrase...", | ||||
|     "Set up with a Recovery Key": "Set up with a Recovery Key", | ||||
|     "Please enter your passphrase a second time to confirm.": "Please enter your passphrase a second time to confirm.", | ||||
|     "Repeat your passphrase...": "Repeat your passphrase...", | ||||
|     "As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.": "As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.", | ||||
|     "As a safety net, you can use it to restore your encrypted message history.": "As a safety net, you can use it to restore your encrypted message history.", | ||||
|     "Your keys are being backed up (the first backup could take a few minutes).": "Your keys are being backed up (the first backup could take a few minutes).", | ||||
|     "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.", | ||||
|     "Set up Secure Message Recovery": "Set up Secure Message Recovery", | ||||
|     "Secure your backup with a passphrase": "Secure your backup with a passphrase", | ||||
|     "Starting backup...": "Starting backup...", | ||||
|     "Success!": "Success!", | ||||
|     "Create Key Backup": "Create Key Backup", | ||||
|     "Create key backup": "Create key backup", | ||||
|     "Unable to create key backup": "Unable to create key backup", | ||||
|     "Without setting up Secure Message Recovery, you'll lose your secure message history when you log out.": "Without setting up Secure Message Recovery, you'll lose your secure message history when you log out.", | ||||
|     "If you don't want to set this up now, you can later in Settings.": "If you don't want to set this up now, you can later in Settings.", | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 J. Ryan Stinnett
						J. Ryan Stinnett