mirror of
https://github.com/karatektus/pl_mail.git
synced 2026-10-25 10:04:18 +00:00
Scheduled send did nothing when a time was picked by hand, and it did it
silently. ScheduledSendResolver refuses anything closer than MIN_SECONDS (60s);
the picker only checked whether a time had PASSED, so the entire band between
now and a minute from now sailed through the browser. The server then reported
the refusal with $form->addError() — a ROOT error — and _window.html.twig
rendered only form.toAddresses's errors, so the message went nowhere at all.
Turbo replaced the compose frame with a re-render identical to what was already
on screen: menu closed, composer unchanged, no toast, one request in the
profiler, console clean.
Which is exactly the click a person makes to test the feature — they type the
next whole minute. Every green test used a PRESET; the custom picker appeared
in one test that drives it to a refusal, so "pick a time and have it actually
schedule" was asserted nowhere.
* the picker mirrors MIN_SECONDS and refuses below it, locally and in words
that are true of the time chosen ("past" and "too soon" are now two
different things to be told, in three catalogues)
* root-level form errors have somewhere to render, so no refusal from
schedule() can be swallowed again
* the spec drives the custom picker to a real schedule, all the way to a
persisted badge in Drafts — and pins the floor case as a local refusal
with no round trip at all
And the rest of the pass:
* the signature no longer eats the first paragraph. Clicking the empty space
BELOW it put the caret at the end of the sign-off, so typing welded onto
it; those clicks now land in the writing space above. The emptiness check
counted the signature as not-the-user's-writing unconditionally, so text
that had landed inside it was subtracted before the count and Send claimed
a visibly full message had none — the block is skipped only while it is
untouched.
* the subject/body confirmations are the in-app panel the plain-text switch
already uses, not window.confirm(), which froze a test session three times.
Both reasons are one question asked once, and the retry goes back through
the same submitter so a scheduled send stays scheduled.
* the To field: the refusal clears when a recipient is added, names the
invalid address rather than blaming the count, and keeps what was typed
(Tom Select wiped the box on blur before submit ever saw it). The
suggestion panel no longer reopens over the Subject row on every focus.
* aria-invalid and aria-describedby tie the refusal to the input; the From
select and the Tom Select original are named; the picker's refusal is a
role="alert".
* a subject typed on its own is worth autosaving — the threshold counted the
body alone, so "TEST-RELOAD halbfertig" was lost on reload with no warning
and nothing in Drafts. Below the threshold, beforeunload interrupts.
* the emoji panel is capped against the compose WINDOW rather than the
viewport (its top edge sat 33px outside it), the grid's scrollbar is thin
rather than a 15px native bar with arrows, and the skin-tone button is off
the panel outline.
* vergrößern, Schriftgröße, groß — the compose labels were the only corner
of the UI spelling it the Swiss way, and a spec was asserting it.
phpunit OK (3427 tests, 8849 assertions); composer stan [OK] No errors;
120 compose e2e passed, plus 48 adjacent.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2225 lines
95 KiB
YAML
2225 lines
95 KiB
YAML
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:
|
||
google: Sail on with Google
|
||
info: Sign on with yer harbourmaster — no secret word be kept aboard.
|
||
microsoft: Sail on with Microsoft
|
||
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'
|
||
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?'
|
||
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.'
|
||
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.'
|
||
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.'
|
||
redirect_uri: 'Return bearing'
|
||
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.'
|
||
redirect_uri_help: 'Paste this into th'' harbourmaster''s ledger exactly as writ. Change it later and every moored line snaps.'
|
||
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'
|
||
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:
|
||
database: Database
|
||
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'
|
||
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. A quartermaster who could change either would be a second way into every hold aboard.'
|
||
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. Changed later by th'' hand, or reset from th'' console.'
|
||
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.
|
||
password_too_short: 'Twelve characters at least — ye''re choosing this for somebody else.'
|
||
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
|
||
|
||
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
|
||
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
|
||
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.
|
||
legend: Almanacs
|
||
read_only: This almanac takes no changes
|
||
delete: Scuttle it
|
||
description: The tale of it
|
||
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
|
||
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
|
||
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.
|
||
hidden: Almanac stowed below
|
||
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
|
||
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:
|
||
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_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…"
|
||
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
|
||
|
||
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:
|
||
placeholder: Search the hold…
|
||
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.
|
||
|
||
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'
|
||
|
||
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%"? Yarns keep their other flags and be not thrown overboard.'
|
||
delete_confirm_children: 'Strike "%name%" and the %count% flag(s) beneath it? 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
|
||
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
|
||
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
|
||
details:
|
||
categorised:
|
||
correspondent: 'ye have written to this one'
|
||
default: 'naught marked it as bilge'
|
||
forum: 'a crew-list header: '
|
||
gmail: 'Gmail swore it: '
|
||
promotion: 'a bulk-cargo header: '
|
||
social: 'the sender port '
|
||
update: 'a sign of an unmanned sender: '
|
||
category: rank
|
||
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_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-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
|
||
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.
|
||
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.
|
||
locale: Tongue
|
||
name_first: First name
|
||
name_last: Family name
|
||
password: Secret word
|
||
password_repeat: Say the secret word again
|
||
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:
|
||
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
|
||
password_help: Leave it blank to keep the secret word ye have.
|
||
primary: Flagship
|
||
push:
|
||
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
|
||
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
|
||
theme: Theme default
|
||
upload: Hoist an image
|
||
density:
|
||
comfortable: Roomy
|
||
compact: Cramped
|
||
cosy: Snug
|
||
heading: Quarters
|
||
export: Export theme
|
||
glass:
|
||
heading: Spyglass
|
||
paneAlpha: Opacity
|
||
paneBlur: Sea fog
|
||
radius: Corner radius
|
||
scrimAlpha: Backdrop dimmin'
|
||
subheading: How much o' the backdrop shows through yer panels.
|
||
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.
|
||
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
|
||
reset: Back to how she came
|
||
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
|
||
light: Light
|
||
nord: Nord
|
||
solar: Solar
|
||
subheading: Colour scheme for the whole ship.
|
||
system: Ship's own
|
||
back: Back to the hold
|
||
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%'
|
||
in_account: '%conditions%, aboard %account%'
|
||
full: 'If %conditions% → %actions%'
|
||
no_actions: 'If %conditions% → (no orders yet)'
|
||
then: Then
|
||
when: When
|
||
yes: Aye
|
||
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?
|
||
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.
|
||
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,
|
||
this be th'' page that 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'
|
||
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'''
|
||
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'
|
||
push_degraded:
|
||
body: >-
|
||
Yer post still arrives, only not th'' instant it be sent —
|
||
this one has fallen back t'' checkin'' on th'' bell, so
|
||
fresh letters can take some minutes t'' show. Naught be
|
||
lost, an'' there be no hurry.
|
||
title: 'Instant delivery be off 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_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.
|
||
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'
|
||
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.'
|
||
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: ''
|
||
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_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:
|
||
sharing: Sharing
|
||
accounts: Th' crew
|
||
aliases: Aliases
|
||
app_passwords: Spare keys
|
||
appearance: Look o' the ship
|
||
calendars: Almanacs
|
||
general: General
|
||
group:
|
||
access: "Boardin' rights"
|
||
calendar: "Th' almanac"
|
||
mail: "Th' post"
|
||
personal: Yerself
|
||
health: "State o' yer crew"
|
||
profile: Yer colours
|
||
filters: Sieves
|
||
integrations: 'Friendly ports'
|
||
labels: Flags
|
||
notifications: Word from the crow's nest
|
||
security: The ship's lock
|
||
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".
|
||
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
|
||
open: 'Board %account%'
|
||
toggle: 'Open or close the lockers in %account%'
|
||
compose: Scribble
|
||
labels:
|
||
add: Hoist a new flag
|
||
heading: Flags
|
||
none: No flags yet
|
||
new_mail_here: 'Fresh bottles washed up in %where%'
|
||
nav:
|
||
calendar: Almanac
|
||
archive: The hold
|
||
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
|
||
primary: Main deck
|
||
promotions: Peddlers
|
||
social: Shipmates
|
||
updates: Dispatches
|
||
|
||
thread:
|
||
no_subject: (no subject)
|
||
|
||
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
|
||
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:
|
||
dismiss: Away with ye
|
||
schedule_cancelled: The castin' off be belayed.
|
||
send_cancelled: Castin' off belayed — back to yer scroll.
|
||
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
|
||
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
|