{"account":{"title":"Account","tabs":{"trades":"Trades","info":"Info","transactions":"Transactions","ai":"AI access"},"bets":{"summary":{"netPnl":"Net P/L","invested":"Invested"},"loadError":"We couldn't load your positions. Try again in a moment — nothing about them has changed.","loading":"Loading…","empty":"No positions yet.","browseMarkets":"Browse markets","toPlace":"and make your first call.","outcomePrefix":"Outcome {idx}","realized":"Realized","unrealized":"Unrealized","status":{"cancelled":"Cancelled","disputed":"Under review","awaitingSettlement":"Awaiting settlement","closing":"Closing…","open":"Open","won":"Called it — paid","lost":"Didn't happen — no payout","settling":"Settling"},"closesIn":"Closes in","browseMarketsCta":"<browse>{browseLabel}</browse> {trailing}"},"wallet":{"email":"Email","profileLoadError":"We couldn't load your account details. Try again in a moment.","balance":"Balance","deposit":"Deposit","withdraw":"Withdraw","transfers":"Transfers","transfersLoadError":"We couldn't load your transfers. Try again in a moment.","transfersEmpty":"No transfers here. Deposits and withdrawals appear as soon as they happen.","transfersLoading":"Loading…"},"transfers":{"tradePlaced":"Trade placed","marketPayout":"Market payout","marketRefund":"Market refund","orderPlaced":"Order placed","orderRefund":"Order refund","deposit":"Deposit","depositReversed":"Deposit reversed","withdrawal":"Withdrawal","withdrawalReturned":"Withdrawal returned","withdrawalCommission":"Withdrawal commission","withdrawalCommissionRefund":"Withdrawal commission returned","adminCredit":"Credit from GADUIN","status":{"pending":"Pending","inProgress":"In progress","done":"Done","returned":"Returned"}},"apiMcp":{"apiKeys":"API keys","apiKeysHelp":"Give an AI assistant or your own program access to GADUIN — read markets, check your positions, place trades. Issue a key for each one, and revoke it whenever you like.","generateKey":"Generate API key","loading":"Loading…","empty":"No keys yet. Generate one to let an AI assistant read your markets and positions.","keyName":"Name","keyNamePlaceholder":"e.g. claude-desktop, my-bot","scopes":"Scopes","scope":{"read":"Read markets and positions (read)","markets:trade":"Place trades (markets:trade)","wallet:withdraw":"Withdraw from your balance (wallet:withdraw)","full":"Full access (full)"},"generate":"Generate","generating":"Generating…","cancel":"Cancel","lastUsed":"Last used {when}","lastUsedNever":"Never used","revoke":"Revoke","revoking":"Revoking…","revoked":"Revoked","confirmRevoke":"Revoke the key “{name}”? Anything using it stops working immediately. This can't be undone.","newKeyTitle":"New key “{name}”","newKeyWarning":"Copy this secret now — it won't be shown again.","dismiss":"Dismiss","mcpServer":"Connect over MCP","mcpDescription":"Connect Claude Desktop or any <a>MCP-compatible</a> client so it can list markets, check your positions and check your balance on your behalf.","endpoint":"Endpoint","claudeConfig":"Claude Desktop config","copy":"Copy","copied":"Copied","pasteInto":"Paste this into <code>~/Library/Application Support/Claude/claude_desktop_config.json</code>, swap in one of your API keys, then restart Claude.","llmPromptLabel":"Paste into any LLM chat","llmPromptHelp":"Drop this into Claude.ai, ChatGPT or any chat client to tell the assistant how to reach GADUIN over MCP."},"profile":{"title":"Profile","edit":"Edit","save":"Save","saving":"Saving…","cancel":"Cancel","accountType":"Account type","country":"Country","legalName":"Legal name","companyRegistrationNumber":"Company registration number","personal":"Personal","business":"Business","errors":{"accountTypeRequired":"Pick an account type","countryRequired":"Pick a country","legalNameRequired":"Add your legal name","taxIdRequiredBusiness":"Business accounts need a {label}","companyRegRequiredBusiness":"Business accounts need a company registration number","notSignedIn":"You've been signed out. Sign in again to pick up where you left off."}},"security":{"title":"Security","enabled":"Enabled","twoFactorTitle":"Two-factor authentication","twoFactorEnabled":"Your account is protected by an authenticator app. You'll be asked for a 6-digit code every time you sign in.","twoFactorDisabled":"Add a second step to every sign-in. Any authenticator app works — Google Authenticator, 1Password, Authy and others.","enable":"Enable two-factor auth","disable":"Disable two-factor auth","currentCode":"Current 6-digit code","confirmDisable":"Confirm disable","disabling":"Disabling…","cancel":"Cancel","errors":{"enterCode":"Enter the 6-digit code from your authenticator","invalidCode":"That code didn't work. Codes expire fast — take a fresh one from your authenticator app.","recentVerificationRequired":"We need a fresh code to confirm it's you. Enter the current one from your authenticator app.","disableFailed":"We couldn't switch that off. Try again in a moment."}}},"addressBook":{"title":"Saved addresses","add":"Add address","labelPlaceholder":"Label (optional)","addressPlaceholder":"Destination address","save":"Save","saving":"Saving…","cancel":"Cancel","loading":"Loading…","empty":"No saved addresses. Add the address your withdrawals should go to.","unlabeled":"Unlabeled","remove":"Remove","removeConfirm":"Remove this saved address? You can add it again later.","balanceLoading":"Loading balance…","balanceUnavailable":"Balance unavailable","balanceUsdt":"{balance} USDT","attestation":"I confirm that this is <strong>my own wallet</strong>, I am the sole controller of its private keys, and it is <strong>not held by or on behalf of any U.S. person</strong> or sanctioned party.","errors":{"evmFormat":"An Ethereum address starts with 0x and is 42 characters long","attestationRequired":"Tick the ownership box to continue"}},"airport":{"breadcrumbLabel":"Breadcrumb","headTitle":"{name} ({code}) Departures & Delays","metaDescription":"{name} ({code}) departures today in {city}: see how the day is really running and take a position on the flights leaving.","localTime":"Local time","disclaimer":"Departure times and statuses at {airport} come from the airport's own board and are revised as the day goes on. Prices on this page are what the market is charging — not an operational forecast, and never an official statement about a flight.","sections":{"today":"Today","markets":"Markets at {code}"},"status":{"normal":"Normal operations","minor":"Minor disruption","major":"Major disruption","unknown":"Too early to call","evidence":"{observed} of {scheduled} departures have reported a departure time today. Of those, {late}% left more than {minutes} minutes behind schedule. {cancelled, plural, =0 {Nothing on the board has been cancelled} one {One flight has been cancelled} other {# flights have been cancelled}}.","thin":"So far {observed} of {scheduled} departures have reported a departure time. It takes {floor} reported departures before a rate means anything, so no punctuality figure is shown yet. {cancelled, plural, =0 {Nothing on the board has been cancelled} one {One flight has been cancelled} other {# flights have been cancelled}}.","noBoard":"No departure board is being published for this airport right now."},"observed":{"title":"Departures today","reported":"{observed}/{scheduled} reported","barLabel":"Observed departures: on time against delayed","basis":"Observed departure time against the published time. Each flight counts once, however many airline codes the board lists it under. On time and delayed are shares of the {observed} departures whose departure time has been reported. Cancelled is a share of all {scheduled} flights on the board. More than {minutes} minutes late counts as delayed.","thin":"{observed} of today's {scheduled} departures have a reported departure time. That is too few to state a rate, so the counts stand on their own. Cancelled is a share of the whole board.","median":"Typical difference {minutes} min."},"chart":{"title":"Through the day","awaiting":"Not reported","now":"Now"},"outlook":{"title":"What the market expects","flights":"{count} flights","barLabel":"Average market price by outcome","basis":"Average price across {count} flights still trading out of {airport}. These markets settle on the arrival, not the departure, with more than {minutes} minutes late counting as delayed. So this is a different measure from the departures beside it, and it is a price rather than a forecast.","empty":"Nothing leaving here is trading right now.","trouble":"Priced for trouble"},"board":{"title":"Departures","updatedAt":"Updated {time}","viewMarket":"View market","viewFlight":"Flight status","fromNow":"From now","fullDay":"Full day ({count})","empty":"No departures are published for this airport today.","late":"+{minutes} min","early":"−{minutes} min","split":"On time {onTime}, delayed {delayed}, cancelled {cancelled}","verdict":{"on_time":"On time","delayed":"Delayed","cancelled":"Cancelled","diverted":"Diverted"}},"throughput":{"title":"Throughput market","otherDay":"for {date}","questionArrivals":"Will {airport} see at least {threshold, plural, one {# arrival} other {# arrivals}} on {date}, airport local time?","questionArrivalsAtMost":"Will {airport} stay at or below {threshold, plural, one {# arrival} other {# arrivals}} on {date}, airport local time?","questionDepartures":"Will {airport} see at least {threshold, plural, one {# departure} other {# departures}} on {date}, airport local time?","questionDeparturesAtMost":"Will {airport} stay at or below {threshold, plural, one {# departure} other {# departures}} on {date}, airport local time?"},"strip":{"title":"Airports","all":"All airports"},"index":{"title":"Airports","h1":"Airports & departure boards","headTitle":"Airports — Departure Boards & Flight Delay Markets","intro":"Live departure boards and delay markets for {count} airports. Every day runs midnight to midnight on the airport's own local clock.","metaDescription":"Live departure boards and delay markets for {count} airports, with today's on-time share for each. Every day runs on the airport's local clock.","lead":"Major hubs","live":{"h1":"Airports ranked by disruption","intro":"How today is actually running at each airport, worst first, with the flights still listed to leave them.","disrupted":"Worst day so far","ranked":"Every airport, most disrupted first","basis":"A share counts only what the day has already decided — the movements flown or cancelled, that ended up cancelled or more than 15 minutes behind schedule. The figure under it is how late the late ones typically ran. Every day here is that airport's local day.","share":"Disrupted {side, select, departures {departures} arrivals {arrivals} both {departures and arrivals} other {on its worse side}}"}}},"auth":{"back":"Back","login":{"title":"Welcome back","subtitle":"Sign in to place trades and track your positions.","headTitle":"Sign in"},"signup":{"title":"Create your account","subtitle":"Trade live delays on flights, trains and shipping lanes. Zero trading fees. We'll email you a one-tap sign-in link — no password.","headTitle":"Create account"},"email":"Email","sendMagicLink":"Email me a sign-in link","sending":"Sending…","challengeRetry":"That security check didn't go through. Try it again.","challengeComplete":"Finish the security check to continue.","serviceDegraded":"Sign-in is paused for a few minutes while we fix a problem on our side. Nothing on your account has changed.","magicSent":"Link sent to <strong>{email}</strong>. Open it to sign in — no password needed.","verify":{"headTitle":"Signing in","title":"Sign-in link","signingIn":"Signing you in…","invalid":"This sign-in link isn't complete. Request a new one to continue.","expired":"This sign-in link has expired or was already used. Request a new one to continue.","error":"We couldn't complete sign-in. Request a new magic link to try again.","backToLogin":"Back to sign in"},"errors":{"authFailed":"We couldn't complete sign-in. Request a new magic link to try again.","sendFailed":"We couldn't send your sign-in link. Try again in a moment.","plusNotAllowed":"Email addresses with a “+” aren't accepted. Enter your address without the “+” part."}},"authFunnel":{"magicSentReturn":"Link sent to <strong>{email}</strong>. Open it and you'll land right back where you left off.","sentHint":"Nothing yet? Check spam or promotions. The link works once and expires in 15 minutes.","differentEmail":"Use a different email","haveAccount":"Already have an account?","signInInstead":"Sign in","newHere":"New to GADUIN?","createAccount":"Create an account"},"bookingWindow":{"badge":"Next {hours} hours","microNote":"later departures open as they approach","tooltip":"Only journeys departing within the next {hours} hours are listed — later ones open as they approach."},"brand":"GADUIN","common":{"loading":"Loading…","loadingAria":"Loading","close":"Close","skipToContent":"Skip to content","notSignedIn":"You've been signed out. Sign in again to pick up where you left off."},"country":{"label":"Country","placeholder":"Start typing a country…","noMatch":"No countries match."},"deposit":{"title":"Deposit","network":"Network","networkEthereum":"Ethereum (ERC-20)","provisioning":"Getting your address…","copy":"Copy address","copied":"Copied","sendOnlyEthereum":"Send only USDT on Ethereum (ERC-20) to this address. Other tokens, or USDT on another network, may not be recoverable.","nextTitle":"What happens next","nextSend":"Send USDT (ERC-20, Ethereum only) to your address above.","nextConfirm":"Your balance updates after {confirmations} network confirmations.","nextTrade":"Then trade on any open market.","done":"Done"},"errors":{"unexpected":{"label":"Page error","title":"Something went wrong on our end","description":"This page stopped loading partway through. Try again in a moment; if it keeps happening, get in touch. Nothing on your account changed because of this.","retry":"Try again","home":"Go home","reference":"Support reference"},"global":{"title":"The site didn't load","description":"Something broke before the page could start. Reload to try again. Nothing on your account changed because of this.","retry":"Reload"},"forbidden":{"label":"No access","title":"You don't have access to this page","description":"This page isn't open to your account. If you think that's wrong, get in touch and we'll check it.","home":"Go home"},"unauthorized":{"label":"Sign in required","title":"Sign in to continue","description":"You've been signed out. Sign in again to pick up where you left off.","signIn":"Sign in","home":"Go home"},"serverError":{"label":"Site error","title":"Something went wrong on our end","description":"Something on our side broke while that page was loading. Try again in a moment; if it keeps happening, get in touch.","home":"Go home"},"maintenance":{"label":"Maintenance","title":"We'll be right back","description":"The site is down for scheduled maintenance. Try again shortly — nothing on your account has changed.","home":"Go home"},"loading":{"label":"Loading"},"action":{"offline":"You're offline. Reconnect and try again — nothing was sent.","signedOut":"You've been signed out. Sign in again and we'll bring you back here. Nothing was charged.","notAllowed":"Your account can't do that. Get in touch and we'll check it.","tooManyAttempts":"Too many tries. Wait a few minutes and try again — your account is fine.","paused":"This is paused for a few minutes while we fix a problem on our end. Nothing on your account has changed.","checkDetails":"Some of those details weren't right. Check them and try again.","alreadyDone":"That already went through. Check your history before trying again — you haven't been charged twice.","loadFailed":"We can't show this right now. Try again in a moment.","unknown":"Something went wrong on our end. Try again in a moment; if it keeps happening, get in touch.","unknownMoney":"Something went wrong on our end. Try again in a moment; if it keeps happening, get in touch. Nothing on your account has changed.","insufficientFunds":"That's more than your balance. Lower the amount or top up — nothing was charged.","marketClosed":"Trading closed on this market while you were typing, so it didn't go through. Nothing was charged. The result comes next.","tradeTooLarge":"That's larger than this market can take right now. Try a smaller amount — nothing was charged.","quoteUnstable":"We couldn't price that amount just now. Try a slightly different amount — nothing was charged."}},"filters":{"airline":"Airline","operator":"Operator","fromCountry":"From country","toCountry":"To country","fromPort":"From port","toPort":"To port","arrivingWithin":"Arriving within","closingWithin":"Closing within","window":{"any":"Any time","1h":"1 hour","3h":"3 hours","6h":"6 hours","12h":"12 hours","24h":"24 hours","48h":"48 hours"},"clear":"Clear","clearAll":"Clear filters","showAll":"Show all ({count})","showLess":"Show less","filtersLabel":"Filters","unavailable":"Filters aren't applying right now — nothing is hidden","done":"Done"},"footer":{"tagline":"GADUIN brings together flight observations and markets on transport disruptions. Markets settle under each contract’s published terms and evidence rules.","followOnX":"Follow GADUIN on X","columns":{"markets":"Markets","help":"Help","account":"Account","legal":"Legal","learn":"Learn","browseBy":"Browse by"},"blog":"Blog","supportEmail":"support@gaduin.com","copyright":"© {year} GADUIN. All rights reserved.","disclaimer":"Not available to U.S. persons. Trade responsibly.","cookieNotice":"By continuing to use GADUIN, you agree to our use of cookies and to our <terms>Terms of use</terms> and <privacy>Privacy Policy</privacy>.","privacy":"Privacy","terms":"Terms of use","userAgreement":"User agreement","responsibleTrading":"Responsible trading","about":"About","categoryHub":"Supply-chain disruption","learn":{"howSettlement":"How settlement works","predictionMarkets":"Prediction markets","dataSources":"Data sources","glossary":"Glossary"},"browseBy":{"airlines":"Airlines","airports":"Airports","operators":"Train operators","ports":"Ports","flightStatus":"Flight status & delay history"}},"freshness":{"daysAgo":"{n}d ago","hoursAgo":"{n}h ago","justNow":"just now","live":"Live","minutesAgo":"{n}m ago","noData":"Not reported","secondsAgo":"{n}s ago","stale":"stale","unavailable":"{label} not reported"},"globeTooltip":{"flight":"Flight","train":"Train","ship":"Ship","volume":"Volume","closing":"closing"},"header":{"logIn":"Sign in","signUp":"Sign up","logOut":"Sign out","account":"Account","help":"Help","breadcrumbHome":"Home","menu":"Menu","settings":"Settings","nav":{"flightStatus":"Flight status","airports":"Airports","faq":"FAQ","live":"Live","agents":"AI agents","learn":"Learn","airlines":"Airlines","stations":"Stations","operators":"Operators","ports":"Ports","chokepoints":"Chokepoints"},"helpMenu":{"faq":"FAQ","contact":"Contact support","followX":"Follow on X","language":"Language"},"cat":{"trending":"Trending","flights":"Flights","airports":"Airports","trains":"Trains","ships":"Shipping","institutional":"Institutions"},"search":{"placeholder":"Search a flight, train, city or route","noResults":"Nothing live matches that. Try a flight number, a city, a port or a passage."}},"hero":{"title":"Every movement is a market.","subtitle":"Every departure board, timetable and ETA is a prediction. Price the ones that will not hold, and let the official record settle it. Zero trading fees.","globe":{"disrupted":"{count} disrupted"},"headline":"The prediction market for flight, train and shipping delays","lookups":{"label":"Check a status","flights":"Check a flight","flightsAll":"Is my flight delayed?","chokepoints":"Chokepoint status","chokepointsAll":"All passages","passage":{"hormuz":"Strait of Hormuz","suez":"Suez Canal","bab-el-mandeb":"Bab-el-Mandeb","panama":"Panama Canal","malacca":"Strait of Malacca","bosporus":"Bosporus"},"trains":"Is my train late?","trainsBody":"Live delays and cancellations, station by station.","trainsCta":"Check your train"}},"home":{"liveAirports":{"title":"Live airports","camTitle":"{airport} live cam","volume":"{amount} volume","watch":"Watch {airport} live","previous":"Previous airport","next":"Next airport","noDepartures":"No departures reported","countingStarts":"{threshold} departures needed · counting starts at local midnight","countingStartsArrivals":"{threshold} arrivals needed · counting starts at local midnight","countPending":"{threshold} departures needed · waiting on the count","countPendingArrivals":"{threshold} arrivals needed · waiting on the count","localTime":"{time} local","viewAll":"View all"},"categories":{"cta":"Browse all","flights":{"title":"Flights"},"trains":{"title":"Trains"},"ships":{"title":"Shipping"}},"explainer":{"heading":"How GADUIN prediction markets work","steps":{"1":{"title":"Choose a listed event","body":"Browse flight, train or shipping markets. Check the service, date and outcomes on the market page."},"2":{"title":"Read the rules and price","body":"Review the outcome definitions, trading close and settlement rules. Weigh the price before you trade — the full amount you put in is at risk."},"3":{"title":"Follow the outcome","body":"The contract settles under the market’s published rules. A contract on the outcome that happens pays $1; every other contract pays $0."}},"trust":"Published market rules and platform terms govern trading and settlement. Trading involves risk. Not available to US persons.","readFaq":"Read the FAQ","terms":"Terms","guideLinksLabel":"Learn before you trade","contractGuide":"Prediction markets and event contracts","settlementGuide":"How settlement works","flightStatus":"Check flight status"},"learnLinks":{"text":"New to event contracts? See <hub>what a supply-chain disruption market is</hub> and <settle>how public-data settlement works</settle>."},"rail":{"resolving":"Closing soon","emptyResolving":"Nothing closing soon","closesIn":"Closes in {time}","longShots":"Long shots","emptyLongShots":"No long shots trading right now","disrupted":"Most disrupted","emptyDisrupted":"Nothing is badly disrupted right now","volume":"Most traded","emptyVolume":"No volume"},"featured":{"vol":"{amount} traded","carouselLabel":"Featured markets","slideLabel":"Market {n} of {total}","goToSlide":"Show market {n}","slotChokepoint":"Chokepoints","slotFlight":"Flights","slotAirport":"Airports","slotShip":"Shipping","slotTrain":"Trains","titleFlight":"Will {airline} flight {flight} from {origin} to {destination} arrive on time, be delayed, or be cancelled?","titleFlightNoAirline":"Will flight {flight} from {origin} to {destination} arrive on time, be delayed, or be cancelled?","titleShip":"Will {vessel} arrive at {destination} on time, be delayed, or be cancelled?","titleAirport":"Will {airport} clear {threshold} {movement} today, airport local time?","titleAirportAtMost":"Will {airport} stay at or below {threshold} {movement} today, airport local time?","titleChokepoint":"Will at least {threshold} ships pass through the {passage} in the week of {week}?","titleChokepointAtMost":"Will at most {threshold} ships pass through the {passage} in the week of {week}?","titleChokepointRound":"Will at least {threshold} ships round the {passage} in the week of {week}?","titleChokepointRoundAtMost":"Will at most {threshold} ships round the {passage} in the week of {week}?","titleTrain":"Will the {time} from {origin} to {destination} arrive on time, be delayed, or be cancelled?","titleTrainNoTime":"Will the {origin} to {destination} service arrive on time, be delayed, or be cancelled?","bodyDoubt":"The market gives an on-time arrival a {chance} chance — less than this flight's own record suggests.","bodyAgree":"The market gives an on-time arrival a {chance} chance. It has landed on time on {onTime} of its last {flights} flights.","bodyAirborne":"In the air now, with {destination} still ahead. The market prices whether it lands on time.","bodyApproach":"On approach to {destination}. The market gives an on-time arrival a {chance} chance, settled on the recorded arrival.","bodyScheduled":"Still at the gate. The market gives an on-time arrival a {chance} chance — one of {count} open right now.","bodyAirport":"Today's {movement} at {airport} are running against a {threshold} line, with {count} reported so far.","bodyAirportDay":"A full day at {airport}, counted against a line of {threshold} {movement}. The market gives that a {chance} chance, and the day's recorded count settles it.","bodyShip":"{vessel} is under way for {destination}. The market gives an on-time arrival a {chance} chance, settled on the port's own arrival record.","bodyAirportNoCount":"A whole day at {airport}, priced as one market against a line of {threshold}. The day's recorded count settles it.","bodyAirportNoCountAtMost":"A whole day at {airport}, priced as one market against a ceiling of {threshold}. The day's recorded count settles it.","bodyChokepoint":"A week of traffic through the {passage}, counted as one number. The market gives that a {chance} chance; the count is published a few days after the week ends and settles it.","bodyTrain":"The market gives an on-time arrival at {destination} a {chance} chance, settled on the operator's own recorded arrival.","movementArrivals":"arrivals","movementDepartures":"departures","slidePicker":"Choose a featured market","watchLive":"Play the live view of {airport}"},"live":"Live","stream":{"silent":"Not updating — prices may be delayed","reconnecting":"Reconnecting — prices may be delayed","connecting":"Connecting","waiting":"Waiting for prices"},"tabs":{"label":"Market categories"}},"hubs":{"operator":{"h1":"{label} delay markets","headTitle":"{label} ({code}) Train Delays & On-Time Record","intro":"Take a position on {label} ({code}) services — whether each one runs on time, at a price that moves until it does. Settled automatically from official data.","metaDescription":"{label} ({code}) train delays priced live: {open} open markets and the on-time record from settled services. Zero trading fees, settled from official data."},"record":{"title":"On-time record","basis":"Share of the last {count} settled markets on GADUIN, by settled outcome. Market history, not an operator statistic.","summary":"Across {count} settled {label} markets between {from} and {to}, the most common result was {top}, at {share}%."},"open":{"title":"Open markets","empty":"No open markets right now — new ones open daily as schedules are published."},"settled":{"title":"Recently settled","intro":"The last {count} {label} markets to settle, each with the date trading closed and the result it settled to.","closed":"Closed {date}"},"strip":{"byAirline":"Browse by airline","byOperator":"Browse by operator","byPort":"Browse by port","byStation":"Browse by station","index":{"airline":"Every airline","operator":"Every operator","port":"Every port","station":"Every station"}},"tile":{"disrupted":"{pct}% disrupted","quiet":"Too early to call","volume":"{amount} traded","ofNormal":"{share} of normal"},"neighbours":{"airport":{"title":"Airports {label} flies between","intro":"Keep going where {label} goes — each of these {count} airports has a board, a day and markets of its own.","all":"Every airport"},"station":{"title":"Stations {label} calls at","intro":"Follow {label} down the line — each of these {count} stations has its own boards, its own operators and markets of its own.","all":"Every station"},"airline":{"title":"Airlines flying out of {label}","intro":"The {count} carriers with departures on today's board. Each one has its own delay markets and the on-time record standing behind them.","all":"Every airline"}},"crossLinks":{"heading":"Browse another way","airlines":"Flight delay markets by airline","airports":"Airports with live departure boards","operators":"Train delay markets by operator","stations":"Train delay markets by station","ports":"Ports with live voyage markets","chokepoints":"Shipping chokepoints and what moves through them"},"backlink":{"airline":"All {label} markets","operator":"All {label} services","port":"More voyages at this port"},"index":{"airline":{"h1":"Flight delay markets by airline","headTitle":"Flight Delay Markets by Airline — On-Time Records","intro":"Open any airline and see how often it actually lands on time, then take a position on its next flight. Settled automatically from official data, with zero trading fees.","metaDescription":"Open any of {count} airlines, see how often it actually lands on time and take a position on its next flight. Settled from official data. Zero trading fees."},"operator":{"h1":"Train delay markets by operator","headTitle":"Train Delay Markets by Operator — On-Time Records","intro":"Open any rail operator and see how often its trains actually run on time, then take a position on the next service. Settled automatically from official data, with zero trading fees.","metaDescription":"Open any of {count} rail operators, see how often its trains actually run on time and take a position on the next service. Zero trading fees."},"rows":"{open} open · {settled} settled","empty":"Nothing is trading in this category right now. Open an airport, station or port below and see what is moving there instead."}},"identityVerification":{"headTitle":"Verify your identity","loading":"Loading…","loadFailed":"We couldn't load your verification status. Try again in a moment.","retry":"Try again","continueBrowsing":"Continue browsing","checking":{"title":"Checking your verification","body":"This usually takes a few seconds. Keep this page open."},"approved":{"title":"You're verified","body":"Your identity is confirmed. Taking you back now.","continue":"Continue"},"inReview":{"title":"Your check is in review","body":"We're taking a closer look. You don't need to keep this page open — your account updates as soon as the review is done."},"declined":{"title":"We couldn't verify your identity","body":"Your check wasn't approved. You can try again with a valid government-issued photo ID, or write to {email} if you think this is a mistake.","retry":"Try again","contact":"Contact support"},"pending":{"title":"Still waiting for the result","body":"The outcome hasn't reached us yet. It usually arrives within a few minutes — check again, or come back later.","checkAgain":"Check again"},"intro":{"title":{"not_started":"Verify your identity","in_progress":"Finish verifying your identity","resubmission_required":"Part of your check needs redoing","expired":"Your last check expired","declined":"Try verification again"},"lead":{"not_started":"GADUIN asks for an identity check after your first trade. You need it to keep trading and to withdraw trading proceeds. It usually takes a few minutes.","in_progress":"You started a check earlier. Pick up where you left off — it usually takes a few minutes.","resubmission_required":"Some of what you submitted needs to be sent again, often a clearer photo. Pick up where you left off.","expired":"Your last verification session ran out of time. Start a new one — it usually takes a few minutes.","declined":"Your last check wasn't approved. Have a valid government-issued photo ID ready and try again."},"whatHappens":"What happens next","processor":"You continue on {provider}, the identity verification service GADUIN uses. {provider} runs the check on our behalf.","capture":"You photograph a government-issued photo ID and take a short selfie. {provider} compares your face with the photo on the ID and checks that a live person is taking the selfie. This uses biometric data.","result":"{provider} sends GADUIN the outcome. We keep the outcome of the check, not your ID images or selfie.","why":"We ask for this to meet our legal obligations, including anti-money-laundering rules.","providerPrivacy":"{provider} privacy notice","providerTerms":"{provider} terms","ourPrivacy":"GADUIN Privacy Policy","consent":"I agree that GADUIN and {provider} may process my ID document and images of my face, including biometric data, to verify my identity, as described above and in the linked privacy notices.","start":{"not_started":"Start verification","in_progress":"Continue verification","resubmission_required":"Continue verification","expired":"Start a new check","declined":"Try again"},"starting":"Opening verification…","startFailed":"We couldn't start verification. Try again in a moment.","unavailable":"Identity verification isn't available right now. Try again in a few minutes.","notNow":"Not now"},"gate":{"tradeRequired":"Identity verification is required after your first trade. Verify to keep trading — it takes a few minutes.","withdrawRequired":"Verify your identity to withdraw. It takes a few minutes.","inReview":"Your identity check is in review. Trading and withdrawals open again once it's approved.","declined":"Your identity check wasn't approved. See what you can do next.","verify":"Verify identity","checkStatus":"Check status","seeDetails":"See details"},"firstTrade":{"body":"Your next trade needs a quick identity check. You can do it now or before your next trade.","cta":"Verify now"},"account":{"title":"Identity verification","required":"Required before your next trade or withdrawal.","status":{"not_started":"Not started","in_progress":"In progress","in_review":"In review","approved":"Verified","declined":"Not approved","resubmission_required":"Action needed","expired":"Expired"},"description":{"not_started":"Needed after your first trade, before you trade again or withdraw trading proceeds.","in_progress":"You started a check. Finish it to keep trading.","in_review":"Your check is in review. This updates as soon as it's done.","approved":"Your identity is confirmed.","declined":"Your last check wasn't approved. You can try again.","resubmission_required":"Part of your check needs to be sent again.","expired":"Your last check ran out of time. Start a new one."},"action":{"not_started":"Verify identity","in_progress":"Continue verification","in_review":"Check status","declined":"Try again","resubmission_required":"Continue verification","expired":"Start a new check"}}},"market":{"tradeLog":{"title":"Recent activity","loading":"Loading…","empty":"No trades on this market yet. The first one appears here as it happens.","unavailable":"We can't show recent trades right now.","retry":"Retry","loadMore":"Load more"}},"marketBrowser":{"searchPlaceholder":"Search markets…","searchAria":"Search markets","sortLabel":"Sort","sort":{"closing-soon":"Closing soonest","closing-later":"Closing latest","volume":"Volume","newest":"Newest"},"liveSort":{"closing-soon":"Arriving soonest","closing-later":"Arriving latest","volume":"Highest volume","volume-low":"Lowest volume"},"statusAria":"Status","status":{"open":"Open","closed":"Closed","settled":"Settled","all":"All statuses"},"categoryAria":"Category","category":{"all":"All","flight":"Flights","train":"Trains","ship":"Shipping"},"count":"Showing {shown} of {total}","deepPageCap":"Narrow the list with a filter to reach the rest — this view holds the first {shown, number} of {total, number}.","empty":{"title":"Too narrow","subtitle":"Flights, trains and ships are all still moving out there. Drop a filter, or switch category, and the list fills back up."},"loadingMore":"Loading more markets…","loadMore":"Load more","loadMoreError":"Couldn't load more","liveTrainsShort":"Watch the list fill as services depart — only trains confirmed moving right now are listed.","retry":"Retry"},"marketCallout":{"eyebrow":"Live market","traded":"{amount} traded","firstTrade":"No trades yet — make the first call"},"marketDetail":{"statusLive":"Live","yourPosition":"Your position","tabs":{"trades":"Recent trades"},"ship":{"from":"From","to":"To","mmsiLabel":"MMSI","trackLabel":"Track","trackOn":"Track vessel on {provider}","delayBadge":"+{minutes}m","positionEstimated":"Position estimated — last fix {minutes}m ago","positionEstimatedNoFix":"Position estimated — no recent fix","lostAisContact":"Lost tracking contact — last fix {hours}h ago","lostAisContactNoTime":"Lost tracking contact","positionUnavailable":"Vessel position unavailable","notTrackedLive":"No live position for this vessel — the result comes from the destination port's arrival record","shipAriaLabel":"Vessel, heading {heading} degrees","live":{"sogKn":"{value} kn","remainingNm":"{value} nm to go","arrivesIn":"Arrives in {countdown}"},"phase":{"label":"Vessel status","departed":"Departed","underway":"Underway","anchored":"Anchored","arriving":"Arriving","arrived":"Arrived","abandoned":"Abandoned","scheduled":"Scheduled","cancelled":"Cancelled"}},"train":{"from":"From","to":"To","nextStop":"Next stop: {name}","delayBadge":"+{minutes}m","positionLive":"Live · GPS","positionEstimated":"Estimated from timetable","trainAriaLabel":"Train, heading {heading} degrees","phase":{"label":"Train status","scheduled":"Scheduled","departed":"Departed","running":"Running","held":"Held","arriving":"Arriving","arrived":"Arrived","cancelled":"Cancelled"}},"flight":{"departs":"From","live":{"altitudeFt":"{value}ft","departsIn":"Departs in {eta}","durationHm":"{h}h {m}m","durationM":"{m}m","arrivedAgo":"Arrived {ago} ago","arrivesIn":"Arrives in {eta} · {speed} · {altitude}","scheduledArrivalIn":"Scheduled arrival in {eta} · {speed} · {altitude}","liveNoEta":"{speed} · {altitude}","speedMph":"{value}mph","arriving":"Arriving"},"mapLoading":"Loading map…","mapUnavailable":"We can't show the map right now. Nothing else on this page depends on it.","planeAriaLabel":"Plane {flightId}, heading {heading} degrees","planeAriaLabelEstimated":"Plane {flightId}, heading {heading} degrees, position estimated","planeAriaLabelFallback":"Plane","to":"To","trackLabel":"Track","trackOn":"Track {flight} on {provider}","phase":{"label":"Flight status","scheduled":"Scheduled","departed":"Departed","airborne":"Airborne","arriving":"Arriving","arrived":"Arrived","cancelled":"Cancelled","diverted":"Diverted"},"positionStale":"last fix {minutes}m ago","positionStaleNoFix":"no recent fix","positionEstimated":"estimated"},"timeline":{"title":"Timeline","open":"Opens","closes":"Closes","payout":"Settles","closesBy":"Closes by {date}","closesEarly":"or sooner, the moment it's decided","payoutPerShare":"$1.00 if you called it right","won":"Settled: {outcome}","underReview":"Under review by our team","cancelledRefunded":"Cancelled · funds refunded","thresholdValue":"This market's delay threshold is {minutes, plural, one {# minute} other {# minutes}}.","closesIn":"Closes {rel}","settlesInstant":"When evidence confirms an outcome","closesTrigger":{"FLIGHT":"When the flight arrives","TRAIN":"When the train arrives","SHIP":"When the tracking window closes"},"flightPhase":{"scheduledArrival":"Scheduled to arrive ~{time}","scheduledArrivalNoTime":"Scheduled to arrive","departed":"Departed — airborne shortly","airborne":"In the air · lands ~{time}","airborneNoTime":"In the air","arrivingNoTime":"Arriving","arrived":"Arrived {time}","arrivedNoTime":"Arrived","flightCancelled":"Flight cancelled","diverted":"Diverted"},"settlesLabel":"How it settles","settlesSummary":{"FLIGHT":"Settles from reported flight evidence once the result is processed.","TRAIN":"Settles from reported train evidence once the result is processed.","SHIP":"Settles from the record once sufficient evidence is processed."},"settlesBody":{"FLIGHT":"We read the arrival time the destination airport publishes, against its published schedule. A flight that arrives more than the delay threshold late settles \"Delayed\"; one that arrives exactly on the threshold settles \"On time\". The threshold and the scheduled arrival it is measured against are fixed when the market opens — so the outcome is decided by the flight, not by anyone here.","TRAIN":"We read the arrival record the destination station publishes, against the published timetable. A train that arrives late by the delay threshold or more settles \"Delayed\"; an official cancellation settles \"Cancelled\". The threshold and the timetabled arrival it is measured against are fixed when the market opens — so the outcome is decided by the train, not by anyone here.","SHIP":"We read the arrival record the destination port publishes, once the tracking window closes. A voyage is measured against the arrival estimate locked when the market opened, not a published timetable. Arriving more than the delay threshold after that estimate settles \"Delayed\". The market's terms are fixed when it opens — so the outcome is decided by the record, not by anyone here."},"settlesLateTrade":{"FLIGHT":"A trade accepted after the flight's arrival was first published is voided and refunded in full, including any fee (a bonus trade to your bonus balance). Publication is dated by the flight-data message's own time, or by when an airport's board served the arrival to us; if the recorded arrival time is earlier, it is the cutoff instead.","TRAIN":"A trade accepted after the train's arrival at the destination, or a cancellation that stands, was first published is voided and refunded in full, including any fee (a bonus trade to your bonus balance). Publication is dated by the source's own time on the report (a time given only to the second counts as the end of that second) or by when we received the report, whichever is earlier. For an arrival, if the recorded arrival time is earlier, it is the cutoff instead.","SHIP":"A trade accepted after our reads of the destination port's board first showed the arrival is voided and refunded in full, including any fee (a bonus trade to your bonus balance). If the recorded arrival time is earlier, it is the cutoff instead."},"settlement":{"awaiting_evidence":"Waiting on the result","awaiting_evidenceDetail":"The result has not been reported or processed yet. We keep checking authoritative records and valid alternatives; no funds have moved. There is no automatic refund deadline while evidence is missing, and settlement waits until a valid outcome is established under this market's terms.","no_outcome":"There was no outcome to settle","no_outcomeDetail":"The official record confirmed this event has no outcome to settle against, so every position was refunded in full.","evidence_unavailable":"No arrival time was ever published","evidence_unavailableDetail":"This flight landed, but no arrival time was ever published for it — the airport's own board does not report one, and no independent tracking covers it. Without that time the outcome cannot be decided, so every position was refunded in full.","source_unavailable":"Under review by our team","source_unavailableDetail":"We cannot reach the official record yet, so the outcome is not confirmed. A person is reviewing this market, and it will never settle or refund automatically while that review is open.","anomaly":"Under review by our team","anomalyDetail":"We found an inconsistency while settling this market and paused it for a person to check. Nothing settles or refunds automatically while that review is open.","operator_void":"Voided by our team","operator_voidDetail":"A member of our team voided this market and refunded every position in full."}},"rules":{"title":"Insider trading is prohibited","intro":"You can't trade this market if any of these applies to you:","employed":"You are employed by any of the Source Agencies.","nonPublic":"You hold material, non-public information about whatever this market measures."},"chart":{"title":"How the chance has moved","emptyTitle":"No price history available","emptyBody":"The history feed returned no observations. Current prices above do not establish whether this market has traded.","scrubHint":"Focus the chart and use the arrow keys to read any point in the history.","summary":"Probability history for {outcome}: {from}% at the start of the window, {to}% at the latest observation, high {high}%, low {low}%, across {count} price observations.","eventsLabel":"On the journey","events":{"opened":"Market opened","departure":"Departure","arrival":"Arrival recorded","close":"Trading closed","evidence":"Evidence received"},"onePointTitle":"One price observation","onePointBody":"A line needs at least two observations. The chart will appear when more history is available.","now":"Now","points":"{count} price observations","loading":"Loading price history","loadingBody":"Historical prices are being retrieved. Current market prices appear above.","error":"Price history unavailable","errorBody":"The history feed could not be loaded. Current market prices appear above."},"flightHistory":{"title":"Recent performance","cancelled":"Cancelled","legendOnTime":"On time","legendDelayed":"Delayed","statusOnTime":"On time","statusDelayedMin":"Delayed {minutes} min","noFlights":"No flights","dayBreakdown":"{flights, plural, one {# flight} other {# flights}} · {delayed} delayed · {cancelled} cancelled","windowSummary":"Last {days} days: {flights, plural, one {# flight} other {# flights}} · {onTimePct}% on time · {delayed} delayed · {cancelled} cancelled"},"summary":{"flightRecord":"Over the last {days} days {code} has arrived on time on {onTimePct}% of its {flights, plural, one {# tracked flight} other {# tracked flights}} between {from} and {to} — {delayed} late and {cancelled} cancelled.","flightNoRecord":"{code} flies between {from} and {to}. No earlier run of this flight has been tracked yet.","trainOperated":"{service} runs from {from} to {to} for {operator}.","train":"{service} runs from {from} to {to}.","voyageDistance":"This voyage runs from {from} to {to}, about {nm} nautical miles.","voyage":"This voyage runs from {from} to {to}."},"weather":{"precipitation":"Precipitation","attribution":"Maps powered by RainViewer","now":"Now","minutesAgo":"{min}m ago","minutesFromNow":"+{min}m"},"jsonLd":{"flightDescription":"{title} · Flight {flight} — an event contract on whether it arrives on time, is delayed, or is cancelled. Delayed means more than {minutes} minutes late. Settles automatically from the official arrival record.","description":"{question} Settles automatically from the official record."},"og":{"titleQuestion":"Will {vehicle} from {origin} to {destination} arrive on time, be delayed, or be cancelled on {date}?","titleAnswer":"{outcome, select, onTime {{vehicle} from {origin} to {destination} arrived on time on {date}} delayed {{vehicle} from {origin} to {destination} was delayed on {date}} cancelled {{vehicle} from {origin} to {destination} was cancelled on {date}} notCancelled {{vehicle} from {origin} to {destination} was not cancelled on {date}} voided {{vehicle} from {origin} to {destination}, {date} — market voided} noResult {{vehicle} from {origin} to {destination}, {date} — no result} other {{vehicle} from {origin} to {destination}, {date} — {result}}}","loopRoute":"{origin} round trip","loopRouteVia":"{origin} round trip (via {via})","titleQuestionLoop":"Will {vehicle} {route} arrive back on time, be delayed, or be cancelled on {date}?","titleAnswerLoop":"{outcome, select, onTime {{vehicle} {route} arrived back on time on {date}} delayed {{vehicle} {route} was delayed on {date}} cancelled {{vehicle} {route} was cancelled on {date}} notCancelled {{vehicle} {route} was not cancelled on {date}} voided {{vehicle} {route}, {date} — market voided} noResult {{vehicle} {route}, {date} — no result} other {{vehicle} {route}, {date} — {result}}}","titleAnswerPlain":"{outcome, select, voided {{subject} — market voided} noResult {{subject} — no result} other {{subject} — {result}}}","flightVehicle":"{airline} {flight}","liveDesc":"{odds}. Departs {departure}{volume}. Trade your view on GADUIN.","closedDesc":"Trading closed · final price: {odds}. Departed {departure}{volume}. Awaiting result on GADUIN.","liveArrivalDesc":"{odds}. Arrival estimate {arrival}{volume}. Trade your view on GADUIN.","closedArrivalDesc":"Trading closed · final price: {odds}. Arrival estimate {arrival}{volume}. Awaiting result on GADUIN.","liveCountDesc":"{odds}. Closes {close}{volume}. Trade your view on GADUIN.","closedCountDesc":"Trading closed · final price: {odds}{volume}. Awaiting result on GADUIN.","settledCorrect":"Result: {result}. The market gave it {pct}% and nailed it. {rest}{volume}. See it on GADUIN.","settledUpset":"Result: {result}. The market gave it {pct}% — an upset. {rest}{volume}. See it on GADUIN.","settledSimple":"Result: {result}. See how the market called it on GADUIN.","cancelledDesc":"This market was cancelled — all positions refunded. More on GADUIN.","volume":"{amount} traded"},"share":{"button":"Share","x":"Post to X","whatsapp":"Share on WhatsApp","copy":"Copy link","copied":"Link copied"},"settled":{"eyebrow":"Settled · Result","finalOdds":"market said {pct}%","cancelledTitle":"Market cancelled","cancelledNote":"All positions refunded","scheduledAt":"Scheduled","actualAt":"Recorded","observedAt":"Evidence received"},"probability":{"label":"What the market thinks","finalLabel":"Where it finished","basis":"The displayed market price implies a probability, but does not show that a trade took place. On settled markets, it is the final market price. It is neither our forecast nor an official status from the operator.","lastTrade":"last trade {when}","trades":"{count, plural, one {# trade} other {# trades}}","chanceOf":"chance of {outcome}"},"state":{"closedTitle":"Trading closed — waiting on the result","closedBody":"Trading has closed, so no more trades can be placed. We keep checking the authoritative record and valid alternatives. Each contract on the outcome that happens pays $1.00 once a valid outcome is established and the market settles; a missing report does not itself establish an outcome or start an automatic refund deadline.","disputedTitle":"Settlement paused for review","disputedBody":"No funds have moved and no position has changed. A person is checking this market, and it will not settle or refund automatically while that review is open.","draftEyebrow":"Not open","draftTitle":"Not open for trading yet","draftBody":"This market exists but has not opened. It starts trading once its schedule is confirmed."},"hold":{"eyebrow":"On hold","aside":"Trading stays open","note":"The pause cannot cost you anything: this market will end either in a correct settlement or in a full refund of every position.","schedule_not_published":"Paused — the scheduled arrival is not one you could have seen","schedule_not_publishedDetail":"This market's scheduled arrival was fixed from a figure no public arrivals display shows, and its destination publishes no arrivals board we can read. Settling it would measure against a time no passenger could have seen, so it waits until that scheduled time can come from a source the public can check.","schedule_not_timetabled":"Paused — the scheduled arrival is not a timetable time","schedule_not_timetabledDetail":"This market's scheduled arrival was fixed from a figure that is not a published timetable time. Settling it would measure against a time no passenger could have seen, so it waits until that scheduled time can come from a published timetable.","planned_berthing_only":"Paused — the only published time is a planned berthing","planned_berthing_onlyDetail":"The only arrival time published for this call is a planned berthing time, not a recorded arrival. Settling it would use a time the vessel never reached, so it waits until a recorded arrival is published.","under_review":"Paused for review","under_reviewDetail":"This market's scheduled side cannot yet be taken from a figure the public can check, so it waits until it can."},"context":{"title":"The journey","airportTitle":"At the airport","liveryAlt":"An aircraft in {airline} livery","vesselAlt":"The vessel {vessel} at sea","trainLiveryAlt":"A train in {operator} livery","portAlt":"The port of {port}","stationAlt":"{station} station","awaitingPosition":"Waiting for the first position report","boundFor":"Bound for {port}"},"band":{"showPhoto":"Photo","showMap":"Map"},"trade":{"title":"Trade","amount":"Amount","unquotable":"No price here yet. You can trade as soon as there is one."},"related":{"title":"People are also trading","port":"Voyages from {label}","chokepoint":"{label} traffic","airport":"Every market at {label}","station":"Services at {label}"}},"marketModal":{"unavailable":"This market is not tradable right now.","viewDetails":"View market details","category":{"flight":"Flight delay","train":"Train delay","ship":"Shipping throughput"}},"marketStats":{"title":"Market","volume":"Volume","status":"Status","closes":"Closes"},"markets":{"tabs":{"all":"Trending","flights":"Flights","trains":"Trains","ships":"Shipping"},"empty":{"flights":"Nothing open here right now. Flights list about 48 hours before departure — an airport board is where tomorrow shows first.","trains":"Nothing open here right now. Trains list as they approach, so a station board turns over all day.","ships":"Nothing open here right now. Voyages list ahead of their arrival estimate — a port or a passage says what is inbound."},"card":{"volSuffix":"vol","routeTo":"to","departs":"Departs","departsStatus":"Departs {when}","arrivesStatus":"Arrives {when}","arrivingStatus":"Arriving","arrivedStatus":"Arrived {when}","departedStatus":"Departed {when}","closed":"closed","closesInMinutes":"closes in {count}m","closesInHours":"closes in {count}h","closesInHoursMinutes":"closes in {hours}h {minutes}m","closesInDays":"closes in {count}d","closesOnArrival":"closes on arrival","result":"Result","settled":"settled","untraded":"No trades yet","thresholdMinutes":"{count}m delay threshold","thresholdHours":"{count}h delay threshold"},"tradeStatus":{"label":"Trading status","trading":"Trading","closed":"Closed","settled":"Settled","cancelled":"Cancelled","disputed":"Under review"},"chokepointProgress":{"title":"This week's traffic","count":"{transits} of {threshold} ships","coverage":"reported through day {days} of 7","awaitingData":"the weekly figure is published a few days after the week ends","finalCount":"final count"},"airportProgress":{"title":"{airport} departures today","titleArrivals":"{airport} arrivals today","count":"{departures} of {threshold} departures","countArrivals":"{arrivals} of {threshold} arrivals","countPartial":"{departures}+ of {threshold} departures reported so far","countPartialArrivals":"{arrivals}+ of {threshold} arrivals reported so far","coverage":"{pct}% of the day reported · {unresolved} of {total} flights still to report","awaitingData":"no flights reported for this day so far","finalCount":"final count"},"airportCam":{"title":"Live airport cam","offline":"Channel off air","lastLive":"Last live","watching":"{count} watching","unmute":"Unmute","mute":"Mute","stale":"This is the last state we saw — the cam may not be live now."},"liveCam":{"stationTitle":"Live station cam","portTitle":"Live port cam","offline":"Camera off air","lastLive":"Last live","watching":"{count} watching","unmute":"Unmute","mute":"Mute","stale":"This is the last state we saw — the cam may not be live now."},"departureBoard":{"title":"Departures","now":"now","showFullDay":"Full day ({count})","showNow":"Show now","phase":{"scheduled":"Scheduled","taxiing":"Taxiing","departed":"Departed","airborne":"Airborne","arriving":"Arriving","arrived":"Arrived","cancelled":"Cancelled","diverted":"Diverted"}},"airportLinks":{"title":"Airports","departuresToday":"≥{threshold} departures today","arrivalsToday":"≥{threshold} arrivals today","departuresOn":"≥{threshold} departures {date}","arrivalsOn":"≥{threshold} arrivals {date}","noMarket":"no market open"}},"notice":{"tradePlaced":"Trade placed","tradePlacedDetail":"{shares} shares of {outcome}","tradeFailed":"Trade not placed","copyFailed":"Link not copied","feedLost":"Live prices disconnected","feedLostDetail":"Prices on screen are the last ones received","feedBack":"Live prices reconnected"},"onboarding":{"title":"Tell us about yourself","subtitle":"We need a few details before you can place trades or move money. You can edit these later from your account.","attestationEligibility":"I am <strong>not a U.S. person</strong> (within the meaning of Regulation S of the U.S. Securities Act of 1933) and I am <strong>not a Prohibited Person</strong> — I am not a U.S. citizen or resident, I am not subject to any applicable sanctions list, and I am not accessing this service from the United States, its territories, or possessions.","attestationEligibilityRequired":"Tick this to continue","attestationJurisdiction":"I am <strong>not located in, resident of, or incorporated under the laws of a Prohibited Jurisdiction</strong> (as listed in <tcLink>Schedule 1 of the Terms of Use</tcLink>), including the United States, Cuba, Iran, North Korea, Syria, Libya, South Sudan, Sudan (North), the Crimea region, or the DNR or LNR regions of Ukraine — and I am <strong>not circumventing</strong> these geographic or eligibility restrictions through a VPN, proxy, or other technical means.","attestationJurisdictionRequired":"Tick this to continue","attestationInsider":"I am <strong>not employed in, and do not otherwise have access to material non-public information about,</strong> the aviation, rail, or maritime (shipping) industries or the operations underlying the markets offered on this service.","attestationInsiderRequired":"Tick this to continue","continue":"Continue","saving":"Saving…"},"outcomes":{"onTime":"On time","delayed":"Delayed","cancelled":"Cancelled","notCancelled":"Not cancelled","yes":"Yes","no":"No"},"payout":{"multiplier":"Pays out {x}"},"payoutCalculator":{"forAmount":"for {amount}","titleBonus":"Pays out if {outcome} (bonus)","bonusNote":"Paid to your bonus balance, not as cash.","title":"Pays out if {outcome}","loading":"Updating…","avgPrice":"{cents}¢ average price","priceImpact":"{cents}¢ above the shown price","estimateNote":"Estimate at today's price, before price impact"},"port":{"breadcrumbLabel":"Breadcrumb","h1":"{label} ({code}) port — vessel arrivals and voyage markets","intro":"Watch what is bound for {label} ({code}) and what has just left, and take a position on whether each vessel arrives when it said it would.","headTitle":"{label} ({code}) Port — Arrivals & Voyage Markets","metaDescription":"See what is inbound at {label} ({code}), how much of it is under way and how much sitting at anchor, then take a position on {open} open voyage markets.","disclaimer":"These prices are what traders are paying for an outcome on individual voyages to and from {label} — not a forecast of port operations, and not a berth-performance statistic. Every market settles from the arrival record for that one vessel.","hero":{"inbound":"Voyages inbound","outbound":"Voyages outbound"},"sections":{"now":"At {label} right now","markets":"Open markets at {label}","marketsIntro":"One row per voyage, one market per row. The price is what that vessel's arrival is trading at right now.","record":"Settled voyage record"},"status":{"clear":"Nothing inbound is stopped","holding":"Some inbound vessels are sitting at anchor","heavy":"More inbound vessels are at anchor than usual","unknown":"Not enough inbound traffic here to read","evidence":"{anchored} of the next {inbound} voyages bound here are reported at anchor.","thin":"{inbound, plural, one {# inbound voyage is} other {# inbound voyages are}} tracked here, with {anchored} at anchor. That is under the {floor} needed before a share means anything.","noTraffic":"Nothing is currently bound for this port on GADUIN. {outbound} voyages have left it.","caveat":"At anchor means the vessel is reported stopped somewhere on passage. That is not necessarily off this port. GADUIN covers a fraction of the traffic here, so this reads the voyages it tracks, not the port."},"traffic":{"title":"Inbound vessels","showing":"showing {shown} of {total}","underway":"Under way","anchored":"At anchor","arriving":"Arriving","barLabel":"Inbound vessels by reported movement","basis":"{inbound, plural, one {# voyage bound for this port has} other {# voyages bound for this port have}} an open market; {due, plural, one {# is} other {# are}} expected within 24 hours.","overdue":"{count, plural, one {# is past its expected arrival with no arrival reported.} other {# are past their expected arrival with no arrival reported.}}","scheduled":"Not yet moving"},"chart":{"title":"Expected arrivals","today":"Today","underway":"Moving","caption":"Voyages by the day they are expected, in UTC. The lower part of each bar is the vessels already stopped at anchor."},"passages":{"title":"Passages on these routes","count":"{count, plural, one {# voyage} other {# voyages}}","basis":"Counted over the {sampled} voyages here whose route is plotted. It is the route the market was written against, not an observed transit — a vessel can divert."},"record":{"arrival":"Voyages that arrived at {label}","departure":"Voyages that left {label}","sample":"{count} settled","barLabel":"Settled outcomes","summary":{"arrival":"Of the last {count} voyages into {label} whose market has settled, between {from} and {to}, {share}% settled to {top}.","departure":"Of the last {count} voyages out of {label} whose market has settled, between {from} and {to}, {share}% settled to {top}."},"basis":"A record of how individual voyage markets settled on GADUIN. It is not an operator statistic and not a measure of the port."},"board":{"arrival":"Arrivals","departure":"Departures","showing":"{shown} of {total}","noEta":"No ETA","from":"from {port}","to":"to {port}","lateDays":"+{days}d {hours}h late","lateHours":"+{hours}h {minutes}m late","lateMinutes":"+{minutes}m late"},"index":{"title":"Ports","h1":"Ports & vessel arrivals","headTitle":"Ports — Vessel Arrivals, Anchorage & Voyage Markets","intro":"Arrival markets for voyages inbound to {count} ports, settled from each port's own arrival record.","metaDescription":"Arrival markets for voyages inbound to {count} ports worldwide, with anchorage and inbound counts for each. Settled from the official arrival record.","leading":"Busiest ports","all":"Every port","inbound":"Inbound","outbound":"Outbound","settled":"{count} settled","empty":"Nothing is trading here right now. All of this traffic still has to pass through a handful of chokepoints, listed below."}},"portBoard":{"title":"Live board","freshness":"Board","arrivals":"Arriving","departures":"Sailed","fromNow":"From now","fullDay":"Full day ({count})","emptyArrivals":"Nothing is expected at this port today.","emptyDepartures":"No vessel has been recorded leaving this port today.","departuresNote":"Ports record a departure as it happens rather than announcing one in advance, so this side lists vessels that have already sailed.","imo":"IMO {imo}","late":"+{minutes} min","early":"−{minutes} min","status":{"unknown":"Not stated","expected":"Expected","in_port":"In port","departed":"Sailed","cancelled":"Cancelled"}},"profileForm":{"accountType":"Account type","personal":"Personal","business":"Business","legalName":"Legal name","legalEntityName":"Legal entity name","legalNamePlaceholderPersonal":"Jane Doe","legalNamePlaceholderBusiness":"Acme, Inc.","optional":"(optional)","companyRegistrationNumber":"Company registration number"},"promo":{"offer":{"label":"Deposit bonus","deposit":"Deposit ${amount}","bonus":"Get ${amount} bonus","summary":"Bonus funds for live markets. Settle ${turnover} in bonus trades and up to ${payout} turns into withdrawable cash.","minimize":"Minimize deposit bonus","open":"View offer: deposit ${deposit}, get ${bonus} bonus","launcher":"${bonus} deposit bonus","activate":"Activate bonus","signIn":"Create account to activate","terms":"View terms","termsTitle":"Deposit ${deposit}, get ${bonus} bonus","disclosure":"This is a trading bonus, not withdrawable cash. Trading is risky — the full bonus is at risk.","fundingTerms":"Activate code {code} before depositing. One qualifying, confirmed deposit of at least ${deposit} unlocks ${bonus} in bonus funds. Separate smaller deposits do not combine.","turnoverTerms":"Place bonus trades within {days} days of your qualifying deposit. Conversion requires ${turnover} in qualifying, settled bonus trades and all open bonus trades to settle. Payouts from bonus trades stay bonus funds until then. Up to ${payout} of the remaining balance converts to cash; excess is removed and unused bonuses expire.","tradeTerms":"Bonus trade amounts: ${min}–${max} per trade. Entry prices must be between {minPrice}% and {maxPrice}%. One open bonus position per event, including related contracts. Bonus funds cannot be used on events where you hold a cash position, and cash trading on that event is unavailable while a bonus trade is open. Cancelled trades do not count toward the trading requirement.","withdrawalTerms":"Withdrawing cash before completion requires forfeiting your bonus and its progress. Open bonus trades must settle first.","eligibilityTerms":"One promotional bonus per account and funding address. Subject to eligibility checks and availability when your deposit is confirmed. Shared funding addresses may be rejected.","ends":"Redeem before {date}."},"bonusPill":"Bonus ${amount}","title":"Promotional bonus","redeem":{"hint":"Have a promo code? Redeem it for a bonus balance you can trade with. It becomes money you can withdraw only after you have traded the required amount.","placeholder":"Promo code","cta":"Redeem","submitting":"Redeeming…","error":"That code didn't work. Check it and try again — your balance hasn't changed.","notOpen":"That code isn't open right now. Check it, or try another one — your balance hasn't changed.","alreadyRedeemed":"You've already redeemed a code. Only one applies per account — your balance hasn't changed.","notEligible":"This account is not eligible for this promotion. Contact support if you think this is a mistake."},"pending":{"headline":"Your code is redeemed.","body":"Your bonus starts when you make a qualifying deposit. Until then there is no bonus balance.","verificationTitle":"Complete the security check","verificationBody":"Verify this browser before making a qualifying deposit. Earlier deposits do not unlock the bonus.","verify":"Verify and activate"},"active":{"bonusBalance":"Bonus balance ${amount}","nonWithdrawable":"A bonus balance can't be withdrawn, and withdrawing forfeits it.","progressLabel":"Trading progress","progressValue":"${turnover} traded of ${required}","converts":"Once you have traded ${required}, up to ${maxPayout} converts into your balance. Before that, none of it does.","expiresIn":"Expires in {remaining}","expiringSoon":"Expiring now","conversionBlocked":"A bonus trade is still open. Your bonus can convert once it settles."},"terminal":{"converted":"You traded the required amount, so your bonus converted into your balance.","exhausted":"Your bonus balance ran out before it met its trading requirement, so none of it converted.","expired":"Your bonus expired before it met its trading requirement, so none of it converted.","forfeited":"You forfeited your bonus, and any progress toward it, when you withdrew.","rejected":"This code didn't apply to your deposit, so no bonus was added.","voided":"Your bonus was cancelled and its remaining balance removed."},"bonus":{"cashPositionExists":"You hold a cash position for this event, so bonus funds can't be used on it or its related contracts. Nothing was charged.","bonusPositionExists":"A bonus trade is open for this event. Wait for it to settle before trading this event with cash. Nothing was charged.","relatedOpen":"You already have an open bonus position for this event. Related contracts share this limit. Nothing was charged.","unavailable":"Your bonus balance isn't available for this any more. Nothing was charged.","alreadyOpen":"You already have a bonus position open on this market. Nothing was charged."}},"search":{"trigger":"Search markets…","placeholder":"Flight number, city, port or passage…","noResults":"Try a flight number, a city, a port or a passage — nothing live matches that.","emptyLive":"Look in the past results — nothing live matches this search right now.","emptyAll":"Try a flight number, a city, a port or a passage — nothing matches that, live or past.","tryPast":"{count, plural, one {See {count} past market} other {See {count} past markets}}","tryPastUnknown":"See past markets","seeAll":"See all {count} results for “{query}”","seeAllUnknown":"See all results for “{query}”","suggestions":"Suggestions","recent":"Recent","degraded":"Market results aren't loading right now. Try again in a moment.","hintNavigate":"to navigate","hintSelect":"to select","hintClose":"to close","heading":"Search","results":"Search results","resultsLive":"{count, plural, one {{count} live market} other {{count} live markets}}","resultsPast":"{count, plural, one {{count} past market} other {{count} past markets}}","mode":"Mode","modeLive":"Live","modePast":"Past","groupMarkets":"Markets","groupPages":"Pages","groupReading":"Reading","bestMatch":"Best match","marketsUnavailable":"Markets are temporarily unavailable — try again shortly.","showingPage":"Page {page} of {totalPages}","retry":"Try again","pagination":"Pagination","prevPage":"Previous page","nextPage":"Next page","pageOutOfRange":"That page is past the end of these results.","backToFirstPage":"Back to the first page","refineDepth":"Narrow the search with a filter or a more specific term — this is as deep as results go.","categoryFlight":"Flights","categoryTrain":"Trains","categoryShip":"Shipping","removeCategoryFilter":"Remove {category} filter","typeFlight":"Flight","typeVessel":"Vessel","typeTrain":"Train","typeAirport":"Airport","typePort":"Port","typePassage":"Passage","typeAirline":"Airline","typeOperator":"Operator","typeGuide":"Guide","typeArticle":"Article","groupPlaces":"Places","groupCarriers":"Airlines & operators","facetCategory":"Category","facetAirline":"Airline","facetOperator":"Rail operator","facetCountry":"Country","facetOriginPort":"From port","facetDestPort":"To port","clearFilters":"Clear all","removeFilter":"Remove {value} filter","hubMarkets":"markets","noExactFlight":"No live market is {flight}. The closest matches follow.","noPrice":"Price unavailable"},"statements":{"title":"Statements","subtitle":"Daily activity reports","loadError":"We couldn't load your statements. Try again in a moment.","loading":"Loading…","empty":"No statements here. One arrives for each day there's activity on your account.","download":"Download","downloading":"Downloading…"},"stationBoard":{"title":"Live board","freshness":"Board","arrivals":"Arriving","departures":"Leaving","fromNow":"From now","fullDay":"Full day ({count})","empty":"Nothing is listed on this side of the board for today.","from":"from {code}","to":"to {code}","roundTrip":"Round trip","platform":"Plat {platform}","late":"+{minutes} min","early":"−{minutes} min","status":{"scheduled":"On time","expected":"Expected","arrived":"Arrived","departed":"Departed","cancelled":"Cancelled"}},"taxIds":{"default":{"label":"Tax ID","hint":""},"US":{"label":"EIN / SSN","hint":"9 digits"},"GB":{"label":"UTR","hint":"10-digit Unique Taxpayer Reference"},"DE":{"label":"Steuernummer","hint":""},"FR":{"label":"Numéro SIREN","hint":"9 digits"},"AU":{"label":"ABN","hint":"11-digit Australian Business Number"},"IN":{"label":"PAN","hint":"10-character PAN"},"BR":{"label":"CNPJ","hint":"14 digits"},"JP":{"label":"Hojin Bangō","hint":"13-digit corporate number"},"SG":{"label":"UEN","hint":""},"AE":{"label":"TRN","hint":"15-digit Tax Registration Number"},"CA":{"label":"Business Number","hint":"9-digit BN"},"NL":{"label":"KvK / BTW","hint":""}},"threshold":{"transits":"transits","arrivals":"arrivals","departures":"departures","week":"week of {range}"},"tradeSheet":{"buying":"Buying","close":"Close","available":"${balance} available to trade","availableWithShares":"≈ {shares} shares · ${balance} available","quoting":"Quoting…","purchased":"You're in — {shares} shares of {outcome}. Pays ${payout} if it happens.","insufficient":"Insufficient balance","belowMin":"Minimum trade is ${min}","aboveMax":"Maximum trade is ${max}","aboveCumulative":"Lifetime cap is ${cap} — you can still trade ${remaining}","cumulativeReached":"You've reached your lifetime trading cap of ${cap}.","limitsHint":"${min} – ${max} per trade","max":"Max","topUp":"Top up balance","placing":"Placing…","holdToPlace":"Hold to place trade","holdToPlaceWithAmount":"Hold to confirm · ${amount} on {outcome}","useBonus":"Trade with bonus (${balance})","bonusAvailable":"${balance} bonus available","bonusAvailableWithShares":"≈ {shares} shares · ${balance} bonus available","bonusPriceOutOfBand":"A bonus trade needs a price between {min} and {max}. This one is {price}.","bonusBelowMin":"Minimum bonus trade is ${min}","bonusAboveMax":"Maximum bonus trade is ${max}","bonusPayoutTooLarge":"A bonus trade can return at most ${max}. Lower your amount.","bonusInsufficient":"Bonus balance is only ${balance}","holdToPlaceBonus":"Hold to place bonus trade","holdToPlaceBonusWithAmount":"Hold to confirm bonus trade · ${amount} on {outcome}","holding":"Keep holding…","done":"Done","closed":{"closed":"Trading closed","settled":"Market settled","cancelled":"Market cancelled","disputed":"Under review"},"browseLive":"Browse live markets","signUpToTrade":"Create free account to trade","haveAccount":"Already have an account?","signIn":"Sign in","sharesOnly":"≈ {shares} shares"},"trainService":{"headlineVehicle":"the {time}","boardLink":"How the {time} to {destination} has run lately"},"twoFactor":{"challenge":{"title":"Two-factor authentication","subtitleTotp":"Open your authenticator and enter the 6-digit code for GADUIN.","subtitleBackup":"Enter one of the 10 single-use backup codes you saved when you set this up.","verify":"Verify","verifying":"Verifying…","useBackup":"Use a backup code instead","useAuthenticator":"Use my authenticator instead","signOut":"Sign out","errors":{"enterTotp":"Enter the 6-digit code from your authenticator","enterBackup":"Enter a backup code","invalidCode":"That code didn't work. Codes expire fast — take a fresh one from your authenticator app.","invalidBackup":"That backup code didn't work. Each one works only once — try another from your saved list.","tooManyAttempts":"Too many tries. Wait a moment and try again — your account is fine.","temporarilyUnavailable":"We can't check your code right now. Try again in a few moments — nothing on your account has changed.","restartLogin":"That sign-in attempt expired. Start again from the sign-in page.","remainingAttempts":"{count, plural, one {{message} ({count} attempt left)} other {{message} ({count} attempts left)}}"}},"setup":{"stepScan":"Scan","stepVerify":"Verify","stepSaveCodes":"Save codes","scan":{"title":"Scan to set up","subtitle":"Open your authenticator app and scan the QR code, or enter the secret by hand. Any authenticator app works — Google Authenticator, 1Password, Authy, Raycast and others.","orEnterSecret":"Or enter this secret","copy":"Copy","copied":"Copied","continue":"Continue"},"verify":{"title":"Enter the 6-digit code","subtitle":"Open your authenticator and type the code that appears under the \"GADUIN\" entry.","back":"Back","verify":"Verify","verifying":"Verifying…"},"save":{"title":"Save your backup codes","subtitle":"Each code works exactly once, for when you can't get into your authenticator. Print them, save them in a password manager or download them as a text file.","warning":"Save these now — you won't see them again.","copyAll":"Copy all","copied":"Copied","download":"Download as text","confirm":"I have saved my backup codes.","done":"Done","fileHeader":"GADUIN — two-factor backup codes","fileNote":"Each code can be used exactly once. Store them somewhere safe."},"errors":{"invalidCode":"That code didn't work. Codes expire fast — take a fresh one from your authenticator app.","enableFailed":"We couldn't start setup. Try again in a moment.","enterCode":"Enter the 6-digit code from your authenticator"}}},"withdraw":{"title":"Withdraw","network":"Network","destination":"Destination","noSavedAddresses":"No saved addresses on this network. Add one under Saved addresses, further down this page.","unlabeled":"Unlabeled","submitted":"Withdrawal submitted. It's usually sent within minutes.","insufficient":"That's more than your balance. Lower the amount.","available":"${balance} available","youllReceive":"{rate, select, none {You'll receive ${amount} after the withdrawal commission.} other {You'll receive ${amount} after the {rate} withdrawal commission.}}","submitting":"Submitting…","withdraw":"Withdraw","withdrawWithAmount":"Withdraw · ${amount}","checkingBonus":"Checking your bonus…","openBonusBets":"You have an open bonus trade. Withdrawing will be refused until it settles.","forfeitWarning":"Withdrawing forfeits your bonus balance of ${amount} and any progress toward it. This can't be undone.","forfeitWarningUnknown":"We couldn't check your bonus. If you have an active bonus, withdrawing forfeits it and any progress toward it. This can't be undone.","forfeitConfirm":"Withdraw and forfeit bonus","forfeitCancel":"Keep my bonus","done":"Done"}}