feat: enhance accessibility and testing with data-test attributes and improve error handling
This commit is contained in:
71
apps/web/i18n/messages/de/bookings.json
Normal file
71
apps/web/i18n/messages/de/bookings.json
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"nav": {
|
||||
"bookings": "Buchungen",
|
||||
"calendar": "Kalender",
|
||||
"rooms": "Zimmer",
|
||||
"guests": "Gäste",
|
||||
"newBooking": "Neue Buchung"
|
||||
},
|
||||
"list": {
|
||||
"title": "Buchungen",
|
||||
"searchPlaceholder": "Gast oder Zimmer suchen...",
|
||||
"newBooking": "Neue Buchung",
|
||||
"noBookings": "Keine Buchungen vorhanden",
|
||||
"createFirst": "Erstellen Sie Ihre erste Buchung.",
|
||||
"activeBookings": "Aktive Buchungen",
|
||||
"guest": "Gast",
|
||||
"room": "Zimmer",
|
||||
"checkIn": "Check-in",
|
||||
"checkOut": "Check-out",
|
||||
"nights": "Nächte",
|
||||
"price": "Preis"
|
||||
},
|
||||
"detail": {
|
||||
"notFound": "Buchung nicht gefunden",
|
||||
"guestInfo": "Gastinformationen",
|
||||
"roomInfo": "Zimmerinformationen",
|
||||
"bookingDetails": "Buchungsdetails",
|
||||
"extras": "Extras"
|
||||
},
|
||||
"form": {
|
||||
"room": "Zimmer *",
|
||||
"selectRoom": "— Zimmer wählen —",
|
||||
"guest": "Gast",
|
||||
"checkIn": "Check-in *",
|
||||
"checkOut": "Check-out *",
|
||||
"adults": "Erwachsene",
|
||||
"children": "Kinder",
|
||||
"notes": "Notizen",
|
||||
"created": "Buchung erfolgreich erstellt",
|
||||
"errorCreating": "Fehler beim Erstellen"
|
||||
},
|
||||
"status": {
|
||||
"pending": "Ausstehend",
|
||||
"confirmed": "Bestätigt",
|
||||
"checked_in": "Eingecheckt",
|
||||
"checked_out": "Ausgecheckt",
|
||||
"cancelled": "Storniert",
|
||||
"no_show": "Nicht erschienen"
|
||||
},
|
||||
"rooms": {
|
||||
"title": "Zimmer",
|
||||
"newRoom": "Neues Zimmer",
|
||||
"noRooms": "Keine Zimmer vorhanden",
|
||||
"name": "Name",
|
||||
"type": "Typ",
|
||||
"capacity": "Kapazität",
|
||||
"price": "Preis/Nacht"
|
||||
},
|
||||
"guests": {
|
||||
"title": "Gäste",
|
||||
"newGuest": "Neuer Gast",
|
||||
"noGuests": "Keine Gäste vorhanden",
|
||||
"name": "Name",
|
||||
"email": "E-Mail",
|
||||
"phone": "Telefon",
|
||||
"bookings": "Buchungen"
|
||||
},
|
||||
"calendar": {
|
||||
"title": "Belegungskalender"
|
||||
}
|
||||
}
|
||||
120
apps/web/i18n/messages/de/courses.json
Normal file
120
apps/web/i18n/messages/de/courses.json
Normal file
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"nav": {
|
||||
"courses": "Kurse",
|
||||
"newCourse": "Neuer Kurs",
|
||||
"calendar": "Kalender",
|
||||
"categories": "Kategorien",
|
||||
"instructors": "Kursleiter",
|
||||
"locations": "Standorte",
|
||||
"statistics": "Statistiken"
|
||||
},
|
||||
"pages": {
|
||||
"coursesTitle": "Kurse",
|
||||
"newCourseTitle": "Neuer Kurs",
|
||||
"calendarTitle": "Kurskalender",
|
||||
"categoriesTitle": "Kurskategorien",
|
||||
"instructorsTitle": "Kursleiter",
|
||||
"locationsTitle": "Standorte",
|
||||
"statisticsTitle": "Kurs-Statistiken"
|
||||
},
|
||||
"list": {
|
||||
"searchPlaceholder": "Kurs suchen...",
|
||||
"title": "Kurse ({count})",
|
||||
"noCourses": "Keine Kurse vorhanden",
|
||||
"createFirst": "Erstellen Sie Ihren ersten Kurs, um loszulegen.",
|
||||
"courseNumber": "Kursnr.",
|
||||
"courseName": "Kursname",
|
||||
"startDate": "Beginn",
|
||||
"endDate": "Ende",
|
||||
"participants": "Teilnehmer",
|
||||
"fee": "Gebühr"
|
||||
},
|
||||
"detail": {
|
||||
"notFound": "Kurs nicht gefunden",
|
||||
"participants": "Teilnehmer",
|
||||
"sessions": "Termine",
|
||||
"viewAllParticipants": "Alle Teilnehmer anzeigen",
|
||||
"viewAttendance": "Anwesenheit anzeigen",
|
||||
"noParticipants": "Noch keine Teilnehmer.",
|
||||
"noSessions": "Noch keine Termine.",
|
||||
"addParticipant": "Teilnehmer hinzufügen"
|
||||
},
|
||||
"form": {
|
||||
"basicData": "Grunddaten",
|
||||
"courseNumber": "Kursnummer",
|
||||
"courseName": "Kursname *",
|
||||
"description": "Beschreibung",
|
||||
"schedule": "Zeitplan",
|
||||
"startDate": "Startdatum",
|
||||
"endDate": "Enddatum",
|
||||
"registrationDeadline": "Anmeldeschluss",
|
||||
"capacity": "Kapazität",
|
||||
"maxParticipants": "Max. Teilnehmer",
|
||||
"minParticipants": "Min. Teilnehmer",
|
||||
"fee": "Gebühr (€)",
|
||||
"reducedFee": "Ermäßigte Gebühr (€)",
|
||||
"statusSection": "Status",
|
||||
"courseStatus": "Kursstatus",
|
||||
"created": "Kurs erfolgreich erstellt",
|
||||
"updated": "Kurs aktualisiert",
|
||||
"errorCreating": "Fehler beim Erstellen des Kurses",
|
||||
"errorUpdating": "Fehler beim Aktualisieren"
|
||||
},
|
||||
"status": {
|
||||
"planned": "Geplant",
|
||||
"open": "Offen",
|
||||
"running": "Laufend",
|
||||
"completed": "Abgeschlossen",
|
||||
"cancelled": "Abgesagt"
|
||||
},
|
||||
"enrollment": {
|
||||
"enrolled": "Eingeschrieben",
|
||||
"waitlisted": "Warteliste",
|
||||
"cancelled": "Storniert",
|
||||
"completed": "Abgeschlossen",
|
||||
"enrolledAt": "Eingeschrieben am"
|
||||
},
|
||||
"attendance": {
|
||||
"title": "Anwesenheit",
|
||||
"present": "Anwesend",
|
||||
"absent": "Abwesend",
|
||||
"excused": "Entschuldigt",
|
||||
"session": "Termin"
|
||||
},
|
||||
"calendar": {
|
||||
"title": "Kurskalender",
|
||||
"courseDay": "Kurstag",
|
||||
"free": "Frei",
|
||||
"today": "Heute",
|
||||
"weekdays": ["Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"],
|
||||
"months": [
|
||||
"Januar",
|
||||
"Februar",
|
||||
"März",
|
||||
"April",
|
||||
"Mai",
|
||||
"Juni",
|
||||
"Juli",
|
||||
"August",
|
||||
"September",
|
||||
"Oktober",
|
||||
"November",
|
||||
"Dezember"
|
||||
]
|
||||
},
|
||||
"categories": {
|
||||
"title": "Kategorien",
|
||||
"newCategory": "Neue Kategorie",
|
||||
"noCategories": "Keine Kategorien vorhanden."
|
||||
},
|
||||
"instructors": {
|
||||
"title": "Kursleiter",
|
||||
"newInstructor": "Neuer Kursleiter",
|
||||
"noInstructors": "Keine Kursleiter vorhanden."
|
||||
},
|
||||
"locations": {
|
||||
"title": "Standorte",
|
||||
"newLocation": "Neuer Standort",
|
||||
"noLocations": "Keine Standorte vorhanden."
|
||||
}
|
||||
}
|
||||
81
apps/web/i18n/messages/de/documents.json
Normal file
81
apps/web/i18n/messages/de/documents.json
Normal file
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"nav": {
|
||||
"documents": "Dokumente",
|
||||
"generate": "Generieren",
|
||||
"templates": "Vorlagen"
|
||||
},
|
||||
"overview": {
|
||||
"title": "Dokumente",
|
||||
"subtitle": "Dokumente generieren und Vorlagen verwalten",
|
||||
"generate": "Erstellen",
|
||||
"manageTemplates": "Vorlagen verwalten"
|
||||
},
|
||||
"types": {
|
||||
"member_card": "Mitgliedsausweis",
|
||||
"invoice": "Rechnung",
|
||||
"label": "Etiketten",
|
||||
"report": "Bericht",
|
||||
"letter": "Brief",
|
||||
"certificate": "Zertifikat"
|
||||
},
|
||||
"typeDescriptions": {
|
||||
"member_card": "Mitgliedsausweise mit Foto und QR-Code generieren",
|
||||
"invoice": "Professionelle Rechnungen für Mitglieder und Dienstleistungen",
|
||||
"label": "Adressetiketten für Serienbriefe und Versand",
|
||||
"report": "Statistische Auswertungen und Übersichten",
|
||||
"letter": "Serienbriefe und individuelle Schreiben",
|
||||
"certificate": "Teilnahmebescheinigungen und Urkunden"
|
||||
},
|
||||
"generate": {
|
||||
"title": "Dokument generieren",
|
||||
"documentType": "Dokumenttyp",
|
||||
"titleLabel": "Titel / Bezeichnung",
|
||||
"format": "Format",
|
||||
"orientation": "Ausrichtung",
|
||||
"portrait": "Hochformat",
|
||||
"landscape": "Querformat",
|
||||
"comingSoon": "Demnächst verfügbar",
|
||||
"generating": "Wird generiert...",
|
||||
"generateButton": "Generieren",
|
||||
"success": "Dokument erfolgreich erstellt!",
|
||||
"downloaded": "Datei heruntergeladen",
|
||||
"downloadAgain": "Erneut herunterladen",
|
||||
"error": "Fehler bei der Generierung",
|
||||
"backToDocuments": "Zurück zu Dokumente",
|
||||
"cancel": "Abbrechen",
|
||||
"hint": "Hinweis",
|
||||
"memberCardHint": "Es werden Mitgliedsausweise für alle aktiven Mitglieder generiert.",
|
||||
"labelHint": "Es werden Adressetiketten für alle aktiven Mitglieder generiert.",
|
||||
"reportHint": "Es wird ein Mitgliederbericht mit aktuellen Daten generiert."
|
||||
},
|
||||
"templates": {
|
||||
"title": "Dokumentvorlagen",
|
||||
"subtitle": "Vorlagen für Mitgliedsausweise, Rechnungen, Etiketten und mehr",
|
||||
"newTemplate": "Neue Vorlage",
|
||||
"noTemplates": "Keine Vorlagen vorhanden",
|
||||
"createFirst": "Erstellen Sie Ihre erste Dokumentvorlage.",
|
||||
"allTemplates": "Alle Vorlagen ({count})",
|
||||
"name": "Name",
|
||||
"type": "Typ",
|
||||
"description": "Beschreibung"
|
||||
},
|
||||
"card": {
|
||||
"title": "MITGLIEDSAUSWEIS",
|
||||
"memberSince": "Mitglied seit",
|
||||
"dateOfBirth": "Geb.-Datum",
|
||||
"address": "Adresse",
|
||||
"validUntil": "Gültig",
|
||||
"issuedOn": "Ausgestellt"
|
||||
},
|
||||
"report": {
|
||||
"title": "Mitgliederbericht",
|
||||
"total": "Gesamt:"
|
||||
},
|
||||
"errors": {
|
||||
"accountNotFound": "Konto nicht gefunden",
|
||||
"unknownType": "Unbekannter Dokumenttyp",
|
||||
"underDevelopment": "ist noch in Entwicklung",
|
||||
"dbError": "DB-Fehler",
|
||||
"noActiveMembers": "Keine aktiven Mitglieder"
|
||||
}
|
||||
}
|
||||
67
apps/web/i18n/messages/de/events.json
Normal file
67
apps/web/i18n/messages/de/events.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"nav": {
|
||||
"events": "Veranstaltungen",
|
||||
"newEvent": "Neue Veranstaltung",
|
||||
"registrations": "Anmeldungen",
|
||||
"holidayPasses": "Ferienpässe"
|
||||
},
|
||||
"list": {
|
||||
"title": "Veranstaltungen",
|
||||
"newEvent": "Neue Veranstaltung",
|
||||
"noEvents": "Keine Veranstaltungen vorhanden",
|
||||
"createFirst": "Erstellen Sie Ihre erste Veranstaltung.",
|
||||
"upcoming": "Bevorstehend",
|
||||
"totalRegistrations": "Anmeldungen gesamt"
|
||||
},
|
||||
"detail": {
|
||||
"notFound": "Veranstaltung nicht gefunden",
|
||||
"date": "Datum",
|
||||
"time": "Uhrzeit",
|
||||
"location": "Ort",
|
||||
"registrations": "Anmeldungen",
|
||||
"description": "Beschreibung",
|
||||
"noRegistrations": "Noch keine Anmeldungen",
|
||||
"parentName": "Elternteil"
|
||||
},
|
||||
"form": {
|
||||
"basicData": "Grunddaten",
|
||||
"name": "Name der Veranstaltung *",
|
||||
"description": "Beschreibung",
|
||||
"dateTime": "Datum & Zeit",
|
||||
"eventDate": "Datum *",
|
||||
"startTime": "Startzeit",
|
||||
"endDate": "Enddatum",
|
||||
"location": "Ort",
|
||||
"contact": "Kontakt",
|
||||
"contactName": "Ansprechpartner",
|
||||
"contactEmail": "E-Mail",
|
||||
"contactPhone": "Telefon",
|
||||
"participantsAndFees": "Teilnehmer & Kosten",
|
||||
"capacity": "Max. Teilnehmer",
|
||||
"minAge": "Mindestalter",
|
||||
"maxAge": "Höchstalter",
|
||||
"fee": "Gebühr (€)",
|
||||
"registrationDeadline": "Anmeldeschluss",
|
||||
"status": "Status",
|
||||
"created": "Veranstaltung erfolgreich erstellt",
|
||||
"errorCreating": "Fehler beim Erstellen der Veranstaltung"
|
||||
},
|
||||
"status": {
|
||||
"planned": "Geplant",
|
||||
"open": "Offen",
|
||||
"full": "Ausgebucht",
|
||||
"running": "Laufend",
|
||||
"completed": "Abgeschlossen",
|
||||
"cancelled": "Abgesagt"
|
||||
},
|
||||
"registrationStatus": {
|
||||
"pending": "Ausstehend",
|
||||
"confirmed": "Bestätigt",
|
||||
"waitlisted": "Warteliste",
|
||||
"cancelled": "Storniert"
|
||||
},
|
||||
"holidayPasses": {
|
||||
"title": "Ferienpässe",
|
||||
"noPasses": "Keine Ferienpässe vorhanden"
|
||||
}
|
||||
}
|
||||
113
apps/web/i18n/messages/de/finance.json
Normal file
113
apps/web/i18n/messages/de/finance.json
Normal file
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"nav": {
|
||||
"overview": "Finanzen",
|
||||
"invoices": "Rechnungen",
|
||||
"sepa": "SEPA-Einzüge",
|
||||
"payments": "Zahlungen",
|
||||
"newInvoice": "Neue Rechnung",
|
||||
"newBatch": "Neuer Einzug"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Finanzen – Übersicht",
|
||||
"subtitle": "Rechnungen, SEPA-Einzüge und Zahlungen verwalten",
|
||||
"openInvoices": "Offene Rechnungen",
|
||||
"overdueInvoices": "Überfällige Rechnungen",
|
||||
"totalRevenue": "Gesamteinnahmen",
|
||||
"sepaBatches": "SEPA-Einzüge"
|
||||
},
|
||||
"invoices": {
|
||||
"title": "Rechnungen",
|
||||
"newInvoice": "Neue Rechnung",
|
||||
"noInvoices": "Keine Rechnungen vorhanden",
|
||||
"createFirst": "Erstellen Sie Ihre erste Rechnung.",
|
||||
"invoiceNumber": "Rechnungsnr.",
|
||||
"recipient": "Empfänger",
|
||||
"issueDate": "Rechnungsdatum",
|
||||
"dueDate": "Fälligkeitsdatum",
|
||||
"amount": "Betrag",
|
||||
"notFound": "Rechnung nicht gefunden"
|
||||
},
|
||||
"invoiceForm": {
|
||||
"title": "Rechnungsdaten",
|
||||
"invoiceNumber": "Rechnungsnummer *",
|
||||
"issueDate": "Rechnungsdatum",
|
||||
"dueDate": "Fälligkeitsdatum *",
|
||||
"recipient": "Empfänger",
|
||||
"recipientName": "Name *",
|
||||
"recipientAddress": "Adresse",
|
||||
"lineItems": "Positionen",
|
||||
"addLineItem": "+ Position hinzufügen",
|
||||
"itemDescription": "Beschreibung *",
|
||||
"quantity": "Menge",
|
||||
"unitPrice": "Einzelpreis (€)",
|
||||
"removeItem": "Position entfernen",
|
||||
"amounts": "Beträge",
|
||||
"taxRate": "MwSt.-Satz (%)",
|
||||
"subtotal": "Zwischensumme (netto)",
|
||||
"tax": "MwSt. ({rate}%)",
|
||||
"total": "Gesamtbetrag",
|
||||
"notes": "Anmerkungen",
|
||||
"created": "Rechnung erfolgreich erstellt",
|
||||
"errorCreating": "Fehler beim Erstellen der Rechnung"
|
||||
},
|
||||
"invoiceStatus": {
|
||||
"draft": "Entwurf",
|
||||
"sent": "Versendet",
|
||||
"paid": "Bezahlt",
|
||||
"overdue": "Überfällig",
|
||||
"cancelled": "Storniert",
|
||||
"credited": "Gutgeschrieben"
|
||||
},
|
||||
"sepa": {
|
||||
"title": "SEPA-Einzüge",
|
||||
"newBatch": "Neuer Einzug",
|
||||
"noBatches": "Keine SEPA-Einzüge vorhanden",
|
||||
"createFirst": "Erstellen Sie Ihren ersten SEPA-Einzug.",
|
||||
"directDebit": "Lastschrift",
|
||||
"creditTransfer": "Überweisung",
|
||||
"executionDate": "Ausführungsdatum",
|
||||
"totalAmount": "Gesamtbetrag",
|
||||
"itemCount": "Positionen",
|
||||
"downloadXml": "XML herunterladen",
|
||||
"notFound": "Einzug nicht gefunden"
|
||||
},
|
||||
"sepaBatchForm": {
|
||||
"title": "SEPA-Einzug erstellen",
|
||||
"batchType": "Typ",
|
||||
"directDebit": "Lastschrift (SEPA Core)",
|
||||
"creditTransfer": "Überweisung",
|
||||
"description": "Beschreibung",
|
||||
"descriptionPlaceholder": "z.B. Mitgliedsbeiträge Q1 2026",
|
||||
"executionDate": "Ausführungsdatum *",
|
||||
"executionDateRequired": "Ausführungsdatum ist erforderlich",
|
||||
"created": "SEPA-Einzug erstellt",
|
||||
"errorCreating": "Fehler beim Erstellen"
|
||||
},
|
||||
"sepaBatchStatus": {
|
||||
"draft": "Entwurf",
|
||||
"ready": "Bereit",
|
||||
"submitted": "Eingereicht",
|
||||
"executed": "Abgeschlossen",
|
||||
"failed": "Fehlgeschlagen",
|
||||
"cancelled": "Abgebrochen"
|
||||
},
|
||||
"sepaItemStatus": {
|
||||
"pending": "Ausstehend",
|
||||
"success": "Verarbeitet",
|
||||
"failed": "Fehlgeschlagen",
|
||||
"rejected": "Abgelehnt"
|
||||
},
|
||||
"payments": {
|
||||
"title": "Zahlungsübersicht",
|
||||
"paidInvoices": "Bezahlte Rechnungen",
|
||||
"openInvoices": "Offene Rechnungen",
|
||||
"overdueInvoices": "Überfällige Rechnungen",
|
||||
"sepaBatches": "SEPA-Einzüge"
|
||||
},
|
||||
"common": {
|
||||
"cancel": "Abbrechen",
|
||||
"creating": "Wird erstellt...",
|
||||
"membershipFee": "Mitgliedsbeitrag",
|
||||
"sepaDirectDebit": "SEPA Einzug"
|
||||
}
|
||||
}
|
||||
80
apps/web/i18n/messages/de/meetings.json
Normal file
80
apps/web/i18n/messages/de/meetings.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"nav": {
|
||||
"overview": "Übersicht",
|
||||
"protocols": "Protokolle",
|
||||
"tasks": "Aufgaben",
|
||||
"newProtocol": "Neues Protokoll"
|
||||
},
|
||||
"pages": {
|
||||
"overviewTitle": "Sitzungsprotokolle",
|
||||
"protocolsTitle": "Sitzungsprotokolle - Protokolle",
|
||||
"tasksTitle": "Sitzungsprotokolle - Aufgaben"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Sitzungsprotokolle – Übersicht",
|
||||
"subtitle": "Protokolle, Tagesordnungspunkte und Aufgaben verwalten",
|
||||
"totalProtocols": "Protokolle gesamt",
|
||||
"publishedProtocols": "Veröffentlicht",
|
||||
"draftProtocols": "Entwürfe",
|
||||
"overdueTasks": "Überfällige Aufgaben",
|
||||
"recentProtocols": "Neueste Protokolle",
|
||||
"noRecentProtocols": "Noch keine Protokolle vorhanden."
|
||||
},
|
||||
"protocol": {
|
||||
"title": "Titel *",
|
||||
"meetingDate": "Sitzungsdatum *",
|
||||
"meetingType": "Sitzungsart",
|
||||
"location": "Ort",
|
||||
"created": "Protokoll erfolgreich erstellt",
|
||||
"updated": "Protokoll aktualisiert",
|
||||
"published": "Protokoll veröffentlicht",
|
||||
"errorSaving": "Fehler beim Speichern des Protokolls",
|
||||
"notFound": "Protokoll nicht gefunden",
|
||||
"noProtocols": "Keine Protokolle vorhanden",
|
||||
"createFirst": "Erstellen Sie Ihr erstes Sitzungsprotokoll, um loszulegen."
|
||||
},
|
||||
"protocolList": {
|
||||
"searchPlaceholder": "Protokoll suchen...",
|
||||
"title": "Protokolle ({count})",
|
||||
"date": "Datum",
|
||||
"titleColumn": "Titel",
|
||||
"type": "Sitzungsart",
|
||||
"locationColumn": "Ort",
|
||||
"statusColumn": "Status",
|
||||
"published": "Veröffentlicht",
|
||||
"draft": "Entwurf"
|
||||
},
|
||||
"items": {
|
||||
"agendaItems": "Tagesordnungspunkte",
|
||||
"noItems": "Keine Tagesordnungspunkte vorhanden.",
|
||||
"addItem": "Punkt hinzufügen",
|
||||
"statusUpdated": "Status aktualisiert",
|
||||
"deleted": "Tagesordnungspunkt gelöscht",
|
||||
"deleteConfirm": "Tagesordnungspunkt wirklich löschen?",
|
||||
"errorUpdating": "Fehler beim Aktualisieren",
|
||||
"errorDeleting": "Fehler beim Löschen",
|
||||
"dueDate": "Fällig: {date}",
|
||||
"responsible": "Verantwortlich: {name}",
|
||||
"status": {
|
||||
"open": "Offen",
|
||||
"in_progress": "In Bearbeitung",
|
||||
"done": "Erledigt",
|
||||
"cancelled": "Abgebrochen"
|
||||
}
|
||||
},
|
||||
"tasks": {
|
||||
"title": "Offene Aufgaben ({count})",
|
||||
"noTasks": "Keine offenen Aufgaben",
|
||||
"allTasksDone": "Alle Aufgaben sind erledigt.",
|
||||
"overdue": "Überfällig",
|
||||
"fromProtocol": "aus Protokoll"
|
||||
},
|
||||
"meetingTypes": {
|
||||
"regular": "Ordentliche Sitzung",
|
||||
"extraordinary": "Außerordentliche Sitzung",
|
||||
"board": "Vorstandssitzung",
|
||||
"general_assembly": "Mitgliederversammlung",
|
||||
"committee": "Ausschusssitzung",
|
||||
"other": "Sonstige"
|
||||
}
|
||||
}
|
||||
76
apps/web/i18n/messages/de/newsletter.json
Normal file
76
apps/web/i18n/messages/de/newsletter.json
Normal file
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"nav": {
|
||||
"newsletters": "Newsletter",
|
||||
"templates": "Vorlagen",
|
||||
"newNewsletter": "Neuer Newsletter"
|
||||
},
|
||||
"list": {
|
||||
"title": "Newsletter",
|
||||
"subtitle": "Newsletter erstellen und versenden",
|
||||
"newNewsletter": "Neuer Newsletter",
|
||||
"noNewsletters": "Keine Newsletter vorhanden",
|
||||
"createFirst": "Erstellen Sie Ihren ersten Newsletter, um loszulegen.",
|
||||
"subject": "Betreff",
|
||||
"noSubject": "(Kein Betreff)",
|
||||
"recipients": "Empfänger",
|
||||
"created": "Erstellt",
|
||||
"sent": "Gesendet",
|
||||
"totalSent": "Gesendet",
|
||||
"totalRecipients": "Empfänger gesamt"
|
||||
},
|
||||
"detail": {
|
||||
"title": "Newsletter Details",
|
||||
"backToList": "Zurück zu Newsletter",
|
||||
"sendNewsletter": "Newsletter versenden",
|
||||
"recipientsSection": "Empfänger",
|
||||
"sentCount": "Gesendet",
|
||||
"failedCount": "Fehlgeschlagen",
|
||||
"noRecipients": "Keine Empfänger hinzugefügt. Fügen Sie Empfänger aus Ihrer Mitgliederliste hinzu.",
|
||||
"recipientName": "Name",
|
||||
"recipientEmail": "E-Mail",
|
||||
"recipientStatus": "Status",
|
||||
"notFound": "Newsletter nicht gefunden"
|
||||
},
|
||||
"form": {
|
||||
"content": "Newsletter-Inhalt",
|
||||
"subject": "Betreff *",
|
||||
"bodyHtml": "Inhalt (HTML) *",
|
||||
"bodyHtmlPlaceholder": "<h1>Hallo!</h1><p>Ihr Newsletter-Inhalt...</p>",
|
||||
"bodyText": "Nur-Text-Version",
|
||||
"bodyTextHelp": "Nur-Text-Fallback für E-Mail-Clients ohne HTML-Unterstützung",
|
||||
"schedule": "Zeitplan",
|
||||
"scheduledDate": "Geplanter Versand (optional)",
|
||||
"scheduleHelp": "Leer lassen, um den Newsletter als Entwurf zu speichern.",
|
||||
"created": "Newsletter erfolgreich erstellt",
|
||||
"errorCreating": "Fehler beim Erstellen des Newsletters"
|
||||
},
|
||||
"templates": {
|
||||
"title": "Newsletter-Vorlagen",
|
||||
"subtitle": "Wiederverwendbare Vorlagen für Newsletter",
|
||||
"newTemplate": "Neue Vorlage",
|
||||
"noTemplates": "Keine Vorlagen vorhanden",
|
||||
"createFirst": "Erstellen Sie Ihre erste Newsletter-Vorlage, um sie in Kampagnen wiederzuverwenden.",
|
||||
"allTemplates": "Alle Vorlagen ({count})",
|
||||
"name": "Name",
|
||||
"subject": "Betreff",
|
||||
"variables": "Variablen"
|
||||
},
|
||||
"status": {
|
||||
"draft": "Entwurf",
|
||||
"scheduled": "Geplant",
|
||||
"sending": "Wird versendet",
|
||||
"sent": "Gesendet",
|
||||
"failed": "Fehlgeschlagen"
|
||||
},
|
||||
"recipientStatus": {
|
||||
"pending": "Ausstehend",
|
||||
"sent": "Gesendet",
|
||||
"failed": "Fehlgeschlagen",
|
||||
"bounced": "Unzustellbar"
|
||||
},
|
||||
"common": {
|
||||
"cancel": "Abbrechen",
|
||||
"creating": "Wird erstellt...",
|
||||
"create": "Newsletter erstellen"
|
||||
}
|
||||
}
|
||||
53
apps/web/i18n/messages/de/siteBuilder.json
Normal file
53
apps/web/i18n/messages/de/siteBuilder.json
Normal file
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"nav": {
|
||||
"pages": "Seiten",
|
||||
"posts": "Beiträge",
|
||||
"settings": "Einstellungen"
|
||||
},
|
||||
"pages": {
|
||||
"title": "Seiten",
|
||||
"newPage": "Neue Seite",
|
||||
"noPages": "Keine Seiten vorhanden",
|
||||
"createFirst": "Erstellen Sie Ihre erste Seite.",
|
||||
"pageTitle": "Seitentitel *",
|
||||
"slug": "URL-Pfad",
|
||||
"slugPlaceholder": "Leer lassen für automatische Generierung...",
|
||||
"membersOnly": "Nur für Mitglieder",
|
||||
"createAndEdit": "Seite erstellen & Editor öffnen",
|
||||
"pageCreated": "Seite erstellt — Editor wird geöffnet",
|
||||
"errorCreating": "Fehler beim Erstellen",
|
||||
"notFound": "Seite nicht gefunden",
|
||||
"published": "Seite veröffentlicht",
|
||||
"error": "Fehler"
|
||||
},
|
||||
"posts": {
|
||||
"title": "Beiträge",
|
||||
"newPost": "Neuer Beitrag",
|
||||
"noPosts": "Keine Beiträge vorhanden",
|
||||
"createFirst": "Erstellen Sie Ihren ersten Beitrag.",
|
||||
"postTitle": "Titel *",
|
||||
"content": "Beitragsinhalt (HTML erlaubt)...",
|
||||
"excerpt": "Kurzfassung",
|
||||
"postCreated": "Beitrag erstellt",
|
||||
"errorCreating": "Fehler"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Einstellungen",
|
||||
"saved": "Einstellungen gespeichert",
|
||||
"error": "Fehler"
|
||||
},
|
||||
"editor": {
|
||||
"publish": "Veröffentlichen",
|
||||
"unpublish": "Zurückziehen"
|
||||
},
|
||||
"portal": {
|
||||
"loginSuccess": "Erfolgreich angemeldet",
|
||||
"membersArea": "Mitgliederbereich"
|
||||
},
|
||||
"blocks": {
|
||||
"news": "Neuigkeiten",
|
||||
"events": "Veranstaltungen",
|
||||
"loginError": "Fehler bei der Anmeldung",
|
||||
"connectionError": "Verbindungsfehler"
|
||||
}
|
||||
}
|
||||
71
apps/web/i18n/messages/en/bookings.json
Normal file
71
apps/web/i18n/messages/en/bookings.json
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"nav": {
|
||||
"bookings": "Bookings",
|
||||
"calendar": "Calendar",
|
||||
"rooms": "Rooms",
|
||||
"guests": "Guests",
|
||||
"newBooking": "New Booking"
|
||||
},
|
||||
"list": {
|
||||
"title": "Bookings",
|
||||
"searchPlaceholder": "Search guest or room...",
|
||||
"newBooking": "New Booking",
|
||||
"noBookings": "No bookings found",
|
||||
"createFirst": "Create your first booking.",
|
||||
"activeBookings": "Active Bookings",
|
||||
"guest": "Guest",
|
||||
"room": "Room",
|
||||
"checkIn": "Check-in",
|
||||
"checkOut": "Check-out",
|
||||
"nights": "Nights",
|
||||
"price": "Price"
|
||||
},
|
||||
"detail": {
|
||||
"notFound": "Booking not found",
|
||||
"guestInfo": "Guest Information",
|
||||
"roomInfo": "Room Information",
|
||||
"bookingDetails": "Booking Details",
|
||||
"extras": "Extras"
|
||||
},
|
||||
"form": {
|
||||
"room": "Room *",
|
||||
"selectRoom": "— Select room —",
|
||||
"guest": "Guest",
|
||||
"checkIn": "Check-in *",
|
||||
"checkOut": "Check-out *",
|
||||
"adults": "Adults",
|
||||
"children": "Children",
|
||||
"notes": "Notes",
|
||||
"created": "Booking created successfully",
|
||||
"errorCreating": "Error creating booking"
|
||||
},
|
||||
"status": {
|
||||
"pending": "Pending",
|
||||
"confirmed": "Confirmed",
|
||||
"checked_in": "Checked In",
|
||||
"checked_out": "Checked Out",
|
||||
"cancelled": "Cancelled",
|
||||
"no_show": "No Show"
|
||||
},
|
||||
"rooms": {
|
||||
"title": "Rooms",
|
||||
"newRoom": "New Room",
|
||||
"noRooms": "No rooms found",
|
||||
"name": "Name",
|
||||
"type": "Type",
|
||||
"capacity": "Capacity",
|
||||
"price": "Price/Night"
|
||||
},
|
||||
"guests": {
|
||||
"title": "Guests",
|
||||
"newGuest": "New Guest",
|
||||
"noGuests": "No guests found",
|
||||
"name": "Name",
|
||||
"email": "Email",
|
||||
"phone": "Phone",
|
||||
"bookings": "Bookings"
|
||||
},
|
||||
"calendar": {
|
||||
"title": "Availability Calendar"
|
||||
}
|
||||
}
|
||||
120
apps/web/i18n/messages/en/courses.json
Normal file
120
apps/web/i18n/messages/en/courses.json
Normal file
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"nav": {
|
||||
"courses": "Courses",
|
||||
"newCourse": "New Course",
|
||||
"calendar": "Calendar",
|
||||
"categories": "Categories",
|
||||
"instructors": "Instructors",
|
||||
"locations": "Locations",
|
||||
"statistics": "Statistics"
|
||||
},
|
||||
"pages": {
|
||||
"coursesTitle": "Courses",
|
||||
"newCourseTitle": "New Course",
|
||||
"calendarTitle": "Course Calendar",
|
||||
"categoriesTitle": "Course Categories",
|
||||
"instructorsTitle": "Instructors",
|
||||
"locationsTitle": "Locations",
|
||||
"statisticsTitle": "Course Statistics"
|
||||
},
|
||||
"list": {
|
||||
"searchPlaceholder": "Search courses...",
|
||||
"title": "Courses ({count})",
|
||||
"noCourses": "No courses found",
|
||||
"createFirst": "Create your first course to get started.",
|
||||
"courseNumber": "Course No.",
|
||||
"courseName": "Course Name",
|
||||
"startDate": "Start",
|
||||
"endDate": "End",
|
||||
"participants": "Participants",
|
||||
"fee": "Fee"
|
||||
},
|
||||
"detail": {
|
||||
"notFound": "Course not found",
|
||||
"participants": "Participants",
|
||||
"sessions": "Sessions",
|
||||
"viewAllParticipants": "View all participants",
|
||||
"viewAttendance": "View attendance",
|
||||
"noParticipants": "No participants yet.",
|
||||
"noSessions": "No sessions yet.",
|
||||
"addParticipant": "Add Participant"
|
||||
},
|
||||
"form": {
|
||||
"basicData": "Basic Data",
|
||||
"courseNumber": "Course Number",
|
||||
"courseName": "Course Name *",
|
||||
"description": "Description",
|
||||
"schedule": "Schedule",
|
||||
"startDate": "Start Date",
|
||||
"endDate": "End Date",
|
||||
"registrationDeadline": "Registration Deadline",
|
||||
"capacity": "Capacity",
|
||||
"maxParticipants": "Max Participants",
|
||||
"minParticipants": "Min Participants",
|
||||
"fee": "Fee (€)",
|
||||
"reducedFee": "Reduced Fee (€)",
|
||||
"statusSection": "Status",
|
||||
"courseStatus": "Course Status",
|
||||
"created": "Course created successfully",
|
||||
"updated": "Course updated",
|
||||
"errorCreating": "Error creating course",
|
||||
"errorUpdating": "Error updating course"
|
||||
},
|
||||
"status": {
|
||||
"planned": "Planned",
|
||||
"open": "Open",
|
||||
"running": "Running",
|
||||
"completed": "Completed",
|
||||
"cancelled": "Cancelled"
|
||||
},
|
||||
"enrollment": {
|
||||
"enrolled": "Enrolled",
|
||||
"waitlisted": "Waitlisted",
|
||||
"cancelled": "Cancelled",
|
||||
"completed": "Completed",
|
||||
"enrolledAt": "Enrolled on"
|
||||
},
|
||||
"attendance": {
|
||||
"title": "Attendance",
|
||||
"present": "Present",
|
||||
"absent": "Absent",
|
||||
"excused": "Excused",
|
||||
"session": "Session"
|
||||
},
|
||||
"calendar": {
|
||||
"title": "Course Calendar",
|
||||
"courseDay": "Course Day",
|
||||
"free": "Free",
|
||||
"today": "Today",
|
||||
"weekdays": ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
|
||||
"months": [
|
||||
"January",
|
||||
"February",
|
||||
"March",
|
||||
"April",
|
||||
"May",
|
||||
"June",
|
||||
"July",
|
||||
"August",
|
||||
"September",
|
||||
"October",
|
||||
"November",
|
||||
"December"
|
||||
]
|
||||
},
|
||||
"categories": {
|
||||
"title": "Categories",
|
||||
"newCategory": "New Category",
|
||||
"noCategories": "No categories found."
|
||||
},
|
||||
"instructors": {
|
||||
"title": "Instructors",
|
||||
"newInstructor": "New Instructor",
|
||||
"noInstructors": "No instructors found."
|
||||
},
|
||||
"locations": {
|
||||
"title": "Locations",
|
||||
"newLocation": "New Location",
|
||||
"noLocations": "No locations found."
|
||||
}
|
||||
}
|
||||
81
apps/web/i18n/messages/en/documents.json
Normal file
81
apps/web/i18n/messages/en/documents.json
Normal file
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"nav": {
|
||||
"documents": "Documents",
|
||||
"generate": "Generate",
|
||||
"templates": "Templates"
|
||||
},
|
||||
"overview": {
|
||||
"title": "Documents",
|
||||
"subtitle": "Generate documents and manage templates",
|
||||
"generate": "Generate",
|
||||
"manageTemplates": "Manage Templates"
|
||||
},
|
||||
"types": {
|
||||
"member_card": "Member Card",
|
||||
"invoice": "Invoice",
|
||||
"label": "Labels",
|
||||
"report": "Report",
|
||||
"letter": "Letter",
|
||||
"certificate": "Certificate"
|
||||
},
|
||||
"typeDescriptions": {
|
||||
"member_card": "Generate member cards with photo and QR code",
|
||||
"invoice": "Professional invoices for members and services",
|
||||
"label": "Address labels for mailings and shipping",
|
||||
"report": "Statistical reports and summaries",
|
||||
"letter": "Form letters and individual correspondence",
|
||||
"certificate": "Participation certificates and awards"
|
||||
},
|
||||
"generate": {
|
||||
"title": "Generate Document",
|
||||
"documentType": "Document Type",
|
||||
"titleLabel": "Title / Label",
|
||||
"format": "Format",
|
||||
"orientation": "Orientation",
|
||||
"portrait": "Portrait",
|
||||
"landscape": "Landscape",
|
||||
"comingSoon": "Coming Soon",
|
||||
"generating": "Generating...",
|
||||
"generateButton": "Generate",
|
||||
"success": "Document created successfully!",
|
||||
"downloaded": "File downloaded",
|
||||
"downloadAgain": "Download Again",
|
||||
"error": "Error generating document",
|
||||
"backToDocuments": "Back to Documents",
|
||||
"cancel": "Cancel",
|
||||
"hint": "Note",
|
||||
"memberCardHint": "Member cards will be generated for all active members.",
|
||||
"labelHint": "Address labels will be generated for all active members.",
|
||||
"reportHint": "A member report with current data will be generated."
|
||||
},
|
||||
"templates": {
|
||||
"title": "Document Templates",
|
||||
"subtitle": "Templates for member cards, invoices, labels, and more",
|
||||
"newTemplate": "New Template",
|
||||
"noTemplates": "No templates found",
|
||||
"createFirst": "Create your first document template.",
|
||||
"allTemplates": "All Templates ({count})",
|
||||
"name": "Name",
|
||||
"type": "Type",
|
||||
"description": "Description"
|
||||
},
|
||||
"card": {
|
||||
"title": "MEMBER CARD",
|
||||
"memberSince": "Member since",
|
||||
"dateOfBirth": "Date of Birth",
|
||||
"address": "Address",
|
||||
"validUntil": "Valid until",
|
||||
"issuedOn": "Issued on"
|
||||
},
|
||||
"report": {
|
||||
"title": "Member Report",
|
||||
"total": "Total:"
|
||||
},
|
||||
"errors": {
|
||||
"accountNotFound": "Account not found",
|
||||
"unknownType": "Unknown document type",
|
||||
"underDevelopment": "is still under development",
|
||||
"dbError": "Database error",
|
||||
"noActiveMembers": "No active members"
|
||||
}
|
||||
}
|
||||
67
apps/web/i18n/messages/en/events.json
Normal file
67
apps/web/i18n/messages/en/events.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"nav": {
|
||||
"events": "Events",
|
||||
"newEvent": "New Event",
|
||||
"registrations": "Registrations",
|
||||
"holidayPasses": "Holiday Passes"
|
||||
},
|
||||
"list": {
|
||||
"title": "Events",
|
||||
"newEvent": "New Event",
|
||||
"noEvents": "No events found",
|
||||
"createFirst": "Create your first event.",
|
||||
"upcoming": "Upcoming",
|
||||
"totalRegistrations": "Total Registrations"
|
||||
},
|
||||
"detail": {
|
||||
"notFound": "Event not found",
|
||||
"date": "Date",
|
||||
"time": "Time",
|
||||
"location": "Location",
|
||||
"registrations": "Registrations",
|
||||
"description": "Description",
|
||||
"noRegistrations": "No registrations yet",
|
||||
"parentName": "Parent"
|
||||
},
|
||||
"form": {
|
||||
"basicData": "Basic Data",
|
||||
"name": "Event Name *",
|
||||
"description": "Description",
|
||||
"dateTime": "Date & Time",
|
||||
"eventDate": "Date *",
|
||||
"startTime": "Start Time",
|
||||
"endDate": "End Date",
|
||||
"location": "Location",
|
||||
"contact": "Contact",
|
||||
"contactName": "Contact Person",
|
||||
"contactEmail": "Email",
|
||||
"contactPhone": "Phone",
|
||||
"participantsAndFees": "Participants & Fees",
|
||||
"capacity": "Max Participants",
|
||||
"minAge": "Minimum Age",
|
||||
"maxAge": "Maximum Age",
|
||||
"fee": "Fee (€)",
|
||||
"registrationDeadline": "Registration Deadline",
|
||||
"status": "Status",
|
||||
"created": "Event created successfully",
|
||||
"errorCreating": "Error creating event"
|
||||
},
|
||||
"status": {
|
||||
"planned": "Planned",
|
||||
"open": "Open",
|
||||
"full": "Full",
|
||||
"running": "Running",
|
||||
"completed": "Completed",
|
||||
"cancelled": "Cancelled"
|
||||
},
|
||||
"registrationStatus": {
|
||||
"pending": "Pending",
|
||||
"confirmed": "Confirmed",
|
||||
"waitlisted": "Waitlisted",
|
||||
"cancelled": "Cancelled"
|
||||
},
|
||||
"holidayPasses": {
|
||||
"title": "Holiday Passes",
|
||||
"noPasses": "No holiday passes found"
|
||||
}
|
||||
}
|
||||
113
apps/web/i18n/messages/en/finance.json
Normal file
113
apps/web/i18n/messages/en/finance.json
Normal file
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"nav": {
|
||||
"overview": "Finance",
|
||||
"invoices": "Invoices",
|
||||
"sepa": "SEPA Batches",
|
||||
"payments": "Payments",
|
||||
"newInvoice": "New Invoice",
|
||||
"newBatch": "New Batch"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Finance – Overview",
|
||||
"subtitle": "Manage invoices, SEPA batches, and payments",
|
||||
"openInvoices": "Open Invoices",
|
||||
"overdueInvoices": "Overdue Invoices",
|
||||
"totalRevenue": "Total Revenue",
|
||||
"sepaBatches": "SEPA Batches"
|
||||
},
|
||||
"invoices": {
|
||||
"title": "Invoices",
|
||||
"newInvoice": "New Invoice",
|
||||
"noInvoices": "No invoices found",
|
||||
"createFirst": "Create your first invoice.",
|
||||
"invoiceNumber": "Invoice No.",
|
||||
"recipient": "Recipient",
|
||||
"issueDate": "Issue Date",
|
||||
"dueDate": "Due Date",
|
||||
"amount": "Amount",
|
||||
"notFound": "Invoice not found"
|
||||
},
|
||||
"invoiceForm": {
|
||||
"title": "Invoice Details",
|
||||
"invoiceNumber": "Invoice Number *",
|
||||
"issueDate": "Issue Date",
|
||||
"dueDate": "Due Date *",
|
||||
"recipient": "Recipient",
|
||||
"recipientName": "Name *",
|
||||
"recipientAddress": "Address",
|
||||
"lineItems": "Line Items",
|
||||
"addLineItem": "+ Add Line Item",
|
||||
"itemDescription": "Description *",
|
||||
"quantity": "Quantity",
|
||||
"unitPrice": "Unit Price (€)",
|
||||
"removeItem": "Remove Item",
|
||||
"amounts": "Amounts",
|
||||
"taxRate": "Tax Rate (%)",
|
||||
"subtotal": "Subtotal (net)",
|
||||
"tax": "Tax ({rate}%)",
|
||||
"total": "Total Amount",
|
||||
"notes": "Notes",
|
||||
"created": "Invoice created successfully",
|
||||
"errorCreating": "Error creating invoice"
|
||||
},
|
||||
"invoiceStatus": {
|
||||
"draft": "Draft",
|
||||
"sent": "Sent",
|
||||
"paid": "Paid",
|
||||
"overdue": "Overdue",
|
||||
"cancelled": "Cancelled",
|
||||
"credited": "Credited"
|
||||
},
|
||||
"sepa": {
|
||||
"title": "SEPA Batches",
|
||||
"newBatch": "New Batch",
|
||||
"noBatches": "No SEPA batches found",
|
||||
"createFirst": "Create your first SEPA batch.",
|
||||
"directDebit": "Direct Debit",
|
||||
"creditTransfer": "Credit Transfer",
|
||||
"executionDate": "Execution Date",
|
||||
"totalAmount": "Total Amount",
|
||||
"itemCount": "Items",
|
||||
"downloadXml": "Download XML",
|
||||
"notFound": "Batch not found"
|
||||
},
|
||||
"sepaBatchForm": {
|
||||
"title": "Create SEPA Batch",
|
||||
"batchType": "Type",
|
||||
"directDebit": "Direct Debit (SEPA Core)",
|
||||
"creditTransfer": "Credit Transfer",
|
||||
"description": "Description",
|
||||
"descriptionPlaceholder": "e.g. Membership fees Q1 2026",
|
||||
"executionDate": "Execution Date *",
|
||||
"executionDateRequired": "Execution date is required",
|
||||
"created": "SEPA batch created",
|
||||
"errorCreating": "Error creating batch"
|
||||
},
|
||||
"sepaBatchStatus": {
|
||||
"draft": "Draft",
|
||||
"ready": "Ready",
|
||||
"submitted": "Submitted",
|
||||
"executed": "Executed",
|
||||
"failed": "Failed",
|
||||
"cancelled": "Cancelled"
|
||||
},
|
||||
"sepaItemStatus": {
|
||||
"pending": "Pending",
|
||||
"success": "Processed",
|
||||
"failed": "Failed",
|
||||
"rejected": "Rejected"
|
||||
},
|
||||
"payments": {
|
||||
"title": "Payment Overview",
|
||||
"paidInvoices": "Paid Invoices",
|
||||
"openInvoices": "Open Invoices",
|
||||
"overdueInvoices": "Overdue Invoices",
|
||||
"sepaBatches": "SEPA Batches"
|
||||
},
|
||||
"common": {
|
||||
"cancel": "Cancel",
|
||||
"creating": "Creating...",
|
||||
"membershipFee": "Membership Fee",
|
||||
"sepaDirectDebit": "SEPA Direct Debit"
|
||||
}
|
||||
}
|
||||
80
apps/web/i18n/messages/en/meetings.json
Normal file
80
apps/web/i18n/messages/en/meetings.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"nav": {
|
||||
"overview": "Overview",
|
||||
"protocols": "Protocols",
|
||||
"tasks": "Tasks",
|
||||
"newProtocol": "New Protocol"
|
||||
},
|
||||
"pages": {
|
||||
"overviewTitle": "Meeting Protocols",
|
||||
"protocolsTitle": "Meeting Protocols - Protocols",
|
||||
"tasksTitle": "Meeting Protocols - Tasks"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Meeting Protocols – Overview",
|
||||
"subtitle": "Manage protocols, agenda items, and tasks",
|
||||
"totalProtocols": "Total Protocols",
|
||||
"publishedProtocols": "Published",
|
||||
"draftProtocols": "Drafts",
|
||||
"overdueTasks": "Overdue Tasks",
|
||||
"recentProtocols": "Recent Protocols",
|
||||
"noRecentProtocols": "No protocols yet."
|
||||
},
|
||||
"protocol": {
|
||||
"title": "Title *",
|
||||
"meetingDate": "Meeting Date *",
|
||||
"meetingType": "Meeting Type",
|
||||
"location": "Location",
|
||||
"created": "Protocol created successfully",
|
||||
"updated": "Protocol updated",
|
||||
"published": "Protocol published",
|
||||
"errorSaving": "Error saving protocol",
|
||||
"notFound": "Protocol not found",
|
||||
"noProtocols": "No protocols found",
|
||||
"createFirst": "Create your first meeting protocol to get started."
|
||||
},
|
||||
"protocolList": {
|
||||
"searchPlaceholder": "Search protocols...",
|
||||
"title": "Protocols ({count})",
|
||||
"date": "Date",
|
||||
"titleColumn": "Title",
|
||||
"type": "Meeting Type",
|
||||
"locationColumn": "Location",
|
||||
"statusColumn": "Status",
|
||||
"published": "Published",
|
||||
"draft": "Draft"
|
||||
},
|
||||
"items": {
|
||||
"agendaItems": "Agenda Items",
|
||||
"noItems": "No agenda items found.",
|
||||
"addItem": "Add Item",
|
||||
"statusUpdated": "Status updated",
|
||||
"deleted": "Agenda item deleted",
|
||||
"deleteConfirm": "Delete this agenda item?",
|
||||
"errorUpdating": "Error updating",
|
||||
"errorDeleting": "Error deleting",
|
||||
"dueDate": "Due: {date}",
|
||||
"responsible": "Responsible: {name}",
|
||||
"status": {
|
||||
"open": "Open",
|
||||
"in_progress": "In Progress",
|
||||
"done": "Done",
|
||||
"cancelled": "Cancelled"
|
||||
}
|
||||
},
|
||||
"tasks": {
|
||||
"title": "Open Tasks ({count})",
|
||||
"noTasks": "No open tasks",
|
||||
"allTasksDone": "All tasks are completed.",
|
||||
"overdue": "Overdue",
|
||||
"fromProtocol": "from protocol"
|
||||
},
|
||||
"meetingTypes": {
|
||||
"regular": "Regular Meeting",
|
||||
"extraordinary": "Extraordinary Meeting",
|
||||
"board": "Board Meeting",
|
||||
"general_assembly": "General Assembly",
|
||||
"committee": "Committee Meeting",
|
||||
"other": "Other"
|
||||
}
|
||||
}
|
||||
76
apps/web/i18n/messages/en/newsletter.json
Normal file
76
apps/web/i18n/messages/en/newsletter.json
Normal file
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"nav": {
|
||||
"newsletters": "Newsletters",
|
||||
"templates": "Templates",
|
||||
"newNewsletter": "New Newsletter"
|
||||
},
|
||||
"list": {
|
||||
"title": "Newsletters",
|
||||
"subtitle": "Create and send newsletters",
|
||||
"newNewsletter": "New Newsletter",
|
||||
"noNewsletters": "No newsletters found",
|
||||
"createFirst": "Create your first newsletter to get started.",
|
||||
"subject": "Subject",
|
||||
"noSubject": "(No Subject)",
|
||||
"recipients": "Recipients",
|
||||
"created": "Created",
|
||||
"sent": "Sent",
|
||||
"totalSent": "Sent",
|
||||
"totalRecipients": "Total Recipients"
|
||||
},
|
||||
"detail": {
|
||||
"title": "Newsletter Details",
|
||||
"backToList": "Back to Newsletters",
|
||||
"sendNewsletter": "Send Newsletter",
|
||||
"recipientsSection": "Recipients",
|
||||
"sentCount": "Sent",
|
||||
"failedCount": "Failed",
|
||||
"noRecipients": "No recipients added. Add recipients from your member list.",
|
||||
"recipientName": "Name",
|
||||
"recipientEmail": "Email",
|
||||
"recipientStatus": "Status",
|
||||
"notFound": "Newsletter not found"
|
||||
},
|
||||
"form": {
|
||||
"content": "Newsletter Content",
|
||||
"subject": "Subject *",
|
||||
"bodyHtml": "Content (HTML) *",
|
||||
"bodyHtmlPlaceholder": "<h1>Hello!</h1><p>Your newsletter content...</p>",
|
||||
"bodyText": "Plain Text Version",
|
||||
"bodyTextHelp": "Plain text fallback for email clients without HTML support",
|
||||
"schedule": "Schedule",
|
||||
"scheduledDate": "Scheduled Send (optional)",
|
||||
"scheduleHelp": "Leave empty to save the newsletter as a draft.",
|
||||
"created": "Newsletter created successfully",
|
||||
"errorCreating": "Error creating newsletter"
|
||||
},
|
||||
"templates": {
|
||||
"title": "Newsletter Templates",
|
||||
"subtitle": "Reusable templates for newsletters",
|
||||
"newTemplate": "New Template",
|
||||
"noTemplates": "No templates found",
|
||||
"createFirst": "Create your first newsletter template for reuse in campaigns.",
|
||||
"allTemplates": "All Templates ({count})",
|
||||
"name": "Name",
|
||||
"subject": "Subject",
|
||||
"variables": "Variables"
|
||||
},
|
||||
"status": {
|
||||
"draft": "Draft",
|
||||
"scheduled": "Scheduled",
|
||||
"sending": "Sending",
|
||||
"sent": "Sent",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"recipientStatus": {
|
||||
"pending": "Pending",
|
||||
"sent": "Sent",
|
||||
"failed": "Failed",
|
||||
"bounced": "Bounced"
|
||||
},
|
||||
"common": {
|
||||
"cancel": "Cancel",
|
||||
"creating": "Creating...",
|
||||
"create": "Create Newsletter"
|
||||
}
|
||||
}
|
||||
53
apps/web/i18n/messages/en/siteBuilder.json
Normal file
53
apps/web/i18n/messages/en/siteBuilder.json
Normal file
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"nav": {
|
||||
"pages": "Pages",
|
||||
"posts": "Posts",
|
||||
"settings": "Settings"
|
||||
},
|
||||
"pages": {
|
||||
"title": "Pages",
|
||||
"newPage": "New Page",
|
||||
"noPages": "No pages found",
|
||||
"createFirst": "Create your first page.",
|
||||
"pageTitle": "Page Title *",
|
||||
"slug": "URL Path",
|
||||
"slugPlaceholder": "Leave empty for auto-generation...",
|
||||
"membersOnly": "Members Only",
|
||||
"createAndEdit": "Create Page & Open Editor",
|
||||
"pageCreated": "Page created — opening editor",
|
||||
"errorCreating": "Error creating page",
|
||||
"notFound": "Page not found",
|
||||
"published": "Page published",
|
||||
"error": "Error"
|
||||
},
|
||||
"posts": {
|
||||
"title": "Posts",
|
||||
"newPost": "New Post",
|
||||
"noPosts": "No posts found",
|
||||
"createFirst": "Create your first post.",
|
||||
"postTitle": "Title *",
|
||||
"content": "Post content (HTML allowed)...",
|
||||
"excerpt": "Excerpt",
|
||||
"postCreated": "Post created",
|
||||
"errorCreating": "Error"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Settings",
|
||||
"saved": "Settings saved",
|
||||
"error": "Error"
|
||||
},
|
||||
"editor": {
|
||||
"publish": "Publish",
|
||||
"unpublish": "Unpublish"
|
||||
},
|
||||
"portal": {
|
||||
"loginSuccess": "Logged in successfully",
|
||||
"membersArea": "Members Area"
|
||||
},
|
||||
"blocks": {
|
||||
"news": "News",
|
||||
"events": "Events",
|
||||
"loginError": "Login error",
|
||||
"connectionError": "Connection error"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user