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