Files
pl_mail/translations/messages.en_PI.yaml
T
Paul LütznerandClaude Opus 5 2bfc30ad8d Offer to summarise the whole conversation, and send a context window with it
The card now says when a summary was written from part of a thread, and the way
out sits beside the notice that explains why it is there.

num_ctx IS THE WHOLE MECHANISM. This client has never sent one — four docblocks
across the codebase size their budgets around "OllamaClient sends no num_ctx, so
the model's default decides what survives", and that default is 4096 tokens with
everything past it dropped silently. So "send the whole conversation" without
also asking for somewhere to put it would send more, have it truncated at a
point nobody chose, and spend a much longer wait to produce no more than before.
It is sent only when a caller asks, so every existing call keeps its shape.

FULL IS STILL BOUNDED, and that is the honest part rather than a caveat. A
context window is memory: Ollama allocates the KV cache for the whole of it
whether the prompt fills it or not, so an unbounded "send everything" lets one
absurd thread ask a modest host for an allocation it cannot make — and a failed
allocation costs the reader the entire wait and produces nothing, where a
clipped transcript produces a summary and a sentence saying it is partial. The
ceiling is 96,000 characters against a 32,768-token window, twelve times the
ordinary budget. Past it the run is full AND partial, and the button withdraws
rather than inviting the same wait twice.

The window is SIZED to the transcript rather than fixed, since it is reserved
whole either way and a two-message thread should not cost what a hundred-message
one does. Sized at 3.0 characters per token, deliberately below the 3.55
measured on real German business mail: this divides to get tokens, so erring low
overestimates the need and asks for slightly more room than strictly required.
Erring the other way would silently truncate inside the one feature whose entire
purpose is not to.

thread_summary gains full_context, and it cannot be derived like the rest of the
card. "Is this thread too long to send whole" is a question about the thread and
comes free from the transcript the freshness check already builds. "Did THIS
summary see all of it" is a question about the row, and the thread cannot answer
it — a thread that is still too long is still too long after somebody presses
the button and gets a summary that did see everything. Without the column that
press would appear to do nothing: new text, same notice, much longer wait.

A press and not a setting, deliberately. It is a fair thing to spend once on a
thread somebody cares about and a poor default for every summary in a mailbox,
so the cost is written into the label and nothing is remembered.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-03 12:43:18 +02:00

3085 lines
142 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
account:
add_title: Sign on a new crew member
added: Crew member signed on, arr!
disabled: Ship's papers revoked
enabled: Ship's papers restored
form:
email: Parrot address
encryption: Cipher
imap:
heading: Incomin' — IMAP
host: Port o' call
password: Secret word
port: Berth number
preset:
label: Harbourmaster
placeholder: Pick yer harbour…
smtp:
heading: Outgoin' — SMTP
host: Port o' call
username: Name ye go by
oauth:
calendar_declined: The account be aboard, but ye never granted the almanac — so its calendars will not sync. Sign in again and tick the calendar box when Google asks.
google: Sail on with Google
info: Sign on with yer harbourmaster — no secret word be kept aboard.
microsoft: Sail on with Microsoft
primary_set: A new flagship be named
removed: Crew member put ashore
tabs:
imap: IMAP / SMTP
oauth: OAuth
test:
button: Test the riggin'
imap: IMAP
smtp: SMTP
updated: Ship's papers amended
admin:
accounts:
account: 'Crew member'
heading: 'Th'' crew'
last_activity: 'Last sighted'
messages: 'Bottles'
threads: 'Yarns'
ago: 'ago'
ai:
backfill:
chip:
complete: 'Done'
failed: 'Sunk'
idle: 'Becalmed'
paused: 'Hove to'
running: 'Under way'
stalled: 'Adrift'
eta: 'About %duration%, at that pace'
eta_label: 'Left'
eta_settling: 'Too early to reckon'
failed_body: "The berth answered nowt several times o'er, so the pass stopped. Nowt were lost: carry on picks up where she got to."
failures: "%count% letters the oracle could not answer for. The next pass takes 'em up."
failures_label: 'Skipped'
finished_label: 'Made port'
heading: 'The search charts'
intro: "Search by meanin' sees only charted mail. This walks ev'ry mailbox once; after that, new letters be charted soon after someone searches, an' once a night for safety."
last_activity_label: 'Last sighted'
model_label: 'Charted with'
no_mail: 'No letters to chart yet.'
outcome:
already_running: 'A pass be already under way.'
no_mailboxes: 'There be no mailboxes to walk.'
not_running: "Nowt be runnin'."
nothing_to_resume: 'There be nowt left to take up.'
resumes_itself: 'She comes back by herself.'
search_off: "Search by meanin' be off, so there be nowt to chart."
pause: 'Heave to'
paused:
feature_off: "Stopped 'cause search by meanin' were switched off."
host_unreachable: "Waitin' for the berth to answer again. She tries again herself."
interactive: "Standin' aside while the Scrivener be in use. She carries on herself a moment after."
operator: 'Hove to. She picks up where she stopped.'
progress: "%embedded% o' %eligible% letters charted"
rate: "%rate% letters a second, o'er the last five minutes"
rate_label: 'Pace'
resume: 'Carry on'
search_off: "Search by meanin' be off, so there be nowt to chart. Switch her on above first."
stalled_body: "Nowt has moved a while — the hand that were doin' it be likely gone. Carry on takes her up where she stopped."
start: 'Set out'
started_label: 'Set out'
tuning: "%batch% letters a batch, %delay% s between 'em, an' she stands aside %cooldown% s after anyone consults the Scrivener."
duration:
hours: '%count% h'
minutes: '%count% min'
seconds: '%count% s'
embedding_preset:
heading: "Measured settin's — one click sets model, orders an' threshold as one:"
all-minilm: "Small an' swift: 45 MB an' 384 dimensions, for a vessel short on memory. English first, so the weakest here on German mail. Wants no orders."
nomic-embed-text: "What plMail once favoured, kept for them already sailin' with it. Half-supported, honestly: it wants its documents marked as well as its queries, an' plMail marks only the queries — measured, that alone shifts nowt."
qwen3-embedding_0_6b: "The default, an' the one to take unless ye have cause otherwise. Speaks many tongues, which counts more than any benchmark for a hold that be not all one language, an' the only one here to strike perfect precision in testin'. 639 MB."
field:
base_url: "Oracle's berth"
base_url_help: "Where yer Ollama box lies on the network, port an' all."
base_url_invalid: 'That must begin with http:// or https://.'
categorisation: 'Sort mail into holds'
categorisation_help: "Runs on ev'ry message that arrives. Only breaks a tie — the ordinary rules speak first."
chat_keep_alive: "Keep the scrivener aboard for"
chat_keep_alive_help: "5m, 30m, 4h, or a plain count o' seconds. -1 keeps it aboard for good, 0 puts it ashore after ev'ry errand. Longer means the first reply comes quicker — but the berth stays taken the whole while. Leave it empty to sail by whatever the host itself says."
chat_model: 'Scrivener model'
chat_model_help: "For replies, summaries an' sortin'. Somethin' instruction-tuned."
embedding_keep_alive: "Keep the diviner aboard for"
embedding_keep_alive_help: "Same shape as above. This one be small an' called for constantly, so -1 — aboard for good — mostly costs barely a crumb an' spares a wait on ev'ry search; worth settin' if the host has the hold to spare. Leave it empty to sail by whatever the host itself says."
embedding_model: "Divinin' model"
embedding_model_help: "Turns mail into vectors so the search finds meanin', not words."
search_query_instruction: "Orders for the query"
search_query_instruction_help: "Set afore the search text ere it be turned into a vector. Most models want one an' answer poorly without; leave it empty for them as don't. Only searches be touched, so changin' it never means readin' all yer mail again."
semantic_min_similarity: "Least likeness"
semantic_min_similarity_help: "How near a match must be, from 0 to 1. Every model keeps its own scale, so this belongs with the model above: too high finds nowt, too low hauls up the whole hold."
enabled: 'Consult an oracle'
enabled_help: "Off by default. While this be off, all below be ignored."
search: "Search by meanin'"
search_help: "Adds hits that match what ye meant. The ordinary search be untouched."
summary: 'Yarn-in-short'
summary_help: "Uses th' scrivenin' oracle. A cold askin' takes near a minute an' holds th' engine th' whole while."
token: 'Token'
token_help: "Only if ye put a guard in front o' the box."
token_help_set: 'A token be on file. Leave it blank to keep it.'
writing_help: 'Help me write'
writing_help_help: "Offers drafts an' rewrites at the writin' desk, when ye ask."
heading: 'Oracle'
intro: "plMail can consult an oracle ye run yerself. Nowt leaves yer waters, nowt starts until ye say so, an' while this be off the mail works exactly as it does now."
perf:
by_model: 'By model'
chip:
cold: 'Nowt aboard'
off: 'Off'
split: 'Part ashore on the CPU'
unreachable: 'Nowt answers'
warm: 'Aboard'
feature:
thread_summary: 'Yarns-in-short'
categorise: "Sortin' mail"
mail_index: "Chartin' mail"
search_query: 'Search'
writing_help: 'Scrivener'
heading: "The oracle's berth"
latest: "Last askin': %feature% on %model%"
model:
chat: 'Scrivener model'
embedding: "Divinin' model"
missing: 'not at this berth'
missing_body: "A model named here be not aboard the berth. Haul her in, or name one that be there — 'til then ev'ry askin' founders."
none: 'not set'
resident: 'aboard'
no_history: "Nowt has asked the oracle in this stretch. The numbers come once somethin' does."
no_host: 'No berth be set yet. Write her address above.'
off_body: 'The oracle sleeps, so nowt be asked of her. Nowt here be amiss.'
resident:
cold_cost: 'Last time that took about %duration%.'
full: '%size% aboard, all on the GPU.'
heading: 'Aboard right now'
none: "No model be loaded. The next askin' hauls one aboard."
split: "%vram% o' %size% on the GPU — %percent% %. T'other %cpu% sits on the CPU."
split_body: "While she be split, ev'rythin' she does be many times slower. Free some GPU room, or take a smaller model, an' load her afresh."
unloading: "Goin' ashore now."
unloads_in: "Goes ashore in %duration% unless somethin' asks for her."
retrying: "Lookin' again ev'ry few seconds."
table:
calls: "Askin's"
cold: 'Cold hauls'
errors: 'Founders'
feature: 'Work'
gen: 'Tokens/s (p50 / p95)'
hint: "p50 be the middlin' askin' an' p95 the slow one: half were quicker than p50, one in twenty slower than p95. A cold haul be an askin' that waited while the model came off the disk."
load: 'Haul'
throughput:
heading: "What the askin's have cost"
tokens_per_second: '%rate% tokens a second'
unreachable_body: 'Nowt answered at %host%. plMail sails on; whatever wants the oracle simply does nowt.'
version: 'Ollama %version%'
window:
day: '24 hours'
hour: 'Hour'
week: '7 days'
probe:
missing_model: "That berth answered, but holds no: %models%. Haul 'em aboard there first."
no_host: 'Write an address first.'
ok: "That berth answered, an' holds %count% models."
models: 'Show the %count% models it holds'
status: 'That berth answered with HTTP %status%.'
unreachable: 'Nowt answered at that berth. (%error%)'
prompt:
categorise:
hint: "Runs on arrivin' mail no rule knew. It must ask for ONE WORD out o' primary, social, promotions, updates, forums — plMail matches the answer against just those five, an' aught else leaves the letter where the ordinary rules laid it, sayin' nowt."
label: 'Sort mail into holds'
formal:
hint: 'Used when someone asks for the same message in a statelier tone.'
label: 'Make it statelier'
language:
hint: "Hung on the end o' ev'ry order above, save the sortin'. 'Tis what makes a German letter get a German answer — without it the oracle follows the English these orders be writ in, an' proofreadin' a German draft turns it English. Ye may reword her; ye cannot cast her overboard. Empty the box an' the shipped words come back."
label: "Answer in the tongue o' the letter"
proofread:
hint: "Used when someone asks for spellin' an' grammar mended an' nowt else. Keep \"change nowt else\" in it — without that the oracle rewrites lines that were already sound."
label: 'Proofread'
reply:
hint: 'Used by the Scrivener when someone asks for a first draft.'
label: 'Draft a reply'
shorten:
hint: 'Used when someone asks for the same message in fewer words.'
label: 'Trim the sail'
summary:
hint: "Used by the yarn button in the readin' pane. Change this an' ev'ry yarn already writ be stale — nowt goes overboard, they be writ anew next time someone asks."
label: 'Yarn-in-short'
prompts:
changed: '%count% rewritten'
heading: "The oracle's standin' orders"
intro: "These be the orders plMail gives the oracle. Leave a box empty an' the shipped words stand — that way a later update can still better 'em. What ye write replaces the shipped words entire."
reset: 'Back to the shipped words'
save: 'Save the orders'
saved: 'Saved. New yarns use these; yarns already writ be stale now.'
show_shipped: 'Show the shipped words'
untouched: 'As shipped'
save: 'Save'
saved: 'Saved.'
status:
incomplete: 'Wants a berth'
off: 'Off'
on: 'On'
paused: 'Becalmed'
test: 'Test'
warmup:
button: 'Rouse it now'
failed: "Nothin' came back. Try again."
loaded_ms: 'Model roused in %count% ms — it were already aboard.'
loaded_seconds: 'Model roused in %count% s.'
loading: "Rousin' the model…"
model_missing: "That host carries no model named “%model%”. Haul it aboard there, or name one that be. (%error%)"
no_host: "Name a model host first, an' stow it."
no_model: "Name a scrivener model first, an' stow it."
status: 'The host refused with HTTP %status%. (%error%)'
timeout: "Four minutes an' the host were still haulin', so plMail stopped waitin'. It may yet finish — like as not the model be too heavy for the hold it has."
unexpected: "Somethin' went wrong afore the host could answer. (%error%)"
unreachable: "Nothin' answered at that address. (%error%)"
db:
active:
empty: 'No queries afoot right now.'
heading: 'Live doings'
cache_hit: 'Cache booty'
col:
calls: 'Hails'
hit: 'Cache'
max: 'Worst ms'
mean: 'Middlin'' ms'
query: 'Query'
rows: 'Rows'
total: 'All told'
connections: 'Grapplin'' lines'
deadlocks: 'Standoffs'
extension_missing: 'pg_stat_statements ain''t hoisted — sluggish-query tallies be unavailable. Hoist it once:'
extension_enable: "Hoist it now"
extension_enable_hint: "Statistics start when th' extension be created, so earlier queries won't appear."
extension_enable_failed: "Could not hoist th' extension - th' database role not be allowed t' create it."
heavy_total:
heading: 'Heaviest queries (by total time)'
hint: 'All the hours across every hail — where th'' database squanders its watch.'
reset: 'Scuttle the tally'
reset_confirm: 'Scuttle every query tally ye have gathered?'
rollback_ratio: 'Comin''-about ratio'
slow_mean:
empty: 'No queries above the waterline yet.'
heading: 'Slowest queries (by middlin'' time)'
hint: 'Queries averagin'' ≥ 5ms, this here database.'
failed:
delete: 'Feed to the fishes'
delete_confirm: 'Send this lost bottle to Davy Jones for good?'
empty: 'The wreck hold be empty. 🎉'
heading: 'Bottles lost at sea'
purge: 'Sink the lot'
purge_confirm: 'Send every lost bottle to Davy Jones? There be no haulin'' them back.'
retry: 'Try again'
retry_all: 'Try the lot again'
retry_all_confirm: 'Cast every lost bottle back out to sea?'
insight_reports:
clear_handled:
button: 'Sink th'' settled reports'
confirm: 'Sink %count% report(s) already struck off? Th'' copies o'' th'' letters go down with ''em.'
heading: 'Clear th'' settled pile'
lead: '%count% report(s) ye have struck off. Whatever still waits stays put.'
delete: 'Sink this report'
delete_confirm: 'Sink this report? Th'' copy o'' th'' letter goes down with it.'
empty: 'Naught has been reported.'
empty_hint: 'Reports wash up here when a hand tells plMail a letter should have yielded a findin'' an'' did not.'
export:
heading: 'Haul it ashore'
intro: 'One JSON chest holdin'' every copy: who sent it, th'' heading, when it made port, th'' text, an'' what th'' hand reportin'' it expected to see. That be what a new spyglass gets built from.'
not_handled: 'Haulin'' it ashore changes naught here. A report be settled when ye say so, not when it has been copied.'
scope: 'What to load aboard'
scope_all: 'Every report, settled or not'
scope_pending: 'Only what still waits'
submit: 'Haul it down'
warning: 'This chest holds other hands'' letters. Stow it where ye''d stow th'' mailbag itself.'
handled: 'Settled'
handled_at: 'Struck off %when%'
heading: 'Reported letters'
mark_handled: 'Strike it off'
no_body: 'This report carries no text at all.'
no_sender: 'no sender logged'
no_subject: '(no heading)'
pending: '{0}Naught waitin''|{1}1 waitin''|]1,Inf[ %count% waitin'''
pending_badge: 'Waitin'''
received_at: 'Letter made port %when%'
reported_by: 'Reported by %who%'
reporter_gone: 'a hand put ashore'
integrations:
base_url_per_user: 'Every hand names their own port.'
base_url_pinned: 'set fast for all hands'
clear_secret: 'Throw the stored secret overboard'
configure: 'Set the rigging'
connected_users: '%count% hands moored'
connected_users_one: '1 hand moored'
copy_redirect_uri: 'Copy th'' return bearing'
inherit_toggle: 'Use these keys for th'' cargo holds an'' all'
inherit_toggle_help: 'One Google charter covers Drive an'' Photos; one Microsoft charter covers OneDrive. Leave it set an'' there be nothin'' more to rig for them.'
field:
base_url: 'Port address'
base_url_help_saas: 'Leave it empty. This port never moves.'
base_url_help_selfhosted: 'Optional. Set it to moor every hand at one port; leave it empty and each names their own.'
client_id: 'Client ID'
client_secret: 'Client secret'
enabled: 'Offer this port to th'' crew'
enabled_help: 'Struck down, none may moor there and it stays hidden from th'' writin'' desk and th'' stowin'' menus.'
pubsub_topic: 'Pub/Sub topic'
pubsub_topic_help: 'Full topic name Gmail cries changes into. Without it, crew stay on the lookout instead o'' bein'' hailed. Leave empty to fall back to GMAIL_PUBSUB_TOPIC.'
push_token: 'Push watchword'
push_token_help: 'Shared watchword Google sends with every Pub/Sub call; th'' webhook turns away any without it. Leave empty to fall back to GMAIL_PUBSUB_VERIFICATION_TOKEN.'
redirect_uri: 'Return bearing'
redirect_uri_help: 'Paste this into th'' harbourmaster''s ledger exactly as writ. Change it later and every moored line snaps.'
tenant: 'Tenant'
tenant_help: 'common for private and company hands, organizations for company only, or a tenant ID to keep it to yer own. Must match th'' app registration''s supported account types.'
inherit: 'Reuse %name% papers'
inherit_help: 'Copies th'' client ID and secret below decks — th'' secret be never shown. It grants no extra passage; add that at th'' harbourmaster as th'' riggin'' steps say.'
inherited: 'Papers copied'
mail:
calendar_heading: 'The almanacs sail under this same charter'
calendar_google: >-
Naught to rig here. Hoist the Google Calendar API for this
project an' add the .../auth/calendar scope to the consent
screen — the crew's almanacs then come aboard with the same
boardin' they already use for mail. Without it, mail sails on
an' the almanacs simply never appear.
calendar_microsoft: >-
Naught to rig here. Add the Calendars.ReadWrite delegated
permission to this app registration — the crew's almanacs then
come aboard with the same boardin' they already use for mail.
Without it, mail sails on an' the almanacs simply never appear.
env_note: 'Leave these empty and GOOGLE_OAUTH_* / MICROSOFT_OAUTH_* from th'' environment take over, so a ship already rigged that way sails on.'
from_env: 'From th'' environment'
google: 'Gmail boardin'''
heading: 'Mail boardin'''
intro: 'Th'' OAuth app hands board through when addin'' a mail account. Google and Microsoft cargo ports may reuse th'' same papers.'
microsoft: 'Microsoft mail boardin'''
saved: 'Mail boardin'' stowed'
intro: 'Ports th'' crew may haul cargo from and stow cargo to. Every port be listed here, even them plMail cannot yet hail.'
not_set: 'Not set'
saved: 'Port settings stowed'
secret_none: 'No secret stored'
secret_stored: 'Stored'
secret_unchanged: 'Leave blank to keep th'' stored secret'
status:
disabled: 'Struck down'
enabled: 'Open'
incomplete: 'Wants papers'
unimplemented: 'Not yet charted'
tutorial:
caldav:
intro: 'CalDAV signs on with a ship''s key per hand, against each hand''s own port — there be naught to register here.'
not_for_cloud_mail: 'Gmail an'' Outlook almanacs come not this way. They ride the parrot sign-in above, an'' want only the almanac right ticked on them papers.'
security: 'Hands should cut a ship''s key rather than hand over their boardin'' word: a ship''s key can be struck on its own an'' works with the two-lock. iCloud an'' Fastmail take naught else.'
step_app_password: 'Each hand cuts a ship''s key aboard their own port — Nextcloud under Settin''s → Security, iCloud at appleid.apple.com, Fastmail under Settings → Password & Security — an'' pastes it into their own almanac settin''s.'
step_base_url: 'Ye may pin the port''s address, say https://cloud.example.com, if every hand here uses the same one.'
step_enable: 'Hoist "Offer this service to users" above.'
step_url: 'The address wanted be the CalDAV one, not the front door: Nextcloud shows it under Calendar → Settings → "Copy primary CalDAV address", an'' it mostly ends in /remote.php/dav. A bare domain serves too — plMail hails it an'' asks where the almanacs be moored.'
dropbox:
intro: 'Dropbox wants an app registered in th'' Dropbox developer console.'
refresh_note: 'Choose th'' scoped access app type and ask for offline access, or th'' line parts after a few hours.'
step_app: 'Create an app at dropbox.com/developers/apps with scoped access to th'' full Dropbox.'
step_paste: 'Copy th'' app key and app secret into th'' fields above.'
step_permissions: 'Under Permissions, hoist files.metadata.read, files.content.read and files.content.write.'
step_redirect: 'Under Settings, add th'' return bearing above to th'' OAuth 2 redirect URIs.'
google:
separate_from_gmail: 'These papers be separate from th'' Gmail ones in yer environment file. Same Cloud project be fine, but th'' consent screen must list th'' extra scopes.'
step_consent: 'Rig th'' OAuth consent screen and add th'' scopes listed below.'
step_credentials: 'Create an OAuth 2.0 Client ID of type Web application.'
step_paste: 'Copy th'' client ID and client secret into th'' fields above.'
step_project: 'Open console.cloud.google.com and pick or create a project.'
step_redirect: 'Add th'' return bearing above to th'' authorised redirect URIs.'
google_drive:
intro: 'Google Drive sails under OAuth, so plMail must be registered with Google afore any hand may moor.'
scopes: 'Scope needed: th'' full drive scope. drive.file be narrower but sees only what plMail itself made, so th'' hold would look empty — and sharin'' lines need write passage to th'' file. It be a restricted scope: Google wants th'' app inspected afore strangers may consent.'
step_api: 'Hoist th'' Google Drive API for th'' project.'
google_photos:
intro: 'Google Photos sails under OAuth with its own API, separate from Drive.'
scope_warning: 'Google battened down th'' Photos readin'' scopes in March 2025. A freshly registered app gets only appcreateddata and sees naught but what plMail hauled up itself — browsin'' an existin'' hold wants photoslibrary.readonly, granted case by case. Stowin'' cargo to Photos works regardless.'
step_api: 'Hoist th'' Photos Library API for th'' project.'
immich:
intro: 'Immich checks papers with a key per hand, so there be nothin'' to register here.'
no_share_links: 'Immich cannot cut a public line for a single picture — only whole albums. Pictures over th'' cargo limit therefore cannot be hauled aboard at all.'
step_base_url: 'Optionally set th'' port address fast, say https://photos.example.com.'
step_enable: 'Hoist "Offer this port to th'' crew" above.'
step_key: 'Every hand mints a key in Immich under Account Settings → API Keys and stows it in their own port settings.'
nextcloud:
intro: 'Nextcloud checks papers with an app password per hand, so there be nothin'' to register here.'
security: 'Hands should mint an app password, not hand over their login password: app passwords be revoked one at a time and sail fine with two-factor.'
step_base_url: 'Optionally set th'' port address fast, say https://cloud.example.com.'
step_enable: 'Hoist "Offer this port to th'' crew" above.'
step_user: 'Every hand mints an app password in Nextcloud under Settings → Security → Devices & sessions and stows it in their own port settings.'
one_drive:
intro: 'OneDrive rides Microsoft Graph, th'' same API as Microsoft mail, but wants Files papers th'' mail registration never granted.'
step_paste: 'Copy th'' application (client) ID and th'' secret value into th'' fields above.'
step_permissions: 'Under API permissions, add th'' delegated Microsoft Graph permissions Files.ReadWrite and offline_access.'
step_redirect: 'Under Authentication, add th'' return bearing above as a Web platform redirect.'
step_register: 'Open th'' Azure portal and register an application under Microsoft Entra ID → App registrations.'
step_secret: 'Under Certificates & secrets, mint a client secret and copy its value at once — it be shown but once.'
tenant_note: 'Use th'' common tenant for personal Microsoft accounts, or yer tenant ID to keep it to yer own crew.'
tutorial_heading: 'Riggin'''
unimplemented_notice: 'plMail cannot hail this port yet. Stow th'' papers now — they be used th'' moment passage opens.'
loading: 'Haulin'' aboard…'
maintenance:
heading: Shipkeepin'
heartbeats_help: 'Sweeps out the marks of crew that went overboard without callin'' out.'
heartbeats_prune: 'Sweep old marks'
heartbeats_title: 'Stale crew marks'
restart: 'Rouse the crew'
restart_confirm: 'Rouse the crew, the timekeeper and the IMAP bosun? They finish the task in hand first.'
restart_help: 'Sends the crew, the timekeeper and the IMAP bosun below so they be signed on afresh. Long-servin'' hands memorise the ship''s charts for their whole watch, so they need this after ye redraw them.'
restart_pending: 'Rousin'' called %seconds%s past — the crew finish the task in hand, then muster back here within a minute or two.'
restart_title: 'Rouse the long-servin'' hands'
run_help: 'Put to the crew, not done here on the spot. Same rounds the timekeeper makes on its own.'
run_title: 'Make the rounds now'
task:
mail_sync: 'Fetch the post'
monitoring_prune: 'Sweep the watch log'
prune_blobs: 'Sweep the hold'
push_renew: 'Renew the parrot pacts'
logs:
all_channels: 'All channels'
capture:
from_env: "as the ship's orders say (%level%)"
hint: "Owt below this be ne'er written in the log at all."
label: 'Keep entries from'
clear: 'Scuttle'
clear_confirm: 'Send the %count% entries matchin'' this filter to Davy Jones?'
copied: 'Stowed'
copy: 'Copy th'' entry'
copy_failed: 'Th'' browser be blockin'' it'
empty: 'Naught scribbled at this depth.'
entries: 'entries'
heading: 'Ship''s log'
newer: 'Fresher'
older: 'Saltier'
page: 'Page'
refresh: 'Refresh'
nav:
ai: Oracle
database: Database
insight_reports: 'Reported letters'
integrations: 'Friendly ports'
logs: Ship's log
system: Ship
users: Th' crew roster
processes:
empty: 'No heartbeats yet — hands report here after their first beat.'
heading: 'Hands on deck'
key: 'Post'
last_beat: 'Last heartbeat'
pid: 'PID'
type: 'Rank'
push:
calendar_domain_verification: >-
Google opens no watch channel 'til the callback domain be verified in
the Cloud project that owns the OAuth client: verify her in Search
Console, then enter her under Domain verification in the Cloud
console. Microsoft asks no such thing.
calendar_routes: >-
Almanac push comes ashore separately, at %google% an' %graph%, an'
wants no Pub/Sub topic.
calendar_without_public_address: >-
With no public HTTPS address, moored almanacs simply bide by the
quarter-hour sweep.
queues:
due_in: 'due in %duration%'
empty: 'No bottles waitin''.'
filter_placeholder: 'Sift the whole hold — handler, cargo, queue name'
heading: 'Messenger queues'
in_flight: 'Bein'' worked now'
loading: 'Haulin'' aboard…'
showing: '%shown% o'' %total%'
next_up: 'Waitin'''
none_running: 'No deckhand be holdin'' a bottle right now.'
oldest: 'Longest waitin'''
pending: 'Waitin'''
queue: 'Queue'
queued_for: 'in the hold %duration%'
retries: 'try %count%'
running: 'Bein'' worked'
running_for: 'for %duration%'
waiting_since: 'Waitin'' since'
refresh_hint: 'Live panels be redrawn every 10s'
summary:
accounts: '%count% crews'
active: '%count% astir'
armed: '%active%/%total% armed'
down: '%count% keeled over'
failed: '%count% sunk'
failing: '%count% listin'''
healthy: '%count% hale'
idle: 'becalmed'
none: 'none'
ok: '%count% hale'
queries: '%count% askings'
queue: '%running% bein'' worked · %waiting% waitin'''
tables: '%count% tables'
tables:
heading: 'Table sizes'
title: 'Cap''n''s quarters'
tokens:
empty: 'No token refreshes writ down yet.'
heading: 'OAuth token health'
webhooks:
armed: 'Primed'
delivery:
endpoint: 'Cannon berth'
endpoint_hint: >-
The Cloud Pub/Sub push subscription must fire at exactly this
URL, token an'' all. A mismatch be answered with 403 and shows
below.
heading: 'The powder trail'
info_logs_off: >-
Shots that land be logged at info level and not kept. Set
APP_DB_LOG_LEVEL=info to spy them here.
no_public_url: >-
APP_PUBLIC_URL be no https:// berth, so Pub/Sub cannot reach
this ship.
no_token: >-
GMAIL_PUBSUB_VERIFICATION_TOKEN be not set. The berth bars all
comers, so every shot be turned away with 403.
topic: 'Pub/Sub topic'
empty: 'No Gmail crew keepin'' watch.'
health: 'Condition'
health_state:
active: 'firin'' true'
degraded: 'primed, but silent'
inactive: 'stowed'
lapsed: 'run out'
heading: 'Gmail webhooks'
history_id: 'History ID'
last_push: 'Last cannon shot'
never: 'never'
none: 'not on the roster'
resource: 'Resource'
state:
account_active: 'crew aboard'
account_inactive: 'crew ashore'
push_off: 'cannon stowed'
push_on: 'cannon primed'
watch_expiry: 'Watch ends'
users:
add: Sign on a hand
console_note: 'Secret words and second-factor rescues are done from th'' ship''s console, not here — `app:user:password` an'' `app:user:2fa-disable`. A quartermaster who could change either from a browser would be a second way into every hold aboard.'
deactivate: Clap in irons
deactivate_confirm: 'Clap %name% in irons? They''ll board no ship an'' every spyglass already trained on their hold goes dark. Nothin'' o'' theirs be thrown overboard, an'' ye can strike th'' irons here.'
deactivated: 'In irons'
deactivated_since: 'In irons since %when%'
delete: Put ashore
delete_confirm: 'Put %name% ashore? Their post stays in th'' hold, but they''ll board no more.'
edit: Edit hand
field:
email: Bottle address
is_admin: Quartermaster
is_admin_help: 'Reaches this cabin, signs on hands and sets up friendly ports. Reads nobody else''s post.'
name_first: Given name
name_last: Family name
password: First secret word
password_help: 'Set once, when th'' hand signs on. No changin'' it from here after: a forgotten word be reset at th'' console with `app:user:password`.'
flash:
deactivated: 'Clapped in irons. No boardin'' until ye strike them.'
demote_last_refused: 'That be th'' last quartermaster, so th'' mark stayed as it were — raise another first.'
demote_self_refused: 'Ye cannot strip yer own quartermaster''s stripes. All else on th'' form were logged.'
reactivated: 'Irons struck. They may board again.'
heading: Th' crew roster
last_login: 'Last sighted %when%'
never_signed_in: Never came aboard
no_password_edit: 'Secret words cannot be changed here. Setting another hand''s word would make a quartermaster''s session a way into their hold — same reason pulling a second factor is a console affair.'
none: No hands aboard yet.
reactivate: Strike th' irons
role:
admin: Quartermaster
search: Search th' roster…
two_factor_on: Second factor is set
two_factor_short: 2FA
version:
hint: The build this ship be sailin' — the release, an' the commit she were built from.
alias:
added: 'Address added, arr!'
deleted: 'Address struck from the roster.'
duplicate: 'That address already sails with this crew member.'
invalid: 'That don''t look like a proper parrot address.'
primary_set: 'Flagship address changed.'
refreshed: 'Fetched anew from the harbourmaster.'
status_blocked: 'The flagship address can''t be struck — name another flagship first.'
status_set: 'Address amended.'
app:
name: Mail
attachment:
sign:
action: Make yer mark
draw: Scrawl yer mark, then slap it on the page.
clear: Scrub it out
cancel: Belay that
place: Slap it on
hint: Drag it where it belongs, then pin it to a reply.
download: Haul down the marked copy
reply: Answer with the marked copy
protected: This scroll be sealed, so ye cannot mark it here. Readin' still works.
unreadable: This scroll cannot be marked here. Readin' still works.
use_saved: Use yer stowed mark
preview:
download: Haul aboard
failed: This scroll would not unroll. Ye can still haul it aboard.
loading: Unrollin'…
untitled: Cargo
zoom_in: Closer
zoom_out: Further off
calendar:
default_name: Cap'n's own
alert:
mail:
subject: 'A nudge: %title%'
untitled: A reckonin' with no name
booking:
action:
delete: 'Scuttle the boarding notice "%name%"'
disable: 'Strike the boarding notice "%name%"'
edit: 'Change the boarding notice "%name%"'
enable: 'Hoist the boarding notice "%name%"'
regenerate: 'Give the boarding notice "%name%" a fresh berth'
badge: Booked through yer boarding notice
booked:
body: 'Yer %name% be written in the log.'
mail: A confirmation wi a chart be sailing to ye.
title: Booked, matey
confirm: Seal the booking
count: '{0}No boarding notices|{1}1 boarding notice|]1,Inf[ %count% boarding notices'
day_none: Naught free
delete_confirm: 'Scuttle "%name%"? Every appointment already booked goes down wi it.'
disabled: Struck
duration: '{1} 1 minute|]1,Inf[ %count% minutes'
empty_list: No boarding notices yet, matey.
error:
no_calendar: Pick a log that takes changes, so bookings have somewhere to land.
taken: That hour be claimed already. Pick another.
too_many: >-
That be a great many bookings from one berth. Bide a while afore
ye try again.
form:
add: New boarding notice
buffer_help: Quiet water left either side o what be already in the log.
buffer_minutes: Quiet water (minutes)
busy: Check these logs for collisions
busy_help: >-
An hour be offered only when naught in these logs crosses it. The
log bookings land in be always checked, ticked or no.
calendar: Bookings land in
calendar_help: >-
Where the appointment be written. If that log sails elsewhere, the
booking sails wi it.
day_end: Until
day_start: From
description: What this be about
edit: Change boarding notice
horizon_days: Bookable up to (days ahead)
name: What the appointment be called
name_help: >-
Shown to whoever opens the berth, and used as the title in yer
log.
notice_minutes: Shortest warning (minutes)
slot_minutes: Appointment length (minutes)
time_zone: Yer hours be in
time_zone_help: >-
The hours above be bell-time in this zone, so 09:00 stays nine in
the morning when the clocks turn.
weekdays: Days ye be boardable
lands_on: 'lands in %calendar%'
no_slots: No free hours at present. Come back later, matey.
no_slots_this_week: No free hours this week. Try the week fore or aft.
note: Aught else? (optional)
pick_a_time: Pick an hour
toast:
created: Boarding notice raised. Copy the berth now — it be not shown again.
deleted: Boarding notice scuttled.
disabled: Boarding notice struck.
enabled: Boarding notice hoisted.
regenerated: Fresh berth. The old one be sunk.
updated: Boarding notice changed.
weekday:
1: Mon
2: Tue
3: Wed
4: Thu
5: Fri
6: Sat
7: Sun
your_email: Yer letter address
your_email_help: The confirmation and the chart go here.
your_name: Yer name
zone: 'Hours shown in %zone%'
chip:
on_calendars: 'Upon %calendars%'
delete_confirm: 'Scuttle "%name%" an'' every reckonin'' upon it? There be no haulin'' them back.'
empty: Naught on the horizon
details:
description: The tellin' of it
edit: Change it
extracted_hint: plMail read this from yonder letter. No soul wrote it in.
participants: All hands
provenance: From yonder letter
recurring: Comes round again
status: Standin'
until: till %date%
your_answer: Yer word
error:
instance_create: >-
One lone reckonin' cannot be shipped to an almanac on its own. Pick
"Every reckonin'" to lay this meetin' in another almanac.
invalid_times: 'Them bells be wrong — the end must come after the start.'
no_copies: 'Naught was picked, so naught was changed. Mark at least one almanac.'
read_only: >-
This reckonin' sits only in almanacs that take no changes, so it be
left where it lay.
event:
alert:
action:
display: A shout on deck
email: A parrot
amount:
days: '{1} 1 day|]1,Inf[ %count% days'
hours: '{1} 1 bell|]1,Inf[ %count% bells'
minutes: '{1} 1 minute|]1,Inf[ %count% minutes'
at_absolute: 'Upon %when%'
at_time: The very moment it starts
custom: Somethin'' else, in minutes
custom_action: How the extra nudge shall reach ye
day_1: 1 day afore
hour_1: 1 bell afore
legend: Nudges
minutes_10: 10 minutes afore
minutes_30: 30 minutes afore
minutes_5: 5 minutes afore
relation:
after_end: '%amount% after the end'
after_start: '%amount% after the start'
before_end: '%amount% afore the end'
before_start: '%amount% afore the start'
series_note: >-
Nudges belong to the whole reckonin'', so the choice below has
no say over them.
unreadable: A nudge set in some other port
all_day: All the day long
calendar: Almanac
cancel: Belay that
copies:
help: >-
Marked almanacs get this reckonin' an' every change ye stow to
it. Unmarkin' one throws naught overboard: that almanac keeps the
copy it holds now an' takes no more news, so it shall sail as its
own entry once the two no longer match.
hidden: This almanac be stowed below, so the reckonin' stays out o' sight till ye bring it on deck
legend: Almanacs
mirrored: "This almanac sails with its harbour, so the reckonin' reaches yer other spyglasses"
read_only: This almanac takes no changes
same_remote: 'Already accounted for: this mirrors the same almanac as one marked above'
delete: Scuttle it
description: The tale of it
details_heading: "The reckonin'"
dismiss: No reckonin' at all
dismiss_confirm: >-
Cast this one overboard an' keep it there? Later parrots about the
same booking shall not write it back into the almanac.
ends: Ends
error:
end_before_start: The end must come after the start.
summary: This reckonin' could not be stowed.
title_required: Give this reckonin' a name.
extracted_note: >-
This reckonin' was found in a parrot. Amend it and later messages
about the same booking shall not paint over yer hand.
location: Where
new: A new reckonin'
new_on: A new reckonin' on %date%
repeat: Comes round again
repeats: Comes round again
save: Stow it
scope:
instance: This here reckonin'
instance_note: >-
"This here reckonin'" changes only the one ye opened, so it
cannot lay the meetin' in an almanac it be not in yet.
legend: Apply it to
series: Every reckonin'
starts: Starts
title: What it be called
form:
add: A new almanac
color: Colours
edit: Amend the almanac
name: What it be called
time_zone: Which bell
time_zone_help: >-
The bell this almanac be read by — and the one a reckonin' with no
bell of its own be shown in.
grid:
all_day: All the day long
continues_after: Sails on into the next day
continues_before: Set off the day afore
keyboard_hint: >-
Hold Alt an' steer with the arrow keys to shift this reckonin'; add
Shift to change how long it runs. Enter stows it, Escape puts it
back.
pending: >-
Shifted to %start% – %end%. Press Enter to stow it, or Escape to put
it back.
read_only: This almanac takes no changes, so this reckonin' cannot be shifted.
reverted: Left where it lay.
ics:
error:
no_calendar: Pick an almanac to stow the dates in.
no_file: >-
Pick an .ics scroll. If ye did pick one, it may be fatter than
plMail will swallow.
no_url: Write the bearin' where the almanac be posted.
export:
calendar: Haul "%name%" ashore as an almanac scroll
calendar_title: Haul down as .ics
event: Haul down .ics
import:
calendar: Stow 'em in
dedup_note: >-
A date already in this almanac be mended rather than written
twice, and one already in another o' yer almanacs — from a
summons, or from an almanac ye mirror — be left where it lies.
file: Almanac scroll
file_help: An .ics scroll, up to %size% MB.
intro: >-
Reads an .ics scroll — a copy from another almanac, or a summons
somebody sent ye — into one o' yer almanacs.
no_calendars: >-
None o' yer almanacs takes new dates. A mirrored almanac be a
look-but-don't-touch copy; make one o' yer own first.
submit: Bring aboard
title: Bring an almanac scroll aboard
subscribe:
address: Almanac bearin'
address_help: >-
The bearin' an almanac be posted at, endin' in .ics. A webcal://
link sails too — 'tis the same bearin' under another flag.
connect: Follow a bearin'
intro: >-
Follow an almanac somebody posts: feast days, a fixture list, or
the secret bearin' yer own Google or Outlook almanac offers.
plMail reads it again in the bilges and shows it beside yer own.
name: Name
name_help: What to call it here. Left empty, the almanac names itself.
read_only_note: >-
A followed almanac be look-but-don't-touch — 'tis a copy o' a
posted scroll, so changes made here could never reach it. Anyone
holdin' this bearin' can read the almanac, so treat a secret one
like a secret word.
submit: Follow it
title: Follow an almanac bearin'
toast:
import_empty: >-
That scroll holds no dates plMail can read. Check 'tis an
almanac copy and not somethin' else.
import_nothing_new: >-
Naught to add — every date in that scroll be already in yer
almanacs.
imported: '%added% added, %updated% mended, %skipped% passed over.'
subscribed: >-
Followed — the almanac fills in within the minute.
invite:
action:
accepted: Aye
declined: Nay
needs_action: No word yet
tentative: Belike
attendees: '%count% called aboard'
cancelled: This gatherin' has been called off.
organiser: Called by %name%
organiser_tag: called it
reply:
body: '%name% answered %status% to this summons.'
status:
accepted: Aye
declined: Nay
needs_action: No word yet
tentative: Belike
toast:
not_sent: >-
Yer answer be stowed here, but the parrot never reached the one
who called the gatherin'.
sent: Yer answer flew to the one who called it.
kind:
call: A hailin'
delivery: Cargo
dining: A table held
event: A doin'
flight: A crossin'
lodging: A berth
meeting: A gatherin'
order: Goods ordered
rental: A hired rig
ticket: A pass
train: An iron road
more_count: '%count% more'
nav:
next: Onward
previous: Back
pane:
mode:
calendar: Give the almanac the whole deck
mail: Show the letters
split: Set the almanac alongside the letters
resize: Shift the almanac's width
proposal:
action:
add: Write it in the almanac
dismiss: No reckonin' at all
explain: >-
Spied in this parrot — naught be written in the almanac yet.
toast:
added: Written into the almanac.
dismissed: >-
Cast overboard — that day shall not be put to ye again, however
often this parrot be read.
no_calendar: >-
There be no almanac to write this into, so naught was stowed.
untitled: (no subject)
repeat:
daily: Every day
monthly: Every month
none: Comes but once
weekly: Every week
yearly: Every year
share:
action:
delete: 'Scuttle the berth "%name%"'
edit: 'Change the berth "%name%"'
regenerate: 'Give the berth "%name%" a fresh address'
revoke: 'Revoke the berth "%name%"'
all_day: All the day long
busy: Occupied
busy_free_only: This berth shows when the log be occupied, an naught else.
count: '{0}No shared berths|{1}1 shared berth|]1,Inf[ %count% shared berths'
covers: '{0}no logs|{1}1 log|]1,Inf[ %count% logs'
day_free: Naught this day.
delete_confirm: 'Scuttle "%name%"? Whoever still holds the address loses it.'
detail:
description: The account of it
location: Where
participants: Who be coming
title: Titles
empty: Naught in this stretch.
empty_list: No shared berths yet, matey.
footer: Shared log
form:
add: New shared berth
calendars: Which logs
days: days ahead
edit: Change shared berth
ends_on: Last day
name: What ye call it
name_help: >-
Only ye see this. It be how ye find the berth again to change or
revoke it.
reveals: What this berth gives away
reveals_help: >-
Wi none o these ticked, the berth shows only when the log be
occupied. Each box adds one thing atop. A matter marked private
stays a plain occupied block whatever be ticked here.
rolling_days: Days ahead
starts_on: First day
token_note: >-
The address be shown once, when it be made. It be not stored, so
it cannot be shown again — lose it, an give the berth a fresh one.
window: How far it reaches
heading: Shared log
minted:
heading: The address for this berth
once: >-
Copy it now. It be stored nowhere, so this be the only time it can
be shown.
not_shared: Beyond the stretch
outside_window: Days beyond the shared stretch
page_title: Shared log
reveals: 'Gives away %details%'
reveals_busy_free: Occupied/free only
revoked: Revoked
subscribe: Add to yer own log
toast:
created: Berth made. Copy the address now — it be not shown again.
deleted: Berth scuttled.
regenerated: Fresh address. The old one be sunk.
revoked: Berth revoked.
updated: Berth changed.
window:
fixed: Between two dates
rolling: A rolling stretch from today
window_label: '%from% – %to%'
zone: 'Hours shown in %zone%'
soon:
empty: Naught on the horizon
empty_hint: >-
Doin's in yer almanac, and the passages, cargo, tables held and
tickets spied in yer letters, be posted here for the next
fortnight.
from: 'Out o'' %subject%'
open: 'What be comin'' soon'
title: 'Comin'' soon'
untitled: (no subject)
title: Almanac
status:
cancelled: Struck
confirmed: Signed
tentative: Undecided
toast:
created: Almanac drawn up
default_set: New reckonin's land here now
deleted: Almanac scuttled
disconnected: Line cut to the port
disconnected_kept: >-
Line cut — %count% reckonin(s) that came off a parrot an' not off an
almanac were rowed over to yer own almanac.
event_saved: Reckonin' logged
hidden: Almanac stowed below
saved_on_hidden: >-
Reckonin' logged in %calendars%, which be stowed below — bring that
almanac on deck to lay eyes on it.
shown: Almanac brought on deck
subscriptions_saved: Yer choosin' be stowed
subscriptions_saved_kept: >-
Yer choosin' be stowed — %count% reckonin(s) that came off a parrot
an' not off the almanac were rowed over to yer own almanac.
subscriptions_unchanged: Naught changed
sync_queued: Haulin' now — this almanac comes about in a moment.
updated: Almanac amended
today: This day
toolbar:
range: '%start% – %end%'
range_day: '%day%'
upcoming:
imminent: Within the hour
later: Later this day
soon: In a few hours
view:
agenda: The list
day: Day
month: Month
week: Week
clipboard:
copied: Pocketed
copy_failed: Pocketin' failed
compose:
ai:
accept: 'Put it in'
disabled: "The writin' hand be stowed."
discard: 'Heave it over'
disclaimer: "Writ by an oracle. Read it afore ye send it."
error:
not_pulled: 'The oracle has no such model aboard. Someone must fetch it first.'
refused: "The oracle turned the askin' away."
timeout: 'The oracle took too long to answer.'
failed: 'The message could not be sent.'
label: 'Help me write'
no_answer: 'The oracle gave no answer.'
preview: 'Text on offer, not yet in yer letter'
prompt:
toggle: 'Orders'
title: 'Change yer orders afore the next attempt'
label: 'How ye want to be written for'
placeholder: 'e.g. Three sentences, no more, and no fancy greetin''s.'
retry: 'Have another go with this'
hint: 'This window only. Settin''s → AI be where it sticks.'
rate: '%count% tokens · %rate% a second'
regenerate: 'Try again'
slow_hint: "The first askin' after a spell takes about fifteen seconds while the oracle wakes."
state:
done: "Done. Nowt o' it be in yer letter yet."
sent: 'Sent to the oracle…'
stopped: 'Belayed. Keep what came, or heave it over.'
stop: 'Belay'
task:
formal: 'Say it more proper'
proofread: "Mend the spellin'"
reply: 'Draft a reply'
shorten: 'Make it shorter'
timing: "Oracle wakin' %load%s · %count% tokens in %seconds%s · %total%s all told"
working: "Writin'…"
open_failed:
dismiss: Belay
failed: The writin' desk would not open. Give it another go.
offline: The writin' desk would not open — ye seem adrift with no signal.
signed_out: Yer watch has ended. Reload the page an' sign on again.
no_account:
body: Hitch up a mailbag first, an' ye can write from it straight away.
cta: Hitch up a mailbag
heading: No mailbag aboard yet
font_family:
label: Hand o' writin'
monospace: Ledger hand
sans: Plain hand
serif: Scrivener's hand
font_size:
huge: Mountainous
label: Size o' the lettering
large: Grand
normal: Fair
small: Wee
align:
center: Amidships
left: Hard to port
right: Hard to starboard
confirm:
no_body: This scroll be blank.
no_subject: This scroll bears no heading.
send_anyway: Cast it off regardless?
plain_text: "Strikin' to plain text scrubs every flourish from this scroll. Carry on?"
emoji:
activities: Sport and mischief
animals_nature: Beasts and the wilds
categories: Lockers
custom: Yer own daubs
favorites: Oft-daubed
flags: Colours
food_drink: Vittles and grog
loading: "Haulin' 'em up…"
network_error: The wee faces would not come aboard.
objects: Odds and ends
people_body: Souls and limbs
region: The face locker
search: Search the locker
search_description: When the finds appear, steer up or down to pick one and strike enter to take it.
search_results: What the search turned up
skin_tone: "Choose a hide (presently {skinTone})"
skin_tone_description: When it be open, steer up or down to pick one and strike enter to take it.
skin_tones: Hides
smileys_emotion: Grins and grimaces
symbols: Marks and sigils
tone_dark: Deep tanned
tone_default: As it comes
tone_light: Pale as a sail
tone_medium: Fair weathered
tone_medium_dark: Well weathered
tone_medium_light: Lightly weathered
travel_places: Voyages and ports
unsupported: This spyglass shows no coloured faces.
list:
ordered: Numbered manifest
unordered: Bulleted manifest
priority:
high: "Hoist th' red flag"
label: Urgency
low: "No great hurry"
none: "No word on it"
normal: "Ordinary sailin'"
quote:
hide: stow the quoted words
show: unfurl the quoted words
schedule:
cancel: "Belay that castin' off"
confirm: "Set th' hour"
custom: "Name th' day and th' hour"
error:
past: That hour be already astern.
too_far: "No scroll be held longer than %days% days."
too_soon: Name an hour a minute or more ahead, matey.
unreadable: That be no day nor hour I can read.
heading: Cast off later
monday_morning: Monday at first light
scheduled_for: Due to cast off
timezone_hint: "All hours be reckoned in %zone%."
toast: "Castin' off %when%"
toast_cancel: Belay it
tomorrow_afternoon: "On th' morrow, afternoon"
tomorrow_morning: "On th' morrow at first light"
when: '%date%, %time%'
status:
pending_many: "%count% more marks afore stowin'"
pending_one: one more mark afore stowin'
save_failed: Could not stow the scroll
saved: Scroll stowed
saving: "Stowin'…"
uploading: "Haulin' aboard…"
upload:
failed: The haulin' aboard went awry
images_only: Only likenesses may be pasted into the scroll itself
over_limit: "Too heavy by far (max %limit% MB)"
post_too_large: That load be too heavy
too_large: Too heavy by far
add_bcc: Add shadow crew
add_cc: Add copied crew
attach: Lash on some cargo
attach_failed: Could not lash it on
attach_remove_failed: Could not heave the cargo overboard
attach_too_large: "%name% be heavier than %limit% MB"
bcc: Bcc
bold: Stout
cc: Cc
click_to_cancel: click to belay it
continue_editing: Keep scribblin'
discard: Burn this scroll
empty_draft: (blank scroll)
encrypt: Seal it in cipher
encrypt_unavailable: "No cipher aboard yet — this seal be locked."
expand: Throw open the hatches
formatting: Fancy lettering
forward: Pass it along
from: From
image: Paste in a likeness
image_insert_failed: Could not paste the likeness into the scroll
indent: Shove it inboard
insert_emoji: Daub on a face
insert_link: Splice in a link
invalid_address: "“%address%” be no proper address"
italic: Aslant
link:
add: Splice in a link
apply: Make it so
cancel: Belay that
change: Recut it
dialog: Link
edit: Recut this link
heading: Link
invalid: Name a port on the web.
open: Set sail for it
remove: Cut the line
text_label: Words to show
text_placeholder: The words that carry the line
unsafe: "Only web, post an' telephone berths may be linked."
url_label: Web berth
url_placeholder: "example.com"
minimize: Batten down
more_fields: Show the rest o' the manifest
more_options: More riggin'
new_message: A Fresh Scroll
no_recipients: Nobody to send it to
outdent: Shove it outboard
plain_text: "Plain hand, no flourishes"
plain_warning:
cancel: "Keep the flourishes"
continue: "Aye, carry on"
title: "Strip the flourishes?"
pop_out: Open in its own cabin
send_warning:
cancel: "Belay, keep writin'"
continue: "Cast off regardless"
title: "Cast this scroll off?"
read_receipt: "Beg word it were read"
recipient_required: Name at least one soul afore ye cast off.
redo: Do it over again
reply: Answer
reply_all: Answer the whole crew
reply_placeholder: "Answer %name%"
save_and_close: Stow the scroll and close
send: Cast off
send_options: Castin'-off orders
sending: "Castin' off…"
sending_cancel: 'Belay that!'
signature: Make yer mark
signature_none: "This name bears no mark yet"
subject_label: Head
subject_placeholder: Headin'
text_color: Ink colour
to: To
underline: Underscored
undo: Belay that
body_placeholder: "Scrawl yer message…"
attachment_remove: Heave the cargo overboard
demo:
bar:
title: Sea trial
blurb: A borrowed sea chest. Naught here be real, an' naught ye send ever leaves th' harbour.
next: "Next on th' tide: %subject%"
receive: Haul in mail
flash:
received: "\"%subject%\" has come aboard."
blocked: Lashin' a real sea chest to this hull be forbidden on a sea trial.
login:
blurb: Take a turn about plMail wi' a sea chest o' yer own — no articles t' sign, no berth needed.
start: Begin th' sea trial
disclaimer: Yer trial chest be scuttled on its own after a watch or two.
privacy:
account: >-
Beginnin' th' sea trial opens a borrowed berth under a name drawn from th'
hat. Ye be asked for no name, no address an' no countersign, an' none be
kept. Whatever ye write there — letters, drafts, almanac marks — lives only
in that berth an' be scuttled wi' it, on its own, some %ttl% after it were
opened. Letters penned on a sea trial never leave th' harbour: there be no
line to any post at all.
account_title: Th' trial berth
complaint: Ye may also lay a complaint before th' harbourmaster o' records.
controller_intro: Answerable for th' handlin' set down here:
controller_title: Th' one answerable
cookie_mercure: keeps th' speakin'-line open while ye be aboard.
cookie_session: keeps ye aboard yer trial berth. Struck when ye close th' spyglass.
cookie_ui: remembers th' colours an' tongue ye chose.
cookies: >-
Three tokens be set, every one needful for sailin' her. There be no
followin' token, no crier's token an' no countin' token, an' so no banner
to wave away.
cookies_title: Tokens
host: Th' hull be kept on our behalf by %host%, under articles o' handlin'.
logs: >-
As any harbour does, this one notes each callin': th' address it came from,
th' hour, th' page sought, th' page afore it an' th' spyglass's mark. This
be needful to sail her an' to hold off boarders (Art. 6(1)(f) o' th'
articles — rightful interest). Th' logs be turned over an' no man's likeness
be built from them.
logs_title: Th' harbour log
rights: >-
Ye have th' right to be told what be held on ye, an' to have it set right,
struck, or held back, as well as th' right to object an' th' right to carry
yer records elsewhere. Write to th' address above.
rights_title: Yer rights
third_parties: >-
Naught be passed to other ships. This page draws no outside letterin',
scripts, charts nor countin'-houses — her articles permit lines to this
hull alone.
third_parties_title: Other ships
title: Articles o' records
unavailable:
title: Not to be had on a sea trial
body: >-
Lashin' a real sea chest to this hull be forbidden here. This trial
runs on a hull ye don't command, an' no soul should be tellin' it
their countersign. All else — colours, sieves, the almanac, writin'
letters — sails as it would on yer own ship.
dismiss: Back to the trial
impressum:
link: Ship's papers
title: Ship's papers
heading: Declarations under § 5 TMG
operator: Master o' the vessel
contact: Hailing
contact_email: 'Letters:'
disclaimer_title: About this sea trial
disclaimer: >-
This be a showin' o' plMail. Th' chests, senders an' messages be
invented; none o' it be real correspondence. Letters penned here
never leave th' harbour, an' trial berths be scuttled after a watch
or two.
privacy_title: Records
privacy: >-
A trial visit opens a borrowed berth wi' no personal cargo in it.
Whatever ye write be scuttled wi' the berth. Th' log records
addresses for th' usual reasons o' seamanship an' be turned over.
source_title: Ship's plans
source: 'plMail be free vessels, under th'' AGPL-3.0 articles:'
dnd:
dragging: '%count% parcels in tow'
drafts:
empty: No scrolls in the works.
heading: Scrolls in the works
errors:
access_denied: Ye have no leave to enter here.
not_found: That be nowhere on the charts.
page:
back: Back to yer mail
not_found:
body: The page ye hailed be not here. Happen the link be mistyped, or what it pointed at were moved or scuttled.
heading: Naught at these coordinates
title: Page be lost at sea
server:
body: Somethin' went wrong on our deck, not yours. The fault be in the log; another go in a moment most often sails.
heading: Somethin' went wrong
title: The ship be takin' water
form:
file:
choose: Choose a likeness…
hint: PNG, JPEG, GIF or WebP
select:
no_results: Nary a match in these waters
cancel: Belay that
submit: Stow it
header:
labels:
add: Hoist a new flag
heading: Flags
none: No flags yet
search:
close: Batten the hunt
live:
status: "%count% matchin' parleys"
status_none: Nary a matchin' letter
status_one: 1 matchin' parley
title: Post
open: Search the hold
placeholder: Search the hold…
recents:
clear: Scuttle
title: Lately hunted
suggestions:
title: Notions
user_menu:
account_attention: "%count% things about yer crew be needin' an eye"
admin: Cap'n's quarters
label: Crew menu for %email%
profile: Yer colours
rerun_setup: Rig her up again
unseen_logs:
danger: '%count% fresh disasters in the log'
warn: '%count% fresh grumbles in the log'
settings: Riggin'
sign_out: Go ashore
signed_in_as: Aboard as
inbox:
empty: No bottles in this here tab.
empty_account: Nothin' has washed ashore for this account yet.
insights:
card:
heading: Spied in this here parley
kind:
flight: Passage by air
github-issue: Issue
github-pr: Pull request
invoice: "The reckonin'"
otp: "Secret word"
parcel: Cargo
subscription: "Standin' order"
ticket: Passage papers
pane:
dismiss: Wave it off
dismiss_all: Strike the whole banner
heading: Soon upon ye
more: More doings
when:
today: This very day
tomorrow: On the morrow
panel:
dismiss: Wave it off
heading: Through the spyglass
open_mail: To the bottle
track: Chart its course
undated_heading: From yer repos
report:
already_reported: "Ye've already reported this here bottle."
cancel: Belay that
disclosure: "Ye be reportin' this bottle so plMail may spy somethin' in the likes of it hereafter. The bottle's contents and whoever sent it be handed to yer admiralty."
heading: "Report what the spyglass missed"
note_label: "What should the spyglass have spied here?"
note_placeholder: "Fer instance: this be a bill, due on the third."
submit: Send the report
success: "Much obliged — yer report be with the admiralty."
status:
announced: Word be given
delivered: Come ashore
in_transit: On the high seas
out_for_delivery: "Rowin' the last stretch"
integration:
save_failed: 'Could not stow: %reason%'
saved_to: 'Stowed to %name%'
destination:
album_name: 'Album name'
choose_album: 'Pick an album fer %file%'
choose_folder: 'Pick a hold fer %file%'
create: Make
folder_name: 'Hold name'
library: 'Whole library (no album)'
new_album: 'New album'
new_folder: 'New hold'
no_albums: 'No albums yet, matey.'
no_subfolders: 'No holds here.'
save_here: 'Stow here'
start_over: 'Start afresh'
picker:
attach: 'Haul aboard'
attach_from: 'Haul from %name%'
attach_from_service: 'Haul from a port'
copy: Copy
empty: 'This hold be empty.'
link: Link
more: 'Show more'
no_results: 'Naught found for “%query%”.'
search: Search
search_placeholder:
dropbox: 'Search Dropbox'
googleDrive: 'Search Drive'
googlePhotos: 'Search Photos'
immich: 'Describe a picture, say beach at sundown'
nextcloud: 'Search Nextcloud'
oneDrive: 'Search OneDrive'
timeline: 'Jump to a date'
too_big: 'Too heavy to haul'
jobs:
heading: Work below decks
started: 'Started %action% — she runs below decks.'
failure:
abandoned: "Cut adrift — she stopped half way, and what were already done stays done."
kind:
mark_read: Markin' as read
mark_unread: Markin' as unread
archive: Stowin'
trash: Castin' overboard
restore: Haulin' back
state:
done: '%count% done'
failed: foundered
queued: waitin'
label:
color:
amber: Amber
blue: Blue
gray: Gray
green: Green
orange: Orange
pink: Pink
red: Red
teal: Teal
violet: Violet
empty: No yarns flyin' this flag.
created: Flag hoisted.
delete_confirm: 'Strike the flag "%name%"? It comes down on every ship in the fleet. Yarns keep their other flags and be not thrown overboard.'
delete_confirm_children: 'Strike "%name%" and the %count% flag(s) beneath it? They come down on every ship in the fleet. No yarns be thrown overboard.'
deleted: Flag struck.
error:
duplicate: A flag by that name already flies here.
form:
account: Crew member
color: Colour
delete: Strike this flag
delete_hint: 'Strikin'' it brings the flag down on every ship in the fleet, an'' every flag flyin'' beneath it too. Yarns that carried it keep their other flags an'' be not thrown overboard.'
edit_title: Mend this flag
name: Name
no_color: '— none —'
no_parent: '— top o'' the mast —'
parent: Fly beneath
menu:
create: Hoist a new one
empty: No flags yet.
updated: Flag mended.
visibility:
hidden: That flag be lowered.
shown: That flag flies again.
list:
sort:
newest: Freshest catch
oldest: Oldest catch
login:
form:
email: Parrot address
forgot_password: Forgot yer secret word?
forgot_password_hint: 'Only th'' quartermaster can mint ye a new one, from th'' ship''s console.'
password: Secret word
remember_me: Keep me aboard
submit: Come aboard
page_title: Come aboard
register:
coming_soon: Signin' on be comin' soon.
link: Sign the articles
prompt: Not yet on the roster?
tagline: Come aboard yer own ship
message:
actions:
archive: Stow in the hold
delete: Send this bottle to Davy Jones
expand: Unfurl or furl this bottle
mark_unread: Mark as unread
more: More
print: Print
report_insight: "Report what the spyglass missed"
show_original: Show the original scroll
star: Mark with an X
unstar: Rub out the X
attachments: Cargo
back: Back
body_frame: The bottle's contents
bounce:
failed: "This message ne'er made port."
failed_for: "Ne'er made port at %recipient%."
reported_at: "Word came back %datetime%"
details:
categorised:
ai: "an oracle, for no rule knew it: "
ai_differs: 'the rules say otherwise'
ai_no_answer: 'asked, naught useful back'
ai_not_asked: 'not asked'
correspondent: 'ye have written to this one'
default: 'naught marked it as bilge'
forum: 'a crew-list header: '
gmail: 'Gmail swore it: '
pinned: 'ye hauled it here yerself'
promotion: 'a bulk-cargo header: '
social: 'the sender port '
update: 'a sign of an unmanned sender: '
category: rank
category_ai: 'the oracle'
category_rules: "our own reckonin'"
bcc: bcc
cc: cc
copy_address: 'Pocket the address %address%'
copy_headers: Pocket the headers
date: date
from: from
hide_all_headers: Furl all headers
label: Particulars
mailed_by: carried by
me: me
reply_to: answer to
show_all_headers: Unfurl all headers
signed_by: sealed by
subject: subject
to: "to %name%"
to_label: to
undisclosed: hands unnamed
draft: "Scroll"
images:
always: 'Always show the pictures from %sender%'
blocked: '{1}1 picture was held back so none may spy yer reading|]1,Inf[ %count% pictures were held back so none may spy yer reading'
show_once: Show the pictures
stop_trusting: Hold them back again
trusted: 'Pictures from %sender% are always shown'
original:
copied: Copied
copy: Copy to the slate
heading: The original scroll
quote:
hide: Stow the quoted words
show: Unfurl the quoted words
read_receipt:
dismiss: 'Nay, send nothin'''
mdn:
body: "Yer bottle to %recipient% bearin' the mark “%subject%” were unfurled on %date%. That be no oath any soul read it, nor understood a word of it."
subject: 'Unfurled: %subject%'
mismatch: 'The word back were asked to sail to %notifyTo%, which be not the port this bottle were cast off from (%sender%).'
read_at: 'Unfurled at %datetime%'
requested: '%sender% begs word when ye unfurl this bottle.'
send: 'Send word back'
save_to: 'Stow to'
security:
mismatch:
brand_in_name: "The name flies “%claimed%”, but this bottle was cast off from %actual%."
domain_in_name: "The name claims %claimed%, but this bottle was cast off from %actual%."
title: "The sender flies false colours"
spam:
body: "This bottle was fished from the bilge. Its links and pictures be treacherous — treat aught it asks of ye as a stranger's demand."
title: This bottle sits in the bilge
modal:
close: Batten it down
loading: Haulin' aboard…
oauth:
error:
generic: We couldn't tie up that crew member. Try again, matey.
microsoft:
admin_consent_required: >-
Yer fleet requires an admiral to approve plMail afore ye can tie
up this crew member. Ask yer Microsoft admiral for leave.
app_not_found: >-
plMail ain't on the roster of yer Microsoft fleet.
bad_credentials: >-
plMail's Microsoft papers be forged or expired. That be trouble
below decks, not somethin' ye can mend.
blocked_by_policy: >-
A standin' order in yer fleet blocked this boardin'.
consent_declined: >-
Boardin' called off — plMail were granted no leave.
tenant_mismatch: >-
That kind o' crew member can't board plMail as she be rigged
now. Check the MICROSOFT_OAUTH_TENANT settin'.
onboarding:
action:
back: Back astern
finish: Done an' dusted
next: Onward
skip: Sail past this one
skip_all: Skip the whole riggin'
done:
body: >-
Whatever ye sailed past be waitin' in the Settings, an' ye can run this
again from the crew menu whenever the mood takes ye.
cta: To me parrots
heading: Yer ship be rigged
aside:
account:
body: >-
plMail wants the addresses for incomin' (IMAP) an' outgoin' (SMTP) post.
Yer provider's help charts list 'em under "IMAP settings".
heading: Where be these writ?
oauth: >-
For Gmail an' Outlook, use the sign-aboard buttons under Riggin' → Mailbags
instead — no addresses needed.
admin_ai:
body: "The berth of an Ollama box on yer network, an' the names o' two models it holds — one for writin', one for searchin'. Nowt leaves yer waters."
heading: 'What ye need'
skip_body: "Press Next with all of it empty. plMail be a whole mail client without any o' this, an' ye can come back later under Admin -> Oracle."
skip_heading: 'Not for ye?'
admin_integrations:
body: Register yer ship with the port, then paste the keys it hands ye.
heading: Riggin' this up
admin_mail:
google:
heading: Riggin' Gmail sign-aboard
step1: Make sail for console.cloud.google.com an' start a project, or take one ye already hold.
step2: 'Under APIs an'' Services → Library, hoist th'' Gmail API.'
step3: 'Under OAuth consent screen, pick Internal if ye sail with Workspace, else External, an'' name yer ship.'
step4: 'Under Credentials, cut an OAuth client ID o'' th'' "Web application" sort.'
step5: Paste th' return bearing below into its "Authorised redirect URIs", then stow it.
step6: Copy th' client ID an' secret it shows ye into th' fields to port.
microsoft:
heading: Riggin' Microsoft sign-aboard
step1: 'Make for portal.azure.com an'' steer to Microsoft Entra ID → App registrations → New registration.'
step2: 'Choose who may come aboard. "Any organizational directory an'' personal Microsoft accounts" matches th'' tenant settin'' o'' "common".'
step3: 'Set th'' redirect kind to Web an'' paste th'' bearing below into it.'
step4: 'Once registered, copy th'' Application (client) ID into th'' field to port.'
step5: 'Under Certificates an'' secrets, cut a new client secret an'' copy its Value — not its ID — at once; it be shown but once.'
step6: 'Under API permissions, add th'' delegated Microsoft Graph rights: Mail.ReadWrite, Mail.Send, MailboxSettings.ReadWrite, Calendars.ReadWrite, User.Read an'' offline_access. Leave out MailboxSettings.ReadWrite or Calendars.ReadWrite an'' crew still board — they just get no categories an'' no calendar, an'' a token already issued be never upgraded later.'
profile:
body: This be what them on the other end read in the From line.
heading: Where this flies
security:
body: >-
Think what befalls ye if some scallywag gets yer secret word. He
don't just read yer parrots — he calls for a new secret word at yer
bank, yer harbourmaster an' yer storehouse, an' collects the letters
as they land.
body_two: >-
A second lock be a countersign on yer spyglass that turns over every
30 seconds. A pinched secret word stops bein' enough.
heading: Why this prize above all
account:
add: Hitch up this mailbag
or_manual: 'Or rig it by hand:'
sign_in_with: 'Sign aboard with %provider%'
add_another: Hitch up another mailbag
cancel: Belay that
integrations:
cancel: Belay that
connect: Hitch up
connected: Hitched
progress: 'Stop %index% o'' %total%'
security:
body: >-
Yer parrot cage be the key to every other prize ye hold, for that be
where the letters for a new secret word land. A countersign from yer
spyglass means a pinched secret word be not enough on its own.
done_body: >-
Ye'll be hailed for a countersign from yer spyglass when ye come aboard.
Stow the spare tokens where ye can reach 'em without it.
done_heading: The second lock be set
skip_hint: Ye can rig this later under Riggin' → The ship's lock.
switch_blocked: Naught was switched — mend the fields below first, an' what ye wrote stays put.
step:
account:
lead: Hitch up the mailbag ye actually read, an' plMail starts haulin' it in.
title: Mailbag
admin-ai:
intro: "plMail can consult an oracle ye run yerself — for searchin' by meanin', sortin' mail, an' help with writin'. Wholly optional; leave ev'ry box below empty if ye like."
lead: "Optional. Leave it be if ye don't want it."
title: 'Oracle'
admin-integrations:
lead: Keys for the ports every soul aboard can load cargo from.
title: Port keys
admin-mail:
lead: Keys for Gmail an' Outlook, cut once for the whole ship.
title: Parrot ports
appearance:
lead: How yer ship looks. Nothin' here be carved in stone.
title: Riggin' an' colours
integrations:
lead: Hitch up the ports where ye stow yer charts an' portraits.
title: Yer ports
profile:
lead: The name that flies on the parrots ye send.
title: About ye
security:
lead: The one prize worth lockin' proper. Takes about a minute.
title: Guard yer berth
title: Rig up plMail
profile:
avatar_current: Yer likeness at present
avatar_from:
empty: Naught to show from that port.
heading: Or take one from a port ye've hitched up
avatar_wrong_type: Use a PNG, JPEG, GIF or WebP likeness.
field:
avatar: Yer likeness
avatar_help: PNG, JPEG, GIF or WebP, up to 4 MB.
avatar_remove: Strike the current likeness
name_first: First name
name_last: Family name
search:
empty:
or_keyword: or just bellow a keyword.
title: Scour yer mail
try: Give
heading:
results: Plunder found for
no_results:
hint: Try other words, or cut some filters loose.
title: Nary a thing for "%query%"
pill:
after: After
attachment: cargo
before: Before
cc: Cc
from: From
has: Carries
in: In
is: Be
label: Flag
read: read
starred: starred
subject: Subject
to: To
unread: unread
results:
count: '%count% spoils'
count_one: 1 spoil
semantic:
admin_link: 'See the progress'
indexing: "Divinin' meanin' across %embedded% o' %total% messages — %percent%% done."
model_changed: "The divinin' model has changed. The %count% messages read by the old one be not searched by meanin' until they be read again."
nothing_extra: "Searchin' by meanin' turned up nowt the words had not."
skipped:
bad_answer: "The oracle answered with somethin' unusable — so this search used words alone."
host_unreachable: 'Nowt answered at the berth — so this search used words alone.'
model_missing: "That berth holds no divinin' model — so this search used words alone."
not_configured: "Search by meanin' be on, but no berth be set — so this search used words alone."
query_too_short: "Write a little more an' the meanin' be searched too."
search_failed: "The search by meanin' ran aground — so this search used words alone. The ship's log says why."
search_too_slow: "Searchin' by meanin' took too long in these waters — so this search used words alone."
timed_out: 'The oracle took too long — so this search used words alone.'
sort:
label: Sort by
recent: Freshest catch
relevance: Closest to the mark
title: Scourin'
title_query: 'Scourin'' for: %query%'
sent:
empty: No bottles cast off.
heading: Cast off
setup:
install:
field:
email: Parrot address
email_help: This be the address ye sign aboard with.
locale: Tongue
name_first: First name
name_last: Family name
password: Secret word
password_repeat: Say the secret word again
public_url: Yer flag on the open sea
public_url_help: >-
Where the world finds yer plMail. Gmail an' Outlook holler back to it
with their tidings, so it must be reachable from the open sea, an'
best be https. Ye can change it later.
footnote: Ye can hoist yer mailbags, an' all else, once yer aboard.
heading: Claim yer berth
lead: This be the first soul aboard this plMail, so ye get the cap'n's keys.
page_title: Rig up plMail
submit: Claim it an' come aboard
tagline: Nary a soul aboard yet — let's mend that
settings:
ai:
context:
heading: 'How Deep the Oracle Reads'
message: 'The message'
message_hint: "The oracle reads the message ye be answerin'. This be how it always was."
none: 'Naught'
none_hint: "The oracle spies only what ye typed. Fastest — an' \"Draft a reply\" on an empty window has naught to work from, so it'll say it couldn't answer. Shorten, formal an' proofread sail on unaffected."
subheading: "More o' the parley makes a better reply an' a longer wait. The oracle runs on this very vessel, so what it costs be time an' little else."
thread: 'The whole parley'
thread_hint: "The oracle reads the whole parley, oldest first, as much as fits. Better replies in long threads, an' a longer wait."
feature:
admin_off: 'Not hoisted on this vessel'
categorise: "Sortin' the Haul"
categorise_hint: "Lets the oracle break the tie when plain rules can't place a message. Off leaves 'em where the rules dropped 'em."
search: "Divinin' Search"
search_hint: "Finds mail that means what ye asked, not only mail that spells it so. Off stops yer mail bein' charted as well as searched."
summary: 'Yarn-in-short'
summary_hint: 'Boils a long yarn down when ye ask. Nowt be boiled unasked.'
writing_help: "Quill Wranglin'"
writing_help_hint: "Drafts a reply, shortens, makes fancy, proofreads — in the writin' window, when ye ask."
features:
heading: "Oracle's Talents"
subheading: "Which o' the oracle's tricks ye be wantin'. Yer admiral sets what be available; ye choose what ye use."
notes:
about_me_hint: 'Yer trade, who ye normally write to, aught a stranger would need to answer yer mail well.'
about_me_label: 'Who ye be'
about_me_placeholder: "I keep a rope-mender's shop an' most o' me mail be customers bookin' repairs."
heading: 'Yer Own Tale'
save: 'Stow it'
saved: 'Stowed.'
subheading: "What the oracle should know afore it writes fer ye. Both notes sail with every draft, an' serve naught else."
system_prompt_hint: "Preferences, not orders — the ship's own rules come first, includin' writin' in the tongue o' the mail. Keep it short: long notes crowd the message itself out o' the oracle's eye."
system_prompt_label: 'How ye like yer words'
system_prompt_placeholder: "Short sentences. No shoutin' marks. Sign off with me first name alone."
reads:
categorise: "Sortin': the sender, the subject an' the start o' the message."
heading: 'What the Oracle Be Handed'
search: "Chartin': the subject, the sender an' the start o' each message."
summary: "Th' messages o' a yarn ye ask t' have boiled down"
writing_help: "Writin': yer subject line, what ye typed, an' as much o' the parley as the setting above allows."
seg:
off: 'Nay'
on: 'Aye'
accounts:
delete: Put this crew member ashore
delete_confirm: 'Put %account% ashore? Every bottle hauled aboard for this crew member goes to Davy Jones for good, and there be no gettin'' them back.'
disable: Revoke the papers
edit: Amend the papers
empty: No crew yet. Sign one on to start haulin' mail aboard.
enable: Restore the papers
heading: Th' crew
make_primary: Name her flagship
make_primary_explained: 'Send new bottles from %account% by default'
reconnect: Sign on again
reconnect_explained: 'Sign on to %account% afresh — to grant leave ye once refused, or after changin'' yer word'
move_down: 'Move %account% down the roster'
move_up: 'Move %account% up the roster'
order_hint: >-
Drag to set the roster. 'Tis the order they be listed in and naught
else — the ship yer bottles sail from is the one marked Flagship.
password_help: Leave it blank to keep the secret word ye have.
primary: Flagship
primary_explained: New bottles sail from this ship unless ye say otherwise.
push:
lapsed_hint: >-
Th'' push registration ran out an'' were never renewed, so
naught be delivered. Renewal sails daily on its own — if this
keeps happenin'', th'' scheduled-task hand has stopped. Post be
still fetched on th'' bell.
degraded_hint:
gmail: >-
The cannon be loaded but naught has been heard lately. The
Pub/Sub push subscription in Google Cloud may be missin' or
aimed elsewhere. Mail still comes aboard on the watch bell.
microsoft: >-
The push subscription has run out and naught be arrivin'.
Load the cannon again to bring word back. Mail still comes
aboard on the watch bell.
failed:
gmail: >-
The cannon couldn't be readied — Google turned away the
watch. See that GMAIL_PUBSUB_TOPIC names a Pub/Sub topic
that truly exists, and that the topic grants
gmail-api-push@system.gserviceaccount.com the Pub/Sub Publisher
role. Mail still comes aboard on the watch bell.
microsoft: >-
The cannon couldn't be readied — Microsoft must reach this
ship over HTTPS. Check yer reverse proxy and APP_PUBLIC_URL.
Mail still comes aboard on the watch bell.
health:
active: Cannon
degraded: Cannon (misfirin')
inactive: On the bell
lapsed: Cannon (run out)
mode_pull: On the bell
mode_push: Cannon
not_configured: >-
No cannon on this ship — she needs a public HTTPS berth and, for
Gmail, a Cloud Pub/Sub topic.
off_hint: Mail comes aboard on the watch bell. Load the cannon for word the moment it lands.
on_hint:
gmail: New mail lands the instant Gmail fires the cannon.
microsoft: New mail lands the instant Microsoft fires the cannon.
renews: Yer watch be renewed afore %date%.
reregister: Load the cannon again
title: Word the moment it lands
reorder: Drag to reorder the line
status:
active: Sailin'
disabled: Beached
subheading: Sign on, amend, restore or put ashore the crew ye sail with.
type:
imap: IMAP
oauth: '%provider% (OAuth)'
aliases:
add: 'Add'
add_placeholder: 'Add another address…'
delete: 'Strike it'
disable: 'Furl it'
empty: 'No addresses yet.'
enable: 'Unfurl it'
heading: 'Parrot addresses'
make_primary: 'Make it the flagship'
ms_sender_hint: 'Outlook always sails under yer crew member''s flagship alias, whatever ye pick here — change it in yer'
ms_sender_hint_link: 'Microsoft account settings'
primary: 'Flagship'
refresh: 'Fetch from the harbourmaster'
subheading: 'Addresses this crew member sends and receives under.'
system: 'ship''s own'
clock:
heading: Th' glass
subheading: Whether th' hours be writ in twelves or in four-and-twenty. Naught be stored different — only th' figures change.
label: Th' glass
follow_language: 'Follow yer tongue (%sample%)'
option:
'12': 'Twelve hours (%sample%)'
'24': 'Four-and-twenty hours (%sample%)'
device_pairing:
pair_device: "Sign on a spyglass"
scan_title: "Point th' plMail app at this"
scan_hint: "Th' mark works once and fades in two minutes. It carries no spare key — th' app trades it for a fresh one."
qr_alt: "Pairing mark"
expires: "Fades at %time%."
open_in_app: "Open it in th' app"
app_passwords:
copy: Copy
copy_now: Here be yer new spare key
copy_now_hint: >-
Copy it now — it be kept nowhere and shown never again. Lose it and
ye must scuttle it and cut another.
empty: No spare keys yet. Cut one to tie up a mail app.
generate: Cut a key
heading: Spare keys
last_used: 'Last turned %date%'
name_placeholder: 'What be it for? e.g. iPhone — Sterna'
never_used: Never turned
revoke: Scuttle it
revoke_confirm: 'Scuttle "%name%"? Any app usin'' it be thrown overboard at once.'
setup_heading: Tyin' up an app
setup_hint: >-
Use yer parrot address as the name ye go by and the spare key as the
secret word. If the app asks for a ship or JMAP URL, give it this
one — not the /jmap/api berth, which takes naught but POST.
subheading: >-
Board third-party mail apps that speak JMAP. Every app gets its own
key ye can scuttle on its own.
appearance:
accent:
heading: Accent colour
background:
heading: Backdrop
solid: One flat hue
theme: Theme default
upload: Hoist an image
density:
comfortable: Roomy
compact: Cramped
cosy: Snug
follow: Follow the fleet
heading: Quarters
subheading: How much deck each row be given. Set it once fer the whole ship, or give a deck quarters o' its own.
surface:
list: Manifest
reading: Readin' deck
sidebar: Side riggin'
motion:
full: Full sail
heading: Sway
minimal: Gentle swell
none: Becalmed
reduced: If yer machine asks for calmer seas, plMail obeys it — whatever ye picked here.
subheading: How much the deck shifts when somethin' appears. Gentle swell fades without movin' the cargo.
export: Export theme
glass:
heading: Spyglass
paneAlphaHint: "The sidebar, top bar, main pane an' calendar — the frame the ship is laid out in. Naught sits behind these but the backdrop."
paneBlur: Sea fog
popoverAlpha: "Porthole an' menu opacity"
popoverAlphaHint: "The writin' porthole, dialogs an' menus. Each o' these sits atop a panel, so both layers show through at once. Keep 'em near solid an' they stay readable."
radius: Corner radius
scrimAlpha: Backdrop dimmin'
subheading: How much o' the backdrop shows through yer panels.
heading: Look o' the ship
import: Import theme
layout:
boxed: Crates
flat: Flat as a calm sea
heading: Riggin'
subheading: How the deck be framed. Crates float every panel like cargo; flat lays the top rail an' side riggin' straight on the backdrop an' leaves only the main deck boxed.
list:
accountCorner: Crew colours
accountCornerHint: The wee coloured pennant in a row's corner, namin' which berth the message sailed in on. Only ever flown when the manifest mixes berths.
heading: Manifest
listAvatars: Sender medallions
listAvatarsHint: The coloured coin bearin' the sender's initial. Struck off it turns a plain ring rather than vanishin' — 'tis also the row's tick-box.
previewLines: Peek lines
previewLines0: None
previewLines1: One line
previewLines2: Two lines
subheading: What every row o' the manifest shows.
unread:
standard: As she be
strong: Loud as a cannon
subtle: A whisper
unreadEmphasis: Unread rows
logo:
heading: 'Ship''s mark'
independent: 'Chart yer own'
linked: 'Sail with the theme'
style:
aurora: 'Northern lights'
berry: 'Berry'
blue-tonal: 'Blue on blue'
bronze-flick: 'Bronze flourish'
bronze-ink: 'Bronze & ink'
burgundy: 'Grog'
charcoal-amber: 'Coal & amber'
cobalt-coral: 'Cobalt & coral'
copper: 'Copper'
deep-violet: 'Deep violet'
ember: 'Embers'
espresso-cream: 'Grog & cream'
forest: 'Kelp'
forest-lime: 'Kelp & lime'
graphite-red: 'Graphite & red'
indigo-violet: 'Indigo–violet'
ink: 'Squid ink'
midnight-gold: 'Midnight & doubloons'
navy-sky: 'Navy & sky'
ocean: 'The open sea'
petrol-copper: 'Petrol & copper'
plum-rose: 'Plum & rose'
postal: 'Mail packet'
product-blue: 'Ship''s blue'
red-flick: 'Red flourish'
sky-flick: 'Sky flourish'
slate: 'Slate'
sunset: 'Sunset'
teal-gold: 'Teal & doubloons'
tricolore: 'Three flags'
twilight: 'Twilight'
violet-flick: 'Violet flourish'
subheading: 'The colours yer mark sails under. Top bar and tab badge both fly them.'
main:
default: Theme default
heading: Main deck
matchGlass: Match the spyglass
subheading: Tint and opacity for the main deck, apart from the sidebar.
tint: Backdrop tint
preview:
body: A short word, so the readin' deck has summat to show. None o' this be real post — the lookout fetches nary a letter.
heading: Lookout
hide: Stow the lookout
resize: Shift the lookout's width
sender1: Ada Lovelace
sender2: Grace Hopper
sender3: Kathleen Booth
show: Show the lookout
snippet: This be what a peek line looks like, an' how much o' one fits afore the row runs clean out o' deck fer it.
subheading: Yer settings on a make-believe manifest. Nary a thing here be hauled from yer own post.
subject1: Notes on the Analytical Engine
subject2: 'Re: the compiler draft'
subject3: Assembly notes, as promised
reset: Back to how she came
subheading: Colours, crampedness, letterin' an' the backdrop — the whole look o' the ship, all in one spot.
seg:
custom: 'Yer own'
default: "Theme's pick"
hidden: 'Stowed'
shown: 'Shown'
text:
autoDerive: Work it out for me
color: Text colour
default: Theme default
faint: Faint
heading: Text
muted: Muted
subheading: Adjust text colour so it reads against yer backdrop.
theme:
dark: Dark
dusk: Dusk
heading: Theme
more: 'More flags'
light: Light
nord: Nord
solar: Solar
subheading: Colour scheme for the whole ship.
system: Ship's own
typography:
family: Letterin'
font:
grotesk: Grotesque
monospace: Ledger hand
serif: Serif
system: Ship's own
heading: Letterin'
scale: Text size
scaleHint: Applies to the whole ship. The writin' desk keeps its own hand an' size — those sail out with the message.
subheading: The hand an' the size the ship be lettered in.
compose_defaults:
heading: 'Standin'' orders fer writin'''
invalid: 'That order could not be set down.'
read_receipt:
for_alias: 'Word back fer %alias%'
hint: 'When a sender begs word that ye have unfurled their bottle.'
inherit: 'Ship''s own order (%mode%)'
label: 'Word back'
mode:
always: 'Always send word'
ask: 'Ask me each time'
never: 'Never send word'
saved: 'Set down.'
subheading: 'What each o'' yer names does by default, sendin'' and receivin''.'
filters:
account: Account
action:
applyLabel: Fly the flag
archive: Skip the hold
markRead: Mark as read
markSpam: Call it bilge
removeLabel: Strike the flag
saveToIntegration: Stow cargo to
star: Mark it
trash: Over the side
add: New sieve
add_action: Add an order
add_condition: Add a test
add_group: Add a bundle
all_accounts: All crew
count: '%count% sieves'
count_capped: 'Catches %count%+ yarns already aboard'
count_error: Not a workable sieve yet
count_exact: 'Catches %count% yarn already aboard|Catches %count% yarns already aboard'
delete: Scuttle the sieve "%name%"
delete_confirm: 'Scuttle the sieve "%name%"? Yarns it already sorted stay put.'
delete_title: Scuttle sieve
deleted: Sieve scuttled.
disable: Stow the sieve
disabled: Stowed
edit: 'Mend the sieve "%name%"'
edit_title: Mend sieve
empty: No sieves yet
empty_hint: Sieves sort yarns as they come aboard — flag them, skip the hold, mark them, or send them over the side.
enable: Set the sieve
error:
action_required: Add at least one order, else the sieve does nothin.
name_required: Name the sieve.
field:
after: Aboard after
bcc: Bcc carries
before: Aboard before
body: Yarn carries
cc: Cc carries
filename: Cargo named
from: From carries
hasAttachment: Carries cargo
hasKeyword: Be
hasLabel: Flies flag
listId: Crew list be
maxSize: Lighter than (bytes)
minSize: Heavier than (bytes)
notKeyword: Be not
notLabel: Flies not flag
subject: Heading carries
text: Anywhere in the yarn
to: To carries
heading: Sieves
join:
and: and
none: 'none o: %list%'
or: or
keyword:
answered: answered
draft: a rough draft
flagged: marked
seen: read
integration_missing: '(cast-off port)'
label_missing: '(struck flag)'
move_down: 'Send "%name%" astern'
move_up: 'Send "%name%" forrard'
name: Name
name_placeholder: e.g. Dues from Acme
new_title: New sieve
no: Nay
no_actions: No orders yet
no_integrations: 'No ports moored — make fast to one in Friendly ports first.'
of_the_following: o the followin
op:
all: All
any: Any
none: None
placeholder:
date: Pick a day
number: 0
text: Type a value…
already_running: That sieve be already workin'.
queued: Put to the crew — runnin' over the yarns aboard.
ran: Sieve run over the yarns aboard.
remove_action: Remove order
empty_group: 'This band be empty — it catches naught till ye add a test.'
no_conditions: 'No tests: this rule takes every bottle in its waters.'
remove_condition: Remove test
remove_group: Remove bundle
reorder: Haul to reorder
run: Run over yarns aboard
run_state:
completed: 'Run over %count% yarns'
failed: 'Run ran aground — %count% yarns were done'
queued: 'Awaitin'' the crew…'
running: 'Workin''… %count% so far'
run_confirm: 'Run "%name%" over the yarns already aboard? It can shift and re-flag a great many at once.'
saved: Sieve saved.
stop: Stop after this sieve
stop_help: Later sieves be skipped for any yarn this one catches.
subheading: Sort yarns automatic-like as they come aboard.
summary:
every_message: 'it be any bottle at all'
every_message_in: 'it be any bottle at all in %account%'
full: 'If %conditions% → %actions%'
in_account: '%conditions%, aboard %account%'
no_actions: 'If %conditions% → (no orders yet)'
then: Then
when: When
yes: Aye
handwriting:
heading: Yer own mark
subheading: Scrawl it once and slap it on any scroll thereafter. 'Tis a picture of yer name, not a seal of office.
saved: Yer stowed mark
save: Stow the mark
clear: Scrub it out
remove: Throw the stowed mark overboard
health:
awaiting:
calendar_resync: >-
Th'' sync be under way. Awaitin'' word back — this card''ll tell
ye what came of it th'' moment it hears.
confirm:
destructive: >-
This heaves th'' waitin'' work overboard fer good. Naught be
tried again, an'' naught comes back up. Carry on?
fact:
last_full_resync: 'Counted the whole hold again (%count%×)'
never: 'never'
never_delivered: 'naught ever came ashore'
never_run: 'no run in th'' log'
not_registered: 'not registered'
push_expires: 'Registration runs out'
push_last_delivered: 'Last signal heard'
push_last_renewal: 'Renewal last sailed'
flash:
calendar_resync: >-
%calendar% be signed up fer a sync. She''s runnin'' below decks
now, and th'' card below will say how she fared.
push_repair_failed: >-
Could not sign %account% up fer instant delivery again. She
stays on th'' bell, so yer post keeps arrivin''. Th'' card below
shows what be known.
push_repaired: >-
Instant delivery signed up again fer %account%.
queue_discarded: 'Heaved %count% abandoned tasks overboard.'
queue_retried: 'Put %count% abandoned tasks back in th'' queue.'
heading: 'State o'' yer crew'
healthy:
body: >-
Yer crew be signed on, yer almanacs be sailin' true, an'
naught waits on ye. Should th' post ever stop comin' in,
th' state o' yer crew sails back into yer settin's list, an'
this page says why.
title: 'All hands healthy'
issue:
account_reconnect:
body: >-
No fresh post be comin'' in fer this one, an'' neither be
aught that hangs off it — th'' almanac, th'' sieves that
run on arrival, nor sendin'' from this address. Th'' post
ye already hauled aboard be safe an'' still here. This
happens when a secret word be changed, when th'' two-key
lock be thrown, or when th'' harbourmaster tears up yer
papers.
title: '%account% must sign on again'
account_scope_missing:
body: >-
Some leave plMail asked for when ye signed this account on
were never granted, so parts of it cannot work. Almanacs may
not sync, and changes ye make here — markin' read, stowin',
starrin' — may take on this screen, be refused by the
provider, and be undone at the next reckonin'. Sign on again
and grant all that ye be asked.
title: '%account% never got full leave'
account_sync_failing:
body: >-
Several tries in a row have foundered, so no new post be
arrivin' for this account and all that hangs on it stands
still. The post already aboard be safe. The sign-on be
sound, so 'tis the mail server refusin' or lost at sea —
check she be afloat and that naught changed about the host,
the port or the password.
title: "%account% keeps foulin' its reckonin'"
server_alert:
body: >-
Yer mail server sent this word for ye, repeated here as it
came: “%alert%”. plMail can do naught about it — a full hold,
a word about to lapse, or a port about to move be yours or
yer provider's to settle. It stands here till the server
stops sayin' it.
title: '%account% — word from yer mail server'
calendar_sync_failing:
body: >-
This almanac has stopped takin'' on changes, so she shows
what she knew th'' last time she sailed. Aught added or
shifted elsewhere since then be not aboard, an'' yer own
changes be not gettin'' out.
title: '%calendar% has stopped sailin'''
calendars_blocked:
body: >-
All becalmed for the one reason, which be the card above —
mend that and they all sail again. They show what they knew
when last they worked, and naught upon them be lost.
title: '%count% almanacs be becalmed: %calendars%'
integration_reconnect:
body: >-
Stowin'' cargo at %connection% an'' haulin'' it back will
not work till she be joined again. Yer post be untouched —
this be only th'' rope t'' that port. Naught stowed there
has been disturbed.
title: '%connection% needs joinin'' again'
integration_scope_missing:
body: >-
This connection sails, but some leave plMail asked for were
never granted, so parts of her cannot work. Browsin' may
come back empty while stowin' still works, or t'other way
round. Sign on again and grant all that ye be asked.
title: '%connection% never got full leave'
push_degraded:
body: >-
Th'' registration still stands an'' has not run out, yet
post has come ashore that it never cried out — so th''
signals be lost somewhere 'twixt th'' provider an'' this
here install, not left unasked fer. Fer Gmail that points
at th'' Pub/Sub subscription in Google''s Cloud: see that
it still carries yer topic t'' this address. Yer post keeps
arrivin'' on th'' bell meanwhile, some minutes later than
it ought.
title: 'Instant delivery be registered but not arrivin'' fer %account%'
push_lapsed:
body: >-
Th'' registration ran out an'' were never renewed, so naught
be pushed at all. Renewal sails once a day on its own; if
th'' last run below be days astern, th'' scheduled-task hand
has stopped an'' that be what wants mendin'', not this
account. Yer post keeps arrivin'' on th'' bell, some minutes
later than it ought.
title: 'Instant delivery ran out fer %account%'
queue_work_abandoned:
body: >-
%count% below-decks tasks tried, failed again an'' again,
an'' were set aside so they''d stop hammerin'' away. Most
times this be th'' wake o'' one o'' th'' troubles above
rather than a fault o'' its own — mend that first, then put
these back in th'' queue.
title: '%count% below-decks tasks were given up on'
outcome:
calendar_failed_again: >-
She''s gone and failed again. What she hollered this time be
below — th'' sync ran, it just didn''t hold.
calendar_still_waiting: >-
Th'' sync were started, but nary a word has come back. Try again,
or reload th'' page t'' see where she got to.
calendar_synced: 'Synced! This here calendar be up t'' date again.'
pending:
calendar_resync: 'Startin'' th'' sync…'
push_resubscribe: 'Switchin'' her back on…'
queue_discard: 'Castin'' ''em overboard…'
queue_retry: 'Puttin'' ''em back…'
reconnect: 'Settin'' course fer %provider%…'
reconnect_generic: 'Settin'' course fer th'' sign-in…'
repair:
calendar_resync:
label: 'Try sailin'' now'
promise: >-
Bids this almanac sail again straight away, an'' puts her
back on th'' usual bell. Naught aboard her be thrown out.
integration_grant:
label: 'Grant full leave'
promise: >-
Takes ye back to %connection% to sign on afresh and grant
all that be asked. Naught stowed there be touched.
integration_reconnect:
label: 'Join again'
promise: >-
Sends ye t'' sign on again, then restores th'' rope ye
already had. Yer sieves an'' stowin'' places keep workin''.
push_resubscribe:
label: 'Set instant delivery back on'
promise: >-
Signs this one up fer instant delivery again. Yer post
keeps arrivin'' either way while it be sorted.
queue_discard:
label: 'Heave ''em overboard'
promise: >-
Throws th'' abandoned tasks away without runnin'' them.
There be no haulin'' them back, an'' what they left undone
stays undone.
queue_retry:
label: 'Put ''em back in th'' queue'
promise: >-
Tries th'' abandoned tasks once more. Safe t'' press — any
that fail again just wash back up here.
grant_calendar:
label: 'Grant full leave'
promise: >-
Takes ye back to sign on as %account% and grant all that be
asked. Naught about yer post changes, and no post be hauled
again.
reconnect:
label: 'Sign this one on again'
promise: >-
Takes ye t'' sign on again, then sets th'' fresh papers on
this very same crew member. Yer post, yer holds, yer flags,
yer sieves, yer almanacs an'' yer riggin'' all stay exactly
as they be — naught be hauled down twice an'' naught be
thrown out. Ye must sign on as %account%; pick a different
address an'' it be refused, not swapped in.
reconnect:
done: '%account% be signed on again. Post an'' almanacs will catch up over th'' next few minutes.'
wrong_account: >-
That signed ye on as %actual%, but this one be %expected%.
Naught has been changed. Go ashore from %actual% with that
harbourmaster, then try again — swappin'' th'' address would
have mixed a stranger''s post in with yer own.
subheading: >-
Aught that has stopped workin'', what it means fer yer post, an''
th'' smallest thing that mends it.
technical_detail: 'Th'' fine print'
compose_behavior:
folded: 'Stowed'
forward_quote: 'Quoted text when forwardin'''
forward_quote_hint: 'Open a forward with the original stowed behind the pill, or spread on deck.'
heading: 'Scribblin'''
open: 'On deck'
subheading: 'How yer scribble window behaves, whatever ship be sailin''.'
insights:
extractor:
flight: Passages by air
flight_hint: "Flight numbers an' departures from airline bookin's an' boardin' mail."
github: GitHub
github_hint: "Issues an' pull requests from GitHub's messenger birds."
invoice: "Reckonin's"
invoice_hint: "What ye owe an' by when, read from bills an' duns."
otp: "Secret words"
otp_hint: "One-time words from sign-in post, good only 'til the glass runs out."
parcel: Cargo
parcel_hint: "Trackin' numbers an' where yer cargo be, read from shippin' letters."
subscription: "Standin' orders"
subscription_hint: "Renewals that sail on by themselves, an' trials about to run aground."
ticket: Passage papers
ticket_hint: "Tickets an' bookin's with a date writ on them."
heading: The spyglass
pane: "Banner o'er the mail list"
pane_hint: >-
Hoists yer next cargo, passage or ticket on a banner above the
inbox. Strikin' it lowers the banner an' nothin' else — plMail
still spies those facts in yer post, an' they bide in the
spyglass an' on the mail itself.
seg:
'off': 'Nay'
'on': 'Aye'
subheading: >-
Facts plMail spies in yer post — cargo, flights, tickets, GitHub
doin's — aboard yer own ship by fixed rules, no cloud an' no
guessin', an' droppin' the glass on one stops new cards from it.
integrations:
ask_admin: 'Th'' quartermaster has not opened this port.'
auth:
appPassword: 'app password'
oauth2: 'boardin'' papers'
available_heading: 'Moor at a port'
badge:
ask_admin: 'not opened'
soon: 'soon'
checked: 'sounded %date%'
connect: Moor
disabled: 'Line slackened'
disconnect: 'Cast off'
disconnect_confirm: 'Cast off from %name%? Cargo already hauled aboard stays put.'
disconnected: 'Cast off'
edit: Edit
empty: 'No ports moored yet.'
enabled: 'Line hauled taut'
field:
base_url: 'Port address'
base_url_fixed: 'Sailin'' to %url%, set by th'' quartermaster.'
name: Name
name_help: 'Only ye see it, to tell two moorings apart.'
permissions:
immich: 'asset.read — sight yer pictures and moving pictures|asset.download — haul the original aboard|asset.view — show previews in th'' dialog|asset.upload — stow cargo into Immich|album.read — list and browse yer albums|albumAsset.create — file stowed cargo under an album'
permissions_heading: 'Papers this key needs'
permissions_note: 'A key with all papers works too, and be simpler than tickin'' boxes.'
secret:
dropbox: 'Access token'
googleDrive: 'Access token'
googlePhotos: 'Access token'
immich: 'API key'
nextcloud: 'App password'
oneDrive: 'Access token'
secret_help:
dropbox: ''
googleDrive: ''
googlePhotos: ''
immich: 'Mint one in Immich under Account Settings → API Keys.'
nextcloud: 'Mint one in Nextcloud under Settings → Security → Devices & sessions. Never hand over yer login password.'
oneDrive: ''
secret_unchanged: 'Leave blank to keep th'' stored papers'
username: Username
heading: 'Friendly ports'
not_implemented: 'plMail cannot hail this port yet.'
oauth_no_code: 'Th'' port sent back no boardin'' code. Try again.'
oauth_state_mismatch: 'That boardin'' could not be vouched for. Start afresh.'
not_oauth: 'This port does not use that manner o'' boardin''.'
pause: Slacken
paused: slackened
resume: 'Haul taut'
save_tests: 'Stowin'' sounds th'' passage at once.'
saved: Moored
saved_with_error: 'Stowed, but th'' soundin'' came back foul'
subheading: 'Haul cargo aboard from other ports, and stow cargo to them.'
test: Sound
test_failed: 'Soundin'' came back foul'
test_ok: 'Passage be clear'
unavailable_heading: 'No passage from here'
calendars:
account_hint: Where reckonin's found in parrots from %address% be filed.
caldav:
connect: Make fast to a CalDAV port
disconnect: Cut the line to "%name%"
disconnect_confirm: >-
Cut the line to "%name%"? Every almanac kept in step with it be
struck from this deck. Aught on 'em that came off yer parrots an'
not off an almanac be rowed to yer own almanac first.
disconnect_title: Cut the line to this port
field:
address: The port's address
address_help: >-
The CalDAV address yer port shows ye, or just its domain —
plMail hails the domain an' asks where its almanacs be moored
afore it gives up.
name: What it be called
name_help: What to call this line in yer settin's.
reuse: Use the word from one o' me parrot accounts
reuse_account: Which account's word
reuse_account_none: Pick an account…
reuse_help: >-
Off unless ye say so, an' best left off: most ports want a
ship's key of their own, an' a tick here sends a word ye
gave plMail for yer parrots off to the address above.
secret: Ship's key
secret_help: >-
Cut one aboard yer own port instead o' handin' over yer
boardin' word — iCloud an' Fastmail take naught else.
username: Yer name aboard
username_help: The name yer port knows ye by.
intro: >-
Any CalDAV port at all: Nextcloud, Radicale, Baïkal, Fastmail,
iCloud, a crate in a cupboard. Gmail an' Outlook almanacs come
not this way — they sail in with the parrot account.
submit: Make fast an' find the almanacs
title: Make fast to a CalDAV port
count: '%count% almanacs'
default: The one in use
delete: Scuttle the almanac "%name%"
delete_title: Scuttle the almanac
edit: Amend the almanac "%name%"
empty: No almanacs yet.
from: Off %name%
heading: Almanacs
hide: Stow this almanac below
last_synced: 'Last hauled %when%'
make_default: Make "%name%" the almanac new reckonin's land on
make_default_title: Set as the one in use
mirrored: Kept in step
mirrored_hint: Kept in step with %name%.
never_synced: Not hauled yet
read_only: Look, don't touch
read_only_hint: This almanac takes no amendin' from this here deck.
show: Bring this almanac on deck
sources:
empty: >-
No account nor line here carries almanacs yet. Gmail an' Outlook
accounts do; for aught else, make fast to a CalDAV port.
find: Find the almanacs on %name%
heading: Where almanacs come from
why_admin: >-
Yer quartermaster may not have given the papers plMail signs in
with any almanac rights. Parrots sail without 'em; almanacs do
not.
why_consent: >-
Google's askin' screen lets ye untick almanac access while
lettin' the parrots through. Sign the account on again an' leave
that box ticked.
why_empty: No almanacs turnin' up?
why_none: Belike there be no almanacs on that account at all.
subheading: >-
Name, colours an' bell, which almanacs the views show, an' where a
new reckonin' lands.
subscribe:
default_locked: >-
New reckonin's land here, so this one stays. Make another
almanac the one in use first.
empty: There be no almanacs on %name%.
intro: >-
Tick the almanacs on %name% for plMail to keep in step with.
Reckonin's turn up within the minute.
mirrored: Already kept in step
primary: The main one
save: Stow the choosin'
title: Find me almanacs
unsubscribe_note: >-
Untickin' an almanac scuttles the copy held here. Aught on it
that came off yer parrots an' not off the almanac be rowed to
yer own almanac first.
sync_now: Haul "%name%" now
sync_now_title: Haul now
labels:
count: '%count% flags'
delete: Strike the flag "%name%"
edit: Mend the flag "%name%"
empty: No flags yet — hoist one, or they turn up after the first haul.
heading: Flags
hide: Lower this flag
show: Fly this flag
subheading: Hoist, rename and order yer flags, and choose which fly in the sidebar.
system: Ship's own
profile:
heading: Yer colours
save: Stow yer colours
subheading: The name an' likeness that fly on the parrots ye send.
language:
heading: Tongue
subheading: The tongue plMail speaks to ye in. Yer bottles be left as they were writ.
nav:
accounts: Th' crew
ai: "Ship's Oracle"
aliases: Aliases
app_passwords: Spare keys
appearance: Look o' the ship
calendars: Almanacs
filters: Sieves
general: General
group:
access: "Boardin' rights"
calendar: "Th' almanac"
mail: "Th' post"
personal: Yerself
health: "State o' yer crew"
insights: The spyglass
integrations: 'Friendly ports'
labels: Flags
notifications: Word from the crow's nest
profile: Yer colours
read_receipts: Read-marks
security: The ship's lock
sharing: Sharing
signature: Yer marks
notifications:
heading: Word from the crow's nest
ios_hint: >-
On iPhone and iPad, the lookout only calls once plMail be added to
the Home Screen: open her in Safari, tap Share, then "Add to Home
Screen", and allow the callin' from there.
state_denied: >-
Barred in yer browser settin's. Allow the lookout to call for this
site, then try again.
state_error: Somethin' went sideways. Try again.
state_off: 'Off — this here device gets no word.'
state_on: On — this here device gets word o' new mail.
state_pending: Waitin' on this device to answer the hail…
state_unconfigured: No cannon rigged on this ship.
state_unknown: Takin' a look…
state_unsupported: >-
This browser can't hear the lookout. On iPhone and iPad, add plMail
to the Home Screen first.
state_working: Workin' the riggin'…
subheading: >-
Get word o' new mail on this here device, even when plMail be
battened down.
this_device: This here device
toggle: Send up the lookout
toggle_off: Call down the lookout
unconfigured: >-
No cannon rigged on this ship — no VAPID keys be set. Run
"bin/console app:push:generate-vapid-keys".
password:
field:
current: Current secret word
new: New secret word
new_help: 'At least %count% characters. Naught else be asked of it — a long thing ye can recall beats a short thing ye cannot.'
repeat: Say th' new word again
flash:
changed: 'Secret word changed. Every deck ye marked "keep me aboard" on will ask for it anew.'
refused: 'Naught were changed — read th'' note under th'' field.'
heading: Secret word
remember_me_note: 'Changing yer secret word puts every remembered deck ashore but this one. That be why it be worth doing when a spyglass goes missing.'
subheading: 'What ye board with. Only ye can change it — not even a quartermaster may set it for ye.'
submit: Change th' secret word
security:
codes:
copy: Copy the tokens
copy_now: Stow yer spare tokens now
copy_now_hint: >-
This be the only time ye lay eyes on 'em. Keep 'em where ye can
reach without yer spyglass — a keyring, or paper in a locker. Each
one works but once.
heading: Spare tokens
hint: >-
Spare tokens get ye back aboard when yer spyglass goes overboard. A
fresh set replaces the old, so what ye wrote down before be worth
naught.
regenerate: Strike new tokens
remaining: '%count% unspent'
confirm_with_code: Countersign from yer spyglass
devices:
empty: No ship be remembered. Ye'll be hailed for a countersign every time.
expires: 'Runs dry %date%'
heading: Remembered ships
hint: >-
Ships that skip the hail for 30 days. Strikin' one takes hold at
once — she'll be hailed on her very next page.
last_used: 'Last aboard %date% from %ip%'
revoke: Strike
revoke_all: Strike every remembered ship
revoke_all_confirm: >-
Every remembered ship gets hailed next time, this one included.
Carry on?
revoke_confirm: 'Stop trustin'' %name%? She''ll be hailed next time.'
this_device: this here ship
disable:
confirm: Yer berth be guarded by yer secret word alone. Carry on?
heading: Strike the second lock
hint: This scuttles yer spare tokens and stops trustin' every remembered ship.
submit: Strike it
enable: Rig the second lock
enrol:
cancel: Belay that
heading: Rig the second lock
manual_copy: Copy the riggin' key
manual_toggle: Can't read the mark? Take the key instead
qr_alt: The mark for riggin' yer spyglass
step_app: >-
Ship a spyglass if ye have none — Google Authenticator, Aegis,
1Password an' Bitwarden all sail fine.
step_confirm: Give the six figures yer spyglass be showin' now.
step_scan: Read this mark with the spyglass.
submit: Aye, that's it
heading: The second lock
pitch: >-
Yer berth be the prize worth guardin' most: whoever reaches it can
call for a new secret word on everythin' else ye own, for yer parrot
cage be where them letters land. A second lock means a pinched secret
word be not enough on its own.
status:
off: The second lock be struck
on: The second lock be set
on_since: 'Set %date%'
subheading: How ye prove ye be ye when comin' aboard.
sharing:
heading: Sharing
subheading: >-
Berths that show part o yer log to someone wi no account, an notices
that let em board an hour o it.
signature:
for_alias: 'Yer mark fer %alias%'
heading: Yer marks
hint: 'Set at the foot o'' every new scroll, above the quoted words.'
label: 'Yer mark'
overriding: 'That name carries a mark o'' its own now — carve it below.'
per_address:
count: 'Names carryin'' a mark o'' their own: %number%'
disclosure: 'Carry a different mark on some o'' yer names'
inherits: 'Carries the ship''s own mark.'
override: 'Carry a different one'
override_for: 'Give %alias% a mark o'' its own'
revert: 'Use the ship''s own mark'
revert_for: 'Back to the ship''s own mark fer %alias%'
signs_with_nothing: 'Bare — this name sails unmarked.'
placeholder: 'No mark yet'
reverted: 'Back to the ship''s own mark.'
save: 'Set down yer mark'
saved: 'Set down.'
subheading: 'What be carved at the foot o'' the scrolls ye write.'
timezone:
heading: Ship's bells
subheading: The clock yer times be told by. Naught be rewrit — the same moment, read off yer own glass.
label: Ship's bells
follow_default: 'Th'' harbour''s own (%timezone%)'
current_time: 'It be %time% in these waters.'
title: Riggin'
sidebar:
accounts:
add: Sign on a crew member
heading: Th' crew
loading: Haulin' aboard…
none: No crew yet
colour: 'Colours flown by %account%'
colour_disabled: 'Colours flown by %account%, laid up in port'
open: 'Board %account%'
toggle: 'Open or close the lockers in %account%'
badge:
total: '%count% all told'
unread: '%count% unread'
compose: Scribble
labels:
add: Hoist a new flag
heading: Flags
none: No flags yet
new_mail_here: 'Fresh bottles washed up in %where%'
new_mail_here_count: '%count% fresh bottles washed up in %where%'
nav:
archive: The hold
calendar: Almanac
drafts: Scrolls in the works
inbox: Bottles washed ashore
more: More
sent: Cast off
snoozed: Kept below deck
spam: Bilge
starred: Marked with an X
trash: Davy Jones' locker
toggle: Raise or lower th' side riggin'
snooze:
later_today: Later this watch
next_week: Next se'nnight
pick_date: Name th' day and th' hour
this_weekend: Come th' weekend
tomorrow: On th' morrow
unsnooze: Haul it back up
snoozed:
empty: Naught kept below deck.
heading: Kept below deck
until: Surfaces %when%
starred:
empty: Naught marked with an X.
heading: Marked with an X
tabs:
forums: Taverns
new_count: '%count% fresh'
primary: Main deck
promotions: Peddlers
social: Shipmates
updates: Dispatches
thread:
no_subject: (no subject)
summary:
button: 'Boil this yarn down'
disclaimer: "Writ by th' oracle from th' messages below. Read 'em if it matters."
error:
disabled: "Th' yarn-boilin' be switched off."
generic: "Th' short of it could nay be writ."
model_missing: "That berth holds no writin' oracle. Somebody with the captain's keys must haul it aboard first."
no_answer: "Th' oracle gave nowt back."
timeout: "Th' oracle's berth took o'er long t' answer."
unreachable: "Th' oracle's berth could nay be raised."
generated: 'Boiled down %when%'
heading: "Th' short of it"
regenerate: 'Boil her again'
partial: "This yarn were too long t' send whole, so th' short of it were writ from but a part."
send_full: "Boil down th' whole yarn instead — slower, an' it asks more o' th' oracle's berth."
stale: "Th' yarn has shifted since this were writ."
state:
sent: "Sent t' th' oracle…"
stopped: 'Belayed. Nowt were kept.'
waiting: "Th' first askin' after a spell takes near a minute while th' oracle wakes an' reads th' yarn."
working: "Boilin' her down…"
stop: 'Belay'
too_short: "One message. Nowt t' boil down."
thread_row:
account: 'Hauled aboard %account%'
actions:
archive: Stow in the hold
cancel_schedule: Belay the castin' off
delete: Feed to the fishes
mark_read: Mark as read
mark_unread: Mark as unread
snooze: Let it drift
has_attachment: Carries cargo
me: me
meaning: "Found by meanin', not by the words ye typed"
meaning_badge: "meanin'"
message_count: "({ count })"
new: Never yet laid eyes on
new_badge: Fresh
no_recipient: (bound for nowhere)
no_subject: (no subject)
scheduled: 'Due %when%'
select: Pick it
star: Mark this bottle with an X
to: 'Bound for: %recipients%'
unread: Unread by any soul
unstar: Rub out the X
toast:
categorised: 'Stowed under %category%'
dismiss: Away with ye
labelled: 'Flyin'' the %label% flag'
moved: 'Hauled off to %folder%'
schedule_cancelled: The castin' off be belayed.
send_cancelled: Castin' off belayed — back to yer scroll.
send_too_late: Too late, matey — that message has already sailed.
send_failed: 'That message could not be hoisted: %subject%'
sent: Message away!
undo: Belay that
error:
no_archive_mailbox: There be no hold on this ship.
toolbar:
actions:
archive: Stow in the hold
delete: Feed to the fishes
label: Fly a flag
mark_read: Mark as read
mark_unread: Mark as unread
snooze: Let it drift
filter:
show_all: Show every last one
unread_only: Unread only
pagination:
next: Saltier
of: of
prev: Fresher
select:
all: All hands
none: None
read: Read
starred: Marked
unread: Unread
select_all: Pick every yarn
select_menu: More ways to pick
spam:
empty: No bilge aboard.
heading: Bilge
trash:
empty: Naught fed to the fishes.
heading: Davy Jones' locker
two_factor:
cancel: Come aboard as another soul
flash:
code_rejected: That countersign be wrong. Check yer spyglass an' try again.
codes_regenerated: New spare tokens struck. The old ones be worth naught.
device_revoked: That ship be hailed next time.
devices_revoked: No ship be remembered any more.
disabled: The second lock be struck.
enabled: The second lock be set.
form:
code: Countersign
code_hint: >-
The six figures from yer spyglass, or one o' yer spare tokens.
submit: Carry on
submitting: "Checkin' th' countersign…"
trust_device: Don't hail this ship again
trust_device_hint: For 30 days. Ye can strike it any time from Riggin' → The ship's lock.
page_title: The second lock
recovery_hint: >-
Spyglass overboard? Use one o' the spare tokens ye stowed when ye rigged
this.
tagline: One more turn o' the capstan