|
- {
- "mtmsRouteWarn_title": "Route data alerts",
- "mtmsRouteWarn_tooltipHas": "{{count}} potential conflict(s)",
- "mtmsRouteWarn_tooltipNone": "No alerts",
- "mtmsRouteWarn_refresh": "Reload data",
- "mtmsRouteWarn_refreshing": "Loading…",
- "mtmsRouteWarn_copyAll": "Copy all",
- "mtmsRouteWarn_parseHint": "{{count}} 4F lane(s): weekday could not be determined (excluded from alerts)",
- "mtmsRouteWarn_empty": "No data conflicts.",
- "mtmsRouteWarn_conflict4f": "4F: same shop on different lanes · weekday {{weekday}}",
- "mtmsRouteWarn_conflictDep": "Non-4F: same shop on different lanes · departure {{time}}",
- "mtmsRouteWarn_shop": "Shop",
- "mtmsRouteWarn_postAddConflict": "After adding the shop, data conflicts with other lane(s). Open the bell for details.",
- "No changes": "No changes",
- "Saved": "Saved",
- "Failed to save": "Failed to save",
- "Changed": "Changed",
- "Logistic": "Logistic",
- "Driver": "Driver",
- "Plate": "Plate",
- "Departure": "Departure",
- "Shops": "Shops",
- "Current version": "Current version",
- "new arrangement": "new arrangement",
- "Submitting...": "Submitting…",
- "saveChanges": "Save changes",
- "warnExpand": "Expand",
- "warnCollapse": "Collapse",
- "warnClipboardStore": "Store",
- "warnClipboardDep": "Dep",
- "warnClipboardWeekday": "Weekday",
- "pageTitle": "MTMS route & shop board",
- "importRoutes": "Import routes",
- "exportRoutes": "Export routes",
- "routeReport": "Route report",
- "departureTooltipNeedShops": "Add shops before setting departure time",
- "departureTooltipEditSave": "Edit departure time (saved with \"Save changes\")",
- "departureEditAria": "Edit departure time",
- "saveDisabledTooltip": "Make changes (drag, departure time, load order, logistics, etc.) before saving",
- "cancel": "Cancel",
- "drawerClose": "Close",
- "tabBoard": "Route board",
- "tabLogistics": "Logistics",
- "quickIndex": "Quick index",
- "versionLogDialogTitle": "Version change log",
- "emDash": "—",
- "val_logisticsRequired": "Enter logistics company, plate, and driver name",
- "val_logisticsDuplicateName": "A logistics master or staged add with this name already exists",
- "val_phoneInvalid": "Enter a valid phone number (digits)",
- "err_save": "Save failed",
- "err_invalidMasterId": "Invalid master record id",
- "err_exportNeedSelection": "Select at least one lane on the left to export",
- "err_export": "Export failed",
- "err_noLanes": "No lane data",
- "err_import": "Import failed",
- "err_dragDuplicateShop": "Target lane already has this shop (same shop / same shop code)",
- "district_err_name": "Enter a district name",
- "district_err_reserved": "\"Unclassified\" is built-in; do not add it again",
- "district_err_exists": "This district already exists",
- "route_err_code": "Enter a lane code",
- "route_err_departure": "Select or enter departure time",
- "route_err_duplicate": "This lane (including remark group) already exists",
- "route_err_create": "Failed to add lane",
- "confirm_addShopConflict": "Detected {{count}} potential conflict(s) with other lanes (Rules 1/2; see bell). It will be added to the board first; press \"Save changes\" to persist. Continue?",
- "confirm_discardDraftShop": "Discard unsaved \"new shop\" draft?",
- "confirm_removeShop": "Remove this shop from the lane? (Press \"Save changes\" to persist)",
- "confirm_clearLane": "Clear all {{count}} shop(s) from lane \"{{laneLabel}}\"? (Press \"Save changes\" to delete on server)",
- "confirm_departureConflict": "After changing departure time, {{count}} potential conflict(s) detected (Rules 1/2; see bell). Apply anyway?",
- "drag_blockDraftShop": "Unsaved \"new shop\" rows must be saved with \"Save changes\" or removed from the card before dragging.",
- "nav_unsavedLeave": "You have unsaved changes. Leave this page?",
- "save_clearedEmptyDistricts": "Only empty district blocks (no shops); cleared staging",
- "api_fail_createLane": "Failed to create lane",
- "api_fail_addShop": "Failed to add shop",
- "api_fail_updateLane": "Failed to update lane",
- "api_fail_deleteShop": "Failed to delete shop",
- "api_fail_updateLogistics": "Failed to update logistics",
- "diff_loadFail": "Failed to load version diff",
- "versionNote_saveFail": "Failed to save note",
- "diff_restoreFail": "Restore failed",
- "confirm_restoreDiscardsEdits": "Scheduling a version restore will discard other unsaved board changes (drags, deletes, pending shops/lanes, logistics fields, etc.). Continue?",
- "diff_restoreScheduled": "Restore to version #{{versionId}} is scheduled; press \"Save changes\" to persist.",
- "diff_restoreAlreadyPending": "This version is already scheduled; press \"Save changes\" to apply.",
- "restore_applied": "Snapshot restore applied; board reloaded.",
- "restore_appliedDroppedStaging": "Snapshot restore applied; other staged edits in this save were skipped (edit again if needed).",
- "confirm_restoreSaveWillDropStaging": "Save will apply the snapshot restore first; other staged edits in this save will be skipped. Continue?",
- "diff_noOlderCompare": "No older version to compare (pick a newer version)",
- "logistic_needMasterTpl": "\"{{name}}\" has no logistics master id—create it with \"Add logistics\" first.",
- "diffField_logisticsCompany": "Logistics company",
- "diffLogistic_unassigned": "Unassigned",
- "diff_onLane": "Lane {{lane}}",
- "diff_moveTo": "Move to {{lane}}",
- "diff_addedToLane": "Added to lane {{lane}}",
- "diff_removedFromLane": "Removed from {{lane}}",
- "diff_editedCaption": "Field edits (sequence / branch name / time window, etc.)",
- "diff_restoreToHead": "Schedule restore to latest snapshot (requires Save)",
- "diff_restoreToSelected": "Schedule restore to this version (requires Save)",
- "dialog_close": "Close",
- "btn_addLogistics": "Add logistics",
- "logistics_sidebarEmpty": "No lanes (refresh or relax filters)",
- "lane_companyChip": "{{count}} lane(s)",
- "lane_selectTitle": "Lanes",
- "lane_selectedNone": "No lanes selected",
- "lane_selectedCount": "{{count}} selected",
- "lane_searchPh": "Search…",
- "lane_selectAll": "Select all",
- "lane_noMatchFilter": "No lanes match (clear search or floor filter)",
- "floor_label": "Floor",
- "floor_all": "All",
- "filter_clear": "Clear",
- "filter_apply": "OK",
- "btn_addLane": "Add lane",
- "tools_title": "Tools",
- "shop_searchPh": "Search shop name / code / district…",
- "btn_openVersionLog": "Version log",
- "btn_loading": "Loading…",
- "btn_refresh": "Refresh",
- "logistics_overviewTitle": "Logistics overview",
- "version_ui_historyTitle": "Version history",
- "version_ui_filterAria": "Filter version list",
- "version_ui_listAria": "Version history list",
- "version_ui_snapshotBadge": "Current snapshot",
- "version_ui_id": "Version #{{id}}",
- "version_ui_none": "No snapshot yet",
- "version_ui_editedBy": "Editor: {{name}}",
- "version_note_placeholder": "Note (saved on blur)",
- "version_note_saving": "Saving…",
- "version_search_label": "Search",
- "version_search_placeholder": "Version id / note / editor",
- "version_date_label": "Date",
- "version_empty_filtered": "No versions match filters",
- "version_empty_list": "No versions yet (use \"Save version log\")",
- "diff_clickLeft": "Select a version on the left to view changes",
- "diff_oldestSnapshot": "Oldest snapshot—no older version to diff against.",
- "diff_summary_title": "Summary",
- "diff_export_reportBtn": "Export version lane report",
- "diff_summary_added": "Added",
- "diff_summary_moved": "Moved",
- "diff_summary_deleted": "Deleted",
- "diff_summary_fieldChange": "Field changes",
- "diff_shopList_title": "Shop changes",
- "diff_staged_serverCountsOnly": "The four counts above compare persisted snapshots only; they exclude unsaved board edits.",
- "diff_staged_boardPendingLine": "{{count}} unsaved / scheduled board item(s) — see the list below.",
- "diff_staged_section_title": "Board: unsaved / scheduled (not persisted yet)",
- "diff_staged_section_subtitle": "These match what will hit the DB after \"Save changes\"; listed separately from the version diff above (Excel is server snapshots only).",
- "diff_staged_tag_unsaved": "Unsaved",
- "diff_staged_tag_scheduled": "Scheduled",
- "diff_staged_restoreScheduled": "Restore to version #{{versionId}} is scheduled (calls restore only after \"Save changes\").",
- "diff_staged_deleteUnknown": "Delete truck id={{id}} (unsaved; save or cancel to refresh details)",
- "diff_staged_newLane": "New lane (unsaved): {{lane}}",
- "diff_staged_laneLogistic": "Lane logistics (unsaved): {{lane}} → {{company}}",
- "diff_staged_emptyDistricts": "Empty-district blocks (unsaved): {{lane}} — {{names}}",
- "diff_staged_shopDistrictHint": " · District: {{from}}→{{to}}",
- "diff_staged_shopPendingOnLane": "{{name}} ({{code}}) — lane {{lane}}: unsaved edits (drag / departure / load order; persisted on \"Save changes\"){{districtPart}}",
- "diff_staged_shopDistrictOnly": "{{name}} ({{code}}) — lane {{lane}}: district {{from}}→{{to}} (unsaved; persisted on \"Save changes\")",
- "diff_staged_pendingLogisticMaster": "New logistics company (not saved yet): {{name}} (plate {{plate}}); will be created on \"Save changes\" together with route edits",
- "diff_staged_editLogisticMaster": "Edit logistics company (unsaved): {{fromName}} ({{fromPlate}}) → {{name}} ({{plate}})",
- "diff_staged_importPending": "Import Excel (unsaved): {{file}} — {{sheets}} sheet(s), {{rows}} row(s) (persisted on \"Save changes\")",
- "confirm_importDiscardEdits": "Import will replace unsaved board edits. Continue?",
- "import_staged_preview": "Import preview loaded: {{file}} ({{sheets}} sheet(s) / {{rows}} rows). Press \"Save changes\" to persist.",
- "err_importEmpty": "No valid lane rows found in the import file",
- "diff_logisticMaster_section": "Logistics company changes",
- "diff_logisticMaster_added": "Added",
- "diff_logisticMaster_edited": "Edited",
- "diff_noShopDiffHasBoardStaged": "No shop-row changes vs the previous snapshot. Below are unsaved board edits (including new logistics company records).",
- "diff_export_blockedTooltip": "Export compares two persisted snapshots only. Save or discard board changes first, then export.",
- "diff_export_blockedError": "Cannot export while the board has unsaved changes (Excel is persisted snapshots only).",
- "diff_markedCount": "{{count}} truck row change(s) marked (see board)",
- "diff_noDiffFromPrev": "No differences vs previous version",
- "diff_loadingEllipsis": "…",
- "addShop_dialogTitle": "Add shop to lane",
- "addRoute_dialogTitle": "Add delivery lane",
- "addRoute_confirm": "Confirm add lane",
- "addRoute_submitting": "Adding…",
- "district_dialog_add": "Add district",
- "district_dialog_edit": "Edit district",
- "district_name_label": "District display name",
- "district_name_ph": "Blank means \"Unclassified\"",
- "seq_edit_departureLabel": "Departure time",
- "seq_edit_seqLabel": "Load sequence (Seq)",
- "route_new_code_label": "Lane code",
- "route_new_time_label": "Departure time",
- "route_new_logistic_label": "Logistics company",
- "route_new_store_label": "Floor",
- "route_new_remark_label": "Lane remark (4F)",
- "logistic_companyName": "Company name",
- "logistic_plate": "Plate",
- "logistic_driver": "Driver name",
- "logistic_phone": "Phone",
- "logistic_btn_save": "Save",
- "logistic_btn_saveDb": "Save to database",
- "shop_autocomplete_label": "Select shop",
- "shop_autocomplete_ph": "Filter by name or code",
- "shop_autocomplete_loading": "Shop master not loaded",
- "shop_autocomplete_noOptions": "All shops already on this lane or no options",
- "dialog_addLogisticsTitle": "Add logistics",
- "btn_cancelBack": "Cancel and go back",
- "quickPick_noLanes": "No lanes (relax floor filter or refresh)",
- "quickPick_noKeyword": "No lanes match the keyword",
- "route_logisticUnspecified": "(Unassigned — assign later in Logistics)",
- "dialog_editLogisticsTitle": "Edit logistics master",
- "btn_apply": "Apply",
- "addShop_confirm": "Confirm",
- "addShop_listHint": "Shop codes already on this lane are hidden from the list. After adding, reorder by drag; like other edits, press \"Save changes\" to persist to truck rows.",
- "departureDialog_title": "Edit departure time",
- "departureDialog_hint": "Applies to all shop rows on this lane; press \"Save changes\" above to persist.",
- "seqDialog_title": "Edit load sequence",
- "logistics_colLaneCount": "{{count}} lane(s)",
- "logistics_masterNoLanes": "Master record exists but no lanes are bound yet; pick this company when adding/editing lanes on the route board.",
- "tooltip_openLaneBoard": "Open this lane on the route board",
- "aria_openLaneBoard": "Open lane on route board",
- "tooltip_removeFromLane": "Remove from this lane",
- "tooltip_clearLaneShops": "Clear all shops on this lane (press \"Save changes\" to persist)",
- "tooltip_pickLane": "Pick lane (add to selection and scroll into view)",
- "aria_pickLane": "Pick lane",
- "aria_searchLanes": "Search lanes",
- "logistics_colShopCount": "{{count}} shop(s)",
- "tooltip_editLogisticsDb": "Edit logistics company (persists after Save changes)",
- "tooltip_deleteLogistics": "Delete logistics company (persists after Save changes)",
- "aria_editLogistics": "Edit logistics company",
- "aria_deleteLogistics": "Delete logistics company",
- "confirm_deleteLogistic": "Delete logistics company \"{{name}}\"? Press \"Save changes\" to persist.",
- "err_logisticDeleteHasLanes": "This company still has {{count}} lane(s). Reassign or remove them first.",
- "diff_staged_deleteLogisticMaster": "Delete logistics company (not saved): {{name}}",
- "logistic_btn_apply": "Apply",
- "tooltip_editDistrict": "Edit district name (press \"Save changes\" to persist)",
- "aria_editDistrict": "Edit district",
- "tooltip_removeEmptyDistrict": "Remove this staged empty block (deletable before save)",
- "aria_removeEmptyDistrict": "Remove empty district block",
- "tooltip_editSeq": "Edit load sequence (press \"Save changes\" to persist)",
- "aria_editSeq": "Edit load sequence",
- "diff_moveFrom": "From {{lane}}",
- "logistics_dirtyColumnBadge": "Unsaved logistics changes",
- "logistics_dirtyLaneBadge": "Unsaved logistics on lane",
- "lane_shopCountInline": "{{count}} shop(s)",
- "btn_addDistrict": "Add district",
- "empty_lane_noShops": "No assigned shops",
- "btn_addShopToLane": "Add shop",
- "err_loadLanes": "Failed to load lanes"
- }
|