posMessages top-level constant
Was die Kasse selbst sagt: ein Satz je Schluessel (bereich.name), gleich wie im Web.
Implementation
const Map<String, PosText> posMessages = {
'network.no_connection': PosText('Keine Verbindung zum Server. Bitte die Internetverbindung prüfen und erneut versuchen.'),
'network.timeout': PosText('Der Server antwortet nicht. Bitte die Internetverbindung prüfen und erneut versuchen.'),
'network.outcome_unknown': PosText('Der Server hat nicht geantwortet, der Vorgang kann trotzdem gebucht sein. Bitte vor einem neuen Versuch prüfen, ob der letzte Vorgang schon gebucht ist.'),
'server.unexpected': PosText('Der Server hat unerwartet geantwortet (HTTP {status}). Bitte den Support verständigen.', placeholders: ['status']),
'server.connection_disturbed': PosText('Die Verbindung zum Kassenserver ist gestört. Bitte kurz warten und erneut versuchen.'),
'server.response_unreadable': PosText('Die Antwort des Kassenservers war nicht lesbar. Bitte die Kasse neu öffnen und vor einem neuen Versuch prüfen, ob der letzte Vorgang schon gebucht ist.'),
'pairing.code_missing': PosText('Bitte den Kopplungs-Code eingeben.'),
'pairing.failed': PosText('Die Kopplung ist fehlgeschlagen. Bitte erneut versuchen.'),
'pairing.incomplete': PosText('Die Kopplung ist unvollständig zurückgekommen. Bitte im Panel einen neuen Code erzeugen und noch einmal versuchen.'),
'device.browser_storage': PosText('Dieses Gerät konnte nicht gespeichert werden – der Browser-Speicher steht nicht zur Verfügung. Bitte den privaten Modus verlassen.', only: [PosSurface.web]),
'login.pin_missing': PosText('Bitte die PIN eingeben.'),
'login.failed': PosText('Die Anmeldung ist fehlgeschlagen. Bitte erneut versuchen.'),
'login.not_completed': PosText('Die Anmeldung konnte nicht abgeschlossen werden. Bitte erneut versuchen.'),
'login.completing': PosText('Anmeldung wird gerade abgeschlossen – bitte gleich noch einmal drücken.'),
'session.expired': PosText('Die Sitzung ist abgelaufen. Bitte erneut anmelden.'),
'session.expired_offline': PosText('Keine Verbindung zum Server – die Sitzung ist abgelaufen. Bitte erneut anmelden.'),
'session.none': PosText('Keine Sitzung.'),
'session.logging_out': PosText('Kasse meldet in {seconds} s ab – Bildschirm berühren, um weiterzuarbeiten.', placeholders: ['seconds']),
'logout.press_again': PosText('Noch einmal drücken beendet die Schicht an dieser Kasse.'),
'permissions.not_changeable': PosText('Das darfst du nicht ändern – das Recht dafür vergibt der Inhaber im Panel.'),
'cashregister.load_failed': PosText('Die Kasse konnte nicht geladen werden.'),
'articles.load_failed': PosText('Die Artikel konnten nicht geladen werden.'),
'articles.none_enabled': PosText('Keine Artikel an dieser Kasse. Im Panel unter „Kacheln & Gruppen“ freischalten.'),
'articles.none_found': PosText('Keine Artikel gefunden.'),
'articles.vat_rate_unknown': PosText('„{name}“ hat einen Steuersatz, den die Kasse nicht kennt.', placeholders: ['name']),
'item.amount_missing': PosText('Bitte einen Betrag eingeben.'),
'item.description_missing': PosText('Bitte eine Bezeichnung eingeben – sie steht am Beleg.'),
'discount.percent_invalid': PosText('Bitte einen Prozentwert zwischen 0,1 und 100 eingeben.'),
'checkout.nothing_entered': PosText('Noch nichts erfasst – bitte zuerst eine Position aufnehmen.'),
'checkout.tendered_missing': PosText('Erst eintippen, was der Gast gibt – der Rückgeld-Rechner ist an.'),
'checkout.tendered_too_little': PosText('Gegeben ist weniger als der Betrag.'),
'checkout.locked': PosText('Kassieren gesperrt: {reason}', placeholders: ['reason']),
'tip.over_half': PosText('Über 50 % Trinkgeld – wirklich? Steuerfrei ist nur ortsübliches Trinkgeld.'),
'completion.failed': PosText('Der Abschluss ist fehlgeschlagen.'),
'completion.unknown': PosText('Unklar, ob der Beleg entstanden ist – die Antwort kam nicht an. Bitte nicht noch einmal abschließen: der Beleg kann bereits erstellt und signiert sein. Im Panel unter „Belege“ nachsehen; nur wenn er dort fehlt, den Verkauf erneut abschließen.'),
'completion.zero_receipt_failed': PosText('Der Nullbeleg konnte nicht erstellt werden.'),
'completion.signature_down': PosText('Die Signatureinheit hat nicht geantwortet. Der Beleg ist gültig und trägt den Vermerk „Sicherheitseinrichtung ausgefallen“.'),
'completion.resolve_question': PosText('Nur erledigen, wenn der Beleg in der Belegliste steht – sonst bleiben {amount} ohne Beleg. Bitte zuerst unter „Belege“ nachsehen.', placeholders: ['amount']),
'card_payment.not_possible': PosText('Kartenzahlung nicht möglich.'),
'card_payment.not_completed': PosText('Die Kartenzahlung ist nicht zustande gekommen.'),
'card_payment.not_started': PosText('Kartenzahlung nicht gestartet: {reason}', placeholders: ['reason']),
'card_payment.unknown': PosText('Unklar, ob die Kartenzahlung durchgegangen ist – die Verbindung zum Terminal riss ab. Bitte am Terminal-Beleg nachsehen, BEVOR neu kassiert wird: die Karte kann belastet sein.'),
'card_payment.unknown_with_id': PosText('Unklar, ob die Kartenzahlung durchgegangen ist – die Verbindung zum Terminal riss ab. Bitte am Terminal-Beleg nachsehen, BEVOR neu kassiert wird: die Karte kann belastet sein. Kennung der Zahlung: {reference}.', placeholders: ['reference']),
'card_payment.waiting_for_terminal': PosText('Bitte am Terminal fortfahren …'),
'card_payment.terminal_cancelling': PosText('Das Terminal bricht gleich von selbst ab …'),
'card_payment.card_charged_receipt_open': PosText('Die Karte ist bereits mit {amount} belastet (Kennung {reference}) – der Beleg dazu fehlt noch. Bitte jetzt den Beleg erstellen und nicht erneut kassieren.', placeholders: ['amount', 'reference']),
'card_payment.card_charged_cart_changed': PosText('Es gibt eine gebuchte Kartenzahlung über {amount} (Kennung {reference}), aber der Korb hat sich seither geändert. Bitte zuerst entscheiden: den Beleg zur gebuchten Zahlung erstellen oder die Zahlung am Terminal stornieren und hier verwerfen.', placeholders: ['amount', 'reference']),
'card_payment.connect_not_connected': PosText('Kartenzahlung nicht möglich: Kasseneck Connect ist nicht verbunden – Einstellungen → Kasseneck Connect.', only: [PosSurface.web]),
'card_payment.cart_locked_card_charged': PosText('Die Karte ist bereits belastet – Warenkorb, Rabatt und Trinkgeld bleiben gesperrt, bis der Beleg entsteht oder die Karte zurückerstattet ist.'),
'card_payment.unpair_card_charged': PosText('Auf diesem Gerät liegt noch eine gebuchte Kartenzahlung ohne Beleg – sie muss von Hand am Terminal zurückerstattet werden (Betrag siehe unten).'),
'terminal.none_found': PosText('Kein Hobex-Terminal gefunden – ist es eingeschaltet und im selben Netz wie dieser Rechner?', only: [PosSurface.web]),
'terminal.not_ready': PosText('Terminal antwortet, ist aber nicht betriebsbereit: {response} – TID prüfen.', placeholders: ['response'], only: [PosSurface.web]),
'gptom.app_missing': PosText('Die GP-Tom-App ist auf diesem Gerät nicht da.', only: [PosSurface.app]),
'gptom.search_failed': PosText('GP Tom: Suche nach der App fehlgeschlagen: {reason}', placeholders: ['reason'], only: [PosSurface.app]),
'gptom.payment_failed': PosText('GP Tom: Zahlung fehlgeschlagen: {reason}', placeholders: ['reason'], only: [PosSurface.app]),
'gptom.terminal_not_responding': PosText('Das Terminal hat nicht geantwortet: {reason}', placeholders: ['reason'], only: [PosSurface.app]),
'gptom.payment_not_completed': PosText('Die Zahlung wurde nicht abgeschlossen ({code}).', placeholders: ['code'], only: [PosSurface.app]),
'gptom.declined': PosText('Das Terminal hat die Zahlung abgelehnt.', only: [PosSurface.app]),
'gptom.declined_with_code': PosText('Das Terminal hat die Zahlung abgelehnt ({code}).', placeholders: ['code'], only: [PosSurface.app]),
'gptom.not_opened': PosText('GP Tom ließ sich nicht öffnen – bitte die GP-Tom-App prüfen und erneut versuchen.', only: [PosSurface.app]),
'gptom.timeout': PosText('Das Terminal hat in der Frist nicht geantwortet – die Karte kann belastet sein. Bitte am Terminal-Beleg nachsehen, BEVOR neu kassiert wird.', only: [PosSurface.app]),
'gptom.timeout_with_id': PosText('Das Terminal hat in der Frist nicht geantwortet – die Karte kann belastet sein. Bitte am Terminal-Beleg nachsehen, BEVOR neu kassiert wird. Kennung der Zahlung: {reference}.', placeholders: ['reference'], only: [PosSurface.app]),
'log.empty': PosText('Noch keine Einträge – das Protokoll füllt sich mit der ersten Kartenzahlung.'),
'log.copied': PosText('Das Protokoll liegt in der Zwischenablage.'),
'receipts.load_failed': PosText('Die Belege konnten nicht geladen werden.'),
'receipts.none_in_period': PosText('Keine Belege in diesem Zeitraum.'),
'receipt.load_failed': PosText('Der Beleg konnte nicht geladen werden.'),
'receipt.not_found': PosText('Der Beleg wurde nicht gefunden.'),
'cancellation.failed': PosText('Das Storno ist fehlgeschlagen.'),
'cancellation.reason_missing': PosText('Bitte einen Grund wählen.'),
'cancellation.item_missing': PosText('Bitte mindestens eine Position wählen.'),
'cancellation.payments_missing': PosText('Dieser Beleg wurde in mehreren Zahlungen bezahlt – bitte angeben, wie zurückgegeben wird.'),
'cancellation.refund_too_high': PosText('Eine Rückgabe ist höher als der Rest ihrer Zahlung – bitte die Beträge prüfen.'),
'cancellation.refund_without_reference': PosText('Eine Rückgabe nennt keine Zahlung des Belegs – bitte das Storno neu beginnen.'),
'cancellation.refund_reference_unknown': PosText('Eine Rückgabe nennt eine Zahlung, die es am Beleg nicht gibt – bitte das Storno neu beginnen.'),
'cancellation.outcome_unknown': PosText('Unklar, ob das Storno entstanden ist – es kann bereits signiert sein. Bitte nicht erneut stornieren, sondern die Belegliste in ein paar Minuten neu laden.'),
'cancellation.sum_mismatch': PosText('Die Rückgaben ergeben nicht den Betrag des Stornos – bitte die Beträge prüfen.'),
'cancellation.refund_cards': PosText('Das Storno ist gebucht – bitte jede Karte unten am Terminal gutschreiben und abhaken.'),
'cancellation.outcome_unknown_cards': PosText('Unklar, ob das Storno entstanden ist – es kann bereits signiert sein. Bitte nicht erneut stornieren und noch keine Karte gutschreiben, sondern die Belegliste in ein paar Minuten neu laden. Steht das Storno dort, die Karten laut Storno-Beleg am Terminal gutschreiben.'),
'cancellation.cards_not_checked': PosText('Noch ist nicht jede Karte abgehakt – bitte jede am Terminal gutschreiben. Ist das schon geschehen, zum Schließen noch einmal drücken.'),
'cancellation.input_rejected': PosText('Die Eingabe wurde abgelehnt – bitte das Storno neu beginnen.'),
'split.setting_hint': PosText('Ein Tisch zahlt in Teilen: jede Zahlung bar oder mit Karte, mit eigenem Trinkgeld – am Ende ein Beleg für alles.'),
'split.amount_over_open': PosText('Der Betrag ist höher als offen – höchstens {amount}.', placeholders: ['amount']),
'split.tip_over_amount': PosText('Das Trinkgeld ist höher als der Betrag dieser Zahlung.'),
'split.tendered_too_little': PosText('Gegeben ist weniger als der Betrag dieser Zahlung.'),
'split.still_open': PosText('Es sind noch {amount} offen – abschließen geht erst, wenn alles kassiert ist.', placeholders: ['amount']),
'split.sum_mismatch': PosText('Die Zahlungen ergeben nicht den Betrag des Belegs – bitte die Liste prüfen.'),
'split.cart_locked': PosText('Der Warenkorb ist gesperrt, solange Zahlungen kassiert sind – erst abschließen oder die Zahlungen entfernen.'),
'split.switch_locked': PosText('Zurück zu Bar oder Karte geht erst, wenn keine Zahlung mehr kassiert ist.'),
'split.return_cash': PosText('Bitte {amount} Bargeld an den Gast zurückgeben.', placeholders: ['amount']),
'split.card_reverse_running': PosText('Die Kartenzahlung über {amount} wird am Terminal zurückgebucht …', placeholders: ['amount']),
'split.card_reversed': PosText('Die Kartenzahlung über {amount} ist am Terminal zurückgebucht.', placeholders: ['amount']),
'split.card_reverse_failed': PosText('Die Kartenzahlung über {amount} (Kennung {reference}) ließ sich nicht zurückbuchen – sie bleibt in der Liste. Bitte am Terminal-Beleg nachsehen und erneut versuchen.', placeholders: ['amount', 'reference']),
'split.card_reverse_unknown': PosText('Unklar, ob die Rückbuchung über {amount} (Kennung {reference}) durchgegangen ist – die Zahlung bleibt in der Liste. Bitte am Terminal-Beleg nachsehen, BEVOR erneut zurückgebucht wird.', placeholders: ['amount', 'reference']),
'split.card_already_reversed': PosText('Das Terminal meldet, dass die Kartenzahlung über {amount} bereits gutgeschrieben wurde (Kennung {reference}) – bitte am Terminal-Beleg prüfen und nicht erneut zurückbuchen.', placeholders: ['amount', 'reference']),
'split.external_reverse': PosText('Diese Karte ist nicht an die Kasse angebunden. Bitte {amount} jetzt am Terminal zurückbuchen und danach bestätigen.', placeholders: ['amount']),
'split.session_open': PosText('Eine getrennte Zahlung ist nicht abgeschlossen, {amount} sind schon kassiert. Bitte weiter kassieren oder alles zurückbuchen.', placeholders: ['amount']),
'split.session_unreadable': PosText('Eine gespeicherte getrennte Zahlung auf diesem Gerät ließ sich nicht lesen – bitte prüfen, ob schon Karten belastet wurden (Kasseneck-Panel oder Terminal), und offene Beträge von Hand ausgleichen.'),
'split.storage_failed': PosText('Die getrennte Zahlung ließ sich auf diesem Gerät nicht speichern – bitte die Kasse bis zum Abschluss dieses Belegs nicht neu laden, sonst stehen belastete Karten womöglich nicht mehr in der Liste.'),
'split.too_many_payments': PosText('Ein Beleg lässt höchstens 20 Zahlungen zu.'),
'split.unpair_open_cards': PosText('Auf diesem Gerät ist noch eine getrennte Zahlung mit belasteten Karten offen – sie müssen von Hand am Terminal zurückgebucht werden (Beträge siehe unten).'),
'split.items_locked': PosText('Nach Positionen geht nicht mehr – eine Zahlung ist schon als Betrag kassiert.'),
'split.select_items': PosText('Bitte zuerst antippen, was dieser Gast zahlt.'),
'split.tendered_missing': PosText('Erst eintippen, was der Gast für diese Zahlung gibt – der Rückgeld-Rechner ist an.'),
'receipt.link_copied': PosText('Der Link zum Beleg liegt in der Zwischenablage.'),
'receipt.share_text': PosText('Beleg {number} von {business} über {amount}: {link}', placeholders: ['business', 'number', 'amount', 'link']),
'receipt.not_shareable': PosText('Für diesen Beleg gibt es keinen Link – er stammt aus einer älteren Kasse.'),
'receipt.test_hint_share': PosText('Test-Umgebung – der Beleg ist steuerlich nicht gültig.'),
'receipt.mail_sent': PosText('Der Beleg wurde an {recipient} gesendet.', placeholders: ['recipient']),
'receipt.mail_address_invalid': PosText('Diese E-Mail-Adresse ist nicht gültig.'),
'receipt.mail_too_often': PosText('Dieser Beleg wurde schon oft gesendet – bitte später noch einmal.'),
'receipt.mail_failed': PosText('Der Beleg konnte nicht gesendet werden. Bitte noch einmal versuchen.'),
'receipt.mail_not_found': PosText('Dieser Beleg wurde nicht gefunden – er konnte nicht gesendet werden.'),
'print.failed': PosText('Der Ausdruck ist fehlgeschlagen.'),
'print.not_possible': PosText('Druck nicht möglich: {reason}', placeholders: ['reason']),
'print.test_print_failed': PosText('Der Testdruck ist fehlgeschlagen.'),
'print.test_print_not_possible': PosText('Der Testdruck ist fehlgeschlagen: {reason}', placeholders: ['reason']),
'print.no_printer': PosText('Kein Bondrucker eingerichtet – in den Einstellungen unter Drucker & Lade.'),
'print.printer_unreachable': PosText('Drucker nicht erreichbar.'),
'print.job_expired': PosText('Drucker hat den Beleg nicht abgeholt (abgelaufen).', only: [PosSurface.web]),
'print.no_printer_found': PosText('Kein Drucker gefunden – ist er eingeschaltet und im selben Netz wie dieser Rechner?', only: [PosSurface.web]),
'print.chrome_only': PosText('{channel}-Druck geht nur in Chrome oder Edge (Windows, Mac, Android) – nicht in Safari und nicht am iPad.', placeholders: ['channel'], only: [PosSurface.web]),
'print.no_printer_for_channel': PosText('Kein {channel}-Drucker verbunden – „{channel}-Drucker verbinden“ und den Drucker im Dialog wählen.', placeholders: ['channel'], only: [PosSurface.web]),
'print.wizard_connect': PosText('Verbinde mit {name} …', placeholders: ['name']),
'print.wizard_test_print_question': PosText('Ist der Testdruck gekommen?'),
'print.wizard_qr_question': PosText('Welcher QR-Code ist sauber gedruckt?'),
'print.wizard_qr_none_hint': PosText('Kein QR-Code kam sauber – der Beleg zeigt den QR-Code dann am Bildschirm.'),
'print.wizard_nothing_arrived': PosText('Nichts gekommen? Drucker an, Papier drin, richtiges Gerät gewählt?'),
'print.wizard_saved': PosText('{name} ist eingerichtet.', placeholders: ['name']),
'print.wizard_cancelled': PosText('Nichts gespeichert.'),
'codetable.question': PosText('In welcher Zeile steht kein falsches Zeichen?'),
'codetable.question_hint': PosText('Lücken sind in Ordnung.'),
'codetable.instruction': PosText('Die Zeile, in der KEIN falsches Zeichen steht. Eine Lücke ist in Ordnung. Passen mehrere, die mit den wenigsten Lücken.'),
'codetable.instruction_none': PosText('Passt keine: {number}.', placeholders: ['number']),
'bluetooth.off': PosText('Bluetooth ist ausgeschaltet. Bitte einschalten und erneut suchen.', only: [PosSurface.app]),
'bluetooth.permission_missing': PosText('Bitte die Freigabe in den Geräte-Einstellungen erteilen.', only: [PosSurface.app]),
'bluetooth.search_failed': PosText('Die Suche ist fehlgeschlagen: {reason}', placeholders: ['reason'], only: [PosSurface.app]),
'connect.not_responding': PosText('Kasseneck Connect antwortet nicht – läuft das Programm auf diesem Rechner?', only: [PosSurface.web]),
'connect.code_expired': PosText('Der Kopplungs-Code ist abgelaufen – im Agent einen neuen erzeugen („kasseneck-connect pair“).', only: [PosSurface.web]),
'connect.too_many_attempts': PosText('Zu viele Fehlversuche – eine Minute warten und noch einmal versuchen.', only: [PosSurface.web]),
'connect.printer_not_responding': PosText('Der Drucker antwortet nicht – Strom, Netzwerk und IP prüfen.', only: [PosSurface.web]),
'connect.not_paired': PosText('Diese Kasse ist mit Kasseneck Connect nicht gekoppelt – in den Einstellungen „Koppeln“ drücken.', only: [PosSurface.web]),
'connect.printer_unknown': PosText('Diesen Drucker kennt Kasseneck Connect nicht (mehr) – bitte neu suchen.', only: [PosSurface.web]),
'connect.origin_not_allowed': PosText('Kasseneck Connect nimmt von dieser Adresse nichts an (Ursprung nicht freigegeben).', only: [PosSurface.web]),
'connect.not_installed': PosText('Kasseneck Connect nicht gefunden – bitte installieren.', only: [PosSurface.web]),
'connect.unpair_question': PosText('Diesen Browser wirklich von Connect trennen? Der Bondruck geht dann nicht mehr.', only: [PosSurface.web]),
'settings.load_failed': PosText('Die Einstellungen konnten nicht geladen werden.'),
'settings.save_failed': PosText('Die Einstellung konnte nicht gespeichert werden.'),
'settings.not_loaded_yet': PosText('Noch nicht geladen – bitte kurz warten oder neu anmelden.'),
'settings.ip_invalid': PosText('Keine gültige IP-Adresse (z. B. 192.168.1.50).'),
'unpairing.failed': PosText('Entkoppeln fehlgeschlagen.'),
'logo.upload_failed': PosText('Hochladen fehlgeschlagen.'),
'logo.remove_failed': PosText('Entfernen fehlgeschlagen.'),
'stocktake.none_open': PosText('An diesem Standort läuft gerade keine Inventur. Eine Inventur legt der Inhaber im Panel an.'),
'stocktake.scan_or_search': PosText('Artikel scannen oder suchen.'),
'stocktake.counted': PosText('{name}: {quantity} gezählt.', placeholders: ['name', 'quantity']),
'stocktake.blind_hint': PosText('Blind zählen – die Kasse zeigt keinen Buchbestand. Bitte zählen, was wirklich da ist.'),
'stocktake.recount_hint': PosText('Bitte die markierten Positionen nachzählen.'),
'stocktake.unknown_code': PosText('Zu „{code}“ gibt es keinen Artikel. Bitte den Code prüfen oder den Artikel suchen.', placeholders: ['code']),
'stocktake.quantity_invalid': PosText('Bitte eine gültige Menge eingeben – höchstens drei Nachkommastellen, bei Stückware nur ganze Zahlen.'),
'stocktake.serials_capture': PosText('Bitte für jedes Stück die Seriennummer scannen.'),
'stocktake.serials_mismatch': PosText('Je Stück genau eine Seriennummer: {count} erfasst, {quantity} gezählt.', placeholders: ['count', 'quantity']),
'stocktake.reason_missing': PosText('Bitte einen Grund für das Stornieren eingeben.'),
'stocktake.outcome_unknown': PosText('Unklar, ob die Zählung angekommen ist. „Erneut senden“ schickt dieselbe Zählung – sie zählt auch dann nur einmal.'),
'app.not_in_browser': PosText('Die Kassen-App läuft nicht im Browser – dafür gibt es kasse.kasseneck.at.', only: [PosSurface.app]),
'app.open_in_browser': PosText('Bitte im Browser öffnen: {target}', placeholders: ['target'], only: [PosSurface.app]),
};