{
  "app": {
    "name": "Goovii POS",
    "subtitle": "Point of Sale System",
    "version": "Version {version}"
  },
  "receipt": {
    "label": "Receipt",
    "date": "Date",
    "cashier": "Cashier",
    "register": "Register",
    "client": "Client",
    "subtotal": "Subtotal",
    "discount": "Discount",
    "tax": "Tax",
    "total": "TOTAL",
    "payment": "Payment",
    "amountPaid": "Amount Paid",
    "change": "Change",
    "bonusEarned": "Bonus Earned",
    "bonusBalance": "Your Balance",
    "thankYou": "Thank you for your business!",
    "runner": "RUNNER",
    "ticket": "Ticket",
    "items": "{count} item(s)"
  },
  "common": {
    "continue": "Continue",
    "cancel": "Cancel",
    "skip": "Skip",
    "confirm": "Confirm",
    "save": "Save",
    "delete": "Delete",
    "edit": "Edit",
    "close": "Close",
    "back": "Back",
    "next": "Next",
    "retry": "Retry",
    "tryAnyway": "Try Anyway",
    "loading": "Loading...",
    "error": "Error",
    "success": "Success",
    "warning": "Warning",
    "ok": "OK",
    "understood": "Understood",
    "yes": "Yes",
    "no": "No",
    "search": "Search",
    "filter": "Filter",
    "moreOptions": "More options",
    "clear": "Clear",
    "view": "View",
    "viewAll": "View All",
    "minutes": "min",
    "total": "Total",
    "subtotal": "Subtotal",
    "discount": "Discount",
    "tax": "Tax",
    "quantity": "Quantity",
    "price": "Price",
    "date": "Date",
    "time": "Time",
    "status": "Status",
    "note": "Note",
    "notes": "Notes",
    "required": "Required",
    "invalidNumber": "Invalid number",
    "opening": "Opening...",
    "closing": "Closing...",
    "done": "Done",
    "refresh": "Refresh",
    "copy": "Copy"
  },
  "auth": {
    "institutionToken": {
      "title": "Enter institution token",
      "label": "Institution Token",
      "hint": "Paste your institution token",
      "pasteTooltip": "Paste token",
      "helperText": "The institution token is a long alphanumeric string provided by your administrator. You can paste it from your clipboard.",
      "validation": {
        "required": "Please enter institution token",
        "minLength": "Token must be at least 10 characters"
      },
      "success": "Institution validated: {name}",
      "invalidToken": "Invalid institution token",
      "serverError": "Server error: {error}",
      "networkError": "Network error. Please check your connection.",
      "timeout": "Request timeout. Please try again.",
      "apiTodo": "Institution validated! (TODO: Implement API)",
      "error": "Invalid institution token: {error}"
    },
    "passcode": {
      "title": "Enter PIN Code",
      "subtitle": "Select your cash register and enter PIN",
      "setupTitle": "Set up your PIN Code",
      "confirmTitle": "Confirm your PIN Code",
      "label": "PIN Code",
      "hint": "Enter your 4-6 digit PIN",
      "validation": {
        "required": "Please enter PIN code",
        "minLength": "PIN must be at least 4 digits",
        "mismatch": "PIN codes do not match"
      },
      "selectRegister": "Select Cash Register",
      "selectRegisterSubtitle": "Choose which cash register you want to use",
      "selectRegisterWarning": "Please select a cash register first",
      "noRegisters": "No cash registers available",
      "loadRegistersError": "Failed to load cash registers",
      "authenticating": "Authenticating...",
      "success": "Login successful!",
      "welcomeBack": "Welcome back, {name}!",
      "incorrect": "Incorrect PIN code",
      "error": "Authentication failed",
      "networkError": "Network error. Please check your connection.",
      "timeout": "Request timeout. Please try again.",
      "setupSuccess": "PIN code set successfully!",
      "setup": {
        "success": "PIN code set successfully!",
        "mismatch": "PIN codes do not match. Please try again."
      }
    },
    "logout": "Logout",
    "loggingOut": "Logging out..."
  },
  "home": {
    "title": "Home",
    "dashboard": "Dashboard",
    "comingSoon": "Dashboard coming soon",
    "serviceLabel": "Service: {name}",
    "lockScreen": "Lock Screen",
    "syncStatus": "Sync Status",
    "menu": "Menu",
    "more": "More",
    "lockScreenTitle": "Lock Screen",
    "lockScreenMessage": "Lock screen functionality will be implemented soon.",
    "welcomeBack": "Welcome back!",
    "shiftStatus": "Shift Status",
    "cashRegister": "Cash Register",
    "quickStats": "Quick Stats",
    "pendingSync": "Pending Sync",
    "failedSync": "Failed Sync",
    "online": "Online",
    "offline": "Offline",
    "sync": "Sync",
    "syncActive": "Active",
    "syncIdle": "Idle",
    "quickActions": "Quick Actions",
    "shiftOpen": "Open",
    "shiftClosed": "Closed",
    "browseProducts": "Browse Products",
    "browseProductsDesc": "View and search product catalog",
    "createNewTicket": "Create New Ticket",
    "createNewTicketDesc": "Start a new order",
    "viewFloorPlan": "View Floor Plan",
    "viewFloorPlanDesc": "Manage tables and reservations",
    "viewCart": "View Cart"
  },
  "dashboard": {
    "goodMorning": "Good morning,",
    "goodAfternoon": "Good afternoon,",
    "goodEvening": "Good evening,",
    "startedAt": "Started",
    "connectionStatus": "Connection",
    "syncStatus": "Sync",
    "connectedToServer": "Connected to server",
    "workingOffline": "Working offline",
    "allDataSynced": "All data is synced",
    "dataWillSyncWhenOnline": "Data will sync when online"
  },
  "products": {
    "title": "Products",
    "comingSoon": "Products screen coming soon",
    "weightUnit": {
      "gram": "g",
      "kilogram": "kg",
      "liter": "L",
      "milliliter": "ml",
      "pound": "lb",
      "ounce": "oz",
      "piece": "pc"
    },
    "refresh": "Refresh Products",
    "allCategories": "All Categories",
    "allProducts": "All Products",
    "categories": "Categories",
    "selectCategory": "Select a category",
    "noCategories": "No categories available",
    "noProducts": "No products available",
    "noCategoryProducts": "No products in this category",
    "noProductsInCategory": "No items in this category",
    "noSearchResults": "No products found",
    "searchProducts": "Search products...",
    "addToTicket": "Add",
    "productInfo": "Product Info",
    "unavailable": "Unavailable",
    "popular": "Popular",
    "loadingProducts": "Loading products...",
    "loadingCategories": "Loading categories...",
    "errorLoading": "Failed to load products",
    "retry": "Retry",
    "addProduct": "Add Product",
    "editProduct": "Edit Product",
    "addedToTicket": "Product added successfully",
    "errorAdding": "Failed to add product",
    "deleteProduct": "Delete Product",
    "productName": "Product Name",
    "productPrice": "Price",
    "productCategory": "Category",
    "inStock": "In Stock",
    "outOfStock": "Out of Stock",
    "weightProduct": "Weight Product",
    "hasModifiers": "Has Options",
    "description": "Description",
    "sku": "SKU:",
    "skuCopied": "SKU copied to clipboard",
    "copied": "Copied!",
    "zReportFiled": "Cannot add products - Z-report has been filed",
    "items": "items",
    "uncategorized": "Uncategorized",
    "modifiersOptions": "Options / Modifiers",
    "taxInfo": "Tax Information",
    "taxLetter": "Tax Letter",
    "canBeOpened": "Can be opened",
    "noDiscount": "No discount",
    "ingredients": "Ingredients / Composition",
    "loadingIngredients": "Loading ingredients..."
  },
  "modifiers": {
    "selectOptions": "Select your options",
    "required": "Required",
    "selectOne": "Select one option",
    "selectMultiple": "Select any options",
    "selectRange": "Select {min}-{max} options",
    "selectUpTo": "Select up to {max} options",
    "quantity": "Quantity",
    "addToOrder": "Add to Order",
    "enterWeight": "Enter weight",
    "weight": "Weight",
    "errorAdding": "Failed to add modifiers",
    "selectedItems": "Selected Items",
    "none": "None",
    "total": "Total with modifiers"
  },
  "tickets": {
    "title": "Tickets",
    "comingSoon": "Tickets list coming soon",
    "ticketNumber": "Ticket #",
    "newTicket": "New Ticket",
    "table": "Table {id}",
    "server": "Server",
    "items": "Items",
    "addItem": "Add Item",
    "removeItem": "Remove Item",
    "splitTicket": "Split Ticket",
    "mergeTicket": "Merge Ticket",
    "transferTicket": "Transfer Ticket",
    "printTicket": "Print Ticket",
    "payTicket": "Pay Ticket",
    "voidTicket": "Void Ticket",
    "ticketDetail": "Ticket Detail",
    "ticketDetailComing": "Ticket #{id} coming soon",
    "filterAll": "All",
    "filterActive": "Active",
    "filterCompleted": "Completed",
    "filterRefunded": "Refunded",
    "showing": "Showing {count} of {total}",
    "loadingTickets": "Loading tickets...",
    "errorLoading": "Failed to load tickets",
    "noTickets": "No tickets yet",
    "noActiveTickets": "No active tickets",
    "noCompletedTickets": "No completed tickets",
    "noRefundedTickets": "No refunded tickets",
    "loadMore": "Load {count} more tickets",
    "createTicketFromProducts": "Create a ticket from the Products tab",
    "selectTicketType": "Select Ticket Type",
    "dineInDesc": "Customer dining in the restaurant",
    "takeawayDesc": "Customer takes food away",
    "deliveryDesc": "Food delivered to customer",
    "ticketSelected": "Ticket #{number} selected",
    "itemsCount": "{count} items",
    "refunded": "Refunded",
    "statusDraft": "Draft",
    "statusOpen": "Open",
    "statusPaid": "Paid",
    "statusCompleted": "Completed",
    "statusCanceled": "Canceled",
    "statusPushTicket": "Pending",
    "statusSentToKitchen": "In Kitchen",
    "statusInProgress": "In Progress",
    "typeDineIn": "Dine In",
    "typeTakeaway": "Takeaway",
    "typeDelivery": "Delivery",
    "typeUnknown": "Unknown",
    "noShiftOpen": "No Shift Open",
    "openShiftToViewTickets": "Open a shift to view and manage tickets",
    "payTypeCash": "Cash",
    "payTypeCard": "Card",
    "payTypeMixed": "Mixed",
    "payTypeQR": "QR Payment",
    "payTypeInstitution": "House Account",
    "payTypeUnknown": "Unknown",
    "completedTypePaid": "Paid",
    "completedTypeGuestPaid": "Guest Paid",
    "completedTypeInstitutionPaid": "House Account",
    "completedTypeGuestLeft": "Guest Left",
    "completedTypeStaffMistake": "Staff Mistake",
    "completedTypeNoShow": "No Show",
    "completedTypeCanceled": "Canceled",
    "completedTypeUnknown": "Unknown",
    "cancelReason": "Reason: {reason}"
  },
  "ticket": {
    "selectType": "Select Ticket Type",
    "dineIn": "Dine In",
    "dineInDescription": "For customers eating at the restaurant",
    "takeaway": "Takeaway",
    "takeawayDescription": "For customers taking food to go",
    "delivery": "Delivery",
    "deliveryDescription": "For food delivery orders",
    "selectTable": "Select Table",
    "noTablesAvailable": "No tables available",
    "cannotModify": "Cannot modify a completed or cancelled ticket",
    "errorCreating": "Failed to create ticket",
    "creatingTicket": "Creating ticket...",
    "addingProduct": "Adding product..."
  },
  "tables": {
    "title": "Tables",
    "comingSoon": "Tables floor plan coming soon",
    "floorPlan": "Floor Plan",
    "available": "Available",
    "occupied": "Occupied",
    "reserved": "Reserved",
    "reservedPending": "Reserved (Pending)",
    "reservedConfirmed": "Reserved (Confirmed)",
    "pendingShort": "Pending",
    "confirmedShort": "Confirmed",
    "dirty": "Dirty",
    "free": "Free",
    "tableNumber": "Table {number}",
    "table": "Table {number}",
    "bar": "Bar Counter",
    "bars": "Bar",
    "tables": "Tables",
    "barAlwaysAvailable": "Always available",
    "newReceipt": "New Receipt",
    "refreshing": "Refreshing floor plan...",
    "loadingFloorPlan": "Loading floor plan...",
    "errorLoading": "Error loading floor plan",
    "noFloorPlan": "No Floor Plan",
    "noFloorPlanDesc": "No tables or floor plan configured for this location",
    "zoomIn": "Zoom In",
    "zoomOut": "Zoom Out",
    "resetView": "Reset View",
    "fitToScreen": "Fit to Screen",
    "listView": "List View",
    "canvasView": "Floor Plan View",
    "selectFloor": "Select Floor",
    "selectRoom": "Select Room",
    "floor": "Floor",
    "room": "Room",
    "type": "Type",
    "capacity": "Capacity",
    "guests": "guests",
    "currentTicket": "Current Ticket",
    "createTicket": "Create Ticket",
    "viewTicket": "View Ticket",
    "moveTable": "Move",
    "checkIn": "Check In",
    "viewBooking": "View Booking",
    "createTicketForTable": "Creating ticket for Table {table}",
    "ticketCreatedForTable": "Ticket created for Table {table}",
    "ticketCreatedForBar": "Ticket created for {bar}",
    "selectTicket": "Select Ticket",
    "errorCreatingTicket": "Error creating ticket",
    "noTicketFound": "No ticket found for this table",
    "noAvailableTables": "No available tables to move to",
    "noTicketToMove": "No ticket to move from this table",
    "moveTableFailed": "Failed to move table",
    "tableMovedSuccess": "Moved from Table {from} to Table {to}",
    "moveTableTitle": "Move to Another Table",
    "moveTableDescription": "Move guests from Table {from} to a new table",
    "confirmMoveTable": "Move ticket from Table {from} to Table {to}?",
    "selectDestination": "Select destination table:",
    "guestCheckedIn": "Guest checked in at Table {table}",
    "errorCheckingIn": "Error checking in guest",
    "tableLabel": "Table",
    "ticketNumber": "Ticket",
    "occupiedByOther": {
      "title": "Table Occupied",
      "cashRegister": "Cash Register",
      "staff": "Staff",
      "hint": "This table is currently occupied by another cash register. You cannot create tickets or modify orders on this table."
    }
  },
  "bookings": {
    "title": "Bookings",
    "comingSoon": "Bookings - Coming soon",
    "manageReservations": "Manage table reservations",
    "newBooking": "New Booking",
    "showing": "Showing {count} of {total}",
    "count": "{count} bookings",
    "addNew": "Add Booking",
    "customerName": "Customer Name",
    "customerPhone": "Phone Number",
    "partySize": "Party Size",
    "bookingTime": "Booking Time",
    "bookingDate": "Booking Date",
    "filterAll": "All",
    "filterPending": "Pending",
    "filterConfirmed": "Confirmed",
    "filterCancelled": "Cancelled",
    "statusPending": "Pending",
    "statusConfirmed": "Confirmed",
    "statusCancelled": "Cancelled",
    "statusCompleted": "Completed",
    "noBookings": "No Bookings",
    "noBookingsHint": "Tap the + button to create a new reservation",
    "noBookingsForDate": "No reservations for {date}",
    "errorLoading": "Failed to load bookings",
    "guests": "guests",
    "guest": "guest",
    "numberOfGuests": "Number of Guests",
    "customerInfo": "Customer Information",
    "bookingDetails": "Booking Details",
    "table": "Table",
    "note": "Special Notes",
    "selectTable": "Select Table",
    "selectTableRequired": "Please select a table",
    "noTablesAvailable": "No tables available for this time",
    "noTablesConfigured": "No tables configured. Please set up tables in the admin panel.",
    "createBooking": "Create Booking",
    "bookingCreated": "Booking created successfully",
    "confirmBooking": "Confirm Booking",
    "cancelBooking": "Cancel Booking",
    "bookingConfirmed": "Booking confirmed successfully",
    "bookingCancelled": "Booking cancelled successfully",
    "guestCount": "{count} guests",
    "notes": "Notes",
    "details": "Details",
    "date": "Date",
    "time": "Time",
    "accept": "Accept",
    "checkIn": "Check In",
    "cancel": "Cancel",
    "createSuccess": "Booking created successfully",
    "createError": "Failed to create booking",
    "acceptSuccess": "Booking accepted successfully",
    "checkInSuccess": "{name} has been checked in",
    "checkInError": "Failed to check in guest",
    "cancelSuccess": "Booking cancelled successfully",
    "updateSuccess": "Booking updated successfully",
    "updateError": "Failed to update booking",
    "deleteSuccess": "Booking deleted successfully",
    "deleteError": "Failed to delete booking",
    "acceptError": "Failed to accept booking",
    "cancelError": "Failed to cancel booking",
    "editBooking": "Edit Booking",
    "updateBooking": "Update Booking",
    "deleteTitle": "Delete Booking",
    "deleteConfirmation": "Are you sure you want to delete this booking?",
    "nameRequired": "Customer name is required",
    "phoneRequired": "Phone number is required",
    "noBookingsHint": "No bookings found for this date",
    "statusNoShow": "No Show",
    "notesHint": "Add special requests or notes...",
    "noBookingInfo": "No booking information available",
    "duration": "Duration",
    "phone": "Phone",
    "selectLocation": "Select Location",
    "floor": "Floor",
    "room": "Room",
    "noTablesInLocation": "No Tables in Selected Location",
    "selectFloorRoom": "Select a floor and room to see available tables",
    "tableBookedAt": "Table already booked at {time} for {name}",
    "tableBooked": "Table Already Booked"
  },
  "session": {
    "title": "Session",
    "comingSoon": "Session management coming soon",
    "openSession": "Open Session",
    "closeSession": "Close Session",
    "currentSession": "Current Session",
    "sessionReport": "Session Report",
    "startingCash": "Starting Cash",
    "endingCash": "Ending Cash",
    "cashSales": "Cash Sales",
    "cardSales": "Card Sales",
    "totalSales": "Total Sales"
  },
  "reports": {
    "title": "Reports",
    "comingSoon": "Reports - Coming soon",
    "viewReports": "View sales and shift reports",
    "availableReports": "Available Reports",
    "salesReport": "Sales Report",
    "salesReportDesc": "View sales summary by date range",
    "staffReport": "Staff Report",
    "productReport": "Product Report",
    "zReport": {
      "title": "Z-Report",
      "sent": "Z-Report sent",
      "notSent": "Z-Report not sent"
    },
    "zReportDesc": "Fiscal end-of-day report",
    "xReport": "X-Report",
    "xReportDesc": "Informational shift report",
    "generateReport": "Generate Report",
    "exportReport": "Export Report",
    "quickStats": "Quick Stats",
    "openShiftForStats": "Open a shift to view statistics",
    "openShiftHint": "Open a shift to access all reports",
    "startedAt": "Started at {time}",
    "ticketsCount": "Tickets",
    "totalSales": "Total Sales",
    "cashSales": "Cash Sales",
    "cardSales": "Card Sales",
    "totalTax": "Total Tax",
    "totalDiscount": "Total Discount",
    "loadError": "Failed to load report",
    "noData": "No data available",
    "noDataHint": "Try selecting a different date range",
    "changeDateRange": "Change Date Range",
    "dailyBreakdown": "Daily Breakdown",
    "tickets": "tickets",
    "confirmZReport": "Confirm Z-Report",
    "confirmZReportMessage": "Are you sure you want to send the Z-Report to the fiscal service? This action cannot be undone.",
    "sendReport": "Send Report",
    "sendToFiscal": "Send to Fiscal Service",
    "sending": "Sending...",
    "zReportSent": "Z-Report sent successfully",
    "zReportAlreadySent": "Z-Report was already sent for this shift",
    "zReportAlreadyFiled": "Z-Report has already been filed for this shift",
    "zReportError": "Failed to send Z-Report",
    "openTicketsTitle": "Close All Tickets First",
    "openTicketsMessage": "You have {0} open ticket(s). Please close all tickets before sending the Z-Report.",
    "posTerminalReports": "POS Terminal",
    "posXBalance": "X-Balance",
    "posXBalanceDesc": "Check terminal balance",
    "posXBalanceRequested": "X-Balance request sent to terminal",
    "posTotalReport": "Total Report",
    "posTotalReportDesc": "Terminal daily summary (Z-Report)",
    "posTotalReportRequested": "Total report request sent to terminal",
    "shiftId": "Shift ID",
    "startTime": "Start Time",
    "endTime": "End Time",
    "summary": "Summary",
    "paymentBreakdown": "Payment Breakdown",
    "categoryBreakdown": "Category Breakdown",
    "items": "items",
    "zReportStatus": "Z-Report",
    "filed": "Filed",
    "pending": "Pending",
    "status": "Status",
    "shiftBreakdown": "Shift Breakdown",
    "shiftOpen": "Open",
    "noDate": "No date",
    "cashPayments": "Cash Payments",
    "cardPayments": "Card Payments",
    "qrPayments": "QR Payments",
    "institutionPay": "Institution Pay",
    "cashBalance": "Cash Balance",
    "discountsAndTaxes": "Discounts & Taxes",
    "grossSales": "Gross Sales",
    "netSales": "Net Sales (after discount)",
    "paymentTypes": "Payment Types",
    "onTheHouse": "On The House",
    "cashShiftSummary": "Cash Shift Summary",
    "openingBalance": "Opening Balance",
    "deposits": "Deposits",
    "withdrawals": "Withdrawals",
    "collection": "Collection (Incasation)",
    "cashInDrawer": "Cash in Drawer",
    "endOfShiftBalance": "End-of-Shift Balance",
    "noPrinterConnected": "No printer connected",
    "printSuccess": "Report printed successfully",
    "printError": "Failed to print report"
  },
  "more": {
    "title": "More",
    "subtitle": "Settings and options",
    "operations": "Operations",
    "session": "Session",
    "account": "Account",
    "appSettings": "App Settings",
    "appSettingsDesc": "Configure application",
    "languageDesc": "Change app language",
    "helpSupport": "Help & Support",
    "helpSupportDesc": "Get help and support",
    "helpComingSoon": "Help - Coming soon",
    "logoutDesc": "Sign out from your account",
    "logoutConfirm": "Are you sure you want to logout?",
    "shiftManagement": "Shift Management",
    "shiftManagementDesc": "Open/close shift",
    "shiftManagementComingSoon": "Shift Management - Coming soon",
    "endOfDayReport": "End of Day Report",
    "endOfDayReportComingSoon": "Z-Report - Coming soon"
  },
  "settings": {
    "title": "Settings",
    "comingSoon": "Settings screen coming soon",
    "general": "General Settings",
    "printer": "Printer Settings",
    "payment": "Payment Settings",
    "language": "Language",
    "theme": "Theme",
    "notifications": "Notifications",
    "about": "About",
    "appearance": "Appearance",
    "themeDesc": "Choose your preferred color scheme",
    "light": "Light",
    "dark": "Dark",
    "system": "Auto",
    "themeChanged": "Theme changed",
    "languageRegion": "Language & Region",
    "selectLanguage": "Select Language",
    "languageWillChange": "The app will restart with the new language",
    "languageChanged": "Language changed",
    "appName": "App Name",
    "version": "Version",
    "buildNumber": "Build Number",
    "resetSettings": "Reset Settings",
    "resetSettingsDesc": "Restore all settings to defaults",
    "resetConfirm": "Are you sure you want to reset all settings to their default values?",
    "reset": "Reset",
    "settingsReset": "Settings have been reset",
    "security": "Security",
    "autoLock": "Auto Lock",
    "autoLockDesc": "Lock screen after inactivity",
    "autoLockEnabled": "Auto lock enabled",
    "autoLockDisabled": "Auto lock disabled",
    "autoLockTimeout": "Lock after",
    "autoLockTimeoutChanged": "Auto lock timeout set to {duration}",
    "autoLockInfo": "Screen will lock after {duration} of inactivity",
    "autoLock30Seconds": "30 seconds",
    "autoLock1Minute": "1 minute",
    "autoLock2Minutes": "2 minutes",
    "autoLock5Minutes": "5 minutes",
    "autoLock10Minutes": "10 minutes",
    "autoLock15Minutes": "15 minutes",
    "autoLock30Minutes": "30 minutes"
  },
  "theme": {
    "light": "Light",
    "dark": "Dark",
    "system": "System",
    "selectTheme": "Select Theme",
    "lightMode": "Light Mode",
    "darkMode": "Dark Mode",
    "systemMode": "System Default"
  },
  "printer": {
    "title": "Printers",
    "managePrinters": "Manage thermal printers",
    "comingSoon": "Printers - Coming soon",
    "connect": "Connect Printer",
    "disconnect": "Disconnect Printer",
    "testPrint": "Test Print",
    "selectPrinter": "Select Printer",
    "connected": "Printer Connected",
    "notConnected": "Printer Not Connected",
    "printing": "Printing...",
    "printSuccess": "Print successful",
    "printError": "Print failed"
  },
  "payment": {
    "cash": "Cash",
    "card": "Card",
    "mixed": "Mixed Payment",
    "amountDue": "Amount Due",
    "amountPaid": "Amount Paid",
    "change": "Change",
    "paymentMethod": "Payment Method",
    "processPayment": "Process Payment",
    "paymentSuccess": "Payment successful",
    "paymentFailed": "Payment failed"
  },
  "errors": {
    "pageNotFound": "Page not found: {location}",
    "goHome": "Go to Home",
    "networkError": "Network error. Please check your connection.",
    "serverError": "Server error. Please try again later.",
    "unknownError": "An unknown error occurred.",
    "permissionDenied": "Permission denied",
    "sessionExpired": "Session expired. Please login again.",
    "actionBlocked": "Action Blocked",
    "zReportFiled": "The Z-report has been filed for this shift. You cannot modify tickets after the shift has been closed."
  },
  "validation": {
    "required": "This field is required",
    "email": "Please enter a valid email",
    "phone": "Please enter a valid phone number",
    "min": "Minimum value is {min}",
    "max": "Maximum value is {max}",
    "minLength": "Minimum length is {length} characters",
    "maxLength": "Maximum length is {length} characters"
  },
  "dateTime": {
    "today": "Today",
    "yesterday": "Yesterday",
    "thisWeek": "This Week",
    "thisMonth": "This Month",
    "custom": "Custom Range"
  },
  "construction": {
    "title": "Under Construction",
    "message": "This feature is under development"
  },
  "ticketPanel": {
    "newTicket": "New Ticket",
    "ticketNumber": "Ticket #{number}",
    "createNew": "Create New",
    "stepOneTitle": "Order Setup",
    "stepTwoTitle": "Payment",
    "completedTitle": "Completed",
    "noShiftOpen": "No Shift Open",
    "openShiftToCreate": "Open a shift to create tickets",
    "noActiveTicket": "No Active Ticket",
    "selectTypeToCreate": "Select ticket type to create a new order",
    "ticketType": "Ticket Type",
    "dineIn": "Dine In",
    "takeaway": "Takeaway",
    "delivery": "Delivery",
    "typeDineIn": "Dine In",
    "typeTakeaway": "Takeaway",
    "typeDelivery": "Delivery",
    "typeUnknown": "Unknown",
    "selectTable": "Select Table",
    "selectTableHint": "Choose a table for this dine-in order",
    "noFreeTables": "No Free Tables",
    "noFreeTablesHint": "All tables are currently occupied or reserved",
    "continueWithoutTable": "Continue Without Table",
    "typeDineInShort": "In",
    "typeTakeawayShort": "Take",
    "typeDeliveryShort": "Del",
    "orSelectFromTables": "Or select a table from the Tables tab to create a dine-in order",
    "orderType": "Type:",
    "changeOrderType": "Change Order Type",
    "changeOrderTypeMessage": "Are you sure you want to change the order type from {from} to {to}?",
    "emptyCart": "Cart is Empty",
    "addProductsHint": "Select products from the catalog to add them to this order",
    "tapToAddProducts": "Tap to add products",
    "guestNumber": "Guest {number}",
    "addGuest": "Add Guest",
    "addClient": "Add Client",
    "selectOrCreateClient": "Select existing or create new",
    "selectClient": "Select",
    "newClient": "New",
    "searchClient": "Search by name or phone...",
    "clientName": "Name",
    "clientFirstName": "First Name",
    "clientLastName": "Last Name",
    "clientSurname": "Surname (optional)",
    "clientPhone": "Phone Number",
    "clientDateOfBirth": "Date of Birth (optional)",
    "selectDateOfBirth": "Select date of birth",
    "clientSex": "Sex",
    "clientDiscount": "Discount %",
    "clientComment": "Comment",
    "male": "Male",
    "female": "Female",
    "other": "Other",
    "notSpecified": "Not specified",
    "nameRequired": "Name is required",
    "firstNameRequired": "First name is required",
    "lastNameRequired": "Last name is required",
    "phoneRequired": "Phone number is required",
    "noClients": "No clients yet",
    "noClientsFound": "No clients found",
    "clientAdded": "Client added successfully",
    "clientSelected": "Client: {name}",
    "removeClient": "Remove Client",
    "sendToKitchen": "Send to Kitchen",
    "sentToKitchen": "Order sent to kitchen",
    "sendToKitchenFailed": "Failed to send to kitchen",
    "sendToRunners": "Send",
    "sentToRunners": "Order sent successfully",
    "sendToRunnersFailed": "Failed to send order",
    "noNewProductsToSend": "No new products to send",
    "total": "Total",
    "addProductsToProceed": "Add products to proceed to payment",
    "selectTypeToProceed": "Select ticket type to proceed",
    "moveToPayment": "Move to Payment",
    "pay": "Pay",
    "backToOrder": "Back to Order",
    "paymentType": "Payment Type",
    "cash": "Cash",
    "card": "Card",
    "mixed": "Mixed",
    "cashAmount": "Cash Amount",
    "change": "Change",
    "enableDiscount": "Enable Discount",
    "client": "Client",
    "applyClientDiscount": "Apply {percent}% Client Discount",
    "clientDiscountDesc": "Auto discount for loyalty member",
    "useBonusPoints": "Use Bonus Points",
    "useBonusPointsDesc": "You have {points} points available",
    "pointsToUse": "Points to use",
    "bonusDiscount": "Discount: {amount}",
    "manualDiscount": "Manual Discount",
    "enableManualDiscount": "Add Manual Discount",
    "manualDiscountDesc": "Staff discount or promotion",
    "printOptions": "Print Options",
    "printReceipt": "Print Receipt",
    "print": "Print",
    "new": "New",
    "fiscalReceipt": "Fiscal Receipt",
    "fiscalReceiptNote": "For tax compliance (if available)",
    "subtotal": "Subtotal",
    "discount": "Discount",
    "discountPercent": "Discount ({percent}%)",
    "totalToPay": "Total to Pay",
    "completePurchase": "Complete Purchase",
    "complete": "Complete",
    "paymentComplete": "Payment completed successfully!",
    "paymentFailed": "Payment failed",
    "ticketCanceled": "Ticket Canceled",
    "ticketCanceledSuccess": "Ticket canceled successfully",
    "ticketCanceledFailed": "Failed to cancel ticket",
    "paymentSuccessful": "Payment Successful",
    "ticketInfo": "Ticket Information",
    "ticketNumberLabel": "Ticket Number",
    "employeeLabel": "Employee",
    "statusLabel": "Status",
    "statusDraft": "Draft",
    "statusOpen": "Open",
    "statusCompleted": "Completed",
    "statusCanceled": "Canceled",
    "statusInProgress": "In Progress",
    "openedAt": "Opened At",
    "orderTypeLabel": "Order Type",
    "tableLabel": "Table",
    "tableUnknown": "Table",
    "paymentMethod": "Payment Method",
    "closedAt": "Closed At",
    "canceledAt": "Canceled At",
    "cancelReasonLabel": "Cancel Reason",
    "completedTypePaid": "Paid",
    "completedTypeInstitutionPaid": "House Account",
    "completedTypeGuestLeft": "Guest Left",
    "completedTypeStaffMistake": "Staff Mistake",
    "completedTypeNoShow": "No Show",
    "completedTypeCanceled": "Canceled",
    "products": "Products",
    "comment": "Comment",
    "summary": "Summary",
    "paid": "Paid",
    "canceled": "Canceled",
    "refunds": "Refunds",
    "addComment": "Add Comment",
    "commentHint": "Add notes or special instructions for this ticket",
    "commentPlaceholder": "Enter your comment here...",
    "commentSaved": "Comment saved successfully",
    "commentSaveFailed": "Failed to save comment",
    "editQuantity": "Edit Quantity",
    "enterQuantity": "Enter quantity",
    "editWeight": "Edit Weight",
    "enterWeight": "Enter weight",
    "openBottle": "Open Bottle",
    "selectProduct": "Select Product",
    "selectProductHint": "Choose product to open",
    "selectProductFirst": "Please select a product first",
    "exciseStamp": "Excise Stamp",
    "exciseStampHint": "Scan or enter bottle barcode",
    "exciseStampHelp": "Scan the excise stamp barcode from the bottle label",
    "enterExciseStamp": "Please enter the excise stamp",
    "scanBarcode": "Scan Barcode",
    "bottleOpened": "Bottle opened successfully",
    "openBottleFailed": "Failed to open bottle",
    "exciseStampAlreadyUsed": "This excise stamp has already been used",
    "scannerNotSupported": "Camera scanner is only available on mobile devices",
    "scannerNotSupportedWeb": "QR code scanning is not supported in the browser",
    "scannerUseManualEntry": "Please use the text field to enter the code manually",
    "scanExciseStamp": "Scan Excise Stamp",
    "toggleFlash": "Toggle Flash",
    "flipCamera": "Flip Camera",
    "scannerInstructions": "Position the barcode within the frame to scan",
    "enterManually": "Enter Manually",
    "printPreview": "Print Preview",
    "deleteTicket": "Delete Ticket",
    "deleteTicketTitle": "Delete Ticket?",
    "deleteTicketMessage": "Are you sure you want to delete this ticket? This action cannot be undone.",
    "cancelTicket": "Cancel Ticket",
    "cancelTicketTitle": "Cancel Ticket",
    "cancelTicketMessage": "Are you sure you want to cancel this ticket? The ticket will be marked as canceled.",
    "cancelTicketAction": "Confirm Cancel",
    "selectCancelReason": "Please select a reason for cancellation:",
    "cancelReasonGuestLeft": "Guest Left",
    "cancelReasonStaffMistake": "Staff Mistake",
    "cancelReasonPaid": "Already Paid",
    "cancelReasonInstitutionPaid": "Institution Paid",
    "cancelComment": "Comment (optional)",
    "cancelCommentHint": "Enter additional details...",
    "refundTicket": "Refund Ticket",
    "refundConfirmMessage": "Are you sure you want to refund this ticket? This will process a refund for the customer.",
    "totalAmount": "Total Amount",
    "refundReasonType": "Refund Reason",
    "refundReasonExpired": "Expired Product",
    "refundReasonNotAsDescribed": "Not As Described",
    "refundReasonDefective": "Defective Product",
    "refundReasonOther": "Other Reason",
    "refundComment": "Additional Comment",
    "refundCommentHint": "Enter additional details (optional)...",
    "processRefund": "Process Refund",
    "processingRefund": "Processing refund...",
    "refundSuccess": "Refund processed successfully",
    "refundFailed": "Failed to process refund",
    "ticketCreated": "Ticket #{number} created",
    "printingReceipt": "Printing receipt...",
    "receiptPrinted": "Receipt printed successfully",
    "printFailed": "Failed to print receipt",
    "transferStaff": "Transfer Staff",
    "selectStaffHint": "Select a staff member to transfer this ticket to",
    "noStaffAvailable": "No other staff members available",
    "unknownStaff": "Unknown Staff",
    "transfer": "Transfer",
    "staffTransferred": "Ticket transferred to {name}",
    "staffTransferFailed": "Failed to transfer ticket",
    "splitTicket": "Split Ticket",
    "splitTicketHint": "Select products to move to a new ticket",
    "splitQuantity": "Split Qty",
    "originalTicket": "Original Ticket",
    "splitTicketAction": "Split Ticket",
    "splitSuccess": "Ticket split successfully",
    "splitFailed": "Failed to split ticket",
    "noProductsToSplit": "No products to split",
    "moveProduct": "Move Product",
    "selectTargetGuest": "Select destination guest",
    "productMoved": "Product moved successfully",
    "productMoveFailed": "Failed to move product",
    "dropHere": "Drop here",
    "draggingProduct": "Drag to another guest",
    "changeTable": "Change Table",
    "tableChanged": "Moved to table {table}",
    "tableChangeFailed": "Failed to change table",
    "deleteGuest": "Delete Guest",
    "deleteGuestConfirm": "Are you sure you want to delete this guest?",
    "guestDeleted": "Guest deleted successfully",
    "guestDeleteFailed": "Failed to delete guest",
    "productComment": "Product Comment",
    "enterProductComment": "Add notes for this product...",
    "clearComment": "Clear",
    "noModifiersAvailable": "No modifiers available for this product",
    "modifiersUpdated": "Modifiers updated successfully",
    "modifiersUpdateFailed": "Failed to update modifiers",
    "ticketHistory": "Ticket History",
    "loadingHistory": "Loading history...",
    "errorLoadingHistory": "Failed to load ticket history",
    "noHistoryFound": "No history found",
    "entry": "entry",
    "entries": "entries",
    "viewHistory": "View History",
    "historyComingSoon": "Coming Soon",
    "historyComingSoonDesc": "Ticket history tracking will be available in a future update"
  },
  "printer": {
    "connectPrinter": "Connect Printer",
    "printerSettings": "Printer Settings",
    "bluetooth": "Bluetooth",
    "network": "Network",
    "usb": "USB",
    "availablePrinters": "Available Printers",
    "rescan": "Rescan",
    "scanning": "Scanning for printers...",
    "noPrintersFound": "No printers found",
    "noPrintersHint": "Make sure your printer is turned on and in pairing mode",
    "offline": "OFFLINE",
    "available": "READY",
    "deviceOffline": "Device is not connected to Bluetooth. Please turn on the printer and pair it in system settings.",
    "connect": "Connect",
    "disconnect": "Disconnect",
    "connected": "Connected",
    "connecting": "Connecting...",
    "testPrint": "Test Print",
    "printingTestPage": "Printing test page...",
    "testPrintSuccess": "Test page printed successfully",
    "testPrintFailed": "Failed to print test page",
    "printerName": "Printer: {name}",
    "noPrinterConnected": "No printer connected",
    "unknownAddress": "Unknown address",
    "paperSize": "Paper Size",
    "paperSize58mm": "58mm",
    "paperSize80mm": "80mm",
    "autoCut": "Auto cut paper",
    "showQrCode": "Print QR code",
    "copies": "Number of copies",
    "manualEntry": "Manual",
    "showList": "Show List",
    "enterIpAddress": "Enter the printer's IP address and port",
    "enterComPort": "Enter the COM port (e.g., COM3)",
    "ipAddress": "IP Address",
    "comPort": "COM Port",
    "port": "Port",
    "comPortHint": "Check Device Manager for the COM port number. Your printer shows as COM3.",
    "virtualPrinterWarning": "Virtual Printer Detected",
    "virtualPrinterMessage": "This appears to be a virtual printer (PDF, XPS, etc.), not a thermal receipt printer. Printing to virtual printers may cause errors. Are you sure you want to connect?",
    "connectAnyway": "Connect Anyway",
    "notThermalPrinter": "This is not a thermal receipt printer",
    "bluetoothConnection": "Bluetooth Connection",
    "bluetoothPairingInfo": "If this is your first time connecting, Windows may ask you to pair the device and enter a PIN code.",
    "commonPins": "Common PIN codes:",
    "bluetoothPairingNote": "If a Windows pairing dialog appears, enter the PIN and click Pair.",
    "connectionFailed": "Connection Failed",
    "bluetoothPairingHelp": "Bluetooth connection failed. Please pair the printer in Windows Settings first:",
    "pairingStep1": "Open Windows Settings → Bluetooth & devices",
    "pairingStep2": "Click 'Add device' → Bluetooth",
    "pairingStep3": "Select your printer and enter PIN (usually 0000 or 1234)",
    "pairingStep4": "After pairing, try connecting again in this app",
    "bluetoothAddress": "Bluetooth MAC Address",
    "enterBluetoothAddress": "Enter the Bluetooth MAC address of your printer (found in Windows Bluetooth settings)",
    "bluetoothAddressHint": "Find MAC address: Windows Settings → Bluetooth → Click on your paired printer → Properties",
    "bluetoothNotFound": "Bluetooth discovery is not supported on Windows. Use Manual entry with the MAC address instead.",
    "bluetoothWindowsHint": "On Windows, Bluetooth printers work through COM ports. Pair your printer in Windows Bluetooth settings first, then use USB tab → Manual → Enter the COM port (e.g., COM3).",
    "bluetoothPairFirst": "No Bluetooth devices found. Make sure your printer is paired in system Bluetooth settings, then tap Refresh.",
    "useComPort": "Use COM Port (USB)",
    "manualConnect": "Enter Manually",
    "comPortRequired": "COM Port Required (Windows)",
    "comPortExplanation": "On Windows, Bluetooth printers communicate via a virtual COM port. This port must be set up manually after pairing.",
    "windowsComPortSetup": "To set up the COM port:",
    "comStep1": "Open Windows Settings → Bluetooth & devices",
    "comStep2": "Click 'Devices' → find your printer",
    "comStep3": "Click 'More Bluetooth settings' (or run bthprops.cpl)",
    "comStep4": "Go to 'COM Ports' tab → Click 'Add' → Select 'Outgoing'",
    "comStep5": "Select your printer and click OK. Note the COM port number, then reconnect in this app.",
    "receiptPrinter": "Receipt Printer",
    "kitchenPrinter": "Kitchen Printer",
    "workshopPrinters": "Workshop Printers",
    "addKitchenPrinter": "Add Kitchen Printer",
    "removeKitchenPrinter": "Remove Kitchen Printer",
    "workshopAssignment": "Workshop Assignment",
    "selectWorkshops": "Select Workshops",
    "allWorkshops": "All Workshops",
    "workshopName": "Station Name",
    "workshopNameHint": "E.g., Kitchen, Bar, Grill",
    "noWorkshopPrinters": "No kitchen printers configured",
    "noWorkshopPrintersHint": "Add kitchen printers to route orders to the correct station",
    "printerPurpose": "Printer Purpose",
    "purposeReceipt": "Receipt (Customer Bills)",
    "purposeKitchen": "Kitchen (Order Runners)",
    "purposeBoth": "Both",
    "kitchenRunnerPrinted": "Kitchen runner sent",
    "kitchenRunnerFailed": "Failed to print kitchen runner",
    "workshopNotConfigured": "No printer for workshop {workshopId}",
    "workshopHint": "Select which production stations this printer should receive orders from",
    "noWorkshopsFound": "No workshops found",
    "configSaved": "Printer configuration saved",
    "configureWorkshops": "Configure Workshops",
    "removePrinter": "Remove Printer",
    "disconnectConfirm": "Are you sure you want to disconnect this printer?",
    "removeConfirm": "This will remove the printer and all its configuration. Are you sure?",
    "disconnected": "Printer disconnected",
    "removed": "Printer removed",
    "somePrintsFailed": "Some prints failed",
    "printError": "Print error",
    "printers": "Printers",
    "printersConnected": "printers connected",
    "multiPrinterSupport": "Multi-printer mode",
    "connectionType": "Type of connection",
    "printTicket": "Print ticket",
    "paperWidth": "Paper width",
    "workshopsRunner": "Printing by workshops (Runner)",
    "noWorkshops": "No workshops available",
    "selectDevice": "Select device to configure",
    "search": "Search",
    "addDevice": "Add device",
    "chooseDeviceType": "Choose device that you want to connect",
    "posTerminalDesc": "POS terminal for payments",
    "networkPrinter": "Network Printer",
    "connectDevice": "Connect device",
    "addNetworkPrinter": "Add WiFi/Network Printer",
    "stepFindingDevice": "Finding device...",
    "stepEstablishingConnection": "Establishing connection...",
    "stepVerifying": "Verifying printer...",
    "stepConnectingNetwork": "Connecting to network...",
    "stepOpeningPort": "Opening printer port...",
    "stepDetectingUsb": "Detecting USB device...",
    "stepInitializing": "Initializing printer...",
    "notReachable": "Printer not reachable. Please reconnect.",
    "notPaired": "Printer not paired. Open Windows Bluetooth Settings to pair.",
    "printerBusy": "Printer is busy. Close other apps using it.",
    "printerOff": "Printer not responding. Make sure it is turned on.",
    "connectionLost": "Connection lost. Please re-pair the printer.",
    "moveCloser": "Connection timed out. Move closer to the printer.",
    "forceRelease": "Force Release",
    "forceReleaseHint": "Try 'Force Release' to disconnect the printer from Windows and retry connection.",
    "releasingPorts": "Releasing printer connections...",
    "portsReleased": "Printer connections released. Retrying...",
    "troubleshootingSteps": "Try these steps:",
    "busyStep1": "Turn the printer OFF and ON again",
    "busyStep2": "Go to Windows Settings → Bluetooth, turn OFF and ON",
    "busyStep3": "If still busy, remove the printer from Bluetooth and pair again",
    "resetAll": "Reset All",
    "resetAllPrinters": "Reset All Printers",
    "resetAllConfirm": "This will remove ALL printers and their configurations. You will need to reconnect each printer. Are you sure?",
    "resettingPrinters": "Resetting printers...",
    "allPrintersReset": "All printers have been reset"
  },
  "permissions": {
    "title": "Permissions",
    "skipAll": "Skip All",
    "allow": "Allow",
    "skip": "Skip",
    "requesting": "Requesting...",
    "required": "Required",
    "granted": "Permission Granted",
    "denied": "Permission Denied",
    "permanentlyDenied": "Permission was denied. Please enable it in app settings.",
    "openSettings": "Open Settings",
    "bluetooth": {
      "title": "Bluetooth Access",
      "description": "Required to connect to thermal printers and POS terminals via Bluetooth."
    },
    "bluetoothScan": {
      "title": "Bluetooth Scanning",
      "description": "Required to discover nearby Bluetooth devices like printers."
    },
    "location": {
      "title": "Location Access",
      "description": "Required on older Android devices to scan for Bluetooth devices."
    },
    "camera": {
      "title": "Camera Access",
      "description": "Required for scanning barcodes and excise stamps on products."
    }
  },
  "privacyPolicy": {
    "title": "Privacy Policy",
    "subtitle": "We value your privacy",
    "description": "We protect your data according to GDPR and local regulations. Your information is encrypted and securely stored.",
    "readFullPolicy": "Read Full Privacy Policy",
    "accept": "Accept & Continue",
    "decline": "Decline",
    "declineTitle": "Decline Privacy Policy?",
    "declineMessage": "You must accept the privacy policy to use this application. If you decline, you will not be able to proceed.",
    "mustAccept": "You must accept the privacy policy to continue"
  },
  "printReceipt": {
    "salesReport": "SALES REPORT",
    "xReport": "X-REPORT",
    "zReport": "Z-REPORT",
    "printed": "Printed",
    "summary": "SUMMARY",
    "totalSales": "Total Sales",
    "tickets": "Tickets",
    "shifts": "Shifts",
    "discountsAndTaxes": "DISCOUNTS & TAXES",
    "grossSales": "Gross Sales",
    "discount": "Discount",
    "netSales": "Net Sales",
    "tax": "Tax",
    "paymentBreakdown": "PAYMENT BREAKDOWN",
    "cash": "Cash",
    "card": "Card",
    "qr": "QR",
    "onTheHouse": "On The House",
    "cashSummary": "CASH SUMMARY",
    "opening": "Opening",
    "deposits": "Deposits",
    "withdrawals": "Withdrawals",
    "collection": "Collection",
    "cashInDrawer": "Cash in Drawer",
    "endBalance": "END BALANCE",
    "shiftInfo": "SHIFT INFO",
    "shiftId": "Shift ID",
    "opened": "Opened",
    "closed": "Closed",
    "cashBalance": "Cash Balance"
  },
  "help": {
    "title": "Help & Support",
    "subtitle": "We're here to help you",
    "quickHelp": "Quick Help",
    "contactUs": "Contact Us",
    "faq": "Frequently Asked Questions",
    "callUs": "Call Us",
    "emailUs": "Email Us",
    "visitWebsite": "Visit Website",
    "phoneCopied": "Phone number copied",
    "emailCopied": "Email address copied",
    "urlCopied": "URL copied",
    "cannotOpenPhone": "Cannot open phone app",
    "cannotOpenEmail": "Cannot open email app",
    "cannotOpenUrl": "Cannot open web browser",
    "emailSubject": "Goovii POS Support Request",
    "howToCreateTicket": "Create Tickets",
    "printerSetup": "Printer Setup",
    "paymentMethods": "Payment Methods",
    "reportsGuide": "Reports Guide",
    "comingSoon": "This guide will be available soon",
    "faq1Question": "How do I open a shift?",
    "faq1Answer": "Go to the More tab, then tap on 'Open Shift'. Enter the starting cash amount and confirm to begin your work session.",
    "faq2Question": "How do I connect a printer?",
    "faq2Answer": "Navigate to More → Printer Settings. Select your connection type (Bluetooth, USB, or Network) and follow the setup instructions.",
    "faq3Question": "How do I process a refund?",
    "faq3Answer": "Open the completed ticket from the Tickets tab, then tap the refund button. Select the reason and confirm to process the refund.",
    "madeWithLove": "Made with ❤️ by Goovii Team"
  },
  "lock": {
    "title": "Screen Locked",
    "subtitle": "Enter your PIN to unlock",
    "staffSwitchHint": "Any staff member can enter their PIN to switch users",
    "welcomeBack": "Welcome back, {name}!",
    "noCashRegister": "No cash register selected. Please restart the app.",
    "selectRegister": "Select Cash Register",
    "loadRegisterError": "Failed to load registers. Tap to retry.",
    "shiftOpen": "Open",
    "inUse": "In Use",
    "current": "Current",
    "fiscal": "Fiscal",
    "fiscalHint": "This is a fiscal cash register - transactions are reported to tax authorities",
    "cannotLoginToOpenedRegister": "Cannot login to '{name}' - it already has an open shift by another user",
    "autoCloseShiftFailed": "Failed to close your current shift. Please try again.",
    "autoCloseShift": {
      "title": "Switch Cash Register",
      "message": "To switch from '{currentRegister}' to '{newRegister}', your current shift will be closed automatically.",
      "hint": "You will need to open a new shift on the selected register after logging in.",
      "confirm": "Close & Switch"
    },
    "openTicketsWarning": {
      "title": "Open Tickets",
      "message": "You have {count} open ticket(s) that must be closed before switching cash registers.",
      "hint": "Please complete or cancel all open tickets, then try again."
    },
    "logoutConfirm": "Are you sure you want to logout? You will need to enter your institution token again to log back in.",
    "logoutError": "Failed to logout. Please try again.",
    "forceLogoutAll": "Force Logout All",
    "forceLogoutAllConfirm": "This will close all active staff shifts and non-fiscal shifts in the institution. Fiscal shifts will require manual closure with Z-report. Are you sure?",
    "forceLogoutError": "Failed to close all shifts. Please try again.",
    "closeFiscalShift": "Close Fiscal Shift",
    "cashRegister": "Cash Register",
    "openedAt": "Opened At",
    "startAmount": "Start Amount",
    "endAmount": "End Amount",
    "enterAmount": "Enter ending cash amount",
    "zReportWillBeSent": "A Z-report will be sent to the fiscal service automatically",
    "closeAndSendZReport": "Close & Send Z-Report",
    "fiscalShiftClosed": "Fiscal shift on '{name}' closed successfully",
    "fiscalShiftCloseError": "Failed to close fiscal shift. Please try again."
  },
  "shift": {
    "openShift": "Open Shift",
    "closeShift": "Close Shift",
    "shiftOpen": "Shift is Open",
    "noOpenShift": "No Open Shift - Please Open a Shift",
    "shiftId": "Shift #{id}",
    "openShiftDesc": "Start a new work shift",
    "closeShiftDesc": "End current work shift",
    "openShiftInstructions": "Please enter the starting cash amount in the register to begin your shift.",
    "closeShiftInstructions": "Please enter the ending cash amount to close your shift.",
    "startingCash": "Starting Cash Amount",
    "startingCashHelper": "Count the cash in the register before starting",
    "endingCash": "Ending Cash Amount",
    "endingCashHelper": "Count the cash in the register before closing",
    "comment": "Comment",
    "commentOptional": "Optional comment",
    "openedSuccessfully": "Shift opened successfully!",
    "closedSuccessfully": "Shift closed successfully!",
    "hasOpenTickets": "You have {count} open receipt(s)",
    "closeOpenTicketsFirst": "Close all {count} open receipt(s) before closing the shift",
    "closeOpenTicketsHint": "All receipts must be paid or cancelled before you can close the shift",
    "checkingOpenTickets": "Checking for open receipts...",
    "pleaseWait": "Please wait while we verify all receipts are closed",
    "errorOpening": "Failed to open shift",
    "errorClosing": "Failed to close shift",
    "closeShiftConfirm": "Are you sure you want to close the current shift? This will end your work session.",
    "closeShiftComingSoon": "Close shift feature coming soon",
    "amountCannotBeNegative": "Amount cannot be negative",
    "openedAt": "Opened: {time}",
    "noShiftInfo": "Shift information not available",
    "startingAmount": "Starting: ${amount}",
    "logoutAfterClose": "Log out after closing",
    "logoutAfterCloseDesc": "End your session and return to login screen",
    "alreadyOpen": "A shift is already open. Refreshing status...",
    "alreadyClosed": "The shift is already closed.",
    "fiscalConflict": "The fiscal shift is still open on the tax server. Please close the existing fiscal shift first before opening a new one.",
    "fiscalConflictDialog": {
      "title": "Fiscal Shift Already Open",
      "message": "A fiscal shift is already open on the tax server (PRRO) but is not linked to your local system. You can either reuse the existing fiscal shift or close it first.",
      "reuseTitle": "Use Existing Shift",
      "reuseDesc": "Sync with the tax server and continue using the already-opened fiscal shift.",
      "closeTitle": "Close Fiscal Shift First",
      "closeDesc": "Close the existing fiscal shift on the tax server (requires Z-report, amount, and notes), then open a new one.",
      "reuseSuccess": "Fiscal shift synced and reused successfully!",
      "closeHint": "Use the Close Shift option to close the fiscal shift on the tax server, then try opening a new shift."
    },
    "fiscal": {
      "label": "Fiscal",
      "openInstructions": "Enter the starting cash deposit for each legal entity to open the fiscal shift.",
      "closeInstructions": "To close the fiscal shift, you must first send the Z-report.",
      "serviceDeposit": "Service cash deposit",
      "noCashierKey": "Cannot open shift: {name} doesn't have cashier keys for all entities",
      "noCashierKeyFor": "Cannot open shift: missing cashier key for {name}",
      "noCashierKeyWarning": "Impossible {action} due to the lack of a cashier's key {name}",
      "openShiftAction": "open cash shift",
      "closeShiftAction": "close cash shift",
      "sendZReportAction": "send Z-report",
      "noAmountFor": "Please enter cash deposit for {name}",
      "invalidAmountFor": "Invalid amount for {name}",
      "sendZReportFirst": "To close the cash shift, send the Z-report first"
    },
    "errors": {
      "serverError": "Server error. Please contact support if this persists.",
      "serverUnavailable": "Server is temporarily unavailable. Please try again later.",
      "networkError": "Network error. Please check your internet connection.",
      "timeout": "Request timed out. Please try again.",
      "unauthorized": "Session expired. Please log in again.",
      "permissionDenied": "You don't have permission to perform this action.",
      "validationError": "Invalid data. Please check your input."
    }
  },
  "transactions": {
    "title": "Transactions",
    "subtitle": "Manage cash operations",
    "menuSubtitle": "Collection, expenses, and income",
    "collection": "Collection",
    "expense": "Expense",
    "income": "Income",
    "amount": "Amount",
    "category": "Category",
    "account": "Account",
    "destinationAccount": "Destination Account",
    "selectDestination": "Select destination (Safe, Office...)",
    "comment": "Comment",
    "commentHint": "Optional comment...",
    "fiscalization": "Fiscalization",
    "fiscalizationDesc": "Create fiscal receipt",
    "organization": "Organization",
    "create": "Create",
    "enterAmount": "Please enter amount",
    "invalidAmount": "Please enter a valid amount",
    "selectCategory": "Please select a category",
    "selectAccount": "Please select an account",
    "selectOrganization": "Please select an organization",
    "success": "Transaction created successfully",
    "error": "Failed to create transaction",
    "noCategories": "No categories available",
    "noAccounts": "No accounts available",
    "noOrganizations": "No organizations available",
    "loadCategoriesError": "Failed to load categories. Retry or check connection.",
    "loadAccountsError": "Failed to load accounts. Retry or check connection.",
    "loadError": "Failed to load data"
  },
  "staffShifts": {
    "title": "Staff Shifts",
    "subtitle": "Manage active staff sessions",
    "menuSubtitle": "View and manage staff shifts",
    "employee": "Employee",
    "startDate": "Start Date",
    "time": "Time",
    "workTime": "Work Time",
    "action": "Action",
    "close": "Close",
    "closeShift": "Close Shift",
    "disabled": "Disabled",
    "you": "You",
    "noShifts": "No Active Shifts",
    "noShiftsHint": "There are no staff members currently working",
    "loadError": "Failed to load staff shifts",
    "closeError": "Failed to close staff shift",
    "shiftClosed": "{name}'s shift has been closed",
    "cannotCloseOwnShift": "You cannot close your own shift from here",
    "closeConfirmTitle": "Close Staff Shift",
    "closeConfirmMessage": "Are you sure you want to close {name}'s shift? They will be logged out from the system."
  },
  "posTerminal": {
    "title": "POS Terminal",
    "subtitle": "Connect and manage payment terminals",
    "comingSoon": "Soon",
    "searching": "Searching for terminals...",
    "noTerminals": "No terminals found",
    "terminalExists": "Terminal already exists",
    "scan": "Scan",
    "selectTerminal": "Select a terminal from the list",
    "manualEntry": "Manual Entry",
    "enterIp": "Please enter IP address",
    "provider": "Provider",
    "address": "Address",
    "terminalId": "Terminal ID",
    "status": "Status",
    "statusConnected": "Connected",
    "statusDisconnected": "Disconnected",
    "connect": "Connect",
    "disconnect": "Disconnect",
    "connected": "Terminal connected successfully",
    "connectedBadge": "Connected",
    "removeConfirmTitle": "Remove Terminal",
    "removeConfirmMessage": "Are you sure you want to remove this terminal?",
    "importantNotice": "Make sure the terminal is connected to the same network and is in cash-compatible mode",
    "reports": "Reports",
    "xReport": "X-Report",
    "totalReport": "Total Report",
    "processing": "Processing payment...",
    "paymentSuccess": "Payment successful",
    "paymentFailed": "Payment failed",
    "waitingForCard": "Waiting for card...",
    "enterPin": "Enter PIN on terminal",
    "cancelled": "Payment cancelled",
    "retryPayment": "Retry Payment",
    "noTerminalConnected": "No POS terminal connected",
    "noPosTerminalConnected": "No terminal connected",
    "connectToProcessCard": "Connect a POS terminal to process card payments",
    "manualCardPaymentHint": "You can also proceed without a terminal. The payment will be recorded as 'Card' but not verified electronically.",
    "proceedManually": "Proceed Manually"
  },
  "sync": {
    "offlineSync": "Offline Sync",
    "prepareOffline": "Prepare data for offline use",
    "syncing": "Syncing... {progress}%",
    "lastSyncComplete": "All data synced for offline",
    "syncComplete": "Sync completed successfully",
    "syncFailed": "Sync failed: {error}",
    "products": "Products",
    "categories": "Categories",
    "tickets": "Tickets",
    "tables": "Tables",
    "bookings": "Bookings",
    "images": "Images",
    "noConnection": "No internet connection"
  },
  "phone": {
    "label": "Phone Number",
    "selectCountry": "Select Country",
    "required": "Phone number is required",
    "tooShort": "Phone number must be at least {min} digits",
    "tooLong": "Phone number must be at most {max} digits",
    "invalidFormat": "Please enter a valid phone number"
  },
  "loyalty": {
    "noTier": "No Tier",
    "personalDiscount": "{percent}% personal discount",
    "bonusPoints": "{points} bonus points",
    "useBonusPoints": "Use Bonus Points",
    "availablePoints": "{points} points available",
    "pointsToUse": "Using {points} points",
    "discountAmount": "Discount: {amount}",
    "exchangeRate": "{points} points = 1 currency unit",
    "redeemSuccess": "Successfully redeemed {points} points",
    "redeemFailed": "Failed to redeem points",
    "clientDiscount": "Client Discount",
    "autoAppliedDiscount": "Auto-applied discount",
    "tierBronze": "Bronze",
    "tierSilver": "Silver",
    "tierGold": "Gold",
    "tierPlatinum": "Platinum",
    "loyaltyInfo": "Loyalty Info",
    "totalOrders": "{count} orders",
    "totalSpent": "Total spent: {amount}",
    "noLoyaltyData": "No loyalty data available",
    "loadingLoyalty": "Loading loyalty info..."
  },
  "delivery": {
    "title": "Delivery",
    "pending": "Pending",
    "active": "Active",
    "history": "History",
    "preparing": "Preparing",
    "ready": "Ready",
    "noPendingOrders": "No pending orders",
    "noActiveOrders": "No active orders",
    "noHistoryOrders": "No order history",
    "ordersWillAppear": "New delivery orders will appear here automatically",
    "selectOrderToView": "Select an order to view details",
    "customer": "Customer",
    "customerName": "Name",
    "customerPhone": "Phone",
    "courier": "Courier",
    "courierName": "Name",
    "courierPhone": "Phone",
    "orderItems": "Order Items",
    "timing": "Timing",
    "orderTime": "Order Time",
    "estimatedPickup": "Est. Pickup",
    "accept": "Accept",
    "reject": "Reject",
    "startPreparing": "Start Preparing",
    "markReady": "Mark Ready",
    "cancelAction": "Cancel",
    "cancelOrder": "Cancel Order",
    "rejectOrder": "Reject Order",
    "waitingForPickup": "Waiting for Pickup",
    "reason": "Reason",
    "comment": "Comment (optional)",
    "commentHint": "Add additional details...",
    "selectRejectReason": "Select a reason for rejecting this order:",
    "selectCancelReason": "Select a reason for cancelling this order:",
    "orderAccepted": "Order accepted successfully",
    "orderRejected": "Order rejected",
    "orderCancelled": "Order cancelled",
    "preparationStarted": "Preparation started",
    "orderReady": "Order marked as ready",
    "acceptFailed": "Failed to accept order",
    "rejectFailed": "Failed to reject order",
    "cancelFailed": "Failed to cancel order",
    "prepareFailed": "Failed to start preparation",
    "readyFailed": "Failed to mark order ready",
    "newOrderReceived": "New delivery order received!",
    "platform": "Platform",
    "orderCode": "Order Code",
    "total": "Total",
    "status": "Status"
  }
}
