feat: add localisation

This commit is contained in:
2026-07-31 21:46:05 +02:00
parent b58c9a8722
commit f5b2041612
30 changed files with 4099 additions and 326 deletions
+723
View File
@@ -0,0 +1,723 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for English (`en`).
class AppLocalizationsEn extends AppLocalizations {
AppLocalizationsEn([String locale = 'en']) : super(locale);
@override
String get appTitle => 'KoolTab';
@override
String get barTabs => 'Bar Tabs';
@override
String get products => 'Products';
@override
String get addProduct => 'Add product';
@override
String get noProductsYet => 'No products yet.';
@override
String get addFirstProduct => 'Add your first product to start selling.';
@override
String get manageProducts => 'Manage products';
@override
String get tabHistory => 'Tab history';
@override
String get refresh => 'Refresh';
@override
String get settings => 'Settings';
@override
String get logout => 'Logout';
@override
String get openOrSelectTab => 'Open or select a tab first.';
@override
String get openNewTab => 'Open new tab';
@override
String get customerGroupName => 'Customer / group name';
@override
String get cancel => 'Cancel';
@override
String get openTab => 'Open tab';
@override
String couldNotCreateTab(String error) {
return 'Could not create tab: $error';
}
@override
String get searchByName => 'Search by name…';
@override
String get allCustomers => 'All customers';
@override
String get customer => 'Customer';
@override
String get noClosedTabs => 'No closed tabs yet';
@override
String get settingsTitle => 'Settings';
@override
String get security => 'Security';
@override
String get pinRequired => 'PIN Required';
@override
String get changePin => 'Change PIN';
@override
String get appearance => 'Appearance';
@override
String get language => 'Language';
@override
String get languageSystem => 'System default';
@override
String get languageEnglish => 'English';
@override
String get languageDutch => 'Dutch';
@override
String get theme => 'Theme';
@override
String get system => 'System';
@override
String get light => 'Light';
@override
String get dark => 'Dark';
@override
String get ugly => 'Ugly';
@override
String get setPinCode => 'Set PIN Code';
@override
String get enterPin => 'Enter PIN';
@override
String get enterCurrentPin => 'Enter Current PIN';
@override
String get enterNewPin => 'Enter New PIN';
@override
String get fourDigits => '4 digits';
@override
String get enterPinFourDigits => 'Enter PIN (4 digits)';
@override
String get confirm => 'Confirm';
@override
String get confirmPin => 'Confirm PIN';
@override
String get pinExactlyFour => 'PIN must be exactly 4 digits';
@override
String get couldNotSavePin => 'Could not save PIN setting.';
@override
String get editProduct => 'Edit product';
@override
String get productName => 'Product name';
@override
String get category => 'Category';
@override
String get price => 'Price';
@override
String get stock => 'Stock';
@override
String get lowStockThreshold => 'Low stock threshold';
@override
String get chooseProductImage => 'Choose product image';
@override
String get changeImage => 'Change image';
@override
String get deleteProduct => 'Delete product?';
@override
String get deleteProductDescription =>
'This will remove the product from the product list.';
@override
String get delete => 'Delete';
@override
String get productNotFound => 'Product not found.';
@override
String get chooseImage => 'Choose a product image.';
@override
String get selectCategory => 'Please select a category.';
@override
String get enterProductName => 'Enter a product name.';
@override
String version(String version) {
return 'Version $version';
}
@override
String get selectTabToAddItems => 'Select a tab to add items';
@override
String get openTabs => 'Open tabs';
@override
String get selectOrOpenTab => 'Select or open a tab';
@override
String get noOpenTabs => 'No open tabs';
@override
String get edit => 'Edit';
@override
String get close => 'Close';
@override
String tabItemSummary(int count, String total) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count items - $total',
one: '1 item - $total',
);
return '$_temp0';
}
@override
String tabItemCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count items',
one: '1 item',
);
return '$_temp0';
}
@override
String get tapProductsToAdd => 'Tap products to add them';
@override
String get total => 'Total';
@override
String get closeTab => 'Close tab';
@override
String productStockSummary(String category, String price, int stock) {
return '$category$price • Stock: $stock';
}
@override
String get outOfStock => 'OUT OF STOCK';
@override
String get tabsYouCloseAppearHere => 'Tabs you close will show up here.';
@override
String get enterPinSubtitle => 'Youll use this to unlock the app';
@override
String get confirmPinSubtitle => 'Enter the same PIN again';
@override
String get createPin => 'Create a PIN';
@override
String get pinsDidNotMatch => 'PINs didnt match. Try again.';
@override
String get somethingWentWrong => 'Something went wrong.';
@override
String get incorrectPin => 'Incorrect PIN.';
@override
String get enterPrice => 'Enter a price.';
@override
String get enterValidPrice => 'Enter a valid price.';
@override
String get enterValidStock => 'Enter a valid stock amount.';
@override
String get enterValidThreshold => 'Enter a valid threshold.';
@override
String get couldNotLoadProduct => 'Could not load product.';
@override
String get couldNotSaveProduct => 'Could not save product.';
@override
String get couldNotDeleteProduct => 'Could not delete product.';
@override
String get paymentMethod => 'Payment method';
@override
String get cash => 'Cash';
@override
String get payconiq => 'Payconiq';
@override
String closeTabForCustomer(String customerName) {
return 'Close tab for $customerName?';
}
@override
String currentTotal(String total) {
return 'Current total: $total';
}
@override
String get couldNotCloseTab => 'Could not close tab.';
@override
String get closingTab => 'Closing tab…';
@override
String get slideToConfirmClosing => 'Slide to confirm closing';
@override
String get errorScreen => 'Error Screen';
@override
String get unexpectedError =>
'An unexpected error occurred.\nPlease try restarting the app.';
@override
String get goToBarScreen => 'Go to bar screen';
@override
String get updates => 'Updates';
@override
String get checkingForUpdates => 'Checking for updates…';
@override
String get checkForUpdates => 'Check for updates';
@override
String get latestVersion => 'You are already on the latest version.';
@override
String get updateCheckFailed => 'Update check failed.';
@override
String get updateAvailable => 'Update available';
@override
String versionAvailable(String version) {
return 'Version $version is available.';
}
@override
String get later => 'Later';
@override
String get update => 'Update';
@override
String get updateReady => 'Update ready';
@override
String get updateReadyDescription =>
'The update has been downloaded and installed. Restart the app now to apply the changes.';
@override
String get restartApp => 'Restart app';
@override
String get updateFailed => 'Update failed';
@override
String get retry => 'Retry';
@override
String get updating => 'Updating';
@override
String get installing => 'Installing';
@override
String get doNotCloseDuringUpdate => 'Do not close the app during the update';
@override
String get cancelUpdate => 'Cancel update?';
@override
String get cancelUpdateDescription =>
'The update is in progress. If you leave now, the app may become unstable.';
@override
String get continueUpdate => 'Continue update';
@override
String get cancelUpdateAction => 'Cancel update';
@override
String get preparingDownload => 'Preparing download…';
@override
String get simulatedDownloadError =>
'Simulated download error (network timeout)';
@override
String get downloadFailed => 'Download failed';
@override
String downloading(String percent) {
return 'Downloading $percent%';
}
@override
String get installingUpdate => 'Installing update…';
@override
String get updateInstalledRestarting => 'Update installed! Restarting…';
@override
String get installationFailed => 'Installation failed';
@override
String get updateAlreadyInProgress => 'Update already in progress';
@override
String get updateAlreadyRunning => 'Update already running';
@override
String get genericError => 'An unexpected error occurred.';
@override
String get couldNotLoadBar => 'Could not load bar screen.';
@override
String get couldNotCreateTabMessage => 'Could not create tab.';
@override
String get productOutOfStock => 'Product is out of stock.';
@override
String get couldNotAddProductToTab => 'Could not add product to tab.';
@override
String get couldNotUpdateQuantity => 'Could not update item quantity.';
@override
String get couldNotReloadTabs => 'Could not reload tabs.';
@override
String get couldNotLoadHistory => 'Could not load tab history.';
@override
String get couldNotLoadMoreTabs => 'Could not load more tabs.';
@override
String get couldNotLoadProducts => 'Could not load products.';
@override
String get couldNotAddProduct => 'Could not add product.';
@override
String get couldNotUpdateProduct => 'Could not update product.';
@override
String get couldNotDeleteProductMessage => 'Could not delete product.';
@override
String get couldNotCheckPinStatus => 'Could not check PIN status.';
@override
String get couldNotVerifyPin => 'Could not verify PIN.';
@override
String get currentPinIncorrect => 'Current PIN is incorrect.';
@override
String get couldNotLoadSettings => 'Could not load settings.';
@override
String get couldNotSaveSettings => 'Could not save settings.';
@override
String get downloadFailedWithDetail => 'Download failed.';
@override
String get installationFailedWithDetail => 'Installation failed.';
@override
String get devMenu => 'Dev Menu';
@override
String get dataManagement => 'Data Management';
@override
String get clearOpenTabs => 'Clear all open tabs';
@override
String get clearClosedHistory => 'Clear closed tab history';
@override
String get seedDefaultProducts => 'Seed default products';
@override
String get onlySeedsWhenEmpty => 'Only seeds if table is empty';
@override
String get clearAndReseedProducts => 'Clear & reseed products';
@override
String get wipesAndReseeds => 'Wipes all products, then seeds defaults';
@override
String get clearAllProducts => 'Clear all products';
@override
String get clearProductImages => 'Clear product images';
@override
String get deletesProductImages =>
'Deletes images from product_images folder';
@override
String get debugging => 'Debugging';
@override
String get resetPin => 'Reset PIN';
@override
String get removePinLock => 'Remove PIN lock';
@override
String get toggleDebugOverlay => 'Toggle debug overlay';
@override
String get showFpsMemoryWidgets => 'Show FPS, memory, widget count';
@override
String get errorScreenMenu => 'Error screen';
@override
String get viewErrorScreen => 'View the error screen UI';
@override
String get featureToggles => 'Feature Toggles';
@override
String get simulateUpdateDownload => 'Simulate update download';
@override
String get openDownloadProgress => 'Open the download progress screen';
@override
String get testingHelpers => 'Testing Helpers';
@override
String get createTestTab => 'Create test tab';
@override
String get addRandomItems => 'Add tab with random items';
@override
String get addTestProducts => 'Add 100 test products';
@override
String get stressTestGrid => 'Stress test product grid';
@override
String get simulateLowStock => 'Simulate low stock';
@override
String get setProductsBelowThreshold => 'Set all products below threshold';
@override
String get generateMockOrders => 'Generate 100 mock orders';
@override
String get randomCustomersItemsAmounts =>
'Random customers, items, and amounts';
@override
String get performance => 'Performance';
@override
String get clearImageCache => 'Clear image cache';
@override
String get reloadProductImages => 'Reload product images';
@override
String get debugOverlay => 'Debug Overlay';
@override
String get debugOverlayDescription =>
'The debug overlay shows FPS, memory usage, and widget counts. Enable it via Flutter DevTools in debug mode.';
@override
String get ok => 'OK';
@override
String get simulateUpdate => 'Simulate update';
@override
String get chooseSimulationMode => 'Choose a simulation mode:';
@override
String get successfulDownload => 'Successful download';
@override
String get progressThenInstall => 'Progress 0→100%, then install, then done';
@override
String get downloadError => 'Download error';
@override
String get failsWithNetworkTimeout => 'Fails at 50% with a network timeout';
@override
String get realDownloadWillFail => 'Real download (will fail)';
@override
String get attemptsFakeUrl => 'Attempts real OTA with fake URL';
@override
String get categoryBeer => 'Beer';
@override
String get categoryWine => 'Wine';
@override
String get categorySoftDrinks => 'Soft drinks';
@override
String get categoryCocktails => 'Cocktails';
@override
String get categorySnacks => 'Snacks';
@override
String get categoryCoffee => 'Coffee';
@override
String get categoryTea => 'Tea';
@override
String get categoryOther => 'Other';
@override
String get devActionClearedOpenTabs => 'Cleared all open tabs';
@override
String get devActionClearedHistory => 'Cleared closed tab history';
@override
String get devActionClearedProducts => 'Cleared all products';
@override
String devActionSeededProducts(int count) {
return 'Seeded $count products';
}
@override
String devActionReseededProducts(int count) {
return 'Cleared and reseeded $count products';
}
@override
String get devActionImagesCleared => 'Product images cleared';
@override
String get devActionResetPin => 'PIN reset (no PIN required)';
@override
String get devActionNoProducts => 'No products available';
@override
String get devActionImagesReloaded => 'Product images reloaded';
@override
String get devActionCacheCleared =>
'Image cache cleared (no-op in debug mode)';
@override
String devActionLowStock(int count) {
return 'Simulated low stock for $count products';
}
@override
String devActionTestTab(int count) {
return 'Created test tab with $count items';
}
@override
String devActionTestProducts(int count) {
return 'Added $count test products';
}
@override
String devActionMockOrders(int orders, int customers) {
return 'Generated $orders mock orders across $customers customers';
}
@override
String get devActionFailedImages => 'Failed to clear images.';
@override
String devActionResetStock(int count) {
return 'Reset stock for $count products';
}
@override
String get paymentCash => 'Cash';
@override
String get paymentPayconiq => 'Payconiq';
@override
String get simulatedUpdateNotes => 'Bug fixes and performance improvements.';
}