docs: rewrite catalogue copy to the Microsoft Writing Style Guide

This commit is contained in:
randogoth 2026-10-08 22:27:25 +03:00
parent 57e75af3ac
commit 06952cd20e

View file

@ -3,33 +3,33 @@
## Seed parsing — restoring an identity from a pasted seed ## Seed parsing — restoring an identity from a pasted seed
seed-bad-hex = bad hex seed-bad-hex = That's not valid hex. Check for typos or extra characters.
seed-wrong-length = a seed is 32 bytes seed-wrong-length = A seed is 32 bytes. Check you copied the whole thing.
## Local files — errors reading/writing the key and its sidecars ## Local files — errors reading/writing the key and its sidecars
file-error = { $path }: { $reason } 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 — validating a typed `Key: value` header row
compose-header-colon-missing = a header is `Key: value` — the colon is missing compose-header-colon-missing = Headers need a colon, like `Key: value`.
compose-header-reserved-key = { $key } is attached by the client and cannot be set compose-header-reserved-key = { $key } is set automatically and can't be changed.
compose-header-invalid-key = keys are 1-64 characters of letters, digits and dashes compose-header-invalid-key = Keys can be 1 to 64 letters, digits, and dashes.
compose-header-value-multiline = a value must stay on one line compose-header-value-multiline = Values need to stay on one line.
compose-header-duplicate-key = { $key } is set twice compose-header-duplicate-key = { $key } is set twice. Remove one of them.
compose-headers-too-large = the headers exceed the frontmatter budget compose-headers-too-large = Your headers take up too much space. Remove some and try again.
compose-headers-too-many = too many headers compose-headers-too-many = You have too many headers. Remove some and try again.
## Contacts — importing a smol:// address ## 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 — opening a message by id
mail-message-id-wrong-length = message ids are 64 hex characters mail-message-id-wrong-length = Message IDs are 64 hex characters.
mail-message-id-wrong-bytes = message ids are 32 bytes mail-message-id-wrong-bytes = Message IDs are 32 bytes.
mail-message-not-found = message not found mail-message-not-found = Message not found.
## Fetch — the status note after a fetch completes ## 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 ## Built in `spawn_op` (src/view.rs) rather than ops.rs, since that is
## where each `PendingOp` result is assembled for the worker thread. ## where each `PendingOp` result is assembled for the worker thread.
status-registered-note = registered status-registered-note = Registered
status-restored-note = restored at rotation { $index } status-restored-note = Restored at rotation { $index }
status-deleted-note = deleted status-deleted-note = Deleted
status-accepted-note = accepted { $address } status-accepted-note = Accepted { $address }
status-blocked-note = blocked { $address } status-blocked-note = Blocked { $address }
status-not-blocked-note = { $address } was not blocked status-not-blocked-note = { $address } was not blocked
status-imported-note = imported { $address } (verified) status-imported-note = Imported { $address } (verified)
status-rotated-note = rotated to index { $index }; new key { $key_prefix }… status-rotated-note = Rotated to index { $index }; new key { $key_prefix }…
## Backup ## Backup
backup-written-note = backup written to { $path } backup-written-note = Backup written to { $path }
## Drafts ## Drafts
draft-saved-note = draft saved draft-saved-note = Draft saved
## Log out ## 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 ## 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. seed-restored-note = Seed restored. Bind a username or recall an address.
## Signup ## Signup
signup-enter-host-error = enter the server host first signup-enter-host-error = Enter the server host first.
signup-enter-user-host-error = enter user and host signup-enter-user-host-error = Enter the user and host.
## Compose ## Compose
compose-enter-recipient-error = enter a recipient compose-enter-recipient-error = Enter a recipient.
compose-header-row-error = header { $index }: { $reason } compose-header-row-error = Header { $index }: { $reason }
reply-no-address-error = this sender left no address to reply to reply-no-address-error = This sender left no address to reply to.
reply-subject-prefix = Re: { $subject } 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
contacts-reply-address-invalid-error = the sender's reply address does not parse 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 does not parse 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-accept-no-address-error = This sender left no address to accept.
contacts-block-no-address-error = this sender left no address to block contacts-block-no-address-error = This sender left no address to block.
## Common — short words reused verbatim across several buttons/dialogs ## 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 [yes] { $label } { $from } · { $time } UTC · id { $id }… · a server copy still exists
} }
mail-no-subject = (no subject) 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 contacts-empty-hint = no contacts
## Mail list — empty-folder messages, and the own-identity detail ## 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-title = Inbox is empty
mail-inbox-empty-description = Fetch to check the mailbox. mail-inbox-empty-description = Fetch to check the mailbox.
mail-requests-empty-title = No requests 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-title = Nothing sent yet
mail-sent-empty-description = Messages you send keep a sealed copy here. mail-sent-empty-description = Messages you send keep a sealed copy here.
mail-drafts-empty-title = No drafts 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 } own-identity-meta = you · rotation { $rotations }
contacts-pin-button-fetched = Pin this key contacts-pin-button-fetched = Pin this key
contacts-pin-button-unfetched = Pin server contacts-pin-button-unfetched = Pin server
@ -224,7 +224,7 @@ settings-field-key = Key
settings-field-fingerprint = Fingerprint settings-field-fingerprint = Fingerprint
settings-field-uri = URI settings-field-uri = URI
property-row-copy-tooltip = Copy the { $field } 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-reveal-tooltip = Reveal the recovery secret
settings-secret-hide-tooltip = Hide the recovery secret settings-secret-hide-tooltip = Hide the recovery secret
settings-secret-copy-tooltip = Copy 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 — Server tab
settings-field-host = Host settings-field-host = Host
settings-field-public-key = Public Key settings-field-public-key = Public key
settings-public-key-not-pinned = not pinned yet settings-public-key-not-pinned = not pinned yet
server-connection-title = Connection server-connection-title = Connection
server-timeout-title = Timeout server-timeout-title = Timeout
server-timeout-subtitle = Seconds before a network call gives up server-timeout-subtitle = Seconds before a network call gives up
server-fetching-title = Fetching server-fetching-title = Fetching
server-leave-mail-title = Leave mail on server 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 ## 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-title = Export
backup-export-subtitle = Write a backup file backup-export-subtitle = Write a backup file
backup-import-title = Import backup-import-title = Import
backup-import-subtitle = Restore from a backup file backup-import-subtitle = Restore from a backup file
backup-export-dialog-title = Export Backup backup-export-dialog-title = Export backup
backup-import-dialog-title = Import Backup backup-import-dialog-title = Import backup
## Settings — Advanced tab ## 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-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-rotations-completed = Completed
advanced-rotate-button = Rotate identity advanced-rotate-button = Rotate identity
advanced-first-contact-title = First Contact 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-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-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-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 = Log Out advanced-logout-title = Sign 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-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 = Log out and delete all data advanced-logout-button = Sign out and delete all data
## Onboarding ## Onboarding
## ##
@ -272,12 +272,12 @@ advanced-logout-button = Log out and delete all data
onboard-tagline = smolmail: one seed, sealed mail, five operations onboard-tagline = smolmail: one seed, sealed mail, five operations
onboard-create-button = Create a new identity 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-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-saved-button = I saved it
onboard-restore-title = Restore from a seed 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 onboard-restore-go-button = Restore
## Signup ## Signup
@ -290,14 +290,14 @@ signup-account-title = Choose your address
signup-mode-new-label = Create a new address signup-mode-new-label = Create a new address
signup-mode-existing-label = I already have this address signup-mode-existing-label = I already have this address
signup-user-label = User 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-register-button = Register
signup-recall-button = Restore access signup-recall-button = Restore access
## Compose — the inline pin card shown after a blocked send ## Compose — the inline pin card shown after a blocked send
compose-pin-title = { $host } is not pinned compose-pin-title = { $host } isn't 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-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-fetch = Fetch their server's key
compose-pin-button-send = Pin and send 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-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-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-body-gone = This removes the only copy, which is sealed and stored on this device.
delete-dialog-everywhere-button = Delete Everywhere delete-dialog-everywhere-button = Delete everywhere
rotate-dialog-title = Rotate the identity? 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 # `$list` is the sender's own frontmatter rows, already typed by a human
# and reproduced verbatim — not translatable prose itself, just data # and reproduced verbatim — not translatable prose itself, just data
# interpolated into this one sentence. # interpolated into this one sentence.
reply-dialog-title = Carry the sender's fields into the reply? 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-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-cancel-button = Cancel reply
reply-dialog-without-button = Reply Without reply-dialog-without-button = Reply without
reply-dialog-copy-button = Copy Fields reply-dialog-copy-button = Copy fields
key-change-dialog-title = Replace this contact's key? 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-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 key-change-dialog-replace-button = Replace key
## Status bar ## Status bar
## ##
@ -337,7 +337,7 @@ status-fetching-progress = fetching… { $count } in inbox
## First contact / server trust ## 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-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-already-pinned-note = This server's key is already pinned.
server-key-pinned-note = server key pinned server-key-pinned-note = Server key pinned