A local web app for a small room-rental business in Austria: guest register, room ledger, occupancy plan, invoices, the monthly tourist-tax report and the quarterly VAT list. Application code only; it ships no data. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
312 lines
15 KiB
JSON
312 lines
15 KiB
JSON
{
|
||
"app_title": "Zimmervermietung",
|
||
"nav_home": "Start",
|
||
"nav_register": "Gästeblätter",
|
||
"nav_ledger": "Zimmerbelegung",
|
||
"nav_invoices": "Rechnungen",
|
||
"nav_plan": "Belegungsplan",
|
||
|
||
"plan_title": "Belegungsplan",
|
||
"plan_today": "Heute",
|
||
"plan_prev_week": "Eine Woche zurück",
|
||
"plan_next_week": "Eine Woche weiter",
|
||
"plan_weeks_4": "4 Wochen",
|
||
"plan_weeks_8": "8 Wochen",
|
||
"plan_guests": "Heute: {guests} Gäste im Haus",
|
||
"plan_guests_one": "Heute: 1 Gast im Haus",
|
||
"plan_free": "{free} Betten frei",
|
||
"plan_free_one": "1 Bett frei",
|
||
"plan_pill_tip": "Belegte Betten heute / Betten gesamt",
|
||
"plan_longterm": "Dauervermietung",
|
||
"plan_longterm_short": "Dauer",
|
||
"plan_open": "offen",
|
||
"plan_legend_current": "wohnt gerade hier",
|
||
"plan_legend_past": "abgereist",
|
||
"plan_legend_future": "kommt noch",
|
||
"plan_legend_today": "heute",
|
||
"plan_no_room": "Ohne Zimmer eingetragen:",
|
||
|
||
"home_welcome": "Willkommen",
|
||
"home_intro": "Verwaltung der Gästeblätter, Zimmerbelegung und Rechnungen an einem Ort.",
|
||
"home_guests": "Gäste",
|
||
"home_stays": "Aufenthalte",
|
||
"home_invoices": "Rechnungen",
|
||
"home_open": "Offene Posten",
|
||
|
||
"register_title": "Gästeblätter",
|
||
"ledger_title": "Zimmerbelegung",
|
||
"invoices_title": "Rechnungen",
|
||
"clients_title": "Firmen & Kunden",
|
||
"nav_clients": "Firmen",
|
||
"nav_quality": "Datenprüfung",
|
||
"nav_tvb": "TVB-Meldung",
|
||
"nav_vat": "Umsatzsteuer",
|
||
"tvb_title": "Meldung Tourismusverband (Aufenthaltsabgabe)",
|
||
"tvb_intro": "Für den gewählten Monat, getrennt nach Betrieb: die Zimmerliste zur Kontrolle und darunter die fertigen Zahlen zum Eintippen in Feratel (Sammelmeldung, jeweils Personen/Nächte). Personen = neue Gästeblätter in diesem Monat.",
|
||
"tvb_month": "Monat",
|
||
"tvb_number": "Betriebsnummer",
|
||
"tvb_detail": "Zimmerliste (zur Kontrolle)",
|
||
"tvb_feratel": "Für Feratel",
|
||
"tvb_pflichtig": "Pflichtige",
|
||
"tvb_frei": "Freie",
|
||
"tvb_col_land": "Land",
|
||
"tvb_col_gb_new": "GB neu",
|
||
"tvb_col_stay": "Aufenthalt (Nächte gesamt)",
|
||
"tvb_col_nights_month": "Nächte im Monat",
|
||
"tvb_col_pn": "Personen/Nächte",
|
||
"tvb_col_note": "Hinweis",
|
||
"tvb_status_frei": "frei",
|
||
"tvb_status_pflichtig": "pflichtig",
|
||
"tvb_total": "Monat Gesamt",
|
||
"tvb_betrag": "Zu erwartende Abgabe",
|
||
"tvb_new_sheets": "Kontrolle: neue Gästeblätter in diesem Monat",
|
||
"tvb_warnings": "Bitte prüfen",
|
||
"tvb_empty": "Keine Nächtigungen in diesem Monat.",
|
||
"quality_title": "Datenprüfung",
|
||
"quality_intro": "Hinweise auf Lücken, Unstimmigkeiten und Doppeleinträge in den Daten.",
|
||
"quality_gaps": "Auffälligkeiten in den Daten",
|
||
"gap_depart_before_arrival": "Abreise liegt vor der Anreise",
|
||
"gap_charges_without_money": "Belegungen ohne Betrag",
|
||
"gap_client_without_address": "Firma ohne Adresse — eine Rechnung an sie würde unvollständig gedruckt",
|
||
"gap_address_has_name": "Adresse enthält Firmennamen-Teil (Adresszeile prüfen)",
|
||
"gap_implausible_qty": "Unmögliche Anzahl/Betrag (Tippfehler?)",
|
||
"gap_rnr_unlinked": "Rechnungs-Nr. ohne zugeordnete Rechnung",
|
||
"gap_duplicate_numbers": "Doppelte Rechnungsnummern",
|
||
"gap_number_year": "Rechnungsnummer passt nicht zum Datum",
|
||
"gap_open_items": "Offene Posten (alt)",
|
||
"gap_no_departure": "Gäste ohne Abreisedatum",
|
||
"gap_tvb_stale_open": "Gästeblatt seit über 1 Jahr ohne Abreise (zählt in der TVB-Meldung nicht mit)",
|
||
"gap_register_ledger": "Gästeblatt-Dauer passt nicht zur Zimmerbelegung (gleicher Name, andere Zeiten)",
|
||
"gap_gb_ref_unknown": "Gästeblatt-Nr. in der Zimmerbelegung, die es in der Gästeblätter-Liste nicht gibt",
|
||
"btn_dismiss": "Passt so",
|
||
"gap_never_billed": "Abgereister Gast ohne Verrechnung in der Zimmerbelegung (vergessen oder anders geschrieben?)",
|
||
"gap_betrag_formula": "Betrag passt weder zu Anzahl × Satz noch zu Anzahl × Satz × Personen (Tippfehler oder Rabatt?)",
|
||
"err_departure_before_arrival": "Abreise liegt vor der Anreise — bitte Datum prüfen.",
|
||
"quality_suggestions": "Mögliche Doppeleinträge (zusammenführen?)",
|
||
"quality_suggestions_hint": "Diese Einträge sehen sehr ähnlich aus. Zusammenführen nur, wenn es wirklich dasselbe ist – nichts geht dabei verloren.",
|
||
"quality_no_company_suggestions": "Keine ähnlichen Firmennamen gefunden.",
|
||
"quality_guest": "Gast",
|
||
"form_edit_client": "Firma bearbeiten",
|
||
"col_kind": "Typ",
|
||
"kind_company": "Firma",
|
||
"kind_private": "Privat",
|
||
"col_address_current": "Aktuelle Adresse",
|
||
"col_versions": "Adressen",
|
||
"lbl_known_spellings": "Bekannte Schreibweisen",
|
||
"lbl_addresses": "Adressen im Zeitverlauf (alte Rechnungen behalten ihre alte Adresse)",
|
||
"lbl_address_current": "Aktuell",
|
||
"lbl_new_address": "Neue Adresse (Umzug / weiterer Standort)",
|
||
"lbl_use_from_now": "Ab jetzt für neue Rechnungen verwenden",
|
||
"btn_add_address": "Adresse hinzufügen",
|
||
"lbl_merge": "Mit anderer Firma zusammenführen",
|
||
"lbl_merge_into": "Diese Firma ist dasselbe wie",
|
||
"merge_hint": "Alle Einträge und Schreibweisen wandern zur ausgewählten Firma. Nichts geht verloren.",
|
||
"btn_merge": "Zusammenführen",
|
||
"confirm_merge": "Wirklich zusammenführen?",
|
||
"lbl_edit_address": "Adresse bearbeiten",
|
||
"btn_make_current": "Als aktuelle Adresse",
|
||
"confirm_delete_address": "Diese Adresse wirklich löschen?",
|
||
"lbl_current_address_short": "aktuelle Adresse",
|
||
"err_address_has_refs": "Adresse kann nicht gelöscht werden: Es hängen noch Aufenthalte oder Rechnungen daran.",
|
||
"err_address_last": "Die letzte Adresse einer Firma kann nicht gelöscht werden — dann lieber die ganze Firma löschen.",
|
||
"lbl_delete_company": "Firma löschen",
|
||
"delete_company_hint": "Nur möglich, wenn keine Aufenthalte oder Rechnungen an dieser Firma hängen. Gibt es welche, führe sie stattdessen mit der richtigen Firma zusammen.",
|
||
"btn_delete_company": "Firma löschen",
|
||
"confirm_delete_company": "Diese Firma wirklich löschen?",
|
||
"err_company_has_refs": "Firma kann nicht gelöscht werden: Es hängen noch Aufenthalte oder Rechnungen daran. Bitte stattdessen zusammenführen.",
|
||
"hws_full": "Hauptwohnsitz",
|
||
"hws_none": "Nebenwohnsitz",
|
||
|
||
"search": "Suchen",
|
||
"search_placeholder": "Name, Firma, Zimmer …",
|
||
"no_results": "Keine Einträge gefunden.",
|
||
"showing_count": "{count} Einträge",
|
||
|
||
"col_name": "Name",
|
||
"col_lastname": "Nachname",
|
||
"col_firstname": "Vorname",
|
||
"col_birth": "Geburtsdatum",
|
||
"col_nationality": "Staatsbürgerschaft",
|
||
"col_room": "Zimmer",
|
||
"col_unit": "Einheit",
|
||
"col_arrival": "Anreise",
|
||
"col_departure": "Abreise",
|
||
"filter_stay": "Aufenthalt",
|
||
"filter_persons": "Personen",
|
||
"filter_year": "Jahr",
|
||
"filter_still_here": "noch da",
|
||
"filter_departed": "abgereist",
|
||
"col_days": "Tage",
|
||
"col_residence": "Wohnsitz",
|
||
"col_tourism_liable": "Abgabe",
|
||
"col_employer_address": "Firmenadresse",
|
||
"col_employer": "Arbeitgeber",
|
||
"col_document": "Dokument",
|
||
"col_docnr": "Dokument-Nr.",
|
||
"col_profession": "Beruf",
|
||
"col_sheetno": "Gästeblatt-Nr.",
|
||
"col_address": "Adresse",
|
||
"col_postcode": "PLZ",
|
||
"col_city": "Ort",
|
||
"col_country": "Land",
|
||
"col_phone": "Telefon",
|
||
"col_notes_long": "Bemerkung",
|
||
"hd_room": "Zi",
|
||
"hd_gb": "GB",
|
||
"hd_qty": "Anz",
|
||
"hd_persons": "Pers",
|
||
"hd_payer": "Zlg. durch",
|
||
"hd_invoice": "RNr.",
|
||
"hd_invoice_date": "Re vom",
|
||
"hd_paid_date": "bez. am",
|
||
"col_period": "Zeitraum",
|
||
"col_from": "Von",
|
||
"col_to": "Bis",
|
||
"col_gb": "Gästeblatt",
|
||
"col_occupant": "Name",
|
||
"col_persons": "Personen",
|
||
"col_qty": "Anzahl",
|
||
"col_rate": "Satz",
|
||
"col_amount": "Betrag",
|
||
"col_invoice_total": "Rechnungssumme",
|
||
"col_tourism_tax": "Ortstaxe",
|
||
"col_payer": "Zahlung durch",
|
||
"col_art": "Art",
|
||
"col_invoice": "Rechnungs-Nr.",
|
||
"col_invoice_date": "Rechnungsdatum",
|
||
"col_paid_date": "Bezahlt am",
|
||
"col_notes": "Bemerkung",
|
||
"col_payment": "Bezahlt",
|
||
"col_client": "Kunde",
|
||
"col_date": "Datum",
|
||
"col_unit_type": "Einheit (Woche/Tag)",
|
||
"col_gross_per_unit": "Brutto pro Einheit",
|
||
"col_tourism": "Ortstaxe",
|
||
|
||
"payment_paid": "Bezahlt",
|
||
"payment_open": "OFFEN",
|
||
"payment_cash": "Bar/direkt",
|
||
"payment_part": "({paid} bezahlt, {open} offen)",
|
||
"lbl_payments": "Zahlungen in Teilen (Datum und Betrag)",
|
||
"hint_payments": "Nur wenn in Teilen bezahlt wurde. Decken die Zahlungen zusammen Betrag + Ortstaxe, ist die Zeile bezahlt (am Tag der letzten Zahlung) — sonst bleibt sie OFFEN.",
|
||
"btn_add_payment": "+ weitere Zahlung",
|
||
"payment_unknown": "—",
|
||
"payment_unknown_label": "keine Angabe",
|
||
|
||
"btn_remove_line": "Zeile entfernen",
|
||
"btn_add_stay": "Neuer Gast",
|
||
"btn_add_ledger": "Neue Belegung",
|
||
"btn_new_invoice": "Neue Rechnung",
|
||
"btn_edit": "Bearbeiten",
|
||
"btn_save": "Speichern",
|
||
"btn_cancel": "Abbrechen",
|
||
"btn_delete": "Löschen",
|
||
"btn_back": "Zurück",
|
||
"btn_print": "Drucken",
|
||
"btn_open": "Öffnen",
|
||
"btn_regenerate": "Neu generieren",
|
||
"btn_continue": "Speichern und weiterführen",
|
||
"hint_continue": "Rechnet bis zum Datum bei 'Bis' ab und legt eine neue Zeile ab diesem Tag an — für Gäste, die bleiben.",
|
||
"msg_continued": "Neue Zeile ab {date} angelegt — der Gast bleibt.",
|
||
"msg_rows_follow_invoice": "Die Zimmerbelegung wurde an die Rechnung angepasst: {fixed} Zeile(n) ausgebessert, {new} neue Zeile(n).",
|
||
"err_continue_needs_date": "Bitte zuerst bei 'Bis' das Datum eintragen, bis zu dem abgerechnet wird.",
|
||
"btn_room_change": "Speichern und Zimmerwechsel",
|
||
"hint_room_change": "Die Abreise ist der Tag des Wechsels. Danach öffnet sich ein neues Gästeblatt mit derselben Nummer, schon ausgefüllt — nur das neue Zimmer wählen.",
|
||
"err_room_change_needs_date": "Bitte zuerst bei 'Abreise' den Tag des Zimmerwechsels eintragen.",
|
||
"form_room_change": "Zimmerwechsel – neues Gästeblatt mit derselben Nummer",
|
||
"note_room_change": "Zimmerwechsel von Zimmer {room}",
|
||
"msg_room_changed": "Zimmerwechsel eingetragen — die Zimmerbelegung läuft ab {date} in Zimmer {room} weiter, zum bisherigen Preis.",
|
||
"btn_payment": "Zahlung",
|
||
"btn_take_over": "Übernehmen",
|
||
"pin_tip": "Spalte fixieren (bleibt beim Blättern links stehen)",
|
||
"unpin_tip": "Fixierung aufheben",
|
||
|
||
"form_new_stay": "Neuer Gast / Aufenthalt",
|
||
"form_edit_stay": "Aufenthalt bearbeiten",
|
||
"form_new_ledger": "Neue Belegung",
|
||
"form_edit_ledger": "Belegung bearbeiten",
|
||
"form_new_invoice": "Neue Rechnung",
|
||
"form_edit_invoice": "Rechnung bearbeiten",
|
||
"form_payment": "Zahlung eintragen – Rechnung {number}",
|
||
|
||
"lbl_unit": "Einheit",
|
||
"lbl_room": "Zimmer",
|
||
"lbl_client": "Kunde / Firma",
|
||
"lbl_invoice_no": "Rechnungsnummer",
|
||
"lbl_invoice_date": "Rechnungsdatum",
|
||
"lbl_paid_date": "Bezahlt am",
|
||
"lbl_payment_method": "Zahlung durch (Bank / bar / Firma)",
|
||
"lbl_payment_from_ledger": "Laut Zimmerbelegung",
|
||
"lbl_invoice_note": "Rechnungstext (Zahlungshinweis / Vermerk)",
|
||
"invoice_note_default": "Bitte überweisen Sie den Rechnungsbetrag innerhalb von 8 Tagen auf das u.a. Konto.",
|
||
"lbl_select_charges": "Zu verrechnende Belegungen auswählen",
|
||
|
||
"err_required": "Bitte ausfüllen: {field}",
|
||
"err_number": "Bitte eine Zahl eingeben: {field}",
|
||
"err_number_taken": "Rechnungsnummer {number} ist bereits vergeben.",
|
||
"warn_order_smaller": "Achtung, nicht gespeichert: Die Rechnung {other} hat eine kleinere Nummer, ist aber vom {other_date} – also später als {date}. Die Rechnungen müssen der Reihe nach datiert sein. Bitte Datum oder Nummer prüfen.",
|
||
"warn_order_larger": "Achtung, nicht gespeichert: Die Rechnung {other} hat eine höhere Nummer, ist aber schon vom {other_date} – also früher als {date}. Die Rechnungen müssen der Reihe nach datiert sein. Bitte Datum oder Nummer prüfen.",
|
||
"lbl_confirm_order": "Das Datum stimmt trotzdem – so speichern",
|
||
"warn_client_no_address": "Achtung, nicht gespeichert: Für den Kunden „{name}“ gibt es keine Adresse – die Rechnung hätte keine Anschrift. Bitte den richtigen Kunden wählen.",
|
||
"lbl_client_choices": "Für „{name}“ gibt es keine Adresse. Welche Firma ist gemeint? Anklicken, dann speichern:",
|
||
"lbl_client_unknown": "Für „{name}“ gibt es keine Adresse. Bitte die Firma zuerst unter Firmen mit Adresse anlegen – oder:",
|
||
"lbl_confirm_client": "Der Kunde stimmt trotzdem – ohne Adresse speichern",
|
||
"sum_label": "Summe",
|
||
"vat_title": "Umsatzsteuer-Voranmeldung",
|
||
"vat_intro": "Alle Eingänge des Quartals nach dem Tag, an dem bezahlt wurde – nach Zimmer geordnet, ohne Ortstaxe.",
|
||
"vat_quarter_n": "{n}. Quartal",
|
||
"vat_room_sum": "Summe Zimmer {room}",
|
||
"vat_empty": "Keine Eingänge in diesem Quartal.",
|
||
"vat_storno": "Storno – nicht steuerbar",
|
||
"vat_part": "Teilzahlung",
|
||
"period_until": "bis {date}",
|
||
"period_since": "ab {date}",
|
||
"vat_total_title": "Zusammenfassung",
|
||
"vat_total": "Eingänge gesamt",
|
||
"vat_storno_sum": "davon Stornogebühren (nicht steuerbar, ohne Umsatzsteuer)",
|
||
"vat_gross": "Brutto (10 %)",
|
||
"vat_tax": "Umsatzsteuer 10 %",
|
||
"vat_net": "Netto (10 %)",
|
||
"err_delete_blocked": "Kann nicht gelöscht werden – es hängen noch Buchungen daran.",
|
||
"err_not_found": "Eintrag nicht gefunden.",
|
||
"err_generic": "Etwas ist schiefgelaufen. Bitte nochmal versuchen.",
|
||
|
||
"confirm_delete": "Diesen Eintrag wirklich löschen?",
|
||
"confirm_regenerate": "Rechnung aus der Zimmerbelegung neu erstellen? Die bisherigen Rechnungszeilen werden ersetzt.",
|
||
"none": "—",
|
||
|
||
"col_uid": "UID",
|
||
"col_email": "E-Mail",
|
||
"col_address_private": "Adresse (privat)",
|
||
"col_gb_number": "Gästeblatt-Nr.",
|
||
"col_rate_per_unit": "Satz (€ pro Einheit)",
|
||
"col_amount_eur": "Betrag (€)",
|
||
"form_room": "Zimmer {room}",
|
||
"filter_all": "{col}: alle",
|
||
"yes": "Ja",
|
||
"no": "Nein",
|
||
"unit_types": {"week": "Woche", "day": "Tag", "night": "Nacht", "month": "Monat", "total": "gesamt"},
|
||
"line_kinds": {"stay": "Übernachtung", "storno": "Storno"},
|
||
"btn_add_line": "+ Zeile",
|
||
"btn_pdf": "Als PDF",
|
||
"btn_invoice_from_selection": "Rechnung aus Auswahl",
|
||
"hint_invoice_tourism": "Ortstaxe nur bei Aufenthalten ≤ 10 Nächten (sonst befreit).",
|
||
"plan_room": "Zi {number}",
|
||
"plan_sheet": "GB {number}",
|
||
"quality_more": "… {n} weitere",
|
||
"tvb_warn_nationality_used": "Kein Wohnsitz-Land eingetragen – Staatsbürgerschaft verwendet",
|
||
"tvb_warn_no_country": "Weder Wohnsitz-Land noch Staatsbürgerschaft eingetragen",
|
||
"tvb_warn_at_postcode": "Österreich ohne erkennbare PLZ – Bundesland unklar",
|
||
"tvb_warn_de_border": "PLZ {postcode} → {state} (Grenzgebiete bitte prüfen)",
|
||
"tvb_warn_de_postcode": "Deutsche PLZ fehlt oder unbekannt – Region unklar",
|
||
"tvb_warn_no_unit": "{name} (angereist {arrival}): kein Betrieb zuordenbar – NICHT mitgezählt. Bitte Zimmer im Gästeblatt eintragen.",
|
||
"tvb_note_still_here": "noch im Haus, erst {nights} Nächte – als frei angenommen (bleibt er ≤ 10 Nächte: Abreise eintragen → pflichtig)",
|
||
"months": ["Jänner", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
|
||
"months_short": ["Jän.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez."],
|
||
"weekdays_short": ["Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"],
|
||
"print_search": "Suche: {q}",
|
||
"print_rows": "{n} Zeilen",
|
||
"print_rows_one": "1 Zeile",
|
||
"print_date": "gedruckt am {date}"
|
||
}
|