diff --git a/locales/en-US/main.ftl b/locales/en-US/main.ftl index 03a3bc1..764ee53 100644 --- a/locales/en-US/main.ftl +++ b/locales/en-US/main.ftl @@ -3,33 +3,33 @@ ## Seed parsing — restoring an identity from a pasted seed -seed-bad-hex = bad hex -seed-wrong-length = a seed is 32 bytes +seed-bad-hex = That's not valid hex. Check for typos or extra characters. +seed-wrong-length = A seed is 32 bytes. Check you copied the whole thing. ## Local files — errors reading/writing the key and its sidecars file-error = { $path }: { $reason } -key-file-wrong-length = { $path }: not a 32-byte master +key-file-wrong-length = { $path }: not a 32-byte secret ## Compose — validating a typed `Key: value` header row -compose-header-colon-missing = a header is `Key: value` — the colon is missing -compose-header-reserved-key = { $key } is attached by the client and cannot be set -compose-header-invalid-key = keys are 1-64 characters of letters, digits and dashes -compose-header-value-multiline = a value must stay on one line -compose-header-duplicate-key = { $key } is set twice -compose-headers-too-large = the headers exceed the frontmatter budget -compose-headers-too-many = too many headers +compose-header-colon-missing = Headers need a colon, like `Key: value`. +compose-header-reserved-key = { $key } is set automatically and can't be changed. +compose-header-invalid-key = Keys can be 1 to 64 letters, digits, and dashes. +compose-header-value-multiline = Values need to stay on one line. +compose-header-duplicate-key = { $key } is set twice. Remove one of them. +compose-headers-too-large = Your headers take up too much space. Remove some and try again. +compose-headers-too-many = You have too many headers. Remove some and try again. ## Contacts — importing a smol:// address -contacts-import-needs-key = import needs a self-certifying smol:// address carrying a key +contacts-import-needs-key = Import needs a smol:// address that includes a key. ## Mail — opening a message by id -mail-message-id-wrong-length = message ids are 64 hex characters -mail-message-id-wrong-bytes = message ids are 32 bytes -mail-message-not-found = message not found +mail-message-id-wrong-length = Message IDs are 64 hex characters. +mail-message-id-wrong-bytes = Message IDs are 32 bytes. +mail-message-not-found = Message not found. ## Fetch — the status note after a fetch completes ## @@ -67,51 +67,51 @@ send-result-note = { $variant -> ## Built in `spawn_op` (src/view.rs) rather than ops.rs, since that is ## where each `PendingOp` result is assembled for the worker thread. -status-registered-note = registered -status-restored-note = restored at rotation { $index } -status-deleted-note = deleted -status-accepted-note = accepted { $address } -status-blocked-note = blocked { $address } +status-registered-note = Registered +status-restored-note = Restored at rotation { $index } +status-deleted-note = Deleted +status-accepted-note = Accepted { $address } +status-blocked-note = Blocked { $address } status-not-blocked-note = { $address } was not blocked -status-imported-note = imported { $address } (verified) -status-rotated-note = rotated to index { $index }; new key { $key_prefix }… +status-imported-note = Imported { $address } (verified) +status-rotated-note = Rotated to index { $index }; new key { $key_prefix }… ## Backup -backup-written-note = backup written to { $path } +backup-written-note = Backup written to { $path } ## Drafts -draft-saved-note = draft saved +draft-saved-note = Draft saved ## Log out -logged-out-note = logged out. Create a new identity or restore a seed. +logged-out-note = Signed out. Create a new identity or restore a seed. ## Onboarding -identity-created-note = Identity created. Write the seed down; it is the only secret. +identity-created-note = Identity created. Write the seed down. It's the only secret. seed-restored-note = Seed restored. Bind a username or recall an address. ## Signup -signup-enter-host-error = enter the server host first -signup-enter-user-host-error = enter user and host +signup-enter-host-error = Enter the server host first. +signup-enter-user-host-error = Enter the user and host. ## Compose -compose-enter-recipient-error = enter a recipient -compose-header-row-error = header { $index }: { $reason } -reply-no-address-error = this sender left no address to reply to +compose-enter-recipient-error = Enter a recipient. +compose-header-row-error = Header { $index }: { $reason } +reply-no-address-error = This sender left no address to reply to. reply-subject-prefix = Re: { $subject } -address-invalid-error = that address does not parse +address-invalid-error = That address isn't in the right format. ## Contacts -contacts-reply-address-invalid-error = the sender's reply address does not parse -contacts-sender-key-invalid-error = the sender's key does not parse -contacts-accept-no-address-error = this sender left no address to accept -contacts-block-no-address-error = this sender left no address to block +contacts-reply-address-invalid-error = The sender's reply address isn't in the right format. +contacts-sender-key-invalid-error = The sender's key isn't in the right format. +contacts-accept-no-address-error = This sender left no address to accept. +contacts-block-no-address-error = This sender left no address to block. ## Common — short words reused verbatim across several buttons/dialogs @@ -153,7 +153,7 @@ mail-meta-line = { $kept -> [yes] { $label } { $from } · { $time } UTC · id { $id }… · a server copy still exists } mail-no-subject = (no subject) -mail-no-reply-address = no reply address: cannot accept or block +mail-no-reply-address = no reply address: can't accept or block contacts-empty-hint = no contacts ## Mail list — empty-folder messages, and the own-identity detail @@ -161,11 +161,11 @@ contacts-empty-hint = no contacts mail-inbox-empty-title = Inbox is empty mail-inbox-empty-description = Fetch to check the mailbox. mail-requests-empty-title = No requests -mail-requests-empty-description = Mail from senders you have not accepted yet arrives here. +mail-requests-empty-description = Mail from senders you haven't accepted yet arrives here. mail-sent-empty-title = Nothing sent yet mail-sent-empty-description = Messages you send keep a sealed copy here. mail-drafts-empty-title = No drafts -mail-drafts-empty-description = A compose closed from the sidebar is kept here. +mail-drafts-empty-description = Closing a compose from the sidebar keeps it here. own-identity-meta = you · rotation { $rotations } contacts-pin-button-fetched = Pin this key contacts-pin-button-unfetched = Pin server @@ -224,7 +224,7 @@ settings-field-key = Key settings-field-fingerprint = Fingerprint settings-field-uri = URI property-row-copy-tooltip = Copy the { $field } -settings-recovery-secret-title = Recovery Secret +settings-recovery-secret-title = Recovery secret settings-secret-reveal-tooltip = Reveal the recovery secret settings-secret-hide-tooltip = Hide the recovery secret settings-secret-copy-tooltip = Copy the recovery secret @@ -232,24 +232,24 @@ settings-secret-copy-tooltip = Copy the recovery secret ## Settings — Server tab settings-field-host = Host -settings-field-public-key = Public Key +settings-field-public-key = Public key settings-public-key-not-pinned = not pinned yet server-connection-title = Connection server-timeout-title = Timeout server-timeout-subtitle = Seconds before a network call gives up server-fetching-title = Fetching server-leave-mail-title = Leave mail on server -server-leave-mail-subtitle = Keep a copy on the server after fetching, so another client can fetch it too. When this is enabled, deleting a message removes it from this client and the server. +server-leave-mail-subtitle = Keep a copy on the server after fetching, so you can fetch it again from another app or device. When this is on, deleting a message removes it here and on the server. ## Settings — Backup tab -backup-page-description = One file holding your mail, contacts and server info for moving to another client, or for keeping what the server no longer has. It is sealed to this identity and deliberately leaves the secret itself out. +backup-page-description = One file with your mail, contacts, and server info, for moving to another app or keeping what the server no longer has. It's sealed to this identity and never includes the secret itself. backup-export-title = Export backup-export-subtitle = Write a backup file backup-import-title = Import backup-import-subtitle = Restore from a backup file -backup-export-dialog-title = Export Backup -backup-import-dialog-title = Import Backup +backup-export-dialog-title = Export backup +backup-import-dialog-title = Import backup ## Settings — Advanced tab @@ -257,13 +257,13 @@ advanced-rotations-title = Rotations advanced-rotations-description = Issues a fresh key from your secret with a signed certificate proving it replaces this one. Contacts accept the change from that chain, and the old key stays readable. Rotation is not revocation. advanced-rotations-completed = Completed advanced-rotate-button = Rotate identity -advanced-first-contact-title = First Contact -advanced-first-contact-description = A recipient who is not a contact yet, and whose address carries no key, has to be looked up on their own server. That answer is only as good as the server: one with no pinned key can return a key of its own and read what you send. +advanced-first-contact-title = First contact +advanced-first-contact-description = A recipient who isn't a contact yet, and whose address carries no key, has to be looked up on their own server. That answer is only as good as the server: one with no pinned key can return a key of its own and read what you send. advanced-strict-pinning-title = Require a pinned server -advanced-strict-pinning-subtitle = Stop such a send and offer to pin the server's key first, so it can be checked against what the operator published. With this off, the key is taken on trust and the send is only reported as unverified afterwards. -advanced-logout-title = Log Out -advanced-logout-description = Removes this identity from this client entirely: the secret, pins, contacts and every cached message. Without a backup of the secret there is no way back in. Mail already fetched here may have no other copy anywhere, unless "leave mail on server" was on. Whatever is still on the server comes back on the first fetch after logging back in. -advanced-logout-button = Log out and delete all data +advanced-strict-pinning-subtitle = Stop that send and offer to pin the server's key first, so you can check it against what the operator published. With this off, the key's taken on trust, and the send is only reported as unverified afterwards. +advanced-logout-title = Sign out +advanced-logout-description = Removes this identity from this app entirely: the secret, pins, contacts, and every cached message. Without a backup of the secret, you can't get back in. Mail already fetched here may have no other copy anywhere, unless "Leave mail on server" was on. Whatever's still on the server comes back on the first fetch after you sign back in. +advanced-logout-button = Sign out and delete all data ## Onboarding ## @@ -272,12 +272,12 @@ advanced-logout-button = Log out and delete all data onboard-tagline = smolmail: one seed, sealed mail, five operations onboard-create-button = Create a new identity -onboard-restore-button = Restore existing identity from seed +onboard-restore-button = Restore an existing identity from a seed onboard-created-title = Write this seed down -onboard-created-description = It is the only secret, and it is shown once. +onboard-created-description = It's the only secret, and it's shown once. onboard-saved-button = I saved it onboard-restore-title = Restore from a seed -onboard-seed-entry-title = Seed — 32 bytes, base32 or hex +onboard-seed-entry-title = Seed: 32 bytes, base32 or hex onboard-restore-go-button = Restore ## Signup @@ -290,14 +290,14 @@ signup-account-title = Choose your address signup-mode-new-label = Create a new address signup-mode-existing-label = I already have this address signup-user-label = User -signup-invite-label = Invite token (if required by the server) +signup-invite-label = Invite token (if the server requires one) signup-register-button = Register signup-recall-button = Restore access ## Compose — the inline pin card shown after a blocked send -compose-pin-title = { $host } is not pinned -compose-pin-body = { $address } is not a contact yet, so carrier would have to ask this server for their key — and a server with no pinned key can answer with one of its own and read the message. +compose-pin-title = { $host } isn't pinned +compose-pin-body = { $address } isn't a contact yet, so carrier would have to ask this server for its key. A server with no pinned key can answer with one of its own, then read the message. compose-pin-button-fetch = Fetch their server's key compose-pin-button-send = Pin and send @@ -305,21 +305,21 @@ compose-pin-button-send = Pin and send delete-dialog-title = Delete this message? delete-dialog-body-kept = Deleting it here leaves the server's copy in place. Deleting it everywhere asks the server to drop that copy too. -delete-dialog-body-gone = The sealed copy in the local store is removed. -delete-dialog-everywhere-button = Delete Everywhere +delete-dialog-body-gone = This removes the only copy, which is sealed and stored on this device. +delete-dialog-everywhere-button = Delete everywhere rotate-dialog-title = Rotate the identity? -reset-dialog-title = Log out and delete all data? +reset-dialog-title = Sign out and delete all data? # `$list` is the sender's own frontmatter rows, already typed by a human # and reproduced verbatim — not translatable prose itself, just data # interpolated into this one sentence. reply-dialog-title = Carry the sender's fields into the reply? -reply-dialog-body = This message carries its own frontmatter:{"\u000A"}{"\u000A"}{ $list }{"\u000A"}{"\u000A"}Reply with copies of these fields, or start with none. The fields stay editable either way. -reply-dialog-cancel-button = Cancel Reply -reply-dialog-without-button = Reply Without -reply-dialog-copy-button = Copy Fields +reply-dialog-body = This message has its own headers:{"\u000A"}{"\u000A"}{ $list }{"\u000A"}{"\u000A"}Reply with copies of these fields, or start with none. The fields stay editable either way. +reply-dialog-cancel-button = Cancel reply +reply-dialog-without-button = Reply without +reply-dialog-copy-button = Copy fields key-change-dialog-title = Replace this contact's key? -key-change-dialog-body = { $address } is already on file with a different key.{"\u000A"}{"\u000A"}known { $known_fingerprint }{"\u000A"}new { $offered_fingerprint }{"\u000A"}{"\u000A"}The address you were given carries the new key and would replace the stored one. If this contact did not hand it to you themselves, stop: a key swapped in on the way reads everything you send them. -key-change-dialog-replace-button = Replace Key +key-change-dialog-body = { $address } is already on file with a different key.{"\u000A"}{"\u000A"}known { $known_fingerprint }{"\u000A"}new { $offered_fingerprint }{"\u000A"}{"\u000A"}The address you were given carries the new key and would replace the one on file. If this contact didn't hand it to you themselves, stop: a key swapped in on the way reads everything you send them. +key-change-dialog-replace-button = Replace key ## Status bar ## @@ -337,7 +337,7 @@ status-fetching-progress = fetching… { $count } in inbox ## First contact / server trust -first-contact-blocked-error = { $address } is not a contact yet and { $host } is not pinned — pin their server's key to send. +first-contact-blocked-error = { $address } isn't a contact yet, and { $host } isn't pinned. Pin their server's key to send. server-key-offered-note = The server presented this key. Pin it only if the fingerprint matches what the operator published. server-key-already-pinned-note = This server's key is already pinned. -server-key-pinned-note = server key pinned +server-key-pinned-note = Server key pinned