xref: /plugin/calendar/lang/de/lang.php (revision 22228b0ea77db31a6d52d5b3db63727729c1a5e0)
1<?php
2/**
3 * German language file for Calendar plugin
4 * Deutsche Sprachdatei für das Kalender-Plugin
5 */
6
7// Admin menu
8$lang['menu'] = 'Kalenderverwaltung';
9
10// General
11$lang['calendar'] = 'Kalender';
12$lang['events'] = 'Termine';
13$lang['event'] = 'Termin';
14$lang['today'] = 'Heute';
15$lang['tomorrow'] = 'Morgen';
16$lang['yesterday'] = 'Gestern';
17
18// Event fields
19$lang['title'] = 'Titel';
20$lang['description'] = 'Beschreibung';
21$lang['date'] = 'Datum';
22$lang['time'] = 'Uhrzeit';
23$lang['start_time'] = 'Startzeit';
24$lang['end_time'] = 'Endzeit';
25$lang['end_date'] = 'Enddatum';
26$lang['color'] = 'Farbe';
27$lang['namespace'] = 'Namensraum';
28$lang['all_day'] = 'Ganztägig';
29
30// Actions
31$lang['add_event'] = 'Termin hinzufügen';
32$lang['edit_event'] = 'Termin bearbeiten';
33$lang['delete_event'] = 'Termin löschen';
34$lang['save'] = 'Speichern';
35$lang['cancel'] = 'Abbrechen';
36$lang['close'] = 'Schließen';
37$lang['search'] = 'Suchen';
38$lang['clear'] = 'Löschen';
39
40// Task-related
41$lang['task'] = 'Aufgabe';
42$lang['mark_as_task'] = 'Als Aufgabe markieren';
43$lang['completed'] = 'Erledigt';
44$lang['past_due'] = 'Überfällig';
45
46// Recurring events
47$lang['recurring'] = 'Wiederkehrend';
48$lang['repeat'] = 'Wiederholen';
49$lang['daily'] = 'Täglich';
50$lang['weekly'] = 'Wöchentlich';
51$lang['monthly'] = 'Monatlich';
52$lang['yearly'] = 'Jährlich';
53$lang['every'] = 'Alle';
54$lang['days'] = 'Tage';
55$lang['weeks'] = 'Wochen';
56$lang['months'] = 'Monate';
57$lang['years'] = 'Jahre';
58$lang['repeat_on'] = 'Wiederholen am';
59$lang['ends'] = 'Endet';
60$lang['never'] = 'Nie';
61$lang['after_occurrences'] = 'Nach Wiederholungen';
62$lang['on_date'] = 'Am Datum';
63
64// Days of week
65$lang['sunday'] = 'Sonntag';
66$lang['monday'] = 'Montag';
67$lang['tuesday'] = 'Dienstag';
68$lang['wednesday'] = 'Mittwoch';
69$lang['thursday'] = 'Donnerstag';
70$lang['friday'] = 'Freitag';
71$lang['saturday'] = 'Samstag';
72$lang['sun'] = 'So';
73$lang['mon'] = 'Mo';
74$lang['tue'] = 'Di';
75$lang['wed'] = 'Mi';
76$lang['thu'] = 'Do';
77$lang['fri'] = 'Fr';
78$lang['sat'] = 'Sa';
79
80// Months
81$lang['january'] = 'Januar';
82$lang['february'] = 'Februar';
83$lang['march'] = 'März';
84$lang['april'] = 'April';
85$lang['may'] = 'Mai';
86$lang['june'] = 'Juni';
87$lang['july'] = 'Juli';
88$lang['august'] = 'August';
89$lang['september'] = 'September';
90$lang['october'] = 'Oktober';
91$lang['november'] = 'November';
92$lang['december'] = 'Dezember';
93
94// Messages
95$lang['no_events'] = 'Keine Termine';
96$lang['no_events_today'] = 'Keine Termine heute';
97$lang['no_events_this_month'] = 'Keine Termine in diesem Monat';
98$lang['no_events_found'] = 'Keine Termine gefunden';
99$lang['event_saved'] = 'Termin erfolgreich gespeichert';
100$lang['event_deleted'] = 'Termin erfolgreich gelöscht';
101$lang['confirm_delete'] = 'Möchten Sie diesen Termin wirklich löschen?';
102$lang['loading'] = 'Wird geladen...';
103$lang['searching'] = 'Suche läuft...';
104
105// Search
106$lang['search_this_month'] = 'Diesen Monat durchsuchen';
107$lang['search_all_dates'] = 'Alle Termine durchsuchen';
108$lang['found_events'] = '%d Termin(e) gefunden';
109
110// Sync
111$lang['sync'] = 'Synchronisieren';
112$lang['sync_now'] = 'Jetzt synchronisieren';
113$lang['last_sync'] = 'Letzte Synchronisierung';
114$lang['sync_successful'] = 'Synchronisierung erfolgreich';
115$lang['sync_failed'] = 'Synchronisierung fehlgeschlagen';
116
117// Admin sections
118$lang['manage_events'] = 'Termine verwalten';
119$lang['sync_settings'] = 'Sync-Einstellungen';
120$lang['backup_restore'] = 'Sicherung & Wiederherstellung';
121$lang['statistics'] = 'Statistiken';
122$lang['important_namespaces'] = 'Wichtige Namensräume';
123$lang['cleanup_events'] = 'Alte Termine bereinigen';
124
125// Sidebar widget
126$lang['upcoming_events'] = 'Anstehende Termine';
127$lang['important_events'] = 'Wichtige Termine';
128$lang['past_events'] = 'Vergangene Termine';
129
130// Time conflicts
131$lang['time_conflict'] = 'Zeitkonflikt';
132$lang['conflicts_with'] = 'Konflikt mit';
133
134// Admin tabs
135$lang['tab_manage'] = 'Termine verwalten';
136$lang['tab_update'] = 'Plugin aktualisieren';
137$lang['tab_sync'] = 'Outlook-Sync';
138$lang['tab_themes'] = 'Designs';
139
140// Admin manage tab sections
141$lang['event_browser'] = 'Termin-Browser';
142$lang['important_namespaces'] = 'Wichtige Namensräume';
143$lang['cleanup_events'] = 'Alte Termine bereinigen';
144$lang['backup_events'] = 'Termine sichern';
145$lang['restore_events'] = 'Termine wiederherstellen';
146
147// Admin sync tab
148$lang['outlook_sync_settings'] = 'Outlook-Sync-Einstellungen';
149$lang['sync_url'] = 'Sync-URL';
150$lang['sync_interval'] = 'Sync-Intervall';
151$lang['enable_sync'] = 'Sync aktivieren';
152$lang['test_connection'] = 'Verbindung testen';
153
154// Admin themes tab
155$lang['theme_preview'] = 'Design-Vorschau';
156$lang['select_theme'] = 'Design auswählen';
157
158// Buttons and actions
159$lang['run_now'] = 'Jetzt ausführen';
160$lang['download'] = 'Herunterladen';
161$lang['upload'] = 'Hochladen';
162$lang['delete'] = 'Löschen';
163$lang['refresh'] = 'Aktualisieren';
164$lang['view_log'] = 'Protokoll anzeigen';
165$lang['clear_log'] = 'Protokoll löschen';
166$lang['save'] = 'Speichern';
167$lang['cancel'] = 'Abbrechen';
168$lang['close'] = 'Schließen';
169$lang['preview'] = 'Vorschau';
170$lang['rescan'] = 'Neu scannen';
171$lang['select_all'] = 'Alle';
172$lang['select_none'] = 'Keine';
173$lang['move_to'] = 'Verschieben nach';
174
175// Manage Events Tab
176$lang['manage_calendar_events'] = 'Kalendertermine verwalten';
177$lang['events_manager'] = 'Termin-Manager';
178$lang['events_manager_desc'] = 'Alle Kalendertermine über alle Namensräume scannen, exportieren und importieren.';
179$lang['total_events'] = 'Termine gesamt';
180$lang['namespaces'] = 'Namensräume';
181$lang['json_files'] = 'JSON-Dateien';
182$lang['recurring'] = 'Wiederkehrend';
183$lang['last_scanned'] = 'Zuletzt gescannt';
184$lang['rescan_events'] = 'Termine neu scannen';
185$lang['export_all_events'] = 'Alle Termine exportieren';
186$lang['import_events'] = 'Termine importieren';
187$lang['import_confirm'] = 'Import wird mit vorhandenen Terminen zusammengeführt. Fortfahren?';
188$lang['view_breakdown'] = 'Aufschlüsselung nach Namensraum anzeigen';
189$lang['events_column'] = 'Termine';
190$lang['files_column'] = 'Dateien';
191$lang['default_ns'] = '(Standard)';
192
193// Important Namespaces
194$lang['important_namespaces'] = 'Wichtige Namensräume';
195$lang['important_ns_desc'] = 'Termine aus diesen Namensräumen werden im gesamten Kalender visuell hervorgehoben:';
196$lang['visual_effects'] = 'Visuelle Effekte';
197$lang['effect_grid'] = 'Kalenderraster: ⭐ Sternsymbol auf Terminbalken';
198$lang['effect_sidebar'] = 'Termin-Seitenleiste: ⭐ Stern + hervorgehobener Hintergrund + Akzentrahmen';
199$lang['effect_widget'] = 'Seitenleisten-Widget: Eigener Bereich "Wichtige Termine" + Hervorhebung';
200$lang['effect_popup'] = 'Tages-Popup: Termine mit vollständigen Details angezeigt';
201$lang['important_ns_hint'] = 'Kommagetrennte Liste von Namensraumnamen (z.B. "wichtig,dringend,rechnungen")';
202
203// Cleanup Events
204$lang['cleanup_old_events'] = 'Alte Termine bereinigen';
205$lang['cleanup_desc'] = 'Termine nach folgenden Kriterien löschen. Vor dem Löschen wird automatisch ein Backup erstellt.';
206$lang['by_age'] = 'Nach Alter';
207$lang['by_status'] = 'Nach Status';
208$lang['by_date_range'] = 'Nach Zeitraum';
209$lang['delete_older_than'] = 'Termine löschen, die älter sind als';
210$lang['months'] = 'Monate';
211$lang['years'] = 'Jahre';
212$lang['completed_tasks'] = 'Erledigte Aufgaben';
213$lang['past_events'] = 'Vergangene Termine';
214$lang['from_date'] = 'Von';
215$lang['to_date'] = 'Bis';
216$lang['namespace_filter'] = 'Namensraum';
217$lang['namespace_filter_hint'] = 'Leer lassen für alle, oder angeben: arbeit, privat, usw.';
218$lang['backup_auto'] = 'Backup wird automatisch erstellt';
219$lang['cleanup_confirm'] = 'Sind Sie sicher, dass Sie diese Termine löschen möchten? Ein Backup wird vorher erstellt, aber diese Aktion kann nicht einfach rückgängig gemacht werden.';
220$lang['no_events_match'] = 'Keine Termine entsprechen den Kriterien. Es würde nichts gelöscht werden.';
221$lang['events_would_delete'] = 'Die folgenden %d Termin(e) würden gelöscht werden:';
222$lang['loading_preview'] = 'Vorschau wird geladen...';
223$lang['error_loading'] = 'Fehler beim Laden der Vorschau';
224$lang['debug_info'] = 'Debug-Info';
225
226// Recurring Events
227$lang['recurring_events'] = 'Wiederkehrende Termine';
228$lang['trim_all_past'] = 'Alle vergangenen kürzen';
229$lang['rescan'] = 'Neu scannen';
230
231// Namespace Explorer
232$lang['namespace_explorer'] = 'Namensraum-Explorer';
233$lang['namespace_explorer_desc'] = 'Termine auswählen und zwischen Namensräumen verschieben. Drag & Drop wird ebenfalls unterstützt.';
234$lang['search_events'] = 'Termine nach Titel suchen...';
235$lang['type_or_select'] = 'Eingeben oder auswählen...';
236$lang['drop_target'] = 'Zielbereich';
237$lang['drop_here'] = 'Hier ablegen';
238
239// Recurring Events Table
240$lang['search_recurring'] = 'Wiederkehrende Termine suchen...';
241$lang['no_recurring_found'] = 'Keine wiederkehrenden Termine gefunden.';
242$lang['col_title'] = 'Titel';
243$lang['col_namespace'] = 'Namensraum';
244$lang['col_pattern'] = 'Muster';
245$lang['col_range'] = 'Zeitraum';
246$lang['col_count'] = 'Anzahl';
247$lang['col_source'] = 'Quelle';
248$lang['col_actions'] = 'Aktionen';
249$lang['source_flagged'] = 'Markiert';
250$lang['source_detected'] = 'Erkannt';
251$lang['btn_edit'] = 'Bearb.';
252$lang['btn_manage'] = 'Verwalten';
253$lang['btn_del'] = 'Lö.';
254$lang['total_series'] = 'Gesamt: %d Serien';
255
256// Recurrence patterns
257$lang['pattern_daily'] = 'Täglich';
258$lang['pattern_weekly'] = 'Wöchentlich';
259$lang['pattern_monthly'] = 'Monatlich';
260$lang['pattern_yearly'] = 'Jährlich';
261$lang['pattern_custom'] = 'Benutzerdefiniert';
262
263// Namespace Explorer control bar
264$lang['btn_move'] = 'Verschieben';
265$lang['new_namespace'] = 'Neuer Namensraum';
266$lang['cleanup_empty'] = 'Bereinigen';
267$lang['x_selected'] = '%d ausgewählt';
268$lang['zero_selected'] = '0 ausgewählt';
269
270// Button tooltips
271$lang['tooltip_edit'] = 'Titel, Zeit, Namensraum, Muster bearbeiten';
272$lang['tooltip_manage'] = 'Erweitern, kürzen, pausieren, Daten ändern';
273$lang['tooltip_delete_all'] = 'Alle Vorkommen löschen';
274
275// JavaScript messages
276$lang['no_events_selected'] = 'Keine Termine ausgewählt';
277$lang['delete_confirm'] = "%d ausgewählte Termin(e) löschen?\n\nDies kann nicht rückgängig gemacht werden!";
278$lang['delete_ns_confirm'] = "GESAMTEN Namensraum löschen: %s?\n\nDies löscht ALLE Termine in diesem Namensraum!\n\nDies kann nicht rückgängig gemacht werden!";
279$lang['scanning'] = 'Scanne...';
280$lang['cleaning'] = 'Bereinige...';
281$lang['no_empty_ns'] = 'Keine leeren Namensräume oder verwaisten Kalenderordner gefunden.';
282$lang['found_items'] = '%d Element(e) zum Bereinigen gefunden';
283$lang['proceed_cleanup'] = 'Mit Bereinigung fortfahren?';
284
285// New Namespace dialog
286$lang['enter_namespace'] = "Neuen Namensraumnamen eingeben:\n\nBeispiele:\n- arbeit\n- privat\n- projekte:alpha";
287$lang['invalid_namespace'] = "Ungültiger Namensraumname.\n\nVerwenden Sie nur Buchstaben, Zahlen, Unterstrich, Bindestrich und Doppelpunkt.\nBeispiel: arbeit:projekte:alpha";
288
289// Rename namespace dialog
290$lang['rename_namespace'] = "Namensraum umbenennen: %s\n\nNeuen Namen eingeben:";
291
292// Delete recurring series
293$lang['delete_recurring_confirm'] = "ALLE Vorkommen löschen von: %s (%s)?\n\nDies kann nicht rückgängig gemacht werden!";
294
295// Trim recurring events
296$lang['no_past_recurring'] = 'Keine vergangenen wiederkehrenden Termine zum Entfernen gefunden.';
297$lang['found_past_recurring'] = "%d vergangene wiederkehrende Termin(e) zum Entfernen gefunden.\n\nDies kann nicht rückgängig gemacht werden. Fortfahren?";
298$lang['counting'] = 'Zähle...';
299$lang['trimming'] = 'Kürze...';
300
301// Manage recurring dialog buttons
302$lang['btn_trim'] = 'Kürzen';
303$lang['btn_change'] = 'Ändern';
304$lang['btn_shift'] = 'Verschieben';
305$lang['trim_confirm'] = 'Alle Vorkommen vor %s entfernen?';
306$lang['respace_confirm'] = 'Alle zukünftigen Vorkommen neu verteilen?';
307$lang['shift_confirm'] = 'Alle Vorkommen auf neues Startdatum verschieben?';
308
309// Manage Recurring Dialog
310$lang['manage_recurring_title'] = 'Wiederkehrende Serie verwalten';
311$lang['occurrences'] = 'Vorkommen';
312$lang['extend_series'] = 'Serie erweitern';
313$lang['add_occurrences'] = 'Vorkommen hinzufügen:';
314$lang['days_apart'] = 'Tage Abstand:';
315$lang['btn_extend'] = 'Erweitern';
316$lang['trim_past_events'] = 'Vergangene Termine kürzen';
317$lang['remove_before'] = 'Entfernen vor:';
318$lang['change_pattern'] = 'Muster ändern';
319$lang['respace_note'] = 'Verteilt nur zukünftige Vorkommen neu. Vergangene Termine bleiben erhalten.';
320$lang['new_interval'] = 'Neues Intervall:';
321$lang['change_start_date'] = 'Startdatum ändern';
322$lang['shift_note'] = 'Verschiebt ALLE Vorkommen um die Differenz zwischen altem und neuem Startdatum.';
323$lang['current_label'] = 'Aktuell:';
324$lang['pause_series'] = 'Serie pausieren';
325$lang['resume_series'] = 'Serie fortsetzen';
326$lang['pause_note'] = 'Fügt ⏸ Präfix zu zukünftigen Vorkommen hinzu. Sie bleiben im Kalender, sind aber als pausiert markiert.';
327$lang['resume_note'] = 'Entfernt ⏸ Präfix und Pausiert-Markierung von allen Vorkommen.';
328$lang['btn_pause'] = 'Pausieren';
329$lang['btn_resume'] = 'Fortsetzen';
330$lang['btn_close'] = 'Schließen';
331
332// Interval options
333$lang['interval_daily'] = 'Täglich';
334$lang['interval_weekly'] = 'Wöchentlich';
335$lang['interval_biweekly'] = 'Zweiwöchentlich';
336$lang['interval_monthly'] = 'Monatlich';
337$lang['interval_quarterly'] = 'Vierteljährlich';
338$lang['interval_yearly'] = 'Jährlich';
339
340// Edit Recurring Dialog
341$lang['edit_recurring_title'] = 'Wiederkehrenden Termin bearbeiten';
342$lang['changes_apply_to'] = 'Änderungen gelten für ALLE Vorkommen von:';
343$lang['field_title'] = 'TITEL';
344$lang['field_start_time'] = 'STARTZEIT';
345$lang['field_end_time'] = 'ENDZEIT';
346$lang['field_namespace'] = 'NAMENSRAUM';
347$lang['field_color'] = 'FARBE';
348$lang['recurrence_pattern'] = 'WIEDERHOLUNGSMUSTER';
349$lang['every'] = 'Alle';
350$lang['on_days'] = 'An Tagen:';
351$lang['monthly_options'] = 'Monatliche Optionen:';
352$lang['day_of_month'] = 'Tag des Monats:';
353$lang['ordinal_weekday'] = 'Ordnungswochentag:';
354$lang['btn_save_changes'] = 'Änderungen speichern';
355$lang['btn_cancel'] = 'Abbrechen';
356
357// Ordinal labels
358$lang['ordinal_first'] = 'Erster';
359$lang['ordinal_second'] = 'Zweiter';
360$lang['ordinal_third'] = 'Dritter';
361$lang['ordinal_fourth'] = 'Vierter';
362$lang['ordinal_fifth'] = 'Fünfter';
363$lang['ordinal_last'] = 'Letzter';
364
365// Day names short
366$lang['day_sun'] = 'So';
367$lang['day_mon'] = 'Mo';
368$lang['day_tue'] = 'Di';
369$lang['day_wed'] = 'Mi';
370$lang['day_thu'] = 'Do';
371$lang['day_fri'] = 'Fr';
372$lang['day_sat'] = 'Sa';
373
374// Day names full
375$lang['day_sunday'] = 'Sonntag';
376$lang['day_monday'] = 'Montag';
377$lang['day_tuesday'] = 'Dienstag';
378$lang['day_wednesday'] = 'Mittwoch';
379$lang['day_thursday'] = 'Donnerstag';
380$lang['day_friday'] = 'Freitag';
381$lang['day_saturday'] = 'Samstag';
382
383// Recurrence type labels
384$lang['rec_days'] = 'Tag(e)';
385$lang['rec_weeks'] = 'Woche(n)';
386$lang['rec_months'] = 'Monat(e)';
387$lang['rec_years'] = 'Jahr(e)';
388
389// Backup Events
390$lang['backup_events'] = 'Termine sichern';
391$lang['backup_desc'] = 'Vollständige Backups aller Termindaten erstellen. Vorhandene Backups herunterladen oder verwalten.';
392$lang['create_backup'] = 'Backup erstellen';
393$lang['available_backups'] = 'Verfügbare Backups';
394$lang['no_backups'] = 'Keine Backups gefunden';
395$lang['backup_date'] = 'Datum';
396$lang['backup_size'] = 'Größe';
397$lang['backup_actions'] = 'Aktionen';
398$lang['delete_selected'] = 'Ausgewählte löschen';
399$lang['confirm_delete_backups'] = 'Sind Sie sicher, dass Sie die ausgewählten Backups löschen möchten?';
400
401// Edit Recurring Dialog additional strings
402$lang['default_label'] = '(Standard)';
403$lang['current_suffix'] = '(aktuell)';
404$lang['repeat_every'] = 'Wiederholen alle';
405$lang['on_these_days'] = 'An diesen Tagen:';
406$lang['repeat_on'] = 'Wiederholen am:';
407$lang['weekday_pattern'] = 'Wochentag-Muster';
408$lang['day_label'] = 'Tag';
409$lang['of_each_month'] = 'jeden Monats';
410$lang['repeat_until'] = 'Wiederholen bis (optional)';
411$lang['repeat_until_hint'] = 'Leer lassen, um vorhandenes Enddatum beizubehalten';
412
413// Update Plugin Tab
414$lang['update_plugin'] = 'Plugin aktualisieren';
415$lang['current_version'] = 'Aktuelle Version';
416$lang['version_label'] = 'Version';
417$lang['author'] = 'Autor';
418$lang['description_label'] = 'Beschreibung';
419$lang['location'] = 'Speicherort';
420$lang['permissions'] = 'Berechtigungen';
421$lang['permissions_ok'] = 'OK - bereit zur Aktualisierung';
422$lang['permissions_issues'] = 'Probleme erkannt';
423$lang['plugin_dir_not_writable'] = 'Plugin-Verzeichnis nicht beschreibbar';
424$lang['parent_dir_not_writable'] = 'Übergeordnetes Verzeichnis nicht beschreibbar';
425$lang['fix_with'] = 'Beheben mit';
426$lang['or_label'] = 'Oder';
427$lang['upload_new_version'] = 'Neue Version hochladen';
428$lang['upload_desc'] = 'Laden Sie eine Kalender-Plugin-ZIP-Datei hoch, um zu aktualisieren. Ihre Konfiguration wird beibehalten.';
429$lang['backup_before_update'] = 'Backup vor Aktualisierung erstellen (Empfohlen)';
430$lang['upload_install'] = 'Hochladen & Installieren';
431$lang['clear_cache'] = 'Cache leeren';
432$lang['clear_cache_confirm'] = 'Gesamten DokuWiki-Cache leeren? Dies aktualisiert alle Plugin-Dateien.';
433$lang['clear_cache_hint'] = 'Leeren Sie den DokuWiki-Cache, wenn Änderungen nicht erscheinen oder nach der Plugin-Aktualisierung.';
434$lang['important_notes'] = 'Wichtige Hinweise';
435$lang['note_replace_files'] = 'Dies ersetzt alle Plugin-Dateien';
436$lang['note_preserve_config'] = 'Konfigurationsdateien (sync_config.php) werden beibehalten';
437$lang['note_data_safe'] = 'Termindaten werden nicht beeinträchtigt';
438$lang['note_backup_location'] = 'Backup wird gespeichert unter';
439$lang['note_valid_zip'] = 'Stellen Sie sicher, dass die ZIP-Datei ein gültiges Kalender-Plugin ist';
440$lang['version_history'] = 'Versionsgeschichte';
441$lang['x_of_y'] = '%d von %d';
442$lang['current_release'] = 'Aktuelle Version';
443$lang['running'] = 'AKTIV';
444$lang['no_details_recorded'] = 'Keine detaillierten Änderungen aufgezeichnet';
445$lang['no_versions_found'] = 'Keine Versionen im Changelog gefunden';
446$lang['changelog_not_available'] = 'Changelog nicht verfügbar';
447$lang['backups'] = 'Backups';
448$lang['create_backup_now'] = 'Backup jetzt erstellen';
449$lang['create_backup_confirm'] = 'Ein Backup der aktuellen Plugin-Version erstellen?';
450$lang['restore_hint'] = 'Klicken Sie auf die �� Wiederherstellen-Schaltfläche, um aus einem Backup zu installieren. Dies verwendet den DokuWiki-Erweiterungs-Manager für sichere Installation. Alternativ laden Sie die ZIP herunter und laden sie über <strong>Admin → Erweiterungs-Manager → Installieren</strong> hoch.';
451$lang['select_all'] = 'Alle auswählen';
452$lang['x_selected_backups'] = '(%d ausgewählt)';
453$lang['selected'] = 'ausgewählt';
454$lang['backup_file'] = 'Backup-Datei';
455$lang['size'] = 'Größe';
456$lang['actions'] = 'Aktionen';
457$lang['download'] = 'Herunterladen';
458$lang['restore'] = 'Wiederherstellen';
459$lang['rename'] = 'Umbenennen';
460$lang['no_backups_yet'] = 'Noch keine Backups. Klicken Sie auf "Backup jetzt erstellen", um Ihr erstes Backup zu erstellen.';
461$lang['select_zip_file'] = 'Bitte wählen Sie eine ZIP-Datei aus';
462$lang['confirm_upload'] = 'Neue Plugin-Version hochladen und installieren?';
463$lang['restore_confirm'] = "Aus Backup wiederherstellen: %s?\n\nDies ersetzt die aktuellen Plugin-Dateien mit der Backup-Version.";
464$lang['restore_error'] = 'Wiederherstellung fehlgeschlagen: Backup-Datei nicht gefunden.';
465$lang['enter_new_name'] = 'Neuen Namen für das Backup eingeben:';
466$lang['delete_backup_confirm'] = 'Dieses Backup löschen: %s?';
467$lang['delete_selected_confirm'] = '%d ausgewählte Backup(s) löschen?';
468
469// Outlook Sync Tab
470$lang['outlook_sync_config'] = 'Outlook-Sync-Konfiguration';
471$lang['export_config'] = 'Konfig. exportieren';
472$lang['import_config'] = 'Konfig. importieren';
473$lang['importing'] = 'Importiere...';
474$lang['import_success'] = 'Import erfolgreich! Wird neu geladen...';
475$lang['azure_credentials'] = 'Microsoft Azure App-Anmeldedaten';
476$lang['azure_register_hint'] = 'Registrieren Sie sich im Azure-Portal → App-Registrierungen';
477$lang['tenant_id'] = 'Mandanten-ID';
478$lang['client_id'] = 'Client-ID (Anwendungs-ID)';
479$lang['client_secret'] = 'Geheimer Clientschlüssel';
480$lang['keep_secret_safe'] = 'Bewahren Sie dieses Geheimnis sicher auf!';
481$lang['outlook_settings'] = 'Outlook-Einstellungen';
482$lang['user_email'] = 'Benutzer-E-Mail';
483$lang['timezone'] = 'Zeitzone';
484$lang['default_category'] = 'Standardkategorie';
485$lang['reminder_minutes'] = 'Erinnerung (Minuten)';
486$lang['sync_options'] = 'Sync-Optionen';
487$lang['sync_completed_tasks'] = 'Erledigte Aufgaben synchronisieren';
488$lang['delete_from_outlook'] = 'Aus Outlook löschen, wenn entfernt';
489$lang['sync_all_namespaces'] = 'Alle Namensräume synchronisieren';
490$lang['select_namespaces_to_sync'] = 'Namensräume zum Synchronisieren auswählen:';
491$lang['namespace_to_category'] = 'Namensraum → Kategorie';
492$lang['ns_mapping_hint'] = 'Eine pro Zeile: namensraum=Kategorie';
493$lang['color_to_category'] = 'Terminfarbe → Kategorie';
494$lang['color_mapping_hint'] = 'Kalenderfarben zu Outlook-Kategorien zuordnen';
495$lang['none'] = '-- Keine --';
496$lang['save_configuration'] = 'Konfiguration speichern';
497$lang['config_exported'] = 'Konfiguration erfolgreich exportiert!';
498$lang['config_export_warning'] = "Diese Datei enthält verschlüsselte Anmeldedaten.\nBewahren Sie sie sicher auf!";
499$lang['export_failed'] = 'Export fehlgeschlagen';
500$lang['error'] = 'Fehler';
501$lang['sync_status'] = 'Sync-Status';
502$lang['sync_now'] = 'Jetzt synchronisieren';
503$lang['stop_sync'] = 'Sync stoppen';
504$lang['syncing'] = 'Synchronisiere...';
505$lang['last_sync_label'] = 'Letzte Synchronisierung';
506$lang['never_synced'] = 'Nie';
507$lang['sync_log'] = 'Sync-Protokoll';
508$lang['download_log'] = 'Protokoll herunterladen';
509$lang['clear_log'] = 'Protokoll löschen';
510$lang['no_log_entries'] = 'Keine Protokolleinträge';
511$lang['log_cleared'] = 'Protokoll gelöscht';
512
513// Themes Tab
514$lang['sidebar_widget_settings'] = 'Seitenleisten-Widget-Einstellungen';
515$lang['sidebar_widget_desc'] = 'Passen Sie das Erscheinungsbild und Verhalten des Kalender-Widgets in der Seitenleiste an.';
516$lang['week_start_day'] = 'Wochenstarttag';
517$lang['week_start_desc'] = 'Wählen Sie, an welchem Tag das Wochenraster beginnt:';
518$lang['monday'] = 'Montag';
519$lang['sunday'] = 'Sonntag';
520$lang['week_starts_monday'] = 'Woche beginnt am Montag (ISO-Standard)';
521$lang['week_starts_sunday'] = 'Woche beginnt am Sonntag (US/Kanada-Standard)';
522$lang['itinerary_section'] = 'Terminübersicht';
523$lang['itinerary_desc'] = 'Wählen Sie, ob die Abschnitte Heute/Morgen/Wichtige Termine standardmäßig ausgeklappt oder eingeklappt sind:';
524$lang['expanded'] = 'Ausgeklappt';
525$lang['collapsed'] = 'Eingeklappt';
526$lang['show_itinerary_default'] = 'Terminübersicht standardmäßig anzeigen';
527$lang['hide_itinerary_default'] = 'Terminübersicht standardmäßig ausblenden (Balken klicken zum Aufklappen)';
528$lang['visual_theme'] = 'Visuelles Design';
529$lang['theme_matrix'] = 'Matrix Edition';
530$lang['theme_matrix_desc'] = 'Dunkelgrünes Design mit Matrix-Leuchteffekten und Neon-Akzenten';
531$lang['theme_purple'] = 'Purple Dream';
532$lang['theme_purple_desc'] = 'Reiches lila Design mit eleganten Violett-Akzenten und sanftem Leuchten';
533$lang['theme_professional'] = 'Professional Blue';
534$lang['theme_professional_desc'] = 'Sauberes blau-graues Design mit modernem professionellem Stil, keine Leuchteffekte';
535$lang['theme_pink'] = 'Pink Bling';
536$lang['theme_pink_desc'] = 'Glamouröses pinkfarbenes Design mit maximalem Glitzer, Herzen und Diamanten ✨';
537$lang['theme_wiki'] = 'Wiki Standard';
538$lang['theme_wiki_desc'] = 'Passt automatisch zu Ihrem DokuWiki-Template-Design mit CSS-Variablen - passt sich hellen und dunklen Designs an';
539$lang['preview'] = 'Vorschau';
540$lang['save_settings'] = 'Einstellungen speichern';
541$lang['settings_saved'] = 'Einstellungen erfolgreich gespeichert!';
542
543// Sync Controls
544$lang['sync_controls'] = 'Sync-Steuerung';
545$lang['run_sync_now'] = 'Sync jetzt starten';
546$lang['stop_sync'] = 'Sync stoppen';
547$lang['no_cron_detected'] = 'Kein Cron-Job erkannt';
548$lang['running'] = 'Läuft...';
549$lang['starting_sync'] = 'Starte Sync...';
550$lang['stopping_sync'] = 'Stoppe Sync...';
551$lang['duplicate_log_warning'] = 'Doppelte Protokolleinträge: Ihre Crontab hat eine >> Umleitung. Das Sync-Skript protokolliert intern, daher verursacht dies doppelte Einträge. Entfernen Sie die Umleitung aus Ihrer Crontab.';
552$lang['show_cron_details'] = 'Cron-Details anzeigen';
553$lang['cron_setup_hint'] = 'Um automatisches Synchronisieren zu aktivieren, fügen Sie zur Crontab hinzu:';
554$lang['cron_note'] = 'Hinweis: Das Skript protokolliert automatisch nach %s. Verwenden Sie keine >> Umleitung.';
555$lang['log_not_writable'] = 'Protokolldatei nicht beschreibbar. Ausführen:';
556
557// Live Sync Log
558$lang['live_sync_log'] = 'Live-Sync-Protokoll';
559$lang['log_location'] = 'Speicherort:';
560$lang['updates_interval'] = 'Aktualisiert alle 2 Sekunden';
561$lang['pause'] = 'Pause';
562$lang['resume'] = 'Fortsetzen';
563$lang['loading_log'] = 'Protokoll wird geladen...';
564$lang['no_log_data'] = 'Keine Protokolldaten verfügbar';
565$lang['clear_log_confirm'] = "Sync-Protokoll löschen?\n\nDies löscht alle Protokolleinträge.";
566$lang['log_cleared_success'] = 'Protokoll erfolgreich gelöscht';
567
568// Color names for color mapping
569$lang['color_blue'] = 'Blau';
570$lang['color_green'] = 'Grün';
571$lang['color_red'] = 'Rot';
572$lang['color_orange'] = 'Orange';
573$lang['color_purple'] = 'Lila';
574$lang['color_teal'] = 'Türkis';
575
576// Placeholder texts
577$lang['enter_client_secret'] = 'Geheimen Clientschlüssel eingeben';
578
579// Error messages
580$lang['error_admin_required'] = 'Administratorzugriff erforderlich';
581$lang['error_unknown_action'] = 'Unbekannte Admin-Aktion';
582$lang['error_save_config'] = 'Fehler: Konfigurationsdatei konnte nicht gespeichert werden';
583$lang['error_log_not_writable'] = 'Protokolldatei nicht beschreibbar';
584
585// Update Plugin JavaScript strings
586$lang['select_zip_file'] = 'Bitte wählen Sie eine ZIP-Datei';
587$lang['upload_confirm'] = "Hochladen und installieren: %s?\n\nDies ersetzt alle Plugin-Dateien.\nIhre Konfiguration und Daten bleiben erhalten.\n\nFortfahren?";
588$lang['selected'] = 'ausgewählt';
589$lang['no_backups_selected'] = 'Keine Backups ausgewählt';
590$lang['delete_selected_confirm'] = "%d ausgewählte(s) Backup(s) löschen?\n\n%s\n\nDies kann nicht rückgängig gemacht werden!";
591$lang['deleted_with_errors'] = '%d Backups gelöscht. Fehler: %s';
592$lang['rename_prompt'] = "Neuen Backup-Namen eingeben (ohne .zip-Endung):\n\nAktuell: %s";
593$lang['invalid_filename'] = 'Ungültiger Dateiname. Verwenden Sie nur Buchstaben, Zahlen, Punkte, Bindestriche und Unterstriche.';
594
595// Additional error and status messages
596$lang['no_log_file'] = 'Keine Protokolldatei gefunden. Sync wurde noch nicht ausgeführt.';
597$lang['admin_access_required'] = 'Administratorzugriff erforderlich';
598$lang['unknown_admin_action'] = 'Unbekannte Admin-Aktion';
599
600// Configuration save messages
601$lang['config_saved_success'] = 'Konfiguration erfolgreich gespeichert!';
602$lang['config_save_error'] = 'Fehler: Konfigurationsdatei konnte nicht gespeichert werden';
603$lang['important_ns_saved'] = 'Wichtige Namensräume gespeichert';
604
605// Import/Export config messages
606$lang['export_success'] = "Konfiguration erfolgreich exportiert!\n\n⚠️ Diese Datei enthält verschlüsselte Zugangsdaten.\nBewahren Sie sie sicher auf!";
607$lang['export_failed'] = 'Export fehlgeschlagen';
608$lang['importing'] = 'Importiere...';
609$lang['import_successful'] = 'Import erfolgreich! Seite wird neu geladen...';
610$lang['import_failed'] = 'Import fehlgeschlagen';
611
612// Cleanup messages
613$lang['cleanup_complete'] = 'Bereinigung abgeschlossen';
614$lang['failed'] = 'Fehlgeschlagen';
615
616// Recurring pattern descriptions
617$lang['every_x_days'] = 'Alle %d Tage';
618$lang['every_x_weeks'] = 'Alle %d Wochen';
619$lang['every_x_months'] = 'Alle %d Monate';
620$lang['every_x_years'] = 'Alle %d Jahre';
621
622// Upload/restore messages
623$lang['failed_to_add'] = 'Hinzufügen fehlgeschlagen: %s';
624$lang['cannot_read'] = 'Kann nicht lesen: %s';
625
626// Import/cleanup messages
627$lang['import_complete'] = 'Import abgeschlossen! %d neue Termine importiert';
628$lang['cleanup_deleted'] = 'Bereinigung abgeschlossen! %d Termin(e) gelöscht. Backup erstellt: %s';
629
630// Recurring pattern labels
631$lang['daily'] = 'Täglich';
632$lang['weekly'] = 'Wöchentlich';
633$lang['bi_weekly'] = 'Zweiwöchentlich';
634$lang['monthly'] = 'Monatlich';
635$lang['quarterly'] = 'Vierteljährlich';
636$lang['semi_annual'] = 'Halbjährlich';
637$lang['yearly'] = 'Jährlich';
638
639// Day abbreviations for patterns
640$lang['day_sun'] = 'So';
641$lang['day_mon'] = 'Mo';
642$lang['day_tue'] = 'Di';
643$lang['day_wed'] = 'Mi';
644$lang['day_thu'] = 'Do';
645$lang['day_fri'] = 'Fr';
646$lang['day_sat'] = 'Sa';
647
648// Ordinal labels
649$lang['ordinal_1st'] = '1.';
650$lang['ordinal_2nd'] = '2.';
651$lang['ordinal_3rd'] = '3.';
652$lang['ordinal_4th'] = '4.';
653$lang['ordinal_5th'] = '5.';
654$lang['ordinal_last'] = 'Letzter';
655
656// Pattern format strings
657$lang['pattern_day_x'] = '%s (Tag %s)';
658$lang['pattern_ordinal_day'] = '%s (%s %s)';
659
660// Import status
661$lang['skipped_duplicates'] = ', %d Duplikate übersprungen';
662
663// AJAX response messages
664$lang['removed_past_recurring'] = '%d vergangene wiederkehrende Termine entfernt';
665$lang['added_occurrences'] = '%d neue Vorkommen hinzugefügt';
666$lang['removed_past_before'] = '%d vergangene Vorkommen vor %s entfernt';
667$lang['paused_occurrences'] = '%d zukünftige Vorkommen pausiert';
668$lang['resumed_occurrences'] = '%d Vorkommen fortgesetzt';
669$lang['start_date_unchanged'] = 'Startdatum unverändert';
670$lang['shifted_occurrences'] = '%d Vorkommen um %d Tage %s verschoben';
671$lang['respaced_occurrences'] = '%d zukünftige Vorkommen auf %s (%d Tage) umgestellt';
672$lang['sync_script_not_found'] = 'Sync-Skript nicht gefunden unter: %s';
673$lang['cannot_create_log_dir'] = 'Protokollverzeichnis kann nicht erstellt werden: %s';
674$lang['cannot_create_log_file'] = 'Protokolldatei kann nicht erstellt werden: %s';
675$lang['log_not_writable_chmod'] = 'Protokolldatei nicht beschreibbar: %s - Ausführen: chmod 666 %s';
676$lang['cannot_find_php'] = 'PHP-Binary nicht gefunden';
677$lang['sync_completed'] = 'Sync abgeschlossen! Protokoll prüfen für Details.';
678$lang['stop_signal_sent'] = 'Stopp-Signal an Sync-Prozess gesendet';
679$lang['failed_abort_flag'] = 'Abbruch-Flag konnte nicht erstellt werden';
680$lang['config_not_found'] = 'Konfigurationsdatei nicht gefunden';
681$lang['config_exported'] = 'Konfiguration erfolgreich exportiert';
682$lang['no_config_data'] = 'Keine Konfigurationsdaten vorhanden';
683$lang['decryption_failed'] = 'Entschlüsselung fehlgeschlagen. Diese Konfigurationsdatei wurde von einer anderen DokuWiki-Installation exportiert (anderer geheimer Schlüssel).';
684
685// Direction strings for shift
686$lang['forward'] = 'vorwärts';
687$lang['back'] = 'zurück';
688
689// Additional AJAX/backend messages
690$lang['no_future_to_respace'] = 'Keine zukünftigen Vorkommen zum Neuverteilen';
691$lang['sync_failed_exit'] = 'Sync fehlgeschlagen (Exit-Code: %d)';
692$lang['theme_saved_refresh'] = '✓ Design und Einstellungen erfolgreich gespeichert! Aktualisieren Sie eine beliebige Seite mit der Seitenleiste, um die Änderungen zu sehen.';
693
694// Upload/Update error messages
695$lang['upload_failed'] = 'Upload fehlgeschlagen: %s';
696$lang['no_file_uploaded'] = 'Keine Datei hochgeladen';
697$lang['dir_not_writable'] = 'Plugin-Verzeichnis ist nicht beschreibbar. Bitte überprüfen Sie die Berechtigungen: %s';
698$lang['parent_dir_not_writable'] = 'Übergeordnetes Plugin-Verzeichnis ist nicht beschreibbar. Bitte überprüfen Sie die Berechtigungen: %s';
699$lang['invalid_file_type'] = 'Ungültiger Dateityp. Bitte laden Sie eine ZIP-Datei hoch.';
700$lang['backup_not_created'] = 'Backup-Datei wurde nicht erstellt';
701$lang['backup_too_small'] = 'Backup-Datei ist zu klein (%s). Nur %d Dateien wurden hinzugefügt. Backup abgebrochen.';
702$lang['backup_incomplete'] = 'Backup unvollständig: Nur %d Dateien wurden hinzugefügt (erwartet 30+). Backup abgebrochen.';
703$lang['backup_zip_failed'] = 'ZIP-Backup-Datei konnte nicht erstellt werden';
704$lang['backup_failed'] = 'Backup fehlgeschlagen: %s';
705$lang['open_zip_failed'] = 'ZIP-Datei konnte nicht geöffnet werden';
706$lang['plugin_updated'] = 'Plugin erfolgreich aktualisiert!';
707$lang['backup_saved_as'] = ' Backup gespeichert als: %s';
708$lang['no_backup_specified'] = 'Keine Backup-Datei angegeben';
709$lang['invalid_backup_filename'] = 'Ungültiger Backup-Dateiname';
710$lang['backup_not_found'] = 'Backup-Datei nicht gefunden';
711$lang['backup_deleted'] = 'Backup gelöscht: %s';
712$lang['delete_backup_failed'] = 'Backup konnte nicht gelöscht werden. Überprüfen Sie die Dateiberechtigungen.';
713$lang['missing_filenames'] = 'Dateiname(n) fehlen';
714$lang['invalid_filename_format'] = 'Ungültiges Dateinamenformat';
715$lang['file_exists'] = 'Eine Datei mit dem neuen Namen existiert bereits';
716$lang['backup_renamed'] = 'Backup umbenannt: %s → %s';
717$lang['rename_backup_failed'] = 'Backup konnte nicht umbenannt werden. Überprüfen Sie die Dateiberechtigungen.';
718$lang['extension_manager_unavailable'] = 'DokuWiki Erweiterungsmanager nicht verfügbar. Bitte manuell installieren: Laden Sie das Backup herunter, gehen Sie zu Admin → Erweiterungen → Installieren und laden Sie die ZIP-Datei hoch.';
719$lang['plugin_restored'] = 'Plugin aus Backup wiederhergestellt: %s (via Erweiterungsmanager)';
720$lang['restore_failed'] = 'Wiederherstellung fehlgeschlagen: %s';
721$lang['dir_not_readable'] = 'Plugin-Verzeichnis ist nicht lesbar. Bitte überprüfen Sie die Berechtigungen.';
722$lang['cannot_save_backup'] = 'Übergeordnetes Plugin-Verzeichnis ist nicht beschreibbar. Backup kann nicht gespeichert werden.';
723$lang['backup_created_success'] = '✓ Manuelles Backup erfolgreich erstellt: %s (%s, %d Dateien)';
724$lang['dir_does_not_exist'] = 'Verzeichnis existiert nicht: %s';
725$lang['dir_not_readable_err'] = 'Verzeichnis ist nicht lesbar: %s';
726
727// Config import/export additional messages
728$lang['invalid_config_php_tag'] = 'Ungültige Konfigurationsdatei: PHP-Opening-Tag fehlt. Die Datei ist möglicherweise beschädigt oder stammt aus einer anderen Installation.';
729$lang['invalid_config_prohibited'] = 'Ungültige Konfigurationsdatei: enthält verbotene Code-Muster';
730$lang['invalid_config_return'] = 'Ungültige Konfigurationsdatei: muss eine return array-Anweisung enthalten';
731$lang['config_write_failed'] = 'Konfigurationsdatei konnte nicht geschrieben werden';
732$lang['config_imported'] = 'Konfiguration erfolgreich importiert';
733
734// Log file messages
735$lang['log_file_created'] = 'Protokolldatei erstellt';
736$lang['log_not_exist_create'] = 'Protokolldatei existiert nicht und kann nicht erstellt werden: %s';
737$lang['log_not_writable_sudo'] = 'Protokolldatei nicht beschreibbar. Ausführen: sudo chmod 666 %s';
738$lang['file_put_failed'] = 'file_put_contents fehlgeschlagen bei: %s';
739
740// Cache messages
741$lang['cache_cleared'] = 'Cache erfolgreich geleert!';
742$lang['cache_not_found'] = 'Cache-Verzeichnis nicht gefunden';
743
744// Recurring event messages
745$lang['deleted_recurring'] = '%d Vorkommen des wiederkehrenden Termins gelöscht: %s';
746$lang['updated_recurring'] = '%d Vorkommen des wiederkehrenden Termins aktualisiert%s';
747
748// Event management messages
749$lang['no_events_selected'] = 'Keine Termine ausgewählt';
750$lang['moved_events'] = '%d Termin(e) in Namensraum verschoben: %s';
751$lang['event_file_not_found'] = 'Termindatei nicht gefunden';
752$lang['event_read_failed'] = 'Termindatei konnte nicht gelesen werden';
753$lang['event_not_found'] = 'Termin nicht gefunden';
754$lang['moved_event'] = '"%s" nach %s verschoben';
755
756// Namespace management messages
757$lang['namespace_empty'] = 'Namensraumname darf nicht leer sein';
758$lang['namespace_invalid'] = 'Ungültiger Namensraumname. Nur Buchstaben, Zahlen, Unterstrich, Bindestrich und Doppelpunkt erlaubt.';
759$lang['namespace_exists'] = 'Namensraum \'%s\' existiert bereits mit Terminen';
760$lang['namespace_create_failed'] = 'Namensraum-Verzeichnis konnte nicht erstellt werden';
761$lang['namespace_created'] = 'Namensraum erstellt: %s';
762$lang['namespace_traversal'] = 'Ungültiger Namensraum: Pfadtraversierung nicht erlaubt';
763$lang['namespace_not_found'] = 'Namensraum-Verzeichnis nicht gefunden: %s';
764$lang['namespace_deleted'] = 'Namensraum \'%s\' gelöscht: %d Termine in %d Dateien';
765$lang['namespace_renamed'] = 'Namensraum \'%s\' in \'%s\' umbenannt: %d Termine in %d Dateien';
766$lang['old_namespace_invalid'] = 'Ungültiger alter Namensraumname. Nur Buchstaben, Zahlen, Unterstrich, Bindestrich und Doppelpunkt erlaubt.';
767$lang['new_namespace_invalid'] = 'Ungültiger neuer Namensraumname. Nur Buchstaben, Zahlen, Unterstrich, Bindestrich und Doppelpunkt erlaubt.';
768$lang['old_namespace_not_found'] = 'Altes Namensraum-Verzeichnis nicht gefunden: %s';
769$lang['new_namespace_exists'] = 'Neues Namensraum-Verzeichnis existiert bereits: %s';
770$lang['rename_failed'] = 'Verzeichnis konnte nicht umbenannt werden';
771$lang['cannot_rename_empty'] = 'Umbenennung zu leerem Namensraum nicht möglich';
772$lang['source_namespace_not_found'] = 'Quell-Namensraum nicht gefunden: %s';
773$lang['target_namespace_exists'] = 'Ziel-Namensraum existiert bereits: %s';
774$lang['rename_namespace_failed'] = 'Namensraum konnte nicht umbenannt werden';
775$lang['deleted_events'] = '%d Termin(e) gelöscht';
776
777// Cron interval strings
778$lang['runs_every_minute'] = 'Läuft jede Minute';
779$lang['runs_every_x_minutes'] = 'Läuft alle %d Minuten';
780$lang['runs_hourly'] = 'Läuft stündlich';
781$lang['runs_every_hour'] = 'Läuft jede Stunde';
782$lang['runs_every_x_hours'] = 'Läuft alle %d Stunden';
783$lang['runs_daily'] = 'Läuft täglich';
784$lang['custom_schedule'] = 'Benutzerdefinierter Zeitplan';
785
786// ========== SIDEBAR WIDGET / FRONTEND STRINGS ==========
787
788// Navigation & buttons
789$lang['today_btn'] = 'Heute';
790$lang['add_btn'] = '+ Hinzufügen';
791$lang['search_placeholder'] = '�� Suchen...';
792$lang['search_this_month'] = 'Nur diesen Monat durchsuchen';
793$lang['click_to_jump'] = 'Klicken um zum Monat zu springen';
794$lang['events_header'] = 'Termine';
795
796// Itinerary section headers
797$lang['itinerary_today'] = 'Heute';
798$lang['itinerary_tomorrow'] = 'Morgen';
799$lang['itinerary_important'] = 'Wichtige Termine';
800$lang['important_tooltip'] = 'Wichtig';
801
802// Event dialog - title
803$lang['dialog_add_event'] = 'Termin hinzufügen';
804$lang['dialog_edit_event'] = 'Termin bearbeiten';
805
806// Event dialog - labels
807$lang['field_title'] = '�� Titel';
808$lang['field_title_placeholder'] = 'Termin- oder Aufgabentitel...';
809$lang['field_namespace'] = '�� Namensraum';
810$lang['field_namespace_placeholder'] = 'Tippen zum Suchen oder leer lassen für Standard...';
811$lang['field_description'] = '�� Beschreibung';
812$lang['field_description_placeholder'] = 'Optionale Details...';
813$lang['field_start_date'] = '�� Startdatum';
814$lang['field_end_date'] = '�� Enddatum';
815$lang['field_start_time'] = '�� Startzeit';
816$lang['field_end_time'] = '�� Endzeit';
817$lang['field_color'] = '�� Farbe';
818
819// Event dialog - time options
820$lang['time_all_day'] = 'Ganztägig';
821$lang['time_same_as_start'] = 'Wie Startzeit';
822
823// Event dialog - recurring options
824$lang['recurring_label'] = '�� Wiederholender Termin';
825$lang['recurring_repeat_every'] = 'Wiederholen alle';
826$lang['recurring_days'] = 'Tag(e)';
827$lang['recurring_weeks'] = 'Woche(n)';
828$lang['recurring_months'] = 'Monat(e)';
829$lang['recurring_years'] = 'Jahr(e)';
830$lang['recurring_on_these_days'] = 'An diesen Tagen:';
831$lang['recurring_repeat_on'] = 'Wiederholen am:';
832$lang['recurring_day_of_month'] = 'Tag des Monats';
833$lang['recurring_weekday_pattern'] = 'Wochentagmuster';
834$lang['recurring_day'] = 'Tag';
835$lang['recurring_of_each_month'] = 'jeden Monat';
836$lang['recurring_until'] = 'Wiederholen bis (optional)';
837$lang['recurring_until_hint'] = 'Leer lassen für 1 Jahr Termine';
838
839// Ordinal positions
840$lang['ordinal_first'] = 'Erster';
841$lang['ordinal_second'] = 'Zweiter';
842$lang['ordinal_third'] = 'Dritter';
843$lang['ordinal_fourth'] = 'Vierter';
844$lang['ordinal_fifth'] = 'Fünfter';
845$lang['ordinal_last'] = 'Letzter';
846
847// Day names (short)
848$lang['day_sun'] = 'So';
849$lang['day_mon'] = 'Mo';
850$lang['day_tue'] = 'Di';
851$lang['day_wed'] = 'Mi';
852$lang['day_thu'] = 'Do';
853$lang['day_fri'] = 'Fr';
854$lang['day_sat'] = 'Sa';
855
856// Day names (full)
857$lang['day_sunday'] = 'Sonntag';
858$lang['day_monday'] = 'Montag';
859$lang['day_tuesday'] = 'Dienstag';
860$lang['day_wednesday'] = 'Mittwoch';
861$lang['day_thursday'] = 'Donnerstag';
862$lang['day_friday'] = 'Freitag';
863$lang['day_saturday'] = 'Samstag';
864
865// Color names
866$lang['color_blue'] = '�� Blau';
867$lang['color_green'] = '�� Grün';
868$lang['color_red'] = '�� Rot';
869$lang['color_orange'] = '�� Orange';
870$lang['color_purple'] = '�� Lila';
871$lang['color_pink'] = '�� Rosa';
872$lang['color_teal'] = '�� Türkis';
873$lang['color_custom'] = '�� Benutzerdefiniert...';
874
875// Task checkbox
876$lang['task_label'] = '�� Dies ist eine Aufgabe (kann abgehakt werden)';
877
878// Dialog buttons
879$lang['btn_cancel'] = 'Abbrechen';
880$lang['btn_save'] = '�� Speichern';
881$lang['btn_delete'] = 'Löschen';
882
883// Default event title
884$lang['default_event'] = 'Termin';
885$lang['no_upcoming_events'] = 'Keine anstehenden Termine';
886
887// Range headers
888$lang['range_today'] = 'Heute';
889$lang['range_this_week'] = 'Diese Woche';
890
891// Month names (full) - for JavaScript
892$lang['month_january'] = 'Januar';
893$lang['month_february'] = 'Februar';
894$lang['month_march'] = 'März';
895$lang['month_april'] = 'April';
896$lang['month_may'] = 'Mai';
897$lang['month_june'] = 'Juni';
898$lang['month_july'] = 'Juli';
899$lang['month_august'] = 'August';
900$lang['month_september'] = 'September';
901$lang['month_october'] = 'Oktober';
902$lang['month_november'] = 'November';
903$lang['month_december'] = 'Dezember';
904
905// Month names (short) - for JavaScript
906$lang['month_jan'] = 'Jan';
907$lang['month_feb'] = 'Feb';
908$lang['month_mar'] = 'Mär';
909$lang['month_apr'] = 'Apr';
910$lang['month_may_short'] = 'Mai';
911$lang['month_jun'] = 'Jun';
912$lang['month_jul'] = 'Jul';
913$lang['month_aug'] = 'Aug';
914$lang['month_sep'] = 'Sep';
915$lang['month_oct'] = 'Okt';
916$lang['month_nov'] = 'Nov';
917$lang['month_dec'] = 'Dez';
918
919// JavaScript UI strings
920$lang['events_for_date'] = 'Termine - %s';
921$lang['past_events'] = 'Vergangene Termine (%d)';
922$lang['no_events_day'] = 'Keine Termine an diesem Tag';
923$lang['add_event_btn'] = '+ Termin hinzufügen';
924$lang['add_event_short'] = '+ TERMIN';
925$lang['delete_event_confirm'] = 'Diesen Termin löschen?';
926
927// Badge labels
928$lang['badge_past_due'] = 'ÜBERFÄLLIG';
929$lang['badge_today'] = 'HEUTE';
930
931// Additional messages
932$lang['no_events_month'] = 'Keine Termine diesen Monat';
933$lang['no_events_week'] = 'Keine Termine diese Woche';
934