Files
kooltab/lib/l10n/app_en.arb
T

384 lines
18 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"@@locale": "en",
"appTitle": "KoolTap",
"barTabs": "Bar Tabs",
"products": "Products",
"addProduct": "Add product",
"noProductsYet": "No products yet.",
"addFirstProduct": "Add your first product to start selling.",
"manageProducts": "Manage products",
"tabHistory": "Tab history",
"refresh": "Refresh",
"settings": "Settings",
"logout": "Logout",
"admin": "Admin",
"adminDescription": "Restricted tools for managing products and importing names.",
"adminTools": "Admin tools",
"importData": "Import",
"importNames": "Import names",
"importNamesDescription": "Prepare a list of names to use as tabs later.",
"importPlaceholder": "Importing names will be available here later.",
"openOrSelectTab": "Open or select a tab first.",
"openNewTab": "Open new tab",
"customerGroupName": "Customer / group name",
"cancel": "Cancel",
"openTab": "Open tab",
"couldNotCreateTab": "Could not create tab: {error}",
"@couldNotCreateTab": {"placeholders": {"error": {"type": "String"}}},
"searchByName": "Search by name…",
"clearSearch": "Clear search",
"openNewTabDescription": "Add a customer or group to the bar",
"tabOpened": "Tab opened for {name}",
"@tabOpened": {"placeholders": {"name": {"type": "String"}}},
"searchTabs": "Search tabs",
"closeSearch": "Close search",
"allCustomers": "All customers",
"customer": "Customer",
"noClosedTabs": "No closed tabs yet",
"settingsTitle": "Settings",
"security": "Security",
"pinRequired": "PIN Required",
"autoLockOnExit": "Auto-lock on phone lock or app exit",
"changePin": "Change PIN",
"adminPin": "Admin PIN",
"adminPinConfigured": "Configured",
"adminPinNotSet": "Not set",
"setAdminPin": "Set admin PIN",
"enterCurrentAdminPin": "Enter current admin PIN",
"enterNewAdminPin": "Enter new admin PIN",
"appearance": "Appearance",
"language": "Language",
"languageSystem": "System default",
"languageEnglish": "English",
"languageDutch": "Dutch",
"productGridRows": "Product grid rows",
"rowsCount": "{count} rows",
"@rowsCount": {"placeholders": {"count": {"type": "int"}}},
"theme": "Theme",
"system": "System",
"light": "Light",
"dark": "Dark",
"ugly": "Ugly",
"setPinCode": "Set PIN Code",
"enterPin": "Enter PIN",
"enterCurrentPin": "Enter Current PIN",
"enterNewPin": "Enter New PIN",
"fourDigits": "4 digits",
"enterPinFourDigits": "Enter PIN (4 digits)",
"confirm": "Confirm",
"confirmPin": "Confirm PIN",
"pinExactlyFour": "PIN must be exactly 4 digits",
"couldNotSavePin": "Could not save PIN setting.",
"editProduct": "Edit product",
"productName": "Product name",
"category": "Category",
"price": "Price",
"stock": "Stock",
"lowStockThreshold": "Low stock threshold",
"chooseProductImage": "Choose product image",
"changeImage": "Change image",
"deleteProduct": "Delete product?",
"deleteProductDescription": "This will remove the product from the product list.",
"delete": "Delete",
"productNotFound": "Product not found.",
"chooseImage": "Choose a product image.",
"selectCategory": "Please select a category.",
"enterProductName": "Enter a product name.",
"version": "Version {version}",
"@version": {"placeholders": {"version": {"type": "String"}}},
"selectTabToAddItems": "Select a tab to add items",
"openTabs": "Open tabs",
"closedTabs": "Closed tabs",
"selectOrOpenTab": "Select or open a tab",
"noOpenTabs": "No open tabs",
"edit": "Edit",
"editTab": "Edit tab",
"close": "Close",
"deleteTab": "Delete tab?",
"deleteTabDescription": "This will permanently delete the tab and return all its items to stock.",
"couldNotRenameTab": "Could not rename tab.",
"couldNotDeleteTab": "Could not delete tab.",
"tabItemSummary": "{count, plural, =1 {1 item - {total}} other {{count} items - {total}}}",
"@tabItemSummary": {"placeholders": {"count": {"type": "int"}, "total": {"type": "String"}}},
"tabItemCount": "{count, plural, =1 {1 item} other {{count} items}}",
"@tabItemCount": {"placeholders": {"count": {"type": "int"}}},
"tapProductsToAdd": "Tap products to add them",
"total": "Total",
"closeTab": "Close tab",
"productStockSummary": "{category} • {price} • Stock: {stock}",
"@productStockSummary": {"placeholders": {"category": {"type": "String"}, "price": {"type": "String"}, "stock": {"type": "int"}}},
"infiniteStock": "Infinite stock",
"infiniteStockDescription": "Never runs out, the stock isn't counted",
"productInfiniteStockSummary": "{category} • {price} • Infinite stock",
"@productInfiniteStockSummary": {"placeholders": {"category": {"type": "String"}, "price": {"type": "String"}}},
"outOfStock": "OUT OF STOCK",
"tabsYouCloseAppearHere": "Tabs you close will show up here.",
"enterPinSubtitle": "You’ll use this to unlock the app",
"confirmPinSubtitle": "Enter the same PIN again",
"createPin": "Create a PIN",
"enterAdminPin": "Enter admin PIN",
"createAdminPin": "Create admin PIN",
"confirmAdminPin": "Confirm admin PIN",
"adminPinSubtitle": "You’ll use this to access admin tools",
"pinsDidNotMatch": "PINs didn’t match. Try again.",
"somethingWentWrong": "Something went wrong.",
"incorrectPin": "Incorrect PIN.",
"tooManyPinAttempts": "Too many attempts. Try again later.",
"removed": "Removed",
"removedCount": "{count} removed",
"@removedCount": {"placeholders": {"count": {"type": "int"}}},
"orderStartedToday": "{time} today",
"@orderStartedToday": {"placeholders": {"time": {"type": "String"}}},
"orderStartedYesterday": "{time} yesterday",
"@orderStartedYesterday": {"placeholders": {"time": {"type": "String"}}},
"orderStartedOn": "{date} {time}",
"@orderStartedOn": {"placeholders": {"date": {"type": "String"}, "time": {"type": "String"}}},
"enterPrice": "Enter a price.",
"enterValidPrice": "Enter a valid price.",
"enterValidStock": "Enter a valid stock amount.",
"enterValidThreshold": "Enter a valid threshold.",
"couldNotLoadProduct": "Could not load product.",
"couldNotSaveProduct": "Could not save product.",
"couldNotDeleteProduct": "Could not delete product.",
"paymentMethod": "Payment method",
"cash": "Cash",
"payconiq": "Payconiq",
"closeTabForCustomer": "Close tab for {customerName}?",
"@closeTabForCustomer": {"placeholders": {"customerName": {"type": "String"}}},
"currentTotal": "Current total: {total}",
"@currentTotal": {"placeholders": {"total": {"type": "String"}}},
"couldNotCloseTab": "Could not close tab.",
"closingTab": "Closing tab…",
"slideToConfirmClosing": "Slide to confirm closing",
"errorScreen": "Error Screen",
"unexpectedError": "An unexpected error occurred.\nPlease try restarting the app.",
"goToBarScreen": "Go to bar screen",
"updates": "Updates",
"checkingForUpdates": "Checking for updates…",
"checkForUpdates": "Check for updates",
"latestVersion": "You are already on the latest version.",
"updateCheckFailed": "Update check failed.",
"updateAvailable": "Update available",
"versionAvailable": "Version {version} is available.",
"@versionAvailable": {"placeholders": {"version": {"type": "String"}}},
"later": "Later",
"update": "Update",
"updateFailed": "Update failed",
"retry": "Retry",
"doNotCloseDuringUpdate": "Do not close the app during the update",
"cancelUpdate": "Cancel update?",
"cancelUpdateDescription": "The update is in progress. If you leave now, the app may become unstable.",
"continueUpdate": "Continue update",
"cancelUpdateAction": "Cancel update",
"preparingDownload": "Preparing download…",
"simulatedDownloadError": "Simulated download error (network timeout)",
"installingUpdate": "Installing update…",
"updateAlreadyInProgress": "Update already in progress",
"updatingTo": "Updating to {version}",
"@updatingTo": {"placeholders": {"version": {"type": "String"}}},
"downloadingUpdate": "Downloading update…",
"confirmInstallation": "Confirm the installation",
"confirmInstallationDescription": "Confirm the update in the Android prompt, then open KoolTap again.",
"openInstallerAgain": "Open installer again",
"whatsNew": "What's new",
"updateDownloadFailed": "Could not download the update. Check the internet connection and try again.",
"updateChecksumFailed": "The downloaded update is damaged. Try again.",
"updatePermissionDenied": "KoolTap is not allowed to install updates. Allow \"Install unknown apps\" for KoolTap in the Android settings.",
"updateInstallFailed": "The update could not be installed.",
"genericError": "An unexpected error occurred.",
"couldNotLoadBar": "Could not load bar screen.",
"couldNotCreateTabMessage": "Could not create tab.",
"productOutOfStock": "Product is out of stock.",
"couldNotAddProductToTab": "Could not add product to tab.",
"couldNotUpdateQuantity": "Could not update item quantity.",
"couldNotReloadTabs": "Could not reload tabs.",
"couldNotLoadHistory": "Could not load tab history.",
"couldNotLoadMoreTabs": "Could not load more tabs.",
"couldNotLoadProducts": "Could not load products.",
"couldNotAddProduct": "Could not add product.",
"couldNotUpdateProduct": "Could not update product.",
"couldNotDeleteProductMessage": "Could not delete product.",
"couldNotCheckPinStatus": "Could not check PIN status.",
"couldNotVerifyPin": "Could not verify PIN.",
"currentPinIncorrect": "Current PIN is incorrect.",
"couldNotLoadSettings": "Could not load settings.",
"couldNotSaveSettings": "Could not save settings.",
"devMenu": "Dev Menu",
"dataManagement": "Data Management",
"clearOpenTabs": "Clear all open tabs",
"clearClosedHistory": "Clear closed tab history",
"seedDefaultProducts": "Seed default products",
"onlySeedsWhenEmpty": "Only seeds if table is empty",
"clearAndReseedProducts": "Clear & reseed products",
"wipesAndReseeds": "Wipes all products, then seeds defaults",
"clearAllProducts": "Clear all products",
"clearProductImages": "Clear product images",
"deletesProductImages": "Deletes images from product_images folder",
"debugging": "Debugging",
"resetPin": "Reset PIN",
"removePinLock": "Remove PIN lock",
"toggleDebugOverlay": "Toggle debug overlay",
"showFpsMemoryWidgets": "Show FPS, memory, widget count",
"errorScreenMenu": "Error screen",
"viewErrorScreen": "View the error screen UI",
"featureToggles": "Feature Toggles",
"simulateUpdateDownload": "Simulate update download",
"openDownloadProgress": "Open the download progress screen",
"testingHelpers": "Testing Helpers",
"createTestTab": "Create test tab",
"addRandomItems": "Add tab with random items",
"addTestProducts": "Add 100 test products",
"stressTestGrid": "Stress test product grid",
"simulateLowStock": "Simulate low stock",
"setProductsBelowThreshold": "Set all products below threshold",
"generateMockOrders": "Generate mock order history",
"randomCustomersItemsAmounts": "100 orders across days with random products and purchase times",
"performance": "Performance",
"clearImageCache": "Clear image cache",
"reloadProductImages": "Reload product images",
"debugOverlay": "Debug Overlay",
"debugOverlayDescription": "The debug overlay shows FPS, memory usage, and widget counts. Enable it via Flutter DevTools in debug mode.",
"ok": "OK",
"simulateUpdate": "Simulate update",
"chooseSimulationMode": "Choose a simulation mode:",
"successfulDownload": "Successful download",
"progressThenInstall": "Progress 0→100%, then install, then done",
"downloadError": "Download error",
"failsWithNetworkTimeout": "Fails at 50% with a network timeout",
"realDownloadWillFail": "Real download (will fail)",
"attemptsFakeUrl": "Attempts real OTA with fake URL",
"categoryBeer": "Beer",
"categoryWine": "Wine",
"categorySoftDrinks": "Soft drinks",
"categoryCocktails": "Cocktails",
"categorySnacks": "Snacks",
"categoryCoffee": "Coffee",
"categoryTea": "Tea",
"categoryOther": "Other",
"devActionClearedOpenTabs": "Cleared all open tabs",
"devActionClearedHistory": "Cleared closed tab history",
"devActionClearedProducts": "Cleared all products",
"devActionSeededProducts": "Seeded {count} products",
"@devActionSeededProducts": {"placeholders": {"count": {"type": "int"}}},
"devActionReseededProducts": "Cleared and reseeded {count} products",
"@devActionReseededProducts": {"placeholders": {"count": {"type": "int"}}},
"devActionImagesCleared": "Product images cleared",
"devActionResetPin": "PIN reset (no PIN required)",
"devActionNoProducts": "No products available",
"devActionImagesReloaded": "Product images reloaded",
"devActionCacheCleared": "Image cache cleared (no-op in debug mode)",
"devActionLowStock": "Simulated low stock for {count} products",
"@devActionLowStock": {"placeholders": {"count": {"type": "int"}}},
"devActionTestTab": "Created test tab with {count} items",
"@devActionTestTab": {"placeholders": {"count": {"type": "int"}}},
"devActionTestProducts": "Added {count} test products",
"@devActionTestProducts": {"placeholders": {"count": {"type": "int"}}},
"devActionMockOrders": "Generated {orders} mock orders across {customers} customers",
"@devActionMockOrders": {"placeholders": {"orders": {"type": "int"}, "customers": {"type": "int"}}},
"devActionFailedImages": "Failed to clear images.",
"devActionResetStock": "Reset stock for {count} products",
"@devActionResetStock": {"placeholders": {"count": {"type": "int"}}},
"paymentCash": "Cash",
"paymentPayconiq": "Payconiq",
"paymentPending": "Leave unpaid",
"simulatedUpdateNotes": "Bug fixes and performance improvements.",
"remoteActivity": "Remote activity",
"remoteActivityHistory": "Recent remote activity",
"offline": "Offline",
"offlineDescription": "No connection to the server. The tablet keeps working: everything is sent as soon as the connection is back.",
"syncProblem": "Sync problem",
"syncProblemDescription": "Changes from the website don't reach this tablet. Error:",
"appUpdateRequired": "App update required",
"appUpdateRequiredDescription": "The website no longer accepts this version of the app. The bar keeps working and everything is sent once the app is updated. Update it in Settings.",
"syncNow": "Sync now",
"syncing": "Syncing…",
"lastSync": "Last sync: {time}",
"@lastSync": {"placeholders": {"time": {"type": "String"}}},
"notSyncedYet": "Not synced yet",
"tabClosedRemotely": "Tab {customer} closed remotely by {requester}",
"@tabClosedRemotely": {"placeholders": {"customer": {"type": "String"}, "requester": {"type": "String"}}},
"actionCannotBeUndone": "This cannot be undone.",
"disconnectFromServer": "Disconnect from server",
"disconnectFromServerDescription": "This unlinks the device from the remote server. The bar keeps working, but open tabs will no longer be synced. Continue?",
"disconnect": "Disconnect",
"remoteServer": "Remote server",
"connected": "Connected",
"deviceLinked": "Device linked to remote server",
"notConnected": "Not connected",
"linkToDashboard": "Link to remote dashboard",
"deviceAccessRevoked": "The server no longer accepts this device. Link it again in Admin.",
"duplicateTabName": "Name already in use",
"duplicateTabNameDescription": "A tab named {name} is already open. Use this name anyway?",
"@duplicateTabNameDescription": {"placeholders": {"name": {"type": "String"}}},
"deleteTabWithItemsDescription": "This tab still has drinks on it. Deleting it returns them to stock and leaves nothing in history. Enter the admin PIN to continue.",
"pinSaved": "PIN saved",
"deviceLinkedToVenue": "Linked to {venue}",
"@deviceLinkedToVenue": {"placeholders": {"venue": {"type": "String"}}},
"justNow": "just now",
"minutesAgo": "{count, plural, =1{1 minute ago} other{{count} minutes ago}}",
"@minutesAgo": {"placeholders": {"count": {"type": "int"}}},
"hoursAgo": "{count, plural, =1{1 hour ago} other{{count} hours ago}}",
"@hoursAgo": {"placeholders": {"count": {"type": "int"}}},
"remoteCommandCloseTab": "Close tab from dashboard",
"remoteCommandUnknown": "Unknown command ({type})",
"@remoteCommandUnknown": {"placeholders": {"type": {"type": "String"}}},
"commandCompleted": "Done",
"commandConflict": "Conflict",
"commandFailed": "Failed",
"commandExpired": "Expired",
"searchProducts": "Search products…",
"allCategories": "All",
"noProductsMatch": "No products match your search.",
"lowStock": "Low stock",
"productHidden": "Hidden",
"addFirstProduct": "Add your first product to start selling.",
"productStockCount": "Stock: {count}",
"@productStockCount": {"placeholders": {"count": {"type": "int"}}},
"connectingToServer": "Connecting to server…",
"failedToConnect": "Failed to connect",
"unknownError": "Unknown error",
"connectToRemoteServer": "Connect to remote server",
"selectVenueToLink": "Select your venue to link this device",
"selectVenue": "Select venue",
"refreshVenues": "Refresh venues",
"enterDeviceDetails": "Enter device details to complete pairing",
"deviceName": "Device name",
"deviceNameRequired": "Device name is required",
"registrationCode": "Registration code",
"enterRegistrationCode": "Enter the 6-character code",
"back": "Back",
"register": "Register",
"registeringDevice": "Registering device…",
"deviceRegistered": "Device registered!",
"openTabsWillSync": "Open tabs will sync to the dashboard.",
"done": "Done",
"stepVenue": "Venue",
"stepDevice": "Device",
"stepLinked": "Linked",
"noVenuesFound": "No venues found. Create one on the dashboard first.",
"changeVenue": "Change",
"deviceNameHint": "e.g. Bar terminal 1",
"registrationCodeHelper": "Find this code on the dashboard under devices.",
"venueNowLinked": "This device is now linked to {venue}.",
"@venueNowLinked": {"placeholders": {"venue": {"type": "String"}}},
"scanToPay": "Let the customer scan this code to pay {amount}",
"@scanToPay": {
"placeholders": {
"amount": {"type": "String"}
}
},
"creditsDirectedBy": "Directed by",
"creditsStarring": "Starring",
"creditsSpecialThanks": "Special thanks",
"creditsEveryoneAtTheBar": "Everyone at the bar",
"creditsDrinkResponsibly": "Drink responsibly. Mostly.",
"lazyPinRemark": "🤨 Really?",
"rainbowRoad": "Rainbow road 🌈",
"newCustomer": "New customer",
"emailOptional": "Email (optional)",
"invalidEmail": "Enter a valid email address",
"allTabsOpen": "Every tab is already open",
"noTabsFound": "No tabs found",
"nameRequired": "Enter a name"
}