{
  "create.toAddressBranchIgnored": "This order's delivery method is still \"Nova Post – to address\", so the branch you picked{branch} can't be used yet. Changing the delivery method can affect the delivery price, so we don't switch it automatically: please change the order's delivery method to a Nova Post branch / pick-up method, then create the shipment again. Your selected branch is kept — no need to pick it again.",
  "login.title": "Sign in to Biatec",
  "login.role.admin": "Admin",
  "login.role.operator": "Operator",
  "login.field.login": "Login",
  "login.field.password": "Password",
  "login.field.token": "Access token",
  "login.field.token.placeholder": "Paste operator token from admin",
  "login.btn.signIn": "Sign in",
  "login.btn.connect": "Connect",
  "login.signingIn": "Signing in…",
  "login.signedIn": "Signed in",
  "login.signInFailed": "Sign-in failed",
  "login.enterToken": "Enter a token",
  "login.connecting": "Connecting…",
  "login.connectedTo": "Connected to {shop}",
  "login.connectFailed": "Connect failed",
  "login.badCredentials": "Incorrect login or password.",
  "login.networkError": "Can’t reach the server. Check your connection and try again.",
  "shoptetGate.signedIn": "✓ Signed in to Biatec.",
  "shoptetGate.addTitle": "Add your e-shop",
  "shoptetGate.addBody": "Enter your Shoptet e-shop address to open it here.",
  "shoptetGate.addPlaceholder": "myshop.cz",
  "shoptetGate.addBtn": "＋ Add e-shop",
  "shoptetGate.adding": "Opening…",
  "shoptetGate.title": "Log in to your Shoptet admin",
  "shoptetGate.body": "Sign in on the right. The app stays inactive — it reads nothing — until you're logged in.",
  "shoptetGate.stayLoggedIn": "Stay logged in to Shoptet",
  "shoptetGate.staleHint": "Login keeps clearing after submit? Stale cookies can block it — wipe them and retry.",
  "shoptetGate.btnClear": "Clear cookies & retry",
  "shoptetGate.currentlyOn": "Current: {url}",
  "app.logoutConfirm": "Log out of the app? Your Shoptet login stays intact.",
  "app.shoptet.currentUrl": "Current: {url}",
  "app.langReload.message": "Switch language?",
  "app.langReload.detail": "BC will reload to apply the new language. Anything open right now — including an in-progress shipment wizard — will be closed.",
  "app.langReload.confirm": "Switch & reload",
  "app.langReload.cancel": "Cancel",
  "app.langReloadWizard.message": "Change language and restart shipment creation?",
  "app.langReloadWizard.detail": "A shipment batch is in progress. Changing the language will discard it WITHOUT saving and return you to Orders. Continue?",
  "app.langReloadWizard.confirm": "Discard & switch language",
  "app.langReloadWizard.cancel": "Keep working",
  "wizard.stepNofM": "Step {current}/{total}:",
  "wizard.step.link.label": "Connect your store",
  "wizard.step.setup.label": "Setup e-shop",
  "wizard.step.verify.label": "Verify ownership",
  "wizard.step.shipping.label": "Configure shipping methods",
  "wizard.step.done.label": "Setup complete",
  "ordersList.btn.create": "Create shipment",
  "ordersList.btn.creating": "Creating…",
  "ordersList.btn.print": "Print label",
  "ordersList.btn.printing": "Printing…",
  "ordersList.btn.fetchingLabel": "Fetching label…",
  "ordersList.btn.download": "Download PDF",
  "ordersList.btn.downloading": "Downloading…",
  "ordersList.btn.retry": "Retry",
  "ordersList.btn.cancel": "Cancel",
  "ordersList.btn.cancelling": "Cancelling…",
  "ordersList.btn.resend": "Create shipment",
  "ordersList.btn.openSettings": "Open project settings ↗",
  "ordersList.btn.fillCustoms": "Fill customs data",
  "ordersList.btn.printInvoice": "Print invoice",
  "ordersList.bulk.zeroSelected": "Nothing selected",
  "ordersList.bulk.selected": "selected",
  "ordersList.bulk.create": "Create NP shipments →",
  "ordersList.bulk.hint": "Tip: tick orders to create shipments in bulk",
  "ordersList.bulk.notAvailable": "Bulk wizard is not available in this BC build.",
  "ordersList.bulk.starting": "Opening wizard…",
  "ordersList.bulk.printLabels": "Print labels",
  "printLabels.title": "Print labels for Nova Post shipments",
  "printLabels.loading": "Loading shipments…",
  "printLabels.colOrder": "Order",
  "printLabels.colTracking": "Tracking",
  "printLabels.colCountry": "Country",
  "printLabels.noShipment": "No Nova Post shipment",
  "printLabels.cancel": "Cancel",
  "printLabels.close": "Close",
  "printLabels.print": "Print",
  "printLabels.printing": "Printing",
  "printLabels.printed": "Printed",
  "printLabels.failed": "failed",
  "printLabels.noneToPrint": "No printable labels in the selection",
  "printLabels.errorPrefix": "Error:",
  "ordersList.wizard.title": "Fill customs data for products",
  "ordersList.wizard.intro": "For an international shipment, supply English name, HS code (8–10 digits, no dots/spaces) and country of origin for each product. Values are stored in the BE so future shipments of the same products are pre-filled automatically.",
  "ordersList.wizard.col.product": "Product",
  "ordersList.wizard.col.nameEng": "English name",
  "ordersList.wizard.col.hsCode": "HS code (digits only, no dots)",
  "ordersList.wizard.col.countryOfOrigin": "Country of origin (ISO)",
  "ordersList.wizard.btn.save": "Save and create shipment",
  "ordersList.wizard.btn.saving": "Saving…",
  "ordersList.wizard.btn.cancel": "Cancel",
  "ordersList.wizard.partial": "Some rows failed to save",
  "ordersList.wizard.success": "Saved, creating shipment…",
  "ordersList.confirm.cancel": "Cancel this shipment? Cancellation is possible only while Nova Post has not yet picked the parcel up from the courier.",
  "ordersList.err.cancelFailed": "Cancel failed",
  "ordersList.err.cancelNotSupported": "Cancel is not supported in this client.",
  "ordersList.err.createFailed": "Create shipment failed",
  "ordersList.err.notAuthenticated": "First sign in as an admin or operator in the Biatec Connector app.",
  "ordersList.err.printFailed": "Print failed",
  "ordersList.err.downloadFailed": "Download failed",
  "ordersList.err.rowDataUnavailable": "Cannot retry — row data unavailable",
  "ordersList.col.actions": "Nova Post",
  "ordersList.col.status": "NP status",
  "ordersList.cell.empty": "—",
  "ordersList.cell.createdWaitingUpdate": "Created, awaiting update",
  "ordersList.cell.noTracking": "(no tracking)",
  "orderDetail.btn.cancel": "Cancel shipment",
  "orderDetail.btn.printLabel": "Print label",
  "orderDetail.btn.printInvoice": "Print invoice (A4)",
  "orderDetail.section.title": "Nova Post",
  "orderDetail.section.empty": "No Nova Post shipment for this order yet.",
  "orderDetail.section.create": "Create Nova Post shipment",
  "orderDetail.section.trackingLabel": "Tracking number",
  "orderDetail.section.statusLabel": "Status",
  "orderDetail.section.trackHint": "Open Nova Post tracking",
  "orderDetail.timeline.load": "Status history",
  "orderDetail.timeline.hide": "Hide history",
  "orderDetail.timeline.loading": "Loading…",
  "orderDetail.timeline.title": "Status history (live from Nova Post)",
  "orderDetail.timeline.empty": "No status history yet.",
  "orderDetail.timeline.error": "Could not load history:",
  "orderDetail.cancel.title": "You are about to cancel the shipment:",
  "orderDetail.cancel.step1": "The shipment in Nova Post will be cancelled.",
  "orderDetail.cancel.step2": "The tracking code will be removed.",
  "orderDetail.cancel.step3": "The order status will change to:",
  "orderDetail.cancel.dismiss": "Cancel",
  "orderDetail.cancel.confirm": "OK",
  "orderDetail.cancel.progress.cancelling": "Cancelling the shipment in Nova Post…",
  "orderDetail.cancel.progress.updating": "Removing tracking and changing status…",
  "orderDetail.cancel.failed": "Cancellation failed: ",
  "status.terminal.cancelled": "Cancelled",
  "status.terminal.returned": "Returned",
  "status.terminal.refused": "Refused",
  "status.terminal.utilization": "Disposed",
  "npEvent.ReadyToShip": "Ready",
  "npEvent.LoadingCourier": "With courier",
  "npEvent.Received": "Delivered",
  "npEvent.Deleted": "Cancelled",
  "npEvent.Returned": "Returned",
  "npEvent.Refused": "Refused",
  "npEvent.Utilization": "Disposed",
  "npEvent.MoneyTransfer": "COD transfer",
  "npEvent.MoneyTransferReceived": "COD paid out",
  "npEvent.Redirecting": "Redirecting",
  "npEvent.Redelivery": "Re-delivery",
  "npEvent.UndeliveryReason": "Undelivered",
  "npEvent.ChangeTime": "Time changed",
  "npEvent.ArrivalSC": "Sorting centre",
  "npEvent.TransferToPartner": "With partner",
  "npEvent.ArrivalSenderWarehouse": "At warehouse",
  "npEvent.DepartureSenderWarehouse": "Departed warehouse",
  "npEvent.InCityRecipient": "In recipient city",
  "npEvent.AwaitingOnDivision": "At branch",
  "npStatus.1": "Ready to send",
  "npStatus.2": "Cancelled",
  "npStatus.4": "Accepted for sending",
  "npStatus.5": "Departed sender branch",
  "npStatus.6": "In recipient city",
  "npStatus.7": "At branch",
  "npStatus.8": "At parcel locker",
  "npStatus.9": "Delivered",
  "npStatus.10": "Delivered, COD sent",
  "npStatus.11": "Delivered, COD paid",
  "npStatus.13": "At sorting center",
  "npStatus.16": "Left sorting center",
  "npStatus.17": "In transit",
  "npStatus.19": "In transit",
  "npStatus.30": "At customs terminal",
  "npStatus.31": "Left customs terminal",
  "npStatus.99": "Locker delivery not possible",
  "npStatus.101": "With courier",
  "npStatus.102": "Return",
  "npStatus.103": "Refused",
  "npStatus.104": "Redirected",
  "npStatus.105": "Disposed",
  "npStatus.106": "Documents return",
  "npStatus.110": "In temporary storage",
  "npStatus.111": "Delivery attempt failed",
  "npStatus.112": "Delivery date postponed",
  "npStatus.113": "Storage period expired",
  "npStatus.114": "Awaiting customs",
  "npStatus.115": "At customs terminal",
  "npStatus.116": "Broker refusal",
  "npStatus.117": "Lost (customs)",
  "npStatus.118": "Forbidden content (customs)",
  "npStatus.119": "Customs clearance",
  "npStatus.120": "Customs cleared",
  "npStatus.121": "Sent after customs",
  "npStatus.122": "Preparing for customs",
  "npStatus.123": "Awaiting recipient info",
  "npStatus.125": "Preparing for customs",
  "npStatus.126": "Preparing for customs",
  "npStatus.127": "Verifying declaration",
  "npStatus.128": "Processing documents",
  "npStatus.130": "Import prohibited",
  "npStatus.131": "Return uncleared cargo",
  "npStatus.132": "Preparing return",
  "npStatus.133": "Customs query",
  "npStatus.134": "With customs broker",
  "npStatus.135": "In storage area",
  "npStatus.138": "Delayed (recipient info)",
  "npStatus.141": "Storage period expired",
  "npStatus.144": "Storage period expired",
  "npStatus.149": "In storage",
  "npStatus.155": "For disposal",
  "npStatus.197": "Processing customs docs",
  "npStatus.198": "Customs inspection",
  "npStatus.199": "Requires customs clearance",
  "npStatus.999": "Undetermined",
  "wizard.link.linking": "Linking…",
  "wizard.link.linked": "Linked",
  "wizard.link.failed": "Link failed",
  "wizard.setup.navigating": "Navigating to template editor…",
  "wizard.setup.inserting": "Inserting verify + widget…",
  "wizard.setup.noSaveButton": "Inserted, but Save button not found. Please click Save in the template editor manually.",
  "wizard.setup.reverted": "Save was clicked but the changes did not persist. The Shoptet HTML code editor may be read-only or unavailable on this e-shop — common on free/trial Shoptet e-shops created outside the Czech Republic. Use a Czech (.cz) Shoptet e-shop, or ask Shoptet support to unlock the HTML code editor, then retry.",
  "wizard.setup.saved": "Shoptet template saved. Verify token and widget are in place.",
  "wizard.setup.err.openAdmin": "Please open your Shoptet admin in this tab and retry.",
  "wizard.setup.err.loginShoptet": "Please log in to Shoptet in this tab, then retry.",
  "wizard.checkWidget.inspecting": "Checking your storefront…",
  "wizard.verify.verifying": "Verifying…",
  "wizard.verify.verified": "Verified!",
  "wizard.verify.notYet": "Not verified yet",
  "wizard.verify.failed": "Verify failed",
  "wizard.shipping.navigating": "Navigating to shipping methods…",
  "wizard.shipping.scanning": "Scanning shipping methods…",
  "wizard.shipping.detected": "Detected: branch ID {branch}, address ID {address}",
  "customs.loading": "Loading…",
  "customs.error": "Error: {msg}",
  "customs.ph.nameEn": "English description",
  "customs.ph.value": "Value to apply…",
  "customs.bulk.enterValue": "Enter a value first.",
  "customs.bulk.noRows": "No rows to apply to.",
  "customs.bulk.progress": "{done} / {total}…",
  "customs.bulk.errorsSuffix": " · {errors} errors",
  "customs.bulk.doneApply": "Done · {updated} updated, {unchanged} unchanged",
  "customs.translate.progress": "Translating {done} / {total}…",
  "customs.translate.error": "Translation error: {msg}",
  "customs.translate.failed": "Translation failed: {msg}",
  "customs.translate.done": "Done · {translated} translated",
  "bulk.title.loading": "Bulk shipment creation — loading…",
  "bulk.title.step1": "Bulk shipment creation — step 1 of 5",
  "bulk.title.step2": "Bulk shipment creation — step 2 of 5 — customs data",
  "bulk.title.step3": "Bulk shipment creation — step 3 of 5 — before sending",
  "bulk.title.step4": "Bulk shipment creation — step 4 of 5 (creating)",
  "bulk.title.step5": "Bulk shipment creation — step 5 of 5 — done",
  "bulk.title.error": "Bulk shipment creation — error",
  "bulk.btn.cancel": "Cancel",
  "bulk.btn.back": "Back",
  "bulk.btn.continue": "Continue →",
  "bulk.btn.saving": "Saving…",
  "bulk.btn.sendSelected": "Send selected →",
  "bulk.btn.done": "Done",
  "bulk.btn.close": "Close",
  "bulk.customs.partialFail": "⚠ Some customs upserts failed ({count}). Continuing, but the BE cache may not have the latest values.",
  "bulk.print.loadingPdf": "Loading PDF…",
  "bulk.print.fetchingLabels": "Fetching labels…",
  "bulk.print.fetchingLabelsAndCustoms": "Fetching labels and customs PDFs…",
  "bulk.print.openingLabelDialog": "Opening the label print dialog…",
  "bulk.print.fetchingCustoms": "Fetching invoices…",
  "bulk.print.openingCustomsDialog": "Opening the invoice print dialog…",
  "bulk.print.done": "Done — printing started.",
  "bulk.print.error": "⚠ Print error: {msg}",
  "bulk.save.saving": "Saving PDF…",
  "bulk.save.saved": "Saved: {path}",
  "bulk.save.canceled": "Save canceled.",
  "bulk.loading.details": "Loading order details… ({done}/{total})",
  "bulk.preflight.selectedOrders": "Selected orders: {count}",
  "bulk.tag.domestic": "domestic",
  "bulk.tag.eu": "EU",
  "bulk.tag.nonEu": "non-EU",
  "bulk.preflight.destUnknown": "destination unknown",
  "bulk.section.customsStatus": "Customs data status",
  "bulk.customs.domesticOnly": "Domestic-only batch ({cc} → {cc}) — customs step skipped.",
  "bulk.customs.allCached": "✓ All cross-border items have customs data filled.",
  "bulk.customs.missingItem": "⚠ {label} (missing: {fields})",
  "bulk.customs.fillWarning": "Some items are missing required customs data — fill it in the next step or Nova Post will reject the shipment.",
  "bulk.section.codValidation": "COD validation",
  "bulk.section.phoneValidation": "Recipient phone",
  "bulk.phone.allOk": "✓ All recipient phones match the destination country.",
  "bulk.phone.mismatch": "current number {phone} must start with {prefix} ({cc}) — Nova Post will reject it otherwise. Fix the phone in Shoptet.",
  "bulk.phone.blockingNote": "Fix the phone in Shoptet and re-open the wizard — you can't continue until at least one order is sendable.",
  "bulk.phone.someSkipped": "Flagged orders are skipped from this run. Fix their phone in Shoptet to include them.",
  "bulk.cod.none": "No COD on this batch.",
  "bulk.cod.czkOnly": "(Phase 1 supports only CZK COD)",
  "bulk.eori.heading": "B2B recipients — EORI: {count}",
  "bulk.eori.intro": "For business recipients (company ID), NP recommends an EORI for customs clearance of cross-border shipments. A confirmed value is pre-filled (green ✓) — just accept it, or override. Once saved, it pre-fills automatically next time for the same company ID.",
  "bulk.eori.col.ico": "Company ID",
  "bulk.eori.col.company": "Company",
  "bulk.eori.col.eori": "EORI",
  "bulk.eori.cacheBadge": "Confirmed previously (from BE cache)",
  "bulk.eori.overrideConfirm": "The last EORI used for this company ID was: {old}. Change it to the new value {new}?",
  "bulk.customs.heading": "Fill customs data — products: {count} (grouped by SKU)",
  "bulk.customs.intro": "For cross-border shipments the NP API requires Name EN + HS code (8–10 digits) + country of origin on every invoice row. Once filled they are saved to the BE cache and pre-filled automatically for the same products next time.",
  "bulk.customs.col.sku": "SKU",
  "bulk.customs.col.localName": "Local name",
  "bulk.customs.col.nameEn": "Name EN",
  "bulk.customs.col.materialEn": "Material EN",
  "bulk.customs.col.hsCode": "HS code",
  "bulk.customs.col.origin": "Origin",
  "bulk.customs.col.weight": "Weight",
  "bulk.customs.col.length": "Length",
  "bulk.customs.col.width": "Width",
  "bulk.customs.col.height": "Height",
  "bulk.customs.col.status": "Status",
  "bulk.customs.cacheBadge": "From BE cache",
  "bulk.customs.fieldOk": "Valid value",
  "bulk.customs.defaultBadgeTitle": "Default — click Accept",
  "bulk.customs.defaultBadge": "default",
  "bulk.customs.defaultHsNote": "Default HS code {code} is pre-filled in grey — confirm it explicitly (Confirm All or manual edit).",
  "bulk.customs.confirmAll": "Confirm All",
  "bulk.customs.translateNames": "Translate names (DeepL)",
  "bulk.customs.translating": "Translating…",
  "bulk.customs.translateNothing": "Nothing to translate — every row already has Name EN.",
  "bulk.customs.translateError": "Translation failed: {msg}",
  "bulk.customs.translateDone": "Translated {count} name(s) — review, then Confirm.",
  "bulk.customs.translateUnavailable": "Translation is not available in this build.",
  "bulk.customs.continueConfirmed": "Continue ({confirmed}/{total} conf.) →",
  "bulk.review.heading": "Selected to send: {checked} / {total}",
  "bulk.review.help": "Unchecking a row skips it this run — it stays in the orders list and you can create it later.",
  "bulk.review.sendFrom": "Send from:",
  "bulk.review.customsStatus": "Customs & EORI:",
  "bulk.review.customsStatusNoEori": "Customs:",
  "bulk.review.editCustoms": "Review / edit",
  "bulk.review.ico": "Company ID",
  "bulk.review.eoriMissing": "missing",
  "bulk.review.fromBranch": "Branch",
  "bulk.review.fromAddress": "Sender address",
  "bulk.review.branchNotSet": "(no branch set in settings)",
  "bulk.review.addressNotSet": "(no sender address set in settings)",
  "bulk.review.col.order": "Order",
  "bulk.review.col.destination": "Destination",
  "bulk.review.col.customs": "Customs",
  "bulk.review.col.cod": "COD",
  "bulk.review.col.parcel": "Dimensions (cm) / kg",
  "bulk.review.weightTooltip": "Weight = sum of product weights (set in the e-shop / customs data). Not manually editable.",
  "bulk.review.customsMissing": "⚠ {count} items missing",
  "bulk.review.customsComplete": "✓ complete",
  "bulk.review.sendBtn": "Send selected ({count}) →",
  "bulk.review.dimTooBig": "Dimensions exceed the NP limit (max {long} × {side} × {side} cm).",
  "bulk.review.dimTooSmall": "Each side must be at least {min} cm.",
  "bulk.review.sendBtnDimError": "Fix parcel dimensions",
  "bulk.review.sendBtnEmpty": "Send →",
  "bulk.results.summary": "Summary",
  "bulk.results.success": "{count} successful",
  "bulk.results.errors": "{count} errors",
  "bulk.results.errorsTitle": "Errors",
  "bulk.results.unknownError": "Unknown error",
  "bulk.results.parcelTooBig": "The parcel's dimensions / volumetric weight exceed the selected NP branch's limit — pick a larger branch (or another service) or a smaller parcel.",
  "bulk.results.fixInShoptet": "Fix in Shoptet →",
  "bulk.results.fixInShoptetTitle": "Close the wizard and open the order in Shoptet",
  "bulk.results.trackingNumbers": "Created tracking numbers",
  "bulk.results.printLabels": "Print labels ({count})",
  "bulk.results.printCustoms": "Print invoices ({count})",
  "bulk.results.saveLabels": "Download labels ({count})",
  "bulk.results.saveCustoms": "Download invoices ({count})",
  "wizard.setup.failed": "Setup failed",
  "wizard.setup.err.editorNotReadyHtml": "<p>Could not open the Shoptet template editor (HTML code page).</p><p>Most likely one of:</p><ul><li>You were logged out of this e-shop — sign in again in the right pane, then click <b>Setup this e-shop</b> again.</li><li>This e-shop has no HTML code editor. Free/trial Shoptet e-shops created outside the Czech Republic do not include it. Use a Czech (.cz) Shoptet e-shop, or ask Shoptet support to unlock the HTML code editor for this shop.</li></ul>",
  "wizard.notLinkedHtml": "<p>This e-shop isn’t set up in your Biatec account yet.</p><p>Open the <a href=\"#\" data-external=\"{url}\">Biatec dashboard</a> and add this e-shop, then come back to continue with verification.</p>",
  "wizard.checkWidget.homepage": "Storefront check:",
  "wizard.checkWidget.snippetPresent": "✓ snippet served",
  "wizard.checkWidget.snippetMissing": "✗ snippet not served yet",
  "wizard.checkWidget.result.savedHtml": "<p>✓ <b>Saved in Shoptet.</b> The Nova Post widget snippet is present in your storefront's served HTML — the template was saved correctly.</p>",
  "wizard.checkWidget.howToVerify": "<p><b>To see it in action:</b> open your storefront, add a product to the cart and go to checkout. The Nova Post option appears at the shipping step once the delivery country is Czech Republic or Slovakia. The widget only renders on the storefront checkout — not here in the admin — so this is expected.</p>",
  "wizard.checkWidget.renderConfirmed": "<p>✓ Detected <b>{np}</b> Nova Post shipping option(s) on the current page — the widget is rendering.</p>",
  "wizard.checkWidget.result.notServedHtml": "<p><b>The snippet isn't in your storefront's served HTML yet.</b> Re-save the template in the Setup step, then in Shoptet check <b>Vzhled a obsah → Šablony</b> that the active checkout template includes our footer code block. Shoptet's output cache can also delay it for a few minutes — wait and retry.</p>",
  "wizard.checkWidget.result.fetchFailedHtml": "<p>Couldn't reach your storefront to verify ({err}). Check that the e-shop is online and reachable, then retry.</p>",
  "wizard.shipping.scanFailed": "Scan failed",
  "wizard.shipping.enterOneId": "Enter at least one ID (branch or address)",
  "wizard.shipping.lostStoreId": "Lost Shoptet store ID — navigate back to the admin home once and retry.",
  "wizard.shipping.savedComplete": "Saved. Setup complete.",
  "wizard.shipping.err.pageNotReadyHtml": "<p>Could not open the Shoptet shipping methods page in time.</p><p>Check that you are still logged in to this e-shop in the right pane, then click <b>Scan shipping methods</b> again.</p>",
  "wizard.shipping.openingAddForm": "Opening add-method form…",
  "wizard.shipping.addFormFailed": "Could not open the add-method form. Open the shipping list manually and click PŘIDAT/ADD.",
  "wizard.shipping.prefilledHtml": "<p>Pre-filled name: <b>{name}</b></p><p>Pick company / service / price in Shoptet, click <b>ULOŽIT</b>. We’ll re-scan automatically when the page returns.</p>",
  "wizard.shipping.card.oneSet": "One Nova Post shipping method is set up. Add the remaining one to finish:",
  "wizard.shipping.card.none": "This e-shop has no Nova Post shipping methods yet.",
  "wizard.shipping.card.addTwo": "Add the two methods (we’ll pre-fill the name; you set company / service / price):",
  "wizard.shipping.method.branch": "Nova Post – pobočka",
  "wizard.shipping.method.address": "Nova Post – adresa",
  "wizard.shipping.missing": "missing",
  "wizard.shipping.addBranch": "Add Nova Post – pobočka",
  "wizard.shipping.addAddress": "Add Nova Post – adresa",
  "wizard.shipping.rescan": "Re-scan",
  "customsCard.noProject": "No active project",
  "customsCard.coverage.none": "—",
  "customsCard.coverage.error": "coverage: error",
  "customsCard.coverage.noData": "no data yet",
  "customsCard.coverage.filled": "{filled} / {total} filled",
  "customsCard.export.choose": "Choose where to save the XLSX…",
  "customsCard.export.done": "Exported {rows} row(s) to {path}",
  "customsCard.export.failed": "Export failed",
  "customsCard.import.choose": "Choose the filled XLSX…",
  "customsCard.import.partial": "Imported {imported} of {total} — {failed} failed. See console for details.",
  "customsCard.import.done": "Imported {imported} row(s).",
  "customsCard.import.failed": "Import failed",
  "customsCard.sync.fetching": "Fetching products from Shoptet…",
  "customsCard.sync.done": "Synced {parsed} products: {inserted} new, {updated} updated",
  "customsCard.sync.skippedSuffix": ", {skipped} skipped",
  "customsCard.sync.enPrefilled": " · EN names pre-filled for {matched}",
  "customsCard.sync.enUnreachable": " · multilingual shop but EN feed not reachable",
  "customsCard.sync.failed": "Sync failed",
  "customsCard.load.choose": "Choose productsSupplier.xml exported from Shoptet…",
  "customsCard.load.done": "Loaded {parsed} products: {inserted} new, {updated} updated",
  "customsCard.load.failed": "Load failed",
  "app.clearSession.clearing": "Clearing…",
  "app.clearSession.cleared": "Cleared. Try logging in again.",
  "wizard.ui.link.h3": "Connect your store",
  "wizard.ui.link.hint": "Link this store to your Biatec account so Nova Post shipments can be created for it.",
  "wizard.ui.link.btn": "Link this store",
  "wizard.ui.setup.h3": "Setup e-shop",
  "wizard.ui.setup.body": "We will add a verification token and the Nova Post widget to your Shoptet template, then save.",
  "wizard.ui.setup.btn": "Setup this e-shop",
  "wizard.ui.verify.h3": "Verify ownership",
  "wizard.ui.verify.body": "The template is updated. Click to verify Biatec can see the token on your storefront.",
  "wizard.ui.verify.btn": "Verify my e-shop",
  "wizard.ui.checkWidgetBtn": "Check widget on storefront",
  "wizard.ui.shipping.h3": "Configure shipping methods",
  "wizard.ui.shipping.body": "Make sure you have a \"Nova Post\" shipping method in Shoptet. We'll scan and save its IDs — for the app and the storefront widget.",
  "wizard.ui.shipping.scanBtn": "Scan shipping methods",
  "wizard.ui.shipping.saveBtn": "Save",
  "wizard.ui.shipping.continueBtn": "Continue →",
  "wizard.ui.done.h3": "✓ All set",
  "wizard.ui.done.ordersBtn": "Go to orders",
  "wizard.ui.done.editBtn": "Edit shipping IDs",
  "wizard.ui.link.detectedHtml": "We detected Shoptet store ID <b id=\"shop-id-link\">…</b>.",
  "wizard.ui.shipping.branchId": "Branch ID Method",
  "wizard.ui.shipping.addressId": "Address ID Method",
  "wizard.ui.done.body": "Setup is complete. You can now create and send Nova Post shipments straight from your Shoptet orders.",
  "wizard.ui.done.hint": "Open an order in the admin on the right and click <b>Create Nova Post shipment</b>. Labels print to your selected printer.",
  "customsCard.ui.title": "Customs data",
  "customsCard.ui.intro": "Fill HS codes, country of origin, and English product names for cross-border shipments. Without these, Nova Post cannot generate the customs declaration and the shipment is blocked.",
  "customsCard.ui.step1": "Click <b>Sync products</b> — fetches the product list directly from your Shoptet admin (uses the logged-in tab on the right).",
  "customsCard.ui.step2": "Click <b>Manage products</b> to fill HS / origin / EN name in-app, or use <b>Export XLSX</b> for bulk editing in Excel.",
  "customsCard.ui.syncBtn": "1. Sync products from Shoptet",
  "customsCard.ui.syncTitle": "Fetch productsSupplier.xml from your Shoptet admin and seed the product list",
  "customsCard.ui.manageBtn": "2. Manage products",
  "customsCard.ui.exportBtn": "Export XLSX",
  "customsCard.ui.importBtn": "Import XLSX",
  "customsCard.ui.loadBtn": "Load XML file…",
  "customsCard.ui.loadTitle": "Manual fallback: pick a productsSupplier.xml file you've exported from Shoptet admin",
  "app.footer.logout": "Log out of app",
  "app.footer.reset": "Reset & uninstall",
  "app.footer.resetting": "Resetting…",
  "cp.title": "Customs products",
  "cp.searchPlaceholder": "Filter by name, code or HS…",
  "cp.onlyIncomplete": "Only incomplete",
  "cp.close": "Close",
  "cp.targetAllVisible": "All visible",
  "cp.field.hs": "HS code",
  "cp.field.origin": "Origin (ISO-2)",
  "cp.field.nameEn": "Name (EN)",
  "cp.field.note": "Note",
  "cp.field.battery": "Battery (Y/N)",
  "cp.field.dualUse": "Dual-use (Y/N)",
  "cp.bool.yes": "Yes",
  "cp.bool.no": "No",
  "cp.apply": "Apply",
  "cp.translateBtn": "Translate name → EN (DeepL)",
  "cp.translateTitle": "Auto-detect source language and translate the CZ name to English; fills empty Name (EN) cells.",
  "cp.overwriteEn": "Overwrite existing EN",
  "cp.selectAllTitle": "Select all visible",
  "cp.col.product": "Product (CZ)",
  "cp.col.code": "Code",
  "cp.col.weight": "Weight",
  "cp.col.hs": "HS code",
  "cp.col.origin": "Origin",
  "cp.col.length": "Length",
  "cp.col.width": "Width",
  "cp.col.height": "Height",
  "cp.col.nameEn": "Name (EN)",
  "cp.col.battery": "Bat.",
  "cp.col.dual": "Dual",
  "cp.col.note": "Note",
  "cp.col.status": "Status",
  "cp.colTip.weight": "Product weight (kg), from Shoptet.",
  "cp.colTip.hs": "Harmonized System tariff code — the customs commodity code. Required for cross-border.",
  "cp.colTip.origin": "Country of origin (ISO-2, e.g. CZ). Required for cross-border.",
  "cp.colTip.nameEn": "English product name on the customs declaration. Required for cross-border (DeepL can pre-fill it).",
  "cp.colTip.battery": "Tick if the product contains a battery (affects what can be shipped).",
  "cp.colTip.dual": "Dual-use goods — tick if export-controlled (civilian + military use).",
  "cp.colTip.note": "Internal note (optional) — not sent to Nova Post.",
  "cp.colTip.status": "✓ = all required fields filled; … = something required is missing.",
  "cp.reload": "Reload",
  "cp.reloadTitle": "Reload the last saved version from the server (discards any unsaved typing in open fields).",
  "cp.rule.hs": "Customs commodity code — 8 to 10 digits (e.g. 6109.10.00).",
  "cp.rule.origin": "2-letter ISO country code (e.g. CZ).",
  "cp.rule.nameEn": "English product name — at least 2 characters.",
  "cp.rule.weight": "Weight must be greater than 0 — set it on the product in Shoptet.",
  "cp.rule.physical": "Must be a positive number (kg / cm). Leave empty to use the Shoptet value.",
  "cp.footHint": "* required for cross-border shipments. Edits save automatically when you leave the field.",
  "topbar.language.auto": "Automatic",
  "topbar.shipsFrom": "This e-shop ships from:",
  "topbar.syncProducts.btn": "↻ Sync products",
  "topbar.syncProducts.tip": "Load current product dimensions & weights from Shoptet for this e-shop",
  "topbar.syncProducts.running": "↻ Syncing…",
  "topbar.syncProducts.done": "✓ {n} products",
  "topbar.syncProducts.error": "✗ Sync failed",
  "topbar.from.address": "address",
  "topbar.from.branch": "branch",
  "topbar.sender.changeHint": "The admin can change the branch or address in the Biatec Dashboard:",
  "topbar.sender.notConfigured": "(no sender configured)",
  "topbar.sender.branchNoun": "Branch",
  "topbar.sender.branchNumber": "Branch number",
  "topbar.sender.addressLabel": "Address",
  "topbar.sender.addressNoun": "Address",
  "topbar.sender.editBtn": "Choose branch / change address",
  "topbar.sender.noAddress": "(no address set — set it in the Dashboard)",
  "topbar.sender.noBranch": "(no branch set — click to choose one)",
  "sb.title": "Choose sending branch",
  "sb.searchPlaceholder": "City / branch name (Praha, Brno, …)",
  "sb.loading": "Loading branches…",
  "sb.count": "{n} branches",
  "sb.filtered": "{matched} / {total}",
  "sb.error": "Error: {msg}",
  "sb.empty": "No branches match your search",
  "sb.use": "Use →",
  "sb.set": "Set",
  "sb.saving": "Saving…",
  "sb.saved": "Branch saved",
  "sb.current": "Current: #{id}",
  "sb.cancel": "Cancel",
  "sb.colId": "ID",
  "sb.colName": "Name",
  "sb.colCity": "City",
  "sb.colAddress": "Address",
  "sb.colType": "Type",
  "sa.title": "Sending address",
  "sa.intro": "The address the courier collects shipments from. Pickup is arranged outside the app (NP Business Cabinet / sales manager).",
  "sa.street": "Street",
  "sa.building": "Building no.",
  "sa.postCode": "ZIP",
  "sa.city": "City",
  "sa.country": "Country",
  "sa.phone": "Phone (optional)",
  "sa.cancel": "Cancel",
  "sa.save": "Save",
  "sa.saving": "Saving…",
  "sa.saved": "Address saved",
  "sa.required": "Fill in street, city and ZIP.",
  "sa.error": "Error: {msg}",
  "orderDetail.btn.changeBranch": "Change NP branch",
  "orderDetail.btn.retry": "Retry",
  "orderDetail.status.creating": "Creating…",
  "orderDetail.status.fetching": "Fetching order details…",
  "orderDetail.status.errorPrefix": "Error: ",
  "orderDetail.status.created": "Created",
  "orderDetail.status.trackingPrefix": "Tracking: ",
  "orderDetail.status.openingPrinter": "Opening printer…",
  "orderDetail.status.sentToPrinter": "Sent to printer",
  "orderDetail.status.printFailedRetry": "Print failed — retry",
  "orderDetail.status.printing": "Printing…",
  "orderDetail.status.printError": "Print failed: ",
  "orderDetail.dims.btn": "Dimensions",
  "orderDetail.dims.title": "Parcel dimensions (optional)",
  "orderDetail.dims.close": "Close",
  "orderDetail.dims.help": "Actual parcel dimensions. Empty = automatic calculation. Values are sorted descending (NP requires L ≥ W ≥ H); proportions are preserved.",
  "orderDetail.dims.length": "Length (cm)",
  "orderDetail.dims.width": "Width (cm)",
  "orderDetail.dims.height": "Height (cm)",
  "orderDetail.dims.phLength": "e.g. 111",
  "orderDetail.dims.phWidth": "e.g. 3",
  "orderDetail.dims.phHeight": "e.g. 1",
  "orderDetail.dims.weightLabel": "Weight: ",
  "orderDetail.dims.weightHint": "(sum of product weights set in the e-shop)",
  "orderDetail.dims.clear": "Clear",
  "orderDetail.dims.save": "Save",
  "orderDetail.dims.loading": "Loading suggestion from product…",
  "orderDetail.dims.suggestProduct": "Suggested from product dimensions (× qty). Adjust as needed.",
  "orderDetail.dims.suggestDefault": "Suggested = e-shop default box. Adjust as needed.",
  "ordersList.btn.sent": "Sent ✓",
  "ordersList.btn.printAgain": "Print again"
}
