feat: alphabet list, change Layout etc
This commit is contained in:
+20
-13
@@ -27,6 +27,11 @@
|
||||
"@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",
|
||||
@@ -102,6 +107,10 @@
|
||||
"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",
|
||||
@@ -146,13 +155,8 @@
|
||||
"@versionAvailable": {"placeholders": {"version": {"type": "String"}}},
|
||||
"later": "Later",
|
||||
"update": "Update",
|
||||
"updateReady": "Update ready",
|
||||
"updateReadyDescription": "The update has been downloaded and installed. Restart the app now to apply the changes.",
|
||||
"restartApp": "Restart app",
|
||||
"updateFailed": "Update failed",
|
||||
"retry": "Retry",
|
||||
"updating": "Updating",
|
||||
"installing": "Installing",
|
||||
"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.",
|
||||
@@ -160,14 +164,19 @@
|
||||
"cancelUpdateAction": "Cancel update",
|
||||
"preparingDownload": "Preparing download…",
|
||||
"simulatedDownloadError": "Simulated download error (network timeout)",
|
||||
"downloadFailed": "Download failed",
|
||||
"downloading": "Downloading {percent}%",
|
||||
"@downloading": {"placeholders": {"percent": {"type": "String"}}},
|
||||
"installingUpdate": "Installing update…",
|
||||
"updateInstalledRestarting": "Update installed! Restarting…",
|
||||
"installationFailed": "Installation failed",
|
||||
"updateAlreadyInProgress": "Update already in progress",
|
||||
"updateAlreadyRunning": "Update already running",
|
||||
"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.",
|
||||
@@ -186,8 +195,6 @@
|
||||
"currentPinIncorrect": "Current PIN is incorrect.",
|
||||
"couldNotLoadSettings": "Could not load settings.",
|
||||
"couldNotSaveSettings": "Could not save settings.",
|
||||
"downloadFailedWithDetail": "Download failed.",
|
||||
"installationFailedWithDetail": "Installation failed.",
|
||||
"devMenu": "Dev Menu",
|
||||
"dataManagement": "Data Management",
|
||||
"clearOpenTabs": "Clear all open tabs",
|
||||
|
||||
@@ -254,6 +254,30 @@ abstract class AppLocalizations {
|
||||
/// **'Clear search'**
|
||||
String get clearSearch;
|
||||
|
||||
/// No description provided for @openNewTabDescription.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Add a customer or group to the bar'**
|
||||
String get openNewTabDescription;
|
||||
|
||||
/// No description provided for @tabOpened.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Tab opened for {name}'**
|
||||
String tabOpened(String name);
|
||||
|
||||
/// No description provided for @searchTabs.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Search tabs'**
|
||||
String get searchTabs;
|
||||
|
||||
/// No description provided for @closeSearch.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Close search'**
|
||||
String get closeSearch;
|
||||
|
||||
/// No description provided for @allCustomers.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
@@ -674,6 +698,24 @@ abstract class AppLocalizations {
|
||||
/// **'{category} • {price} • Stock: {stock}'**
|
||||
String productStockSummary(String category, String price, int stock);
|
||||
|
||||
/// No description provided for @infiniteStock.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Infinite stock'**
|
||||
String get infiniteStock;
|
||||
|
||||
/// No description provided for @infiniteStockDescription.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Never runs out, the stock isn\'t counted'**
|
||||
String get infiniteStockDescription;
|
||||
|
||||
/// No description provided for @productInfiniteStockSummary.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{category} • {price} • Infinite stock'**
|
||||
String productInfiniteStockSummary(String category, String price);
|
||||
|
||||
/// No description provided for @outOfStock.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
@@ -920,24 +962,6 @@ abstract class AppLocalizations {
|
||||
/// **'Update'**
|
||||
String get update;
|
||||
|
||||
/// No description provided for @updateReady.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Update ready'**
|
||||
String get updateReady;
|
||||
|
||||
/// No description provided for @updateReadyDescription.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'The update has been downloaded and installed. Restart the app now to apply the changes.'**
|
||||
String get updateReadyDescription;
|
||||
|
||||
/// No description provided for @restartApp.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Restart app'**
|
||||
String get restartApp;
|
||||
|
||||
/// No description provided for @updateFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
@@ -950,18 +974,6 @@ abstract class AppLocalizations {
|
||||
/// **'Retry'**
|
||||
String get retry;
|
||||
|
||||
/// No description provided for @updating.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Updating'**
|
||||
String get updating;
|
||||
|
||||
/// No description provided for @installing.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Installing'**
|
||||
String get installing;
|
||||
|
||||
/// No description provided for @doNotCloseDuringUpdate.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
@@ -1004,47 +1016,77 @@ abstract class AppLocalizations {
|
||||
/// **'Simulated download error (network timeout)'**
|
||||
String get simulatedDownloadError;
|
||||
|
||||
/// No description provided for @downloadFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Download failed'**
|
||||
String get downloadFailed;
|
||||
|
||||
/// No description provided for @downloading.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Downloading {percent}%'**
|
||||
String downloading(String percent);
|
||||
|
||||
/// No description provided for @installingUpdate.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Installing update…'**
|
||||
String get installingUpdate;
|
||||
|
||||
/// No description provided for @updateInstalledRestarting.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Update installed! Restarting…'**
|
||||
String get updateInstalledRestarting;
|
||||
|
||||
/// No description provided for @installationFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Installation failed'**
|
||||
String get installationFailed;
|
||||
|
||||
/// No description provided for @updateAlreadyInProgress.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Update already in progress'**
|
||||
String get updateAlreadyInProgress;
|
||||
|
||||
/// No description provided for @updateAlreadyRunning.
|
||||
/// No description provided for @updatingTo.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Update already running'**
|
||||
String get updateAlreadyRunning;
|
||||
/// **'Updating to {version}'**
|
||||
String updatingTo(String version);
|
||||
|
||||
/// No description provided for @downloadingUpdate.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Downloading update…'**
|
||||
String get downloadingUpdate;
|
||||
|
||||
/// No description provided for @confirmInstallation.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Confirm the installation'**
|
||||
String get confirmInstallation;
|
||||
|
||||
/// No description provided for @confirmInstallationDescription.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Confirm the update in the Android prompt, then open KoolTap again.'**
|
||||
String get confirmInstallationDescription;
|
||||
|
||||
/// No description provided for @openInstallerAgain.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Open installer again'**
|
||||
String get openInstallerAgain;
|
||||
|
||||
/// No description provided for @whatsNew.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'What\'s new'**
|
||||
String get whatsNew;
|
||||
|
||||
/// No description provided for @updateDownloadFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Could not download the update. Check the internet connection and try again.'**
|
||||
String get updateDownloadFailed;
|
||||
|
||||
/// No description provided for @updateChecksumFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'The downloaded update is damaged. Try again.'**
|
||||
String get updateChecksumFailed;
|
||||
|
||||
/// No description provided for @updatePermissionDenied.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'KoolTap is not allowed to install updates. Allow \"Install unknown apps\" for KoolTap in the Android settings.'**
|
||||
String get updatePermissionDenied;
|
||||
|
||||
/// No description provided for @updateInstallFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'The update could not be installed.'**
|
||||
String get updateInstallFailed;
|
||||
|
||||
/// No description provided for @genericError.
|
||||
///
|
||||
@@ -1154,18 +1196,6 @@ abstract class AppLocalizations {
|
||||
/// **'Could not save settings.'**
|
||||
String get couldNotSaveSettings;
|
||||
|
||||
/// No description provided for @downloadFailedWithDetail.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Download failed.'**
|
||||
String get downloadFailedWithDetail;
|
||||
|
||||
/// No description provided for @installationFailedWithDetail.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Installation failed.'**
|
||||
String get installationFailedWithDetail;
|
||||
|
||||
/// No description provided for @devMenu.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
||||
@@ -91,6 +91,20 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
@override
|
||||
String get clearSearch => 'Clear search';
|
||||
|
||||
@override
|
||||
String get openNewTabDescription => 'Add a customer or group to the bar';
|
||||
|
||||
@override
|
||||
String tabOpened(String name) {
|
||||
return 'Tab opened for $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get searchTabs => 'Search tabs';
|
||||
|
||||
@override
|
||||
String get closeSearch => 'Close search';
|
||||
|
||||
@override
|
||||
String get allCustomers => 'All customers';
|
||||
|
||||
@@ -325,6 +339,18 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
return '$category • $price • Stock: $stock';
|
||||
}
|
||||
|
||||
@override
|
||||
String get infiniteStock => 'Infinite stock';
|
||||
|
||||
@override
|
||||
String get infiniteStockDescription =>
|
||||
'Never runs out, the stock isn\'t counted';
|
||||
|
||||
@override
|
||||
String productInfiniteStockSummary(String category, String price) {
|
||||
return '$category • $price • Infinite stock';
|
||||
}
|
||||
|
||||
@override
|
||||
String get outOfStock => 'OUT OF STOCK';
|
||||
|
||||
@@ -455,28 +481,12 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
@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';
|
||||
|
||||
@@ -500,28 +510,47 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
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';
|
||||
String updatingTo(String version) {
|
||||
return 'Updating to $version';
|
||||
}
|
||||
|
||||
@override
|
||||
String get downloadingUpdate => 'Downloading update…';
|
||||
|
||||
@override
|
||||
String get confirmInstallation => 'Confirm the installation';
|
||||
|
||||
@override
|
||||
String get confirmInstallationDescription =>
|
||||
'Confirm the update in the Android prompt, then open KoolTap again.';
|
||||
|
||||
@override
|
||||
String get openInstallerAgain => 'Open installer again';
|
||||
|
||||
@override
|
||||
String get whatsNew => 'What\'s new';
|
||||
|
||||
@override
|
||||
String get updateDownloadFailed =>
|
||||
'Could not download the update. Check the internet connection and try again.';
|
||||
|
||||
@override
|
||||
String get updateChecksumFailed =>
|
||||
'The downloaded update is damaged. Try again.';
|
||||
|
||||
@override
|
||||
String get updatePermissionDenied =>
|
||||
'KoolTap is not allowed to install updates. Allow \"Install unknown apps\" for KoolTap in the Android settings.';
|
||||
|
||||
@override
|
||||
String get updateInstallFailed => 'The update could not be installed.';
|
||||
|
||||
@override
|
||||
String get genericError => 'An unexpected error occurred.';
|
||||
@@ -577,12 +606,6 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
@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';
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import '../models/app_error.dart';
|
||||
import '../models/update_failure.dart';
|
||||
import 'app_localizations.dart';
|
||||
|
||||
extension AppLocalizationsHelpers on AppLocalizations {
|
||||
@@ -44,47 +45,18 @@ extension AppLocalizationsHelpers on AppLocalizations {
|
||||
};
|
||||
}
|
||||
|
||||
/// Update messages still come from the OTA plugin as plain strings.
|
||||
String _updateMessage(String? message) {
|
||||
return switch (message) {
|
||||
'Update failed' => updateFailed,
|
||||
'Download failed' => downloadFailed,
|
||||
'Installation failed' => installationFailed,
|
||||
'Update already in progress' => updateAlreadyInProgress,
|
||||
_ => message ?? genericError,
|
||||
String updateFailureText(UpdateFailure? failure) {
|
||||
return switch (failure) {
|
||||
UpdateFailure.download => updateDownloadFailed,
|
||||
UpdateFailure.checksum => updateChecksumFailed,
|
||||
UpdateFailure.permission => updatePermissionDenied,
|
||||
UpdateFailure.install => updateInstallFailed,
|
||||
UpdateFailure.alreadyRunning => updateAlreadyInProgress,
|
||||
UpdateFailure.simulated => simulatedDownloadError,
|
||||
UpdateFailure.unknown || null => updateFailed,
|
||||
};
|
||||
}
|
||||
|
||||
String updateStatus(String status) {
|
||||
if (status.startsWith('Downloading ')) {
|
||||
return downloading(status.substring('Downloading '.length));
|
||||
}
|
||||
|
||||
return switch (status) {
|
||||
'Preparing download…' => preparingDownload,
|
||||
'Download failed' => downloadFailed,
|
||||
'Installing update…' => installingUpdate,
|
||||
'Update installed! Restarting…' => updateInstalledRestarting,
|
||||
'Installation failed' => installationFailed,
|
||||
'Update already running' => updateAlreadyRunning,
|
||||
_ => status,
|
||||
};
|
||||
}
|
||||
|
||||
String updateError(String? message) {
|
||||
if (message == null) return updateFailed;
|
||||
if (message.startsWith('Download failed')) return downloadFailedWithDetail;
|
||||
if (message.startsWith('Installation failed')) {
|
||||
return installationFailedWithDetail;
|
||||
}
|
||||
if (message == 'Simulated download error (network timeout)') {
|
||||
return simulatedDownloadError;
|
||||
}
|
||||
if (message == 'Update already in progress') return updateAlreadyInProgress;
|
||||
|
||||
return _updateMessage(message);
|
||||
}
|
||||
|
||||
String devAction(String? message) {
|
||||
if (message == null) return '';
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get openOrSelectTab => 'Open of selecteer eerst een poef.';
|
||||
|
||||
@override
|
||||
String get openNewTab => 'Nieuw poef openen';
|
||||
String get openNewTab => 'Nieuwe poef openen';
|
||||
|
||||
@override
|
||||
String get customerGroupName => 'Naam klant / groep';
|
||||
@@ -90,6 +90,21 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
@override
|
||||
String get clearSearch => 'Zoekopdracht wissen';
|
||||
|
||||
@override
|
||||
String get openNewTabDescription =>
|
||||
'Een klant of groep toevoegen aan de kassa';
|
||||
|
||||
@override
|
||||
String tabOpened(String name) {
|
||||
return 'Poef geopend voor $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get searchTabs => 'Poefs zoeken';
|
||||
|
||||
@override
|
||||
String get closeSearch => 'Zoeken sluiten';
|
||||
|
||||
@override
|
||||
String get allCustomers => 'Alle klanten';
|
||||
|
||||
@@ -325,6 +340,18 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
return '$category • $price • Voorraad: $stock';
|
||||
}
|
||||
|
||||
@override
|
||||
String get infiniteStock => 'Oneindige voorraad';
|
||||
|
||||
@override
|
||||
String get infiniteStockDescription =>
|
||||
'Raakt nooit op, de voorraad wordt niet geteld';
|
||||
|
||||
@override
|
||||
String productInfiniteStockSummary(String category, String price) {
|
||||
return '$category • $price • Oneindige voorraad';
|
||||
}
|
||||
|
||||
@override
|
||||
String get outOfStock => 'UITVERKOCHT';
|
||||
|
||||
@@ -457,28 +484,12 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
@override
|
||||
String get update => 'Updaten';
|
||||
|
||||
@override
|
||||
String get updateReady => 'Update klaar';
|
||||
|
||||
@override
|
||||
String get updateReadyDescription =>
|
||||
'De update is gedownload en geïnstalleerd. Start de app nu opnieuw om de wijzigingen toe te passen.';
|
||||
|
||||
@override
|
||||
String get restartApp => 'App opnieuw starten';
|
||||
|
||||
@override
|
||||
String get updateFailed => 'Update mislukt';
|
||||
|
||||
@override
|
||||
String get retry => 'Opnieuw proberen';
|
||||
|
||||
@override
|
||||
String get updating => 'Updaten';
|
||||
|
||||
@override
|
||||
String get installing => 'Installeren';
|
||||
|
||||
@override
|
||||
String get doNotCloseDuringUpdate => 'Sluit de app niet tijdens de update';
|
||||
|
||||
@@ -502,29 +513,47 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get simulatedDownloadError =>
|
||||
'Gesimuleerde downloadfout (netwerktime-out)';
|
||||
|
||||
@override
|
||||
String get downloadFailed => 'Download mislukt';
|
||||
|
||||
@override
|
||||
String downloading(String percent) {
|
||||
return 'Downloaden $percent%';
|
||||
}
|
||||
|
||||
@override
|
||||
String get installingUpdate => 'Update installeren…';
|
||||
|
||||
@override
|
||||
String get updateInstalledRestarting =>
|
||||
'Update geïnstalleerd! Opnieuw starten…';
|
||||
|
||||
@override
|
||||
String get installationFailed => 'Installatie mislukt';
|
||||
|
||||
@override
|
||||
String get updateAlreadyInProgress => 'Update is al bezig';
|
||||
|
||||
@override
|
||||
String get updateAlreadyRunning => 'Update wordt al uitgevoerd';
|
||||
String updatingTo(String version) {
|
||||
return 'Updaten naar $version';
|
||||
}
|
||||
|
||||
@override
|
||||
String get downloadingUpdate => 'Update downloaden…';
|
||||
|
||||
@override
|
||||
String get confirmInstallation => 'Bevestig de installatie';
|
||||
|
||||
@override
|
||||
String get confirmInstallationDescription =>
|
||||
'Bevestig de update in het Android-venster en open KoolTap daarna opnieuw.';
|
||||
|
||||
@override
|
||||
String get openInstallerAgain => 'Installatie opnieuw openen';
|
||||
|
||||
@override
|
||||
String get whatsNew => 'Wat is er nieuw';
|
||||
|
||||
@override
|
||||
String get updateDownloadFailed =>
|
||||
'Kon de update niet downloaden. Controleer de internetverbinding en probeer opnieuw.';
|
||||
|
||||
@override
|
||||
String get updateChecksumFailed =>
|
||||
'De gedownloade update is beschadigd. Probeer opnieuw.';
|
||||
|
||||
@override
|
||||
String get updatePermissionDenied =>
|
||||
'KoolTap mag geen updates installeren. Sta \"Onbekende apps installeren\" toe voor KoolTap in de Android-instellingen.';
|
||||
|
||||
@override
|
||||
String get updateInstallFailed => 'De update kon niet worden geïnstalleerd.';
|
||||
|
||||
@override
|
||||
String get genericError => 'Er is een onverwachte fout opgetreden.';
|
||||
@@ -584,12 +613,6 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get couldNotSaveSettings =>
|
||||
'Instellingen konden niet worden opgeslagen.';
|
||||
|
||||
@override
|
||||
String get downloadFailedWithDetail => 'Download mislukt.';
|
||||
|
||||
@override
|
||||
String get installationFailedWithDetail => 'Installatie mislukt.';
|
||||
|
||||
@override
|
||||
String get devMenu => 'Ontwikkelaarsmenu';
|
||||
|
||||
@@ -659,10 +682,10 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get testingHelpers => 'Testhelpers';
|
||||
|
||||
@override
|
||||
String get createTestTab => 'Testtabblad maken';
|
||||
String get createTestTab => 'Testpoef maken';
|
||||
|
||||
@override
|
||||
String get addRandomItems => 'Tabblad met willekeurige items toevoegen';
|
||||
String get addRandomItems => 'Poef met willekeurige items toevoegen';
|
||||
|
||||
@override
|
||||
String get addTestProducts => '100 testproducten toevoegen';
|
||||
@@ -754,11 +777,11 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
String get categoryOther => 'Overig';
|
||||
|
||||
@override
|
||||
String get devActionClearedOpenTabs => 'Alle open tabbladen gewist';
|
||||
String get devActionClearedOpenTabs => 'Alle open poefs gewist';
|
||||
|
||||
@override
|
||||
String get devActionClearedHistory =>
|
||||
'Geschiedenis van gesloten tabbladen gewist';
|
||||
'Geschiedenis van gesloten poefs gewist';
|
||||
|
||||
@override
|
||||
String get devActionClearedProducts => 'Alle producten gewist';
|
||||
@@ -796,7 +819,7 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String devActionTestTab(int count) {
|
||||
return 'Testtabblad gemaakt met $count items';
|
||||
return 'Testpoef gemaakt met $count items';
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
+26
-19
@@ -19,7 +19,7 @@
|
||||
"importNamesDescription": "Bereid een lijst met namen voor om later als poefs te gebruiken.",
|
||||
"importPlaceholder": "Namen importeren is hier later beschikbaar.",
|
||||
"openOrSelectTab": "Open of selecteer eerst een poef.",
|
||||
"openNewTab": "Nieuw poef openen",
|
||||
"openNewTab": "Nieuwe poef openen",
|
||||
"customerGroupName": "Naam klant / groep",
|
||||
"cancel": "Annuleren",
|
||||
"openTab": "Poef openen",
|
||||
@@ -27,6 +27,11 @@
|
||||
"@couldNotCreateTab": {"placeholders": {"error": {"type": "String"}}},
|
||||
"searchByName": "Zoeken op naam…",
|
||||
"clearSearch": "Zoekopdracht wissen",
|
||||
"openNewTabDescription": "Een klant of groep toevoegen aan de kassa",
|
||||
"tabOpened": "Poef geopend voor {name}",
|
||||
"@tabOpened": {"placeholders": {"name": {"type": "String"}}},
|
||||
"searchTabs": "Poefs zoeken",
|
||||
"closeSearch": "Zoeken sluiten",
|
||||
"allCustomers": "Alle klanten",
|
||||
"customer": "Klant",
|
||||
"noClosedTabs": "Nog geen gesloten poefs",
|
||||
@@ -102,6 +107,10 @@
|
||||
"closeTab": "Poef sluiten",
|
||||
"productStockSummary": "{category} • {price} • Voorraad: {stock}",
|
||||
"@productStockSummary": {"placeholders": {"category": {"type": "String"}, "price": {"type": "String"}, "stock": {"type": "int"}}},
|
||||
"infiniteStock": "Oneindige voorraad",
|
||||
"infiniteStockDescription": "Raakt nooit op, de voorraad wordt niet geteld",
|
||||
"productInfiniteStockSummary": "{category} • {price} • Oneindige voorraad",
|
||||
"@productInfiniteStockSummary": {"placeholders": {"category": {"type": "String"}, "price": {"type": "String"}}},
|
||||
"outOfStock": "UITVERKOCHT",
|
||||
"tabsYouCloseAppearHere": "Gesloten poefs verschijnen hier.",
|
||||
"enterPinSubtitle": "Je gebruikt dit om de app te ontgrendelen",
|
||||
@@ -146,13 +155,8 @@
|
||||
"@versionAvailable": {"placeholders": {"version": {"type": "String"}}},
|
||||
"later": "Later",
|
||||
"update": "Updaten",
|
||||
"updateReady": "Update klaar",
|
||||
"updateReadyDescription": "De update is gedownload en geïnstalleerd. Start de app nu opnieuw om de wijzigingen toe te passen.",
|
||||
"restartApp": "App opnieuw starten",
|
||||
"updateFailed": "Update mislukt",
|
||||
"retry": "Opnieuw proberen",
|
||||
"updating": "Updaten",
|
||||
"installing": "Installeren",
|
||||
"doNotCloseDuringUpdate": "Sluit de app niet tijdens de update",
|
||||
"cancelUpdate": "Update annuleren?",
|
||||
"cancelUpdateDescription": "De update is bezig. Als je nu weggaat, kan de app instabiel worden.",
|
||||
@@ -160,14 +164,19 @@
|
||||
"cancelUpdateAction": "Update annuleren",
|
||||
"preparingDownload": "Download voorbereiden…",
|
||||
"simulatedDownloadError": "Gesimuleerde downloadfout (netwerktime-out)",
|
||||
"downloadFailed": "Download mislukt",
|
||||
"downloading": "Downloaden {percent}%",
|
||||
"@downloading": {"placeholders": {"percent": {"type": "String"}}},
|
||||
"installingUpdate": "Update installeren…",
|
||||
"updateInstalledRestarting": "Update geïnstalleerd! Opnieuw starten…",
|
||||
"installationFailed": "Installatie mislukt",
|
||||
"updateAlreadyInProgress": "Update is al bezig",
|
||||
"updateAlreadyRunning": "Update wordt al uitgevoerd",
|
||||
"updatingTo": "Updaten naar {version}",
|
||||
"@updatingTo": {"placeholders": {"version": {"type": "String"}}},
|
||||
"downloadingUpdate": "Update downloaden…",
|
||||
"confirmInstallation": "Bevestig de installatie",
|
||||
"confirmInstallationDescription": "Bevestig de update in het Android-venster en open KoolTap daarna opnieuw.",
|
||||
"openInstallerAgain": "Installatie opnieuw openen",
|
||||
"whatsNew": "Wat is er nieuw",
|
||||
"updateDownloadFailed": "Kon de update niet downloaden. Controleer de internetverbinding en probeer opnieuw.",
|
||||
"updateChecksumFailed": "De gedownloade update is beschadigd. Probeer opnieuw.",
|
||||
"updatePermissionDenied": "KoolTap mag geen updates installeren. Sta \"Onbekende apps installeren\" toe voor KoolTap in de Android-instellingen.",
|
||||
"updateInstallFailed": "De update kon niet worden geïnstalleerd.",
|
||||
"genericError": "Er is een onverwachte fout opgetreden.",
|
||||
"couldNotLoadBar": "Barkassa kon niet worden geladen.",
|
||||
"couldNotCreateTabMessage": "Poef kon niet worden aangemaakt.",
|
||||
@@ -186,8 +195,6 @@
|
||||
"currentPinIncorrect": "Huidige PIN is onjuist.",
|
||||
"couldNotLoadSettings": "Instellingen konden niet worden geladen.",
|
||||
"couldNotSaveSettings": "Instellingen konden niet worden opgeslagen.",
|
||||
"downloadFailedWithDetail": "Download mislukt.",
|
||||
"installationFailedWithDetail": "Installatie mislukt.",
|
||||
"devMenu": "Ontwikkelaarsmenu",
|
||||
"dataManagement": "Databeheer",
|
||||
"clearOpenTabs": "Alle open poefs wissen",
|
||||
@@ -210,8 +217,8 @@
|
||||
"simulateUpdateDownload": "Updatedownload simuleren",
|
||||
"openDownloadProgress": "Downloadvoortgang openen",
|
||||
"testingHelpers": "Testhelpers",
|
||||
"createTestTab": "Testtabblad maken",
|
||||
"addRandomItems": "Tabblad met willekeurige items toevoegen",
|
||||
"createTestTab": "Testpoef maken",
|
||||
"addRandomItems": "Poef met willekeurige items toevoegen",
|
||||
"addTestProducts": "100 testproducten toevoegen",
|
||||
"stressTestGrid": "Productraster stresstesten",
|
||||
"simulateLowStock": "Lage voorraad simuleren",
|
||||
@@ -240,8 +247,8 @@
|
||||
"categoryCoffee": "Koffie",
|
||||
"categoryTea": "Thee",
|
||||
"categoryOther": "Overig",
|
||||
"devActionClearedOpenTabs": "Alle open tabbladen gewist",
|
||||
"devActionClearedHistory": "Geschiedenis van gesloten tabbladen gewist",
|
||||
"devActionClearedOpenTabs": "Alle open poefs gewist",
|
||||
"devActionClearedHistory": "Geschiedenis van gesloten poefs gewist",
|
||||
"devActionClearedProducts": "Alle producten gewist",
|
||||
"devActionSeededProducts": "{count} producten toegevoegd",
|
||||
"@devActionSeededProducts": {"placeholders": {"count": {"type": "int"}}},
|
||||
@@ -254,7 +261,7 @@
|
||||
"devActionCacheCleared": "Afbeeldingencache gewist (geen actie in debugmodus)",
|
||||
"devActionLowStock": "Lage voorraad gesimuleerd voor {count} producten",
|
||||
"@devActionLowStock": {"placeholders": {"count": {"type": "int"}}},
|
||||
"devActionTestTab": "Testtabblad gemaakt met {count} items",
|
||||
"devActionTestTab": "Testpoef gemaakt met {count} items",
|
||||
"@devActionTestTab": {"placeholders": {"count": {"type": "int"}}},
|
||||
"devActionTestProducts": "{count} testproducten toegevoegd",
|
||||
"@devActionTestProducts": {"placeholders": {"count": {"type": "int"}}},
|
||||
|
||||
Reference in New Issue
Block a user