mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-19 13:21:46 +00:00
f46cc8a98e
* feat(days): reorder whole days and insert a day at a position Adds reorderDays + insertDay to the day service and a PUT /days/reorder route (plus an optional position on create). Day rows stay stable so a day's assignments, notes, bookings and accommodations ride along by id; on a dated trip the calendar dates stay pinned to their slots while the content moves across them, and each booking's date is re-stamped onto its day's new date (time-of-day preserved) so day_id stays consistent. Renumbering uses the two-phase write to avoid the UNIQUE(trip_id, day_number) collision, and a move that would invert an accommodation's check-in/out span is rejected. * feat(planner): reorder days from a toolbar popup, and add days A new toolbar button opens a popup listing the days; drag a row by its grip or use the up/down arrows to reorder, and add a day from there. Reorders apply optimistically with rollback and sync over WebSocket; the day headers are left untouched, so the existing place drop-targets are unaffected. * i18n: add day-reorder strings across all languages
61 lines
2.8 KiB
TypeScript
61 lines
2.8 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
|
|
|
const dayplan: TranslationStrings = {
|
|
'dayplan.icsTooltip': 'Kalender exportieren (ICS)',
|
|
'dayplan.emptyDay': 'Keine Orte für diesen Tag geplant',
|
|
'dayplan.cannotReorderTransport':
|
|
'Buchungen mit fester Uhrzeit können nicht verschoben werden',
|
|
'dayplan.confirmRemoveTimeTitle': 'Uhrzeit entfernen?',
|
|
'dayplan.confirmRemoveTimeBody':
|
|
'Dieser Ort hat eine feste Uhrzeit ({time}). Durch das Verschieben wird die Uhrzeit entfernt und der Ort kann frei sortiert werden.',
|
|
'dayplan.confirmRemoveTimeAction': 'Uhrzeit entfernen & verschieben',
|
|
'dayplan.confirmDeleteNoteTitle': 'Notiz löschen?',
|
|
'dayplan.confirmDeleteNoteBody': 'Diese Notiz wird dauerhaft gelöscht.',
|
|
'dayplan.cannotDropOnTimed':
|
|
'Orte können nicht zwischen zeitgebundene Einträge geschoben werden',
|
|
'dayplan.cannotBreakChronology':
|
|
'Die zeitliche Reihenfolge von Uhrzeiten und Buchungen darf nicht verletzt werden',
|
|
'dayplan.addNote': 'Notiz hinzufügen',
|
|
'dayplan.expandAll': 'Alle Tage ausklappen',
|
|
'dayplan.collapseAll': 'Alle Tage einklappen',
|
|
'dayplan.editNote': 'Notiz bearbeiten',
|
|
'dayplan.noteAdd': 'Notiz hinzufügen',
|
|
'dayplan.noteEdit': 'Notiz bearbeiten',
|
|
'dayplan.noteTitle': 'Notiz',
|
|
'dayplan.noteSubtitle': 'Tagesnotiz',
|
|
'dayplan.totalCost': 'Gesamtkosten',
|
|
'dayplan.days': 'Tage',
|
|
'dayplan.dayN': 'Tag {n}',
|
|
'dayplan.calculating': 'Berechne...',
|
|
'dayplan.route': 'Route',
|
|
'dayplan.optimize': 'Optimieren',
|
|
'dayplan.optimized': 'Route optimiert',
|
|
'dayplan.routeError': 'Fehler bei der Routenberechnung',
|
|
'dayplan.toast.needTwoPlaces':
|
|
'Mindestens zwei Orte für Routenoptimierung nötig',
|
|
'dayplan.toast.routeOptimized': 'Route optimiert',
|
|
'dayplan.toast.routeOptimizedFromHotel': 'Route ab deiner Unterkunft optimiert',
|
|
'dayplan.toast.noGeoPlaces':
|
|
'Keine Orte mit Koordinaten für Routenberechnung gefunden',
|
|
'dayplan.confirmed': 'Bestätigt',
|
|
'dayplan.pendingRes': 'Ausstehend',
|
|
'dayplan.pdf': 'PDF',
|
|
'dayplan.pdfTooltip': 'Tagesplan als PDF exportieren',
|
|
'dayplan.pdfError': 'Fehler beim PDF-Export',
|
|
'dayplan.mobile.addPlace': 'Ort hinzufügen',
|
|
'dayplan.mobile.searchPlaces': 'Orte suchen...',
|
|
'dayplan.mobile.allAssigned': 'Alle Orte zugeordnet',
|
|
'dayplan.mobile.noMatch': 'Kein Treffer',
|
|
'dayplan.mobile.createNew': 'Neuen Ort erstellen',
|
|
'dayplan.reorderDays': 'Tage neu anordnen',
|
|
'dayplan.reorderTitle': 'Tage neu anordnen',
|
|
'dayplan.reorderHint': 'Orte, Notizen und Buchungen eines Tages werden mitverschoben.',
|
|
'dayplan.addDay': 'Tag hinzufügen',
|
|
'dayplan.moveUp': 'Nach oben',
|
|
'dayplan.moveDown': 'Nach unten',
|
|
'dayplan.reorderUndo': 'Tage neu anordnen',
|
|
'dayplan.reorderError': 'Tage konnten nicht neu angeordnet werden',
|
|
'dayplan.addDayError': 'Tag konnte nicht hinzugefügt werden',
|
|
};
|
|
export default dayplan;
|