- Schlaukopf.de clone: Subject Content Management System (7 categories, 416 topics) - AI Integration: Pollination AI, OpenAI, Anthropic (chat, image/video generation) - Virtual Character System: 5 animated characters (Owl, Dragon, Robot, Cat, Wizard) - Illness Reporting with Parent Approval: privacy-first, student reports need parent approval - Student-Teacher Communication Rooms: real-time chat, voice, file sharing - Counseling/Guidance System: 4 types, calendar integration - Disciplinary Committee System: case management, severity levels - AI Test Generation: auto-generate practice tests before exams - Teacher Grading Review: AI-powered grading audit - VICE_PRINCIPAL role with same privileges as SCHOOL_ADMIN - Class responsible teacher (Klassenlehrer) field - 15 new Prisma models (80+ total) - 30+ new API route files - 8 new frontend components - 400+ i18n keys - Professional styling with gradient headers, animated counters, skeleton loading
8902 lines
418 KiB
TypeScript
8902 lines
418 KiB
TypeScript
// CompetenceTrack — i18n (German + English)
|
||
// Simple translation system: t(key) returns the string for the current locale
|
||
|
||
type TranslationDict = Record<string, string>;
|
||
|
||
const de: TranslationDict = {
|
||
// App branding
|
||
'app.name': 'CompetenceTrack',
|
||
'app.subtitle': 'Freie Kompetenz- & Benotungsplattform für Schulen',
|
||
'app.tagline': 'Open-Source Software für kompetenzorientierte Beurteilung',
|
||
|
||
// Navigation
|
||
'nav.dashboard': 'Dashboard',
|
||
'nav.classes': 'Klassen & Schüler',
|
||
'nav.competencies': 'Kompetenzraster',
|
||
'nav.progress': 'Lernfortschritt',
|
||
'nav.flower': 'Kompetenzblume',
|
||
'nav.assessments': 'Leistungsüberprüfungen',
|
||
'nav.grading': 'Benotung',
|
||
'nav.reports': 'Berichte',
|
||
'nav.student-detail': 'Schülerprofil',
|
||
|
||
// Common actions
|
||
'action.save': 'Speichern',
|
||
'action.cancel': 'Abbrechen',
|
||
'action.delete': 'Löschen',
|
||
'action.edit': 'Bearbeiten',
|
||
'action.add': 'Hinzufügen',
|
||
'action.create': 'Erstellen',
|
||
'action.search': 'Suchen',
|
||
'action.filter': 'Filtern',
|
||
'action.export': 'Exportieren',
|
||
'action.close': 'Schließen',
|
||
'action.back': 'Zurück',
|
||
'action.next': 'Weiter',
|
||
'action.confirm': 'Bestätigen',
|
||
'action.refresh': 'Aktualisieren',
|
||
'action.download': 'Herunterladen',
|
||
'action.preview': 'Vorschau',
|
||
'action.assign': 'Zuweisen',
|
||
'action.select': 'Auswählen',
|
||
'action.view': 'Anzeigen',
|
||
'action.print': 'Drucken',
|
||
'action.generate': 'Erzeugen',
|
||
'action.finalize': 'Finalisieren',
|
||
'action.override': 'Überschreiben',
|
||
'action.log_entry': 'Eintrag loggen',
|
||
'action.create_assessment': 'Überprüfung erstellen',
|
||
'action.generate_report': 'Bericht erstellen',
|
||
|
||
// Auth
|
||
'auth.login': 'Anmelden',
|
||
'auth.register': 'Registrieren',
|
||
'auth.logout': 'Abmelden',
|
||
'auth.email': 'E-Mail',
|
||
'auth.password': 'Passwort',
|
||
'auth.firstName': 'Vorname',
|
||
'auth.lastName': 'Nachname',
|
||
'auth.login_title': 'Bei CompetenceTrack anmelden',
|
||
'auth.register_title': 'Neues Konto erstellen',
|
||
'auth.login_subtitle': 'Geben Sie Ihre Zugangsdaten ein',
|
||
'auth.register_subtitle': 'Erstellen Sie ein kostenloses Konto',
|
||
'auth.no_account': 'Noch kein Konto?',
|
||
'auth.has_account': 'Bereits ein Konto?',
|
||
'auth.error.invalid_credentials': 'Ungültige Zugangsdaten',
|
||
'auth.error.email_exists': 'E-Mail bereits registriert',
|
||
'auth.error.generic': 'Ein Fehler ist aufgetreten',
|
||
'auth.welcome_back': 'Willkommen zurück',
|
||
|
||
// Form labels
|
||
'label.name': 'Name',
|
||
'label.date': 'Datum',
|
||
'label.note': 'Bemerkung',
|
||
'label.score': 'Punktzahl',
|
||
'label.level': 'Niveau',
|
||
'label.subject': 'Fach',
|
||
'label.class': 'Klasse',
|
||
'label.grade': 'Jahrgangsstufe',
|
||
'label.type': 'Typ',
|
||
'label.weight': 'Gewichtung',
|
||
'label.max_score': 'Maximale Punktzahl',
|
||
'label.description': 'Beschreibung',
|
||
'label.school_type': 'Schulform',
|
||
'label.period': 'Zeitraum',
|
||
'label.school_year': 'Schuljahr',
|
||
'label.status': 'Status',
|
||
'label.category': 'Kategorie',
|
||
'label.competency': 'Kompetenz',
|
||
'label.mastery': 'Kompetenzniveau',
|
||
'label.weight_percent': 'Gewichtung (%)',
|
||
'label.source_type': 'Quelltyp',
|
||
'label.target': 'Bezug',
|
||
'label.scale_definition': 'Notenskala',
|
||
'label.scheme_type': 'Notenschema-Typ',
|
||
'label.student_count': 'Schüleranzahl',
|
||
'label.external_id': 'Externe ID',
|
||
'label.date_of_birth': 'Geburtsdatum',
|
||
'label.first_name': 'Vorname',
|
||
'label.last_name': 'Nachname',
|
||
|
||
// Status labels
|
||
'status.active': 'Aktiv',
|
||
'status.draft': 'Entwurf',
|
||
'status.final': 'Final',
|
||
'status.pending': 'Ausstehend',
|
||
'status.processing': 'In Bearbeitung',
|
||
'status.completed': 'Erledigt',
|
||
'status.failed': 'Fehlgeschlagen',
|
||
'status.enrolled': 'Eingeschult',
|
||
'status.not_yet_assessed': 'Noch nicht beurteilt',
|
||
|
||
// Subject names
|
||
'subject.math': 'Mathematik',
|
||
'subject.german': 'Deutsch',
|
||
'subject.english': 'Englisch',
|
||
'subject.science': 'Naturwissenschaften',
|
||
'subject.art': 'Kunst',
|
||
'subject.music': 'Musik',
|
||
'subject.physical_ed': 'Sport',
|
||
'subject.history': 'Geschichte',
|
||
'subject.geography': 'Geographie',
|
||
'subject.religion': 'Religion',
|
||
|
||
// School types
|
||
'school_type.elementary': 'Grundschule',
|
||
'school_type.middle': 'Mittelschule',
|
||
'school_type.gymnasium': 'Gymnasium',
|
||
'school_type.other': 'Andere',
|
||
|
||
// Mastery levels
|
||
'mastery.1': 'noch nicht erreicht',
|
||
'mastery.2': 'entwickelt sich',
|
||
'mastery.3': 'kompetent',
|
||
'mastery.4': 'weit entwickelt',
|
||
'mastery.level_1': 'Niveau 1 — noch nicht erreicht',
|
||
'mastery.level_2': 'Niveau 2 — entwickelt sich',
|
||
'mastery.level_3': 'Niveau 3 — kompetent',
|
||
'mastery.level_4': 'Niveau 4 — weit entwickelt',
|
||
|
||
// Assessment types
|
||
'assessment_type.test': 'Klassenarbeit',
|
||
'assessment_type.oral': 'Mündliche Prüfung',
|
||
'assessment_type.project': 'Projekt',
|
||
'assessment_type.homework': 'Hausaufgabe',
|
||
'assessment_type.other': 'Sonstige',
|
||
|
||
// Grading scheme types
|
||
'grading_type.numeric': 'Ziffernnote',
|
||
'grading_type.verbal': 'Verbale Beurteilung',
|
||
'grading_type.combined': 'Kombiniert',
|
||
|
||
// Grading weight source types
|
||
'weight_source.learning_progress': 'Lernfortschritt',
|
||
'weight_source.assessment': 'Leistungsüberprüfung',
|
||
|
||
// Dashboard
|
||
'dashboard.welcome': 'Willkommen',
|
||
'dashboard.overview': 'Übersicht',
|
||
'dashboard.classes': 'Meine Klassen',
|
||
'dashboard.recent_activity': 'Letzte Aktivitäten',
|
||
'dashboard.students_attention': 'Schüler mit Förderbedarf',
|
||
'dashboard.stats': 'Statistik',
|
||
'dashboard.total_students': 'Schüler insgesamt',
|
||
'dashboard.total_entries': 'Einträge insgesamt',
|
||
'dashboard.total_assessments': 'Überprüfungen insgesamt',
|
||
'dashboard.total_classes': 'Klassen insgesamt',
|
||
'dashboard.total_reports': 'Berichte insgesamt',
|
||
'dashboard.quick_actions': 'Schnellzugriff',
|
||
'dashboard.quick_actions_subtitle': 'Häufige Aktionen direkt erreichbar',
|
||
'dashboard.quick_action_attendance': 'Anwesenheit',
|
||
'dashboard.quick_action_attendance_desc': 'Anwesenheitssitzung für eine Klasse erfassen.',
|
||
'dashboard.quick_action_assessment_desc': 'Neue Leistungsüberprüfung anlegen.',
|
||
'dashboard.quick_action_report_desc': 'Zeugnis- oder Entwicklungsbericht erstellen.',
|
||
'dashboard.quick_action_parent': 'Elterngespräch',
|
||
'dashboard.quick_action_parent_desc': 'Nachricht an Eltern verfassen oder beantworten.',
|
||
'dashboard.no_classes': 'Keine Klassen vorhanden. Erstellen Sie eine Klasse, um zu beginnen.',
|
||
'dashboard.no_recent_activity': 'Keine aktuellen Aktivitäten.',
|
||
'dashboard.no_students_attention': 'Alle Schüler sind auf einem guten Weg!',
|
||
'dashboard.student_name': 'Schüler',
|
||
'dashboard.average_mastery': 'Durchschnittsniveau',
|
||
'dashboard.class_name': 'Klasse',
|
||
'dashboard.competency_name': 'Kompetenz',
|
||
'dashboard.entry_date': 'Datum',
|
||
'dashboard.mastery_level': 'Niveau',
|
||
'dashboard.teacher': 'Lehrkraft',
|
||
'dashboard.this_week': 'Diese Woche',
|
||
'dashboard.all_time': 'Gesamt',
|
||
|
||
// Classes view
|
||
'classes.title': 'Klassen & Schüler',
|
||
'classes.select_class': 'Wählen Sie eine Klasse',
|
||
'classes.class_details': 'Klassendetails',
|
||
'classes.student_roster': 'Schülerliste',
|
||
'classes.add_student': 'Schüler hinzufügen',
|
||
'classes.add_student_title': 'Neuen Schüler hinzufügen',
|
||
'classes.enroll_student': 'Schüler einschulen',
|
||
'classes.enroll_student_title': 'Bestehenden Schüler einschulen',
|
||
'classes.assign_template': 'Kompetenzraster zuweisen',
|
||
'classes.create_class': 'Neue Klasse erstellen',
|
||
'classes.no_students': 'Keine Schüler in dieser Klasse.',
|
||
'classes.no_classes': 'Keine Klassen vorhanden.',
|
||
'classes.enrollment_status': 'Einschulungsstatus',
|
||
'classes.entry_count': 'Einträge',
|
||
'classes.teacher_list': 'Lehrkräfte',
|
||
'classes.homeroom_teacher': 'Klassenleitung',
|
||
'classes.subject_teacher': 'Fachlehrkraft',
|
||
'classes.grade_level': 'Jahrgangsstufe',
|
||
'classes.school_year_label': 'Schuljahr',
|
||
|
||
// Competency grid view
|
||
'competencies.title': 'Kompetenzraster',
|
||
'competencies.template_library': 'Raster-Bibliothek',
|
||
'competencies.template_details': 'Raster-Details',
|
||
'competencies.assign_to_class': 'Klasse zuweisen',
|
||
'competencies.categories': 'Kategorien',
|
||
'competencies.competencies': 'Kompetenzen',
|
||
'competencies.mastery_levels': 'Kompetenzniveaus',
|
||
'competencies.no_templates': 'Keine Kompetenzraster vorhanden.',
|
||
'competencies.no_categories': 'Keine Kategorien definiert.',
|
||
'competencies.grid_structure': 'Rasterstruktur',
|
||
'competencies.assignments': 'Zuweisungen',
|
||
'competencies.quick_guide_title': 'Schnellübersicht',
|
||
'competencies.quick_guide_subtitle': 'Überblick über Ihre Kompetenzraster-Bibliothek',
|
||
'competencies.total_templates': 'Raster',
|
||
'competencies.total_categories': 'Kategorien',
|
||
'competencies.total_competencies': 'Kompetenzen',
|
||
'competencies.by_subject_breakdown': 'Kompetenzen nach Fach',
|
||
'competencies.no_subjects_yet': 'Noch keine Fächer zugewiesen.',
|
||
'competencies.recent_templates': 'Raster-Bibliothek',
|
||
'competencies.no_recent_templates': 'Noch keine Raster angelegt.',
|
||
'competencies.no_subject': 'Ohne Fach',
|
||
'competencies.filter_school_type': 'Schulform',
|
||
'competencies.filter_subject': 'Fach',
|
||
'competencies.filter_grade': 'Jahrgangsstufe',
|
||
'competencies.global_template': 'Globaler Raster',
|
||
'competencies.school_template': 'Schulraster',
|
||
'competencies.assignment_exists': 'Raster bereits zugewiesen',
|
||
'competencies.assignment_success': 'Raster erfolgreich zugewiesen',
|
||
'competencies.create_template': 'Neues Raster erstellen',
|
||
'competencies.version': 'Version',
|
||
'competencies.grade_range': 'Jahrgangsstufe {min}–{max}',
|
||
'competencies.used_in_classes': 'Verwendet in {count} Klasse(n)',
|
||
|
||
// Progress entries view
|
||
'progress.title': 'Lernfortschritt',
|
||
'progress.select_class': 'Klasse auswählen',
|
||
'progress.select_student': 'Schüler auswählen',
|
||
'progress.log_entry': 'Eintrag loggen',
|
||
'progress.log_entry_title': 'Neuen Lernfortschritt loggen',
|
||
'progress.timeline': 'Zeitleiste',
|
||
'progress.student_timeline': 'Schüler-Zeitleiste',
|
||
'progress.no_entries': 'Keine Einträge vorhanden.',
|
||
'progress.entry_saved': 'Eintrag gespeichert',
|
||
'progress.bulk_saved': 'Einträge gespeichert',
|
||
'progress.select_competency': 'Kompetenz auswählen',
|
||
'progress.mastery_level': 'Kompetenzniveau',
|
||
'progress.note_optional': 'Bemerkung (optional)',
|
||
'progress.date': 'Datum',
|
||
'progress.category': 'Kategorie',
|
||
'progress.competency': 'Kompetenz',
|
||
'progress.competency_code': 'Code',
|
||
'progress.no_class_selected': 'Wählen Sie eine Klasse, um die Schülerliste zu sehen.',
|
||
'progress.no_students': 'Keine Schüler in dieser Klasse.',
|
||
'progress.no_template_assigned': 'Kein Kompetenzraster für dieses Fach zugewiesen. Weisen Sie zuerst ein Raster zu.',
|
||
'progress.select_subject': 'Fach auswählen',
|
||
'progress.empty_step_title': 'Lernfortschritte erfassen',
|
||
'progress.empty_step_subtitle': 'Wählen Sie eine Klasse und ein Fach, um individuelle Lernfortschritte zu dokumentieren.',
|
||
'progress.how_it_works_title': 'So funktioniert\u2019s',
|
||
'progress.how_it_works_subtitle': 'In drei Schritten zum ersten Lernfortschritt',
|
||
'progress.empty_step1_title': 'Klasse wählen',
|
||
'progress.empty_step1_desc': 'Wählen Sie oben eine Klasse aus dem Dropdown.',
|
||
'progress.empty_step2_title': 'Fach wählen',
|
||
'progress.empty_step2_desc': 'Wählen Sie das Fach, dessen Kompetenzen Sie bewerten möchten.',
|
||
'progress.empty_step3_title': 'Fortschritt eintragen',
|
||
'progress.empty_step3_desc': 'Klicken Sie auf eine Kompetenz und tragen Sie das Niveau (1–4) ein.',
|
||
|
||
// Competence flower view
|
||
'flower.title': 'Kompetenzblume',
|
||
'flower.select_class': 'Klasse auswählen',
|
||
'flower.select_student': 'Schüler auswählen',
|
||
'flower.select_subject': 'Fach auswählen',
|
||
'flower.radar_chart': 'Kompetenzblume',
|
||
'flower.breakdown': 'Detailübersicht',
|
||
'flower.category': 'Kategorie',
|
||
'flower.average_mastery': 'Durchschnittsniveau',
|
||
'flower.assessed': 'Beurteilt',
|
||
'flower.total': 'Gesamt',
|
||
'flower.export_chart': 'Diagramm exportieren',
|
||
'flower.no_data': 'Wählen Sie Klasse, Fach und Schüler, um die Kompetenzblume zu sehen.',
|
||
'flower.no_progress': 'Keine Lernfortschrittsdaten für diesen Schüler vorhanden.',
|
||
'flower.petal_legend': 'Jede Achse zeigt den Durchschnitt der Kompetenzniveaus pro Kategorie',
|
||
|
||
// Assessments view
|
||
'assessments.title': 'Leistungsüberprüfungen',
|
||
'assessments.list': 'Überprüfungen',
|
||
'assessments.create': 'Neue Überprüfung erstellen',
|
||
'assessments.create_title': 'Neue Leistungsüberprüfung erstellen',
|
||
'assessments.bulk_grading': 'Bulk-Benotung',
|
||
'assessments.bulk_grading_title': 'Benotung für {title}',
|
||
'assessments.select_class': 'Klasse auswählen',
|
||
'assessments.select_subject': 'Fach auswählen',
|
||
'assessments.no_assessments': 'Keine Leistungsüberprüfungen vorhanden.',
|
||
'assessments.results_count': 'Ergebnisse',
|
||
'assessments.linked_competencies': 'Verknüpfte Kompetenzen',
|
||
'assessments.enter_scores': 'Punkte eingeben',
|
||
'assessments.scores_saved': 'Punkte gespeichert',
|
||
'assessments.no_students': 'Keine Schüler vorhanden.',
|
||
'assessments.assessment_type': 'Überprüfungstyp',
|
||
'assessments.max_score': 'Maximale Punktzahl',
|
||
'assessments.weight': 'Gewichtung',
|
||
'assessments.link_competency': 'Kompetenz verknüpfen',
|
||
|
||
// Grading view
|
||
'grading.title': 'Benotung',
|
||
'grading.schemes': 'Notenschemata',
|
||
'grading.weight_rules': 'Gewichtung',
|
||
'grading.computed_grades': 'Berechnete Noten',
|
||
'grading.breakdown': 'Notenaufschlüsselung',
|
||
'grading.create_scheme': 'Notenschema erstellen',
|
||
'grading.create_scheme_title': 'Neues Notenschema erstellen',
|
||
'grading.add_weight_rule': 'Gewichtung hinzufügen',
|
||
'grading.override_grade': 'Note überschreiben',
|
||
'grading.override_reason': 'Begründung der Überschreibung',
|
||
'grading.compute_grades': 'Noten berechnen',
|
||
'grading.grades_computed': 'Noten berechnet',
|
||
'grading.no_schemes': 'Keine Notenschemata vorhanden.',
|
||
'grading.no_grades': 'Noch keine Noten berechnet.',
|
||
'grading.select_class': 'Klasse auswählen',
|
||
'grading.select_subject': 'Fach auswählen',
|
||
'grading.select_scheme': 'Schema auswählen',
|
||
'grading.student': 'Schüler',
|
||
'grading.computed_value': 'Berechneter Wert',
|
||
'grading.finalized': 'Finalisiert',
|
||
'grading.overridden': 'Überschrieben',
|
||
'grading.period': 'Halbjahr',
|
||
|
||
// Reports view
|
||
'reports.title': 'Berichte',
|
||
'reports.generate': 'Bericht erstellen',
|
||
'reports.generate_title': 'Neuen Bericht erstellen',
|
||
'reports.preview': 'Berichtsvorschau',
|
||
'reports.export_pdf': 'Als PDF exportieren',
|
||
'reports.bulk_generate': 'Bulk-Erstellung für Klasse',
|
||
'reports.select_student': 'Schüler auswählen',
|
||
'reports.select_class': 'Klasse auswählen',
|
||
'reports.draft_reports': 'Entwurfsberichte',
|
||
'reports.final_reports': 'Finalisierte Berichte',
|
||
'reports.no_reports': 'Keine Berichte vorhanden.',
|
||
'reports.sections': 'Berichtsteile',
|
||
'reports.generated_by': 'Erstellt von',
|
||
'reports.generated_at': 'Erstellt am',
|
||
'reports.includes_grades': 'Mit Noten',
|
||
'reports.finalize_report': 'Bericht finalisieren',
|
||
'reports.edit_section': 'Berichtsteil bearbeiten',
|
||
'reports.section_text': 'Text',
|
||
'reports.category_name': 'Kategorie',
|
||
'reports.report_saved': 'Bericht gespeichert',
|
||
'reports.report_finalized': 'Bericht finalisiert',
|
||
'reports.select_period': 'Zeitraum auswählen',
|
||
'reports.empty_subtitle': 'Wählen Sie eine Klasse aus, um Berichte zu erstellen und zu verwalten.',
|
||
|
||
// Empty states
|
||
'empty.no_data': 'Keine Daten vorhanden.',
|
||
'empty.no_results': 'Keine Ergebnisse.',
|
||
'empty.no_items': 'Keine Einträge.',
|
||
'empty.add_first': 'Fügen Sie den ersten Eintrag hinzu, um zu beginnen.',
|
||
'empty.select_class': 'Wählen Sie eine Klasse aus der Navigation.',
|
||
'empty.loading': 'Laden...',
|
||
|
||
// Error messages
|
||
'error.generic': 'Ein Fehler ist aufgetreten.',
|
||
'error.network': 'Netzwerkfehler. Bitte versuchen Sie es erneut.',
|
||
'error.not_authenticated': 'Sie sind nicht angemeldet.',
|
||
'error.forbidden': 'Sie haben keine Berechtigung für diese Aktion.',
|
||
'error.not_found': 'Die angeforderte Ressource wurde nicht gefunden.',
|
||
'error.validation': 'Überprüfen Sie Ihre Eingaben.',
|
||
'error.unexpected': 'Ein unerwarteter Fehler ist aufgetreten.',
|
||
|
||
// Toast messages
|
||
'toast.saved': 'Gespeichert',
|
||
'toast.created': 'Erstellt',
|
||
'toast.deleted': 'Gelöscht',
|
||
'toast.updated': 'Aktualisiert',
|
||
'toast.error': 'Fehler',
|
||
'toast.success': 'Erfolgreich',
|
||
'toast.info': 'Information',
|
||
'toast.warning': 'Warnung',
|
||
|
||
// Theme
|
||
'theme.light': 'Hell',
|
||
'theme.dark': 'Dunkel',
|
||
'theme.system': 'System',
|
||
'theme.toggle': 'Farbschema ändern',
|
||
|
||
// Language
|
||
'language.de': 'Deutsch',
|
||
'language.en': 'Englisch',
|
||
'language.toggle': 'Sprache ändern',
|
||
|
||
// Role
|
||
'role.teacher': 'Lehrkraft',
|
||
'role.school_admin': 'Schuladmin',
|
||
'role.vice_principal': 'Stellvertretender Direktor',
|
||
'role.super_admin': 'Superadmin',
|
||
|
||
// Assessment bulk grading
|
||
'assessments.save_all': 'Alle speichern',
|
||
'assessments.score_invalid': 'Punktzahl muss zwischen 0 und {max} liegen',
|
||
'assessments.score_out_of_range': 'Außerhalb des Bereichs',
|
||
'assessments.mastery_buttons': 'Kompetenzniveau',
|
||
'assessments.students_count': '{count} Schüler',
|
||
'assessments.validation_error': 'Bitte überprüfen Sie die Eingaben',
|
||
|
||
// Grading enhancements
|
||
'grading.scale_reference': 'Notenskala-Referenz',
|
||
'grading.grade_good': 'Gut',
|
||
'grading.grade_ok': 'Befriedigend',
|
||
'grading.grade_needs_improvement': 'Verbesserungsbedarf',
|
||
'grading.override_title': 'Note überschreiben',
|
||
'grading.override_student': 'Schüler',
|
||
'grading.override_computed': 'Berechnete Note',
|
||
'grading.override_new': 'Neue Note',
|
||
'grading.override_justification': 'Begründung (Pflicht)',
|
||
'grading.override_justification_required': 'Begründung ist erforderlich',
|
||
'grading.override_saved': 'Note überschrieben',
|
||
'grading.weight_breakdown': 'Gewichtungsaufschlüsselung',
|
||
'grading.weight_progress': 'Fortschritt',
|
||
|
||
// Report narrative generation
|
||
'reports.generating': 'Bericht wird erstellt...',
|
||
'reports.narrative_intro': 'Einleitung',
|
||
'reports.narrative_competency': 'Kompetenzbereich',
|
||
'reports.narrative_summary': 'Zusammenfassung',
|
||
'reports.download_pdf': 'Als PDF herunterladen',
|
||
'reports.pdf_coming_soon': 'PDF-Export wird in einer künftigen Version verfügbar sein.',
|
||
'reports.edit_sections': 'Abschnitte bearbeiten',
|
||
'reports.section_edited': 'Abschnitt aktualisiert',
|
||
'reports.generate_narrative': 'Berichtstext erzeugen',
|
||
'reports.includes_grades_label': 'Noten einbeziehen',
|
||
|
||
// Onboarding checklist
|
||
'onboarding.title': 'Erste Schritte',
|
||
'onboarding.subtitle': 'Follow these steps to set up CompetenceTrack',
|
||
'onboarding.step_create_class': 'Erstellen Sie Ihre erste Klasse',
|
||
'onboarding.step_assign_grid': 'Weisen Sie ein Kompetenzraster zu',
|
||
'onboarding.step_add_students': 'Fügen Sie Schüler hinzu',
|
||
'onboarding.step_log_entry': 'Loggen Sie Ihren ersten Eintrag',
|
||
'onboarding.step_create_class_desc': 'Erstellen Sie eine Klasse, um Schüler zu verwalten.',
|
||
'onboarding.step_assign_grid_desc': 'Weisen Sie ein Kompetenzraster zu, um Kompetenzen zu tracken.',
|
||
'onboarding.step_add_students_desc': 'Fügen Sie Schüler zu Ihrer Klasse hinzu.',
|
||
'onboarding.step_log_entry_desc': 'Erfassen Sie den Lernfortschritt eines Schülers.',
|
||
'onboarding.all_set': 'Sie sind bereit!',
|
||
'onboarding.all_set_desc': 'Sie haben alle Einrichtungsschritte abgeschlossen. Viel Erfolg!',
|
||
'onboarding.progress': '{completed} von {total} Schritten abgeschlossen',
|
||
'onboarding.go_to_classes': 'Zu den Klassen',
|
||
'onboarding.go_to_grids': 'Zu den Kompetenzrastern',
|
||
'onboarding.go_to_progress': 'Zum Lernfortschritt',
|
||
|
||
// Student profile
|
||
'student.profile': 'Schülerprofil',
|
||
'student.quick_stats': 'Schnellstatistik',
|
||
'student.total_entries': 'Einträge gesamt',
|
||
'student.avg_mastery': 'Durchschnittsniveau',
|
||
'student.recent_entries': 'Neueste Einträge',
|
||
'student.view_flower': 'Kompetenzblume anzeigen',
|
||
'student.class': 'Klasse',
|
||
'student.date_of_birth': 'Geburtsdatum',
|
||
|
||
// Template assignment flow
|
||
'classes.assign_template_title': 'Kompetenzraster zuweisen',
|
||
'classes.assign_step1': '1. Fach auswählen',
|
||
'classes.assign_step2': '2. Raster auswählen',
|
||
'classes.assign_step3': '3. Zuweisung bestätigen',
|
||
'classes.assign_filtered': 'Gefiltert nach Schulform und Jahrgangsstufe',
|
||
'classes.assign_confirm': 'Zuweisung bestätigen',
|
||
'classes.assign_review': 'Überprüfung',
|
||
'classes.assign_subject': 'Fach',
|
||
'classes.assign_no_templates': 'Keine passenden Raster gefunden.',
|
||
|
||
// Footer
|
||
'footer.copyright': 'CompetenceTrack — Freie Schulsoftware',
|
||
'footer.version': 'Version 1.0',
|
||
'footer.oss': 'Open Source',
|
||
'sidebar.eco_message': 'Papier sparen, Umwelt schutzen',
|
||
'dashboard.env_tip_title': 'Umwelttip',
|
||
'dashboard.env_tip_text': 'Digitale Kompetenznachweise sparen Papier und schutzen die Umwelt.',
|
||
'settings.demo_data_title': 'Demo-Daten',
|
||
'settings.demo_data_desc': 'Demo-Daten werden automatisch erstellt und können gelöscht werden.',
|
||
'settings.demo_record_count': 'Datensatze',
|
||
'settings.demo_delete_all_data': 'Alle Demo-Daten löschen',
|
||
'settings.demo_delete_confirm_data': 'Wirklich alle Demo-Daten (Kompetenznachweise, Bewertungen, Berichte) löschen? Die Demo-Konten bleiben bestehen.',
|
||
'settings.demo_data_deleted': 'Demo-Daten gelöscht',
|
||
'settings.env_tip': 'Papier sparen, Umwelt schutzen — digitale Nachweise statt Druck.',
|
||
|
||
// New styling keys
|
||
'dashboard.start_here': 'Jetzt beginnen!',
|
||
'dashboard.greeting_morning': 'Guten Morgen',
|
||
'dashboard.greeting_afternoon': 'Guten Tag',
|
||
'dashboard.greeting_evening': 'Guten Abend',
|
||
'dashboard.school_branding': 'Schulprofil',
|
||
'dashboard.school_branding_desc': 'Ihre Schule im Überblick',
|
||
'dashboard.competency_progress': 'Kompetenzfortschritt',
|
||
'dashboard.competency_progress_desc': 'Aktuelle Entwicklung der Kompetenzniveaus',
|
||
'dashboard.paper_saved_pages': 'Seiten',
|
||
'dashboard.paper_saved_trees': 'Baeume gerettet',
|
||
'dashboard.paper_saved_co2': 'kg CO2 eingespart',
|
||
'dashboard.daily_tip': 'Tipp des Tages',
|
||
'dashboard.class_overview_grid': 'Klassenuebersicht',
|
||
'dashboard.class_overview_grid_desc': 'Schnellzugriff auf alle Klassen',
|
||
'dashboard.activity_timeline': 'Aktivitaetenverlauf',
|
||
'dashboard.activity_timeline_desc': 'Neueste Eintraege im Zeitverlauf',
|
||
'dashboard.updated_at': 'Aktualisiert',
|
||
'date.today': 'Heute',
|
||
'date.yesterday': 'Gestern',
|
||
'date.days_ago': '{count} Tage zuvor',
|
||
'date.weeks_ago': '{count} Wochen zuvor',
|
||
'progress.entries': 'Einträge',
|
||
'competencies.expand_all': 'Alle öffnen',
|
||
'competencies.collapse_all': 'Alle schließen',
|
||
'flower.class_average': 'Klassendurchschnitt',
|
||
'auth.mission_title': 'Kompetenzorientierte Beurteilung für alle',
|
||
'auth.feature_competencies': 'Kompetenzraster & Lernfortschritt',
|
||
'auth.feature_student_centered': 'Schülerzentrierte Beurteilung',
|
||
'auth.feature_open_source': 'Freie & Open-Source Software',
|
||
'grading.click_compute': 'Klicken Sie "Noten berechnen" zum Start',
|
||
// New styling keys (round 2)
|
||
'header.select_year': 'Schuljahr',
|
||
'header.notifications': 'Aktivitäten',
|
||
'auth.feature_reports': 'Berichte & Zeugnisse',
|
||
'auth.feature_flower': 'Kompetenzblume',
|
||
'auth.feature_data_security': 'Datenschutz & Sicherheit',
|
||
'flower.hide_average': 'Vergleich aus',
|
||
'flower.show_average': 'Vergleich an',
|
||
'flower.download_png': 'Als PNG',
|
||
'flower.compare_with': 'Vergleichen mit',
|
||
'flower.compare_clear': 'Vergleich entfernen',
|
||
'flower.compare_legend': 'Vergleich',
|
||
'grading.grade_distribution': 'Notenverteilung',
|
||
'grading.trend_title': 'Notenverlauf',
|
||
'grading.trend_desc': 'Entwicklung der Durchschnittsnote im Zeitverlauf',
|
||
'grading.trend_average': 'Klassenschnitt',
|
||
|
||
// Navigation (new view)
|
||
'nav.settings': 'Einstellungen',
|
||
|
||
// Settings view
|
||
'settings.title': 'Einstellungen & Verwaltung',
|
||
'settings.tab_school': 'Schulinfo',
|
||
'settings.tab_years': 'Schuljahre',
|
||
'settings.tab_subjects': 'Fächer',
|
||
'settings.tab_audit': 'Audit-Log',
|
||
'settings.tab_data': 'Datenverwaltung',
|
||
'settings.school_name': 'Schulname',
|
||
'settings.school_type': 'Schulform',
|
||
'settings.school_country': 'Land',
|
||
'settings.school_timezone': 'Zeitzone',
|
||
'settings.school_address': 'Adresse',
|
||
'settings.school_saved': 'Schulinfo gespeichert',
|
||
'settings.year_label': 'Bezeichnung',
|
||
'settings.year_start': 'Beginn',
|
||
'settings.year_end': 'Ende',
|
||
'settings.year_created': 'Schuljahr erstellt',
|
||
'settings.year_classes': 'Klassen',
|
||
'settings.year_enrollments': 'Einschreibungen',
|
||
'settings.subject_name': 'Fachname',
|
||
'settings.subject_grade_min': 'Min. Jahrgang',
|
||
'settings.subject_grade_max': 'Max. Jahrgang',
|
||
'settings.subject_created': 'Fach erstellt',
|
||
'settings.subject_updated': 'Fach aktualisiert',
|
||
'settings.subject_deleted': 'Fach gelöscht',
|
||
'settings.subject_global': 'Global',
|
||
'settings.subject_school': 'Schulspezifisch',
|
||
'settings.audit_title': 'Audit-Log',
|
||
'settings.audit_action': 'Aktion',
|
||
'settings.audit_entity': 'Entität',
|
||
'settings.audit_actor': 'Akteur',
|
||
'settings.audit_timestamp': 'Zeitpunkt',
|
||
'settings.audit_filter_action': 'Aktion filtern',
|
||
'settings.audit_filter_date_from': 'Von',
|
||
'settings.audit_filter_date_to': 'Bis',
|
||
'settings.audit_all_actions': 'Alle Aktionen',
|
||
'settings.audit_no_entries': 'Keine Audit-Einträge gefunden',
|
||
'settings.data_title': 'Datenverwaltung & DSGVO',
|
||
'settings.data_export_csv': 'CSV-Export',
|
||
'settings.data_export_students': 'Schülerliste',
|
||
'settings.data_export_progress': 'Lernfortschritte',
|
||
'settings.data_export_assessments': 'Leistungsüberprüfungen',
|
||
'settings.data_export_grades': 'Noten',
|
||
'settings.data_export_download': 'CSV herunterladen',
|
||
'settings.data_export_started': 'Export gestartet',
|
||
'settings.data_erasure': 'Datenlöschung (DSGVO)',
|
||
'settings.data_erasure_desc': 'Gemäß DSGVO können Sie die Löschung personenbezogener Daten anfordern.',
|
||
'settings.data_erasure_request': 'Löschungsantrag stellen',
|
||
'settings.data_erasure_requested': 'Löschungsantrag gestellt',
|
||
'settings.data_erasure_scope': 'Bereich',
|
||
'settings.data_erasure_scope_student': 'Einzelner Schüler',
|
||
'settings.data_erasure_scope_class': 'Klasse',
|
||
'settings.data_erasure_scope_school': 'Gesamte Schule',
|
||
'settings.data_erasure_confirm': 'Löschung bestätigen',
|
||
|
||
// PDF export
|
||
'pdf.print_report': 'Bericht drucken',
|
||
'pdf.print_view': 'Druckansicht',
|
||
'pdf.export_pdf': 'PDF exportieren',
|
||
'pdf.generated': 'PDF-Bericht wird generiert',
|
||
'pdf.report_title': 'Kompetenzbericht',
|
||
'pdf.student': 'Schüler/in',
|
||
'pdf.class': 'Klasse',
|
||
'pdf.period': 'Zeitraum',
|
||
'pdf.date': 'Datum',
|
||
|
||
// CSV export
|
||
'csv.export_title': 'Daten exportieren',
|
||
'csv.export_type': 'Export-Typ',
|
||
'csv.export_class': 'Klasse',
|
||
'csv.export_year': 'Schuljahr',
|
||
'csv.export_success': 'CSV-Datei erfolgreich exportiert',
|
||
'csv.export_error': 'Fehler beim Export',
|
||
|
||
// Notifications
|
||
'notification.title': 'Aktuelle Aktivitäten',
|
||
'notification.progress_logged': 'Lernfortschritt eingeloggt',
|
||
'notification.assessment_created': 'Leistungsüberprüfung erstellt',
|
||
'notification.grade_computed': 'Noten berechnet',
|
||
'notification.report_generated': 'Bericht erstellt',
|
||
'notification.preferences': 'Benachrichtigungseinstellungen',
|
||
'notification.show_progress': 'Lernfortschritte anzeigen',
|
||
'notification.show_assessments': 'Überprüfungen anzeigen',
|
||
'notification.show_grades': 'Noten anzeigen',
|
||
'notification.show_reports': 'Berichte anzeigen',
|
||
'notification.no_recent': 'Keine aktuellen Aktivitäten',
|
||
'notification.mark_read': 'Als gelesen markieren',
|
||
|
||
// School year context
|
||
'context.all_years': 'Alle Schuljahre',
|
||
'context.year_selected': 'Schuljahr ausgewählt',
|
||
|
||
// User management
|
||
'settings.tab_users': 'Benutzer',
|
||
'users.title': 'Benutzerverwaltung',
|
||
'users.subtitle': 'Lehrkräfte & Administratoren verwalten',
|
||
'users.create_user': 'Benutzer erstellen',
|
||
'users.edit_user': 'Benutzer bearbeiten',
|
||
'users.delete_user': 'Benutzer löschen',
|
||
'users.delete_confirm': 'Benutzer wirklich deaktivieren? Der Zugriff wird sofort gesperrt.',
|
||
'users.created': 'Benutzerkonto erstellt',
|
||
'users.updated': 'Benutzerkonto aktualisiert',
|
||
'users.deleted': 'Benutzerkonto deaktiviert',
|
||
'users.no_users': 'Keine Benutzer gefunden',
|
||
'users.role': 'Rolle',
|
||
'users.email': 'E-Mail',
|
||
'users.password': 'Passwort',
|
||
'users.password_hint': 'Mindestens 8 Zeichen',
|
||
'users.assigned_classes': 'Zugeordnete Klassen',
|
||
'users.no_classes_assigned': 'Keine Klassen zugeordnet',
|
||
'users.assign_classes': 'Klassen zuordnen',
|
||
'users.active': 'Aktiv',
|
||
'users.inactive': 'Inaktiv',
|
||
'users.count': '{count} Benutzer',
|
||
'users.last_active': 'Zuletzt aktiv',
|
||
'users.created_at': 'Erstellt am',
|
||
|
||
// CSV student import
|
||
'classes.import_csv': 'CSV importieren',
|
||
'classes.import_csv_title': 'Schüler aus CSV-Datei importieren',
|
||
'classes.import_csv_subtitle': 'Wählen Sie eine CSV-Datei mit Schülerdaten (firstName, lastName, dateOfBirth, externalId)',
|
||
'classes.import_csv_select_file': 'CSV-Datei auswählen',
|
||
'classes.import_csv_drag': 'Datei hierher ziehen oder klicken zum Auswählen',
|
||
'classes.import_csv_preview': 'Vorschau',
|
||
'classes.import_csv_import': 'Importieren',
|
||
'classes.import_csv_success': '{success} Schüler erfolgreich importiert',
|
||
'classes.import_csv_errors': '{errors} Fehler beim Import',
|
||
'classes.import_csv_no_data': 'Keine Daten zum Importieren gefunden',
|
||
'classes.import_csv_invalid_format': 'Ungültiges CSV-Format. Spalten: firstName, lastName, dateOfBirth, externalId',
|
||
'classes.import_csv_processing': 'Import läuft…',
|
||
'classes.import_csv_template': 'Vorlage herunterladen',
|
||
'classes.import_csv_file_selected': 'Datei ausgewählt: {name} ({rows} Zeilen)',
|
||
'classes.import_csv_row': 'Zeile {n}',
|
||
'classes.import_csv_results': 'Importergebnisse',
|
||
'classes.import_csv_done': 'Fertig',
|
||
'classes.import_csv_external_id': 'Externe ID',
|
||
'classes.import_csv_first_name': 'Vorname',
|
||
'classes.import_csv_last_name': 'Nachname',
|
||
'classes.import_csv_dob': 'Geburtsdatum',
|
||
|
||
// Student detail view
|
||
'student_detail.title': 'Schülerprofil',
|
||
'student_detail.back': 'Zurück',
|
||
'student_detail.age': 'Alter',
|
||
'student_detail.years': 'Jahre',
|
||
'student_detail.school': 'Schule',
|
||
'student_detail.class': 'Klasse',
|
||
'student_detail.external_id': 'Externe ID',
|
||
'student_detail.date_of_birth': 'Geburtsdatum',
|
||
'student_detail.quick_stats': 'Schnellstatistik',
|
||
'student_detail.total_entries': 'Fortschritts-einträge',
|
||
'student_detail.avg_mastery': 'Ø Kompetenzniveau',
|
||
'student_detail.latest_grade': 'Aktuellste Note',
|
||
'student_detail.competence_flower': 'Kompetenzblume',
|
||
'student_detail.progress_timeline': 'Lernfortschritt (Verlauf)',
|
||
'student_detail.assessment_results': 'Leistungsüberprüfungen',
|
||
'student_detail.computed_grades': 'Berechnete Noten',
|
||
'student_detail.reports': 'Berichte',
|
||
'student_detail.no_data': 'Keine Daten verfügbar',
|
||
'student_detail.no_progress_entries': 'Noch keine Fortschrittseinträge',
|
||
'student_detail.no_assessments': 'Keine Prüfungsergebnisse',
|
||
'student_detail.no_grades': 'Keine berechneten Noten',
|
||
'student_detail.no_reports': 'Keine Berichte erstellt',
|
||
'student_detail.no_flower': 'Keine Kompetenzblume verfügbar',
|
||
'student_detail.no_flower_hint': 'Wählen Sie eine Klasse & ein Fach in der Kompetenzblumen-Ansicht',
|
||
'student_detail.view_report': 'Bericht anzeigen',
|
||
'student_detail.view_flower': 'Vollständige Kompetenzblume',
|
||
'student_detail.score': 'Punktzahl',
|
||
'student_detail.mastery': 'Niveau',
|
||
'student_detail.assessment': 'Überprüfung',
|
||
'student_detail.date': 'Datum',
|
||
'student_detail.subject': 'Fach',
|
||
'student_detail.value': 'Wert',
|
||
'student_detail.value_hint': 'Werte 0–4 (Kompetenzstufe)',
|
||
'student_detail.period': 'Zeitraum',
|
||
'student_detail.status': 'Status',
|
||
'student_detail.generated_at': 'Erstellt am',
|
||
'student_detail.view_progress': 'Zum Fortschritt',
|
||
'student_detail.print_report': 'Bericht drucken',
|
||
'student_detail.select_subject_for_flower': 'Fach für Kompetenzblume wählen',
|
||
'student_detail.flower_not_assigned': 'Keine Vorlage für dieses Fach in dieser Klasse zugewiesen',
|
||
'student_detail.created_at': 'Erstellt',
|
||
'student_detail.note': 'Bemerkung',
|
||
'student_detail.competency': 'Kompetenz',
|
||
'student_detail.category': 'Kategorie',
|
||
|
||
// ─── Styling polish: shared labels ──────────────────────────────
|
||
'polish.today_date': 'Heutiges Datum',
|
||
'polish.last_login': 'Letzte Anmeldung',
|
||
'polish.last_login_never': 'Erste Anmeldung',
|
||
'polish.class_overview': 'Klassenübersicht',
|
||
'polish.total_students': 'Schüler gesamt',
|
||
'polish.total_entries': 'Einträge gesamt',
|
||
'polish.avg_mastery': 'Ø Kompetenz',
|
||
'polish.class_health': 'Klassengesundheit',
|
||
'polish.health_good': 'Gut',
|
||
'polish.health_ok': 'Ok',
|
||
'polish.health_attention': 'Bedarf Aufmerksamkeit',
|
||
'polish.last_entry': 'Letzter Eintrag',
|
||
'polish.never': '—',
|
||
'polish.search_students': 'Schüler suchen…',
|
||
'polish.competency_count': 'Kompetenzen',
|
||
'polish.mastered': 'beherrscht',
|
||
'polish.mastery_distribution': 'Verteilung',
|
||
'polish.todays_entries': 'Einträge heute',
|
||
'polish.filter_today': 'Heute',
|
||
'polish.filter_week': 'Diese Woche',
|
||
'polish.filter_month': 'Dieser Monat',
|
||
'polish.filter_all': 'Alle',
|
||
'polish.keyboard_hint': 'Tastenkürzel: 1–4 für Niveau',
|
||
'polish.mastery_legend': 'Niveaulegende',
|
||
'polish.level_1': 'Beginnend',
|
||
'polish.level_2': 'Entwickelnd',
|
||
'polish.level_3': 'Gesichert',
|
||
'polish.level_4': 'Vertieft',
|
||
'polish.progress_over_time': 'Verlauf über Zeit',
|
||
'polish.vs_class_avg': 'Im Vergleich zum Klassenschnitt',
|
||
'polish.student_value': 'Schüler/in',
|
||
'polish.class_average': 'Klassenschnitt',
|
||
'polish.strengths': 'Stärken',
|
||
'polish.weaknesses': 'Entwicklungsfelder',
|
||
'polish.score_distribution': 'Punkteverteilung',
|
||
'polish.class_avg': 'Klassenschnitt',
|
||
'polish.best_performer': 'Bestleistung',
|
||
'polish.needs_support': 'Braucht Unterstützung',
|
||
'polish.grade_stats': 'Notenstatistik',
|
||
'polish.median': 'Median',
|
||
'polish.minimum': 'Min',
|
||
'polish.maximum': 'Max',
|
||
'polish.grade_trend': 'Notenverlauf',
|
||
'polish.grade_legend': 'Notenlegende',
|
||
'polish.grade_good': 'gut',
|
||
'polish.grade_satisfactory': 'befriedigend',
|
||
'polish.grade_needs_work': 'verbesserungsbedürftig',
|
||
'polish.report_completion': 'Berichtsfortschritt',
|
||
'polish.last_edited': 'Zuletzt bearbeitet',
|
||
'polish.workflow_draft': 'Entwurf',
|
||
'polish.workflow_review': 'In Prüfung',
|
||
'polish.workflow_published': 'Veröffentlicht',
|
||
'polish.report_logo': 'Schullogo',
|
||
'polish.quick_stats': 'Schnellstatistik',
|
||
'polish.total_users': 'Benutzer',
|
||
'polish.total_subjects': 'Fächer',
|
||
'polish.total_years': 'Schuljahre',
|
||
'polish.audit_search': 'Audit-Log durchsuchen…',
|
||
'polish.all_actions': 'Alle Aktionen',
|
||
'polish.create_action': 'Anlegen',
|
||
'polish.update_action': 'Aktualisieren',
|
||
'polish.delete_action': 'Löschen',
|
||
'polish.login_action': 'Anmeldung',
|
||
'polish.student_journey': 'Lernweg',
|
||
'polish.competency_grid': 'Kompetenzmatrix',
|
||
'polish.recent_achievements': 'Letzte Erfolge',
|
||
'polish.teacher_notes': 'Lehrernotizen',
|
||
'polish.no_notes': 'Noch keine Notizen',
|
||
'polish.demo_credentials': 'Demo-Zugang',
|
||
'polish.demo_email': 'demo@competencetrack.org',
|
||
'polish.demo_password': 'Demo2025!',
|
||
'polish.demo_hint': 'Klicken, um die Felder automatisch auszufüllen',
|
||
'polish.remember_me': 'Angemeldet bleiben',
|
||
'polish.forgot_password': 'Passwort vergessen?',
|
||
'polish.use_demo': 'Demo-Zugang verwenden',
|
||
'polish.show_password': 'Passwort anzeigen',
|
||
'polish.hide_password': 'Passwort verbergen',
|
||
'polish.breadcrumb_home': 'Start',
|
||
'polish.quick_search': 'Schnellsuche',
|
||
'polish.search_placeholder': 'Schüler, Klassen oder Kompetenzen suchen…',
|
||
'polish.no_results': 'Keine Ergebnisse',
|
||
'polish.help': 'Hilfe',
|
||
'polish.nav_setup': 'Einrichtung',
|
||
'polish.nav_teaching': 'Unterricht',
|
||
'polish.nav_analysis': 'Analyse',
|
||
'polish.students_found': '{count} Schüler gefunden',
|
||
'polish.class_avg_label': 'Klassenschnitt',
|
||
'polish.male': 'm',
|
||
'polish.female': 'w',
|
||
'polish.diverse': 'd',
|
||
'polish.print_preview': 'Druckvorschau',
|
||
'polish.report_header': 'Schulbericht',
|
||
|
||
// ─── Analytics view ───────────────────────────────────────────────
|
||
'nav.analytics': 'Analysen',
|
||
'analytics.title': 'Fortschrittsanalysen',
|
||
'analytics.subtitle': 'Umfassende Auswertung von Kompetenzentwicklung über Zeit, Klassen und Kompetenzen',
|
||
'analytics.filters': 'Filter',
|
||
'analytics.select_class': 'Klasse wählen',
|
||
'analytics.all_classes': 'Alle Klassen',
|
||
'analytics.select_subject': 'Fach wählen',
|
||
'analytics.all_subjects': 'Alle Fächer',
|
||
'analytics.date_range': 'Zeitraum',
|
||
'analytics.range_30': '30 Tage',
|
||
'analytics.range_90': '90 Tage',
|
||
'analytics.range_180': '180 Tage',
|
||
'analytics.range_365': '1 Jahr',
|
||
'analytics.range_all': 'Gesamt',
|
||
'analytics.mastery_trend': 'Kompetenzverlauf über Zeit',
|
||
'analytics.mastery_trend_desc': 'Durchschnittliches Kompetenzniveau pro Woche',
|
||
'analytics.class_comparison': 'Klassenvergleich',
|
||
'analytics.class_comparison_desc': 'Ø Kompetenzniveau je Klasse im gewählten Fach',
|
||
'analytics.mastery_distribution': 'Niveauverteilung',
|
||
'analytics.mastery_distribution_desc': 'Verteilung der eingetragenen Niveaus (1–4)',
|
||
'analytics.top_competencies': 'Stärkste Kompetenzen',
|
||
'analytics.bottom_competencies': 'Kompetenzen mit Förderbedarf',
|
||
'analytics.top_bottom_desc': 'Top 5 / Bottom 5 nach Ø Kompetenzniveau',
|
||
'analytics.activity_heatmap': 'Aktivitäts-Heatmap',
|
||
'analytics.activity_heatmap_desc': 'Anzahl Fortschrittseinträge pro Tag (letzte 90 Tage)',
|
||
'analytics.no_data': 'Keine Daten für die gewählten Filter',
|
||
'analytics.no_data_hint': 'Wählen Sie eine Klasse oder ein Fach, um Analysen anzuzeigen',
|
||
'analytics.entry_count': 'Einträge',
|
||
'analytics.avg_mastery': 'Ø Niveau',
|
||
'analytics.student_count': 'Schüler',
|
||
'analytics.level': 'Niveau',
|
||
'analytics.count': 'Anzahl',
|
||
'analytics.share': 'Anteil',
|
||
'analytics.week': 'KW',
|
||
'analytics.today': 'Heute',
|
||
'analytics.less': 'weniger',
|
||
'analytics.more': 'mehr',
|
||
'analytics.refresh': 'Aktualisieren',
|
||
'analytics.no_competencies': 'Keine Kompetenzen mit Einträgen gefunden',
|
||
'analytics.no_classes': 'Keine Klassen mit Einträgen gefunden',
|
||
|
||
// ─── Mastery Matrix view ──────────────────────────────────────────
|
||
'nav.matrix': 'Kompetenzmatrix',
|
||
'matrix.title': 'Kompetenzmatrix',
|
||
'matrix.subtitle': 'Schüler × Kompetenzen — farbcodierte Niveau-Übersicht',
|
||
'matrix.select_class': 'Klasse wählen',
|
||
'matrix.select_subject': 'Fach wählen',
|
||
'matrix.no_template': 'Kein Kompetenzraster für diese Klasse / Fach-Kombination zugewiesen',
|
||
'matrix.no_template_hint': 'Weisen Sie ein Raster in der Klassenansicht zu',
|
||
'matrix.no_students': 'Keine Schüler in dieser Klasse eingeschrieben',
|
||
'matrix.entry_count_short': 'E',
|
||
'matrix.legend': 'Legende',
|
||
'matrix.legend_unassessed': 'Nicht beurteilt',
|
||
'matrix.legend_level_1': 'Niveau 1',
|
||
'matrix.legend_level_2': 'Niveau 2',
|
||
'matrix.legend_level_3': 'Niveau 3',
|
||
'matrix.legend_level_4': 'Niveau 4',
|
||
'matrix.row_avg': 'Schüler-Ø',
|
||
'matrix.col_avg': 'Klassen-Ø',
|
||
'matrix.entries_for': 'Einträge für',
|
||
'matrix.no_entries_for': 'Keine Einträge für diese Kompetenz',
|
||
'matrix.last_entry': 'Letzter Eintrag',
|
||
'matrix.export_csv': 'CSV exportieren',
|
||
'matrix.export_success': 'Matrix als CSV exportiert',
|
||
'matrix.competency': 'Kompetenz',
|
||
'matrix.student': 'Schüler/in',
|
||
'matrix.avg': 'Ø',
|
||
'matrix.entries': 'Einträge',
|
||
'matrix.choose_filters': 'Bitte Klasse und Fach wählen',
|
||
'matrix.choose_filters_hint': 'Wählen Sie oben eine Klasse und ein Fach, um die Matrix anzuzeigen',
|
||
|
||
// ─── Teacher Notes (Student Detail) ───────────────────────────────
|
||
'teacher_notes.title': 'Lehrernotizen',
|
||
'teacher_notes.subtitle': 'Private Notizen für Kolleginnen & Kollegen',
|
||
'teacher_notes.add': 'Notiz hinzufügen',
|
||
'teacher_notes.add_title': 'Neue Notiz',
|
||
'teacher_notes.edit_title': 'Notiz bearbeiten',
|
||
'teacher_notes.category': 'Kategorie',
|
||
'teacher_notes.content': 'Inhalt',
|
||
'teacher_notes.content_placeholder': 'Notiz eingeben…',
|
||
'teacher_notes.private': 'Privat (nur für Lehrkräfte sichtbar)',
|
||
'teacher_notes.created': 'Notiz erstellt',
|
||
'teacher_notes.updated': 'Notiz aktualisiert',
|
||
'teacher_notes.deleted': 'Notiz gelöscht',
|
||
'teacher_notes.delete_confirm': 'Notiz wirklich löschen?',
|
||
'teacher_notes.no_notes': 'Noch keine Notizen vorhanden',
|
||
'teacher_notes.no_notes_hint': 'Notizen sind nur für Lehrkräfte sichtbar',
|
||
'teacher_notes.count': '{count} Notizen',
|
||
'teacher_notes.by': 'von',
|
||
'teacher_notes.edit': 'Bearbeiten',
|
||
'teacher_notes.delete': 'Löschen',
|
||
'teacher_notes.save': 'Notiz speichern',
|
||
'teacher_notes.cat_general': 'Allgemein',
|
||
'teacher_notes.cat_behavior': 'Verhalten',
|
||
'teacher_notes.cat_academic': 'Leistung',
|
||
'teacher_notes.cat_intervention': 'Förderung',
|
||
'teacher_notes.cat_parent_contact': 'Elternkontakt',
|
||
'teacher_notes.error_min_content': 'Inhalt darf nicht leer sein',
|
||
'teacher_notes.you': 'Sie',
|
||
'teacher_notes.view_all': 'Alle anzeigen',
|
||
|
||
// ─── Polish round 4: additional UI strings ──────────────────────────
|
||
'polish.insights_title': 'Erkenntnisse',
|
||
'polish.insight_mastery_up': 'Kompetenzniveau ist um {pct}% gestiegen',
|
||
'polish.insight_mastery_down': 'Kompetenzniveau ist um {pct}% gesunken',
|
||
'polish.insight_mastery_stable': 'Kompetenzniveau bleibt stabil',
|
||
'polish.insight_top_class': 'Klasse {class} führt mit Ø {avg}',
|
||
'polish.insight_mastered_pct': '{pct}% der Einträge auf Niveau 3+',
|
||
'polish.insight_peak_day': 'Aktivster Tag: {date} ({count} Einträge)',
|
||
'polish.insight_focus': 'Förderbedarf: {comp} (Ø {avg})',
|
||
'polish.coverage': 'Abdeckung',
|
||
'polish.matrix_click_hint': 'Auf eine Zelle klicken für Einzeldetails',
|
||
'polish.weekly_summary': 'Wochenüberblick',
|
||
'polish.this_week_vs_last': 'Diese Woche vs. letzte Woche',
|
||
'polish.this_week': 'Diese Woche',
|
||
'polish.last_week': 'Letzte Woche',
|
||
'polish.change': 'Veränderung',
|
||
'polish.mastery_indicator': 'Niveau',
|
||
'polish.template_usage': 'Klassen',
|
||
'polish.filter_by_category': 'Kategorie',
|
||
|
||
// ─── Empty state polish & shared UI strings ───────────────────────
|
||
'polish.please_choose': 'Bitte wählen…',
|
||
'polish.label_class': 'Klasse',
|
||
'polish.empty_title_no_class': 'Noch keine Klasse ausgewählt',
|
||
'polish.empty_subtitle_no_class': 'Wählen Sie oben eine Klasse aus, um Inhalte anzuzeigen und zu bearbeiten.',
|
||
'polish.empty_title_no_data': 'Hier ist noch nichts los',
|
||
'polish.empty_subtitle_no_data': 'Sobald Daten vorliegen, erscheinen sie an dieser Stelle.',
|
||
'polish.empty_cta_select_class': 'Klasse auswählen',
|
||
'polish.empty_title_competency_grid': 'Kein Kompetenzraster ausgewählt',
|
||
'polish.empty_subtitle_competency_grid': 'Wählen Sie links ein Raster aus der Bibliothek, um die Struktur und Details zu sehen.',
|
||
'polish.empty_title_flower': 'Keine Kompetenzblume verfügbar',
|
||
'polish.empty_subtitle_flower': 'Wählen Sie oben Klasse, Fach und Schüler/in aus, um die visuelle Kompetenzübersicht zu sehen.',
|
||
'polish.empty_title_progress': 'Noch keine Lernfortschritte',
|
||
'polish.empty_subtitle_progress': 'Wählen Sie eine Klasse und ein Fach, um Lernfortschritte zu erfassen oder anzusehen.',
|
||
'polish.empty_title_assessments': 'Keine Überprüfungen angelegt',
|
||
'polish.empty_subtitle_assessments': 'Wählen Sie oben eine Klasse und ein Fach, dann erstellen Sie Ihre erste Überprüfung.',
|
||
'polish.empty_title_grading': 'Keine Notenberechnung möglich',
|
||
'polish.empty_subtitle_grading': 'Wählen Sie oben eine Klasse und ein Fach, um Notenschemata anzulegen und Noten zu berechnen.',
|
||
'polish.empty_title_reports': 'Noch keine Berichte erstellt',
|
||
'polish.empty_subtitle_reports': 'Wählen Sie oben eine Klasse, um Berichte zu generieren und zu verwalten.',
|
||
'polish.empty_title_attendance': 'Anwesenheit verfolgen',
|
||
'polish.empty_subtitle_attendance': 'Wählen Sie oben eine Klasse aus, um Anwesenheitssitzungen anzulegen und auszuwerten.',
|
||
'polish.empty_title_matrix': 'Matrix noch nicht verfügbar',
|
||
'polish.empty_subtitle_matrix': 'Wählen Sie oben Klasse und Fach, um die Kompetenzmatrix mit allen Schülerinnen und Schülern zu sehen.',
|
||
'polish.trend_up': 'Steigend',
|
||
'polish.trend_down': 'Fallend',
|
||
'polish.trend_flat': 'Stabil',
|
||
'polish.this_week_bars': 'Diese Woche vs. letzte Woche',
|
||
|
||
// ─── Empty state enrichments (Round 7) ───────────────────────────────
|
||
'polish.recent_activity_title': 'Letzte Aktivitäten',
|
||
'polish.recent_activity_subtitle': 'Neueste Lernfortschritte über alle Klassen hinweg',
|
||
'polish.recent_activity_loading': 'Aktivitäten werden geladen…',
|
||
'polish.recent_activity_empty': 'Noch keine Aktivitäten vorhanden.',
|
||
'polish.grading_overview_title': 'Bewertungsübersicht',
|
||
'polish.grading_overview_subtitle': 'Notenschemata und Berechnungen für Ihre Schule',
|
||
'polish.grading_total_schemes': 'Notenschemata',
|
||
'polish.grading_subjects_covered': 'Fächer abgedeckt',
|
||
'polish.grading_distribution': 'Typverteilung',
|
||
'polish.grading_loading': 'Bewertungsdaten werden geladen…',
|
||
'polish.report_templates_title': 'Berichtsvorlagen',
|
||
'polish.report_templates_subtitle': 'Drei Berichtstypen für unterschiedliche Einsatzzwecke',
|
||
'polish.report_template_draft_name': 'Entwurfsbericht',
|
||
'polish.report_template_draft_desc': 'Beobachtungen und Texte während des Semesters sammeln und schrittweise ausbauen.',
|
||
'polish.report_template_final_name': 'Endgültiger Bericht',
|
||
'polish.report_template_final_desc': 'Fertiger Bericht mit narrativen Texten und optionalen Noten für die Zeugniskonferenz.',
|
||
'polish.report_template_pdf_name': 'PDF-Export',
|
||
'polish.report_template_pdf_desc': 'Druckfertige Version zum Teilen mit Eltern und Schüler:innen.',
|
||
'polish.matrix_how_it_works_title': 'So funktioniert\u2019s',
|
||
'polish.matrix_how_it_works_subtitle': 'In drei Schritten zur Kompetenzmatrix',
|
||
'polish.matrix_step_1_title': 'Klasse wählen',
|
||
'polish.matrix_step_1_desc': 'Wählen Sie oben eine Klasse aus dem Dropdown.',
|
||
'polish.matrix_step_2_title': 'Fach wählen',
|
||
'polish.matrix_step_2_desc': 'Wählen Sie das Fach, dessen Kompetenzen Sie sehen möchten.',
|
||
'polish.matrix_step_3_title': 'Matrix anzeigen',
|
||
'polish.matrix_step_3_desc': 'Die Kompetenzmatrix aller Schüler:innen wird automatisch geladen.',
|
||
'polish.attendance_quick_stats_title': 'Schnellstatistik',
|
||
'polish.attendance_quick_stats_subtitle': 'Anwesenheitsübersicht über alle Ihre Klassen',
|
||
'polish.attendance_total_sessions_month': 'Sitzungen in diesem Monat',
|
||
'polish.attendance_avg_rate': 'Ø Anwesenheitsrate',
|
||
'polish.attendance_common_reason': 'Häufigster Abwesenheitsgrund',
|
||
'polish.attendance_no_absences': 'Keine Abwesenheiten',
|
||
'polish.attendance_loading': 'Schnellstatistik wird geladen…',
|
||
'polish.attendance_no_classes_hint': 'Noch keine Klassen angelegt — legen Sie eine Klasse an, um Anwesenheit zu verfolgen.',
|
||
|
||
// ─── Score distribution histogram (assessments) ────────────────────
|
||
'assessments.score_distribution': 'Punktezahlenverteilung',
|
||
'assessments.average': 'Durchschnitt',
|
||
'assessments.median': 'Median',
|
||
'assessments.range': 'Spanne',
|
||
'assessments.no_scores': 'Keine Punktezahlen',
|
||
|
||
// ─── Scratch pad (assessments) ──────────────────────────────────────
|
||
'assessments.scratch_pad': 'Notizblock',
|
||
'assessments.scratch_pad_title': 'Notizblock — {title}',
|
||
'assessments.scratch_pad_description': 'Hier können Sie Ihre Lösung handschriftlich erarbeiten.',
|
||
'assessments.scratch_pad_save': 'Zeichnung speichern',
|
||
'assessments.scratch_pad_saved': 'Zeichnung gespeichert',
|
||
'assessments.scratch_pad_saving': 'Wird gespeichert…',
|
||
'assessments.scratch_pad_open': 'Notizblock öffnen',
|
||
'assessments.scratch_pad_close': 'Notizblock schließen',
|
||
'assessments.scratch_pad_resize': 'Größe anpassen',
|
||
|
||
// ─── Student journey timeline ──────────────────────────────────────
|
||
'student.journey': 'Lernreise',
|
||
'student.journey_milestone': 'Meilenstein',
|
||
'student.journey_achieved': 'Kompetenz erreicht',
|
||
'student.journey_started': 'Neues Bereich begonnen',
|
||
'student.journey_above_avg': 'Über dem Durchschnitt',
|
||
'student.journey_grade': 'Benotung abgeschlossen',
|
||
'student.journey_last_30': 'Letzte 30 Tage',
|
||
'student.journey_last_90': 'Letzte 90 Tage',
|
||
'student.journey_all': 'Alle',
|
||
|
||
// Student export & print
|
||
'student.export_pdf': 'Als PDF exportieren',
|
||
'student.export_csv': 'Als CSV exportieren',
|
||
'student.print_report': 'Bericht drucken',
|
||
'student.export_data': 'Daten exportieren',
|
||
|
||
// ─── Attendance ──────────────────────────────────────────────────────
|
||
'nav.attendance': 'Anwesenheit',
|
||
'attendance.title': 'Anwesenheitsverfolgung',
|
||
'attendance.subtitle': 'Anwesenheit pro Klasse und Stunde erfassen und auswerten',
|
||
'attendance.new_session': 'Neue Sitzung',
|
||
'attendance.present': 'Anwesend',
|
||
'attendance.absent': 'Abwesend',
|
||
'attendance.excused': 'Entschuldigt',
|
||
'attendance.late': 'Verspätet',
|
||
'attendance.status': 'Status',
|
||
'attendance.rate': 'Anwesenheitsrate',
|
||
'attendance.date': 'Datum',
|
||
'attendance.period': 'Stunde',
|
||
'attendance.completed': 'Abgeschlossen',
|
||
'attendance.open': 'Offen',
|
||
'attendance.save_all': 'Alle speichern',
|
||
'attendance.no_sessions': 'Keine Anwesenheitsdaten',
|
||
'attendance.stats': 'Statistik',
|
||
'attendance.monthly': 'Monatliche Übersicht',
|
||
'attendance.absences_count': 'Abwesenheiten',
|
||
'attendance.late_count': 'Verspätungen',
|
||
'attendance.select_class': 'Klasse auswählen',
|
||
'attendance.comment': 'Kommentar',
|
||
'attendance.arrival_time': 'Ankunftszeit',
|
||
'attendance.calendar': 'Kalender',
|
||
'attendance.complete_session': 'Sitzung abschließen',
|
||
'attendance.delete_session': 'Sitzung löschen',
|
||
'attendance.reopen_session': 'Sitzung wieder öffnen',
|
||
'attendance.no_students': 'Keine Schüler in dieser Klasse',
|
||
'attendance.session_for': 'Anwesenheit für',
|
||
'attendance.total_students': 'Schüler gesamt',
|
||
'attendance.present_count': 'Anwesende',
|
||
'attendance.excused_count': 'Entschuldigte',
|
||
'attendance.absent_count': 'Abwesende',
|
||
'attendance.late_count_short': 'Verspätete',
|
||
'attendance.subject': 'Fach',
|
||
'competencies.select_class': 'Wählen Sie ein Kompetenzraster aus der Liste',
|
||
'label.teacher': 'Lehrkräfte',
|
||
'label.student': 'Schüler',
|
||
'label.students': 'Schüler',
|
||
'label.classes': 'Klassen',
|
||
'label.subjects': 'Fächer',
|
||
'label.entries': 'Einträge',
|
||
'label.assessments': 'Überprüfungen',
|
||
'label.reports': 'Berichte',
|
||
|
||
// ─── Lesson Planning ──────────────────────────────────────────────
|
||
'nav.lesson_plans': 'Unterrichtsplanung',
|
||
'nav.lesson-plans': 'Unterrichtsplanung',
|
||
'lesson.title': 'Unterrichtsplanung',
|
||
'lesson.subtitle': 'Unterrichtsstunden planen und dokumentieren',
|
||
'lesson.new': 'Neue Stunde',
|
||
'lesson.edit': 'Stunde bearbeiten',
|
||
'lesson.empty': 'Noch keine Stunden geplant',
|
||
'lesson.empty_desc': 'Erstellen Sie Ihre erste Unterrichtsstunde',
|
||
'lesson.this_week': 'Diese Woche',
|
||
'lesson.upcoming': 'Anstehend',
|
||
'lesson.field.title': 'Titel',
|
||
'lesson.field.description': 'Beschreibung',
|
||
'lesson.field.date': 'Datum',
|
||
'lesson_plans.date_hint': 'Format: TT.MM.JJJJ',
|
||
'lesson.field.duration': 'Dauer (Min)',
|
||
'lesson.field.class': 'Klasse',
|
||
'lesson.field.subject': 'Fach',
|
||
'lesson.field.objectives': 'Lernziele',
|
||
'lesson.field.materials': 'Materialien',
|
||
'lesson.field.homework': 'Hausaufgaben',
|
||
'lesson.field.reflection': 'Reflexion',
|
||
'lesson.field.competencies': 'Verknüpfte Kompetenzen',
|
||
'lesson.field.status': 'Status',
|
||
'lesson.status_draft': 'Entwurf',
|
||
'lesson.status_scheduled': 'Geplant',
|
||
'lesson.status_completed': 'Erledigt',
|
||
'lesson.status_cancelled': 'Abgesagt',
|
||
'lesson.filter_all': 'Alle',
|
||
'lesson.add_objective': 'Lernziel hinzufügen',
|
||
'lesson.add_material': 'Material hinzufügen',
|
||
'lesson.duration_min': 'Min',
|
||
'lesson.agenda': 'Agenda',
|
||
'lesson.delete_confirm': 'Diese Stunde wirklich löschen?',
|
||
'lesson.saved': 'Stunde gespeichert',
|
||
'lesson.deleted': 'Stunde gelöscht',
|
||
'lesson.no_upcoming': 'Keine anstehenden Stunden',
|
||
'lesson.no_lessons_this_week': 'Diese Woche sind keine Stunden geplant',
|
||
'lesson.select_class_first': 'Bitte wählen Sie zuerst eine Klasse',
|
||
'lesson.duration_label': '{min} Min',
|
||
'lesson.objective_placeholder': 'Neues Lernziel…',
|
||
'lesson.material_placeholder': 'Neues Material…',
|
||
'lesson.objectives_count': '{count} Ziele',
|
||
'lesson.materials_count': '{count} Materialien',
|
||
|
||
// ─── Unified Calendar ─────────────────────────────────────────────────
|
||
'nav.calendar': 'Kalender',
|
||
'calendar.title': 'Kalender',
|
||
'calendar.subtitle': 'Alle Termine und Ereignisse auf einen Blick',
|
||
'calendar.today': 'Heute',
|
||
'calendar.legend': 'Legende',
|
||
'calendar.upcoming': 'Anstehend',
|
||
'calendar.upcoming_week': 'Diese Woche',
|
||
'calendar.no_events': 'Keine Termine in diesem Monat',
|
||
'calendar.no_events_desc': 'Wählen Sie einen anderen Monat',
|
||
'calendar.event_types.assessment': 'Überprüfung',
|
||
'calendar.event_types.attendance': 'Anwesenheit',
|
||
'calendar.event_types.progress': 'Lernfortschritt',
|
||
'calendar.event_types.report': 'Bericht',
|
||
'calendar.event_types.lesson': 'Unterricht',
|
||
'calendar.more_events': '+{count} weitere',
|
||
'calendar.day_events': 'Termine am {date}',
|
||
'calendar.week': 'Woche',
|
||
'calendar.loading': 'Termine werden geladen …',
|
||
'calendar.error': 'Termine konnten nicht geladen werden',
|
||
'calendar.no_day_events': 'Keine Termine an diesem Tag',
|
||
'calendar.close': 'Schließen',
|
||
'calendar.meta.subject': 'Fach',
|
||
'calendar.meta.class': 'Klasse',
|
||
'calendar.meta.type': 'Typ',
|
||
'calendar.meta.period': 'Stunde',
|
||
'calendar.meta.status': 'Status',
|
||
'calendar.meta.rate': 'Rate',
|
||
'calendar.meta.present': 'Anwesend',
|
||
'calendar.meta.absent': 'Abwesend',
|
||
'calendar.meta.excused': 'Entschuldigt',
|
||
'calendar.meta.late': 'Verspätet',
|
||
'calendar.meta.count': 'Einträge',
|
||
'calendar.meta.student': 'Schüler',
|
||
'calendar.meta.weight': 'Gewichtung',
|
||
'calendar.meta.max_score': 'Maximalpunktzahl',
|
||
'calendar.meta.includes_grades': 'Mit Noten',
|
||
'calendar.no_upcoming': 'Keine anstehenden Termine in dieser Woche',
|
||
|
||
// ─── Grade Trend & Risk Analysis (analytics enhancements) ────────
|
||
'analytics.grade_trend': 'Notenentwicklung über Zeit',
|
||
'analytics.grade_trend_desc': 'Durchschnittliche Kompetenz nach Woche',
|
||
'analytics.range_12_weeks': '12 Wochen',
|
||
'analytics.range_24_weeks': '24 Wochen',
|
||
'analytics.min_standard': 'Mindeststandard',
|
||
'analytics.unique_students': 'Schüler:innen',
|
||
'analytics.school_avg': 'Schulø',
|
||
'analytics.risk_analysis': 'Risikoanalyse: Schüler:innen mit Förderbedarf',
|
||
'analytics.risk_analysis_desc': 'Schüler:innen mit Förderbedarf',
|
||
'analytics.risk_score': 'Risiko-Score',
|
||
'analytics.risk_level': 'Risikostufe',
|
||
'analytics.risk_low': 'Niedrig',
|
||
'analytics.risk_medium': 'Mittel',
|
||
'analytics.risk_high': 'Hoch',
|
||
'analytics.risk_critical': 'Kritisch',
|
||
'analytics.signals': 'Signale',
|
||
'analytics.signal_low_mastery': 'Niedrige Kompetenz',
|
||
'analytics.signal_no_progress': 'Kein Fortschritt',
|
||
'analytics.signal_low_attendance': 'Niedrige Anwesenheit',
|
||
'analytics.signal_declining': 'Abfallender Trend',
|
||
'analytics.latest_mastery': 'Aktuelle Kompetenz',
|
||
'analytics.last_activity': 'Letzte Aktivität',
|
||
'analytics.total_at_risk': 'Insgesamt riskant',
|
||
'analytics.critical_count': 'Kritisch',
|
||
'analytics.high_count': 'Hoch',
|
||
'analytics.avg_risk_score': 'Ø Risiko-Score',
|
||
'analytics.all_good': 'Alle Schüler:innen sind auf einem guten Weg!',
|
||
'analytics.filter_risk': 'Nach Risikostufe filtern',
|
||
'analytics.class_avg': 'Klassenø',
|
||
'analytics.details': 'Details',
|
||
'analytics.filter_all': 'Alle',
|
||
'analytics.no_recent_activity': 'Keine Aktivität',
|
||
'analytics.risk_distribution_title': 'Risikoverteilung',
|
||
'analytics.risk_distribution_desc': 'Anzahl Schüler:innen je Risikostufe',
|
||
|
||
// ─── Parent Communication ──────────────────────────────────────────
|
||
'nav.parents': 'Elternkommunikation',
|
||
'parents.title': 'Elternkommunikation',
|
||
'parents.subtitle': 'Nachrichten an Eltern verwalten',
|
||
'parents.new_message': 'Neue Nachricht',
|
||
'parents.new_contact': 'Neuer Kontakt',
|
||
'parents.conversations': 'Unterhaltungen',
|
||
'parents.no_conversations': 'Keine Unterhaltungen',
|
||
'parents.no_conversations_desc': 'Starten Sie eine neue Nachricht',
|
||
'parents.select_conversation': 'Wählen Sie eine Unterhaltung',
|
||
'parents.parent_info': 'Elterninformation',
|
||
'parents.student_info': 'Schülerinformation',
|
||
'parents.field.parent': 'Erziehungsberechtigte:r',
|
||
'parents.field.student': 'Schüler:in',
|
||
'parents.field.subject': 'Betreff',
|
||
'parents.field.body': 'Nachricht',
|
||
'parents.field.category': 'Kategorie',
|
||
'parents.field.priority': 'Priorität',
|
||
'parents.field.relationship': 'Beziehung',
|
||
'parents.field.email': 'E-Mail',
|
||
'parents.field.phone': 'Telefon',
|
||
'parents.field.preferred_contact': 'Bevorzugter Kontakt',
|
||
'parents.field.preferred_language': 'Bevorzugte Sprache',
|
||
'parents.field.notes': 'Notizen',
|
||
'parents.category_general': 'Allgemein',
|
||
'parents.category_progress': 'Lernfortschritt',
|
||
'parents.category_assessment': 'Überprüfung',
|
||
'parents.category_behavior': 'Verhalten',
|
||
'parents.category_attendance': 'Anwesenheit',
|
||
'parents.category_event': 'Veranstaltung',
|
||
'parents.priority_low': 'Niedrig',
|
||
'parents.priority_normal': 'Normal',
|
||
'parents.priority_high': 'Hoch',
|
||
'parents.priority_urgent': 'Dringend',
|
||
'parents.status_draft': 'Entwurf',
|
||
'parents.status_sent': 'Gesendet',
|
||
'parents.status_delivered': 'Zugestellt',
|
||
'parents.status_read': 'Gelesen',
|
||
'parents.status_replied': 'Beantwortet',
|
||
'parents.reply': 'Antworten',
|
||
'parents.send': 'Senden',
|
||
'parents.save_draft': 'Entwurf speichern',
|
||
'parents.statistics': 'Statistik',
|
||
'parents.messages_sent': 'Gesendete Nachrichten',
|
||
'parents.response_rate': 'Antwortrate',
|
||
'parents.avg_response_time': 'Ø Antwortzeit',
|
||
'parents.by_category': 'Nach Kategorie',
|
||
'parents.empty_thread': 'Noch keine Nachrichten',
|
||
'parents.empty_thread_desc': 'Starten Sie die Unterhaltung',
|
||
'parents.templates': 'Vorlagen',
|
||
'parents.template_progress_good': 'Positiver Lernfortschritt',
|
||
'parents.template_assessment_reminder': 'Überprüfungserinnerung',
|
||
'parents.template_behavior_concern': 'Verhalten',
|
||
'parents.template_meeting_request': 'Gesprächswunsch',
|
||
'parents.relationship_parent': 'Elternteil',
|
||
'parents.relationship_guardian': 'Vormund',
|
||
'parents.relationship_emergency': 'Notfallkontakt',
|
||
'parents.delete_confirm': 'Diese Nachricht wirklich löschen?',
|
||
'parents.deleted': 'Nachricht gelöscht',
|
||
'parents.sent': 'Nachricht gesendet',
|
||
'parents.draft_saved': 'Entwurf gespeichert',
|
||
'parents.reply_sent': 'Antwort gespeichert',
|
||
'parents.marked_read': 'Als gelesen markiert',
|
||
'parents.contact_created': 'Kontakt erstellt',
|
||
'parents.contact_updated': 'Kontakt aktualisiert',
|
||
'parents.contact_deleted': 'Kontakt gelöscht',
|
||
'parents.filter_all': 'Alle',
|
||
'parents.filter_by_student': 'Nach Schüler:in',
|
||
'parents.filter_by_category': 'Nach Kategorie',
|
||
'parents.search_placeholder': 'Suche nach Name…',
|
||
'parents.this_month': 'Diesen Monat',
|
||
'parents.no_messages_sent': 'Noch keine Nachrichten gesendet',
|
||
'parents.messages': 'Nachrichten',
|
||
'parents.unread': 'Ungelesen',
|
||
'parents.last_message': 'Letzte Nachricht',
|
||
'parents.create_contact_first': 'Bitte erstellen Sie zuerst einen Elternkontakt',
|
||
'parents.no_contacts': 'Keine Elternkontakte vorhanden',
|
||
'parents.no_contacts_desc': 'Erstellen Sie den ersten Kontakt',
|
||
'parents.view_thread': 'Unterhaltung anzeigen',
|
||
'parents.reply_placeholder': 'Antwort der Eltern eintragen…',
|
||
'parents.hours': 'Std.',
|
||
'parents.minutes': 'Min.',
|
||
'parents.days': 'Tage',
|
||
'parents.no_response_yet': 'Keine Antwort',
|
||
|
||
// Behavior Tracking — Verhaltensverfolgung
|
||
'nav.behavior': 'Verhalten',
|
||
'behavior.title': 'Verhaltensverfolgung',
|
||
'behavior.subtitle': 'Erfassen und verfolgen Sie Verhaltensvorfälle Ihrer Schüler:innen',
|
||
'behavior.tab_incidents': 'Vorfälle',
|
||
'behavior.tab_categories': 'Kategorien',
|
||
'behavior.tab_statistics': 'Statistik',
|
||
'behavior.loading': 'Wird geladen…',
|
||
'behavior.error_load': 'Fehler beim Laden',
|
||
'behavior.error_save': 'Fehler beim Speichern',
|
||
'behavior.error_delete': 'Fehler beim Löschen',
|
||
'behavior.empty_incidents': 'Keine Vorfälle erfasst',
|
||
'behavior.empty_incidents_desc': 'Erfassen Sie den ersten Vorfall oder passen Sie die Filter an.',
|
||
'behavior.empty_incidents_filtered': 'Keine Vorfälle für die gewählten Filter',
|
||
'behavior.empty_incidents_filtered_desc': 'Passen Sie die Filter an, um Ergebnisse zu sehen.',
|
||
'behavior.empty_categories': 'Noch keine Kategorien',
|
||
'behavior.empty_categories_desc': 'Legen Sie die erste Verhaltenskategorie an.',
|
||
'behavior.select_class': 'Klasse auswählen',
|
||
'behavior.all_classes': 'Alle Klassen',
|
||
'behavior.all_students': 'Alle Schüler:innen',
|
||
'behavior.all_categories': 'Alle Kategorien',
|
||
'behavior.all_severities': 'Alle Schweregrade',
|
||
'behavior.all_resolved': 'Alle Status',
|
||
'behavior.add_incident': 'Vorfall erfassen',
|
||
'behavior.edit_incident': 'Vorfall bearbeiten',
|
||
'behavior.add_category': 'Kategorie hinzufügen',
|
||
'behavior.edit_category': 'Kategorie bearbeiten',
|
||
'behavior.field.student': 'Schüler:in',
|
||
'behavior.field.category': 'Kategorie',
|
||
'behavior.field.date': 'Datum',
|
||
'behavior.field.severity': 'Schweregrad',
|
||
'behavior.field.description': 'Beschreibung',
|
||
'behavior.field.location': 'Ort',
|
||
'behavior.field.follow_up': 'Folgende Maßnahme',
|
||
'behavior.field.name': 'Name',
|
||
'behavior.field.color': 'Farbe',
|
||
'behavior.field.valence': 'Wertung',
|
||
'behavior.field.icon': 'Symbol (Emoji)',
|
||
'behavior.field.class': 'Klasse',
|
||
'behavior.field.resolved': 'Als gelöst markieren',
|
||
'behavior.severity.minor': 'Gering',
|
||
'behavior.severity.moderate': 'Mittel',
|
||
'behavior.severity.major': 'Schwerwiegend',
|
||
'behavior.valence.positive': 'Positiv',
|
||
'behavior.valence.negative': 'Negativ',
|
||
'behavior.valence.neutral': 'Neutral',
|
||
'behavior.resolved': 'Gelöst',
|
||
'behavior.unresolved': 'Offen',
|
||
'behavior.mark_resolved': 'Als gelöst markieren',
|
||
'behavior.mark_unresolved': 'Wieder eröffnen',
|
||
'behavior.resolved_by': 'Gelöst von',
|
||
'behavior.resolved_at': 'Gelöst am',
|
||
'behavior.created_at': 'Erfasst am',
|
||
'behavior.by_teacher': 'Erfasst von',
|
||
'behavior.delete_incident_title': 'Vorfall löschen',
|
||
'behavior.delete_incident_desc': 'Möchten Sie diesen Vorfall wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.',
|
||
'behavior.delete_category_title': 'Kategorie löschen',
|
||
'behavior.delete_category_desc': 'Möchten Sie diese Kategorie wirklich löschen?',
|
||
'behavior.delete_category_blocked': 'Kategorie kann nicht gelöscht werden — es sind noch Vorfälle zugeordnet.',
|
||
'behavior.save': 'Speichern',
|
||
'behavior.cancel': 'Abbrechen',
|
||
'behavior.delete': 'Löschen',
|
||
'behavior.edit': 'Bearbeiten',
|
||
'behavior.saved_incident': 'Vorfall gespeichert',
|
||
'behavior.deleted_incident': 'Vorfall gelöscht',
|
||
'behavior.saved_category': 'Kategorie gespeichert',
|
||
'behavior.deleted_category': 'Kategorie gelöscht',
|
||
'behavior.marked_resolved': 'Vorfall als gelöst markiert',
|
||
'behavior.marked_unresolved': 'Vorfall wieder eröffnet',
|
||
'behavior.location.classroom': 'Klassenzimmer',
|
||
'behavior.location.playground': 'Pausenhof',
|
||
'behavior.location.hallway': 'Flur',
|
||
'behavior.location.gym': 'Turnhalle',
|
||
'behavior.location.auditorium': 'Aula',
|
||
'behavior.location.library': 'Bibliothek',
|
||
'behavior.location.cafeteria': 'Mensa',
|
||
'behavior.location.other': 'Sonstiger Ort',
|
||
'behavior.followup.parent_talk': 'Elterngespräch',
|
||
'behavior.followup.detention': 'Nachsitzen',
|
||
'behavior.followup.praise_circle': 'Lob im Kreis',
|
||
'behavior.followup.note_home': 'Notiz nach Hause',
|
||
'behavior.followup.warning': 'Ermahnung',
|
||
'behavior.followup.mediation': 'Mediation',
|
||
'behavior.followup.prize': 'Belohnung',
|
||
'behavior.followup.none': 'Keine',
|
||
'behavior.filter_section': 'Filter',
|
||
'behavior.filter.date_from': 'Von',
|
||
'behavior.filter.date_to': 'Bis',
|
||
'behavior.filter.category': 'Kategorie',
|
||
'behavior.filter.severity': 'Schweregrad',
|
||
'behavior.filter.resolved': 'Status',
|
||
'behavior.filter.student': 'Schüler:in',
|
||
'behavior.stat.this_month': 'Vorfälle diesen Monat',
|
||
'behavior.stat.positive': 'Positive Vorfälle',
|
||
'behavior.stat.negative': 'Negative Vorfälle',
|
||
'behavior.stat.resolution_rate': 'Lösungsquote',
|
||
'behavior.stat.by_category': 'Vorfälle nach Kategorie',
|
||
'behavior.stat.by_valence': 'Verteilung nach Wertung',
|
||
'behavior.stat.top_students': 'Top 5 Schüler:innen nach Vorfällen',
|
||
'behavior.stat.no_data': 'Noch keine Daten verfügbar',
|
||
'behavior.stat.total': 'Gesamt',
|
||
'behavior.stat.pos_count': 'Positiv',
|
||
'behavior.stat.neg_count': 'Negativ',
|
||
'behavior.incidents_count': 'Vorfälle',
|
||
'behavior.preview': 'Vorschau',
|
||
'behavior.no_class_selected': 'Bitte wählen Sie eine Klasse aus',
|
||
'behavior.no_class_selected_desc': 'Wählen Sie oben eine Klasse aus, um Vorfälle zu erfassen und anzusehen.',
|
||
'behavior.schoolwide': 'Schulweit',
|
||
'behavior.color_helper': 'Hex-Farbe, z. B. #10b981',
|
||
'behavior.icon_helper': 'Ein Emoji zur schnellen Erkennung, z. B. 🤝',
|
||
'behavior.name_placeholder': 'z. B. Hilfsbereitschaft',
|
||
'behavior.description_placeholder': 'Was ist passiert?',
|
||
'behavior.location_placeholder': 'z. B. Klassenzimmer',
|
||
'behavior.followup_placeholder': 'z. B. Elterngespräch',
|
||
'behavior.detail': 'Detail',
|
||
'behavior.required_student': 'Bitte wählen Sie eine Schüler:in aus',
|
||
'behavior.required_category': 'Bitte wählen Sie eine Kategorie aus',
|
||
'behavior.required_description': 'Bitte geben Sie eine Beschreibung ein',
|
||
'behavior.duplicate_category': 'Eine Kategorie mit diesem Namen existiert bereits',
|
||
'behavior.confirm_close': 'Möchten Sie den Dialog wirklich schließen? Nicht gespeicherte Änderungen gehen verloren.',
|
||
|
||
// Behavior Analytics
|
||
'behavior.tab_analytics': 'Analyse',
|
||
'behavior.tab_interventions': 'Massnahmen',
|
||
'behavior.analytics.trend': 'Verlauf',
|
||
'behavior.analytics.trend_desc': 'Positive vs. negative Vorfälle im Zeitverlauf',
|
||
'behavior.analytics.category_dist': 'Kategorienverteilung',
|
||
'behavior.analytics.category_dist_desc': 'Aufschlüsselung nach Verhaltenskategorie',
|
||
'behavior.analytics.risk_profile': 'Risikoprofil',
|
||
'behavior.analytics.risk_profile_desc': 'Schüler:innen mit häufigen negativen Vorfällen',
|
||
'behavior.analytics.class_comparison': 'Klassenvergleich',
|
||
'behavior.analytics.class_comparison_desc': 'Verhaltensmuster im Klassenvergleich',
|
||
'behavior.analytics.time_of_day': 'Tageszeit-Analyse',
|
||
'behavior.analytics.time_of_day_desc': 'Wann Vorfälle am häufigsten auftreten',
|
||
'behavior.analytics.positive_trend': 'Positive Entwicklung',
|
||
'behavior.analytics.positive_trend_desc': 'Schüler:innen mit positiver Verhaltensentwicklung',
|
||
'behavior.analytics.positive_change': 'Positive Veränderung',
|
||
'behavior.analytics.negative_change': 'Negative Veränderung',
|
||
'behavior.analytics.period': 'Zeitraum',
|
||
'behavior.analytics.last_30': 'Letzte 30 Tage',
|
||
'behavior.analytics.last_90': 'Letzte 90 Tage',
|
||
'behavior.analytics.this_year': 'Dieses Schuljahr',
|
||
'behavior.analytics.risk_high': 'Hohes Risiko',
|
||
'behavior.analytics.risk_medium': 'Mittleres Risiko',
|
||
'behavior.analytics.risk_low': 'Niedriges Risiko',
|
||
'behavior.analytics.incidents_count_short': 'Vorfälle',
|
||
|
||
// Behavior Interventions
|
||
'behavior.intervention.title': 'Verhaltensmassnahmen',
|
||
'behavior.intervention.subtitle': 'Massnahmen erfassen und deren Wirksamkeit verfolgen',
|
||
'behavior.intervention.add': 'Massnahme hinzufügen',
|
||
'behavior.intervention.edit': 'Massnahme bearbeiten',
|
||
'behavior.intervention.type': 'Typ',
|
||
'behavior.intervention.type.warning': 'Verwarnung',
|
||
'behavior.intervention.type.meeting': 'Gespräch',
|
||
'behavior.intervention.type.action_plan': 'Aktionsplan',
|
||
'behavior.intervention.type.support': 'Unterstützung',
|
||
'behavior.intervention.type.parent_contact': 'Elternkontakt',
|
||
'behavior.intervention.description': 'Beschreibung',
|
||
'behavior.intervention.description_placeholder': 'Beschreibung der Massnahme…',
|
||
'behavior.intervention.status': 'Status',
|
||
'behavior.intervention.status.planned': 'Geplant',
|
||
'behavior.intervention.status.in_progress': 'In Bearbeitung',
|
||
'behavior.intervention.status.completed': 'Abgeschlossen',
|
||
'behavior.intervention.status.cancelled': 'Abgebrochen',
|
||
'behavior.intervention.assigned_to': 'Zugewiesen an',
|
||
'behavior.intervention.assigned_to_placeholder': 'Lehrkraft auswählen',
|
||
'behavior.intervention.start_date': 'Startdatum',
|
||
'behavior.intervention.end_date': 'Enddatum',
|
||
'behavior.intervention.outcome': 'Ergebnis',
|
||
'behavior.intervention.outcome_placeholder': 'Ergebnis der Massnahme…',
|
||
'behavior.intervention.linked_incident': 'Verknüpfter Vorfall',
|
||
'behavior.intervention.no_incident': 'Kein Vorfall verknüpft',
|
||
'behavior.intervention.effectiveness': 'Wirksamkeit',
|
||
'behavior.intervention.progress': 'Fortschritt',
|
||
'behavior.intervention.no_interventions': 'Keine Massnahmen vorhanden',
|
||
'behavior.intervention.no_interventions_desc': 'Erstellen Sie eine Massnahme, um das Verhalten zu unterstützen.',
|
||
'behavior.intervention.saved': 'Massnahme gespeichert',
|
||
'behavior.intervention.deleted': 'Massnahme gelöscht',
|
||
'behavior.intervention.error_save': 'Fehler beim Speichern der Massnahme',
|
||
'behavior.intervention.error_delete': 'Fehler beim Löschen der Massnahme',
|
||
'behavior.intervention.required_type': 'Bitte wählen Sie einen Typ aus',
|
||
'behavior.intervention.required_description': 'Bitte geben Sie eine Beschreibung ein',
|
||
'behavior.intervention.filter_status': 'Status filtern',
|
||
'behavior.intervention.all_statuses': 'Alle Status',
|
||
'behavior.intervention.filter_type': 'Typ filtern',
|
||
'behavior.intervention.all_types': 'Alle Typen',
|
||
|
||
// Audit Log Enhancement
|
||
'audit.entity_type': 'Entitätstyp',
|
||
'audit.entity_type_filter': 'Nach Typ filtern',
|
||
'audit.all_entity_types': 'Alle Typen',
|
||
'audit.user_filter': 'Benutzer filtern',
|
||
'audit.all_users': 'Alle Benutzer',
|
||
'audit.changes': 'Änderungen',
|
||
'audit.before': 'Vorher',
|
||
'audit.after': 'Nachher',
|
||
'audit.detail': 'Detailansicht',
|
||
'audit.export_csv': 'Als CSV exportieren',
|
||
'audit.page': 'Seite',
|
||
'audit.of': 'von',
|
||
'audit.entries': 'Einträge',
|
||
'audit.previous': 'Zurück',
|
||
'audit.next': 'Weiter',
|
||
'audit.no_changes': 'Keine Änderungsdetails verfügbar',
|
||
'audit.ip_address': 'IP-Adresse',
|
||
'audit.user_agent': 'Benutzer-Agent',
|
||
|
||
// Curriculum Coverage — Kompetenzabdeckung
|
||
'nav.coverage': 'Abdeckung',
|
||
'coverage.title': 'Kompetenzabdeckung',
|
||
'coverage.subtitle': 'Sehen Sie, welche Kompetenzen bereits erfasst wurden und wo Lücken bestehen',
|
||
'coverage.loading': 'Wird geladen…',
|
||
'coverage.error': 'Fehler beim Laden der Abdeckungsdaten',
|
||
'coverage.select_class': 'Bitte wählen Sie eine Klasse aus',
|
||
'coverage.select_subject': 'Alle Fächer',
|
||
'coverage.no_assignments': 'Kein Kompetenzraster zugewiesen',
|
||
'coverage.no_assignments_desc': 'Diese Klasse hat noch kein Kompetenzraster. Weisen Sie im Kompetenzraster-Bereich ein Raster zu, um die Abdeckung zu analysieren.',
|
||
'coverage.go_to_grid': 'Zum Kompetenzraster',
|
||
'coverage.kpi.total': 'Kompetenzen Insgesamt',
|
||
'coverage.kpi.assessed': 'Abgedeckt',
|
||
'coverage.kpi.not_assessed': 'Nicht Abgedeckt',
|
||
'coverage.kpi.students': 'Schüler:innen',
|
||
'coverage.section.by_category': 'Abdeckung nach Kategorie',
|
||
'coverage.section.by_category_desc': 'Übersicht über die Erfassung pro Kompetenzkategorie',
|
||
'coverage.section.matrix': 'Kompetenzmatrix',
|
||
'coverage.section.matrix_desc': 'Detaillierte Übersicht aller Kompetenzen',
|
||
'coverage.section.action_needed': 'Handlungsbedarf',
|
||
'coverage.section.action_needed_desc': 'Diese Kompetenzen wurden noch nicht oder unvollständig erfasst',
|
||
'coverage.section.recent': 'Zuletzt erfasst',
|
||
'coverage.section.recent_desc': 'Die 5 am kürzesten erfassten Kompetenzen',
|
||
'coverage.filter.all': 'Alle',
|
||
'coverage.filter.covered': 'Abgedeckt',
|
||
'coverage.filter.partial': 'Teilweise',
|
||
'coverage.filter.untouched': 'Nicht begonnen',
|
||
'coverage.sort.by_category': 'Nach Kategorie',
|
||
'coverage.sort.by_status': 'Nach Status',
|
||
'coverage.sort.by_recent': 'Zuletzt erfasst',
|
||
'coverage.search_placeholder': 'Kompetenz suchen (Code oder Titel)…',
|
||
'coverage.status.covered': 'Vollständig erfasst',
|
||
'coverage.status.partial': 'Teilweise erfasst',
|
||
'coverage.status.untouched': 'Nicht erfasst',
|
||
'coverage.assessed_count': 'Erfasste Schüler:innen',
|
||
'coverage.last_assessed': 'Zuletzt erfasst',
|
||
'coverage.never_assessed': 'Nie erfasst',
|
||
'coverage.assessments_count': 'Bewertungen',
|
||
'coverage.progress_count': 'Fortschritte',
|
||
'coverage.empty_action': 'Alle Kompetenzen erfasst!',
|
||
'coverage.empty_action_desc': 'Alle Kompetenzen dieser Klasse wurden mindestens teilweise erfasst.',
|
||
'coverage.empty_recent': 'Noch keine Erfassungen',
|
||
'coverage.empty_recent_desc': 'Sobald Sie Fortschritte eintragen, erscheinen diese hier.',
|
||
'coverage.record_progress': 'Erfassen',
|
||
'coverage.guide.title': 'So funktioniert\'s',
|
||
'coverage.guide.subtitle': 'Drei Schritte zur Abdeckungsanalyse',
|
||
'coverage.guide.step1_title': 'Klasse wählen',
|
||
'coverage.guide.step1_desc': 'Wählen Sie oben eine Klasse aus, um die zugewiesenen Kompetenzraster zu laden.',
|
||
'coverage.guide.step2_title': 'Fach wählen (optional)',
|
||
'coverage.guide.step2_desc': 'Filtern Sie nach einem bestimmten Fach oder zeigen Sie alle Fächer auf einmal.',
|
||
'coverage.guide.step3_title': 'Abdeckung analysieren',
|
||
'coverage.guide.step3_desc': 'Identifizieren Sie Lücken und gezielt zu erfassende Kompetenzen.',
|
||
'coverage.no_data': 'Keine Daten verfügbar',
|
||
'coverage.coverage_percent': 'Abgedeckt',
|
||
'coverage.not_covered_percent': 'Offen',
|
||
'attendance.empty_action_hint': 'Klicken Sie auf "Neue Sitzung" oben, um eine Anwesenheitssitzung zu starten.',
|
||
'student_detail.sparse_chart_hint': 'Kompetenzbereiche ohne Bewertung werden als minimaler Wert dargestellt.',
|
||
'student_detail.no_assessment': 'k.A.',
|
||
'analytics.level_range': '(0–4)',
|
||
'analytics.calendar_week_full': 'Kalenderwoche',
|
||
'flower.empty_tip': 'Wählen Sie eine Klasse und eine Schüler:in aus, um die Kompetenzblume zu sehen.',
|
||
'grading.empty_description': 'Notenschemata definieren, wie verschiedene Bewertungen (Fortschritt, Prüfungen, etc.) zu einer Gesamtnote kombiniert werden. Wählen Sie eine Klasse und ein Fach, um zu beginnen.',
|
||
'parents.no_conversation_selected': 'Wählen Sie eine Konversation aus der Liste',
|
||
|
||
// ─── Rubric Library ──────────────────────────────────────────────
|
||
'nav.rubrics': 'Bewertungsraster',
|
||
'rubrics.title': 'Bewertungsraster-Bibliothek',
|
||
'rubrics.subtitle': 'Erstellen und verwalten Sie wiederverwendbare Bewertungsraster',
|
||
'rubrics.create': 'Raster erstellen',
|
||
'rubrics.edit': 'Raster bearbeiten',
|
||
'rubrics.duplicate': 'Duplizieren',
|
||
'rubrics.delete': 'Löschen',
|
||
'rubrics.detail': 'Raster-Details',
|
||
'rubrics.print': 'Drucken',
|
||
'rubrics.save': 'Speichern',
|
||
'rubrics.cancel': 'Abbrechen',
|
||
'rubrics.close': 'Schließen',
|
||
'rubrics.type_analytic': 'Analytisch',
|
||
'rubrics.type_holistic': 'Ganzheitlich',
|
||
'rubrics.criteria': 'Kriterien',
|
||
'rubrics.levels': 'Niveaustufen',
|
||
'rubrics.add_criterion': 'Kriterium hinzufügen',
|
||
'rubrics.add_level': 'Stufe hinzufügen',
|
||
'rubrics.remove_criterion': 'Kriterium entfernen',
|
||
'rubrics.remove_level': 'Stufe entfernen',
|
||
'rubrics.criterion_name': 'Kriteriumsname',
|
||
'rubrics.criterion_description': 'Kriteriumsbeschreibung',
|
||
'rubrics.criterion_weight': 'Gewichtung',
|
||
'rubrics.criterion_max_points': 'Max. Punkte',
|
||
'rubrics.level_label': 'Stufenbezeichnung',
|
||
'rubrics.level_description': 'Deskriptor',
|
||
'rubrics.level_points': 'Punkte',
|
||
'rubrics.field.title': 'Titel',
|
||
'rubrics.field.description': 'Beschreibung',
|
||
'rubrics.field.type': 'Raster-Typ',
|
||
'rubrics.field.subject': 'Fach',
|
||
'rubrics.field.max_points': 'Maximale Punktzahl',
|
||
'rubrics.field.is_public': 'Schulweit teilen',
|
||
'rubrics.field.is_public_hint': 'Andere Lehrkräfte können dieses Raster verwenden',
|
||
'rubrics.no_subject': 'Kein Fach',
|
||
'rubrics.all_subjects': 'Alle Fächer',
|
||
'rubrics.public': 'Öffentlich',
|
||
'rubrics.private': 'Privat',
|
||
'rubrics.version': 'Version',
|
||
'rubrics.by_teacher': 'Von',
|
||
'rubrics.max_points': 'Max. Punkte',
|
||
'rubrics.search_placeholder': 'Raster suchen…',
|
||
'rubrics.filter_subject': 'Fach filtern',
|
||
'rubrics.filter_public': 'Nur eigene',
|
||
'rubrics.filter_all': 'Alle Raster',
|
||
'rubrics.empty_title': 'Noch keine Bewertungsraster',
|
||
'rubrics.empty_desc': 'Erstellen Sie Ihr erstes Bewertungsraster, um standardisierte Bewertungskriterien für Ihre Klasse zu definieren.',
|
||
'rubrics.empty_create': 'Erstes Raster erstellen',
|
||
'rubrics.loading': 'Laden…',
|
||
'rubrics.error': 'Fehler beim Laden der Bewertungsraster',
|
||
'rubrics.saved': 'Bewertungsraster gespeichert',
|
||
'rubrics.deleted': 'Bewertungsraster gelöscht',
|
||
'rubrics.duplicated': 'Bewertungsraster dupliziert',
|
||
'rubrics.delete_title': 'Bewertungsraster löschen',
|
||
'rubrics.delete_desc': 'Sind Sie sicher, dass Sie dieses Bewertungsraster löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.',
|
||
'rubrics.preview': 'Vorschau',
|
||
'rubrics.edit_form': 'Bearbeiten',
|
||
'rubrics.criteria_count': '{count} Kriterien',
|
||
'rubrics.criterion': 'Kriterium',
|
||
'rubrics.level': 'Stufe',
|
||
'rubrics.weight': 'Gewichtung',
|
||
'rubrics.points': 'Punkte',
|
||
'rubrics.total_weight': 'Gesamtgewichtung',
|
||
'rubrics.total_points': 'Gesamtpunktzahl',
|
||
'rubrics.title_required': 'Bitte geben Sie einen Titel ein',
|
||
'rubrics.criteria_required': 'Mindestens ein Kriterium ist erforderlich',
|
||
'rubrics.levels_required': 'Jedes Kriterium benötigt mindestens eine Stufe',
|
||
'rubrics.level_header': 'Stufe {order}',
|
||
'rubrics.table_criterion': 'Kriterium',
|
||
'rubrics.table_weight_short': 'Gew.',
|
||
'rubrics.confirm_close': 'Nicht gespeicherte Änderungen gehen verloren. Fortfahren?',
|
||
|
||
// ── Comments Bank (Zeugnisbemerkungen) ──────────────────────────────
|
||
'nav.comments': 'Bemerkungen',
|
||
'nav.drawing': 'Zeichnen',
|
||
'comments.title': 'Zeugnisbemerkungen',
|
||
'comments.subtitle': 'Bibliothek wiederverwendbarer Bemerkungstexte für Zeugnisse',
|
||
'comments.tab_entries': 'Bemerkungen',
|
||
'comments.tab_categories': 'Kategorien',
|
||
'comments.tab_statistics': 'Statistik',
|
||
'comments.search_placeholder': 'Bemerkungen durchsuchen…',
|
||
'comments.create_entry': 'Bemerkung erstellen',
|
||
'comments.edit_entry': 'Bemerkung bearbeiten',
|
||
'comments.create_entry_desc': 'Erstellen Sie eine neue wiederverwendbare Bemerkung für Zeugnisse.',
|
||
'comments.edit_entry_desc': 'Bearbeiten Sie die Bemerkung.',
|
||
'comments.field_title': 'Titel',
|
||
'comments.title_placeholder': 'Kurzer Titel der Bemerkung',
|
||
'comments.field_category': 'Kategorie',
|
||
'comments.field_subject': 'Fach',
|
||
'comments.no_subject': 'Kein Fach',
|
||
'comments.field_grade_level': 'Klassenstufe',
|
||
'comments.field_text': 'Bemerkungstext',
|
||
'comments.text_placeholder': 'Schreiben Sie den Bemerkungstext hier…',
|
||
'comments.field_public': 'Öffentlich',
|
||
'comments.field_tags': 'Tags',
|
||
'comments.tags_placeholder': 'z.B. motivation, sozial, fachlich',
|
||
'comments.preview': 'Vorschau',
|
||
'comments.public': 'Öffentlich',
|
||
'comments.private': 'Privat',
|
||
'comments.usage_count': 'Verwendungen',
|
||
'comments.entries_count': 'Einträge',
|
||
'comments.copy_success': 'In die Zwischenablage kopiert',
|
||
'comments.copy_text': 'Text kopieren',
|
||
'comments.saved': 'Bemerkung gespeichert',
|
||
'comments.created': 'Bemerkung erstellt',
|
||
'comments.deleted': 'Bemerkung gelöscht',
|
||
'comments.error': 'Fehler beim Laden',
|
||
'comments.validation_required': 'Bitte füllen Sie alle Pflichtfelder aus.',
|
||
'comments.empty_title': 'Noch keine Bemerkungen',
|
||
'comments.empty_desc': 'Erstellen Sie Ihre erste wiederverwendbare Bemerkung für Zeugnisse.',
|
||
'comments.empty_create': 'Erste Bemerkung erstellen',
|
||
'comments.filter_category': 'Kategorie',
|
||
'comments.filter_subject': 'Fach',
|
||
'comments.filter_grade': 'Klassenstufe',
|
||
'comments.filter_visibility': 'Sichtbarkeit',
|
||
'comments.all_categories': 'Alle Kategorien',
|
||
'comments.all_subjects': 'Alle Fächer',
|
||
'comments.all_grades': 'Alle Klassen',
|
||
'comments.all_visibility': 'Alle',
|
||
'comments.public_only': 'Nur öffentliche',
|
||
'comments.private_only': 'Nur private',
|
||
'comments.categories_title': 'Bemerkungskategorien',
|
||
'comments.add_category': 'Kategorie hinzufügen',
|
||
'comments.edit_category': 'Kategorie bearbeiten',
|
||
'comments.add_category_desc': 'Erstellen Sie eine neue Kategorie für Bemerkungen.',
|
||
'comments.edit_category_desc': 'Bearbeiten Sie die Kategorie.',
|
||
'comments.category_name': 'Name',
|
||
'comments.category_name_placeholder': 'z.B. Sozialverhalten',
|
||
'comments.category_name_required': 'Bitte geben Sie einen Kategorienamen ein.',
|
||
'comments.category_color': 'Farbe',
|
||
'comments.category_icon': 'Icon',
|
||
'comments.category_icon_placeholder': '🤝',
|
||
'comments.category_saved': 'Kategorie gespeichert',
|
||
'comments.category_created': 'Kategorie erstellt',
|
||
'comments.category_deleted': 'Kategorie gelöscht',
|
||
'comments.category_empty_title': 'Noch keine Kategorien',
|
||
'comments.category_empty_desc': 'Erstellen Sie Ihre erste Kategorie.',
|
||
'comments.delete_entry_title': 'Bemerkung löschen',
|
||
'comments.delete_entry_desc': 'Möchten Sie diese Bemerkung wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.',
|
||
'comments.delete_category_title': 'Kategorie löschen',
|
||
'comments.delete_category_desc': 'Möchten Sie diese Kategorie wirklich löschen? Kategorien mit vorhandenen Bemerkungen können nicht gelöscht werden.',
|
||
'comments.stat_total': 'Gesamt',
|
||
'comments.stat_public': 'Öffentlich',
|
||
'comments.stat_categories': 'Kategorien',
|
||
'comments.stat_most_used': 'Meistverwendet',
|
||
'comments.chart_by_category': 'Bemerkungen nach Kategorie',
|
||
'comments.top_used_title': 'Top 5 meistverwendete Bemerkungen',
|
||
|
||
// Notifications
|
||
'notifications.title': 'Benachrichtigungen',
|
||
'notifications.empty': 'Keine Benachrichtigungen',
|
||
'notifications.mark_all_read': 'Alle als gelesen markieren',
|
||
'notifications.upcoming_assessments': 'Anstehende Leistungsüberprüfungen',
|
||
'notifications.missing_observations': 'Fehlende Beobachtungen',
|
||
'notifications.assessment_deadline': 'Prüfung in {days} Tagen',
|
||
'notifications.no_progress_for': 'Kein Fortschritt seit {days} Tagen für {student}',
|
||
'notifications.record_now': 'Jetzt erfassen',
|
||
'notifications.to_assessment': 'Zur Bewertung',
|
||
'notifications.to_report': 'Zum Bericht',
|
||
'notifications.in_days': 'in {days} Tagen',
|
||
'notifications.days_ago': 'vor {days} Tagen',
|
||
|
||
// Onboarding
|
||
'onboarding.welcome_title': 'Willkommen bei CompetenceTrack!',
|
||
'onboarding.welcome_desc': 'Ihre freie Kompetenz- & Benotungsplattform für Schulen. Lassen Sie uns eine kurze Einführung machen.',
|
||
'onboarding.dashboard_title': 'Dashboard',
|
||
'onboarding.dashboard_desc': 'Hier sehen Sie einen Überblick über alle Klassen, Schüler und aktuelle Aktivitäten. Nutzen Sie die Schnellaktionen für häufige Aufgaben.',
|
||
'onboarding.progress_title': 'Lernfortschritt',
|
||
'onboarding.progress_desc': 'Erfassen Sie Beobachtungen und Fortschritte einzelner Schüler. Wählen Sie eine Klasse und ein Fach, um Einträge zu loggen.',
|
||
'onboarding.flower_title': 'Kompetenzblume',
|
||
'onboarding.flower_desc': 'Visualisieren Sie die Kompetenzentwicklung als Radar-Chart. Vergleichen Sie Schüler und verfolgen Sie Trends über die Zeit.',
|
||
'onboarding.reports_title': 'Berichte',
|
||
'onboarding.reports_desc': 'Erstellen Sie Zeugnis- und Entwicklungsberichte. Exportieren Sie diese als PDF oder drucken Sie sie direkt.',
|
||
'onboarding.done_title': 'Fertig!',
|
||
'onboarding.done_desc': 'Sie sind bereit, CompetenceTrack zu nutzen. Bei Fragen klicken Sie auf das Hilfe-Symbol in der Kopfzeile.',
|
||
'onboarding.skip': 'Überspringen',
|
||
'onboarding.next': 'Weiter',
|
||
'onboarding.back': 'Zurück',
|
||
'onboarding.start': 'Loslegen',
|
||
'onboarding.step': 'Schritt {current} von {total}',
|
||
'onboarding.classes_title': 'Klassen & Schüler',
|
||
'onboarding.classes_desc': 'Verwalten Sie Ihre Klassen und Schüler. Erstellen Sie neue Klassen, fügen Sie Schüler hinzu und weisen Sie Kompetenzraster zu.',
|
||
'onboarding.assessments_title': 'Leistungsüberprüfungen',
|
||
'onboarding.assessments_desc': 'Erstellen und verwalten Sie Leistungsüberprüfungen. Bewerten Sie Schüler und verfolgen Sie deren Fortschritt.',
|
||
'onboarding.grading_title': 'Benotung',
|
||
'onboarding.grading_desc': 'Konfigurieren Sie Notenschemata und berechnen Sie Noten basierend auf Kompetenzniveaus und Leistungsüberprüfungen.',
|
||
'onboarding.notebooks_title': 'Digitale Hefte',
|
||
'onboarding.notebooks_desc': 'Erstellen Sie digitale Notizbücher für Ihre Fächer. Spart Papier und schützt die Umwelt — jedes Heft spart ca. 50 Seiten.',
|
||
'onboarding.drawing_title': 'Zeichnen',
|
||
'onboarding.drawing_desc': 'Nutzen Sie die digitale Zeichenfläche für Skizzen und Illustrationen. Stylus-optimiert mit Druckempfindlichkeit.',
|
||
'onboarding.calendar_title': 'Kalender & Anwesenheit',
|
||
'onboarding.calendar_desc': 'Verwalten Sie den Stundenplan und die Anwesenheit Ihrer Schüler. Behalten Sie den Überblick über Fehlzeiten.',
|
||
'onboarding.parents_title': 'Elternkommunikation',
|
||
'onboarding.parents_desc': 'Kommunizieren Sie mit Eltern über den Lernfortschritt. Senden Sie Berichte und halten Sie den Dialog aufrecht.',
|
||
'onboarding.environmental_title': 'Umweltschutz',
|
||
'onboarding.environmental_desc': 'CompetenceTrack spart Papier: Jeder digitale Eintrag ersetzt ca. 50 Seiten Papier. Danke für Ihren Beitrag zum Umweltschutz!',
|
||
|
||
// Batch deletion (progress entries)
|
||
'progress.batch_select': 'Auswählen',
|
||
'progress.batch_select_all': 'Alle auswählen',
|
||
'progress.batch_deselect_all': 'Alle abwählen',
|
||
'progress.batch_selected': '{count} Einträge ausgewählt',
|
||
'progress.batch_delete': 'Ausgewählte löschen',
|
||
'progress.batch_cancel': 'Abbrechen',
|
||
'progress.batch_delete_confirm': '{count} Einträge wirklich löschen?',
|
||
'progress.batch_mode': 'Auswahlmodus',
|
||
|
||
// Drag-and-drop (classes)
|
||
'classes.seating_order': 'Sitzordnung',
|
||
'classes.reorder_mode': 'Neu anordnen',
|
||
'classes.position': 'Position',
|
||
'classes.drag_hint': 'Ziehen zum Neuordnen',
|
||
|
||
// Color palette (flower)
|
||
'flower.color_scheme': 'Farbschema',
|
||
'flower.color_emerald': 'Smaragd',
|
||
'flower.color_sapphire': 'Saphir',
|
||
'flower.color_amethyst': 'Amethyst',
|
||
'flower.color_amber': 'Bernstein',
|
||
'flower.color_ruby': 'Rubin',
|
||
'flower.color_turquoise': 'Türkis',
|
||
'flower.color_custom': 'Benutzerdefiniert',
|
||
|
||
// ─── Demo accounts ──────────────────────────────────────────────────
|
||
'auth.demo_section_title': 'Demo-Zugang',
|
||
'auth.demo_section_subtitle': 'Schnell ausprobieren mit verschiedenen Rollen',
|
||
'auth.demo_admin': 'Demo Admin',
|
||
'auth.demo_vice_principal': 'Demo Stellvertretender Direktor',
|
||
'auth.demo_teacher': 'Demo Lehrer',
|
||
'auth.demo_student': 'Demo Schüler',
|
||
'auth.demo_parent': 'Demo Elternteil',
|
||
'auth.demo_logging_in': 'Anmeldung als Demo...',
|
||
'settings.demo_accounts': 'Demo-Konten',
|
||
'settings.demo_accounts_desc': 'Demo-Konten verwalten',
|
||
'settings.demo_enable': 'Aktivieren',
|
||
'settings.demo_disable': 'Deaktivieren',
|
||
'settings.demo_disable_all': 'Alle Demo-Konten deaktivieren',
|
||
'settings.demo_delete_all': 'Alle Demo-Konten löschen',
|
||
'settings.demo_toggle_hint': 'Deaktivierte Demo-Konten können nicht angemeldet werden',
|
||
'settings.demo_delete_confirm': 'Alle Demo-Konten wirklich löschen?',
|
||
'settings.demo_no_accounts': 'Keine Demo-Konten vorhanden',
|
||
'badge.demo': 'Demo',
|
||
'settings.demo_active': 'Aktiv',
|
||
'settings.demo_inactive': 'Inaktiv',
|
||
'settings.demo_delete_one_confirm': 'Dieses Demo-Konto wirklich löschen?',
|
||
'settings.demo_disabled': 'Demo-Konten deaktiviert',
|
||
'settings.demo_enabled': 'Demo-Konten aktiviert',
|
||
'settings.demo_deleted': 'Demo-Konten gelöscht',
|
||
'settings.demo_account_deleted': 'Demo-Konto gelöscht',
|
||
'settings.demo_account_toggled': 'Demo-Konto-Status geändert',
|
||
|
||
// Keyboard shortcuts
|
||
'shortcuts.title': 'Tastaturkurzbefehle',
|
||
'shortcuts.description': 'Verfügbare Tastaturkurzbefehle',
|
||
'shortcuts.navigation': 'Navigation',
|
||
'shortcuts.actions': 'Aktionen',
|
||
'shortcuts.switch_view': 'Ansicht wechseln',
|
||
'shortcuts.quick_search': 'Schnellsuche',
|
||
'shortcuts.new_entry': 'Neuen Eintrag erstellen',
|
||
'shortcuts.show_shortcuts': 'Kurzbefehle anzeigen',
|
||
'shortcuts.close_dialog': 'Dialog schließen',
|
||
'shortcuts.command_palette': 'Befehlspalette',
|
||
'shortcuts.recent_actions': 'Letzte Aktionen',
|
||
'shortcuts.views': 'Ansichten',
|
||
'shortcuts.quick_actions': 'Schnellaktionen',
|
||
'shortcuts.new_notebook': 'Neues Heft',
|
||
'shortcuts.drawing': 'Zeichnen',
|
||
'shortcuts.new_page': 'Neue Seite',
|
||
'shortcuts.export_pdf': 'PDF exportieren',
|
||
'shortcuts.archive_toggle': 'Archiv umschalten',
|
||
'shortcuts.close_notebook': 'Heft schließen',
|
||
'shortcuts.notebooks_drawing': 'Hefte & Zeichnen',
|
||
|
||
// Drawing
|
||
'drawing.title': 'Zeichnungen',
|
||
'drawing.subtitle': 'Digital zeichnen statt Papier verschwenden',
|
||
'drawing.new': 'Neue Zeichnung',
|
||
'drawing.gallery': 'Galerie',
|
||
'drawing.edit': 'Bearbeiten',
|
||
'drawing.delete': 'Löschen',
|
||
'drawing.delete_confirm': 'Zeichnung wirklich löschen?',
|
||
'drawing.delete_desc': 'Diese Aktion kann nicht rückgängig gemacht werden.',
|
||
'drawing.save': 'Speichern',
|
||
'drawing.save_success': 'Zeichnung gespeichert',
|
||
'drawing.export_png': 'Als PNG exportieren',
|
||
'drawing.auto_save': 'Automatisch gespeichert',
|
||
'drawing.no_drawings': 'Keine Zeichnungen vorhanden',
|
||
'drawing.no_drawings_desc': 'Erstellen Sie Ihre erste digitale Zeichnung.',
|
||
'drawing.title_label': 'Titel',
|
||
'drawing.description_label': 'Beschreibung',
|
||
'drawing.subject_label': 'Fach',
|
||
'drawing.class_label': 'Klasse',
|
||
'drawing.public': 'Öffentlich teilen',
|
||
'drawing.public_desc': 'Mit der Klasse teilen',
|
||
'drawing.private': 'Privat',
|
||
'drawing.canvas': 'Zeichenfläche',
|
||
'drawing.exit': 'Zeichnung verlassen',
|
||
'drawing.clear': 'Leeren',
|
||
'drawing.clear_confirm': 'Zeichenfläche wirklich leeren?',
|
||
'drawing.undo': 'Rückgängig',
|
||
'drawing.redo': 'Wiederholen',
|
||
'drawing.tool_pencil': 'Stift',
|
||
'drawing.tool_pen': 'Füller',
|
||
'drawing.tool_line': 'Linie',
|
||
'drawing.tool_rectangle': 'Rechteck',
|
||
'drawing.tool_circle': 'Kreis',
|
||
'drawing.tool_eraser': 'Radiergummi',
|
||
'drawing.color': 'Farbe',
|
||
'drawing.stroke_width': 'Strichstärke',
|
||
'drawing.background': 'Hintergrund',
|
||
'drawing.bg_blank': 'Weiss',
|
||
'drawing.bg_lined': 'Liniert',
|
||
'drawing.bg_grid': 'Kariert',
|
||
'drawing.bg_dotted': 'Gepunktet',
|
||
'drawing.guide_mode': 'Hilfslinien',
|
||
'drawing.zoom_in': 'Vergrößern',
|
||
'drawing.zoom_out': 'Verkleinern',
|
||
'drawing.guide_shapes': 'Formvorlagen',
|
||
'drawing.guide_off': 'Aus',
|
||
'drawing.guide_basic': 'Grundformen',
|
||
'drawing.guide_circles': 'Kreise',
|
||
'drawing.guide_perspective': 'Perspektive',
|
||
'drawing.pressure': 'Druckempfindlichkeit',
|
||
'drawing.loading': 'Laden...',
|
||
'drawing.saving': 'Speichern...',
|
||
'drawing.filter_subject': 'Nach Fach filtern',
|
||
'drawing.all_subjects': 'Alle Fächer',
|
||
'drawing.created_at': 'Erstellt',
|
||
'drawing.updated_at': 'Aktualisiert',
|
||
'drawing.untitled': 'Unbenannte Zeichnung',
|
||
'drawing.eco_message': 'Digital zeichnen statt Papier verschwenden',
|
||
'drawing.eco_tip': 'Jede digitale Zeichnung spart Papier und schont die Umwelt',
|
||
|
||
// ─── Digital Notebooks ──────────────────────────────────────────────
|
||
'nav.notebooks': 'Hefte',
|
||
'notebooks.title': 'Digitale Hefte',
|
||
'notebooks.subtitle': 'Papier sparen, Umwelt schützen — digitale Hefte statt Papierhefte',
|
||
'notebooks.create': 'Neues Heft erstellen',
|
||
'notebooks.create_title': 'Neues digitales Heft erstellen',
|
||
'notebooks.create_desc': 'Erstellen Sie ein digitales Heft und sparen Sie Papier.',
|
||
'notebooks.edit_title': 'Heft bearbeiten',
|
||
'notebooks.library': 'Hefte-Bibliothek',
|
||
'notebooks.archived': 'Archivierte Hefte',
|
||
'notebooks.show_archived': 'Archivierte anzeigen',
|
||
'notebooks.hide_archived': 'Archivierte ausblenden',
|
||
'notebooks.archive': 'Archivieren',
|
||
'notebooks.unarchive': 'Wiederherstellen',
|
||
'notebooks.delete': 'Löschen',
|
||
'notebooks.delete_confirm': 'Dieses Heft wirklich löschen? Alle Seiten gehen verloren.',
|
||
'notebooks.no_notebooks': 'Keine Hefte vorhanden',
|
||
'notebooks.no_notebooks_desc': 'Erstellen Sie Ihr erstes digitales Heft.',
|
||
'notebooks.no_notebooks_create': 'Erstes Heft erstellen',
|
||
'notebooks.no_archived': 'Keine archivierten Hefte',
|
||
'notebooks.field_title': 'Titel',
|
||
'notebooks.field_title_placeholder': 'Hefttitel eingeben',
|
||
'notebooks.field_description': 'Beschreibung',
|
||
'notebooks.field_description_placeholder': 'Optionale Beschreibung des Hefts',
|
||
'notebooks.field_type': 'Hefttyp',
|
||
'notebooks.field_subject': 'Fach',
|
||
'notebooks.field_class': 'Klasse',
|
||
'notebooks.field_color': 'Farbe',
|
||
'notebooks.field_icon': 'Symbol',
|
||
'notebooks.field_public': 'Mit Klasse teilen',
|
||
'notebooks.field_public_hint': 'Andere können dieses Heft einsehen',
|
||
'notebooks.type_calligraphy': 'Kalligraphie',
|
||
'notebooks.type_lined_desc': 'Liniertes Heft für Text',
|
||
'notebooks.type_grid_desc': 'Kariertes Heft für Mathematik',
|
||
'notebooks.type_blank_desc': 'Blanko-Heft für freies Gestalten',
|
||
'notebooks.type_dotted_desc': 'Punktiertes Heft für Notizen',
|
||
'notebooks.type_music_desc': 'Musikheft mit Notenlinien',
|
||
'notebooks.type_calligraphy_desc': 'Kalligraphie-Heft zum Schreiben üben',
|
||
'notebooks.no_subject': 'Ohne Fach',
|
||
'notebooks.no_class': 'Ohne Klasse',
|
||
'notebooks.all_subjects': 'Alle Fächer',
|
||
'notebooks.page_count': '{count} Seiten',
|
||
'notebooks.page': 'Seite',
|
||
'notebooks.pages': 'Seiten',
|
||
'notebooks.new_page': 'Neue Seite',
|
||
'notebooks.add_page': 'Seite hinzufügen',
|
||
'notebooks.delete_page': 'Seite löschen',
|
||
'notebooks.delete_page_confirm': 'Diese Seite wirklich löschen?',
|
||
'notebooks.page_title': 'Seitentitel',
|
||
'notebooks.page_title_placeholder': 'Seitenname eingeben',
|
||
'notebooks.page_content': 'Seiteninhalt',
|
||
'notebooks.bookmark': 'Lesezeichen',
|
||
'notebooks.bookmark_add': 'Lesezeichen setzen',
|
||
'notebooks.bookmark_remove': 'Lesezeichen entfernen',
|
||
'notebooks.drawing_mode': 'Zeichnungsmodus',
|
||
'notebooks.drawing_mode_toggle': 'Zeichnen',
|
||
'notebooks.drawing_mode_exit': 'Zurück zum Text',
|
||
'notebooks.view_text_only': 'Nur Text',
|
||
'notebooks.view_split': 'Text + Handschrift',
|
||
'notebooks.view_drawing_only': 'Nur Zeichnung',
|
||
'notebooks.handwriting_panel': 'Handschrift-Panel',
|
||
'notebooks.finger_stylus_hint': 'Finger oder Stift',
|
||
'notebooks.drawing_placeholder': 'Zeichnungsbereich — wird in einer separaten Komponente integriert',
|
||
'notebooks.back_to_library': 'Zurück zur Bibliothek',
|
||
'notebooks.open_notebook': 'Heft öffnen',
|
||
'notebooks.created': 'Heft erstellt',
|
||
'notebooks.updated': 'Heft aktualisiert',
|
||
'notebooks.archived_toast': 'Heft archiviert',
|
||
'notebooks.unarchived_toast': 'Heft wiederhergestellt',
|
||
'notebooks.deleted_toast': 'Heft gelöscht',
|
||
'notebooks.page_saved': 'Seite gespeichert',
|
||
'notebooks.page_added': 'Seite hinzugefügt',
|
||
'notebooks.page_deleted': 'Seite gelöscht',
|
||
'notebooks.error_load': 'Fehler beim Laden der Hefte',
|
||
'notebooks.error_save': 'Fehler beim Speichern',
|
||
'notebooks.error_create': 'Fehler beim Erstellen des Hefts',
|
||
'notebooks.loading': 'Hefte werden geladen…',
|
||
'notebooks.public': 'Geteilt',
|
||
'notebooks.private': 'Privat',
|
||
'notebooks.filter_all': 'Alle',
|
||
'notebooks.filter_subject': 'Nach Fach filtern',
|
||
'notebooks.eco_message': 'Papier sparen, Umwelt schützen',
|
||
'notebooks.eco_tip': '1 Heft = ca. 50 Seiten Papier gespart',
|
||
'notebooks.eco_total': '{count} digitale Hefte = ca. {pages} Seiten Papier gespart',
|
||
'notebooks.search_placeholder': 'Hefte durchsuchen…',
|
||
'notebooks.detail_title': 'Heft-Details',
|
||
'notebooks.page_nav': 'Seitennavigation',
|
||
'notebooks.content_area': 'Inhaltsbereich',
|
||
'notebooks.save_page': 'Seite speichern',
|
||
'notebooks.color_emerald': 'Emerald',
|
||
'notebooks.color_blue': 'Blau',
|
||
'notebooks.color_red': 'Rot',
|
||
'notebooks.color_yellow': 'Gelb',
|
||
'notebooks.color_purple': 'Lila',
|
||
'notebooks.color_orange': 'Orange',
|
||
'notebooks.color_teal': 'Teal',
|
||
'notebooks.color_pink': 'Pink',
|
||
'notebooks.title_required': 'Bitte geben Sie einen Titel ein',
|
||
'notebooks.total_notebooks': 'Hefte gesamt',
|
||
'notebooks.total_pages': 'Seiten gesamt',
|
||
'notebooks.paper_saved': 'Papier gespart',
|
||
'notebooks.pages_unit': 'Seiten',
|
||
|
||
// Notebook toolbar
|
||
'notebooks.toolbar_bold': 'Fett',
|
||
'notebooks.toolbar_italic': 'Kursiv',
|
||
'notebooks.toolbar_underline': 'Unterstrichen',
|
||
'notebooks.toolbar_heading1': 'Ueberschrift 1',
|
||
'notebooks.toolbar_heading2': 'Ueberschrift 2',
|
||
'notebooks.toolbar_heading3': 'Ueberschrift 3',
|
||
'notebooks.toolbar_bullet_list': 'Aufzaehlungsliste',
|
||
'notebooks.toolbar_numbered_list': 'Nummerierte Liste',
|
||
'notebooks.toolbar_align_left': 'Linksbuendig',
|
||
'notebooks.toolbar_align_center': 'Zentriert',
|
||
'notebooks.toolbar_align_right': 'Rechtsbuendig',
|
||
'notebooks.toolbar_strikethrough': 'Durchgestrichen',
|
||
'notebooks.toolbar_text_color': 'Textfarbe',
|
||
'notebooks.toolbar_highlight': 'Hervorhebung',
|
||
'notebooks.toolbar_highlight_yellow': 'Gelb',
|
||
'notebooks.toolbar_highlight_green': 'Gruen',
|
||
'notebooks.toolbar_highlight_blue': 'Blau',
|
||
'notebooks.toolbar_highlight_pink': 'Rosa',
|
||
'notebooks.toolbar_highlight_none': 'Keine',
|
||
'notebooks.toolbar_color_black': 'Schwarz',
|
||
'notebooks.toolbar_color_red': 'Rot',
|
||
'notebooks.toolbar_color_blue': 'Blau',
|
||
'notebooks.toolbar_color_green': 'Gruen',
|
||
'notebooks.toolbar_color_orange': 'Orange',
|
||
'notebooks.reorder_pages': 'Seiten neu anordnen',
|
||
'notebooks.reorder_success': 'Reihenfolge gespeichert',
|
||
'notebooks.reorder_error': 'Fehler beim Speichern der Reihenfolge',
|
||
'notebooks.auto_saving': 'Automatisch speichern...',
|
||
'notebooks.auto_saved': 'Automatisch gespeichert',
|
||
'notebooks.page_thumbnail': 'Seitenvorschau',
|
||
|
||
// Drawing integration
|
||
'notebooks.drawing_saved': 'Zeichnung gespeichert',
|
||
'notebooks.drawing_page_label': 'Diese Seite enthält eine Zeichnung',
|
||
'notebooks.edit_drawing': 'Zeichnung bearbeiten',
|
||
'notebooks.switch_to_text': 'Zur Textseite wechseln',
|
||
'notebooks.drawing_section_label': 'Zeichnungsbereich',
|
||
'notebooks.open_drawing': 'Zeichnung öffnen',
|
||
'notebooks.switch_to_mixed': 'Text + Zeichnung',
|
||
|
||
// Version History
|
||
'notebooks.version_history': 'Versionsgeschichte',
|
||
'notebooks.version_history_title': 'Versionsgeschichte',
|
||
'notebooks.version_number': 'Version',
|
||
'notebooks.version_current': 'Aktuell',
|
||
'notebooks.version_preview': 'Vorschau',
|
||
'notebooks.version_restore': 'Version wiederherstellen',
|
||
'notebooks.version_restore_confirm': 'Version wiederherstellen?',
|
||
'notebooks.version_restore_desc': 'Der aktuelle Inhalt wird als neue Version gespeichert, und die ausgewählte Version wird wiederhergestellt.',
|
||
'notebooks.version_restored': 'Version wiederhergestellt',
|
||
'notebooks.version_no_history': 'Keine Versionsgeschichte vorhanden',
|
||
'notebooks.version_edited_by': 'Bearbeitet von',
|
||
'notebooks.version_auto_save': 'Automatisch gespeichert',
|
||
'notebooks.version_summary': 'Beschreibung',
|
||
'notebooks.version_created': 'Erstellt',
|
||
'notebooks.view_drawing': 'Zeichnung anzeigen',
|
||
|
||
// PDF Export
|
||
'notebooks.export_pdf': 'PDF exportieren',
|
||
'notebooks.export_error': 'Fehler beim Exportieren. Bitte Popups erlauben.',
|
||
'notebooks.export_drawing_note': 'Diese Seite enthält eine Zeichnung (nicht im PDF enthalten)',
|
||
'notebooks.export_empty_page': 'Leere Seite',
|
||
'notebooks.export_eco_message': 'Dieses Heft wurde digital erstellt — Papier gespart!',
|
||
|
||
// Student notebook access
|
||
'notebooks.shared_with_me': 'Mit mir geteilt',
|
||
'notebooks.my_notebooks': 'Meine Hefte',
|
||
'notebooks.shared_notebook': 'Geteiltes Heft',
|
||
|
||
// Sharing & Collaboration
|
||
'notebooks.share': 'Teilen',
|
||
'notebooks.duplicate': 'Duplizieren',
|
||
'notebooks.shared': 'Geteilt',
|
||
'notebooks.copy_suffix': ' (Kopie)',
|
||
'notebooks.templates': 'Vorlagen',
|
||
'notebooks.template_desc': 'Vorgefertigte Hefte fuer haeufige Faecher',
|
||
'notebooks.tab_shared': 'Geteilt',
|
||
'notebooks.tab_templates': 'Vorlagen',
|
||
'notebooks.share_confirm': 'Dieses Heft mit der Klasse teilen?',
|
||
'notebooks.share_confirm_desc': 'Wenn Sie dieses Heft teilen, koennen alle Schueler der Klasse es einsehen (schreibgeschuetzt).',
|
||
'notebooks.unshare_confirm': 'Teilen aufheben?',
|
||
'notebooks.unshare_confirm_desc': 'Wenn Sie das Teilen aufheben, koennen die Schueler der Klasse dieses Heft nicht mehr einsehen.',
|
||
'notebooks.duplicated': 'Heft dupliziert',
|
||
'notebooks.duplicate_error': 'Fehler beim Duplizieren des Hefts',
|
||
'notebooks.shared_notebooks': 'Geteilte Hefte',
|
||
'notebooks.shared_empty': 'Keine geteilten Hefte vorhanden',
|
||
'notebooks.shared_empty_desc': 'Hefte von anderen Lehrern werden hier angezeigt, wenn sie geteilt werden.',
|
||
'notebooks.read_only': 'Schreibgeschuetzt',
|
||
'notebooks.create_from_template': 'Aus Vorlage erstellen',
|
||
'notebooks.template_math': 'Mathematik',
|
||
'notebooks.template_german': 'Deutsch',
|
||
'notebooks.template_english': 'Englisch',
|
||
'notebooks.template_art': 'Kunst',
|
||
'notebooks.template_music': 'Musik',
|
||
'notebooks.template_science': 'Sachkunde',
|
||
'notebooks.template_math_desc': 'Kariertes Heft mit Mathe-Abschnitten',
|
||
'notebooks.template_german_desc': 'Liniertes Heft mit Schreib-Abschnitten',
|
||
'notebooks.template_english_desc': 'Liniertes Heft mit Vokabel-Abschnitten',
|
||
'notebooks.template_art_desc': 'Blanko-Heft zum Zeichnen',
|
||
'notebooks.template_music_desc': 'Musikheft zum Komponieren',
|
||
'notebooks.template_science_desc': 'Kariertes Heft fuer Experimente',
|
||
'notebooks.template_grundschule': 'Grundschule',
|
||
'notebooks.template_grundschule_desc': 'Linertes Heft fuer die Grundschule',
|
||
'notebooks.template_history': 'Geschichte',
|
||
'notebooks.template_history_desc': 'Geschichtsheft mit Zeitstrahl und Quellenanalyse',
|
||
'notebooks.template_religion': 'Religion / Ethik',
|
||
'notebooks.template_religion_desc': 'Heft fuer Religion und Ethik',
|
||
'notebooks.tab_all': 'Meine Hefte',
|
||
'notebooks.owner': 'Von',
|
||
|
||
// ─── Learning Content (German Curriculum) ──────────────────────────
|
||
'notebooks.learn': 'Lernen',
|
||
'notebooks.topics': 'Themen',
|
||
'notebooks.lessons': 'Lektionen',
|
||
'notebooks.exercises': 'Uebungen',
|
||
'notebooks.quiz': 'Quiz',
|
||
'notebooks.flashcards': 'Karteikarten',
|
||
'notebooks.progress': 'Fortschritt',
|
||
'notebooks.grade_level': 'Klassenstufe',
|
||
'notebooks.curriculum': 'Lehrplan',
|
||
'notebooks.subject_topic': 'Thema',
|
||
'notebooks.difficulty': 'Schwierigkeitsgrad',
|
||
'notebooks.easy': 'Leicht',
|
||
'notebooks.medium': 'Mittel',
|
||
'notebooks.hard': 'Schwer',
|
||
'notebooks.question': 'Frage',
|
||
'notebooks.answer': 'Antwort',
|
||
'notebooks.correct': 'Richtig',
|
||
'notebooks.incorrect': 'Falsch',
|
||
'notebooks.explanation': 'Erklaerung',
|
||
'notebooks.try_again': 'Nochmal versuchen',
|
||
'notebooks.next_question': 'Naechste Frage',
|
||
'notebooks.score': 'Punktzahl',
|
||
'notebooks.time_taken': 'Benoetigte Zeit',
|
||
'notebooks.mastery': 'Beherrschung',
|
||
'notebooks.practice_more': 'Mehr ueben',
|
||
'notebooks.well_done': 'Gut gemacht!',
|
||
'notebooks.keep_practicing': 'Weiter ueben!',
|
||
'notebooks.subject_math': 'Mathematik',
|
||
'notebooks.subject_german': 'Deutsch',
|
||
'notebooks.subject_science': 'Sachkunde',
|
||
'notebooks.subject_english': 'Englisch',
|
||
'notebooks.subject_music': 'Musik',
|
||
'notebooks.subject_art': 'Kunst',
|
||
'notebooks.subject_religion': 'Religion/Ethik',
|
||
'notebooks.subject_pe': 'Sport',
|
||
'notebooks.papier_sparen': 'Papier sparen, Umwelt schuetzen',
|
||
'notebooks.digital_instead_paper': 'Digitale Hefte statt Papierhefte',
|
||
'notebooks.environment_tip': 'Mit digitalen Heften schuetzt du die Umwelt — kein Papierverschwendung!',
|
||
'notebooks.type_lined': 'Liniert',
|
||
'notebooks.type_grid': 'Kariert',
|
||
'notebooks.type_blank': 'Unliniert',
|
||
'notebooks.type_dotted': 'Punktiert',
|
||
'notebooks.type_music': 'Notenlinien',
|
||
// German curriculum notebook types
|
||
'notebooks.type_deutschheft': 'Deutschheft',
|
||
'notebooks.type_deutschheft_desc': 'Liniertes Heft mit Rand — fuer Aufsaetze, Grammatik und Lesetagebuch',
|
||
'notebooks.type_matheheft': 'Matheheft',
|
||
'notebooks.type_matheheft_desc': 'Kariertes Heft — fuer Aufgaben, Formeln und Geometrie',
|
||
'notebooks.type_sachbuch': 'Sachbuch',
|
||
'notebooks.type_sachbuchheft_desc': 'Kariertes Heft mit Versuchsprotokoll — fuer Experimente und Beobachtungen',
|
||
'notebooks.type_sachbuch_desc': 'Kariertes Heft mit Versuchsprotokoll — fuer Experimente und Beobachtungen',
|
||
'notebooks.type_musikheft': 'Musikheft',
|
||
'notebooks.type_musikheft_desc': 'Heft mit Notenlinien — fuer Noten, Rhythmus und Komposition',
|
||
'notebooks.type_kunstheft': 'Kunstheft',
|
||
'notebooks.type_kunstheft_desc': 'Blanko-Heft — fuer Skizzen, Farbstudien und Portfolio',
|
||
'notebooks.type_englischheft': 'Englischheft',
|
||
'notebooks.type_englischheft_desc': 'Liniertes Heft — fuer Vokabeln, Grammatik und Reading',
|
||
'notebooks.type_geschichtsheft': 'Geschichtsheft',
|
||
'notebooks.type_geschichtsheft_desc': 'Liniertes Heft mit Zeitstrahl — fuer Quellenanalyse und Begriffe',
|
||
'notebooks.type_religionsheft': 'Religionsheft',
|
||
'notebooks.type_religionsheft_desc': 'Liniertes Heft — fuer Bibelstellen, Ethik und Weltreligionen',
|
||
'notebooks.type_sachkundeheft': 'Heft fuer Sachkunde',
|
||
'notebooks.type_sachkundeheft_desc': 'Liniertes Heft mit Zeichnungsbereich — fuer Beobachtungen und Sachkunde',
|
||
// Paper savings / eco features
|
||
'notebooks.trees_saved': 'Baeume gerettet',
|
||
'notebooks.trees_unit': 'Baeume',
|
||
'notebooks.trees_saved_message': '{count} Baeume gerettet',
|
||
'notebooks.eco_badge': 'Papierfrei',
|
||
'notebooks.curriculum_badge': 'Lehrplan-Heft',
|
||
// Student notebook access
|
||
'notebooks.student_create': 'Eigenes Heft erstellen',
|
||
'notebooks.student_share_teacher': 'Mit Lehrkraft teilen',
|
||
'notebooks.student_share_teacher_desc': 'Teile dieses Heft mit deiner Lehrkraft (nur lesbar)',
|
||
'notebooks.student_own_notebooks': 'Meine eigenen Hefte',
|
||
'notebooks.student_shared_by_teacher': 'Von Lehrkraft geteilt',
|
||
|
||
// ─── Page Templates ──────────────────────────────────────────────
|
||
'notebooks.page_template': 'Seitenvorlage',
|
||
'notebooks.page_template_cornell': 'Cornell-Notizen',
|
||
'notebooks.page_template_cornell_desc': 'Cornell-Notizsystem mit Zusammenfassung',
|
||
'notebooks.page_template_mindmap': 'Mind Map',
|
||
'notebooks.page_template_mindmap_desc': 'Zentrale Idee mit Verzweigungen',
|
||
'notebooks.page_template_venn': 'Venn-Diagramm',
|
||
'notebooks.page_template_venn_desc': 'Zwei Mengen vergleichen',
|
||
'notebooks.page_template_tchart': 'T-Diagramm',
|
||
'notebooks.page_template_tchart_desc': 'Zwei Seiten vergleichen',
|
||
'notebooks.page_template_weekly': 'Wochenplaner',
|
||
'notebooks.page_template_weekly_desc': 'Wochenuebersicht mit Aufgaben',
|
||
'notebooks.page_template_blank': 'Leere Seite',
|
||
'notebooks.page_template_choose': 'Seitenvorlage waehlen',
|
||
|
||
// ─── Sticky Notes ────────────────────────────────────────────────
|
||
'notebooks.sticky_note': 'Klebezettel',
|
||
'notebooks.sticky_note_add': 'Klebezettel hinzufuegen',
|
||
'notebooks.sticky_note_delete': 'Klebezettel entfernen',
|
||
'notebooks.sticky_note_color': 'Farbe',
|
||
'notebooks.sticky_note_edit': 'Klebezettel bearbeiten',
|
||
|
||
// ─── Search Within Notebook ──────────────────────────────────────
|
||
'notebooks.search_pages': 'Seiten durchsuchen',
|
||
'notebooks.search_pages_placeholder': 'Text auf allen Seiten suchen…',
|
||
'notebooks.search_no_results': 'Keine Ergebnisse gefunden',
|
||
'notebooks.search_results': 'Ergebnisse',
|
||
'notebooks.search_on_page': 'auf Seite',
|
||
|
||
// ─── Page Duplication ────────────────────────────────────────────
|
||
'notebooks.duplicate_page': 'Seite duplizieren',
|
||
'notebooks.duplicate_page_success': 'Seite dupliziert',
|
||
'notebooks.duplicate_page_error': 'Fehler beim Duplizieren der Seite',
|
||
|
||
// ─── Sections / Chapters ─────────────────────────────────────────
|
||
'notebooks.sections': 'Abschnitte',
|
||
'notebooks.section_add': 'Abschnitt hinzufuegen',
|
||
'notebooks.section_name': 'Abschnittsname',
|
||
'notebooks.section_name_placeholder': 'Abschnittsname eingeben',
|
||
'notebooks.section_delete': 'Abschnitt entfernen',
|
||
'notebooks.section_divider': 'Trennblatt',
|
||
'notebooks.table_of_contents': 'Inhaltsverzeichnis',
|
||
'notebooks.no_sections': 'Keine Abschnitte vorhanden',
|
||
|
||
// ─── Professional Notebook Features ────────────────────────────────
|
||
'notebooks.page_number': 'Seite',
|
||
'notebooks.page_of': 'von',
|
||
'notebooks.date_stamp': 'Datum',
|
||
'notebooks.margin_line': 'Randlinie',
|
||
'notebooks.stickers': 'Sticker',
|
||
'notebooks.sticker_add': 'Sticker hinzufuegen',
|
||
'notebooks.sticker_star': 'Stern',
|
||
'notebooks.sticker_thumbs_up': 'Daumen hoch',
|
||
'notebooks.sticker_checkmark': 'Haekchen',
|
||
'notebooks.sticker_heart': 'Herz',
|
||
'notebooks.sticker_trophy': 'Pokal',
|
||
'notebooks.sticker_lightning': 'Blitz',
|
||
'notebooks.sticker_flame': 'Flamme',
|
||
'notebooks.sticker_medal': 'Medaille',
|
||
'notebooks.sticker_crown': 'Krone',
|
||
'notebooks.sticker_sun': 'Sonne',
|
||
'notebooks.sticker_rainbow': 'Regenbogen',
|
||
'notebooks.sticker_flower': 'Blume',
|
||
'notebooks.sticker_remove': 'Sticker entfernen',
|
||
'notebooks.washi_tape': 'Washi-Tape',
|
||
'notebooks.washi_tape_add': 'Washi-Tape hinzufuegen',
|
||
'notebooks.washi_tape_remove': 'Washi-Tape entfernen',
|
||
'notebooks.corner_fold': 'Eselsore',
|
||
'notebooks.date_format': 'dd.MM.yyyy',
|
||
|
||
// ─── Highlighter Tool ────────────────────────────────────────────
|
||
'drawing.tool_highlighter': 'Textmarker',
|
||
'drawing.tool_highlighter_desc': 'Halbtransparenter Textmarker zum Hervorheben',
|
||
|
||
// ─── Enhanced Notifications ──────────────────────────────────────
|
||
'notifications.today': 'Heute',
|
||
'notifications.yesterday': 'Gestern',
|
||
'notifications.this_week': 'Diese Woche',
|
||
'notifications.earlier': 'Frueher',
|
||
'notifications.mark_read': 'Als gelesen markieren',
|
||
'notifications.clear_all': 'Alle loeschen',
|
||
'notifications.type_assessment_due': 'Anstehende Pruefung',
|
||
'notifications.type_missing_observation': 'Fehlende Beobachtung',
|
||
'notifications.type_notebook_shared': 'Heft geteilt',
|
||
'notifications.type_behavior_alert': 'Verhaltenswarnung',
|
||
'notifications.type_grade_computed': 'Note berechnet',
|
||
'notifications.type_attendance_alert': 'Anwesenheitswarnung',
|
||
'notifications.type_report_ready': 'Bericht fertig',
|
||
'notifications.type_general': 'Allgemein',
|
||
|
||
// ─── Student Dashboard ──────────────────────────────────────────────
|
||
'student.dashboard_title': 'Mein Dashboard',
|
||
'student.my_competencies': 'Meine Kompetenzen',
|
||
'student.my_competencies_desc': 'Uebersicht deiner Kompetenzentwicklung',
|
||
'student.my_grades': 'Meine Noten',
|
||
'student.my_grades_desc': 'Aktuelle Bewertungsergebnisse',
|
||
'student.my_notebooks': 'Meine Hefte',
|
||
'student.my_notebooks_desc': 'Schnellzugriff auf deine Hefte',
|
||
'student.my_attendance': 'Meine Anwesenheit',
|
||
'student.my_attendance_desc': 'Anwesenheitsuebersicht',
|
||
'student.upcoming_assessments': 'Anstehende Pruefungen',
|
||
'student.upcoming_assessments_desc': 'Pruefungen in den naechsten Tagen',
|
||
'student.no_competencies': 'Noch keine Kompetenzdaten vorhanden',
|
||
'student.no_grades': 'Noch keine Noten vorhanden',
|
||
'student.no_notebooks': 'Noch keine Hefte vorhanden',
|
||
'student.no_attendance': 'Keine Anwesenheitsdaten vorhanden',
|
||
'student.no_assessments': 'Keine anstehenden Pruefungen',
|
||
'student.competency_level': 'Kompetenzniveau',
|
||
'student.grade_in': 'Note in',
|
||
'student.days_until': 'Tage bis',
|
||
'student.attendance_rate': 'Anwesenheitsrate',
|
||
'student.present': 'Anwesend',
|
||
'student.absent': 'Abwesend',
|
||
'student.late': 'Verspaetet',
|
||
'student.view_all': 'Alle anzeigen',
|
||
'student.welcome_back': 'Willkommen zurueck',
|
||
'student.progress_overview': 'Dein Lernfortschritt',
|
||
'student.papier_sparen_title': 'Papier sparen, Umwelt schuetzen',
|
||
'student.papier_sparen_subtitle': 'Digitale Hefte statt Papierhefte — Mit digitalen Heften schuetzt du die Umwelt!',
|
||
'student.go_to_notebooks': 'Zu meinen Heften',
|
||
'student.my_notebooks_quick': 'Meine Hefte',
|
||
'student.show_all_notebooks': 'Alle Hefte anzeigen',
|
||
'student.start_learning': 'Lernen starten',
|
||
'student.learning_progress': 'Lernfortschritt',
|
||
'student.continue_learning': 'Weiter lernen',
|
||
'student.subject_progress': 'Fachfortschritt',
|
||
'student.notebook_math': 'Mathematik',
|
||
'student.notebook_german': 'Deutsch',
|
||
'student.notebook_english': 'Englisch',
|
||
'student.notebook_science': 'Naturwissenschaften',
|
||
'nav.student_competencies': 'Meine Kompetenzen',
|
||
'nav.student_grades': 'Meine Noten',
|
||
'nav.student_notebooks': 'Meine Hefte',
|
||
'nav.student_attendance': 'Meine Anwesenheit',
|
||
'role.student': 'Schueler',
|
||
'role.parent': 'Elternteil',
|
||
|
||
// Calendar (enhanced - Task 4)
|
||
'calendar.new_event': 'Neues Ereignis',
|
||
'calendar.edit_event': 'Ereignis bearbeiten',
|
||
'calendar.week_view': 'Wochenansicht',
|
||
'calendar.month_view': 'Monatsansicht',
|
||
'calendar.all_day': 'Ganztägig',
|
||
'calendar.event_type': 'Ereignistyp',
|
||
'calendar.reminder': 'Erinnerung',
|
||
'calendar.start_time': 'Startzeit',
|
||
'calendar.end_time': 'Endzeit',
|
||
'calendar.notes': 'Notizen',
|
||
'calendar.notes_placeholder': 'Zusätzliche Notizen...',
|
||
'calendar.delete_confirm': 'Ereignis wirklich löschen?',
|
||
'calendar.delete_confirm_desc': 'Dieses Ereignis wird unwiderruflich gelöscht.',
|
||
'calendar.event_created': 'Ereignis erstellt',
|
||
'calendar.event_updated': 'Ereignis aktualisiert',
|
||
'calendar.event_deleted': 'Ereignis gelöscht',
|
||
'calendar.event_create_error': 'Fehler beim Erstellen des Ereignisses',
|
||
'calendar.event_update_error': 'Fehler beim Aktualisieren des Ereignisses',
|
||
'calendar.event_delete_error': 'Fehler beim Löschen des Ereignisses',
|
||
'calendar.recurring': 'Wiederkehrend',
|
||
'calendar.repeat_none': 'Nicht wiederkehrend',
|
||
'calendar.repeat_daily': 'Täglich',
|
||
'calendar.repeat_weekly': 'Wöchentlich',
|
||
'calendar.repeat_monthly': 'Monatlich',
|
||
'calendar.repeat_yearly': 'Jährlich',
|
||
'calendar.repeat_end': 'Endet',
|
||
'calendar.repeat_end_never': 'Nie',
|
||
'calendar.repeat_end_on': 'Am Datum',
|
||
'calendar.repeat_end_after': 'Nach {count} Wiederholungen',
|
||
'calendar.repeat_interval': 'Intervall: {interval}',
|
||
'calendar.repeat_weekdays': 'Wochentage',
|
||
'calendar.edit_series': 'Serien bearbeiten',
|
||
'calendar.edit_instance': 'Einzelnes Ereignis bearbeiten',
|
||
'reports.generate_pdf': 'PDF-Bericht erstellen',
|
||
'reports.template_short': 'Kurzbericht',
|
||
'reports.template_full': 'Vollständiger Bericht',
|
||
'reports.template_custom': 'Individuell',
|
||
'reports.template': 'Berichtsvorlage',
|
||
'reports.batch_generate': 'Für gesamte Klasse erstellen',
|
||
'reports.download_history': 'Download-Historie',
|
||
'import.title': 'Datenimport',
|
||
'import.csv_upload': 'CSV-Datei hochladen',
|
||
'import.format_preview': 'Formatvoransicht',
|
||
'import.progress': 'Importfortschritt',
|
||
'import.summary': 'Importübersicht',
|
||
'import.success': 'Erfolgreich importiert',
|
||
'import.errors': 'Importfehler',
|
||
'import.sample_csv': 'Beispiel-CSV herunterladen',
|
||
'export.students': 'Schüler exportieren',
|
||
'export.assessments': 'Bewertungen exportieren',
|
||
'export.grades': 'Noten exportieren',
|
||
'export.attendance': 'Anwesenheit exportieren',
|
||
'export.progress': 'Fortschritt exportieren',
|
||
|
||
// Dashboard (enhanced - Task 4)
|
||
'dashboard.new_assessment': 'Neue Bewertung',
|
||
'dashboard.record_progress': 'Fortschritt erfassen',
|
||
'dashboard.my_competencies': 'Meine Kompetenzen',
|
||
'dashboard.my_grades': 'Meine Noten',
|
||
'dashboard.paper_saved': 'Papier gespart',
|
||
'dashboard.view_all': 'Alle anzeigen',
|
||
|
||
// Notifications (enhanced - Task 4)
|
||
'notifications.no_notifications': 'Keine Benachrichtigungen',
|
||
|
||
// Student (enhanced - Task 4)
|
||
'student.shared_with_me': 'Mit mir geteilt',
|
||
|
||
// Student Login & Parent Portal (Task 6)
|
||
'auth.student_login': 'Schüler-Login',
|
||
'auth.parent_login': 'Eltern-Login',
|
||
'auth.create_student_account': 'Schülerkonto erstellen',
|
||
'auth.bulk_create': 'Massenimport',
|
||
'auth.school_id': 'Schul-ID',
|
||
'auth.forgot_password': 'Passwort vergessen',
|
||
'auth.student_welcome': 'Willkommen, Schüler',
|
||
'auth.parent_welcome': 'Willkommen, Eltern',
|
||
'auth.login_as_student': 'Als Schüler anmelden',
|
||
'auth.login_as_parent': 'Als Elternteil anmelden',
|
||
'auth.student_login_desc': 'Mit Schul-ID oder E-Mail anmelden',
|
||
'auth.parent_login_desc': 'Mit E-Mail und Passwort anmelden',
|
||
'auth.default_password_set': 'Standardpasswort gesetzt',
|
||
'auth.bulk_accounts_created': 'Schülerkonten erstellt',
|
||
'parent.my_children': 'Meine Kinder',
|
||
'parent.messages': 'Nachrichten',
|
||
'parent.progress': 'Fortschritt',
|
||
'parent.attendance': 'Anwesenheit',
|
||
'parent.relationship': 'Beziehung',
|
||
'parent.father': 'Vater',
|
||
'parent.mother': 'Mutter',
|
||
'parent.guardian': 'Erziehungsberechtigte(r)',
|
||
'parent.dashboard_title': 'Eltern-Dashboard',
|
||
'parent.welcome_back': 'Willkommen zurück',
|
||
'parent.recent_progress': 'Letzter Fortschritt',
|
||
'parent.upcoming_assessments': 'Anstehende Überprüfungen',
|
||
'parent.messages_from_teachers': 'Nachrichten von Lehrern',
|
||
'parent.attendance_summary': 'Anwesenheitsübersicht',
|
||
'parent.no_children': 'Keine Kinder verknüpft',
|
||
'parent.no_children_desc': 'Es sind noch keine Schüler mit Ihrem Konto verknüpft.',
|
||
'parent.link_student': 'Schüler verknüpfen',
|
||
'parent.add_link': 'Verknüpfung hinzufügen',
|
||
'parent.remove_link': 'Verknüpfung entfernen',
|
||
'parent.select_student': 'Schüler auswählen',
|
||
'parent.select_relationship': 'Beziehung auswählen',
|
||
'parent.view_progress': 'Fortschritt anzeigen',
|
||
'parent.view_attendance': 'Anwesenheit anzeigen',
|
||
'parent.no_messages': 'Keine Nachrichten',
|
||
'parent.no_assessments': 'Keine anstehenden Überprüfungen',
|
||
'parent.child_progress_desc': 'Fortschritt der letzten 30 Tage',
|
||
'settings.create_student_account': 'Schülerkonto erstellen',
|
||
'settings.bulk_create_students': 'Schülerkonten-Massenimport',
|
||
'settings.student_account_created': 'Schülerkonto wurde erstellt',
|
||
'settings.bulk_accounts_created': 'Schülerkonten wurden erstellt',
|
||
'settings.default_password': 'Standardpasswort',
|
||
'settings.generate_email': 'E-Mail automatisch generieren',
|
||
'settings.link_student': 'Mit Schüler verknüpfen',
|
||
|
||
// ─── Collaboration & Real-Time ──────────────────────────────────────
|
||
'collab.online_users': '{count} online',
|
||
'collab.editing_by': '{name} bearbeitet...',
|
||
'collab.activity_title': 'Aktivität',
|
||
'collab.no_activity': 'Keine Aktivität',
|
||
'collab.started_editing': 'bearbeitet',
|
||
'collab.realtime_connected': 'Echtzeit verbunden',
|
||
'collab.realtime_disconnected': 'Echtzeit getrennt',
|
||
'collab.conflict_resolved': 'Konflikt gelöst (letzter Speichervorgang gewinnt)',
|
||
'collab.cursors_visible': 'Cursors anderer Nutzer sichtbar',
|
||
'collab.user_joined': '{name} ist beigetreten',
|
||
'collab.user_left': '{name} hat verlassen',
|
||
|
||
// ─── Notification Sound ────────────────────────────────────────────
|
||
'settings.notification_sound': 'Benachrichtigungston',
|
||
'settings.notification_sound_desc': 'Ton bei neuen Benachrichtigungen abspielen',
|
||
'settings.notification_sound_enabled': 'Ton aktiviert',
|
||
'settings.notification_sound_disabled': 'Ton deaktiviert',
|
||
|
||
// ── Rubric Enhancement ──
|
||
'rubrics.templates': 'Vorlagen',
|
||
'rubrics.templates_title': 'Bewertungsraster-Vorlagen',
|
||
'rubrics.templates_desc': 'Wählen Sie eine Vorlage als Ausgangspunkt für Ihr Bewertungsraster',
|
||
'rubrics.use_template': 'Vorlage verwenden',
|
||
'rubrics.template_math': 'Mathematik — Klassenarbeit',
|
||
'rubrics.template_german': 'Deutsch — Aufsichtsarbeit',
|
||
'rubrics.template_english': 'Englisch — Writing Task',
|
||
'rubrics.template_project': 'Allgemein — Projektarbeit',
|
||
'rubrics.template_oral': 'Allgemein — Mündliche Präsentation',
|
||
'rubrics.no_template': 'Ohne Vorlage starten',
|
||
'rubrics.grade': 'Bewerten',
|
||
'rubrics.grade_title': 'Rubrik-basierte Bewertung',
|
||
'rubrics.select_level': 'Niveau auswählen',
|
||
'rubrics.auto_grade': 'Automatische Notenberechnung',
|
||
'rubrics.final_score': 'Endpunktzahl',
|
||
'rubrics.grade_result': 'Note',
|
||
'rubrics.percentage': 'Prozent',
|
||
'rubrics.criterion_breakdown': 'Kriterien-Aufschlüsselung',
|
||
'rubrics.earned_points': 'Erreichte Punkte',
|
||
'rubrics.analytics': 'Analyse',
|
||
'rubrics.analytics_title': 'Rubrik-Analyse',
|
||
'rubrics.class_performance': 'Klassenleistung nach Kriterium',
|
||
'rubrics.grade_distribution': 'Notenverteilung',
|
||
'rubrics.average_score': 'Durchschnitt',
|
||
'rubrics.highest_score': 'Höchste Punktzahl',
|
||
'rubrics.lowest_score': 'Niedrigste Punktzahl',
|
||
'rubrics.export_pdf': 'Als PDF exportieren',
|
||
'rubrics.export_print': 'Drucken',
|
||
'rubrics.score_sheet': 'Bewertungsbogen',
|
||
'rubrics.select_student': 'Schüler auswählen',
|
||
'rubrics.select_rubric': 'Bewertungsraster auswählen',
|
||
|
||
// ── Curriculum Standards ──
|
||
'curriculum.title': 'Lehrplan-Mapping',
|
||
'curriculum.subtitle': 'Verknüpfen Sie Kompetenzen mit Lehrplanstandards',
|
||
'curriculum.standards': 'Lehrplanstandards',
|
||
'curriculum.create_standard': 'Standard erstellen',
|
||
'curriculum.edit_standard': 'Standard bearbeiten',
|
||
'curriculum.code': 'Code',
|
||
'curriculum.standard_title': 'Titel',
|
||
'curriculum.description': 'Beschreibung',
|
||
'curriculum.grade_level': 'Klassenstufe',
|
||
'curriculum.category': 'Kategorie',
|
||
'curriculum.source': 'Quelle',
|
||
'curriculum.subject': 'Fach',
|
||
'curriculum.coverage': 'Abdeckung',
|
||
'curriculum.coverage_visualization': 'Abdeckungsübersicht',
|
||
'curriculum.gap_analysis': 'Lückenanalyse',
|
||
'curriculum.gap_title': 'Standards ohne Kompetenzverknüpfung',
|
||
'curriculum.no_gaps': 'Alle Standards sind mit Kompetenzen verknüpft',
|
||
'curriculum.progress_tracking': 'Fortschrittsverfolgung',
|
||
'curriculum.heatmap': 'Abdeckungs-Heatmap',
|
||
'curriculum.link_competency': 'Kompetenz verknüpfen',
|
||
'curriculum.unlink_competency': 'Verknüpfung aufheben',
|
||
'curriculum.coverage_level': 'Abdeckungsgrad',
|
||
'curriculum.coverage_full': 'Vollständig',
|
||
'curriculum.coverage_partial': 'Teilweise',
|
||
'curriculum.coverage_related': 'Verwandt',
|
||
'curriculum.notes': 'Notizen',
|
||
'curriculum.linked_competencies': 'Verknüpfte Kompetenzen',
|
||
'curriculum.no_links': 'Keine Kompetenzen verknüpft',
|
||
'curriculum.standards_count': 'Standards',
|
||
'curriculum.linked_count': 'Verknüpft',
|
||
'curriculum.unlinked_count': 'Nicht verknüpft',
|
||
'curriculum.coverage_percent': 'Abdeckung %',
|
||
'curriculum.search_standards': 'Standards durchsuchen...',
|
||
'curriculum.all_subjects': 'Alle Fächer',
|
||
'curriculum.all_grades': 'Alle Klassenstufen',
|
||
'curriculum.all_sources': 'Alle Quellen',
|
||
'curriculum.delete_standard': 'Standard löschen',
|
||
'curriculum.delete_standard_desc': 'Möchten Sie diesen Standard wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.',
|
||
'curriculum.empty_title': 'Keine Standards vorhanden',
|
||
'curriculum.empty_desc': 'Erstellen Sie Ihren ersten Lehrplanstandard, um Kompetenzen zuzuordnen.',
|
||
'curriculum.select_competency': 'Kompetenz auswählen',
|
||
'curriculum.search_competency': 'Kompetenz suchen...',
|
||
'curriculum.mastery_progress': 'Beherrschungsfortschritt',
|
||
'curriculum.students_mastered': 'Schüler beherrschen diesen Standard',
|
||
|
||
// ── Attendance Analytics ──
|
||
'attendance.analytics': 'Analyse',
|
||
'attendance.analytics_title': 'Anwesenheits-Analyse',
|
||
'attendance.trends': 'Trends',
|
||
'attendance.weekly_trend': 'Wöchentlicher Trend',
|
||
'attendance.attendance_rate_over_time': 'Anwesenheitsrate im Zeitverlauf',
|
||
'attendance.absence_rate_over_time': 'Abwesenheitsrate im Zeitverlauf',
|
||
'attendance.day_of_week': 'Wochentagsanalyse',
|
||
'attendance.absences_by_day': 'Abwesenheiten nach Wochentag',
|
||
'attendance.chronic_absence': 'Chronische Abwesenheit',
|
||
'attendance.chronic_absence_desc': 'Schüler mit 10% oder höherer Abwesenheitsrate',
|
||
'attendance.risk_indicators': 'Risiko-Indikatoren',
|
||
'attendance.risk_low': 'Geringes Risiko',
|
||
'attendance.risk_medium': 'Mittleres Risiko',
|
||
'attendance.risk_high': 'Hohes Risiko',
|
||
'attendance.risk_critical': 'Kritisches Risiko',
|
||
'attendance.class_comparison': 'Klassenvergleich',
|
||
'attendance.attendance_by_class': 'Anwesenheit nach Klasse',
|
||
'attendance.status_distribution': 'Statusverteilung',
|
||
'attendance.export_csv': 'Als CSV exportieren',
|
||
'attendance.week': 'Woche',
|
||
'attendance.rate_percent': 'Rate %',
|
||
'attendance.absent_count_long': 'Abwesenheiten',
|
||
'attendance.total_sessions': 'Gesamtsitzungen',
|
||
'attendance.total_records': 'Gesamteinträge',
|
||
'attendance.no_analytics_data': 'Keine Analysedaten verfügbar',
|
||
'attendance.no_analytics_desc': 'Erstellen Sie Anwesenheitssitzungen, um Analysen zu sehen.',
|
||
|
||
// ── Backup (Task 10) ──
|
||
'backup.title': 'Datensicherung',
|
||
'backup.create': 'Sicherung erstellen',
|
||
'backup.restore': 'Sicherung wiederherstellen',
|
||
'backup.delete': 'Sicherung löschen',
|
||
'backup.auto': 'Automatische Sicherung',
|
||
'backup.daily': 'Täglich',
|
||
'backup.weekly': 'Wöchentlich',
|
||
'backup.last': 'Letzte Sicherung',
|
||
'backup.size': 'Größe',
|
||
'backup.status': 'Status',
|
||
'backup.completed': 'Abgeschlossen',
|
||
'backup.failed': 'Fehlgeschlagen',
|
||
'backup.pending': 'Ausstehend',
|
||
'backup.no_backups': 'Keine Sicherungen vorhanden',
|
||
'backup.no_backups_desc': 'Erstellen Sie Ihre erste Datensicherung.',
|
||
'backup.create_confirm': 'Sicherung erstellen?',
|
||
'backup.create_confirm_desc': 'Es wird eine vollständige Sicherung aller Daten erstellt.',
|
||
'backup.restore_confirm': 'Sicherung wiederherstellen?',
|
||
'backup.restore_confirm_desc': 'Die aktuellen Daten werden durch die Sicherung ersetzt. Diese Aktion kann nicht rückgängig gemacht werden.',
|
||
'backup.delete_confirm': 'Sicherung löschen?',
|
||
'backup.delete_confirm_desc': 'Diese Sicherung wird unwiderruflich gelöscht.',
|
||
'backup.creating': 'Sicherung wird erstellt...',
|
||
'backup.restoring': 'Sicherung wird wiederhergestellt...',
|
||
'backup.type': 'Typ',
|
||
'backup.type_full': 'Vollständig',
|
||
'backup.type_incremental': 'Inkrementell',
|
||
'backup.notes': 'Notizen',
|
||
'backup.download': 'Sicherung herunterladen',
|
||
'backup.created_success': 'Sicherung erfolgreich erstellt',
|
||
'backup.restored_success': 'Sicherung erfolgreich wiederhergestellt',
|
||
'backup.deleted_success': 'Sicherung gelöscht',
|
||
'backup.error_create': 'Fehler beim Erstellen der Sicherung',
|
||
'backup.error_restore': 'Fehler beim Wiederherstellen der Sicherung',
|
||
'backup.error_delete': 'Fehler beim Löschen der Sicherung',
|
||
|
||
// ── Performance (Task 10) ──
|
||
'performance.title': 'Leistung',
|
||
'performance.fps': 'Bilder pro Sekunde',
|
||
'mobile.optimized': 'Für mobile Geräte optimiert',
|
||
|
||
// ── Report Scheduling (Task 13) ──
|
||
'schedules.title': 'Berichtsplanung',
|
||
'schedules.frequency': 'Häufigkeit',
|
||
'schedules.weekly': 'Wöchentlich',
|
||
'schedules.monthly': 'Monatlich',
|
||
'schedules.quarterly': 'Vierteljährlich',
|
||
'schedules.end_of_term': 'Ende des Halbjahres',
|
||
'schedules.next_run': 'Nächste Ausführung',
|
||
'schedules.last_run': 'Letzte Ausführung',
|
||
'schedules.manual_run': 'Manuell ausführen',
|
||
'schedules.recipients': 'Empfänger',
|
||
'schedules.include_students': 'Schüler einbeziehen',
|
||
'schedules.include_grades': 'Noten einbeziehen',
|
||
'schedules.include_attendance': 'Anwesenheit einbeziehen',
|
||
'schedules.include_behavior': 'Verhalten einbeziehen',
|
||
'schedules.include_competencies': 'Kompetenzen einbeziehen',
|
||
'schedules.create_schedule': 'Planung erstellen',
|
||
'schedules.edit_schedule': 'Planung bearbeiten',
|
||
'schedules.delete_schedule': 'Planung löschen',
|
||
'schedules.active': 'Aktiv',
|
||
'schedules.inactive': 'Inaktiv',
|
||
'schedules.no_schedules': 'Keine Berichtsplanungen vorhanden',
|
||
'schedules.no_schedules_desc': 'Erstellen Sie Ihre erste Berichtsplanung.',
|
||
'schedules.running': 'Wird ausgeführt...',
|
||
'schedules.run_success': 'Bericht erfolgreich generiert',
|
||
'schedules.run_error': 'Fehler bei der Berichtsgenerierung',
|
||
'schedules.day_of_week': 'Wochentag',
|
||
'schedules.day_of_month': 'Tag des Monats',
|
||
'schedules.month_of_year': 'Monat',
|
||
'schedules.template': 'Vorlage',
|
||
'schedules.all_classes': 'Alle Klassen',
|
||
'schedules.timeline': 'Zeitplan',
|
||
'schedules.confirm_delete': 'Planung löschen?',
|
||
'schedules.confirm_delete_desc': 'Diese Berichtsplanung wird unwiderruflich gelöscht.',
|
||
'schedules.confirm_run': 'Manuell ausführen?',
|
||
'schedules.confirm_run_desc': 'Der Bericht wird sofort generiert und an die Empfänger gesendet.',
|
||
'schedules.toggle_active': 'Aktivieren/Deaktivieren',
|
||
|
||
// ── School District (Task 13) ──
|
||
'district.title': 'Schulbezirk',
|
||
'district.schools': 'Schulen',
|
||
'district.comparison': 'Schulvergleich',
|
||
'district.analytics': 'Bezirksanalyse',
|
||
'district.create': 'Bezirk erstellen',
|
||
'district.edit': 'Bezirk bearbeiten',
|
||
'district.delete': 'Bezirk löschen',
|
||
'district.assign_school': 'Schule zuordnen',
|
||
'district.unassign_school': 'Schule entfernen',
|
||
'district.name': 'Name',
|
||
'district.code': 'Bezirk-Code',
|
||
'district.region': 'Region',
|
||
'district.country': 'Land',
|
||
'district.admin_email': 'Administrator-E-Mail',
|
||
'district.no_districts': 'Keine Schulbezirke vorhanden',
|
||
'district.no_districts_desc': 'Erstellen Sie Ihren ersten Schulbezirk.',
|
||
'district.school_count': 'Anzahl Schulen',
|
||
'district.student_count': 'Anzahl Schüler',
|
||
'district.confirm_delete': 'Bezirk löschen?',
|
||
'district.confirm_delete_desc': 'Dieser Schulbezirk wird gelöscht. Die zugeordneten Schulen bleiben erhalten.',
|
||
'district.top_performing': 'Beste Schule',
|
||
'district.needs_attention': 'Schulung empfohlen',
|
||
'district.avg_attendance': 'Durchschnittliche Anwesenheit',
|
||
'district.competency_coverage': 'Kompetenzabdeckung',
|
||
'district.no_schools_assigned': 'Keine Schulen zugeordnet',
|
||
'district.select_school': 'Schule auswählen',
|
||
'district.cross_school_comparison': 'Schulvergleich',
|
||
'district.total_students': 'Gesamtschüler',
|
||
'district.total_classes': 'Gesamtklassen',
|
||
'district.total_teachers': 'Gesamtlehrer',
|
||
'district.management': 'Bezirksverwaltung',
|
||
'district.overview': 'Übersicht',
|
||
'district.teacher_count': 'Anzahl Lehrer',
|
||
'district.add_district': 'Bezirk hinzufügen',
|
||
'district.edit_district': 'Bezirk bearbeiten',
|
||
'district.delete_district': 'Bezirk löschen',
|
||
'district.no_schools': 'Keine Schulen vorhanden',
|
||
'district.remove_school': 'Schule entfernen',
|
||
'district.performance_comparison': 'Leistungsvergleich',
|
||
'district.recent_activity': 'Letzte Aktivität',
|
||
'district.active': 'Aktiv',
|
||
'district.inactive': 'Inaktiv',
|
||
'district.details': 'Details',
|
||
'district.save_success': 'Bezirk erfolgreich gespeichert',
|
||
'district.delete_success': 'Bezirk erfolgreich gelöscht',
|
||
'district.school_assigned': 'Schule erfolgreich zugeordnet',
|
||
'district.school_removed': 'Schule erfolgreich entfernt',
|
||
'district.unassigned_schools': 'Nicht zugeordnete Schulen',
|
||
'district.no_unassigned_schools': 'Alle Schulen sind zugeordnet',
|
||
'district.all_schools': 'Alle Schulen',
|
||
'district.search_districts': 'Bezirke durchsuchen',
|
||
'district.overview_stats': 'Bezirksstatistik',
|
||
'district.avg_performance': 'Durchschnittliche Leistung',
|
||
'district.school_type': 'Schultyp',
|
||
'district.select_district': 'Bezirk auswählen',
|
||
'district.district_info': 'Bezirksinformationen',
|
||
'district.activity_created': 'Bezirk erstellt',
|
||
'district.activity_updated': 'Bezirk aktualisiert',
|
||
'district.activity_school_added': 'Schule hinzugefügt',
|
||
'district.activity_school_removed': 'Schule entfernt',
|
||
'district.performance_score': 'Leistungswert',
|
||
'district.attendance_rate': 'Anwesenheitsrate',
|
||
'district.student_teacher_ratio': 'Schüler-Lehrer-Verhältnis',
|
||
'nav.districts': 'Bezirksverwaltung',
|
||
'nav.subjects': 'Faecher',
|
||
'nav.student-portal': 'Mein Portal',
|
||
|
||
// PWA / Offline
|
||
'pwa.offline': 'Sie sind offline',
|
||
'pwa.offline_desc': 'Ihre Daten werden aus dem Cache geladen.',
|
||
'pwa.back_online': 'Wieder online',
|
||
'pwa.back_online_desc': 'Ihre Verbindung wurde wiederhergestellt.',
|
||
'pwa.cached_data': 'Cache-Daten',
|
||
'pwa.install_app': 'App installieren',
|
||
'pwa.install_app_desc': 'CompetenceTrack als App auf Ihrem Gerät installieren.',
|
||
'pwa.install': 'Installieren',
|
||
'pwa.installed': 'App installiert',
|
||
'pwa.installed_desc': 'CompetenceTrack wurde erfolgreich als App installiert.',
|
||
'pwa.install_accepted': 'Installation gestartet',
|
||
'pwa.update_available': 'Update verfügbar',
|
||
'pwa.update_available_desc': 'Eine neue Version ist verfügbar. Laden Sie die Seite neu.',
|
||
'pwa.reload': 'Neu laden',
|
||
'pwa.offline_mode': 'Offline-Modus',
|
||
'pwa.pending_sync': '{count} ausstehende Synchronisationen',
|
||
'pwa.sync_complete': 'Synchronisation abgeschlossen',
|
||
'pwa.sync_complete_desc': '{count} Änderungen wurden erfolgreich synchronisiert.',
|
||
'pwa.notebook_cached': 'Offline verfügbar',
|
||
'pwa.notebook_cached_desc': 'Dieses Notizbuch ist für die Offline-Nutzung gespeichert.',
|
||
'pwa.cache_notebook': 'Offline speichern',
|
||
'pwa.cache_notebook_desc': 'Notizbuch für Offline-Zugriff speichern.',
|
||
'pwa.cached_at': 'Gespeichert am',
|
||
'pwa.queued_edits': 'Ausstehende Änderungen',
|
||
'pwa.queued_edits_desc': '{count} Änderungen werden synchronisiert, wenn Sie wieder online sind.',
|
||
|
||
// Rate Limiting
|
||
'rate_limit.title': 'Zu viele Anfragen',
|
||
'rate_limit.description': 'Bitte warten Sie {retryAfter} bevor Sie es erneut versuchen.',
|
||
'rate_limit.status_title': 'Rate-Limit-Status',
|
||
'rate_limit.active_entries': 'Aktive Einträge',
|
||
'rate_limit.top_consumers': 'Top-Verbraucher',
|
||
'rate_limit.requests': 'Anfragen',
|
||
'rate_limit.no_active': 'Keine aktiven Rate-Limits',
|
||
'rate_limit.unavailable': 'Rate-Limit-Status nicht verfügbar',
|
||
'rate_limit.auth_limit': 'Auth-Limit: 5/Min',
|
||
'rate_limit.data_limit': 'Daten-Limit: 60/Min',
|
||
'rate_limit.write_limit': 'Schreib-Limit: 30/Min',
|
||
'rate_limit.heavy_limit': 'Schwer-Limit: 10/5Min',
|
||
|
||
// Self-Assessment
|
||
'self_assessment.title': 'Selbsteinschätzung',
|
||
'self_assessment.self_level': 'Selbsteingeschätztes Niveau',
|
||
'self_assessment.confidence': 'Selbstvertrauen',
|
||
'self_assessment.reflection': 'Reflexion',
|
||
'self_assessment.evidence': 'Nachweise',
|
||
'self_assessment.create': 'Selbsteinschätzung erstellen',
|
||
'self_assessment.edit': 'Selbsteinschätzung bearbeiten',
|
||
'self_assessment.compare': 'Vergleich: Selbst vs. Lehrer',
|
||
'self_assessment.no_assessments': 'Noch keine Selbsteinschätzungen',
|
||
'self_assessment.level': 'Niveau',
|
||
'self_assessment.comparison_chart': 'Vergleichsdiagramm',
|
||
'self_assessment.self': 'Selbst',
|
||
'self_assessment.teacher': 'Lehrer',
|
||
'self_assessment.gap': 'Abweichung',
|
||
'self_assessment.add_new': 'Neue Selbsteinschätzung',
|
||
'self_assessment.competency': 'Kompetenz',
|
||
|
||
// Learning Goals
|
||
'learning_goal.title': 'Lernziele',
|
||
'learning_goal.create': 'Lernziel erstellen',
|
||
'learning_goal.edit': 'Lernziel bearbeiten',
|
||
'learning_goal.goal_title': 'Ziel',
|
||
'learning_goal.description': 'Beschreibung',
|
||
'learning_goal.target_level': 'Zielniveau',
|
||
'learning_goal.current_level': 'Aktuelles Niveau',
|
||
'learning_goal.deadline': 'Deadline',
|
||
'learning_goal.status': 'Status',
|
||
'learning_goal.progress': 'Fortschritt',
|
||
'learning_goal.active': 'Aktiv',
|
||
'learning_goal.completed': 'Erreicht',
|
||
'learning_goal.abandoned': 'Aufgegeben',
|
||
'learning_goal.no_goals': 'Noch keine Lernziele',
|
||
'learning_goal.my_goals': 'Meine Ziele',
|
||
'learning_goal.days_left': 'Tage verbleibend',
|
||
'learning_goal.overdue': 'Überfällig',
|
||
'learning_goal.celebration': 'Ziel erreicht! Herzlichen Glückwunsch!',
|
||
'learning_goal.add_new': 'Neues Lernziel',
|
||
|
||
// Portfolio
|
||
'portfolio.title': 'Portfolio',
|
||
'portfolio.create': 'Portfolio-Eintrag erstellen',
|
||
'portfolio.edit': 'Eintrag bearbeiten',
|
||
'portfolio.entry_title': 'Titel',
|
||
'portfolio.description': 'Beschreibung',
|
||
'portfolio.entry_type': 'Eintragsart',
|
||
'portfolio.content': 'Inhalt',
|
||
'portfolio.tags': 'Schlagwörter',
|
||
'portfolio.public': 'Öffentlich',
|
||
'portfolio.private': 'Privat',
|
||
'portfolio.no_entries': 'Noch keine Portfolio-Einträge',
|
||
'portfolio.filter_by_type': 'Nach Art filtern',
|
||
'portfolio.filter_by_tag': 'Nach Schlagwort filtern',
|
||
'portfolio.timeline': 'Zeitstrahl',
|
||
'portfolio.grid': 'Raster',
|
||
'portfolio.linked_competency': 'Verknüpfte Kompetenz',
|
||
'portfolio.artwork': 'Kunstwerk',
|
||
'portfolio.writing': 'Text',
|
||
'portfolio.project': 'Projekt',
|
||
'portfolio.presentation': 'Präsentation',
|
||
'portfolio.achievement': 'Leistung',
|
||
'portfolio.reflection': 'Reflexion',
|
||
'portfolio.all_types': 'Alle Arten',
|
||
'portfolio.add_new': 'Neuer Eintrag',
|
||
'nav.portfolio': 'Portfolio',
|
||
'nav.timetable': 'Stundenplan',
|
||
'nav.resources': 'Mediathek',
|
||
'nav.competitions': 'Wettbewerbe',
|
||
|
||
// Navigation - Homework
|
||
'nav.homework': 'Hausaufgaben',
|
||
|
||
// Homework
|
||
'homework.title': 'Hausaufgaben',
|
||
'homework.subtitle': 'Hausaufgaben verwalten und Abgaben verfolgen',
|
||
'homework.create': 'Hausaufgabe erstellen',
|
||
'homework.create_title': 'Neue Hausaufgabe erstellen',
|
||
'homework.create_description': 'Erstellen Sie eine neue Hausaufgabe für eine Klasse.',
|
||
'homework.field_title': 'Titel',
|
||
'homework.field_title_placeholder': 'Titel der Hausaufgabe',
|
||
'homework.field_class': 'Klasse',
|
||
'homework.field_class_placeholder': 'Klasse auswählen',
|
||
'homework.field_subject': 'Fach',
|
||
'homework.field_subject_placeholder': 'Fach auswählen',
|
||
'homework.field_type': 'Typ',
|
||
'homework.field_due_date': 'Fälligkeitsdatum',
|
||
'homework.field_max_points': 'Maximale Punkte',
|
||
'homework.field_max_points_placeholder': 'Optional',
|
||
'homework.field_description': 'Beschreibung',
|
||
'homework.field_description_placeholder': 'Beschreibung der Hausaufgabe...',
|
||
'homework.field_published': 'Veröffentlicht',
|
||
'homework.no_subject': 'Kein Fach',
|
||
'homework.total': 'Gesamt',
|
||
'homework.overdue': 'Überfällig',
|
||
'homework.upcoming': 'Anstehend',
|
||
'homework.due_today': 'Heute fällig',
|
||
'homework.due_tomorrow': 'Morgen fällig',
|
||
'homework.due_in_days': 'In {days} Tagen fällig',
|
||
'homework.overdue_days': '{days} Tage überfällig',
|
||
'homework.points': 'Punkte',
|
||
'homework.draft': 'Entwurf',
|
||
'homework.submissions': 'Abgaben',
|
||
'homework.submissions_count': 'Abgaben',
|
||
'homework.no_submissions': 'Noch keine Abgaben',
|
||
'homework.no_homework': 'Keine Hausaufgaben gefunden',
|
||
'homework.search_placeholder': 'Hausaufgaben suchen...',
|
||
'homework.filter_class': 'Klasse filtern',
|
||
'homework.filter_subject': 'Fach filtern',
|
||
'homework.filter_type': 'Typ filtern',
|
||
'homework.filter_status': 'Status filtern',
|
||
'homework.all_classes': 'Alle Klassen',
|
||
'homework.all_subjects': 'Alle Fächer',
|
||
'homework.all_types': 'Alle Typen',
|
||
'homework.all_status': 'Alle Status',
|
||
'homework.type_assignment': 'Aufgabe',
|
||
'homework.type_reading': 'Lesen',
|
||
'homework.type_project': 'Projekt',
|
||
'homework.type_practice': 'Übung',
|
||
'homework.type_research': 'Recherche',
|
||
'homework.status_pending': 'Ausstehend',
|
||
'homework.status_submitted': 'Abgegeben',
|
||
'homework.status_graded': 'Bewertet',
|
||
'homework.status_late': 'Verspätet',
|
||
'homework.grade': 'Bewerten',
|
||
'homework.regrade': 'Neu bewerten',
|
||
'homework.grade_title': 'Abgabe bewerten',
|
||
'homework.grade_success': 'Bewertung gespeichert',
|
||
'homework.grade_error': 'Fehler beim Bewerten',
|
||
'homework.save_grade': 'Bewertung speichern',
|
||
'homework.score': 'Punktzahl',
|
||
'homework.max_points': 'Max. Punkte',
|
||
'homework.feedback': 'Feedback',
|
||
'homework.feedback_placeholder': 'Feedback für den Schüler...',
|
||
'homework.saving': 'Speichern...',
|
||
'homework.creating': 'Erstellen...',
|
||
'homework.create_success': 'Hausaufgabe erstellt',
|
||
'homework.create_error': 'Fehler beim Erstellen',
|
||
'homework.update_success': 'Hausaufgabe aktualisiert',
|
||
'homework.update_error': 'Fehler beim Aktualisieren',
|
||
'homework.delete_success': 'Hausaufgabe gelöscht',
|
||
'homework.delete_error': 'Fehler beim Löschen',
|
||
'homework.confirm_delete': 'Möchten Sie diese Hausaufgabe wirklich löschen?',
|
||
'homework.edit_title': 'Hausaufgabe bearbeiten',
|
||
'homework.edit_description': 'Bearbeiten Sie die Details der Hausaufgabe.',
|
||
'homework.submit_work': 'Hausaufgabe abgeben',
|
||
'homework.submit_title': 'Hausaufgabe abgeben',
|
||
'homework.submit': 'Abgeben',
|
||
'homework.submitting': 'Abgeben...',
|
||
'homework.submit_success': 'Erfolgreich abgegeben',
|
||
'homework.submit_error': 'Fehler beim Abgeben',
|
||
'homework.your_answer': 'Ihre Antwort',
|
||
'homework.your_answer_placeholder': 'Schreiben Sie Ihre Antwort hier...',
|
||
'homework.due_soon': 'Bald fällig',
|
||
'homework.no_due_soon': 'Keine Hausaufgaben in nächster Zeit fällig',
|
||
'homework.view_all': 'Alle anzeigen',
|
||
'homework.my_homework': 'Meine Hausaufgaben',
|
||
'homework.load_error': 'Fehler beim Laden der Hausaufgaben',
|
||
'homework.no_homework_hint': 'Es sind noch keine Hausaufgaben vorhanden.',
|
||
'homework.view_grid': 'Rasteransicht',
|
||
'homework.view_list': 'Listenansicht',
|
||
'homework.view_calendar': 'Kalenderansicht',
|
||
'homework.sat_short': 'Sa',
|
||
'homework.sun_short': 'So',
|
||
|
||
// Announcements
|
||
'announcement.title': 'Ankündigungen',
|
||
'announcement.create': 'Ankündigung erstellen',
|
||
'announcement.create_title': 'Neue Ankündigung erstellen',
|
||
'announcement.create_description': 'Erstellen Sie eine neue Ankündigung für Ihre Schule.',
|
||
'announcement.create_success': 'Ankündigung erstellt',
|
||
'announcement.create_error': 'Fehler beim Erstellen',
|
||
'announcement.creating': 'Erstellen...',
|
||
'announcement.field_title': 'Titel',
|
||
'announcement.field_title_placeholder': 'Titel der Ankündigung',
|
||
'announcement.field_content': 'Inhalt',
|
||
'announcement.field_content_placeholder': 'Inhalt der Ankündigung...',
|
||
'announcement.field_priority': 'Priorität',
|
||
'announcement.field_target': 'Zielgruppe',
|
||
'announcement.priority_low': 'Niedrig',
|
||
'announcement.priority_normal': 'Normal',
|
||
'announcement.priority_high': 'Hoch',
|
||
'announcement.priority_urgent': 'Dringend',
|
||
'announcement.target_all': 'Alle',
|
||
'announcement.target_teachers': 'Lehrkräfte',
|
||
'announcement.target_students': 'Schüler',
|
||
'announcement.target_parents': 'Eltern',
|
||
'announcement.no_announcements': 'Keine Ankündigungen vorhanden',
|
||
'announcement.dismiss': 'Ausblenden',
|
||
|
||
// ─── Advanced Analytics ──────────────────────────────────────────
|
||
'analytics.school_overview': 'Schulübersicht',
|
||
'analytics.student_performance': 'Schülerleistung',
|
||
'analytics.teacher_performance': 'Lehrerleistung',
|
||
'analytics.predictive': 'Prognose',
|
||
'analytics.at_risk': 'Gefährdet',
|
||
'analytics.excelling': 'Hervorragend',
|
||
'analytics.needs_attention': 'Aufmerksamkeit erforderlich',
|
||
'analytics.export_chart': 'Diagramm exportieren',
|
||
'analytics.export_csv': 'CSV exportieren',
|
||
'analytics.print_report': 'Bericht drucken',
|
||
'analytics.student_teacher_ratio': 'Schüler-Lehrer-Ratio',
|
||
'analytics.competency_coverage': 'Kompetenzabdeckung',
|
||
'analytics.avg_mastery_subject': 'Ø Kompetenz je Fach',
|
||
'analytics.attendance_trend': 'Anwesenheitsverlauf',
|
||
'analytics.behavior_trend': 'Verhaltensverlauf',
|
||
'analytics.mastery_histogram': 'Kompetenzverteilung (Histogram)',
|
||
'analytics.progress_over_time': 'Verlauf über Zeit',
|
||
'analytics.subject_comparison': 'Fachvergleich',
|
||
'analytics.assessment_distribution': 'Bewertungsverteilung',
|
||
'analytics.self_vs_teacher': 'Selbst- vs. Lehrerbewertung',
|
||
'analytics.gap_analysis': 'Gap-Analyse',
|
||
'analytics.self_assessment': 'Selbstbewertung',
|
||
'analytics.teacher_assessment': 'Lehrerbewertung',
|
||
'analytics.radar_comparison': 'Radarvergleich',
|
||
'analytics.heatmap_coverage': 'Kompetenzabdeckung (Heatmap)',
|
||
'analytics.ranking_table': 'Ranking-Tabelle',
|
||
'analytics.assessments_per_teacher': 'Bewertungen pro Lehrkraft',
|
||
'analytics.progress_per_teacher': 'Fortschritt pro Lehrkraft',
|
||
'analytics.improvement_rate': 'Verbesserungsrate',
|
||
'analytics.notebook_usage': 'Notizbuchnutzung',
|
||
'analytics.students_at_risk': 'Gefährdete Schüler:innen',
|
||
'analytics.students_excelling': 'Hervorragende Schüler:innen',
|
||
'analytics.areas_needing_attention': 'Bereiche mit Förderbedarf',
|
||
'analytics.risk_trend': 'Risikoentwicklung',
|
||
'analytics.excelling_trend': 'Entwicklung hervorragender Schüler:innen',
|
||
'analytics.attendance_rate': 'Anwesenheitsrate',
|
||
'analytics.behavior_incidents': 'Verhaltensvorfälle',
|
||
'analytics.total_classes': 'Klassen',
|
||
'analytics.total_teachers': 'Lehrkräfte',
|
||
'analytics.total_competencies': 'Kompetenzen',
|
||
'analytics.coverage_pct': 'Abgedeckt',
|
||
'analytics.uncovered_pct': 'Offen',
|
||
'analytics.score': 'Punktzahl',
|
||
'analytics.gap': 'Differenz',
|
||
'analytics.rank': 'Rang',
|
||
'analytics.entries': 'Einträge',
|
||
'analytics.improvement': 'Verbesserung',
|
||
'analytics.export_png': 'PNG exportieren',
|
||
'analytics.no_export_data': 'Keine Daten zum Exportieren',
|
||
'analytics.class_dim_mastery': 'Kompetenz',
|
||
'analytics.class_dim_attendance': 'Anwesenheit',
|
||
'analytics.class_dim_engagement': 'Engagement',
|
||
'analytics.class_dim_progress': 'Fortschritt',
|
||
'analytics.class_dim_behavior': 'Verhalten',
|
||
'analytics.self_level': 'Selbstniveau',
|
||
'analytics.teacher_level': 'Lehrerniveau',
|
||
'analytics.section_school': 'Schulübersicht',
|
||
'analytics.section_performance': 'Leistung',
|
||
'analytics.section_class': 'Klassen',
|
||
'analytics.section_teacher': 'Lehrkräfte',
|
||
'analytics.section_predictive': 'Prognose',
|
||
'analytics.section_export': 'Export',
|
||
|
||
// ─── Accessibility ───────────────────────────────────────────────
|
||
'accessibility.skip_to_content': 'Zum Inhalt springen',
|
||
'accessibility.high_contrast': 'Hoher Kontrast',
|
||
'accessibility.reduced_motion': 'Reduzierte Bewegung',
|
||
'accessibility.keyboard_shortcuts': 'Tastaturkurzbefehle',
|
||
'accessibility.shortcut_desc': 'Tastaturkurzbefehle für die Navigation',
|
||
|
||
// Timetable
|
||
'timetable.title': 'Stundenplan',
|
||
'timetable.monday': 'Montag',
|
||
'timetable.tuesday': 'Dienstag',
|
||
'timetable.wednesday': 'Mittwoch',
|
||
'timetable.thursday': 'Donnerstag',
|
||
'timetable.friday': 'Freitag',
|
||
'timetable.period': 'Stunde',
|
||
'timetable.break': 'Pause',
|
||
'timetable.add_slot': 'Stunde hinzufügen',
|
||
'timetable.edit_slot': 'Stunde bearbeiten',
|
||
'timetable.no_subject': 'Kein Fach',
|
||
'timetable.print': 'Stundenplan drucken',
|
||
'timetable.class_view': 'Klassensicht',
|
||
'timetable.room': 'Raum',
|
||
'timetable.start_time': 'Beginn',
|
||
'timetable.end_time': 'Ende',
|
||
'timetable.subject': 'Fach',
|
||
'timetable.teacher': 'Lehrkraft',
|
||
'timetable.day': 'Tag',
|
||
'timetable.period_num': 'Stunde {n}',
|
||
'timetable.no_slots': 'Keine Stunden vorhanden',
|
||
'timetable.select_class': 'Klasse auswählen',
|
||
'timetable.batch_create': 'Stundenplan erstellen',
|
||
'timetable.delete_slot': 'Stunde löschen',
|
||
'timetable.break_period': 'Pause',
|
||
'timetable.drag_hint': 'Ziehen zum Verschieben',
|
||
'timetable.current_period': 'Aktuelle Stunde {period}',
|
||
'timetable.today': 'Heute',
|
||
'timetable.legend': 'Legende',
|
||
'timetable.load_error': 'Fehler beim Laden des Stundenplans',
|
||
'timetable.select_class_hint': 'Wählen Sie eine Klasse, um den Stundenplan anzuzeigen.',
|
||
'timetable.no_slots_hint': 'Klicken Sie auf ein Feld, um eine Stunde hinzuzufügen.',
|
||
'timetable.room_placeholder': 'z.B. Raum 101',
|
||
'timetable.mon_short': 'Mo',
|
||
'timetable.tue_short': 'Di',
|
||
'timetable.wed_short': 'Mi',
|
||
'timetable.thu_short': 'Do',
|
||
'timetable.fri_short': 'Fr',
|
||
|
||
// Resources
|
||
'resources.title': 'Ressourcen',
|
||
'resources.library': 'Mediathek',
|
||
'resources.upload': 'Hochladen',
|
||
'resources.type': 'Typ',
|
||
'resources.document': 'Dokument',
|
||
'resources.worksheet': 'Arbeitsblatt',
|
||
'resources.presentation': 'Präsentation',
|
||
'resources.video': 'Video',
|
||
'resources.link': 'Link',
|
||
'resources.image': 'Bild',
|
||
'resources.audio': 'Audio',
|
||
'resources.download': 'Herunterladen',
|
||
'resources.downloads': 'Downloads',
|
||
'resources.preview': 'Vorschau',
|
||
'resources.favorite': 'Favorit',
|
||
'resources.create': 'Ressource erstellen',
|
||
'resources.edit': 'Ressource bearbeiten',
|
||
'resources.search': 'Ressourcen suchen',
|
||
'resources.filter_type': 'Nach Typ filtern',
|
||
'resources.filter_subject': 'Nach Fach filtern',
|
||
'resources.all_types': 'Alle Typen',
|
||
'resources.all_subjects': 'Alle Fächer',
|
||
'resources.public': 'Öffentlich',
|
||
'resources.private': 'Privat',
|
||
'resources.toggle_public': 'Öffentlich/Privat',
|
||
'resources.no_resources': 'Keine Ressourcen vorhanden',
|
||
'resources.title_field': 'Titel',
|
||
'resources.description_field': 'Beschreibung',
|
||
'resources.url_field': 'URL',
|
||
'resources.content_field': 'Inhalt',
|
||
'resources.subject_field': 'Fach',
|
||
'resources.class_field': 'Klasse',
|
||
'resources.grade_field': 'Klassenstufe',
|
||
'resources.tags_field': 'Schlagwörter',
|
||
'resources.add_tag': 'Schlagwort hinzufügen',
|
||
'resources.delete_confirm': 'Ressource wirklich löschen?',
|
||
'resources.load_error': 'Fehler beim Laden der Ressourcen',
|
||
'resources.no_favorites': 'Keine Favoriten',
|
||
'resources.no_favorites_hint': 'Markieren Sie Ressourcen als Favorit, um sie hier zu sehen.',
|
||
'resources.no_resources_hint': 'Erstellen Sie eine neue Ressource, um zu beginnen.',
|
||
'resources.create_description': 'Erstellen Sie eine neue Ressource für den Unterricht.',
|
||
'resources.tags_placeholder': 'Schlagwort1, Schlagwort2, ...',
|
||
'resources.category_all': 'Alle',
|
||
'resources.category_worksheets': 'Arbeitsblätter',
|
||
'resources.category_presentations': 'Präsentationen',
|
||
'resources.category_videos': 'Videos',
|
||
'resources.category_links': 'Links',
|
||
'resources.category_favorites': 'Favoriten',
|
||
|
||
// ─── School Branding ──────────────────────────────────────────────
|
||
'branding.title': 'Schulbranding',
|
||
'branding.logo': 'Logo',
|
||
'branding.logo_url': 'Logo-URL',
|
||
'branding.logo_placeholder': 'https://schule.de/logo.png',
|
||
'branding.primary_color': 'Primärfarbe',
|
||
'branding.secondary_color': 'Sekundärfarbe',
|
||
'branding.accent_color': 'Akzentfarbe',
|
||
'branding.font': 'Schriftart',
|
||
'branding.motto': 'Schulmotto',
|
||
'branding.motto_placeholder': 'Gemeinsam lernen, gemeinsam wachsen',
|
||
'branding.website': 'Webseite',
|
||
'branding.website_placeholder': 'https://schule.de',
|
||
'branding.preview': 'Vorschau',
|
||
'branding.custom_css': 'Custom CSS',
|
||
'branding.custom_css_placeholder': '/* Eigene CSS-Overrides */',
|
||
'branding.email_domain': 'E-Mail-Domain',
|
||
'branding.email_domain_placeholder': '@schule.de',
|
||
'branding.address': 'Adresse',
|
||
'branding.phone': 'Telefon',
|
||
'branding.saved': 'Branding gespeichert',
|
||
'branding.tab': 'Branding',
|
||
'branding.colors': 'Farben',
|
||
'branding.typography': 'Typografie',
|
||
'branding.contact': 'Kontaktinformationen',
|
||
'branding.reset': 'Zurücksetzen',
|
||
|
||
// ─── Email Templates ──────────────────────────────────────────────
|
||
'email.templates': 'E-Mail-Vorlagen',
|
||
'email.templates_title': 'E-Mail-Vorlagen',
|
||
'email.templates_desc': 'E-Mail-Vorlagen für automatische Benachrichtigungen',
|
||
'email.weekly_report': 'Wochenbericht',
|
||
'email.assessment_reminder': 'Bewertungs-Erinnerung',
|
||
'email.behavior_alert': 'Verhaltens-Alert',
|
||
'email.attendance_notice': 'Anwesenheits-Notice',
|
||
'email.welcome': 'Willkommen',
|
||
'email.send_test': 'Test-E-Mail senden',
|
||
'email.send_test_desc': 'E-Mail-Vorschau an Ihre Adresse senden',
|
||
'email.log': 'E-Mail-Log',
|
||
'email.log_title': 'E-Mail-Versandprotokoll',
|
||
'email.smtp': 'SMTP-Konfiguration',
|
||
'email.smtp_host': 'SMTP-Server',
|
||
'email.smtp_port': 'Port',
|
||
'email.smtp_user': 'Benutzername',
|
||
'email.smtp_password': 'Passwort',
|
||
'email.smtp_from': 'Absenderadresse',
|
||
'email.frequency': 'E-Mail-Häufigkeit',
|
||
'email.frequency_daily': 'Täglich',
|
||
'email.frequency_weekly': 'Wöchentlich',
|
||
'email.frequency_monthly': 'Monatlich',
|
||
'email.auto_reports': 'Berichte automatisch senden',
|
||
'email.auto_behavior': 'Verhaltens-Alerts senden',
|
||
'email.auto_attendance': 'Anwesenheits-Notices senden',
|
||
'email.template_name': 'Name',
|
||
'email.template_subject': 'Betreff',
|
||
'email.template_body': 'Inhalt',
|
||
'email.template_variables': 'Verfügbare Variablen',
|
||
'email.template_preview': 'Vorschau',
|
||
'email.template_create': 'Vorlage erstellen',
|
||
'email.template_edit': 'Vorlage bearbeiten',
|
||
'email.template_delete': 'Vorlage löschen',
|
||
'email.template_delete_confirm': 'Vorlage wirklich löschen?',
|
||
'email.template_default': 'Standardvorlage',
|
||
'email.status_sent': 'Gesendet',
|
||
'email.status_failed': 'Fehlgeschlagen',
|
||
'email.status_pending': 'Ausstehend',
|
||
'email.status_bounced': 'Zurückgewiesen',
|
||
'email.recipient': 'Empfänger',
|
||
'email.sent_at': 'Gesendet am',
|
||
'email.tab': 'E-Mail',
|
||
'email.settings': 'E-Mail-Einstellungen',
|
||
'email.test_sent': 'Test-E-Mail gesendet',
|
||
'email.test_recipient': 'Empfänger-E-Mail',
|
||
'email.counts': 'E-Mail-Statistik',
|
||
|
||
// ─── Data Export Enhancement ──────────────────────────────────────
|
||
'export.pdf': 'PDF-Export',
|
||
'export.json': 'JSON-Export',
|
||
'export.csv': 'CSV-Export',
|
||
'export.filter': 'Filter',
|
||
'export.date_range': 'Datumsbereich',
|
||
'export.date_from': 'Von',
|
||
'export.date_to': 'Bis',
|
||
'export.format': 'Format',
|
||
'export.select_format': 'Format wählen',
|
||
'export.select_class': 'Klasse wählen',
|
||
'export.all_classes': 'Alle Klassen',
|
||
'export.grade_report': 'Notenbericht',
|
||
'export.attendance_report': 'Anwesenheitsbericht',
|
||
'export.competency_report': 'Kompetenzbericht',
|
||
'export.progress_indicator': 'Export wird vorbereitet...',
|
||
'export.download_history': 'Download-Verlauf',
|
||
'export.no_history': 'Noch keine Exporte',
|
||
'export.enhanced_title': 'Erweiterter Datenexport',
|
||
'export.enhanced_desc': 'Daten in verschiedenen Formaten mit Filteroptionen exportieren',
|
||
|
||
// Peer Assessment
|
||
'peer.title': 'Peer-Beurteilung',
|
||
'peer.assessor': 'Beurteiler',
|
||
'peer.assessed': 'Beurteilter Schüler',
|
||
'peer.anonymous': 'Anonym',
|
||
'peer.competency': 'Kompetenz',
|
||
'peer.create': 'Peer-Beurteilung erstellen',
|
||
'peer.results': 'Peer-Beurteilungsergebnisse',
|
||
'peer.average': 'Durchschnittliche Peer-Bewertung',
|
||
'peer.comparison': 'Vergleich: Peer / Lehrer / Selbst',
|
||
'peer.assessment_type': 'Beurteilungsart',
|
||
'peer.level': 'Bewertungsstufe',
|
||
'peer.comment': 'Kommentar',
|
||
'peer.no_assessments': 'Keine Peer-Beurteilungen vorhanden',
|
||
'peer.type_competency': 'Kompetenz',
|
||
'peer.type_project': 'Projekt',
|
||
'peer.type_presentation': 'Präsentation',
|
||
'peer.type_teamwork': 'Teamarbeit',
|
||
'peer.type_behavior': 'Verhalten',
|
||
'peer.assign_task': 'Peer-Beurteilung zuweisen',
|
||
'peer.from': 'Von',
|
||
'peer.received': 'Erhaltene Beurteilungen',
|
||
'peer.given': 'Gegebene Beurteilungen',
|
||
'peer.rubric': 'Rubrik',
|
||
'peer.teacher': 'Lehrer',
|
||
'peer.self': 'Selbst',
|
||
'peer.detail': 'Details anzeigen',
|
||
|
||
// Emergency Contacts
|
||
'emergency.title': 'Notfallkontakte',
|
||
'emergency.contact': 'Notfallkontakt',
|
||
'emergency.primary': 'Hauptkontakt',
|
||
'emergency.phone': 'Telefon',
|
||
'emergency.phone_alt': 'Alternative Telefonnummer',
|
||
'emergency.priority': 'Priorität',
|
||
'emergency.quick_call': 'Schnellwahl',
|
||
'emergency.print_list': 'Liste drucken',
|
||
'emergency.export': 'Kontakte exportieren',
|
||
'emergency.name': 'Name',
|
||
'emergency.relationship': 'Beziehung',
|
||
'emergency.email': 'E-Mail',
|
||
'emergency.address': 'Adresse',
|
||
'emergency.notes': 'Notizen',
|
||
'emergency.add': 'Notfallkontakt hinzufügen',
|
||
'emergency.edit': 'Notfallkontakt bearbeiten',
|
||
'emergency.delete': 'Notfallkontakt löschen',
|
||
'emergency.no_contacts': 'Keine Notfallkontakte vorhanden',
|
||
'emergency.search': 'Kontakte suchen...',
|
||
'emergency.mother': 'Mutter',
|
||
'emergency.father': 'Vater',
|
||
'emergency.guardian': 'Vormund',
|
||
'emergency.grandparent': 'Großelternteil',
|
||
'emergency.other': 'Sonstige',
|
||
'emergency.class_list': 'Klassenliste',
|
||
'emergency.all_contacts': 'Alle Notfallkontakte',
|
||
'emergency.student': 'Schüler',
|
||
|
||
// School Events
|
||
'events.title': 'Schulveranstaltungen',
|
||
'events.type': 'Veranstaltungsart',
|
||
'events.assembly': 'Versammlung',
|
||
'events.field_trip': 'Ausflug',
|
||
'events.sports_day': 'Sportfest',
|
||
'events.concert': 'Konzert',
|
||
'events.fair': 'Schulfest',
|
||
'events.parent_meeting': 'Elternabend',
|
||
'events.graduation': 'Abschlussfeier',
|
||
'events.holiday': 'Ferien/Feiertag',
|
||
'events.register': 'Anmelden',
|
||
'events.cancel': 'Abmelden',
|
||
'events.location': 'Ort',
|
||
'events.organizer': 'Organisator',
|
||
'events.all_school': 'Schulweite Veranstaltung',
|
||
'events.create': 'Veranstaltung erstellen',
|
||
'events.edit': 'Veranstaltung bearbeiten',
|
||
'events.no_events': 'Keine anstehenden Veranstaltungen',
|
||
'events.upcoming': 'Anstehende Veranstaltungen',
|
||
'events.start_date': 'Startdatum',
|
||
'events.end_date': 'Enddatum',
|
||
'events.description': 'Beschreibung',
|
||
'events.registration': 'Anmeldung erforderlich',
|
||
'events.max_participants': 'Maximale Teilnehmer',
|
||
'events.participants': 'Teilnehmer',
|
||
'events.registered': 'Angemeldet',
|
||
'events.cancelled': 'Abgemeldet',
|
||
'events.attended': 'Teilgenommen',
|
||
'events.notes': 'Notizen',
|
||
'events.is_public': 'Öffentlich',
|
||
'events.class_group': 'Klasse',
|
||
'events.view_all': 'Alle Veranstaltungen',
|
||
|
||
// Onboarding Tour (24 steps) - DE
|
||
'onboarding.step_1_title': 'Willkommen bei CompetenceTrack!',
|
||
'onboarding.step_1_desc': 'Ihre freie Kompetenz- & Benotungsplattform für Schulen. Lassen Sie uns eine kurze Einführung machen.',
|
||
'onboarding.step_2_title': 'Dashboard',
|
||
'onboarding.step_2_desc': 'Hier sehen Sie einen Überblick über alle Klassen, Schüler und aktuelle Aktivitäten. Nutzen Sie die Schnellaktionen und Kennzahlen.',
|
||
'onboarding.step_3_title': 'Klassen & Schüler',
|
||
'onboarding.step_3_desc': 'Verwalten Sie Ihre Klassen und Schüler. Erstellen Sie neue Klassen, fügen Sie Schüler hinzu und weisen Sie Kompetenzraster zu.',
|
||
'onboarding.step_4_title': 'Kompetenzraster',
|
||
'onboarding.step_4_desc': 'Verwalten Sie Kompetenzraster und weisen Sie diese Ihren Klassen zu. Definieren Sie Kategorien und Kompetenzen.',
|
||
'onboarding.step_5_title': 'Lernfortschritt',
|
||
'onboarding.step_5_desc': 'Erfassen Sie Beobachtungen und Fortschritte einzelner Schüler. Wählen Sie eine Klasse und ein Fach, um Einträge zu loggen.',
|
||
'onboarding.step_6_title': 'Kompetenzblume',
|
||
'onboarding.step_6_desc': 'Visualisieren Sie die Kompetenzentwicklung als Radar-Chart. Vergleichen Sie Schüler und verfolgen Sie Trends über die Zeit.',
|
||
'onboarding.step_7_title': 'Kompetenzmatrix',
|
||
'onboarding.step_7_desc': 'Zeigen Sie alle Kompetenzniveaus auf einen Blick. Identifizieren Sie Lücken und Stärken schnell und übersichtlich.',
|
||
'onboarding.step_8_title': 'Leistungsüberprüfungen',
|
||
'onboarding.step_8_desc': 'Erstellen und verwalten Sie Leistungsüberprüfungen. Bewerten Sie Schüler und verfolgen Sie deren Fortschritt.',
|
||
'onboarding.step_9_title': 'Benotung',
|
||
'onboarding.step_9_desc': 'Konfigurieren Sie Notenschemata und berechnen Sie Noten basierend auf Kompetenzniveaus und Leistungsüberprüfungen.',
|
||
'onboarding.step_10_title': 'Anwesenheit',
|
||
'onboarding.step_10_desc': 'Erfassen Sie die Anwesenheit Ihrer Schüler. Behalten Sie den Überblick über Fehlzeiten und Anwesenheitsstatistiken.',
|
||
'onboarding.step_11_title': 'Unterrichtsplanung',
|
||
'onboarding.step_11_desc': 'Planen Sie Ihren Unterricht strukturiert. Erstellen Sie Stundenpläne mit Zielen, Materialien und Reflexionen.',
|
||
'onboarding.step_12_title': 'Kalender',
|
||
'onboarding.step_12_desc': 'Verwalten Sie Ihren Kalender mit wiederkehrenden Ereignissen. Behalten Sie wichtige Termine im Blick.',
|
||
'onboarding.step_13_title': 'Verhalten',
|
||
'onboarding.step_13_desc': 'Erfassen Sie Verhaltensbeobachtungen und verfolgen Sie Interventionsmaßnahmen für Ihre Schüler.',
|
||
'onboarding.step_14_title': 'Elternkommunikation',
|
||
'onboarding.step_14_desc': 'Kommunizieren Sie mit Eltern über den Lernfortschritt. Senden Sie Berichte und halten Sie den Dialog aufrecht.',
|
||
'onboarding.step_15_title': 'Rubriken',
|
||
'onboarding.step_15_desc': 'Erstellen Sie detaillierte Bewertungsrubriken mit Stufen und Kriterien. Nutzen Sie diese für objektive Bewertungen.',
|
||
'onboarding.step_16_title': 'Kommentarbank',
|
||
'onboarding.step_16_desc': 'Verwalten Sie wiederverwendbare Kommentare für Zeugnisse und Berichte. Sparen Sie Zeit bei der Berichtserstellung.',
|
||
'onboarding.step_17_title': 'Digitale Hefte',
|
||
'onboarding.step_17_desc': 'Erstellen Sie digitale Notizbücher für Ihre Fächer mit WYSIWYG-Editor und Versionsverwaltung. Spart Papier.',
|
||
'onboarding.step_18_title': 'Zeichnen',
|
||
'onboarding.step_18_desc': 'Nutzen Sie die digitale Zeichenfläche für Skizzen und Illustrationen. Stylus-optimiert mit Druckempfindlichkeit.',
|
||
'onboarding.step_19_title': 'Portfolio',
|
||
'onboarding.step_19_desc': 'Erstellen Sie digitale Portfolios für Schüler. Sammeln Sie Belege und Artefakte der Kompetenzentwicklung.',
|
||
'onboarding.step_20_title': 'Hausaufgaben',
|
||
'onboarding.step_20_desc': 'Verwalten Sie Hausaufgaben und Abgaben. Verfolgen Sie den Fortschritt und geben Sie Feedback.',
|
||
'onboarding.step_21_title': 'Stundenplan',
|
||
'onboarding.step_21_desc': 'Verwalten Sie Ihren Stundenplan mit Räumen und Zeiten. Übersichtliche Wochenansicht.',
|
||
'onboarding.step_22_title': 'Ressourcen',
|
||
'onboarding.step_22_desc': 'Durchsuchen Sie die Ressourcenbibliothek. Teilen Sie Dokumente, Links und Arbeitsblätter mit Kollegen.',
|
||
'onboarding.step_23_title': 'Analyse',
|
||
'onboarding.step_23_desc': 'Nutzen Sie erweiterte Analysen und Vorhersagemodelle. Identifizieren Sie Risikoschüler und Entwicklungstrends.',
|
||
'onboarding.step_24_title': 'Einstellungen',
|
||
'onboarding.step_24_desc': 'Passen Sie die Plattform an: Schulprofil, Branding, Backup und Datenverwaltung.',
|
||
'onboarding.celebration': 'Sie sind bereit!',
|
||
'onboarding.complete': 'Sie haben die Tour abgeschlossen. Viel Erfolg mit CompetenceTrack!',
|
||
'onboarding.previous': 'Zurück',
|
||
'onboarding.dont_show_again': 'Nicht mehr anzeigen',
|
||
'onboarding.restart_tour': 'Tour erneut starten',
|
||
|
||
// Student Transportation
|
||
'transport.title': 'Verkehrsmittel',
|
||
'transport.type': 'Verkehrsmitteltyp',
|
||
'transport.bus': 'Bus',
|
||
'transport.tram': 'Straßenbahn',
|
||
'transport.walk': 'Zu Fuß',
|
||
'transport.car': 'Auto',
|
||
'transport.bike': 'Fahrrad',
|
||
'transport.other': 'Sonstiges',
|
||
'transport.route': 'Linie',
|
||
'transport.stop': 'Haltestelle',
|
||
'transport.pickup': 'Abholung',
|
||
'transport.dropoff': 'Rückfahrt',
|
||
'transport.driver': 'Fahrer',
|
||
'transport.distance': 'Entfernung',
|
||
'transport.distance_km': '{count} km',
|
||
'transport.notes': 'Hinweise',
|
||
'transport.add': 'Verkehrsmittel hinzufügen',
|
||
'transport.edit': 'Verkehrsmittel bearbeiten',
|
||
'transport.no_transport': 'Keine Verkehrsmittel gespeichert',
|
||
'transport.route_number': 'Liniennummer',
|
||
'transport.stop_name': 'Haltestellenname',
|
||
'transport.pickup_time': 'Abholzeit',
|
||
'transport.dropoff_time': 'Rückfahrtzeit',
|
||
'transport.driver_name': 'Fahrername',
|
||
'transport.driver_phone': 'Fahrertelefon',
|
||
'transport.distance_km_field': 'Entfernung (km)',
|
||
'transport.class_overview': 'Klassenübersicht Verkehrsmittel',
|
||
'transport.quick_call': 'Anrufen',
|
||
|
||
// Health Records
|
||
'health.title': 'Gesundheitsdaten',
|
||
'health.blood_type': 'Blutgruppe',
|
||
'health.allergies': 'Allergien',
|
||
'health.medications': 'Medikamente',
|
||
'health.conditions': 'Erkrankungen',
|
||
'health.doctor': 'Arzt',
|
||
'health.insurance': 'Versicherung',
|
||
'health.confidential': 'Vertraulich',
|
||
'health.last_checkup': 'Letzte Untersuchung',
|
||
'health.warning': 'Gesundheitshinweis',
|
||
'health.add': 'Gesundheitsdaten hinzufügen',
|
||
'health.edit': 'Gesundheitsdaten bearbeiten',
|
||
'health.no_record': 'Keine Gesundheitsdaten vorhanden',
|
||
'health.doctor_name': 'Arztname',
|
||
'health.doctor_phone': 'Arzttelefon',
|
||
'health.insurance_number': 'Versicherungsnummer',
|
||
'health.insurance_provider': 'Versicherungsträger',
|
||
'health.last_checkup_date': 'Datum letzte Untersuchung',
|
||
'health.notes': 'Gesundheitshinweise',
|
||
'health.confidential_toggle': 'Vertraulichkeitsstatus',
|
||
'health.dosage': 'Dosierung',
|
||
'health.frequency': 'Häufigkeit',
|
||
'health.medication_name': 'Medikamentenname',
|
||
'health.add_allergy': 'Allergie hinzufügen',
|
||
'health.add_medication': 'Medikament hinzufügen',
|
||
'health.add_condition': 'Erkrankung hinzufügen',
|
||
|
||
// Interactive Seating Chart
|
||
'seating.title': 'Sitzplan',
|
||
'seating.chart': 'Sitzordnung',
|
||
'seating.row': 'Reihe',
|
||
'seating.column': 'Spalte',
|
||
'seating.save': 'Sitzplan speichern',
|
||
'seating.randomize': 'Mischen',
|
||
'seating.clear': 'Zurücksetzen',
|
||
'seating.print': 'Sitzplan drucken',
|
||
'seating.drag_to_rearrange': 'Ziehen zum Verschieben',
|
||
'seating.empty_seat': 'Freier Platz',
|
||
'seating.rows': 'Reihen',
|
||
'seating.columns': 'Spalten',
|
||
'seating.grid_size': 'Rastergröße',
|
||
'seating.student_initials': 'Initialen',
|
||
'seating.no_students': 'Keine Schüler für Sitzplan',
|
||
'seating.visual': 'Visueller Sitzplan',
|
||
'seating.list': 'Listenansicht',
|
||
'seating.teacher_desk': 'Lehrerpult',
|
||
|
||
// QR Code System
|
||
'qr.title': 'QR-Code',
|
||
'qr.student': 'Schüler-QR-Code',
|
||
'qr.class': 'Klassen-QR-Code',
|
||
'qr.attendance': 'Anwesenheits-QR-Code',
|
||
'qr.event': 'Veranstaltungs-QR-Code',
|
||
'qr.download': 'QR-Code herunterladen',
|
||
'qr.scan': 'QR-Code scannen',
|
||
'qr.refresh': 'QR-Code aktualisieren',
|
||
'qr.generate': 'QR-Code erzeugen',
|
||
'qr.scan_to_checkin': 'Scannen zum Einchecken',
|
||
'qr.session_active': 'QR-Sitzung aktiv',
|
||
'qr.refreshes_in': 'Aktualisierung in {seconds}s',
|
||
'qr.checked_in': 'Eingecheckt',
|
||
'qr.pending': 'Ausstehend',
|
||
'qr.absent': 'Abwesend',
|
||
'qr.show_qr': 'QR-Code anzeigen',
|
||
'qr.print_report': 'QR im Bericht',
|
||
'qr.student_card': 'Schülerausweis',
|
||
|
||
// Badge / Gamification System
|
||
'badges.title': 'Abzeichen',
|
||
'badges.earned': 'Verdient',
|
||
'badges.unearned': 'Noch nicht verdient',
|
||
'badges.progress': 'Fortschritt',
|
||
'badges.collection': 'Abzeichen-Sammlung',
|
||
'badges.award': 'Abzeichen verleihen',
|
||
'badges.auto': 'Automatisch vergeben',
|
||
'badges.manual': 'Manuell vergeben',
|
||
'badges.leaderboard': 'Abzeichen-Rangliste',
|
||
'badges.recent': 'Kürzlich verdient',
|
||
'badges.details': 'Abzeichen-Details',
|
||
'badges.earned_count': '{earned} von {total} Abzeichen verdient',
|
||
'badges.category': 'Kategorie',
|
||
'badges.competency': 'Kompetenz',
|
||
'badges.attendance': 'Anwesenheit',
|
||
'badges.behavior': 'Verhalten',
|
||
'badges.achievement': 'Leistung',
|
||
'badges.milestone': 'Meilenstein',
|
||
'badges.requirement': 'Voraussetzung',
|
||
'badges.create': 'Abzeichen erstellen',
|
||
'badges.edit': 'Abzeichen bearbeiten',
|
||
'badges.delete': 'Abzeichen löschen',
|
||
'badges.manage': 'Abzeichen verwalten',
|
||
'badges.statistics': 'Abzeichen-Statistik',
|
||
'badges.award_manually': 'Manuell verleihen',
|
||
'badges.awarded_by': 'Verliehen von',
|
||
'badges.awarded_at': 'Verliehen am',
|
||
'badges.no_badges': 'Keine Abzeichen vorhanden',
|
||
'badges.celebration': 'Neues Abzeichen verdient!',
|
||
'badges.icon': 'Icon',
|
||
'badges.color': 'Farbe',
|
||
'badges.threshold': 'Schwellenwert',
|
||
'badges.type': 'Typ',
|
||
'badges.is_auto': 'Automatisch vergeben',
|
||
|
||
// Badge Names
|
||
'badges.perfect_attendance': 'Perfekte Anwesenheit',
|
||
'badges.competency_master': 'Kompetenz-Meister',
|
||
'badges.progress_pioneer': 'Fortschritts-Pionier',
|
||
'badges.behavior_star': 'Verhaltensstern',
|
||
'badges.notebook_champion': 'Heft-Champion',
|
||
'badges.drawing_artist': 'Zeichen-Künstler',
|
||
'badges.homework_hero': 'Hausaufgaben-Held',
|
||
'badges.team_player': 'Teamplayer',
|
||
'badges.goal_achiever': 'Zielerreicher',
|
||
'badges.eco_warrior': 'Umweltkrieger',
|
||
|
||
// Newsletter / School Blog
|
||
'newsletter.title': 'Schulnachrichten',
|
||
'newsletter.create': 'Nachricht erstellen',
|
||
'newsletter.published': 'Veröffentlicht',
|
||
'newsletter.draft': 'Entwurf',
|
||
'newsletter.category': 'Kategorie',
|
||
'newsletter.general': 'Allgemein',
|
||
'newsletter.academic': 'Akademisch',
|
||
'newsletter.sports': 'Sport',
|
||
'newsletter.arts': 'Kunst',
|
||
'newsletter.events': 'Veranstaltungen',
|
||
'newsletter.community': 'Gemeinschaft',
|
||
'newsletter.read_more': 'Weiterlesen',
|
||
'newsletter.view_all': 'Alle Nachrichten',
|
||
'newsletter.cover_image': 'Titelbild',
|
||
'newsletter.summary': 'Zusammenfassung',
|
||
'newsletter.tags': 'Schlagwörter',
|
||
'newsletter.publish': 'Veröffentlichen',
|
||
'newsletter.unpublish': 'Veröffentlichung zurückziehen',
|
||
'newsletter.share': 'Teilen',
|
||
'newsletter.author': 'Autor',
|
||
'newsletter.date': 'Datum',
|
||
'newsletter.content': 'Inhalt',
|
||
'newsletter.no_news': 'Keine Nachrichten verfügbar',
|
||
'newsletter.latest': 'Neueste Nachrichten',
|
||
'newsletter.school_news': 'Schulnachrichten',
|
||
|
||
// Avatar / Student Photo
|
||
'avatar.title': 'Foto',
|
||
'avatar.upload': 'Foto hochladen',
|
||
'avatar.initials': 'Initialen',
|
||
'avatar.photo': 'Foto',
|
||
'avatar.change': 'Foto ändern',
|
||
'avatar.remove': 'Foto entfernen',
|
||
|
||
// Competition System
|
||
'competition.title': 'Wettbewerbe',
|
||
'competition.create': 'Wettbewerb erstellen',
|
||
'competition.edit': 'Wettbewerb bearbeiten',
|
||
'competition.delete': 'Wettbewerb löschen',
|
||
'competition.manage': 'Wettbewerbe verwalten',
|
||
'competition.details': 'Wettbewerbsdetails',
|
||
'competition.name': 'Wettbewerb',
|
||
'competition.description': 'Beschreibung',
|
||
'competition.type': 'Typ',
|
||
'competition.category': 'Kategorie',
|
||
'competition.status': 'Status',
|
||
'competition.start_date': 'Startdatum',
|
||
'competition.end_date': 'Enddatum',
|
||
'competition.registration_deadline': 'Anmeldungsfrist',
|
||
'competition.max_participants': 'Maximale Teilnehmer',
|
||
'competition.scoring_type': 'Wertung',
|
||
'competition.rules': 'Regeln',
|
||
'competition.is_public': 'Öffentlich sichtbar',
|
||
'competition.subject': 'Fach',
|
||
'competition.created_by': 'Erstellt von',
|
||
'competition.no_competitions': 'Keine Wettbewerbe vorhanden',
|
||
'competition.type.class': 'Klassenwettbewerb',
|
||
'competition.type.inter_class': 'Klassenübergreifend',
|
||
'competition.type.inter_school': 'Schulübergreifend',
|
||
'competition.category.academic': 'Akademisch',
|
||
'competition.category.sports': 'Sport',
|
||
'competition.category.creativity': 'Kreativität',
|
||
'competition.category.citizenship': 'Gemeinschaft',
|
||
'competition.category.digital': 'Digital',
|
||
'competition.category.reading': 'Lesen',
|
||
'competition.category.stem': 'MINT',
|
||
'competition.category.other': 'Sonstiges',
|
||
'competition.status.draft': 'Entwurf',
|
||
'competition.status.registration': 'Anmeldung',
|
||
'competition.status.active': 'Aktiv',
|
||
'competition.status.completed': 'Abgeschlossen',
|
||
'competition.status.cancelled': 'Abgesagt',
|
||
'competition.scoring.points': 'Punkte',
|
||
'competition.scoring.rank': 'Platzierung',
|
||
'competition.scoring.time': 'Zeit',
|
||
'competition.scoring.badge_count': 'Abzeichenanzahl',
|
||
'competition.register': 'Anmelden',
|
||
'competition.register_participant': 'Teilnehmer anmelden',
|
||
'competition.update_score': 'Punkte aktualisieren',
|
||
'competition.leaderboard': 'Bestenliste',
|
||
'competition.participants': 'Teilnehmer',
|
||
'competition.rewards': 'Preise',
|
||
'competition.reward.create': 'Preis hinzufügen',
|
||
'competition.reward.type': 'Preisart',
|
||
'competition.reward.type.digital_code': 'Digitaler Code',
|
||
'competition.reward.type.badge': 'Abzeichen',
|
||
'competition.reward.type.certificate': 'Zertifikat',
|
||
'competition.reward.type.experience': 'Erlebnis',
|
||
'competition.reward.type.physical': 'Physischer Preis',
|
||
'competition.reward.provider': 'Anbieter',
|
||
'competition.reward.provider.netflix': 'Netflix',
|
||
'competition.reward.provider.amazon': 'Amazon',
|
||
'competition.reward.provider.cinema': 'Kino',
|
||
'competition.reward.provider.theater': 'Theater',
|
||
'competition.reward.provider.concert': 'Konzert',
|
||
'competition.reward.provider.custom': 'Sonstige',
|
||
'competition.reward.quantity': 'Menge',
|
||
'competition.reward.claimed': 'Eingelöst',
|
||
'competition.reward.available': 'Verfügbar',
|
||
'competition.reward.rank_requirement': 'Mindestplatzierung',
|
||
'competition.reward.points_required': 'Mindestpunkte',
|
||
'competition.reward.image': 'Preisbild',
|
||
'competition.reward.code': 'Code',
|
||
'competition.reward.claim': 'Einlösen',
|
||
'competition.reward.claimed_at': 'Eingelöst am',
|
||
'competition.reward.expires': 'Läuft ab am',
|
||
'competition.reward.status': 'Status',
|
||
'competition.reward.status.pending': 'Ausstehend',
|
||
'competition.reward.status.claimed': 'Eingelöst',
|
||
'competition.reward.status.expired': 'Abgelaufen',
|
||
'competition.reward.status.revoked': 'Widerrufen',
|
||
'competition.reward.my_claims': 'Meine Preise',
|
||
'competition.reward.already_claimed': 'Preis bereits eingelöst',
|
||
'competition.reward.not_available': 'Preis nicht mehr verfügbar',
|
||
'competition.reward.requirement_not_met': 'Voraussetzung nicht erfüllt',
|
||
'competition.dsgvo_notice': 'Hinweis: Personenbezogene Daten werden gemäß DSGVO verarbeitet.',
|
||
'competition.jugendschutz_notice': 'Hinweis: Dieser Wettbewerb entspricht den Anforderungen des Jugendschutzgesetzes.',
|
||
|
||
// German Grade Labels
|
||
'grading.sehr_gut': 'Sehr gut',
|
||
'grading.gut': 'Gut',
|
||
'grading.befriedigend': 'Befriedigend',
|
||
'grading.ausreichend': 'Ausreichend',
|
||
'grading.mangelhaft': 'Mangelhaft',
|
||
'grading.ungenuegend': 'Ungenügend',
|
||
|
||
// DSGVO / Datenschutz
|
||
'dsgvo.title': 'Datenschutz',
|
||
'dsgvo.privacy_policy': 'Datenschutzerklärung',
|
||
'dsgvo.data_processing': 'Datenverarbeitung',
|
||
'dsgvo.data_collected': 'Erhobene Daten',
|
||
'dsgvo.data_purpose': 'Verarbeitungszweck',
|
||
'dsgvo.data_retention': 'Speicherdauer',
|
||
'dsgvo.data_third_party': 'Datenweitergabe an Dritte',
|
||
'dsgvo.data_portability': 'Datenübertragbarkeit',
|
||
'dsgvo.right_access': 'Auskunftsrecht',
|
||
'dsgvo.right_rectification': 'Berichtigungsrecht',
|
||
'dsgvo.right_erasure': 'Löschrecht',
|
||
'dsgvo.right_portability': 'Recht auf Datenübertragbarkeit',
|
||
'dsgvo.right_restriction': 'Recht auf Einschränkung der Verarbeitung',
|
||
'dsgvo.right_objection': 'Widerspruchsrecht',
|
||
'dsgvo.contact_dpo': 'Datenschutzbeauftragter',
|
||
'dsgvo.export_data': 'Meine Daten exportieren',
|
||
'dsgvo.export_data_desc': 'Exportieren Sie alle Ihre persönlichen Daten im JSON-Format (DSGVO Art. 20)',
|
||
'dsgvo.export_data_success': 'Ihre Daten wurden erfolgreich exportiert.',
|
||
'dsgvo.export_data_error': 'Fehler beim Exportieren der Daten.',
|
||
'dsgvo.delete_account': 'Konto löschen',
|
||
'dsgvo.delete_account_desc': 'Löschen Sie Ihr Konto und alle zugehörigen Daten (DSGVO Art. 17)',
|
||
'dsgvo.delete_warning': 'Diese Aktion kann nicht rückgängig gemacht werden. Alle Ihre Daten werden nach 30 Tagen unwiderruflich gelöscht.',
|
||
'dsgvo.delete_confirm_title': 'Konto wirklich löschen?',
|
||
'dsgvo.delete_confirm_desc': 'Geben Sie Ihr Passwort ein, um die Löschung zu bestätigen. Ihr Konto wird in 30 Tagen unwiderruflich gelöscht.',
|
||
'dsgvo.delete_password_label': 'Passwort zur Bestätigung',
|
||
'dsgvo.delete_success': 'Ihr Konto wurde zur Löschung vorgemerkt. Sie haben 30 Tage Zeit, um den Vorgang abzubrechen.',
|
||
'dsgvo.delete_error': 'Fehler beim Löschen des Kontos.',
|
||
'dsgvo.delete_wrong_password': 'Falsches Passwort.',
|
||
'dsgvo.delete_cancel_success': 'Die Löschung wurde abgebrochen.',
|
||
'dsgvo.delete_scheduled': 'Löschung geplant am',
|
||
'dsgvo.delete_cancel': 'Löschung abbrechen',
|
||
'dsgvo.cookie_consent': 'Wir verwenden Cookies, um Ihnen die bestmögliche Erfahrung zu bieten.',
|
||
'dsgvo.cookie_essential': 'Essenzielle Cookies',
|
||
'dsgvo.cookie_essential_desc': 'Diese Cookies sind für die Funktionalität der Plattform erforderlich.',
|
||
'dsgvo.cookie_analytics': 'Analyse-Cookies',
|
||
'dsgvo.cookie_analytics_desc': 'Diese Cookies helfen uns, die Plattform zu verbessern.',
|
||
'dsgvo.cookie_accept': 'Alle akzeptieren',
|
||
'dsgvo.cookie_reject': 'Nur essenzielle',
|
||
'dsgvo.cookie_settings': 'Cookie-Einstellungen',
|
||
'dsgvo.jugendschutz': 'Jugendschutz',
|
||
'dsgvo.jugendschutz_notice': 'Diese Plattform ist für Schülerinnen und Schüler unter 16 Jahren nur mit Zustimmung der Erziehungsberechtigten nutzbar.',
|
||
'dsgvo.parental_consent': 'Einverständnis der Erziehungsberechtigten',
|
||
'dsgvo.no_advertising': 'Keine Werbung für Schüler',
|
||
'dsgvo.no_tracking': 'Kein Tracking von Schülern unter 16 Jahren',
|
||
'dsgvo.dpa': 'Auftragsverarbeitungsvertrag (AVV)',
|
||
'dsgvo.dpa_desc': 'Vertrag zur Auftragsdatenverarbeitung gemäß Art. 28 DSGVO',
|
||
'dsgvo.data_register': 'Verzeichnis von Verarbeitungstätigkeiten',
|
||
'dsgvo.data_register_desc': 'Übersicht aller Verarbeitungstätigkeiten gemäß Art. 30 DSGVO',
|
||
'dsgvo.privacy_policy_text': 'Die nachfolgende Datenschutzerklärung gilt für die Nutzung der Plattform CompetenceTrack. Verantwortlich für die Datenverarbeitung ist die jeweilige Schule.',
|
||
'dsgvo.data_collected_list': 'Name, E-Mail-Adresse, Passwort (verschlüsselt), Rollenzuordnung, Klassen- und Fächerverknüpfungen, Lernfortschritte, Bewertungen, Anwesenheitsdaten, Notizen und Zeugnisse.',
|
||
'dsgvo.data_purpose_list': 'Bereitstellung und Betrieb der Plattform, Verwaltung von Schülern und Klassen, Dokumentation von Lernfortschritten, Erstellung von Zeugnissen und Berichten, Kommunikation mit Eltern.',
|
||
'dsgvo.data_retention_list': 'Nutzerdaten werden für die Dauer der Nutzung gespeichert. Nach Löschung des Kontos werden die Daten nach Ablauf der 30-tägigen Widerspruchsfrist unwiderruflich gelöscht. Auswertungsdaten werden nach 3 Jahren anonymisiert.',
|
||
'dsgvo.data_third_party_list': 'Es erfolgt keine Weitergabe personenbezogener Daten an Dritte, soweit keine gesetzliche Verpflichtung besteht oder die Datenverarbeitung im Auftrag gemäß Art. 28 DSGVO erfolgt.',
|
||
'dsgvo.dpa_template_text': 'Der Auftragsverarbeitungsvertrag (AVV) regelt die Datenverarbeitung im Auftrag gemäß Art. 28 DSGVO. Die Schule als Verantwortliche schließt diesen Vertrag mit dem Betreiber der Plattform ab.',
|
||
'dsgvo.dpa_status_signed': 'Unterzeichnet',
|
||
'dsgvo.dpa_status_pending': 'Ausstehend',
|
||
'dsgvo.dpa_sign': 'AVV unterzeichnen',
|
||
'dsgvo.jugendschutz_login_notice': 'Für Schüler unter 16 Jahren ist die Nutzung nur mit Zustimmung der Erziehungsberechtigten erlaubt.',
|
||
'dsgvo.jugendschutz_rewards': 'Wettbewerbspreise entsprechen den Anforderungen des Jugendschutzgesetzes.',
|
||
'dsgvo.tab_privacy': 'Datenschutz',
|
||
'dsgvo.rights_title': 'Ihre Rechte nach DSGVO',
|
||
'dsgvo.rights_desc': 'Sie haben gegenüber dem Verantwortlichen folgende Rechte:',
|
||
'dsgvo.right_access_desc': 'Sie haben das Recht, Auskunft darüber zu verlangen, welche personenbezogenen Daten über Sie verarbeitet werden.',
|
||
'dsgvo.right_rectification_desc': 'Sie haben das Recht, die Berichtigung unrichtiger personenbezogener Daten zu verlangen.',
|
||
'dsgvo.right_erasure_desc': 'Sie haben das Recht, die Löschung Ihrer personenbezogenen Daten zu verlangen.',
|
||
'dsgvo.right_portability_desc': 'Sie haben das Recht, Ihre Daten in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten.',
|
||
'dsgvo.right_restriction_desc': 'Sie haben das Recht, die Einschränkung der Verarbeitung Ihrer Daten zu verlangen.',
|
||
'dsgvo.right_objection_desc': 'Sie haben das Recht, aus Gründen der besonderen Situation Widerspruch gegen die Verarbeitung einzulegen.',
|
||
'dsgvo.dpa_download': 'AVV-Vorlage herunterladen',
|
||
'dsgvo.data_register_download': 'Verzeichnis herunterladen',
|
||
'dsgvo.consent_management': 'Einwilligungsverwaltung',
|
||
'dsgvo.consent_management_desc': 'Verwalten Sie Ihre Einwilligungen zur Datenverarbeitung.',
|
||
'dsgvo.consent_data_processing': 'Datenverarbeitung',
|
||
'dsgvo.consent_data_processing_desc': 'Einwilligung zur Verarbeitung Ihrer Daten für den Betrieb der Plattform.',
|
||
'dsgvo.consent_communication': 'Kommunikation',
|
||
'dsgvo.consent_communication_desc': 'Einwilligung zum Empfang von Benachrichtigungen und E-Mails.',
|
||
'dsgvo.consent_analytics': 'Anonyme Analyse',
|
||
'dsgvo.consent_analytics_desc': 'Einwilligung zur anonymen Nutzungsanalyse zur Verbesserung der Plattform.',
|
||
'dsgvo.consent_third_party': 'Datenweitergabe',
|
||
'dsgvo.consent_third_party_desc': 'Einwilligung zur Weitergabe von Daten an Dritte (z.B. Wettbewerbspartner).',
|
||
'dsgvo.consent_granted': 'Erteilt',
|
||
'dsgvo.consent_revoked': 'Widerrufen',
|
||
'dsgvo.consent_revoke': 'Widerrufen',
|
||
'dsgvo.consent_grant': 'Erteilen',
|
||
'dsgvo.retention_settings': 'Aufbewahrungseinstellungen',
|
||
'dsgvo.retention_settings_desc': 'Konfigurieren Sie die Speicherdauer Ihrer Daten.',
|
||
'dsgvo.retention_grades': 'Noten aufbewahren für',
|
||
'dsgvo.retention_attendance': 'Anwesenheitsdaten aufbewahren für',
|
||
'dsgvo.retention_behavior': 'Verhaltensdaten aufbewahren für',
|
||
'dsgvo.retention_years': 'Jahre',
|
||
|
||
// ─── Digital Reward Catalog ─────────────────────────────────────────
|
||
'rewards.title': 'Belohnungen',
|
||
'rewards.catalog': 'Belohnungskatalog',
|
||
'rewards.catalog_desc': 'Lösen Sie Ihre Punkte für tolle Belohnungen ein.',
|
||
'rewards.category.streaming': 'Streaming',
|
||
'rewards.category.shopping': 'Einkaufen',
|
||
'rewards.category.experience': 'Erlebnisse',
|
||
'rewards.category.merchandise': 'Schul-Merchandise',
|
||
'rewards.category.privilege': 'Sonderrechte',
|
||
'rewards.category.all': 'Alle Kategorien',
|
||
'rewards.points_balance': 'Punktestand',
|
||
'rewards.points_earned': 'Punkte verdient',
|
||
'rewards.points_spent': 'Punkte ausgegeben',
|
||
'rewards.redeem': 'Einlösen',
|
||
'rewards.redeem_confirm': 'Belohnung einlösen?',
|
||
'rewards.redeem_confirm_desc': 'Möchten Sie {points} Punkte für {reward} einlösen?',
|
||
'rewards.redeem_success': 'Belohnung erfolgreich eingelöst!',
|
||
'rewards.redeem_error': 'Fehler beim Einlösen der Belohnung.',
|
||
'rewards.insufficient_points': 'Nicht genügend Punkte.',
|
||
'rewards.out_of_stock': 'Nicht mehr verfügbar.',
|
||
'rewards.stock_remaining': 'Noch {count} verfügbar',
|
||
'rewards.unlimited': 'Unbegrenzt',
|
||
'rewards.points_cost': 'Kosten',
|
||
'rewards.my_redemptions': 'Meine Einlösungen',
|
||
'rewards.redemption_status': 'Status',
|
||
'rewards.redemption.pending': 'Ausstehend',
|
||
'rewards.redemption.approved': 'Genehmigt',
|
||
'rewards.redemption.rejected': 'Abgelehnt',
|
||
'rewards.redemption.fulfilled': 'Erfüllt',
|
||
'rewards.points_history': 'Punkteverlauf',
|
||
'rewards.points_source.competition': 'Wettbewerb',
|
||
'rewards.points_source.grade': 'Gute Noten',
|
||
'rewards.points_source.attendance': 'Anwesenheit',
|
||
'rewards.points_source.homework': 'Hausaufgaben',
|
||
'rewards.points_source.bonus': 'Bonus',
|
||
'rewards.create_reward': 'Belohnung erstellen',
|
||
'rewards.edit_reward': 'Belohnung bearbeiten',
|
||
'rewards.delete_reward': 'Belohnung löschen',
|
||
'rewards.no_rewards': 'Keine Belohnungen vorhanden',
|
||
'rewards.streaming.netflix': 'Netflix-Gutschein',
|
||
'rewards.streaming.spotify': 'Spotify-Premium',
|
||
'rewards.streaming.disney': 'Disney+-Gutschein',
|
||
'rewards.shopping.amazon': 'Amazon-Gutschein',
|
||
'rewards.shopping.thalia': 'Thalia-Gutschein',
|
||
'rewards.shopping.mediamarkt': 'MediaMarkt-Gutschein',
|
||
'rewards.experience.cinema': 'Kino-Ticket',
|
||
'rewards.experience.theater': 'Theater-Ticket',
|
||
'rewards.experience.concert': 'Konzert-Ticket',
|
||
'rewards.experience.museum': 'Museumseintritt',
|
||
'rewards.merchandise.tshirt': 'Schul-T-Shirt',
|
||
'rewards.merchandise.stickers': 'Aufkleber-Set',
|
||
'rewards.merchandise.notebook': 'Schulheft',
|
||
'rewards.privilege.homework_pass': 'Hausaufgaben-Frei',
|
||
'rewards.privilege.extra_break': 'Extra Pause',
|
||
'rewards.privilege.choose_seat': 'Sitzplatz wählen',
|
||
'rewards.earn_points': 'Punkte verdienen',
|
||
'rewards.earn_points_desc': 'Verdienen Sie Punkte durch aktive Teilnahme am Schulleben.',
|
||
'rewards.earn_competition': 'Wettbewerbe: Teilnahme + Gewinn',
|
||
'rewards.earn_grades': 'Gute Noten: Je besser, desto mehr Punkte',
|
||
'rewards.earn_attendance': 'Anwesenheitssträhne: Regelmäßig dabei sein',
|
||
'rewards.earn_homework': 'Hausaufgaben: Pünktlich abgeben',
|
||
'rewards.earn_bonus': 'Bonuspunkte: Besondere Leistungen',
|
||
|
||
// ─── Teacher Dashboard ──────────────────────────────────────────────
|
||
'teacher.dashboard_title': 'Lehrer-Dashboard',
|
||
'teacher.welcome_back': 'Willkommen zurück',
|
||
'teacher.my_classes': 'Meine Klassen',
|
||
'teacher.my_classes_desc': 'Übersicht Ihrer Klassen mit Schüleranzahl',
|
||
'teacher.recent_assessments': 'Letzte Bewertungen',
|
||
'teacher.graded': 'Benotet',
|
||
'teacher.pending': 'Ausstehend',
|
||
'teacher.upcoming_lessons': 'Kommende Stunden',
|
||
'teacher.competence_progress': 'Kompetenzfortschritt',
|
||
'teacher.competence_progress_desc': 'Radar-Übersicht der Kompetenzbereiche',
|
||
'teacher.recent_progress_entries': 'Neueste Fortschrittseinträge',
|
||
'teacher.quick_actions': 'Schnellaktionen',
|
||
'teacher.create_assessment': 'Bewertung erstellen',
|
||
'teacher.take_attendance': 'Anwesenheit erfassen',
|
||
'teacher.log_progress': 'Fortschritt loggen',
|
||
'teacher.message_parents': 'Eltern kontaktieren',
|
||
'teacher.student_count': 'Schüler',
|
||
'teacher.no_classes': 'Keine Klassen vorhanden',
|
||
'teacher.no_assessments': 'Keine Bewertungen vorhanden',
|
||
'teacher.no_lessons': 'Keine Stunden geplant',
|
||
'teacher.avg_mastery': 'Durchschnittsniveau',
|
||
'teacher.assessment_count': 'Anzahl Bewertungen',
|
||
'teacher.class_overview': 'Klassenübersicht',
|
||
|
||
// ─── Student Dashboard (enhanced) ───────────────────────────────────
|
||
'student.my_grades_overview': 'Meine Notenübersicht',
|
||
'student.my_grades_trend': 'Notenverlauf',
|
||
'student.grade_trend_up': 'Steigend',
|
||
'student.grade_trend_down': 'Fallend',
|
||
'student.grade_trend_stable': 'Stabil',
|
||
'student.my_competence_flower': 'Meine Kompetenzblume',
|
||
'student.competence_flower_desc': 'Visuelle Übersicht deiner Kompetenzentwicklung',
|
||
'student.upcoming_homework': 'Anstehende Hausaufgaben',
|
||
'student.no_homework': 'Keine anstehenden Hausaufgaben',
|
||
'student.competition_standings': 'Wettbewerbsstände',
|
||
'student.my_rank': 'Mein Rang',
|
||
'student.points': 'Punkte',
|
||
'student.no_competitions': 'Keine aktiven Wettbewerbe',
|
||
'student.school_announcements': 'Schulankündigungen',
|
||
|
||
// ─── Parent Dashboard (enhanced) ────────────────────────────────────
|
||
'parent.children_grades': 'Noten der Kinder',
|
||
'parent.children_grades_desc': 'Aktuelle Noten Ihrer Kinder',
|
||
'parent.child_grade': 'Note',
|
||
'parent.child_subject': 'Fach',
|
||
'parent.children_attendance_summary': 'Anwesenheitsübersicht der Kinder',
|
||
'parent.present_rate': 'Anwesenheitsrate',
|
||
'parent.absent_count': 'Fehltage',
|
||
'parent.late_count': 'Verspätungen',
|
||
'parent.teacher_messages': 'Lehrernachrichten',
|
||
'parent.no_teacher_messages': 'Keine Nachrichten von Lehrern',
|
||
'parent.school_announcements': 'Schulankündigungen',
|
||
'parent.calendar_events': 'Termine',
|
||
'parent.upcoming_events': 'Anstehende Termine',
|
||
'parent.no_events': 'Keine anstehenden Termine',
|
||
'parent.competition_results': 'Wettbewerbsergebnisse',
|
||
'parent.no_competition_results': 'Keine Wettbewerbsgebnisse verfügbar',
|
||
'parent.child_recent_grade': 'Letzte Note',
|
||
|
||
// ─── School Admin Dashboard ─────────────────────────────────────────
|
||
'admin.dashboard_title': 'Admin-Dashboard',
|
||
'admin.welcome_back': 'Willkommen zurück',
|
||
'admin.school_overview': 'Schulübersicht',
|
||
'admin.total_students': 'Schüler insgesamt',
|
||
'admin.total_classes': 'Klassen insgesamt',
|
||
'admin.total_teachers': 'Lehrkräfte insgesamt',
|
||
'admin.total_parents': 'Eltern insgesamt',
|
||
'admin.system_health': 'Systemstatus',
|
||
'admin.system_healthy': 'System läuft einwandfrei',
|
||
'admin.system_degraded': 'Eingeschränkter Betrieb',
|
||
'admin.uptime': 'Betriebszeit',
|
||
'admin.active_users': 'Aktive Nutzer',
|
||
'admin.storage_used': 'Speicherbelegung',
|
||
'admin.api_requests': 'API-Anfragen heute',
|
||
'admin.audit_log': 'Aktivitätsprotokoll',
|
||
'admin.audit_log_desc': 'Letzte Systemaktivitäten',
|
||
'admin.no_audit_entries': 'Keine Aktivitäten protokolliert',
|
||
'admin.user_management': 'Benutzerverwaltung',
|
||
'admin.manage_teachers': 'Lehrkräfte verwalten',
|
||
'admin.manage_students': 'Schüler verwalten',
|
||
'admin.manage_parents': 'Eltern verwalten',
|
||
'admin.school_statistics': 'Schulstatistiken',
|
||
'admin.enrollment_trend': 'Einschreibungsentwicklung',
|
||
'admin.grade_distribution': 'Notenverteilung',
|
||
'admin.attendance_rate': 'Anwesenheitsrate',
|
||
'admin.competency_overview': 'Kompetenzübersicht',
|
||
'admin.announcements_management': 'Ankündigungen verwalten',
|
||
'admin.create_announcement': 'Ankündigung erstellen',
|
||
'admin.recent_activity': 'Letzte Aktivitäten',
|
||
'admin.action_type': 'Aktionstyp',
|
||
'admin.user': 'Benutzer',
|
||
'admin.timestamp': 'Zeitstempel',
|
||
'admin.details': 'Details',
|
||
'admin.quick_actions': 'Schnellaktionen',
|
||
'admin.add_teacher': 'Lehrkraft hinzufügen',
|
||
'admin.add_student': 'Schüler hinzufügen',
|
||
'admin.add_class': 'Klasse hinzufügen',
|
||
'admin.school_settings': 'Schuleinstellungen',
|
||
'admin.export_data': 'Daten exportieren',
|
||
'admin.health_excellent': 'Ausgezeichnet',
|
||
'admin.health_good': 'Gut',
|
||
'admin.health_warning': 'Warnung',
|
||
'admin.health_critical': 'Kritisch',
|
||
|
||
// Student Portal
|
||
'student_portal.title': 'Mein Portal',
|
||
'student_portal.my_competencies': 'Meine Kompetenzen',
|
||
'student_portal.my_goals': 'Meine Ziele',
|
||
'student_portal.my_achievements': 'Meine Erfolge',
|
||
'student_portal.my_schedule': 'Mein Stundenplan',
|
||
'student_portal.my_homework': 'Meine Hausaufgaben',
|
||
'student_portal.my_feedback': 'Mein Feedback',
|
||
'student_portal.goal_set': 'Ziel setzen',
|
||
'student_portal.goal_progress': 'Zielfortschritt',
|
||
'student_portal.goal_complete': 'Ziel abschliessen',
|
||
'student_portal.no_competencies': 'Noch keine Kompetenzdaten vorhanden',
|
||
'student_portal.no_goals': 'Noch keine Ziele gesetzt',
|
||
'student_portal.no_achievements': 'Noch keine Erfolge freigeschaltet',
|
||
'student_portal.points_earned': 'Punkte gesammelt',
|
||
'student_portal.badges_earned': 'Abzeichen verdient',
|
||
'student_portal.rewards_available': 'Verfuegbare Belohnungen',
|
||
'student_portal.today_schedule': 'Heutiger Stundenplan',
|
||
'student_portal.next_period': 'Naechste Stunde',
|
||
'student_portal.current_period': 'Aktuelle Stunde',
|
||
'student_portal.overdue': 'Ueberfaellig',
|
||
'student_portal.due_today': 'Heute faellig',
|
||
'student_portal.upcoming': 'Anstehend',
|
||
'student_portal.mastery_level': 'Kompetenzniveau',
|
||
'student_portal.level_1': 'Anfaenger',
|
||
'student_portal.level_2': 'Fortgeschritten',
|
||
'student_portal.level_3': 'Kompetent',
|
||
'student_portal.level_4': 'Experte',
|
||
'student_portal.add_goal': 'Neues Ziel',
|
||
'student_portal.goal_title': 'Zieltitel',
|
||
'student_portal.goal_description': 'Zielbeschreibung',
|
||
'student_portal.target_date': 'Zieldatum',
|
||
'student_portal.active_goals': 'Aktive Ziele',
|
||
'student_portal.completed_goals': 'Abgeschlossene Ziele',
|
||
'student_portal.abandon_goal': 'Ziel aufgeben',
|
||
'student_portal.update_progress': 'Fortschritt aktualisieren',
|
||
'student_portal.badge_name': 'Abzeichen',
|
||
'student_portal.earned_on': 'Verdient am',
|
||
'student_portal.no_schedule': 'Kein Stundenplan fuer heute',
|
||
'student_portal.period': 'Stunde',
|
||
'student_portal.break': 'Pause',
|
||
'student_portal.no_homework_due': 'Keine Hausaufgaben faellig',
|
||
'student_portal.no_feedback': 'Noch kein Feedback vorhanden',
|
||
'student_portal.recent_feedback': 'Letztes Feedback',
|
||
'student_portal.from_teacher': 'Von',
|
||
'student_portal.subject': 'Fach',
|
||
'student_portal.competency_card': 'Kompetenzkarte',
|
||
'student_portal.progress_bar': 'Fortschrittsbalken',
|
||
'student_portal.total_points': 'Gesamtpunkte',
|
||
'student_portal.level': 'Stufe',
|
||
'student_portal.no_class': 'Keine Klasse',
|
||
'student_portal.schedule_for': 'Stundenplan fuer',
|
||
'student_portal.good_morning': 'Guten Morgen',
|
||
'student_portal.good_afternoon': 'Guten Tag',
|
||
'student_portal.good_evening': 'Guten Abend',
|
||
'student_portal.hero_message': 'Weiter so! Jeder Schritt bringt dich naeher an dein Ziel.',
|
||
'student_portal.streak_days': 'Tage Strich',
|
||
'student_portal.days': 'Tage',
|
||
'student_portal.learning_streak': 'Lernstrich',
|
||
'student_portal.streak_message': 'Tolle Serie! Halte durch, um deine Tagesreihe zu verlaengern.',
|
||
'student_portal.level_up_progress': 'Aufstiegsfortschritt',
|
||
'student_portal.level_up_detail': 'Aktuelle Stufe {level} von {max}',
|
||
|
||
// AI Features
|
||
'ai.chat_title': 'KI-Lernassistent',
|
||
'ai.chat_placeholder': 'Stelle eine Frage zum Thema...',
|
||
'ai.explain_topic': 'Thema erklaeren',
|
||
'ai.give_hint': 'Hinweis geben',
|
||
'ai.quiz_me': 'Frag mich ab',
|
||
'ai.thinking': 'Denke nach...',
|
||
'ai.rate_limit': 'Tageslimit erreicht',
|
||
'ai.daily_limit': 'Tageslimit: {used} von {max}',
|
||
'ai.helper_mode': 'Hilfsmodus',
|
||
'ai.system_prompt': 'Systemprompt',
|
||
'ai.provider': 'KI-Anbieter',
|
||
'ai.image_gen': 'Bildgenerierung',
|
||
'ai.video_gen': 'Videogenerierung',
|
||
'ai.topic_gen': 'Themengenerierung',
|
||
'ai.auto_test': 'Automatische Tests',
|
||
'ai.grading_audit': 'Benotungsaudit',
|
||
'ai.settings': 'KI-Einstellungen',
|
||
'ai.pollination': 'Pollination AI',
|
||
'ai.openai': 'OpenAI',
|
||
'ai.anthropic': 'Anthropic',
|
||
'ai.enabled': 'Aktiviert',
|
||
'ai.disabled': 'Deaktiviert',
|
||
'ai.max_requests': 'Max. Anfragen pro Tag',
|
||
'ai.guided': 'Gefuehrt',
|
||
'ai.full': 'Voll',
|
||
'ai.restricted': 'Eingeschraenkt',
|
||
'ai.chat_enabled': 'KI-Chat aktiviert',
|
||
'ai.image_gen_enabled': 'Bildgenerierung aktiviert',
|
||
'ai.video_gen_enabled': 'Videogenerierung aktiviert',
|
||
'ai.no_homework': 'Ich loese keine Hausaufgaben, aber ich erklaere gerne Konzepte!',
|
||
'ai.motivation_1': 'Weiter so, du machst das grossartig!',
|
||
'ai.motivation_2': 'Jeder Schritt zaehlt. Bleib dran!',
|
||
'ai.motivation_3': 'Du bist auf dem richtigen Weg!',
|
||
'ai.motivation_4': 'Lernen macht Spass, wenn man es versteht!',
|
||
'ai.motivation_5': 'Fragen stellen ist der erste Schritt zum Verstehen!',
|
||
'ai.welcome_message': 'Hallo! Ich bin dein Lernassistent. Wie kann ich dir helfen?',
|
||
'ai.error_generic': 'Ein Fehler ist aufgetreten. Bitte versuche es erneut.',
|
||
'ai.error_rate_limit': 'Du hast dein Tageslimit erreicht. Versuche es morgen wieder!',
|
||
'ai.error_disabled': 'KI-Chat ist derzeit deaktiviert.',
|
||
'ai.conversation_start': 'Neues Gespraech starten',
|
||
'ai.send': 'Senden',
|
||
'ai.quick_actions': 'Schnellaktionen',
|
||
'ai.topic_hint': 'Gib ein Thema ein, zu dem du einen Hinweis moechtest',
|
||
'ai.topic_explain': 'Gib ein Thema ein, das erklaert werden soll',
|
||
'ai.topic_quiz': 'Gib ein Thema ein, zu dem du abgefragt werden moechtest',
|
||
'ai.image_prompt': 'Bildbeschreibung eingeben...',
|
||
'ai.image_generating': 'Bild wird generiert...',
|
||
'ai.video_prompt': 'Videobeschreibung eingeben...',
|
||
'ai.video_generating': 'Video wird generiert...',
|
||
'ai.video_quality': 'Qualitaet',
|
||
'ai.video_size': 'Groesse',
|
||
'ai.generate_topics_prompt': 'Themen aus Kategorie generieren',
|
||
'ai.generating_topics': 'Themen werden generiert...',
|
||
'ai.no_settings': 'Keine KI-Einstellungen gefunden',
|
||
'ai.save_settings': 'Einstellungen speichern',
|
||
'ai.settings_saved': 'Einstellungen gespeichert',
|
||
'ai.chat_history': 'Chatverlauf',
|
||
'ai.new_chat': 'Neuer Chat',
|
||
'ai.clear_chat': 'Chat loeschen',
|
||
'ai.character_settings': 'Charakter-Einstellungen',
|
||
'ai.request_count': 'Anfragen heute: {count}',
|
||
|
||
// Virtual Character
|
||
'character.title': 'Dein Lernbegleiter',
|
||
'character.select': 'Charakter auswaehlen',
|
||
'character.owl': 'Eule',
|
||
'character.dragon': 'Drache',
|
||
'character.robot': 'Roboter',
|
||
'character.cat': 'Katze',
|
||
'character.wizard': 'Zauberer',
|
||
'character.name': 'Name',
|
||
'character.color': 'Farbe',
|
||
'character.level': 'Stufe',
|
||
'character.xp': 'Erfahrungspunkte',
|
||
'character.mood_happy': 'Froehlich',
|
||
'character.mood_excited': 'Aufgeregt',
|
||
'character.mood_thinking': 'Nachdenklich',
|
||
'character.mood_sleepy': 'Muede',
|
||
'character.mood_celebrating': 'Feiernd',
|
||
'character.how_can_i_help': 'Wie kann ich dir helfen?',
|
||
'character.motivate': 'Motivieren',
|
||
'character.disabled': 'Charakter deaktiviert',
|
||
'character.customize': 'Anpassen',
|
||
'character.save': 'Speichern',
|
||
'character.xp_to_next': 'Noch {xp} XP zur naechsten Stufe',
|
||
'character.level_up': 'Stufenaufstieg!',
|
||
'character.greeting_morning': 'Guten Morgen! Bereit zu lernen?',
|
||
'character.greeting_afternoon': 'Guten Tag! Lass uns weiterlernen!',
|
||
'character.greeting_evening': 'Guten Abend! Noch ein bisschen lernen?',
|
||
'character.idle_message_1': 'Brauchst du Hilfe?',
|
||
'character.idle_message_2': 'Frag mich einfach!',
|
||
'character.idle_message_3': 'Ich bin hier, um zu helfen!',
|
||
'character.close': 'Schliessen',
|
||
'character.open_chat': 'Chat oeffnen',
|
||
'character.speech_bubble': 'Sprachblase',
|
||
|
||
// Subjects feature (DE)
|
||
'subjects.title': 'Faecher',
|
||
'subjects.browse': 'Faecher durchsuchen',
|
||
'subjects.categories': 'Kategorien',
|
||
'subjects.content': 'Inhalt',
|
||
'subjects.topics': 'Themen',
|
||
'subjects.exercises': 'Uebungen',
|
||
'subjects.practice': 'Ueben',
|
||
'subjects.progress': 'Fortschritt',
|
||
'subjects.search': 'Faecher suchen...',
|
||
'subjects.search_results': 'Suchergebnisse',
|
||
'subjects.no_results': 'Keine Ergebnisse gefunden',
|
||
'subjects.activate': 'Aktivieren',
|
||
'subjects.deactivate': 'Deaktivieren',
|
||
'subjects.change_requests': 'Aenderungsanfragen',
|
||
'subjects.approve': 'Genehmigen',
|
||
'subjects.reject': 'Ablehnen',
|
||
'subjects.request_change': 'Aenderung anfragen',
|
||
'subjects.ai_settings': 'KI-Einstellungen',
|
||
'subjects.ai_helper': 'KI-Helfer',
|
||
'subjects.image_generation': 'Bildgenerierung',
|
||
'subjects.video_generation': 'Videogenerierung',
|
||
'subjects.topic_generation': 'Themengenerierung',
|
||
'subjects.auto_tests': 'Auto-Tests',
|
||
'subjects.klasse5': 'Klasse 5',
|
||
'subjects.klasse6': 'Klasse 6',
|
||
'subjects.klasse7': 'Klasse 7',
|
||
'subjects.klasse8': 'Klasse 8',
|
||
'subjects.klasse9': 'Klasse 9',
|
||
'subjects.klasse10': 'Klasse 10',
|
||
'subjects.oberstufe': 'Oberstufe',
|
||
'subjects.mathematik': 'Mathematik',
|
||
'subjects.deutsch': 'Deutsch',
|
||
'subjects.englisch': 'Englisch',
|
||
'subjects.franzoesisch': 'Franzoesisch',
|
||
'subjects.biologie': 'Biologie',
|
||
'subjects.geografie': 'Geografie',
|
||
'subjects.musik': 'Musik',
|
||
'subjects.geschichte': 'Geschichte',
|
||
'subjects.natur_und_technik': 'Natur und Technik',
|
||
'subjects.ethik': 'Ethik und Religion',
|
||
'subjects.latein': 'Latein',
|
||
'subjects.physik': 'Physik',
|
||
'subjects.chemie': 'Chemie',
|
||
'subjects.informatik': 'Informatik',
|
||
'subjects.wirtschaft': 'Wirtschaft',
|
||
'subjects.kunst': 'Kunst',
|
||
'subjects.sport': 'Sport',
|
||
'subjects.create_category': 'Kategorie erstellen',
|
||
'subjects.edit_category': 'Kategorie bearbeiten',
|
||
'subjects.create_content': 'Inhalt erstellen',
|
||
'subjects.edit_content': 'Inhalt bearbeiten',
|
||
'subjects.delete_confirm': 'Sind Sie sicher, dass Sie dies loeschen moechten?',
|
||
'subjects.pending_requests': 'Ausstehende Anfragen',
|
||
'subjects.approved': 'Genehmigt',
|
||
'subjects.rejected': 'Abgelehnt',
|
||
'subjects.pending': 'Ausstehend',
|
||
'subjects.content_type': 'Inhaltstyp',
|
||
'subjects.difficulty': 'Schwierigkeit',
|
||
'subjects.easy': 'Leicht',
|
||
'subjects.medium': 'Mittel',
|
||
'subjects.hard': 'Schwer',
|
||
'subjects.question_count': 'Fragen',
|
||
'subjects.total_topics': 'Themen',
|
||
'subjects.total_exercises': 'Uebungen',
|
||
'subjects.select_category': 'Kategorie waehlen',
|
||
'subjects.back_to_categories': 'Zurueck zu Kategorien',
|
||
'subjects.back_to_subject': 'Zurueck zum Fach',
|
||
'subjects.question_of': 'Frage {current} von {total}',
|
||
'subjects.correct_answer': 'Richtig!',
|
||
'subjects.wrong_answer': 'Nicht ganz. Versuche es nochmal!',
|
||
'subjects.next_question': 'Naechste Frage',
|
||
'subjects.finish_practice': 'Uebung beenden',
|
||
'subjects.practice_complete': 'Uebung abgeschlossen!',
|
||
'subjects.score': 'Ergebnis',
|
||
'subjects.your_answer': 'Deine Antwort',
|
||
'subjects.correct': 'Richtig',
|
||
'subjects.seed_data': 'Beispieldaten erstellen',
|
||
'subjects.seed_data_desc': 'Beispielinhalt basierend auf schlaukopf.de erstellen',
|
||
'subjects.manage_categories': 'Kategorien verwalten',
|
||
'subjects.manage_content': 'Inhalte verwalten',
|
||
'subjects.review_requests': 'Anfragen pruefen',
|
||
'subjects.ai_config': 'KI-Konfiguration',
|
||
'subjects.pollination': 'Pollination KI',
|
||
'subjects.openai': 'OpenAI',
|
||
'subjects.anthropic': 'Anthropic',
|
||
'subjects.enabled': 'Aktiviert',
|
||
'subjects.disabled': 'Deaktiviert',
|
||
'subjects.api_key': 'API-Schluessel',
|
||
'subjects.model': 'Modell',
|
||
'subjects.daily_limit': 'Tageslimit Anfragen',
|
||
'subjects.helper_mode': 'Helfermodus',
|
||
'subjects.guided': 'Gefuehrt',
|
||
'subjects.full': 'Voll',
|
||
'subjects.restricted': 'Eingeschraenkt',
|
||
'subjects.system_prompt': 'System-Prompt',
|
||
'subjects.grading_audit': 'Noten-Audit',
|
||
'subjects.virtual_character': 'Virtueller Charakter',
|
||
'subjects.request_type': 'Anfragetyp',
|
||
'subjects.proposed_changes': 'Vorgeschlagene Aenderungen',
|
||
'subjects.review_note': 'Pruefnotiz',
|
||
'subjects.content_active': 'Aktiv',
|
||
'subjects.content_inactive': 'Inaktiv',
|
||
'subjects.no_content': 'Kein Inhalt verfuegbar',
|
||
'subjects.start_practice': 'Uebung starten',
|
||
'subjects.continue_practice': 'Fortsetzen',
|
||
'subjects.view_content': 'Inhalt anzeigen',
|
||
'subjects.parent_topic': 'Uebergeordnetes Thema',
|
||
'subjects.subtopics': 'Unterthemen',
|
||
|
||
// ─── Illness Reporting ──────────────────────────────────────────────
|
||
'nav.illness': 'Krankmeldungen',
|
||
'nav.communication': 'Gespraechsraeume',
|
||
'illness.title': 'Krankmeldungen',
|
||
'illness.report': 'Krankmeldung erstellen',
|
||
'illness.my_reports': 'Meine Krankmeldungen',
|
||
'illness.pending_approval': 'Genehmigung ausstehend',
|
||
'illness.approved': 'Genehmigt',
|
||
'illness.rejected': 'Abgelehnt',
|
||
'illness.parent_approval_needed': 'Elterliche Genehmigung erforderlich',
|
||
'illness.parent_approval_desc': 'Deine Krankmeldung muss von einem Elternteil bestaetigt werden, bevor sie fuer Lehrkraefte sichtbar wird.',
|
||
'illness.start_date': 'Beginndatum',
|
||
'illness.end_date': 'Enddatum',
|
||
'illness.reason': 'Grund',
|
||
'illness.illness': 'Krankheit',
|
||
'illness.doctor_visit': 'Arztbesuch',
|
||
'illness.other': 'Sonstiges',
|
||
'illness.description': 'Beschreibung',
|
||
'illness.medical_certificate': 'Attest / Bescheinigung',
|
||
'illness.approve': 'Genehmigen',
|
||
'illness.reject': 'Ablehnen',
|
||
'illness.auto_approved': 'Automatisch genehmigt',
|
||
'illness.not_visible_teacher': 'Nicht sichtbar fuer Lehrkraefte',
|
||
'illness.visible_teacher': 'Sichtbar fuer Lehrkraefte',
|
||
'illness.statistics': 'Statistiken',
|
||
'illness.calendar_view': 'Kalenderansicht',
|
||
'illness.list_view': 'Listenansicht',
|
||
'illness.no_reports': 'Keine Krankmeldungen vorhanden',
|
||
'illness.create_first': 'Erstelle deine erste Krankmeldung',
|
||
'illness.pending_reports': 'Ausstehende Krankmeldungen',
|
||
'illness.approved_reports': 'Genehmigte Krankmeldungen',
|
||
'illness.rejected_reports': 'Abgelehnte Krankmeldungen',
|
||
'illness.total_absences': 'Fehltage gesamt',
|
||
'illness.days_absent': 'Fehltage',
|
||
'illness.reported_by': 'Gemeldet von',
|
||
'illness.reported_on': 'Gemeldet am',
|
||
'illness.approved_by': 'Genehmigt von',
|
||
'illness.approved_on': 'Genehmigt am',
|
||
'illness.children_reports': 'Krankmeldungen meiner Kinder',
|
||
'illness.pending_approvals': 'Ausstehende Genehmigungen',
|
||
'illness.approve_confirm': 'Moechtest du diese Krankmeldung genehmigen?',
|
||
'illness.reject_confirm': 'Moechtest du diese Krankmeldung ablehnen?',
|
||
'illness.rejection_reason': 'Ablehnungsgrund',
|
||
'illness.student_report': 'Schuelermeldung',
|
||
'illness.parent_report': 'Elternmeldung',
|
||
'illness.no_pending': 'Keine ausstehenden Genehmigungen',
|
||
'illness.class_absences': 'Fehlzeiten der Klasse',
|
||
'illness.all_reports': 'Alle Krankmeldungen',
|
||
'illness.from_date': 'Von',
|
||
'illness.to_date': 'Bis',
|
||
'illness.upload_certificate': 'Attest hochladen',
|
||
'illness.delete_confirm': 'Moechtest du diese Krankmeldung wirklich loeschen?',
|
||
'illness.edit_report': 'Krankmeldung bearbeiten',
|
||
'illness.status_pending': 'Ausstehend',
|
||
'illness.status_approved': 'Genehmigt',
|
||
'illness.status_rejected': 'Abgelehnt',
|
||
'illness.absence_overview': 'Fehlzeitenuebersicht',
|
||
'illness.report_success': 'Krankmeldung erfolgreich erstellt',
|
||
'illness.approve_success': 'Krankmeldung genehmigt',
|
||
'illness.reject_success': 'Krankmeldung abgelehnt',
|
||
'illness.delete_success': 'Krankmeldung geloescht',
|
||
'illness.update_success': 'Krankmeldung aktualisiert',
|
||
'illness.error_create': 'Fehler beim Erstellen der Krankmeldung',
|
||
'illness.error_approve': 'Fehler beim Genehmigen',
|
||
'illness.error_reject': 'Fehler beim Ablehnen',
|
||
|
||
// ─── Communication Rooms ────────────────────────────────────────────
|
||
'communication.title': 'Gespraechsraeume',
|
||
'communication.request_conversation': 'Gespraech anfragen',
|
||
'communication.active_conversations': 'Aktive Gespraeche',
|
||
'communication.pending_requests': 'Ausstehende Anfragen',
|
||
'communication.accept': 'Annehmen',
|
||
'communication.reject': 'Ablehnen',
|
||
'communication.close': 'Schliessen',
|
||
'communication.send_message': 'Senden',
|
||
'communication.type_message': 'Nachricht eingeben...',
|
||
'communication.share_notes': 'Notizen teilen',
|
||
'communication.voice_note': 'Sprachnotiz',
|
||
'communication.attach_file': 'Datei anhaengen',
|
||
'communication.teacher_notes': 'Lehrkraft-Notizen',
|
||
'communication.conversation_with': 'Gespraech mit',
|
||
'communication.no_conversations': 'Keine Gespraeche vorhanden',
|
||
'communication.requested': 'Angefragt',
|
||
'communication.active': 'Aktiv',
|
||
'communication.closed': 'Geschlossen',
|
||
'communication.no_messages': 'Keine Nachrichten',
|
||
'communication.message_sent': 'Nachricht gesendet',
|
||
'communication.request_sent': 'Gespraechsanfrage gesendet',
|
||
'communication.conversation_accepted': 'Gespraech angenommen',
|
||
'communication.conversation_rejected': 'Gespraech abgelehnt',
|
||
'communication.conversation_closed': 'Gespraech geschlossen',
|
||
'communication.select_conversation': 'Waehle ein Gespraech aus',
|
||
'communication.new_conversation': 'Neues Gespraech',
|
||
'communication.with_teacher': 'Mit Klassenlehrkraft',
|
||
'communication.your_teacher': 'Deine Klassenlehrkraft',
|
||
'communication.request_reason': 'Grund der Anfrage',
|
||
'communication.optional_reason': 'Optionaler Grund...',
|
||
'communication.incoming_requests': 'Eingehende Anfragen',
|
||
'communication.student_requests': 'Schueleranfragen',
|
||
'communication.accept_confirm': 'Moechtest du dieses Gespraech annehmen?',
|
||
'communication.reject_confirm': 'Moechtest du diese Anfrage ablehnen?',
|
||
'communication.close_confirm': 'Moechtest du dieses Gespraech schliessen?',
|
||
'communication.close_reason': 'Schliessungsgrund',
|
||
'communication.teacher_notes_placeholder': 'Notizen zum Gespraech...',
|
||
'communication.all_rooms': 'Alle Gespraeche',
|
||
'communication.monitor': 'Gespraech ueberwachen',
|
||
'communication.read_only': 'Schreibgeschuetzt',
|
||
'communication.room_status': 'Gespraechstatus',
|
||
'communication.last_message': 'Letzte Nachricht',
|
||
'communication.participants': 'Teilnehmer',
|
||
'communication.no_active_rooms': 'Keine aktiven Gespraeche',
|
||
'communication.no_pending_requests': 'Keine ausstehenden Anfragen',
|
||
'communication.file_shared': 'Datei geteilt',
|
||
'communication.note_shared': 'Notiz geteilt',
|
||
'communication.voice_message': 'Sprachnachricht',
|
||
'communication.recording': 'Aufnahme...',
|
||
'communication.stop_recording': 'Aufnahme stoppen',
|
||
'communication.start_recording': 'Aufnahme starten',
|
||
'communication.typing': 'tippt...',
|
||
'communication.error_send': 'Fehler beim Senden',
|
||
'communication.error_create': 'Fehler beim Erstellen des Gespraechs',
|
||
'communication.today': 'Heute',
|
||
'communication.yesterday': 'Gestern',
|
||
|
||
// Counseling
|
||
'counseling.title': 'Beratung',
|
||
'counseling.request': 'Beratungsgespraech anfragen',
|
||
'counseling.appointments': 'Beratungstermine',
|
||
'counseling.guidance': 'Lernberatung',
|
||
'counseling.psychological': 'Psychologische Beratung',
|
||
'counseling.career': 'Berufsberatung',
|
||
'counseling.social': 'Sozialberatung',
|
||
'counseling.schedule': 'Termin vereinbaren',
|
||
'counseling.cancel': 'Absagen',
|
||
'counseling.notes': 'Notizen',
|
||
'counseling.private': 'Vertraulich',
|
||
'counseling.add_to_calendar': 'Zum Kalender hinzufuegen',
|
||
'counseling.upcoming': 'Kommende Termine',
|
||
'counseling.history': 'Vergangene Termine',
|
||
'counseling.no_counselor': 'Kein Berater zugewiesen',
|
||
'counseling.assign_counselor': 'Berater zuweisen',
|
||
'counseling.counselor': 'Berater',
|
||
'counseling.student': 'Schueler',
|
||
'counseling.description': 'Beschreibung',
|
||
'counseling.duration': 'Dauer (Minuten)',
|
||
'counseling.type': 'Beratungstyp',
|
||
'counseling.status': 'Status',
|
||
'counseling.requested': 'Angefragt',
|
||
'counseling.scheduled': 'Geplant',
|
||
'counseling.completed': 'Abgeschlossen',
|
||
'counseling.cancelled': 'Abgesagt',
|
||
'counseling.scheduled_at': 'Termin am',
|
||
'counseling.no_appointments': 'Keine Termine vorhanden',
|
||
'counseling.session_notes': 'Sitzungsnotizen',
|
||
'counseling.add_notes': 'Notizen hinzufuegen',
|
||
'counseling.statistics': 'Beratungsstatistik',
|
||
'counseling.total_appointments': 'Gesamttermine',
|
||
'counseling.this_month': 'Diesen Monat',
|
||
'counseling.by_type': 'Nach Typ',
|
||
'counseling.view_all': 'Alle anzeigen',
|
||
|
||
// Disciplinary
|
||
'disciplinary.title': 'Disziplinarkommission',
|
||
'disciplinary.committee': 'Kommission',
|
||
'disciplinary.create_committee': 'Kommission erstellen',
|
||
'disciplinary.members': 'Mitglieder',
|
||
'disciplinary.lead': 'Lehrer',
|
||
'disciplinary.chair': 'Vorsitz',
|
||
'disciplinary.cases': 'Faelle',
|
||
'disciplinary.report_case': 'Vorfall melden',
|
||
'disciplinary.warning': 'Verwarnung',
|
||
'disciplinary.minor_violation': 'Geringes Vergehen',
|
||
'disciplinary.major_violation': 'Schweres Vergehen',
|
||
'disciplinary.serious_offense': 'Schwerwiegendes Vergehen',
|
||
'disciplinary.open': 'Offen',
|
||
'disciplinary.under_review': 'In Pruefung',
|
||
'disciplinary.resolved': 'Geloest',
|
||
'disciplinary.dismissed': 'Abgewiesen',
|
||
'disciplinary.evidence': 'Beweise',
|
||
'disciplinary.resolution': 'Beschluss',
|
||
'disciplinary.active': 'Aktiv',
|
||
'disciplinary.inactive': 'Inaktiv',
|
||
'disciplinary.deactivate': 'Deaktivieren',
|
||
'disciplinary.activate': 'Aktivieren',
|
||
'disciplinary.edit_committee': 'Kommission bearbeiten',
|
||
'disciplinary.committee_name': 'Kommissionsname',
|
||
'disciplinary.committee_description': 'Beschreibung',
|
||
'disciplinary.add_member': 'Mitglied hinzufuegen',
|
||
'disciplinary.remove_member': 'Mitglied entfernen',
|
||
'disciplinary.case_type': 'Falltyp',
|
||
'disciplinary.case_description': 'Fallbeschreibung',
|
||
'disciplinary.student_involved': 'Betroffener Schueler',
|
||
'disciplinary.reported_by': 'Gemeldet von',
|
||
'disciplinary.reviewed_by': 'Geprueft von',
|
||
'disciplinary.resolution_date': 'Beschlussdatum',
|
||
'disciplinary.no_committees': 'Keine Kommissionen vorhanden',
|
||
'disciplinary.no_cases': 'Keine Faelle vorhanden',
|
||
'disciplinary.view_case': 'Fall anzeigen',
|
||
'disciplinary.review_case': 'Fall pruefen',
|
||
'disciplinary.resolve_case': 'Fall abschliessen',
|
||
'disciplinary.dismiss_case': 'Fall abweisen',
|
||
'disciplinary.case_history': 'Fallverlauf',
|
||
'disciplinary.member_role': 'Rolle',
|
||
'disciplinary.member_chair': 'Vorsitz',
|
||
'disciplinary.member_vice_chair': 'Stellv. Vorsitz',
|
||
'disciplinary.member_member': 'Mitglied',
|
||
|
||
// AI Tests
|
||
'ai_tests.title': 'KI-Uebungstests',
|
||
'ai_tests.practice': 'Uebungstest',
|
||
'ai_tests.mock_exam': 'Probeklausur',
|
||
'ai_tests.review': 'Wiederholung',
|
||
'ai_tests.generate': 'Test generieren',
|
||
'ai_tests.auto_generate': 'Automatisch generieren',
|
||
'ai_tests.take_test': 'Test starten',
|
||
'ai_tests.results': 'Ergebnisse',
|
||
'ai_tests.explanation': 'Erklaerung',
|
||
'ai_tests.score': 'Punktzahl',
|
||
'ai_tests.upcoming_exams': 'Kommende Klausuren',
|
||
'ai_tests.two_weeks_before': '2 Wochen vor Klausur',
|
||
'ai_tests.difficulty': 'Schwierigkeitsgrad',
|
||
'ai_tests.easy': 'Leicht',
|
||
'ai_tests.medium': 'Mittel',
|
||
'ai_tests.hard': 'Schwer',
|
||
'ai_tests.topic': 'Thema',
|
||
'ai_tests.question_count': 'Anzahl Fragen',
|
||
'ai_tests.subject': 'Fach',
|
||
'ai_tests.class': 'Klasse',
|
||
'ai_tests.no_tests': 'Keine Tests vorhanden',
|
||
'ai_tests.completed': 'Abgeschlossen',
|
||
'ai_tests.in_progress': 'In Bearbeitung',
|
||
'ai_tests.pending': 'Ausstehend',
|
||
'ai_tests.questions': 'Fragen',
|
||
'ai_tests.correct_answer': 'Richtige Antwort',
|
||
'ai_tests.your_answer': 'Ihre Antwort',
|
||
'ai_tests.progress_over_time': 'Fortschritt ueber Zeit',
|
||
'ai_tests.test_type': 'Testtyp',
|
||
'ai_tests.generated_on': 'Generiert am',
|
||
'ai_tests.configure': 'Einstellungen',
|
||
'ai_tests.manual_trigger': 'Manuell ausloesen',
|
||
'ai_tests.auto_settings': 'Automatische Einstellungen',
|
||
'ai_tests.test_statistics': 'Teststatistik',
|
||
'ai_tests.average_score': 'Durchschnittspunktzahl',
|
||
'ai_tests.total_tests': 'Gesamttests',
|
||
'ai_tests.completion_rate': 'Abschlussrate',
|
||
'ai_tests.submit_answers': 'Antworten abgeben',
|
||
'ai_tests.next_question': 'Naechste Frage',
|
||
'ai_tests.previous_question': 'Vorherige Frage',
|
||
'ai_tests.question_of': 'Frage {current} von {total}',
|
||
'ai_tests.time_remaining': 'Verbleibende Zeit',
|
||
|
||
// Grading Review
|
||
'grading_review.title': 'Benotungspruefung',
|
||
'grading_review.trigger': 'Pruefung starten',
|
||
'grading_review.discrepancies': 'Abweichungen',
|
||
'grading_review.comment': 'Kommentar',
|
||
'grading_review.suggested_grade': 'Vorgeschlagene Note',
|
||
'grading_review.reason': 'Begruendung',
|
||
'grading_review.status': 'Status',
|
||
'grading_review.pending': 'Ausstehend',
|
||
'grading_review.in_progress': 'In Bearbeitung',
|
||
'grading_review.completed': 'Abgeschlossen',
|
||
'grading_review.assessment': 'Leistungsueberpruefung',
|
||
'grading_review.teacher': 'Lehrkraft',
|
||
'grading_review.add_comment': 'Kommentar hinzufuegen',
|
||
'grading_review.review_result': 'Pruefungsergebnis',
|
||
'grading_review.no_reviews': 'Keine Pruefungen vorhanden',
|
||
'grading_review.ai_feedback': 'KI-Feedback',
|
||
'grading_review.fairness': 'Fairness',
|
||
'grading_review.consistency': 'Konsistenz',
|
||
'grading_review.comments': 'Kommentare',
|
||
'grading_review.view_details': 'Details anzeigen',
|
||
'grading_review.discrepancies_found': 'Gefundene Abweichungen',
|
||
'grading_review.review_date': 'Pruefungsdatum',
|
||
'grading_review.no_discrepancies': 'Keine Abweichungen gefunden',
|
||
'grading_review.overall_assessment': 'Gesamtbewertung',
|
||
};
|
||
|
||
const en: TranslationDict = {
|
||
// App branding
|
||
'app.name': 'CompetenceTrack',
|
||
'app.subtitle': 'Free Competency & Grading Platform for Schools',
|
||
'app.tagline': 'Open-Source Software for Competency-Based Assessment',
|
||
|
||
// Navigation
|
||
'nav.dashboard': 'Dashboard',
|
||
'nav.classes': 'Classes & Students',
|
||
'nav.competencies': 'Competency Grids',
|
||
'nav.progress': 'Progress Entries',
|
||
'nav.flower': 'Competence Flower',
|
||
'nav.assessments': 'Assessments',
|
||
'nav.grading': 'Grading',
|
||
'nav.reports': 'Reports',
|
||
'nav.student-detail': 'Student Profile',
|
||
|
||
// Common actions
|
||
'action.save': 'Save',
|
||
'action.cancel': 'Cancel',
|
||
'action.delete': 'Delete',
|
||
'action.edit': 'Edit',
|
||
'action.add': 'Add',
|
||
'action.create': 'Create',
|
||
'action.search': 'Search',
|
||
'action.filter': 'Filter',
|
||
'action.export': 'Export',
|
||
'action.close': 'Close',
|
||
'action.back': 'Back',
|
||
'action.next': 'Next',
|
||
'action.confirm': 'Confirm',
|
||
'action.refresh': 'Refresh',
|
||
'action.download': 'Download',
|
||
'action.preview': 'Preview',
|
||
'action.assign': 'Assign',
|
||
'action.select': 'Select',
|
||
'action.view': 'View',
|
||
'action.print': 'Print',
|
||
'action.generate': 'Generate',
|
||
'action.finalize': 'Finalize',
|
||
'action.override': 'Override',
|
||
'action.log_entry': 'Log Entry',
|
||
'action.create_assessment': 'Create Assessment',
|
||
'action.generate_report': 'Generate Report',
|
||
|
||
// Auth
|
||
'auth.login': 'Sign In',
|
||
'auth.register': 'Sign Up',
|
||
'auth.logout': 'Sign Out',
|
||
'auth.email': 'Email',
|
||
'auth.password': 'Password',
|
||
'auth.firstName': 'First Name',
|
||
'auth.lastName': 'Last Name',
|
||
'auth.login_title': 'Sign in to CompetenceTrack',
|
||
'auth.register_title': 'Create a new account',
|
||
'auth.login_subtitle': 'Enter your credentials',
|
||
'auth.register_subtitle': 'Create a free account',
|
||
'auth.no_account': 'No account yet?',
|
||
'auth.has_account': 'Already have an account?',
|
||
'auth.error.invalid_credentials': 'Invalid credentials',
|
||
'auth.error.email_exists': 'Email already registered',
|
||
'auth.error.generic': 'An error occurred',
|
||
'auth.welcome_back': 'Welcome back',
|
||
|
||
// Form labels
|
||
'label.name': 'Name',
|
||
'label.date': 'Date',
|
||
'label.note': 'Note',
|
||
'label.score': 'Score',
|
||
'label.level': 'Level',
|
||
'label.subject': 'Subject',
|
||
'label.class': 'Class',
|
||
'label.grade': 'Grade Level',
|
||
'label.type': 'Type',
|
||
'label.weight': 'Weight',
|
||
'label.max_score': 'Max Score',
|
||
'label.description': 'Description',
|
||
'label.school_type': 'School Type',
|
||
'label.period': 'Period',
|
||
'label.school_year': 'School Year',
|
||
'label.status': 'Status',
|
||
'label.category': 'Category',
|
||
'label.competency': 'Competency',
|
||
'label.mastery': 'Mastery Level',
|
||
'label.weight_percent': 'Weight (%)',
|
||
'label.source_type': 'Source Type',
|
||
'label.target': 'Target',
|
||
'label.scale_definition': 'Scale Definition',
|
||
'label.scheme_type': 'Scheme Type',
|
||
'label.student_count': 'Student Count',
|
||
'label.external_id': 'External ID',
|
||
'label.date_of_birth': 'Date of Birth',
|
||
'label.first_name': 'First Name',
|
||
'label.last_name': 'Last Name',
|
||
|
||
// Status labels
|
||
'status.active': 'Active',
|
||
'status.draft': 'Draft',
|
||
'status.final': 'Final',
|
||
'status.pending': 'Pending',
|
||
'status.processing': 'Processing',
|
||
'status.completed': 'Completed',
|
||
'status.failed': 'Failed',
|
||
'status.enrolled': 'Enrolled',
|
||
'status.not_yet_assessed': 'Not yet assessed',
|
||
|
||
// Subject names
|
||
'subject.math': 'Math',
|
||
'subject.german': 'German',
|
||
'subject.english': 'English',
|
||
'subject.science': 'Science',
|
||
'subject.art': 'Art',
|
||
'subject.music': 'Music',
|
||
'subject.physical_ed': 'Physical Education',
|
||
'subject.history': 'History',
|
||
'subject.geography': 'Geography',
|
||
'subject.religion': 'Religion',
|
||
|
||
// School types
|
||
'school_type.elementary': 'Elementary',
|
||
'school_type.middle': 'Middle School',
|
||
'school_type.gymnasium': 'Gymnasium',
|
||
'school_type.other': 'Other',
|
||
|
||
// Mastery levels
|
||
'mastery.1': 'not yet achieved',
|
||
'mastery.2': 'developing',
|
||
'mastery.3': 'proficient',
|
||
'mastery.4': 'advanced',
|
||
'mastery.level_1': 'Level 1 — not yet achieved',
|
||
'mastery.level_2': 'Level 2 — developing',
|
||
'mastery.level_3': 'Level 3 — proficient',
|
||
'mastery.level_4': 'Level 4 — advanced',
|
||
|
||
// Assessment types
|
||
'assessment_type.test': 'Test',
|
||
'assessment_type.oral': 'Oral Exam',
|
||
'assessment_type.project': 'Project',
|
||
'assessment_type.homework': 'Homework',
|
||
'assessment_type.other': 'Other',
|
||
|
||
// Grading scheme types
|
||
'grading_type.numeric': 'Numeric Grade',
|
||
'grading_type.verbal': 'Verbal Feedback',
|
||
'grading_type.combined': 'Combined',
|
||
|
||
// Grading weight source types
|
||
'weight_source.learning_progress': 'Learning Progress',
|
||
'weight_source.assessment': 'Assessment',
|
||
|
||
// Dashboard
|
||
'dashboard.welcome': 'Welcome',
|
||
'dashboard.overview': 'Overview',
|
||
'dashboard.classes': 'My Classes',
|
||
'dashboard.recent_activity': 'Recent Activity',
|
||
'dashboard.students_attention': 'Students Needing Attention',
|
||
'dashboard.stats': 'Statistics',
|
||
'dashboard.total_students': 'Total Students',
|
||
'dashboard.total_entries': 'Total Entries',
|
||
'dashboard.total_assessments': 'Total Assessments',
|
||
'dashboard.total_classes': 'Total Classes',
|
||
'dashboard.total_reports': 'Total Reports',
|
||
'dashboard.quick_actions': 'Quick Actions',
|
||
'dashboard.quick_actions_subtitle': 'Common actions within easy reach',
|
||
'dashboard.quick_action_attendance': 'Attendance',
|
||
'dashboard.quick_action_attendance_desc': 'Record an attendance session for a class.',
|
||
'dashboard.quick_action_assessment_desc': 'Create a new assessment.',
|
||
'dashboard.quick_action_report_desc': 'Generate a report card or progress report.',
|
||
'dashboard.quick_action_parent': 'Parent Talk',
|
||
'dashboard.quick_action_parent_desc': 'Compose or reply to a parent message.',
|
||
'dashboard.no_classes': 'No classes yet. Create a class to get started.',
|
||
'dashboard.no_recent_activity': 'No recent activity.',
|
||
'dashboard.no_students_attention': 'All students are on track!',
|
||
'dashboard.student_name': 'Student',
|
||
'dashboard.average_mastery': 'Average Mastery',
|
||
'dashboard.class_name': 'Class',
|
||
'dashboard.competency_name': 'Competency',
|
||
'dashboard.entry_date': 'Date',
|
||
'dashboard.mastery_level': 'Mastery Level',
|
||
'dashboard.teacher': 'Teacher',
|
||
'dashboard.this_week': 'This Week',
|
||
'dashboard.all_time': 'All Time',
|
||
|
||
// Classes view
|
||
'classes.title': 'Classes & Students',
|
||
'classes.select_class': 'Select a class',
|
||
'classes.class_details': 'Class Details',
|
||
'classes.student_roster': 'Student Roster',
|
||
'classes.add_student': 'Add Student',
|
||
'classes.add_student_title': 'Add New Student',
|
||
'classes.enroll_student': 'Enroll Student',
|
||
'classes.enroll_student_title': 'Enroll Existing Student',
|
||
'classes.assign_template': 'Assign Competency Template',
|
||
'classes.create_class': 'Create New Class',
|
||
'classes.no_students': 'No students in this class.',
|
||
'classes.no_classes': 'No classes available.',
|
||
'classes.enrollment_status': 'Enrollment Status',
|
||
'classes.entry_count': 'Entries',
|
||
'classes.teacher_list': 'Teachers',
|
||
'classes.homeroom_teacher': 'Homeroom Teacher',
|
||
'classes.subject_teacher': 'Subject Teacher',
|
||
'classes.grade_level': 'Grade Level',
|
||
'classes.school_year_label': 'School Year',
|
||
|
||
// Competency grid view
|
||
'competencies.title': 'Competency Grids',
|
||
'competencies.template_library': 'Template Library',
|
||
'competencies.template_details': 'Template Details',
|
||
'competencies.assign_to_class': 'Assign to Class',
|
||
'competencies.categories': 'Categories',
|
||
'competencies.competencies': 'Competencies',
|
||
'competencies.mastery_levels': 'Mastery Levels',
|
||
'competencies.no_templates': 'No competency templates available.',
|
||
'competencies.no_categories': 'No categories defined.',
|
||
'competencies.grid_structure': 'Grid Structure',
|
||
'competencies.assignments': 'Assignments',
|
||
'competencies.quick_guide_title': 'Quick Guide',
|
||
'competencies.quick_guide_subtitle': 'Overview of your competency template library',
|
||
'competencies.total_templates': 'Templates',
|
||
'competencies.total_categories': 'Categories',
|
||
'competencies.total_competencies': 'Competencies',
|
||
'competencies.by_subject_breakdown': 'Competencies by Subject',
|
||
'competencies.no_subjects_yet': 'No subjects assigned yet.',
|
||
'competencies.recent_templates': 'Template Library',
|
||
'competencies.no_recent_templates': 'No templates created yet.',
|
||
'competencies.no_subject': 'No subject',
|
||
'competencies.filter_school_type': 'School Type',
|
||
'competencies.filter_subject': 'Subject',
|
||
'competencies.filter_grade': 'Grade Level',
|
||
'competencies.global_template': 'Global Template',
|
||
'competencies.school_template': 'School Template',
|
||
'competencies.assignment_exists': 'Template already assigned',
|
||
'competencies.assignment_success': 'Template assigned successfully',
|
||
'competencies.create_template': 'Create New Template',
|
||
'competencies.version': 'Version',
|
||
'competencies.grade_range': 'Grade {min}–{max}',
|
||
'competencies.used_in_classes': 'Used in {count} class(es)',
|
||
|
||
// Progress entries view
|
||
'progress.title': 'Progress Entries',
|
||
'progress.select_class': 'Select Class',
|
||
'progress.select_student': 'Select Student',
|
||
'progress.log_entry': 'Log Entry',
|
||
'progress.log_entry_title': 'Log New Progress Entry',
|
||
'progress.timeline': 'Timeline',
|
||
'progress.student_timeline': 'Student Timeline',
|
||
'progress.no_entries': 'No entries available.',
|
||
'progress.entry_saved': 'Entry saved',
|
||
'progress.bulk_saved': 'Entries saved',
|
||
'progress.select_competency': 'Select Competency',
|
||
'progress.mastery_level': 'Mastery Level',
|
||
'progress.note_optional': 'Note (optional)',
|
||
'progress.date': 'Date',
|
||
'progress.category': 'Category',
|
||
'progress.competency': 'Competency',
|
||
'progress.competency_code': 'Code',
|
||
'progress.no_class_selected': 'Select a class to see the student roster.',
|
||
'progress.no_students': 'No students in this class.',
|
||
'progress.no_template_assigned': 'No competency template assigned for this subject. Assign a template first.',
|
||
'progress.select_subject': 'Select Subject',
|
||
'progress.empty_step_title': 'Record Learning Progress',
|
||
'progress.empty_step_subtitle': 'Choose a class and subject to document individual learning progress.',
|
||
'progress.how_it_works_title': 'How it works',
|
||
'progress.how_it_works_subtitle': 'Three steps to your first progress entry',
|
||
'progress.empty_step1_title': 'Pick a class',
|
||
'progress.empty_step1_desc': 'Choose a class from the dropdown above.',
|
||
'progress.empty_step2_title': 'Pick a subject',
|
||
'progress.empty_step2_desc': 'Pick the subject whose competencies you want to assess.',
|
||
'progress.empty_step3_title': 'Record progress',
|
||
'progress.empty_step3_desc': 'Click a competency and enter the mastery level (1–4).',
|
||
|
||
// Competence flower view
|
||
'flower.title': 'Competence Flower',
|
||
'flower.select_class': 'Select Class',
|
||
'flower.select_student': 'Select Student',
|
||
'flower.select_subject': 'Select Subject',
|
||
'flower.radar_chart': 'Competence Flower',
|
||
'flower.breakdown': 'Breakdown',
|
||
'flower.category': 'Category',
|
||
'flower.average_mastery': 'Average Mastery',
|
||
'flower.assessed': 'Assessed',
|
||
'flower.total': 'Total',
|
||
'flower.export_chart': 'Export Chart',
|
||
'flower.no_data': 'Select class, subject, and student to view the competence flower.',
|
||
'flower.no_progress': 'No progress data for this student.',
|
||
'flower.petal_legend': 'Each axis shows the average mastery level per category',
|
||
|
||
// Assessments view
|
||
'assessments.title': 'Assessments',
|
||
'assessments.list': 'Assessments',
|
||
'assessments.create': 'Create Assessment',
|
||
'assessments.create_title': 'Create New Assessment',
|
||
'assessments.bulk_grading': 'Bulk Grading',
|
||
'assessments.bulk_grading_title': 'Grading for {title}',
|
||
'assessments.select_class': 'Select Class',
|
||
'assessments.select_subject': 'Select Subject',
|
||
'assessments.no_assessments': 'No assessments available.',
|
||
'assessments.results_count': 'Results',
|
||
'assessments.linked_competencies': 'Linked Competencies',
|
||
'assessments.enter_scores': 'Enter Scores',
|
||
'assessments.scores_saved': 'Scores saved',
|
||
'assessments.no_students': 'No students available.',
|
||
'assessments.assessment_type': 'Assessment Type',
|
||
'assessments.max_score': 'Max Score',
|
||
'assessments.weight': 'Weight',
|
||
'assessments.link_competency': 'Link Competency',
|
||
|
||
// Grading view
|
||
'grading.title': 'Grading',
|
||
'grading.schemes': 'Grading Schemes',
|
||
'grading.weight_rules': 'Weight Rules',
|
||
'grading.computed_grades': 'Computed Grades',
|
||
'grading.breakdown': 'Grade Breakdown',
|
||
'grading.create_scheme': 'Create Scheme',
|
||
'grading.create_scheme_title': 'Create New Grading Scheme',
|
||
'grading.add_weight_rule': 'Add Weight Rule',
|
||
'grading.override_grade': 'Override Grade',
|
||
'grading.override_reason': 'Override Reason',
|
||
'grading.compute_grades': 'Compute Grades',
|
||
'grading.grades_computed': 'Grades computed',
|
||
'grading.no_schemes': 'No grading schemes available.',
|
||
'grading.no_grades': 'No grades computed yet.',
|
||
'grading.select_class': 'Select Class',
|
||
'grading.select_subject': 'Select Subject',
|
||
'grading.select_scheme': 'Select Scheme',
|
||
'grading.student': 'Student',
|
||
'grading.computed_value': 'Computed Value',
|
||
'grading.finalized': 'Finalized',
|
||
'grading.overridden': 'Overridden',
|
||
'grading.period': 'Period',
|
||
|
||
// Reports view
|
||
'reports.title': 'Reports',
|
||
'reports.generate': 'Generate Report',
|
||
'reports.generate_title': 'Generate New Report',
|
||
'reports.preview': 'Report Preview',
|
||
'reports.export_pdf': 'Export as PDF',
|
||
'reports.bulk_generate': 'Bulk Generate for Class',
|
||
'reports.select_student': 'Select Student',
|
||
'reports.select_class': 'Select Class',
|
||
'reports.draft_reports': 'Draft Reports',
|
||
'reports.final_reports': 'Finalized Reports',
|
||
'reports.no_reports': 'No reports available.',
|
||
'reports.sections': 'Report Sections',
|
||
'reports.generated_by': 'Generated by',
|
||
'reports.generated_at': 'Generated at',
|
||
'reports.includes_grades': 'Includes Grades',
|
||
'reports.finalize_report': 'Finalize Report',
|
||
'reports.edit_section': 'Edit Section',
|
||
'reports.section_text': 'Text',
|
||
'reports.category_name': 'Category',
|
||
'reports.report_saved': 'Report saved',
|
||
'reports.report_finalized': 'Report finalized',
|
||
'reports.select_period': 'Select Period',
|
||
'reports.empty_subtitle': 'Select a class to create and manage reports.',
|
||
|
||
// Empty states
|
||
'empty.no_data': 'No data available.',
|
||
'empty.no_results': 'No results.',
|
||
'empty.no_items': 'No items.',
|
||
'empty.add_first': 'Add the first item to get started.',
|
||
'empty.select_class': 'Select a class from the navigation.',
|
||
'empty.loading': 'Loading...',
|
||
|
||
// Error messages
|
||
'error.generic': 'An error occurred.',
|
||
'error.network': 'Network error. Please try again.',
|
||
'error.not_authenticated': 'You are not authenticated.',
|
||
'error.forbidden': 'You do not have permission for this action.',
|
||
'error.not_found': 'The requested resource was not found.',
|
||
'error.validation': 'Please check your inputs.',
|
||
'error.unexpected': 'An unexpected error occurred.',
|
||
|
||
// Toast messages
|
||
'toast.saved': 'Saved',
|
||
'toast.created': 'Created',
|
||
'toast.deleted': 'Deleted',
|
||
'toast.updated': 'Updated',
|
||
'toast.error': 'Error',
|
||
'toast.success': 'Success',
|
||
'toast.info': 'Info',
|
||
'toast.warning': 'Warning',
|
||
|
||
// Theme
|
||
'theme.light': 'Light',
|
||
'theme.dark': 'Dark',
|
||
'theme.system': 'System',
|
||
'theme.toggle': 'Toggle theme',
|
||
|
||
// Language
|
||
'language.de': 'German',
|
||
'language.en': 'English',
|
||
'language.toggle': 'Switch language',
|
||
|
||
// Role
|
||
'role.teacher': 'Teacher',
|
||
'role.school_admin': 'School Admin',
|
||
'role.vice_principal': 'Vice Principal',
|
||
'role.super_admin': 'Super Admin',
|
||
|
||
// Assessment bulk grading
|
||
'assessments.save_all': 'Save All',
|
||
'assessments.score_invalid': 'Score must be between 0 and {max}',
|
||
'assessments.score_out_of_range': 'Out of range',
|
||
'assessments.mastery_buttons': 'Mastery Level',
|
||
'assessments.students_count': '{count} students',
|
||
'assessments.validation_error': 'Please check your inputs',
|
||
|
||
// Grading enhancements
|
||
'grading.scale_reference': 'Grading Scale Reference',
|
||
'grading.grade_good': 'Good',
|
||
'grading.grade_ok': 'Satisfactory',
|
||
'grading.grade_needs_improvement': 'Needs Improvement',
|
||
'grading.override_title': 'Override Grade',
|
||
'grading.override_student': 'Student',
|
||
'grading.override_computed': 'Computed Grade',
|
||
'grading.override_new': 'New Grade',
|
||
'grading.override_justification': 'Justification (required)',
|
||
'grading.override_justification_required': 'Justification is required',
|
||
'grading.override_saved': 'Grade overridden',
|
||
'grading.weight_breakdown': 'Weight Breakdown',
|
||
'grading.weight_progress': 'Progress',
|
||
|
||
// Report narrative generation
|
||
'reports.generating': 'Generating report...',
|
||
'reports.narrative_intro': 'Introduction',
|
||
'reports.narrative_competency': 'Competency Area',
|
||
'reports.narrative_summary': 'Summary',
|
||
'reports.download_pdf': 'Download as PDF',
|
||
'reports.pdf_coming_soon': 'PDF export will be available in a future version.',
|
||
'reports.edit_sections': 'Edit Sections',
|
||
'reports.section_edited': 'Section updated',
|
||
'reports.generate_narrative': 'Generate Report Text',
|
||
'reports.includes_grades_label': 'Include grades',
|
||
|
||
// Onboarding checklist
|
||
'onboarding.title': 'Getting Started',
|
||
'onboarding.subtitle': 'Follow these steps to set up CompetenceTrack',
|
||
'onboarding.step_create_class': 'Create your first class',
|
||
'onboarding.step_assign_grid': 'Assign a competency grid',
|
||
'onboarding.step_add_students': 'Add students',
|
||
'onboarding.step_log_entry': 'Log your first entry',
|
||
'onboarding.step_create_class_desc': 'Create a class to manage students.',
|
||
'onboarding.step_assign_grid_desc': 'Assign a competency grid to track competencies.',
|
||
'onboarding.step_add_students_desc': 'Add students to your class.',
|
||
'onboarding.step_log_entry_desc': 'Record a student\'s learning progress.',
|
||
'onboarding.all_set': 'You\'re all set!',
|
||
'onboarding.all_set_desc': 'You\'ve completed all setup steps. Good luck!',
|
||
'onboarding.progress': '{completed} of {total} steps completed',
|
||
'onboarding.go_to_classes': 'Go to Classes',
|
||
'onboarding.go_to_grids': 'Go to Competency Grids',
|
||
'onboarding.go_to_progress': 'Go to Progress',
|
||
|
||
// Student profile
|
||
'student.profile': 'Student Profile',
|
||
'student.quick_stats': 'Quick Stats',
|
||
'student.total_entries': 'Total entries',
|
||
'student.avg_mastery': 'Average mastery',
|
||
'student.recent_entries': 'Recent entries',
|
||
'student.view_flower': 'View Competence Flower',
|
||
'student.class': 'Class',
|
||
'student.date_of_birth': 'Date of Birth',
|
||
|
||
// Template assignment flow
|
||
'classes.assign_template_title': 'Assign Competency Template',
|
||
'classes.assign_step1': '1. Select Subject',
|
||
'classes.assign_step2': '2. Select Template',
|
||
'classes.assign_step3': '3. Confirm Assignment',
|
||
'classes.assign_filtered': 'Filtered by school type and grade level',
|
||
'classes.assign_confirm': 'Confirm Assignment',
|
||
'classes.assign_review': 'Review',
|
||
'classes.assign_subject': 'Subject',
|
||
'classes.assign_no_templates': 'No matching templates found.',
|
||
|
||
// Footer
|
||
'footer.copyright': 'CompetenceTrack — Free School Software',
|
||
'footer.version': 'Version 1.0',
|
||
'footer.oss': 'Open Source',
|
||
'sidebar.eco_message': 'Save paper, protect the environment',
|
||
'dashboard.env_tip_title': 'Eco Tip',
|
||
'dashboard.env_tip_text': 'Digital competency records save paper and protect the environment.',
|
||
'settings.demo_data_title': 'Demo Data',
|
||
'settings.demo_data_desc': 'Demo data is auto-generated and can be deleted at any time.',
|
||
'settings.demo_record_count': 'Records',
|
||
'settings.demo_delete_all_data': 'Delete All Demo Data',
|
||
'settings.demo_delete_confirm_data': 'Really delete all demo data (progress entries, assessments, reports)? Demo accounts will remain.',
|
||
'settings.demo_data_deleted': 'Demo data deleted',
|
||
'settings.env_tip': 'Save paper, protect the environment — digital records instead of printing.',
|
||
|
||
// New styling keys
|
||
'dashboard.start_here': 'Start here!',
|
||
'dashboard.greeting_morning': 'Good morning',
|
||
'dashboard.greeting_afternoon': 'Good afternoon',
|
||
'dashboard.greeting_evening': 'Good evening',
|
||
'dashboard.school_branding': 'School Profile',
|
||
'dashboard.school_branding_desc': 'Your school at a glance',
|
||
'dashboard.competency_progress': 'Competency Progress',
|
||
'dashboard.competency_progress_desc': 'Current development of competency levels',
|
||
'dashboard.paper_saved_pages': 'pages',
|
||
'dashboard.paper_saved_trees': 'trees saved',
|
||
'dashboard.paper_saved_co2': 'kg CO2 saved',
|
||
'dashboard.daily_tip': 'Tip of the day',
|
||
'dashboard.class_overview_grid': 'Class Overview',
|
||
'dashboard.class_overview_grid_desc': 'Quick access to all classes',
|
||
'dashboard.activity_timeline': 'Activity Timeline',
|
||
'dashboard.activity_timeline_desc': 'Latest entries over time',
|
||
'dashboard.updated_at': 'Updated',
|
||
'date.today': 'Today',
|
||
'date.yesterday': 'Yesterday',
|
||
'date.days_ago': '{count} days ago',
|
||
'date.weeks_ago': '{count} weeks ago',
|
||
'progress.entries': 'entries',
|
||
'competencies.expand_all': 'Expand all',
|
||
'competencies.collapse_all': 'Collapse all',
|
||
'flower.class_average': 'Class Average',
|
||
'auth.mission_title': 'Competency-based assessment for everyone',
|
||
'auth.feature_competencies': 'Competency grids & learning progress',
|
||
'auth.feature_student_centered': 'Student-centered assessment',
|
||
'auth.feature_open_source': 'Free & Open-Source Software',
|
||
'grading.click_compute': 'Click "Compute Grades" to start',
|
||
// New styling keys (round 2)
|
||
'header.select_year': 'School Year',
|
||
'header.notifications': 'Activity',
|
||
'auth.feature_reports': 'Reports & Transcripts',
|
||
'auth.feature_flower': 'Competence Flower',
|
||
'auth.feature_data_security': 'Data Security & Privacy',
|
||
'flower.hide_average': 'Hide Average',
|
||
'flower.show_average': 'Show Average',
|
||
'flower.download_png': 'As PNG',
|
||
'flower.compare_with': 'Compare with',
|
||
'flower.compare_clear': 'Clear comparison',
|
||
'flower.compare_legend': 'Comparison',
|
||
'grading.grade_distribution': 'Grade Distribution',
|
||
'grading.trend_title': 'Grade Trend',
|
||
'grading.trend_desc': 'Average grade development over time',
|
||
'grading.trend_average': 'Class average',
|
||
|
||
// Navigation (new view)
|
||
'nav.settings': 'Settings',
|
||
|
||
// Settings view
|
||
'settings.title': 'Settings & Administration',
|
||
'settings.tab_school': 'School Info',
|
||
'settings.tab_years': 'School Years',
|
||
'settings.tab_subjects': 'Subjects',
|
||
'settings.tab_audit': 'Audit Log',
|
||
'settings.tab_data': 'Data Management',
|
||
'settings.school_name': 'School Name',
|
||
'settings.school_type': 'School Type',
|
||
'settings.school_country': 'Country',
|
||
'settings.school_timezone': 'Timezone',
|
||
'settings.school_address': 'Address',
|
||
'settings.school_saved': 'School info saved',
|
||
'settings.year_label': 'Label',
|
||
'settings.year_start': 'Start Date',
|
||
'settings.year_end': 'End Date',
|
||
'settings.year_created': 'School year created',
|
||
'settings.year_classes': 'Classes',
|
||
'settings.year_enrollments': 'Enrollments',
|
||
'settings.subject_name': 'Subject Name',
|
||
'settings.subject_grade_min': 'Min Grade Level',
|
||
'settings.subject_grade_max': 'Max Grade Level',
|
||
'settings.subject_created': 'Subject created',
|
||
'settings.subject_updated': 'Subject updated',
|
||
'settings.subject_deleted': 'Subject deleted',
|
||
'settings.subject_global': 'Global',
|
||
'settings.subject_school': 'School-specific',
|
||
'settings.audit_title': 'Audit Log',
|
||
'settings.audit_action': 'Action',
|
||
'settings.audit_entity': 'Entity',
|
||
'settings.audit_actor': 'Actor',
|
||
'settings.audit_timestamp': 'Timestamp',
|
||
'settings.audit_filter_action': 'Filter action',
|
||
'settings.audit_filter_date_from': 'From',
|
||
'settings.audit_filter_date_to': 'To',
|
||
'settings.audit_all_actions': 'All actions',
|
||
'settings.audit_no_entries': 'No audit entries found',
|
||
'settings.data_title': 'Data Management & GDPR',
|
||
'settings.data_export_csv': 'CSV Export',
|
||
'settings.data_export_students': 'Students List',
|
||
'settings.data_export_progress': 'Progress Entries',
|
||
'settings.data_export_assessments': 'Assessments',
|
||
'settings.data_export_grades': 'Grades',
|
||
'settings.data_export_download': 'Download CSV',
|
||
'settings.data_export_started': 'Export started',
|
||
'settings.data_erasure': 'Data Erasure (GDPR)',
|
||
'settings.data_erasure_desc': 'Under GDPR, you can request the deletion of personal data.',
|
||
'settings.data_erasure_request': 'Request Erasure',
|
||
'settings.data_erasure_requested': 'Erasure requested',
|
||
'settings.data_erasure_scope': 'Scope',
|
||
'settings.data_erasure_scope_student': 'Single Student',
|
||
'settings.data_erasure_scope_class': 'Class',
|
||
'settings.data_erasure_scope_school': 'Entire School',
|
||
'settings.data_erasure_confirm': 'Confirm Erasure',
|
||
|
||
// PDF export
|
||
'pdf.print_report': 'Print Report',
|
||
'pdf.print_view': 'Print View',
|
||
'pdf.export_pdf': 'Export PDF',
|
||
'pdf.generated': 'PDF report is being generated',
|
||
'pdf.report_title': 'Competence Report',
|
||
'pdf.student': 'Student',
|
||
'pdf.class': 'Class',
|
||
'pdf.period': 'Period',
|
||
'pdf.date': 'Date',
|
||
|
||
// CSV export
|
||
'csv.export_title': 'Export Data',
|
||
'csv.export_type': 'Export Type',
|
||
'csv.export_class': 'Class',
|
||
'csv.export_year': 'School Year',
|
||
'csv.export_success': 'CSV file exported successfully',
|
||
'csv.export_error': 'Export error',
|
||
|
||
// Notifications
|
||
'notification.title': 'Recent Activities',
|
||
'notification.progress_logged': 'Progress entry logged',
|
||
'notification.assessment_created': 'Assessment created',
|
||
'notification.grade_computed': 'Grades computed',
|
||
'notification.report_generated': 'Report generated',
|
||
'notification.preferences': 'Notification Preferences',
|
||
'notification.show_progress': 'Show progress entries',
|
||
'notification.show_assessments': 'Show assessments',
|
||
'notification.show_grades': 'Show grades',
|
||
'notification.show_reports': 'Show reports',
|
||
'notification.no_recent': 'No recent activities',
|
||
'notification.mark_read': 'Mark as read',
|
||
|
||
// School year context
|
||
'context.all_years': 'All School Years',
|
||
'context.year_selected': 'School year selected',
|
||
|
||
// User management
|
||
'settings.tab_users': 'Users',
|
||
'users.title': 'User Management',
|
||
'users.subtitle': 'Manage teachers & administrators',
|
||
'users.create_user': 'Create User',
|
||
'users.edit_user': 'Edit User',
|
||
'users.delete_user': 'Delete User',
|
||
'users.delete_confirm': 'Really deactivate this user? Access will be revoked immediately.',
|
||
'users.created': 'User account created',
|
||
'users.updated': 'User account updated',
|
||
'users.deleted': 'User account deactivated',
|
||
'users.no_users': 'No users found',
|
||
'users.role': 'Role',
|
||
'users.email': 'Email',
|
||
'users.password': 'Password',
|
||
'users.password_hint': 'At least 8 characters',
|
||
'users.assigned_classes': 'Assigned Classes',
|
||
'users.no_classes_assigned': 'No classes assigned',
|
||
'users.assign_classes': 'Assign Classes',
|
||
'users.active': 'Active',
|
||
'users.inactive': 'Inactive',
|
||
'users.count': '{count} users',
|
||
'users.last_active': 'Last active',
|
||
'users.created_at': 'Created at',
|
||
|
||
// CSV student import
|
||
'classes.import_csv': 'Import CSV',
|
||
'classes.import_csv_title': 'Import Students from CSV',
|
||
'classes.import_csv_subtitle': 'Select a CSV file with student data (firstName, lastName, dateOfBirth, externalId)',
|
||
'classes.import_csv_select_file': 'Select CSV file',
|
||
'classes.import_csv_drag': 'Drag file here or click to select',
|
||
'classes.import_csv_preview': 'Preview',
|
||
'classes.import_csv_import': 'Import',
|
||
'classes.import_csv_success': '{success} students imported successfully',
|
||
'classes.import_csv_errors': '{errors} errors during import',
|
||
'classes.import_csv_no_data': 'No data found to import',
|
||
'classes.import_csv_invalid_format': 'Invalid CSV format. Columns: firstName, lastName, dateOfBirth, externalId',
|
||
'classes.import_csv_processing': 'Importing…',
|
||
'classes.import_csv_template': 'Download template',
|
||
'classes.import_csv_file_selected': 'File selected: {name} ({rows} rows)',
|
||
'classes.import_csv_row': 'Row {n}',
|
||
'classes.import_csv_results': 'Import Results',
|
||
'classes.import_csv_done': 'Done',
|
||
'classes.import_csv_external_id': 'External ID',
|
||
'classes.import_csv_first_name': 'First Name',
|
||
'classes.import_csv_last_name': 'Last Name',
|
||
'classes.import_csv_dob': 'Date of Birth',
|
||
|
||
// Student detail view
|
||
'student_detail.title': 'Student Profile',
|
||
'student_detail.back': 'Back',
|
||
'student_detail.age': 'Age',
|
||
'student_detail.years': 'years',
|
||
'student_detail.school': 'School',
|
||
'student_detail.class': 'Class',
|
||
'student_detail.external_id': 'External ID',
|
||
'student_detail.date_of_birth': 'Date of Birth',
|
||
'student_detail.quick_stats': 'Quick Stats',
|
||
'student_detail.total_entries': 'Progress entries',
|
||
'student_detail.avg_mastery': 'Avg mastery',
|
||
'student_detail.latest_grade': 'Latest grade',
|
||
'student_detail.competence_flower': 'Competence Flower',
|
||
'student_detail.progress_timeline': 'Progress Timeline',
|
||
'student_detail.assessment_results': 'Assessment Results',
|
||
'student_detail.computed_grades': 'Computed Grades',
|
||
'student_detail.reports': 'Reports',
|
||
'student_detail.no_data': 'No data available',
|
||
'student_detail.no_progress_entries': 'No progress entries yet',
|
||
'student_detail.no_assessments': 'No assessment results',
|
||
'student_detail.no_grades': 'No computed grades',
|
||
'student_detail.no_reports': 'No reports generated',
|
||
'student_detail.no_flower': 'No competence flower available',
|
||
'student_detail.no_flower_hint': 'Select a class & subject in the Competence Flower view',
|
||
'student_detail.view_report': 'View Report',
|
||
'student_detail.view_flower': 'Full Competence Flower',
|
||
'student_detail.score': 'Score',
|
||
'student_detail.mastery': 'Mastery',
|
||
'student_detail.assessment': 'Assessment',
|
||
'student_detail.date': 'Date',
|
||
'student_detail.subject': 'Subject',
|
||
'student_detail.value': 'Value',
|
||
'student_detail.value_hint': 'Values 0–4 (competency level)',
|
||
'student_detail.period': 'Period',
|
||
'student_detail.status': 'Status',
|
||
'student_detail.generated_at': 'Generated at',
|
||
'student_detail.view_progress': 'Go to Progress',
|
||
'student_detail.print_report': 'Print Report',
|
||
'student_detail.select_subject_for_flower': 'Select subject for flower',
|
||
'student_detail.flower_not_assigned': 'No template assigned for this subject in this class',
|
||
'student_detail.created_at': 'Created',
|
||
'student_detail.note': 'Note',
|
||
'student_detail.competency': 'Competency',
|
||
'student_detail.category': 'Category',
|
||
|
||
// ─── Styling polish: shared labels ──────────────────────────────
|
||
'polish.today_date': "Today's Date",
|
||
'polish.last_login': 'Last login',
|
||
'polish.last_login_never': 'First login',
|
||
'polish.class_overview': 'Class overview',
|
||
'polish.total_students': 'Total students',
|
||
'polish.total_entries': 'Total entries',
|
||
'polish.avg_mastery': 'Avg mastery',
|
||
'polish.class_health': 'Class health',
|
||
'polish.health_good': 'Good',
|
||
'polish.health_ok': 'Ok',
|
||
'polish.health_attention': 'Needs attention',
|
||
'polish.last_entry': 'Last entry',
|
||
'polish.never': '—',
|
||
'polish.search_students': 'Search students…',
|
||
'polish.competency_count': 'Competencies',
|
||
'polish.mastered': 'mastered',
|
||
'polish.mastery_distribution': 'Distribution',
|
||
'polish.todays_entries': "Today's entries",
|
||
'polish.filter_today': 'Today',
|
||
'polish.filter_week': 'This Week',
|
||
'polish.filter_month': 'This Month',
|
||
'polish.filter_all': 'All',
|
||
'polish.keyboard_hint': 'Shortcuts: 1–4 to pick mastery',
|
||
'polish.mastery_legend': 'Mastery legend',
|
||
'polish.level_1': 'Beginning',
|
||
'polish.level_2': 'Developing',
|
||
'polish.level_3': 'Secure',
|
||
'polish.level_4': 'Advanced',
|
||
'polish.progress_over_time': 'Progress over time',
|
||
'polish.vs_class_avg': 'vs. Class average',
|
||
'polish.student_value': 'Student',
|
||
'polish.class_average': 'Class average',
|
||
'polish.strengths': 'Strengths',
|
||
'polish.weaknesses': 'Areas to grow',
|
||
'polish.score_distribution': 'Score distribution',
|
||
'polish.class_avg': 'Class avg',
|
||
'polish.best_performer': 'Best performer',
|
||
'polish.needs_support': 'Needs support',
|
||
'polish.grade_stats': 'Grade statistics',
|
||
'polish.median': 'Median',
|
||
'polish.minimum': 'Min',
|
||
'polish.maximum': 'Max',
|
||
'polish.grade_trend': 'Grade trend',
|
||
'polish.grade_legend': 'Grade legend',
|
||
'polish.grade_good': 'good',
|
||
'polish.grade_satisfactory': 'satisfactory',
|
||
'polish.grade_needs_work': 'needs work',
|
||
'polish.report_completion': 'Report completion',
|
||
'polish.last_edited': 'Last edited',
|
||
'polish.workflow_draft': 'Draft',
|
||
'polish.workflow_review': 'In Review',
|
||
'polish.workflow_published': 'Published',
|
||
'polish.report_logo': 'School logo',
|
||
'polish.quick_stats': 'Quick stats',
|
||
'polish.total_users': 'Users',
|
||
'polish.total_subjects': 'Subjects',
|
||
'polish.total_years': 'School years',
|
||
'polish.audit_search': 'Search audit log…',
|
||
'polish.all_actions': 'All actions',
|
||
'polish.create_action': 'Create',
|
||
'polish.update_action': 'Update',
|
||
'polish.delete_action': 'Delete',
|
||
'polish.login_action': 'Login',
|
||
'polish.student_journey': 'Student journey',
|
||
'polish.competency_grid': 'Competency grid',
|
||
'polish.recent_achievements': 'Recent achievements',
|
||
'polish.teacher_notes': 'Teacher notes',
|
||
'polish.no_notes': 'No notes yet',
|
||
'polish.demo_credentials': 'Demo credentials',
|
||
'polish.demo_email': 'demo@competencetrack.org',
|
||
'polish.demo_password': 'Demo2025!',
|
||
'polish.demo_hint': 'Click to auto-fill the demo login',
|
||
'polish.remember_me': 'Remember me',
|
||
'polish.forgot_password': 'Forgot password?',
|
||
'polish.use_demo': 'Use demo credentials',
|
||
'polish.show_password': 'Show password',
|
||
'polish.hide_password': 'Hide password',
|
||
'polish.breadcrumb_home': 'Home',
|
||
'polish.quick_search': 'Quick search',
|
||
'polish.search_placeholder': 'Search students, classes or competencies…',
|
||
'polish.no_results': 'No results',
|
||
'polish.help': 'Help',
|
||
'polish.nav_setup': 'Setup',
|
||
'polish.nav_teaching': 'Teaching',
|
||
'polish.nav_analysis': 'Analysis',
|
||
'polish.students_found': '{count} students found',
|
||
'polish.class_avg_label': 'Class avg',
|
||
'polish.male': 'm',
|
||
'polish.female': 'f',
|
||
'polish.diverse': 'd',
|
||
'polish.print_preview': 'Print preview',
|
||
'polish.report_header': 'School Report',
|
||
|
||
// ─── Analytics view ───────────────────────────────────────────────
|
||
'nav.analytics': 'Analytics',
|
||
'analytics.title': 'Progress Analytics',
|
||
'analytics.subtitle': 'Comprehensive analysis of competency development across time, classes and competencies',
|
||
'analytics.filters': 'Filters',
|
||
'analytics.select_class': 'Select class',
|
||
'analytics.all_classes': 'All classes',
|
||
'analytics.select_subject': 'Select subject',
|
||
'analytics.all_subjects': 'All subjects',
|
||
'analytics.date_range': 'Date range',
|
||
'analytics.range_30': '30 days',
|
||
'analytics.range_90': '90 days',
|
||
'analytics.range_180': '180 days',
|
||
'analytics.range_365': '1 year',
|
||
'analytics.range_all': 'All time',
|
||
'analytics.mastery_trend': 'Mastery Trend Over Time',
|
||
'analytics.mastery_trend_desc': 'Average mastery level per week',
|
||
'analytics.class_comparison': 'Class Comparison',
|
||
'analytics.class_comparison_desc': 'Average mastery per class for the selected subject',
|
||
'analytics.mastery_distribution': 'Mastery Distribution',
|
||
'analytics.mastery_distribution_desc': 'Distribution of recorded mastery levels (1–4)',
|
||
'analytics.top_competencies': 'Top Competencies',
|
||
'analytics.bottom_competencies': 'Competencies Needing Support',
|
||
'analytics.top_bottom_desc': 'Top 5 / Bottom 5 by average mastery',
|
||
'analytics.activity_heatmap': 'Activity Heatmap',
|
||
'analytics.activity_heatmap_desc': 'Number of progress entries per day (last 90 days)',
|
||
'analytics.no_data': 'No data for the selected filters',
|
||
'analytics.no_data_hint': 'Select a class or subject to view analytics',
|
||
'analytics.entry_count': 'Entries',
|
||
'analytics.avg_mastery': 'Avg mastery',
|
||
'analytics.student_count': 'Students',
|
||
'analytics.level': 'Level',
|
||
'analytics.count': 'Count',
|
||
'analytics.share': 'Share',
|
||
'analytics.week': 'Wk',
|
||
'analytics.today': 'Today',
|
||
'analytics.less': 'less',
|
||
'analytics.more': 'more',
|
||
'analytics.refresh': 'Refresh',
|
||
'analytics.no_competencies': 'No competencies with entries found',
|
||
'analytics.no_classes': 'No classes with entries found',
|
||
|
||
// ─── Mastery Matrix view ──────────────────────────────────────────
|
||
'nav.matrix': 'Mastery Matrix',
|
||
'matrix.title': 'Mastery Matrix',
|
||
'matrix.subtitle': 'Students × competencies — color-coded mastery overview',
|
||
'matrix.select_class': 'Select class',
|
||
'matrix.select_subject': 'Select subject',
|
||
'matrix.no_template': 'No competency template assigned for this class / subject',
|
||
'matrix.no_template_hint': 'Assign a template in the Classes view',
|
||
'matrix.no_students': 'No students enrolled in this class',
|
||
'matrix.entry_count_short': 'E',
|
||
'matrix.legend': 'Legend',
|
||
'matrix.legend_unassessed': 'Unassessed',
|
||
'matrix.legend_level_1': 'Level 1',
|
||
'matrix.legend_level_2': 'Level 2',
|
||
'matrix.legend_level_3': 'Level 3',
|
||
'matrix.legend_level_4': 'Level 4',
|
||
'matrix.row_avg': 'Student avg',
|
||
'matrix.col_avg': 'Class avg',
|
||
'matrix.entries_for': 'Entries for',
|
||
'matrix.no_entries_for': 'No entries for this competency',
|
||
'matrix.last_entry': 'Last entry',
|
||
'matrix.export_csv': 'Export CSV',
|
||
'matrix.export_success': 'Matrix exported as CSV',
|
||
'matrix.competency': 'Competency',
|
||
'matrix.student': 'Student',
|
||
'matrix.avg': 'Avg',
|
||
'matrix.entries': 'Entries',
|
||
'matrix.choose_filters': 'Please choose a class and subject',
|
||
'matrix.choose_filters_hint': 'Pick a class and subject above to view the matrix',
|
||
|
||
// ─── Teacher Notes (Student Detail) ───────────────────────────────
|
||
'teacher_notes.title': 'Teacher Notes',
|
||
'teacher_notes.subtitle': 'Private notes for teaching staff',
|
||
'teacher_notes.add': 'Add note',
|
||
'teacher_notes.add_title': 'New note',
|
||
'teacher_notes.edit_title': 'Edit note',
|
||
'teacher_notes.category': 'Category',
|
||
'teacher_notes.content': 'Content',
|
||
'teacher_notes.content_placeholder': 'Enter note…',
|
||
'teacher_notes.private': 'Private (visible to teachers only)',
|
||
'teacher_notes.created': 'Note created',
|
||
'teacher_notes.updated': 'Note updated',
|
||
'teacher_notes.deleted': 'Note deleted',
|
||
'teacher_notes.delete_confirm': 'Really delete this note?',
|
||
'teacher_notes.no_notes': 'No notes yet',
|
||
'teacher_notes.no_notes_hint': 'Notes are visible to teachers only',
|
||
'teacher_notes.count': '{count} notes',
|
||
'teacher_notes.by': 'by',
|
||
'teacher_notes.edit': 'Edit',
|
||
'teacher_notes.delete': 'Delete',
|
||
'teacher_notes.save': 'Save note',
|
||
'teacher_notes.cat_general': 'General',
|
||
'teacher_notes.cat_behavior': 'Behavior',
|
||
'teacher_notes.cat_academic': 'Academic',
|
||
'teacher_notes.cat_intervention': 'Intervention',
|
||
'teacher_notes.cat_parent_contact': 'Parent Contact',
|
||
'teacher_notes.error_min_content': 'Content cannot be empty',
|
||
'teacher_notes.you': 'You',
|
||
'teacher_notes.view_all': 'View all',
|
||
|
||
// ─── Polish round 4: additional UI strings ──────────────────────────
|
||
'polish.insights_title': 'Insights',
|
||
'polish.insight_mastery_up': 'Mastery level improved by {pct}%',
|
||
'polish.insight_mastery_down': 'Mastery level declined by {pct}%',
|
||
'polish.insight_mastery_stable': 'Mastery level is stable',
|
||
'polish.insight_top_class': 'Class {class} leads with avg {avg}',
|
||
'polish.insight_mastered_pct': '{pct}% of entries are at level 3+',
|
||
'polish.insight_peak_day': 'Most active day: {date} ({count} entries)',
|
||
'polish.insight_focus': 'Needs attention: {comp} (avg {avg})',
|
||
'polish.coverage': 'Coverage',
|
||
'polish.matrix_click_hint': 'Click a cell to view entry details',
|
||
'polish.weekly_summary': 'Weekly Summary',
|
||
'polish.this_week_vs_last': 'This week vs. last week',
|
||
'polish.this_week': 'This week',
|
||
'polish.last_week': 'Last week',
|
||
'polish.change': 'Change',
|
||
'polish.mastery_indicator': 'Mastery',
|
||
'polish.template_usage': 'classes',
|
||
'polish.filter_by_category': 'Category',
|
||
|
||
// ─── Empty state polish & shared UI strings ───────────────────────
|
||
'polish.please_choose': 'Please choose…',
|
||
'polish.label_class': 'Class',
|
||
'polish.empty_title_no_class': 'No class selected yet',
|
||
'polish.empty_subtitle_no_class': 'Choose a class above to view and manage content.',
|
||
'polish.empty_title_no_data': 'Nothing here yet',
|
||
'polish.empty_subtitle_no_data': 'Once data is available, it will appear right here.',
|
||
'polish.empty_cta_select_class': 'Select a class',
|
||
'polish.empty_title_competency_grid': 'No competency template selected',
|
||
'polish.empty_subtitle_competency_grid': 'Pick a template from the library on the left to see its structure and details.',
|
||
'polish.empty_title_flower': 'No competence flower available',
|
||
'polish.empty_subtitle_flower': 'Select class, subject and student above to see the visual competency overview.',
|
||
'polish.empty_title_progress': 'No progress entries yet',
|
||
'polish.empty_subtitle_progress': 'Choose a class and subject to record or review learning progress.',
|
||
'polish.empty_title_assessments': 'No assessments created yet',
|
||
'polish.empty_subtitle_assessments': 'Pick a class and subject above, then create your first assessment.',
|
||
'polish.empty_title_grading': 'No grading available',
|
||
'polish.empty_subtitle_grading': 'Choose a class and subject above to set up grading schemes and compute grades.',
|
||
'polish.empty_title_reports': 'No reports generated yet',
|
||
'polish.empty_subtitle_reports': 'Pick a class above to generate and manage student reports.',
|
||
'polish.empty_title_attendance': 'Track attendance',
|
||
'polish.empty_subtitle_attendance': 'Choose a class above to create attendance sessions and review statistics.',
|
||
'polish.empty_title_matrix': 'Matrix not available yet',
|
||
'polish.empty_subtitle_matrix': 'Choose a class and subject above to see the full competency matrix for all students.',
|
||
'polish.trend_up': 'Trending up',
|
||
'polish.trend_down': 'Trending down',
|
||
'polish.trend_flat': 'Stable',
|
||
'polish.this_week_bars': 'This week vs. last week',
|
||
|
||
// ─── Empty state enrichments (Round 7) ───────────────────────────────
|
||
'polish.recent_activity_title': 'Recent Activity',
|
||
'polish.recent_activity_subtitle': 'Latest learning progress across all classes',
|
||
'polish.recent_activity_loading': 'Loading activity…',
|
||
'polish.recent_activity_empty': 'No activity yet.',
|
||
'polish.grading_overview_title': 'Grading Overview',
|
||
'polish.grading_overview_subtitle': 'Grading schemes and computations for your school',
|
||
'polish.grading_total_schemes': 'Grading schemes',
|
||
'polish.grading_subjects_covered': 'Subjects covered',
|
||
'polish.grading_distribution': 'Type distribution',
|
||
'polish.grading_loading': 'Loading grading data…',
|
||
'polish.report_templates_title': 'Report Templates',
|
||
'polish.report_templates_subtitle': 'Three report types for different use cases',
|
||
'polish.report_template_draft_name': 'Draft Report',
|
||
'polish.report_template_draft_desc': 'Collect observations and texts during the semester and expand them step by step.',
|
||
'polish.report_template_final_name': 'Final Report',
|
||
'polish.report_template_final_desc': 'Finished report with narrative texts and optional grades for the report card conference.',
|
||
'polish.report_template_pdf_name': 'PDF Export',
|
||
'polish.report_template_pdf_desc': 'Print-ready version to share with parents and students.',
|
||
'polish.matrix_how_it_works_title': 'How it works',
|
||
'polish.matrix_how_it_works_subtitle': 'Three steps to the competency matrix',
|
||
'polish.matrix_step_1_title': 'Pick a class',
|
||
'polish.matrix_step_1_desc': 'Choose a class from the dropdown above.',
|
||
'polish.matrix_step_2_title': 'Pick a subject',
|
||
'polish.matrix_step_2_desc': 'Pick the subject whose competencies you want to see.',
|
||
'polish.matrix_step_3_title': 'View matrix',
|
||
'polish.matrix_step_3_desc': 'The competency matrix for all students loads automatically.',
|
||
'polish.attendance_quick_stats_title': 'Quick Stats',
|
||
'polish.attendance_quick_stats_subtitle': 'Attendance overview across all your classes',
|
||
'polish.attendance_total_sessions_month': 'Sessions this month',
|
||
'polish.attendance_avg_rate': 'Avg. attendance rate',
|
||
'polish.attendance_common_reason': 'Most common absence reason',
|
||
'polish.attendance_no_absences': 'No absences',
|
||
'polish.attendance_loading': 'Loading quick stats…',
|
||
'polish.attendance_no_classes_hint': 'No classes yet — create a class to start tracking attendance.',
|
||
|
||
// ─── Score distribution histogram (assessments) ────────────────────
|
||
'assessments.score_distribution': 'Score Distribution',
|
||
'assessments.average': 'Average',
|
||
'assessments.median': 'Median',
|
||
'assessments.range': 'Range',
|
||
'assessments.no_scores': 'No scores available',
|
||
|
||
// ─── Scratch pad (assessments) ──────────────────────────────────────
|
||
'assessments.scratch_pad': 'Scratch Pad',
|
||
'assessments.scratch_pad_title': 'Scratch Pad — {title}',
|
||
'assessments.scratch_pad_description': 'Work out your solution by hand here.',
|
||
'assessments.scratch_pad_save': 'Save Drawing',
|
||
'assessments.scratch_pad_saved': 'Drawing saved',
|
||
'assessments.scratch_pad_saving': 'Saving…',
|
||
'assessments.scratch_pad_open': 'Open Scratch Pad',
|
||
'assessments.scratch_pad_close': 'Close Scratch Pad',
|
||
'assessments.scratch_pad_resize': 'Resize',
|
||
|
||
// ─── Student journey timeline ──────────────────────────────────────
|
||
'student.journey': 'Learning Journey',
|
||
'student.journey_milestone': 'Milestone',
|
||
'student.journey_achieved': 'Competency achieved',
|
||
'student.journey_started': 'New area started',
|
||
'student.journey_above_avg': 'Above average performance',
|
||
'student.journey_grade': 'Grading completed',
|
||
'student.journey_last_30': 'Last 30 days',
|
||
'student.journey_last_90': 'Last 90 days',
|
||
'student.journey_all': 'All time',
|
||
|
||
// Student export & print
|
||
'student.export_pdf': 'Export as PDF',
|
||
'student.export_csv': 'Export as CSV',
|
||
'student.print_report': 'Print report',
|
||
'student.export_data': 'Export data',
|
||
|
||
// ─── Attendance ──────────────────────────────────────────────────────
|
||
'nav.attendance': 'Attendance',
|
||
'attendance.title': 'Attendance Tracking',
|
||
'attendance.subtitle': 'Track and analyze attendance per class and period',
|
||
'attendance.new_session': 'New Session',
|
||
'attendance.present': 'Present',
|
||
'attendance.absent': 'Absent',
|
||
'attendance.excused': 'Excused',
|
||
'attendance.late': 'Late',
|
||
'attendance.status': 'Status',
|
||
'attendance.rate': 'Attendance Rate',
|
||
'attendance.date': 'Date',
|
||
'attendance.period': 'Period',
|
||
'attendance.completed': 'Completed',
|
||
'attendance.open': 'Open',
|
||
'attendance.save_all': 'Save All',
|
||
'attendance.no_sessions': 'No attendance data',
|
||
'attendance.stats': 'Statistics',
|
||
'attendance.monthly': 'Monthly Overview',
|
||
'attendance.absences_count': 'Absences',
|
||
'attendance.late_count': 'Late arrivals',
|
||
'attendance.select_class': 'Select class',
|
||
'attendance.comment': 'Comment',
|
||
'attendance.arrival_time': 'Arrival time',
|
||
'attendance.calendar': 'Calendar',
|
||
'attendance.complete_session': 'Complete session',
|
||
'attendance.delete_session': 'Delete session',
|
||
'attendance.reopen_session': 'Reopen session',
|
||
'attendance.no_students': 'No students in this class',
|
||
'attendance.session_for': 'Attendance for',
|
||
'attendance.total_students': 'Total students',
|
||
'attendance.present_count': 'Present',
|
||
'attendance.excused_count': 'Excused',
|
||
'attendance.absent_count': 'Absent',
|
||
'attendance.late_count_short': 'Late',
|
||
'attendance.subject': 'Subject',
|
||
'competencies.select_class': 'Select a competency template from the list',
|
||
'label.teacher': 'Teachers',
|
||
'label.student': 'Student',
|
||
'label.students': 'Students',
|
||
'label.classes': 'Classes',
|
||
'label.subjects': 'Subjects',
|
||
'label.entries': 'Entries',
|
||
'label.assessments': 'Assessments',
|
||
'label.reports': 'Reports',
|
||
|
||
// ─── Lesson Planning ──────────────────────────────────────────────
|
||
'nav.lesson_plans': 'Lesson Planning',
|
||
'nav.lesson-plans': 'Lesson Planning',
|
||
'lesson.title': 'Lesson Planning',
|
||
'lesson.subtitle': 'Plan and document lessons',
|
||
'lesson.new': 'New Lesson',
|
||
'lesson.edit': 'Edit Lesson',
|
||
'lesson.empty': 'No lessons planned yet',
|
||
'lesson.empty_desc': 'Create your first lesson',
|
||
'lesson.this_week': 'This Week',
|
||
'lesson.upcoming': 'Upcoming',
|
||
'lesson.field.title': 'Title',
|
||
'lesson.field.description': 'Description',
|
||
'lesson.field.date': 'Date',
|
||
'lesson_plans.date_hint': 'Format: DD.MM.YYYY',
|
||
'lesson.field.duration': 'Duration (min)',
|
||
'lesson.field.class': 'Class',
|
||
'lesson.field.subject': 'Subject',
|
||
'lesson.field.objectives': 'Learning Objectives',
|
||
'lesson.field.materials': 'Materials',
|
||
'lesson.field.homework': 'Homework',
|
||
'lesson.field.reflection': 'Reflection',
|
||
'lesson.field.competencies': 'Linked Competencies',
|
||
'lesson.field.status': 'Status',
|
||
'lesson.status_draft': 'Draft',
|
||
'lesson.status_scheduled': 'Scheduled',
|
||
'lesson.status_completed': 'Completed',
|
||
'lesson.status_cancelled': 'Cancelled',
|
||
'lesson.filter_all': 'All',
|
||
'lesson.add_objective': 'Add objective',
|
||
'lesson.add_material': 'Add material',
|
||
'lesson.duration_min': 'min',
|
||
'lesson.agenda': 'Agenda',
|
||
'lesson.delete_confirm': 'Really delete this lesson?',
|
||
'lesson.saved': 'Lesson saved',
|
||
'lesson.deleted': 'Lesson deleted',
|
||
'lesson.no_upcoming': 'No upcoming lessons',
|
||
'lesson.no_lessons_this_week': 'No lessons scheduled this week',
|
||
'lesson.select_class_first': 'Please select a class first',
|
||
'lesson.duration_label': '{min} min',
|
||
'lesson.objective_placeholder': 'New objective…',
|
||
'lesson.material_placeholder': 'New material…',
|
||
'lesson.objectives_count': '{count} objectives',
|
||
'lesson.materials_count': '{count} materials',
|
||
|
||
// ─── Unified Calendar ─────────────────────────────────────────────────
|
||
'nav.calendar': 'Calendar',
|
||
'calendar.title': 'Calendar',
|
||
'calendar.subtitle': 'All dates and events at a glance',
|
||
'calendar.today': 'Today',
|
||
'calendar.legend': 'Legend',
|
||
'calendar.upcoming': 'Upcoming',
|
||
'calendar.upcoming_week': 'This week',
|
||
'calendar.no_events': 'No events this month',
|
||
'calendar.no_events_desc': 'Try another month',
|
||
'calendar.event_types.assessment': 'Assessment',
|
||
'calendar.event_types.attendance': 'Attendance',
|
||
'calendar.event_types.progress': 'Progress',
|
||
'calendar.event_types.report': 'Report',
|
||
'calendar.event_types.lesson': 'Lesson',
|
||
'calendar.more_events': '+{count} more',
|
||
'calendar.day_events': 'Events on {date}',
|
||
'calendar.week': 'Week',
|
||
'calendar.loading': 'Loading events…',
|
||
'calendar.error': 'Failed to load events',
|
||
'calendar.no_day_events': 'No events on this day',
|
||
'calendar.close': 'Close',
|
||
'calendar.meta.subject': 'Subject',
|
||
'calendar.meta.class': 'Class',
|
||
'calendar.meta.type': 'Type',
|
||
'calendar.meta.period': 'Period',
|
||
'calendar.meta.status': 'Status',
|
||
'calendar.meta.rate': 'Rate',
|
||
'calendar.meta.present': 'Present',
|
||
'calendar.meta.absent': 'Absent',
|
||
'calendar.meta.excused': 'Excused',
|
||
'calendar.meta.late': 'Late',
|
||
'calendar.meta.count': 'Entries',
|
||
'calendar.meta.student': 'Student',
|
||
'calendar.meta.weight': 'Weight',
|
||
'calendar.meta.max_score': 'Max score',
|
||
'calendar.meta.includes_grades': 'With grades',
|
||
'calendar.no_upcoming': 'No upcoming events this week',
|
||
|
||
// ─── Grade Trend & Risk Analysis (analytics enhancements) ────────
|
||
'analytics.grade_trend': 'Grade Trend Over Time',
|
||
'analytics.grade_trend_desc': 'Average mastery by week',
|
||
'analytics.range_12_weeks': '12 Weeks',
|
||
'analytics.range_24_weeks': '24 Weeks',
|
||
'analytics.min_standard': 'Minimum Standard',
|
||
'analytics.unique_students': 'Students',
|
||
'analytics.school_avg': 'School Avg',
|
||
'analytics.risk_analysis': 'Risk Analysis: Students Needing Support',
|
||
'analytics.risk_analysis_desc': 'Students needing support',
|
||
'analytics.risk_score': 'Risk Score',
|
||
'analytics.risk_level': 'Risk Level',
|
||
'analytics.risk_low': 'Low',
|
||
'analytics.risk_medium': 'Medium',
|
||
'analytics.risk_high': 'High',
|
||
'analytics.risk_critical': 'Critical',
|
||
'analytics.signals': 'Signals',
|
||
'analytics.signal_low_mastery': 'Low Mastery',
|
||
'analytics.signal_no_progress': 'No Recent Progress',
|
||
'analytics.signal_low_attendance': 'Low Attendance',
|
||
'analytics.signal_declining': 'Declining Trend',
|
||
'analytics.latest_mastery': 'Latest Mastery',
|
||
'analytics.last_activity': 'Last Activity',
|
||
'analytics.total_at_risk': 'Total At Risk',
|
||
'analytics.critical_count': 'Critical',
|
||
'analytics.high_count': 'High',
|
||
'analytics.avg_risk_score': 'Avg Risk Score',
|
||
'analytics.all_good': 'All students are on track!',
|
||
'analytics.filter_risk': 'Filter by risk level',
|
||
'analytics.class_avg': 'Class Avg',
|
||
'analytics.details': 'Details',
|
||
'analytics.filter_all': 'All',
|
||
'analytics.no_recent_activity': 'No activity',
|
||
'analytics.risk_distribution_title': 'Risk Level Distribution',
|
||
'analytics.risk_distribution_desc': 'Number of students by risk level',
|
||
|
||
// ─── Parent Communication ──────────────────────────────────────────
|
||
'nav.parents': 'Parent Communication',
|
||
'parents.title': 'Parent Communication',
|
||
'parents.subtitle': 'Manage messages to parents',
|
||
'parents.new_message': 'New Message',
|
||
'parents.new_contact': 'New Contact',
|
||
'parents.conversations': 'Conversations',
|
||
'parents.no_conversations': 'No conversations',
|
||
'parents.no_conversations_desc': 'Start a new message',
|
||
'parents.select_conversation': 'Select a conversation',
|
||
'parents.parent_info': 'Parent Info',
|
||
'parents.student_info': 'Student Info',
|
||
'parents.field.parent': 'Parent/Guardian',
|
||
'parents.field.student': 'Student',
|
||
'parents.field.subject': 'Subject',
|
||
'parents.field.body': 'Message',
|
||
'parents.field.category': 'Category',
|
||
'parents.field.priority': 'Priority',
|
||
'parents.field.relationship': 'Relationship',
|
||
'parents.field.email': 'Email',
|
||
'parents.field.phone': 'Phone',
|
||
'parents.field.preferred_contact': 'Preferred Contact',
|
||
'parents.field.preferred_language': 'Preferred Language',
|
||
'parents.field.notes': 'Notes',
|
||
'parents.category_general': 'General',
|
||
'parents.category_progress': 'Progress',
|
||
'parents.category_assessment': 'Assessment',
|
||
'parents.category_behavior': 'Behavior',
|
||
'parents.category_attendance': 'Attendance',
|
||
'parents.category_event': 'Event',
|
||
'parents.priority_low': 'Low',
|
||
'parents.priority_normal': 'Normal',
|
||
'parents.priority_high': 'High',
|
||
'parents.priority_urgent': 'Urgent',
|
||
'parents.status_draft': 'Draft',
|
||
'parents.status_sent': 'Sent',
|
||
'parents.status_delivered': 'Delivered',
|
||
'parents.status_read': 'Read',
|
||
'parents.status_replied': 'Replied',
|
||
'parents.reply': 'Reply',
|
||
'parents.send': 'Send',
|
||
'parents.save_draft': 'Save Draft',
|
||
'parents.statistics': 'Statistics',
|
||
'parents.messages_sent': 'Messages Sent',
|
||
'parents.response_rate': 'Response Rate',
|
||
'parents.avg_response_time': 'Avg Response Time',
|
||
'parents.by_category': 'By Category',
|
||
'parents.empty_thread': 'No messages yet',
|
||
'parents.empty_thread_desc': 'Start the conversation',
|
||
'parents.templates': 'Templates',
|
||
'parents.template_progress_good': 'Positive Progress',
|
||
'parents.template_assessment_reminder': 'Assessment Reminder',
|
||
'parents.template_behavior_concern': 'Behavior Concern',
|
||
'parents.template_meeting_request': 'Meeting Request',
|
||
'parents.relationship_parent': 'Parent',
|
||
'parents.relationship_guardian': 'Guardian',
|
||
'parents.relationship_emergency': 'Emergency Contact',
|
||
'parents.delete_confirm': 'Delete this message?',
|
||
'parents.deleted': 'Message deleted',
|
||
'parents.sent': 'Message sent',
|
||
'parents.draft_saved': 'Draft saved',
|
||
'parents.reply_sent': 'Reply saved',
|
||
'parents.marked_read': 'Marked as read',
|
||
'parents.contact_created': 'Contact created',
|
||
'parents.contact_updated': 'Contact updated',
|
||
'parents.contact_deleted': 'Contact deleted',
|
||
'parents.filter_all': 'All',
|
||
'parents.filter_by_student': 'By Student',
|
||
'parents.filter_by_category': 'By Category',
|
||
'parents.search_placeholder': 'Search by name…',
|
||
'parents.this_month': 'This month',
|
||
'parents.no_messages_sent': 'No messages sent yet',
|
||
'parents.messages': 'Messages',
|
||
'parents.unread': 'Unread',
|
||
'parents.last_message': 'Last message',
|
||
'parents.create_contact_first': 'Please create a parent contact first',
|
||
'parents.no_contacts': 'No parent contacts',
|
||
'parents.no_contacts_desc': 'Create the first contact',
|
||
'parents.view_thread': 'View thread',
|
||
'parents.reply_placeholder': 'Enter parent reply…',
|
||
'parents.hours': 'h',
|
||
'parents.minutes': 'min',
|
||
'parents.days': 'd',
|
||
'parents.no_response_yet': 'No response',
|
||
|
||
// Behavior Tracking — Verhaltensverfolgung
|
||
'nav.behavior': 'Behavior',
|
||
'behavior.title': 'Behavior Tracking',
|
||
'behavior.subtitle': 'Log and track behavior incidents for your students',
|
||
'behavior.tab_incidents': 'Incidents',
|
||
'behavior.tab_categories': 'Categories',
|
||
'behavior.tab_statistics': 'Statistics',
|
||
'behavior.loading': 'Loading…',
|
||
'behavior.error_load': 'Failed to load',
|
||
'behavior.error_save': 'Failed to save',
|
||
'behavior.error_delete': 'Failed to delete',
|
||
'behavior.empty_incidents': 'No incidents logged',
|
||
'behavior.empty_incidents_desc': 'Log the first incident or adjust the filters.',
|
||
'behavior.empty_incidents_filtered': 'No incidents match the selected filters',
|
||
'behavior.empty_incidents_filtered_desc': 'Adjust the filters to see results.',
|
||
'behavior.empty_categories': 'No categories yet',
|
||
'behavior.empty_categories_desc': 'Create your first behavior category.',
|
||
'behavior.select_class': 'Select class',
|
||
'behavior.all_classes': 'All classes',
|
||
'behavior.all_students': 'All students',
|
||
'behavior.all_categories': 'All categories',
|
||
'behavior.all_severities': 'All severities',
|
||
'behavior.all_resolved': 'All status',
|
||
'behavior.add_incident': 'Log incident',
|
||
'behavior.edit_incident': 'Edit incident',
|
||
'behavior.add_category': 'Add category',
|
||
'behavior.edit_category': 'Edit category',
|
||
'behavior.field.student': 'Student',
|
||
'behavior.field.category': 'Category',
|
||
'behavior.field.date': 'Date',
|
||
'behavior.field.severity': 'Severity',
|
||
'behavior.field.description': 'Description',
|
||
'behavior.field.location': 'Location',
|
||
'behavior.field.follow_up': 'Follow-up action',
|
||
'behavior.field.name': 'Name',
|
||
'behavior.field.color': 'Color',
|
||
'behavior.field.valence': 'Valence',
|
||
'behavior.field.icon': 'Icon (emoji)',
|
||
'behavior.field.class': 'Class',
|
||
'behavior.field.resolved': 'Mark as resolved',
|
||
'behavior.severity.minor': 'Minor',
|
||
'behavior.severity.moderate': 'Moderate',
|
||
'behavior.severity.major': 'Major',
|
||
'behavior.valence.positive': 'Positive',
|
||
'behavior.valence.negative': 'Negative',
|
||
'behavior.valence.neutral': 'Neutral',
|
||
'behavior.resolved': 'Resolved',
|
||
'behavior.unresolved': 'Open',
|
||
'behavior.mark_resolved': 'Mark as resolved',
|
||
'behavior.mark_unresolved': 'Reopen',
|
||
'behavior.resolved_by': 'Resolved by',
|
||
'behavior.resolved_at': 'Resolved at',
|
||
'behavior.created_at': 'Logged at',
|
||
'behavior.by_teacher': 'Logged by',
|
||
'behavior.delete_incident_title': 'Delete incident',
|
||
'behavior.delete_incident_desc': 'Are you sure you want to delete this incident? This action cannot be undone.',
|
||
'behavior.delete_category_title': 'Delete category',
|
||
'behavior.delete_category_desc': 'Are you sure you want to delete this category?',
|
||
'behavior.delete_category_blocked': 'Cannot delete category — incidents are still assigned to it.',
|
||
'behavior.save': 'Save',
|
||
'behavior.cancel': 'Cancel',
|
||
'behavior.delete': 'Delete',
|
||
'behavior.edit': 'Edit',
|
||
'behavior.saved_incident': 'Incident saved',
|
||
'behavior.deleted_incident': 'Incident deleted',
|
||
'behavior.saved_category': 'Category saved',
|
||
'behavior.deleted_category': 'Category deleted',
|
||
'behavior.marked_resolved': 'Incident marked as resolved',
|
||
'behavior.marked_unresolved': 'Incident reopened',
|
||
'behavior.location.classroom': 'Classroom',
|
||
'behavior.location.playground': 'Playground',
|
||
'behavior.location.hallway': 'Hallway',
|
||
'behavior.location.gym': 'Gym',
|
||
'behavior.location.auditorium': 'Auditorium',
|
||
'behavior.location.library': 'Library',
|
||
'behavior.location.cafeteria': 'Cafeteria',
|
||
'behavior.location.other': 'Other location',
|
||
'behavior.followup.parent_talk': 'Parent talk',
|
||
'behavior.followup.detention': 'Detention',
|
||
'behavior.followup.praise_circle': 'Praise in circle',
|
||
'behavior.followup.note_home': 'Note home',
|
||
'behavior.followup.warning': 'Warning',
|
||
'behavior.followup.mediation': 'Mediation',
|
||
'behavior.followup.prize': 'Reward',
|
||
'behavior.followup.none': 'None',
|
||
'behavior.filter_section': 'Filters',
|
||
'behavior.filter.date_from': 'From',
|
||
'behavior.filter.date_to': 'To',
|
||
'behavior.filter.category': 'Category',
|
||
'behavior.filter.severity': 'Severity',
|
||
'behavior.filter.resolved': 'Status',
|
||
'behavior.filter.student': 'Student',
|
||
'behavior.stat.this_month': 'Incidents this month',
|
||
'behavior.stat.positive': 'Positive incidents',
|
||
'behavior.stat.negative': 'Negative incidents',
|
||
'behavior.stat.resolution_rate': 'Resolution rate',
|
||
'behavior.stat.by_category': 'Incidents by category',
|
||
'behavior.stat.by_valence': 'Distribution by valence',
|
||
'behavior.stat.top_students': 'Top 5 students by incidents',
|
||
'behavior.stat.no_data': 'No data available yet',
|
||
'behavior.stat.total': 'Total',
|
||
'behavior.stat.pos_count': 'Positive',
|
||
'behavior.stat.neg_count': 'Negative',
|
||
'behavior.incidents_count': 'incidents',
|
||
'behavior.preview': 'Preview',
|
||
'behavior.no_class_selected': 'Please select a class',
|
||
'behavior.no_class_selected_desc': 'Select a class above to log and view behavior incidents.',
|
||
'behavior.schoolwide': 'School-wide',
|
||
'behavior.color_helper': 'Hex color, e.g. #10b981',
|
||
'behavior.icon_helper': 'An emoji for quick recognition, e.g. 🤝',
|
||
'behavior.name_placeholder': 'e.g. Helpful behavior',
|
||
'behavior.description_placeholder': 'What happened?',
|
||
'behavior.location_placeholder': 'e.g. Classroom',
|
||
'behavior.followup_placeholder': 'e.g. Parent talk',
|
||
'behavior.detail': 'Detail',
|
||
'behavior.required_student': 'Please select a student',
|
||
'behavior.required_category': 'Please select a category',
|
||
'behavior.required_description': 'Please enter a description',
|
||
'behavior.duplicate_category': 'A category with this name already exists',
|
||
'behavior.confirm_close': 'Are you sure you want to close? Unsaved changes will be lost.',
|
||
|
||
// Behavior Analytics
|
||
'behavior.tab_analytics': 'Analytics',
|
||
'behavior.tab_interventions': 'Interventions',
|
||
'behavior.analytics.trend': 'Trend',
|
||
'behavior.analytics.trend_desc': 'Positive vs. negative incidents over time',
|
||
'behavior.analytics.category_dist': 'Category Distribution',
|
||
'behavior.analytics.category_dist_desc': 'Breakdown by behavior category',
|
||
'behavior.analytics.risk_profile': 'Risk Profile',
|
||
'behavior.analytics.risk_profile_desc': 'Students with frequent negative incidents',
|
||
'behavior.analytics.class_comparison': 'Class Comparison',
|
||
'behavior.analytics.class_comparison_desc': 'Compare behavior patterns across classes',
|
||
'behavior.analytics.time_of_day': 'Time-of-Day Analysis',
|
||
'behavior.analytics.time_of_day_desc': 'When incidents most frequently occur',
|
||
'behavior.analytics.positive_trend': 'Positive Reinforcement',
|
||
'behavior.analytics.positive_trend_desc': 'Students with positive behavior trends',
|
||
'behavior.analytics.positive_change': 'Positive change',
|
||
'behavior.analytics.negative_change': 'Negative change',
|
||
'behavior.analytics.period': 'Period',
|
||
'behavior.analytics.last_30': 'Last 30 days',
|
||
'behavior.analytics.last_90': 'Last 90 days',
|
||
'behavior.analytics.this_year': 'This school year',
|
||
'behavior.analytics.risk_high': 'High risk',
|
||
'behavior.analytics.risk_medium': 'Medium risk',
|
||
'behavior.analytics.risk_low': 'Low risk',
|
||
'behavior.analytics.incidents_count_short': 'Incidents',
|
||
|
||
// Behavior Interventions
|
||
'behavior.intervention.title': 'Behavior Interventions',
|
||
'behavior.intervention.subtitle': 'Track interventions and their effectiveness',
|
||
'behavior.intervention.add': 'Add Intervention',
|
||
'behavior.intervention.edit': 'Edit Intervention',
|
||
'behavior.intervention.type': 'Type',
|
||
'behavior.intervention.type.warning': 'Warning',
|
||
'behavior.intervention.type.meeting': 'Meeting',
|
||
'behavior.intervention.type.action_plan': 'Action Plan',
|
||
'behavior.intervention.type.support': 'Support',
|
||
'behavior.intervention.type.parent_contact': 'Parent Contact',
|
||
'behavior.intervention.description': 'Description',
|
||
'behavior.intervention.description_placeholder': 'Describe the intervention…',
|
||
'behavior.intervention.status': 'Status',
|
||
'behavior.intervention.status.planned': 'Planned',
|
||
'behavior.intervention.status.in_progress': 'In Progress',
|
||
'behavior.intervention.status.completed': 'Completed',
|
||
'behavior.intervention.status.cancelled': 'Cancelled',
|
||
'behavior.intervention.assigned_to': 'Assigned To',
|
||
'behavior.intervention.assigned_to_placeholder': 'Select a teacher',
|
||
'behavior.intervention.start_date': 'Start Date',
|
||
'behavior.intervention.end_date': 'End Date',
|
||
'behavior.intervention.outcome': 'Outcome',
|
||
'behavior.intervention.outcome_placeholder': 'Outcome of the intervention…',
|
||
'behavior.intervention.linked_incident': 'Linked Incident',
|
||
'behavior.intervention.no_incident': 'No incident linked',
|
||
'behavior.intervention.effectiveness': 'Effectiveness',
|
||
'behavior.intervention.progress': 'Progress',
|
||
'behavior.intervention.no_interventions': 'No interventions yet',
|
||
'behavior.intervention.no_interventions_desc': 'Create an intervention to support behavior improvement.',
|
||
'behavior.intervention.saved': 'Intervention saved',
|
||
'behavior.intervention.deleted': 'Intervention deleted',
|
||
'behavior.intervention.error_save': 'Error saving intervention',
|
||
'behavior.intervention.error_delete': 'Error deleting intervention',
|
||
'behavior.intervention.required_type': 'Please select a type',
|
||
'behavior.intervention.required_description': 'Please enter a description',
|
||
'behavior.intervention.filter_status': 'Filter by status',
|
||
'behavior.intervention.all_statuses': 'All statuses',
|
||
'behavior.intervention.filter_type': 'Filter by type',
|
||
'behavior.intervention.all_types': 'All types',
|
||
|
||
// Audit Log Enhancement
|
||
'audit.entity_type': 'Entity Type',
|
||
'audit.entity_type_filter': 'Filter by type',
|
||
'audit.all_entity_types': 'All types',
|
||
'audit.user_filter': 'Filter by user',
|
||
'audit.all_users': 'All users',
|
||
'audit.changes': 'Changes',
|
||
'audit.before': 'Before',
|
||
'audit.after': 'After',
|
||
'audit.detail': 'Detail View',
|
||
'audit.export_csv': 'Export as CSV',
|
||
'audit.page': 'Page',
|
||
'audit.of': 'of',
|
||
'audit.entries': 'entries',
|
||
'audit.previous': 'Previous',
|
||
'audit.next': 'Next',
|
||
'audit.no_changes': 'No change details available',
|
||
'audit.ip_address': 'IP Address',
|
||
'audit.user_agent': 'User Agent',
|
||
|
||
// Curriculum Coverage
|
||
'nav.coverage': 'Coverage',
|
||
'coverage.title': 'Curriculum Coverage',
|
||
'coverage.subtitle': 'See which competencies have been assessed and where gaps remain',
|
||
'coverage.loading': 'Loading…',
|
||
'coverage.error': 'Failed to load coverage data',
|
||
'coverage.select_class': 'Please select a class',
|
||
'coverage.select_subject': 'All subjects',
|
||
'coverage.no_assignments': 'No competency template assigned',
|
||
'coverage.no_assignments_desc': 'This class has no competency template yet. Assign one in the Competency Grid section to analyze coverage.',
|
||
'coverage.go_to_grid': 'Go to Competency Grid',
|
||
'coverage.kpi.total': 'Total Competencies',
|
||
'coverage.kpi.assessed': 'Assessed',
|
||
'coverage.kpi.not_assessed': 'Not Assessed',
|
||
'coverage.kpi.students': 'Students',
|
||
'coverage.section.by_category': 'Coverage by Category',
|
||
'coverage.section.by_category_desc': 'Overview of assessment progress per competency category',
|
||
'coverage.section.matrix': 'Competency Matrix',
|
||
'coverage.section.matrix_desc': 'Detailed overview of all competencies',
|
||
'coverage.section.action_needed': 'Action Needed',
|
||
'coverage.section.action_needed_desc': 'These competencies have not yet been assessed or only partially',
|
||
'coverage.section.recent': 'Recently Assessed',
|
||
'coverage.section.recent_desc': 'The 5 most recently assessed competencies',
|
||
'coverage.filter.all': 'All',
|
||
'coverage.filter.covered': 'Covered',
|
||
'coverage.filter.partial': 'Partial',
|
||
'coverage.filter.untouched': 'Not started',
|
||
'coverage.sort.by_category': 'By Category',
|
||
'coverage.sort.by_status': 'By Status',
|
||
'coverage.sort.by_recent': 'Recently Assessed',
|
||
'coverage.search_placeholder': 'Search competency (code or title)…',
|
||
'coverage.status.covered': 'Fully assessed',
|
||
'coverage.status.partial': 'Partially assessed',
|
||
'coverage.status.untouched': 'Not assessed',
|
||
'coverage.assessed_count': 'Assessed students',
|
||
'coverage.last_assessed': 'Last assessed',
|
||
'coverage.never_assessed': 'Never assessed',
|
||
'coverage.assessments_count': 'Assessments',
|
||
'coverage.progress_count': 'Progress entries',
|
||
'coverage.empty_action': 'All competencies assessed!',
|
||
'coverage.empty_action_desc': 'All competencies for this class have been at least partially assessed.',
|
||
'coverage.empty_recent': 'No assessments yet',
|
||
'coverage.empty_recent_desc': 'Once you record progress entries, they will appear here.',
|
||
'coverage.record_progress': 'Record',
|
||
'coverage.guide.title': 'How it works',
|
||
'coverage.guide.subtitle': 'Three steps to coverage analysis',
|
||
'coverage.guide.step1_title': 'Select a class',
|
||
'coverage.guide.step1_desc': 'Choose a class above to load its assigned competency templates.',
|
||
'coverage.guide.step2_title': 'Select a subject (optional)',
|
||
'coverage.guide.step2_desc': 'Filter by a specific subject or view all subjects at once.',
|
||
'coverage.guide.step3_title': 'Analyze coverage',
|
||
'coverage.guide.step3_desc': 'Identify gaps and competencies that need to be assessed.',
|
||
'coverage.no_data': 'No data available',
|
||
'coverage.coverage_percent': 'Covered',
|
||
'coverage.not_covered_percent': 'Open',
|
||
'attendance.empty_action_hint': 'Click "New Session" above to start an attendance session.',
|
||
'student_detail.sparse_chart_hint': 'Competency areas without assessment are displayed as a minimum value.',
|
||
'student_detail.no_assessment': 'N/A',
|
||
'analytics.level_range': '(0–4)',
|
||
'analytics.calendar_week_full': 'Calendar week',
|
||
'flower.empty_tip': 'Select a class and a student to see the competence flower.',
|
||
'grading.empty_description': 'Grading schemes define how different assessments (progress, exams, etc.) are combined into an overall grade. Choose a class and subject to begin.',
|
||
'parents.no_conversation_selected': 'Select a conversation from the list',
|
||
|
||
// ─── Rubric Library ──────────────────────────────────────────────
|
||
'nav.rubrics': 'Rubrics',
|
||
'rubrics.title': 'Rubric Library',
|
||
'rubrics.subtitle': 'Create and manage reusable grading rubrics',
|
||
'rubrics.create': 'Create Rubric',
|
||
'rubrics.edit': 'Edit Rubric',
|
||
'rubrics.duplicate': 'Duplicate',
|
||
'rubrics.delete': 'Delete',
|
||
'rubrics.detail': 'Rubric Details',
|
||
'rubrics.print': 'Print',
|
||
'rubrics.save': 'Save',
|
||
'rubrics.cancel': 'Cancel',
|
||
'rubrics.close': 'Close',
|
||
'rubrics.type_analytic': 'Analytic',
|
||
'rubrics.type_holistic': 'Holistic',
|
||
'rubrics.criteria': 'Criteria',
|
||
'rubrics.levels': 'Performance Levels',
|
||
'rubrics.add_criterion': 'Add Criterion',
|
||
'rubrics.add_level': 'Add Level',
|
||
'rubrics.remove_criterion': 'Remove Criterion',
|
||
'rubrics.remove_level': 'Remove Level',
|
||
'rubrics.criterion_name': 'Criterion Name',
|
||
'rubrics.criterion_description': 'Criterion Description',
|
||
'rubrics.criterion_weight': 'Weight',
|
||
'rubrics.criterion_max_points': 'Max Points',
|
||
'rubrics.level_label': 'Level Label',
|
||
'rubrics.level_description': 'Descriptor',
|
||
'rubrics.level_points': 'Points',
|
||
'rubrics.field.title': 'Title',
|
||
'rubrics.field.description': 'Description',
|
||
'rubrics.field.type': 'Rubric Type',
|
||
'rubrics.field.subject': 'Subject',
|
||
'rubrics.field.max_points': 'Maximum Points',
|
||
'rubrics.field.is_public': 'Share school-wide',
|
||
'rubrics.field.is_public_hint': 'Other teachers can use this rubric',
|
||
'rubrics.no_subject': 'No Subject',
|
||
'rubrics.all_subjects': 'All Subjects',
|
||
'rubrics.public': 'Public',
|
||
'rubrics.private': 'Private',
|
||
'rubrics.version': 'Version',
|
||
'rubrics.by_teacher': 'By',
|
||
'rubrics.max_points': 'Max Points',
|
||
'rubrics.search_placeholder': 'Search rubrics…',
|
||
'rubrics.filter_subject': 'Filter by subject',
|
||
'rubrics.filter_public': 'My rubrics only',
|
||
'rubrics.filter_all': 'All rubrics',
|
||
'rubrics.empty_title': 'No rubrics yet',
|
||
'rubrics.empty_desc': 'Create your first rubric to define standardized grading criteria for your class.',
|
||
'rubrics.empty_create': 'Create First Rubric',
|
||
'rubrics.loading': 'Loading…',
|
||
'rubrics.error': 'Failed to load rubrics',
|
||
'rubrics.saved': 'Rubric saved',
|
||
'rubrics.deleted': 'Rubric deleted',
|
||
'rubrics.duplicated': 'Rubric duplicated',
|
||
'rubrics.delete_title': 'Delete Rubric',
|
||
'rubrics.delete_desc': 'Are you sure you want to delete this rubric? This action cannot be undone.',
|
||
'rubrics.preview': 'Preview',
|
||
'rubrics.edit_form': 'Edit',
|
||
'rubrics.criteria_count': '{count} criteria',
|
||
'rubrics.criterion': 'Criterion',
|
||
'rubrics.level': 'Level',
|
||
'rubrics.weight': 'Weight',
|
||
'rubrics.points': 'Points',
|
||
'rubrics.total_weight': 'Total Weight',
|
||
'rubrics.total_points': 'Total Points',
|
||
'rubrics.title_required': 'Please enter a title',
|
||
'rubrics.criteria_required': 'At least one criterion is required',
|
||
'rubrics.levels_required': 'Each criterion needs at least one level',
|
||
'rubrics.level_header': 'Level {order}',
|
||
'rubrics.table_criterion': 'Criterion',
|
||
'rubrics.table_weight_short': 'Wt.',
|
||
'rubrics.confirm_close': 'Unsaved changes will be lost. Continue?',
|
||
|
||
// ── Comments Bank (Report Card Comments) ──────────────────────────────
|
||
'nav.comments': 'Comments',
|
||
'nav.drawing': 'Drawing',
|
||
'comments.title': 'Report Card Comments',
|
||
'comments.subtitle': 'Library of reusable comment texts for report cards',
|
||
'comments.tab_entries': 'Comments',
|
||
'comments.tab_categories': 'Categories',
|
||
'comments.tab_statistics': 'Statistics',
|
||
'comments.search_placeholder': 'Search comments…',
|
||
'comments.create_entry': 'Create Comment',
|
||
'comments.edit_entry': 'Edit Comment',
|
||
'comments.create_entry_desc': 'Create a new reusable comment for report cards.',
|
||
'comments.edit_entry_desc': 'Edit the comment.',
|
||
'comments.field_title': 'Title',
|
||
'comments.title_placeholder': 'Short comment title',
|
||
'comments.field_category': 'Category',
|
||
'comments.field_subject': 'Subject',
|
||
'comments.no_subject': 'No Subject',
|
||
'comments.field_grade_level': 'Grade Level',
|
||
'comments.field_text': 'Comment Text',
|
||
'comments.text_placeholder': 'Write the comment text here…',
|
||
'comments.field_public': 'Public',
|
||
'comments.field_tags': 'Tags',
|
||
'comments.tags_placeholder': 'e.g. motivation, social, academic',
|
||
'comments.preview': 'Preview',
|
||
'comments.public': 'Public',
|
||
'comments.private': 'Private',
|
||
'comments.usage_count': 'Uses',
|
||
'comments.entries_count': 'Entries',
|
||
'comments.copy_success': 'Copied to clipboard',
|
||
'comments.copy_text': 'Copy Text',
|
||
'comments.saved': 'Comment saved',
|
||
'comments.created': 'Comment created',
|
||
'comments.deleted': 'Comment deleted',
|
||
'comments.error': 'Failed to load',
|
||
'comments.validation_required': 'Please fill in all required fields.',
|
||
'comments.empty_title': 'No comments yet',
|
||
'comments.empty_desc': 'Create your first reusable comment for report cards.',
|
||
'comments.empty_create': 'Create First Comment',
|
||
'comments.filter_category': 'Category',
|
||
'comments.filter_subject': 'Subject',
|
||
'comments.filter_grade': 'Grade Level',
|
||
'comments.filter_visibility': 'Visibility',
|
||
'comments.all_categories': 'All Categories',
|
||
'comments.all_subjects': 'All Subjects',
|
||
'comments.all_grades': 'All Grades',
|
||
'comments.all_visibility': 'All',
|
||
'comments.public_only': 'Public Only',
|
||
'comments.private_only': 'Private Only',
|
||
'comments.categories_title': 'Comment Categories',
|
||
'comments.add_category': 'Add Category',
|
||
'comments.edit_category': 'Edit Category',
|
||
'comments.add_category_desc': 'Create a new category for comments.',
|
||
'comments.edit_category_desc': 'Edit the category.',
|
||
'comments.category_name': 'Name',
|
||
'comments.category_name_placeholder': 'e.g. Social Behavior',
|
||
'comments.category_name_required': 'Please enter a category name.',
|
||
'comments.category_color': 'Color',
|
||
'comments.category_icon': 'Icon',
|
||
'comments.category_icon_placeholder': '🤝',
|
||
'comments.category_saved': 'Category saved',
|
||
'comments.category_created': 'Category created',
|
||
'comments.category_deleted': 'Category deleted',
|
||
'comments.category_empty_title': 'No categories yet',
|
||
'comments.category_empty_desc': 'Create your first category.',
|
||
'comments.delete_entry_title': 'Delete Comment',
|
||
'comments.delete_entry_desc': 'Are you sure you want to delete this comment? This action cannot be undone.',
|
||
'comments.delete_category_title': 'Delete Category',
|
||
'comments.delete_category_desc': 'Are you sure you want to delete this category? Categories with existing comments cannot be deleted.',
|
||
'comments.stat_total': 'Total',
|
||
'comments.stat_public': 'Public',
|
||
'comments.stat_categories': 'Categories',
|
||
'comments.stat_most_used': 'Most Used',
|
||
'comments.chart_by_category': 'Comments by Category',
|
||
'comments.top_used_title': 'Top 5 Most-Used Comments',
|
||
|
||
// Notifications
|
||
'notifications.title': 'Notifications',
|
||
'notifications.empty': 'No notifications',
|
||
'notifications.mark_all_read': 'Mark all as read',
|
||
'notifications.upcoming_assessments': 'Upcoming Assessments',
|
||
'notifications.missing_observations': 'Missing Observations',
|
||
'notifications.assessment_deadline': 'Assessment in {days} days',
|
||
'notifications.no_progress_for': 'No progress for {days} days for {student}',
|
||
'notifications.record_now': 'Record now',
|
||
'notifications.to_assessment': 'To assessment',
|
||
'notifications.to_report': 'To report',
|
||
'notifications.in_days': 'in {days} days',
|
||
'notifications.days_ago': '{days} days ago',
|
||
|
||
// Onboarding
|
||
'onboarding.welcome_title': 'Welcome to CompetenceTrack!',
|
||
'onboarding.welcome_desc': 'Your free competency & grading platform for schools. Let\'s take a quick tour.',
|
||
'onboarding.dashboard_title': 'Dashboard',
|
||
'onboarding.dashboard_desc': 'Here you see an overview of all classes, students and current activities. Use quick actions for common tasks.',
|
||
'onboarding.progress_title': 'Learning Progress',
|
||
'onboarding.progress_desc': 'Record observations and progress for individual students. Select a class and subject to log entries.',
|
||
'onboarding.flower_title': 'Competence Flower',
|
||
'onboarding.flower_desc': 'Visualize competency development as a radar chart. Compare students and track trends over time.',
|
||
'onboarding.reports_title': 'Reports',
|
||
'onboarding.reports_desc': 'Create report cards and development reports. Export as PDF or print directly.',
|
||
'onboarding.done_title': 'Done!',
|
||
'onboarding.done_desc': 'You\'re ready to use CompetenceTrack. For questions, click the help icon in the header.',
|
||
'onboarding.skip': 'Skip',
|
||
'onboarding.next': 'Next',
|
||
'onboarding.back': 'Back',
|
||
'onboarding.start': 'Get started',
|
||
'onboarding.step': 'Step {current} of {total}',
|
||
'onboarding.classes_title': 'Classes & Students',
|
||
'onboarding.classes_desc': 'Manage your classes and students. Create new classes, add students, and assign competency grids.',
|
||
'onboarding.assessments_title': 'Assessments',
|
||
'onboarding.assessments_desc': 'Create and manage assessments. Grade students and track their progress over time.',
|
||
'onboarding.grading_title': 'Grading',
|
||
'onboarding.grading_desc': 'Configure grading schemes and calculate grades based on competency levels and assessments.',
|
||
'onboarding.notebooks_title': 'Digital Notebooks',
|
||
'onboarding.notebooks_desc': 'Create digital notebooks for your subjects. Saves paper and protects the environment — each notebook saves ~50 pages.',
|
||
'onboarding.drawing_title': 'Drawing',
|
||
'onboarding.drawing_desc': 'Use the digital drawing canvas for sketches and illustrations. Stylus-optimized with pressure sensitivity.',
|
||
'onboarding.calendar_title': 'Calendar & Attendance',
|
||
'onboarding.calendar_desc': 'Manage your schedule and student attendance. Keep track of absences and upcoming events.',
|
||
'onboarding.parents_title': 'Parent Communication',
|
||
'onboarding.parents_desc': 'Communicate with parents about learning progress. Send reports and maintain an ongoing dialogue.',
|
||
'onboarding.environmental_title': 'Environmental Protection',
|
||
'onboarding.environmental_desc': 'CompetenceTrack saves paper: Each digital entry replaces ~50 pages of paper. Thank you for contributing to environmental protection!',
|
||
|
||
// Batch deletion (progress entries)
|
||
'progress.batch_select': 'Select',
|
||
'progress.batch_select_all': 'Select all',
|
||
'progress.batch_deselect_all': 'Deselect all',
|
||
'progress.batch_selected': '{count} entries selected',
|
||
'progress.batch_delete': 'Delete selected',
|
||
'progress.batch_cancel': 'Cancel',
|
||
'progress.batch_delete_confirm': 'Really delete {count} entries?',
|
||
'progress.batch_mode': 'Selection mode',
|
||
|
||
// Drag-and-drop (classes)
|
||
'classes.seating_order': 'Seating Order',
|
||
'classes.reorder_mode': 'Reorder',
|
||
'classes.position': 'Position',
|
||
'classes.drag_hint': 'Drag to reorder',
|
||
|
||
// Color palette (flower)
|
||
'flower.color_scheme': 'Color Scheme',
|
||
'flower.color_emerald': 'Emerald',
|
||
'flower.color_sapphire': 'Sapphire',
|
||
'flower.color_amethyst': 'Amethyst',
|
||
'flower.color_amber': 'Amber',
|
||
'flower.color_ruby': 'Ruby',
|
||
'flower.color_turquoise': 'Turquoise',
|
||
'flower.color_custom': 'Custom',
|
||
|
||
// ─── Demo accounts ──────────────────────────────────────────────────
|
||
'auth.demo_section_title': 'Demo Access',
|
||
'auth.demo_section_subtitle': 'Quick try with different roles',
|
||
'auth.demo_admin': 'Demo Admin',
|
||
'auth.demo_vice_principal': 'Demo Vice Principal',
|
||
'auth.demo_teacher': 'Demo Teacher',
|
||
'auth.demo_student': 'Demo Student',
|
||
'auth.demo_parent': 'Demo Parent',
|
||
'auth.demo_logging_in': 'Logging in as demo...',
|
||
'settings.demo_accounts': 'Demo Accounts',
|
||
'settings.demo_accounts_desc': 'Manage demo accounts',
|
||
'settings.demo_enable': 'Enable',
|
||
'settings.demo_disable': 'Disable',
|
||
'settings.demo_disable_all': 'Disable all demo accounts',
|
||
'settings.demo_delete_all': 'Delete all demo accounts',
|
||
'settings.demo_toggle_hint': 'Disabled demo accounts cannot log in',
|
||
'settings.demo_delete_confirm': 'Really delete all demo accounts?',
|
||
'settings.demo_no_accounts': 'No demo accounts found',
|
||
'badge.demo': 'Demo',
|
||
'settings.demo_active': 'Active',
|
||
'settings.demo_inactive': 'Inactive',
|
||
'settings.demo_delete_one_confirm': 'Really delete this demo account?',
|
||
'settings.demo_disabled': 'Demo accounts disabled',
|
||
'settings.demo_enabled': 'Demo accounts enabled',
|
||
'settings.demo_deleted': 'Demo accounts deleted',
|
||
'settings.demo_account_deleted': 'Demo account deleted',
|
||
'settings.demo_account_toggled': 'Demo account status changed',
|
||
|
||
// Keyboard shortcuts
|
||
'shortcuts.title': 'Keyboard Shortcuts',
|
||
'shortcuts.description': 'Available keyboard shortcuts',
|
||
'shortcuts.navigation': 'Navigation',
|
||
'shortcuts.actions': 'Actions',
|
||
'shortcuts.switch_view': 'Switch view',
|
||
'shortcuts.quick_search': 'Quick search',
|
||
'shortcuts.new_entry': 'Create new entry',
|
||
'shortcuts.show_shortcuts': 'Show shortcuts',
|
||
'shortcuts.close_dialog': 'Close dialog',
|
||
'shortcuts.command_palette': 'Command Palette',
|
||
'shortcuts.recent_actions': 'Recent Actions',
|
||
'shortcuts.views': 'Views',
|
||
'shortcuts.quick_actions': 'Quick Actions',
|
||
'shortcuts.new_notebook': 'New Notebook',
|
||
'shortcuts.drawing': 'Drawing',
|
||
'shortcuts.new_page': 'New Page',
|
||
'shortcuts.export_pdf': 'Export PDF',
|
||
'shortcuts.archive_toggle': 'Toggle Archive',
|
||
'shortcuts.close_notebook': 'Close Notebook',
|
||
'shortcuts.notebooks_drawing': 'Notebooks & Drawing',
|
||
|
||
// Drawing
|
||
'drawing.title': 'Drawings',
|
||
'drawing.subtitle': 'Draw digitally instead of wasting paper',
|
||
'drawing.new': 'New Drawing',
|
||
'drawing.gallery': 'Gallery',
|
||
'drawing.edit': 'Edit',
|
||
'drawing.delete': 'Delete',
|
||
'drawing.delete_confirm': 'Really delete this drawing?',
|
||
'drawing.delete_desc': 'This action cannot be undone.',
|
||
'drawing.save': 'Save',
|
||
'drawing.save_success': 'Drawing saved',
|
||
'drawing.export_png': 'Export as PNG',
|
||
'drawing.auto_save': 'Auto-saved',
|
||
'drawing.no_drawings': 'No drawings yet',
|
||
'drawing.no_drawings_desc': 'Create your first digital drawing.',
|
||
'drawing.title_label': 'Title',
|
||
'drawing.description_label': 'Description',
|
||
'drawing.subject_label': 'Subject',
|
||
'drawing.class_label': 'Class',
|
||
'drawing.public': 'Share publicly',
|
||
'drawing.public_desc': 'Share with class',
|
||
'drawing.private': 'Private',
|
||
'drawing.canvas': 'Canvas',
|
||
'drawing.exit': 'Exit drawing',
|
||
'drawing.clear': 'Clear',
|
||
'drawing.clear_confirm': 'Really clear the canvas?',
|
||
'drawing.undo': 'Undo',
|
||
'drawing.redo': 'Redo',
|
||
'drawing.tool_pencil': 'Pencil',
|
||
'drawing.tool_pen': 'Pen',
|
||
'drawing.tool_line': 'Line',
|
||
'drawing.tool_rectangle': 'Rectangle',
|
||
'drawing.tool_circle': 'Circle',
|
||
'drawing.tool_eraser': 'Eraser',
|
||
'drawing.color': 'Color',
|
||
'drawing.stroke_width': 'Stroke Width',
|
||
'drawing.background': 'Background',
|
||
'drawing.bg_blank': 'Blank',
|
||
'drawing.bg_lined': 'Lined',
|
||
'drawing.bg_grid': 'Grid',
|
||
'drawing.bg_dotted': 'Dotted',
|
||
'drawing.guide_mode': 'Guide Mode',
|
||
'drawing.zoom_in': 'Zoom In',
|
||
'drawing.zoom_out': 'Zoom Out',
|
||
'drawing.guide_shapes': 'Shape Templates',
|
||
'drawing.guide_off': 'Off',
|
||
'drawing.guide_basic': 'Basic Shapes',
|
||
'drawing.guide_circles': 'Circles',
|
||
'drawing.guide_perspective': 'Perspective',
|
||
'drawing.pressure': 'Pressure Sensitivity',
|
||
'drawing.loading': 'Loading...',
|
||
'drawing.saving': 'Saving...',
|
||
'drawing.filter_subject': 'Filter by subject',
|
||
'drawing.all_subjects': 'All subjects',
|
||
'drawing.created_at': 'Created',
|
||
'drawing.updated_at': 'Updated',
|
||
'drawing.untitled': 'Untitled Drawing',
|
||
'drawing.eco_message': 'Draw digitally instead of wasting paper',
|
||
'drawing.eco_tip': 'Every digital drawing saves paper and protects the environment',
|
||
|
||
// ─── Digital Notebooks ──────────────────────────────────────────────
|
||
'nav.notebooks': 'Notebooks',
|
||
'notebooks.title': 'Digital Notebooks',
|
||
'notebooks.subtitle': 'Save paper, protect the environment — digital notebooks instead of paper',
|
||
'notebooks.create': 'Create New Notebook',
|
||
'notebooks.create_title': 'Create New Digital Notebook',
|
||
'notebooks.create_desc': 'Create a digital notebook and save paper.',
|
||
'notebooks.edit_title': 'Edit Notebook',
|
||
'notebooks.library': 'Notebook Library',
|
||
'notebooks.archived': 'Archived Notebooks',
|
||
'notebooks.show_archived': 'Show Archived',
|
||
'notebooks.hide_archived': 'Hide Archived',
|
||
'notebooks.archive': 'Archive',
|
||
'notebooks.unarchive': 'Restore',
|
||
'notebooks.delete': 'Delete',
|
||
'notebooks.delete_confirm': 'Really delete this notebook? All pages will be lost.',
|
||
'notebooks.no_notebooks': 'No notebooks yet',
|
||
'notebooks.no_notebooks_desc': 'Create your first digital notebook.',
|
||
'notebooks.no_notebooks_create': 'Create First Notebook',
|
||
'notebooks.no_archived': 'No archived notebooks',
|
||
'notebooks.field_title': 'Title',
|
||
'notebooks.field_title_placeholder': 'Enter notebook title',
|
||
'notebooks.field_description': 'Description',
|
||
'notebooks.field_description_placeholder': 'Optional notebook description',
|
||
'notebooks.field_type': 'Notebook Type',
|
||
'notebooks.field_subject': 'Subject',
|
||
'notebooks.field_class': 'Class',
|
||
'notebooks.field_color': 'Color',
|
||
'notebooks.field_icon': 'Icon',
|
||
'notebooks.field_public': 'Share with class',
|
||
'notebooks.field_public_hint': 'Others can view this notebook',
|
||
'notebooks.type_calligraphy': 'Calligraphy',
|
||
'notebooks.type_lined_desc': 'Lined notebook for text',
|
||
'notebooks.type_grid_desc': 'Checkered notebook for math',
|
||
'notebooks.type_blank_desc': 'Blank notebook for free design',
|
||
'notebooks.type_dotted_desc': 'Dotted notebook for notes',
|
||
'notebooks.type_music_desc': 'Music notebook with staff lines',
|
||
'notebooks.type_calligraphy_desc': 'Calligraphy notebook for writing practice',
|
||
'notebooks.no_subject': 'No Subject',
|
||
'notebooks.no_class': 'No Class',
|
||
'notebooks.all_subjects': 'All Subjects',
|
||
'notebooks.page_count': '{count} pages',
|
||
'notebooks.page': 'Page',
|
||
'notebooks.pages': 'Pages',
|
||
'notebooks.new_page': 'New Page',
|
||
'notebooks.add_page': 'Add Page',
|
||
'notebooks.delete_page': 'Delete Page',
|
||
'notebooks.delete_page_confirm': 'Really delete this page?',
|
||
'notebooks.page_title': 'Page Title',
|
||
'notebooks.page_title_placeholder': 'Enter page name',
|
||
'notebooks.page_content': 'Page Content',
|
||
'notebooks.bookmark': 'Bookmark',
|
||
'notebooks.bookmark_add': 'Add Bookmark',
|
||
'notebooks.bookmark_remove': 'Remove Bookmark',
|
||
'notebooks.drawing_mode': 'Drawing Mode',
|
||
'notebooks.drawing_mode_toggle': 'Draw',
|
||
'notebooks.drawing_mode_exit': 'Back to Text',
|
||
'notebooks.view_text_only': 'Text Only',
|
||
'notebooks.view_split': 'Text + Handwriting',
|
||
'notebooks.view_drawing_only': 'Drawing Only',
|
||
'notebooks.handwriting_panel': 'Handwriting Panel',
|
||
'notebooks.finger_stylus_hint': 'Finger or stylus',
|
||
'notebooks.drawing_placeholder': 'Drawing area — will be integrated in a separate component',
|
||
'notebooks.back_to_library': 'Back to Library',
|
||
'notebooks.open_notebook': 'Open Notebook',
|
||
'notebooks.created': 'Notebook created',
|
||
'notebooks.updated': 'Notebook updated',
|
||
'notebooks.archived_toast': 'Notebook archived',
|
||
'notebooks.unarchived_toast': 'Notebook restored',
|
||
'notebooks.deleted_toast': 'Notebook deleted',
|
||
'notebooks.page_saved': 'Page saved',
|
||
'notebooks.page_added': 'Page added',
|
||
'notebooks.page_deleted': 'Page deleted',
|
||
'notebooks.error_load': 'Error loading notebooks',
|
||
'notebooks.error_save': 'Error saving',
|
||
'notebooks.error_create': 'Error creating notebook',
|
||
'notebooks.loading': 'Loading notebooks…',
|
||
'notebooks.public': 'Shared',
|
||
'notebooks.private': 'Private',
|
||
'notebooks.filter_all': 'All',
|
||
'notebooks.filter_subject': 'Filter by subject',
|
||
'notebooks.eco_message': 'Save paper, protect the environment',
|
||
'notebooks.eco_tip': '1 notebook = ~50 pages of paper saved',
|
||
'notebooks.eco_total': '{count} digital notebooks = ~{pages} pages of paper saved',
|
||
'notebooks.search_placeholder': 'Search notebooks…',
|
||
'notebooks.detail_title': 'Notebook Details',
|
||
'notebooks.page_nav': 'Page Navigation',
|
||
'notebooks.content_area': 'Content Area',
|
||
'notebooks.save_page': 'Save Page',
|
||
'notebooks.color_emerald': 'Emerald',
|
||
'notebooks.color_blue': 'Blue',
|
||
'notebooks.color_red': 'Red',
|
||
'notebooks.color_yellow': 'Yellow',
|
||
'notebooks.color_purple': 'Purple',
|
||
'notebooks.color_orange': 'Orange',
|
||
'notebooks.color_teal': 'Teal',
|
||
'notebooks.color_pink': 'Pink',
|
||
'notebooks.title_required': 'Please enter a title',
|
||
'notebooks.total_notebooks': 'Total Notebooks',
|
||
'notebooks.total_pages': 'Total Pages',
|
||
'notebooks.paper_saved': 'Paper Saved',
|
||
'notebooks.pages_unit': 'Pages',
|
||
|
||
// Notebook toolbar
|
||
'notebooks.toolbar_bold': 'Bold',
|
||
'notebooks.toolbar_italic': 'Italic',
|
||
'notebooks.toolbar_underline': 'Underline',
|
||
'notebooks.toolbar_heading1': 'Heading 1',
|
||
'notebooks.toolbar_heading2': 'Heading 2',
|
||
'notebooks.toolbar_heading3': 'Heading 3',
|
||
'notebooks.toolbar_bullet_list': 'Bullet List',
|
||
'notebooks.toolbar_numbered_list': 'Numbered List',
|
||
'notebooks.toolbar_align_left': 'Align Left',
|
||
'notebooks.toolbar_align_center': 'Align Center',
|
||
'notebooks.toolbar_align_right': 'Align Right',
|
||
'notebooks.toolbar_strikethrough': 'Strikethrough',
|
||
'notebooks.toolbar_text_color': 'Text Color',
|
||
'notebooks.toolbar_highlight': 'Highlight',
|
||
'notebooks.toolbar_highlight_yellow': 'Yellow',
|
||
'notebooks.toolbar_highlight_green': 'Green',
|
||
'notebooks.toolbar_highlight_blue': 'Blue',
|
||
'notebooks.toolbar_highlight_pink': 'Pink',
|
||
'notebooks.toolbar_highlight_none': 'None',
|
||
'notebooks.toolbar_color_black': 'Black',
|
||
'notebooks.toolbar_color_red': 'Red',
|
||
'notebooks.toolbar_color_blue': 'Blue',
|
||
'notebooks.toolbar_color_green': 'Green',
|
||
'notebooks.toolbar_color_orange': 'Orange',
|
||
'notebooks.reorder_pages': 'Reorder Pages',
|
||
'notebooks.reorder_success': 'Order saved',
|
||
'notebooks.reorder_error': 'Error saving order',
|
||
'notebooks.auto_saving': 'Auto-saving...',
|
||
'notebooks.auto_saved': 'Auto-saved',
|
||
'notebooks.page_thumbnail': 'Page Thumbnail',
|
||
|
||
// Drawing integration
|
||
'notebooks.drawing_saved': 'Drawing saved',
|
||
'notebooks.drawing_page_label': 'This page contains a drawing',
|
||
'notebooks.edit_drawing': 'Edit drawing',
|
||
'notebooks.switch_to_text': 'Switch to text page',
|
||
'notebooks.drawing_section_label': 'Drawing section',
|
||
'notebooks.open_drawing': 'Open drawing',
|
||
'notebooks.switch_to_mixed': 'Text + Drawing',
|
||
|
||
// Version History
|
||
'notebooks.version_history': 'Version History',
|
||
'notebooks.version_history_title': 'Version History',
|
||
'notebooks.version_number': 'Version',
|
||
'notebooks.version_current': 'Current',
|
||
'notebooks.version_preview': 'Preview',
|
||
'notebooks.version_restore': 'Restore version',
|
||
'notebooks.version_restore_confirm': 'Restore this version?',
|
||
'notebooks.version_restore_desc': 'The current content will be saved as a new version, and the selected version will be restored.',
|
||
'notebooks.version_restored': 'Version restored',
|
||
'notebooks.version_no_history': 'No version history available',
|
||
'notebooks.version_edited_by': 'Edited by',
|
||
'notebooks.version_auto_save': 'Auto-saved',
|
||
'notebooks.version_summary': 'Summary',
|
||
'notebooks.version_created': 'Created',
|
||
'notebooks.view_drawing': 'View drawing',
|
||
|
||
// PDF Export
|
||
'notebooks.export_pdf': 'Export PDF',
|
||
'notebooks.export_error': 'Export error. Please allow popups.',
|
||
'notebooks.export_drawing_note': 'This page contains a drawing (not included in PDF)',
|
||
'notebooks.export_empty_page': 'Empty page',
|
||
'notebooks.export_eco_message': 'This notebook was created digitally — paper saved!',
|
||
|
||
// Student notebook access
|
||
'notebooks.shared_with_me': 'Shared with me',
|
||
'notebooks.my_notebooks': 'My Notebooks',
|
||
'notebooks.shared_notebook': 'Shared Notebook',
|
||
|
||
// Sharing & Collaboration
|
||
'notebooks.share': 'Share',
|
||
'notebooks.duplicate': 'Duplicate',
|
||
'notebooks.shared': 'Shared',
|
||
'notebooks.copy_suffix': ' (Copy)',
|
||
'notebooks.templates': 'Templates',
|
||
'notebooks.template_desc': 'Pre-built notebooks for common subjects',
|
||
'notebooks.tab_shared': 'Shared',
|
||
'notebooks.tab_templates': 'Templates',
|
||
'notebooks.share_confirm': 'Share this notebook with the class?',
|
||
'notebooks.share_confirm_desc': 'If you share this notebook, all students in the class can view it (read-only).',
|
||
'notebooks.unshare_confirm': 'Unshare this notebook?',
|
||
'notebooks.unshare_confirm_desc': 'If you unshare this notebook, students in the class will no longer be able to view it.',
|
||
'notebooks.duplicated': 'Notebook duplicated',
|
||
'notebooks.duplicate_error': 'Error duplicating notebook',
|
||
'notebooks.shared_notebooks': 'Shared Notebooks',
|
||
'notebooks.shared_empty': 'No shared notebooks available',
|
||
'notebooks.shared_empty_desc': 'Notebooks shared by other teachers will appear here.',
|
||
'notebooks.read_only': 'Read-only',
|
||
'notebooks.create_from_template': 'Create from template',
|
||
'notebooks.template_math': 'Mathematics',
|
||
'notebooks.template_german': 'German',
|
||
'notebooks.template_english': 'English',
|
||
'notebooks.template_art': 'Art',
|
||
'notebooks.template_music': 'Music',
|
||
'notebooks.template_science': 'Science',
|
||
'notebooks.template_math_desc': 'Grid notebook with math sections',
|
||
'notebooks.template_german_desc': 'Lined notebook with writing sections',
|
||
'notebooks.template_english_desc': 'Lined notebook with vocabulary sections',
|
||
'notebooks.template_art_desc': 'Blank notebook for drawing',
|
||
'notebooks.template_music_desc': 'Music notebook for composition',
|
||
'notebooks.template_science_desc': 'Grid notebook for experiments',
|
||
'notebooks.template_grundschule': 'Primary School',
|
||
'notebooks.template_grundschule_desc': 'Lined notebook for primary school',
|
||
'notebooks.template_history': 'History',
|
||
'notebooks.template_history_desc': 'History notebook with timeline and source analysis',
|
||
'notebooks.template_religion': 'Religion / Ethics',
|
||
'notebooks.template_religion_desc': 'Notebook for religion and ethics',
|
||
'notebooks.tab_all': 'My Notebooks',
|
||
'notebooks.owner': 'By',
|
||
|
||
// ─── Learning Content (German Curriculum) ──────────────────────────
|
||
'notebooks.learn': 'Learn',
|
||
'notebooks.topics': 'Topics',
|
||
'notebooks.lessons': 'Lessons',
|
||
'notebooks.exercises': 'Exercises',
|
||
'notebooks.quiz': 'Quiz',
|
||
'notebooks.flashcards': 'Flashcards',
|
||
'notebooks.progress': 'Progress',
|
||
'notebooks.grade_level': 'Grade Level',
|
||
'notebooks.curriculum': 'Curriculum',
|
||
'notebooks.subject_topic': 'Topic',
|
||
'notebooks.difficulty': 'Difficulty',
|
||
'notebooks.easy': 'Easy',
|
||
'notebooks.medium': 'Medium',
|
||
'notebooks.hard': 'Hard',
|
||
'notebooks.question': 'Question',
|
||
'notebooks.answer': 'Answer',
|
||
'notebooks.correct': 'Correct',
|
||
'notebooks.incorrect': 'Incorrect',
|
||
'notebooks.explanation': 'Explanation',
|
||
'notebooks.try_again': 'Try Again',
|
||
'notebooks.next_question': 'Next Question',
|
||
'notebooks.score': 'Score',
|
||
'notebooks.time_taken': 'Time Taken',
|
||
'notebooks.mastery': 'Mastery',
|
||
'notebooks.practice_more': 'Practice More',
|
||
'notebooks.well_done': 'Well Done!',
|
||
'notebooks.keep_practicing': 'Keep Practicing!',
|
||
'notebooks.subject_math': 'Mathematics',
|
||
'notebooks.subject_german': 'German',
|
||
'notebooks.subject_science': 'General Studies',
|
||
'notebooks.subject_english': 'English',
|
||
'notebooks.subject_music': 'Music',
|
||
'notebooks.subject_art': 'Art',
|
||
'notebooks.subject_religion': 'Religion/Ethics',
|
||
'notebooks.subject_pe': 'Physical Education',
|
||
'notebooks.papier_sparen': 'Save Paper, Protect the Environment',
|
||
'notebooks.digital_instead_paper': 'Digital Notebooks Instead of Paper',
|
||
'notebooks.environment_tip': 'With digital notebooks you protect the environment — no paper waste!',
|
||
'notebooks.type_lined': 'Lined',
|
||
'notebooks.type_grid': 'Grid',
|
||
'notebooks.type_blank': 'Blank',
|
||
'notebooks.type_dotted': 'Dotted',
|
||
'notebooks.type_music': 'Music Lines',
|
||
// German curriculum notebook types
|
||
'notebooks.type_deutschheft': 'Deutschheft',
|
||
'notebooks.type_deutschheft_desc': 'Lined notebook with margin — for essays, grammar and reading journal',
|
||
'notebooks.type_matheheft': 'Matheheft',
|
||
'notebooks.type_matheheft_desc': 'Grid notebook — for problems, formulas and geometry',
|
||
'notebooks.type_sachbuch': 'Sachbuch',
|
||
'notebooks.type_sachbuch_desc': 'Grid notebook with experiment template — for experiments and observations',
|
||
'notebooks.type_musikheft': 'Musikheft',
|
||
'notebooks.type_musikheft_desc': 'Notebook with staff lines — for notes, rhythm and composition',
|
||
'notebooks.type_kunstheft': 'Kunstheft',
|
||
'notebooks.type_kunstheft_desc': 'Blank notebook — for sketches, color studies and portfolio',
|
||
'notebooks.type_englischheft': 'Englischheft',
|
||
'notebooks.type_englischheft_desc': 'Lined notebook — for vocabulary, grammar and reading',
|
||
'notebooks.type_geschichtsheft': 'Geschichtsheft',
|
||
'notebooks.type_geschichtsheft_desc': 'Lined notebook with timeline — for source analysis and terms',
|
||
'notebooks.type_religionsheft': 'Religionsheft',
|
||
'notebooks.type_religionsheft_desc': 'Lined notebook — for Bible passages, ethics and world religions',
|
||
'notebooks.type_sachkundeheft': 'Sachkundeheft',
|
||
'notebooks.type_sachkundeheft_desc': 'Lined notebook with drawing space — for observations and general studies',
|
||
// Paper savings / eco features
|
||
'notebooks.trees_saved': 'Trees Saved',
|
||
'notebooks.trees_unit': 'trees',
|
||
'notebooks.trees_saved_message': '{count} trees saved',
|
||
'notebooks.eco_badge': 'Paper-free',
|
||
'notebooks.curriculum_badge': 'Curriculum Notebook',
|
||
// Student notebook access
|
||
'notebooks.student_create': 'Create My Notebook',
|
||
'notebooks.student_share_teacher': 'Share with Teacher',
|
||
'notebooks.student_share_teacher_desc': 'Share this notebook with your teacher (read-only)',
|
||
'notebooks.student_own_notebooks': 'My Own Notebooks',
|
||
'notebooks.student_shared_by_teacher': 'Shared by Teacher',
|
||
|
||
// ─── Page Templates ──────────────────────────────────────────────
|
||
'notebooks.page_template': 'Page Template',
|
||
'notebooks.page_template_cornell': 'Cornell Notes',
|
||
'notebooks.page_template_cornell_desc': 'Cornell note-taking system with summary',
|
||
'notebooks.page_template_mindmap': 'Mind Map',
|
||
'notebooks.page_template_mindmap_desc': 'Central idea with branches',
|
||
'notebooks.page_template_venn': 'Venn Diagram',
|
||
'notebooks.page_template_venn_desc': 'Compare two sets',
|
||
'notebooks.page_template_tchart': 'T-Chart',
|
||
'notebooks.page_template_tchart_desc': 'Compare two sides',
|
||
'notebooks.page_template_weekly': 'Weekly Planner',
|
||
'notebooks.page_template_weekly_desc': 'Weekly overview with tasks',
|
||
'notebooks.page_template_blank': 'Blank Page',
|
||
'notebooks.page_template_choose': 'Choose page template',
|
||
|
||
// ─── Sticky Notes ────────────────────────────────────────────────
|
||
'notebooks.sticky_note': 'Sticky Note',
|
||
'notebooks.sticky_note_add': 'Add Sticky Note',
|
||
'notebooks.sticky_note_delete': 'Remove Sticky Note',
|
||
'notebooks.sticky_note_color': 'Color',
|
||
'notebooks.sticky_note_edit': 'Edit Sticky Note',
|
||
|
||
// ─── Search Within Notebook ──────────────────────────────────────
|
||
'notebooks.search_pages': 'Search Pages',
|
||
'notebooks.search_pages_placeholder': 'Search text across all pages…',
|
||
'notebooks.search_no_results': 'No results found',
|
||
'notebooks.search_results': 'Results',
|
||
'notebooks.search_on_page': 'on page',
|
||
|
||
// ─── Page Duplication ────────────────────────────────────────────
|
||
'notebooks.duplicate_page': 'Duplicate Page',
|
||
'notebooks.duplicate_page_success': 'Page duplicated',
|
||
'notebooks.duplicate_page_error': 'Error duplicating page',
|
||
|
||
// ─── Sections / Chapters ─────────────────────────────────────────
|
||
'notebooks.sections': 'Sections',
|
||
'notebooks.section_add': 'Add Section',
|
||
'notebooks.section_name': 'Section Name',
|
||
'notebooks.section_name_placeholder': 'Enter section name',
|
||
'notebooks.section_delete': 'Remove Section',
|
||
'notebooks.section_divider': 'Divider',
|
||
'notebooks.table_of_contents': 'Table of Contents',
|
||
'notebooks.no_sections': 'No sections yet',
|
||
|
||
// ─── Professional Notebook Features ────────────────────────────────
|
||
'notebooks.page_number': 'Page',
|
||
'notebooks.page_of': 'of',
|
||
'notebooks.date_stamp': 'Date',
|
||
'notebooks.margin_line': 'Margin line',
|
||
'notebooks.stickers': 'Stickers',
|
||
'notebooks.sticker_add': 'Add sticker',
|
||
'notebooks.sticker_star': 'Star',
|
||
'notebooks.sticker_thumbs_up': 'Thumbs up',
|
||
'notebooks.sticker_checkmark': 'Checkmark',
|
||
'notebooks.sticker_heart': 'Heart',
|
||
'notebooks.sticker_trophy': 'Trophy',
|
||
'notebooks.sticker_lightning': 'Lightning',
|
||
'notebooks.sticker_flame': 'Flame',
|
||
'notebooks.sticker_medal': 'Medal',
|
||
'notebooks.sticker_crown': 'Crown',
|
||
'notebooks.sticker_sun': 'Sun',
|
||
'notebooks.sticker_rainbow': 'Rainbow',
|
||
'notebooks.sticker_flower': 'Flower',
|
||
'notebooks.sticker_remove': 'Remove sticker',
|
||
'notebooks.washi_tape': 'Washi tape',
|
||
'notebooks.washi_tape_add': 'Add washi tape',
|
||
'notebooks.washi_tape_remove': 'Remove washi tape',
|
||
'notebooks.corner_fold': 'Dog-ear',
|
||
'notebooks.date_format': 'MM/dd/yyyy',
|
||
|
||
// ─── Highlighter Tool ────────────────────────────────────────────
|
||
'drawing.tool_highlighter': 'Highlighter',
|
||
'drawing.tool_highlighter_desc': 'Semi-transparent highlighter for emphasizing',
|
||
|
||
// ─── Enhanced Notifications ──────────────────────────────────────
|
||
'notifications.today': 'Today',
|
||
'notifications.yesterday': 'Yesterday',
|
||
'notifications.this_week': 'This Week',
|
||
'notifications.earlier': 'Earlier',
|
||
'notifications.mark_read': 'Mark as read',
|
||
'notifications.clear_all': 'Clear all',
|
||
'notifications.type_assessment_due': 'Assessment Due',
|
||
'notifications.type_missing_observation': 'Missing Observation',
|
||
'notifications.type_notebook_shared': 'Notebook Shared',
|
||
'notifications.type_behavior_alert': 'Behavior Alert',
|
||
'notifications.type_grade_computed': 'Grade Computed',
|
||
'notifications.type_attendance_alert': 'Attendance Alert',
|
||
'notifications.type_report_ready': 'Report Ready',
|
||
'notifications.type_general': 'General',
|
||
|
||
// ─── Student Dashboard ──────────────────────────────────────────────
|
||
'student.dashboard_title': 'My Dashboard',
|
||
'student.my_competencies': 'My Competencies',
|
||
'student.my_competencies_desc': 'Overview of your competency development',
|
||
'student.my_grades': 'My Grades',
|
||
'student.my_grades_desc': 'Latest assessment results',
|
||
'student.my_notebooks': 'My Notebooks',
|
||
'student.my_notebooks_desc': 'Quick access to your notebooks',
|
||
'student.my_attendance': 'My Attendance',
|
||
'student.my_attendance_desc': 'Attendance summary',
|
||
'student.upcoming_assessments': 'Upcoming Assessments',
|
||
'student.upcoming_assessments_desc': 'Assessments in the next days',
|
||
'student.no_competencies': 'No competency data yet',
|
||
'student.no_grades': 'No grades yet',
|
||
'student.no_notebooks': 'No notebooks yet',
|
||
'student.no_attendance': 'No attendance data yet',
|
||
'student.no_assessments': 'No upcoming assessments',
|
||
'student.competency_level': 'Competency Level',
|
||
'student.grade_in': 'Grade in',
|
||
'student.days_until': 'days until',
|
||
'student.attendance_rate': 'Attendance Rate',
|
||
'student.present': 'Present',
|
||
'student.absent': 'Absent',
|
||
'student.late': 'Late',
|
||
'student.view_all': 'View all',
|
||
'student.welcome_back': 'Welcome back',
|
||
'student.progress_overview': 'Your Learning Progress',
|
||
'student.papier_sparen_title': 'Save Paper, Protect the Environment',
|
||
'student.papier_sparen_subtitle': 'Digital notebooks instead of paper — With digital notebooks you protect the environment!',
|
||
'student.go_to_notebooks': 'Go to my Notebooks',
|
||
'student.my_notebooks_quick': 'My Notebooks',
|
||
'student.show_all_notebooks': 'Show all notebooks',
|
||
'student.start_learning': 'Start learning',
|
||
'student.learning_progress': 'Learning Progress',
|
||
'student.continue_learning': 'Continue learning',
|
||
'student.subject_progress': 'Subject Progress',
|
||
'student.notebook_math': 'Mathematics',
|
||
'student.notebook_german': 'German',
|
||
'student.notebook_english': 'English',
|
||
'student.notebook_science': 'Sciences',
|
||
'nav.student_competencies': 'My Competencies',
|
||
'nav.student_grades': 'My Grades',
|
||
'nav.student_notebooks': 'My Notebooks',
|
||
'nav.student_attendance': 'My Attendance',
|
||
'role.student': 'Student',
|
||
'role.parent': 'Parent',
|
||
|
||
// Calendar (enhanced - Task 4)
|
||
'calendar.new_event': 'New Event',
|
||
'calendar.edit_event': 'Edit Event',
|
||
'calendar.week_view': 'Week View',
|
||
'calendar.month_view': 'Month View',
|
||
'calendar.all_day': 'All Day',
|
||
'calendar.event_type': 'Event Type',
|
||
'calendar.reminder': 'Reminder',
|
||
'calendar.start_time': 'Start Time',
|
||
'calendar.end_time': 'End Time',
|
||
'calendar.notes': 'Notes',
|
||
'calendar.notes_placeholder': 'Additional notes...',
|
||
'calendar.delete_confirm': 'Delete this event?',
|
||
'calendar.delete_confirm_desc': 'This event will be permanently deleted.',
|
||
'calendar.event_created': 'Event created',
|
||
'calendar.event_updated': 'Event updated',
|
||
'calendar.event_deleted': 'Event deleted',
|
||
'calendar.event_create_error': 'Error creating event',
|
||
'calendar.event_update_error': 'Error updating event',
|
||
'calendar.event_delete_error': 'Error deleting event',
|
||
'calendar.recurring': 'Recurring',
|
||
'calendar.repeat_none': 'Does not repeat',
|
||
'calendar.repeat_daily': 'Daily',
|
||
'calendar.repeat_weekly': 'Weekly',
|
||
'calendar.repeat_monthly': 'Monthly',
|
||
'calendar.repeat_yearly': 'Yearly',
|
||
'calendar.repeat_end': 'Ends',
|
||
'calendar.repeat_end_never': 'Never',
|
||
'calendar.repeat_end_on': 'On date',
|
||
'calendar.repeat_end_after': 'After {count} occurrences',
|
||
'calendar.repeat_interval': 'Interval: {interval}',
|
||
'calendar.repeat_weekdays': 'Days of week',
|
||
'calendar.edit_series': 'Edit series',
|
||
'calendar.edit_instance': 'Edit this instance',
|
||
'reports.generate_pdf': 'Generate PDF Report',
|
||
'reports.template_short': 'Short Report',
|
||
'reports.template_full': 'Full Report',
|
||
'reports.template_custom': 'Custom',
|
||
'reports.template': 'Report Template',
|
||
'reports.batch_generate': 'Generate for entire class',
|
||
'reports.download_history': 'Download History',
|
||
'import.title': 'Data Import',
|
||
'import.csv_upload': 'Upload CSV File',
|
||
'import.format_preview': 'Format Preview',
|
||
'import.progress': 'Import Progress',
|
||
'import.summary': 'Import Summary',
|
||
'import.success': 'Successfully imported',
|
||
'import.errors': 'Import Errors',
|
||
'import.sample_csv': 'Download Sample CSV',
|
||
'export.students': 'Export Students',
|
||
'export.assessments': 'Export Assessments',
|
||
'export.grades': 'Export Grades',
|
||
'export.attendance': 'Export Attendance',
|
||
'export.progress': 'Export Progress',
|
||
|
||
// Dashboard (enhanced - Task 4)
|
||
'dashboard.new_assessment': 'New Assessment',
|
||
'dashboard.record_progress': 'Record Progress',
|
||
'dashboard.my_competencies': 'My Competencies',
|
||
'dashboard.my_grades': 'My Grades',
|
||
'dashboard.paper_saved': 'Paper Saved',
|
||
'dashboard.view_all': 'View All',
|
||
|
||
// Notifications (enhanced - Task 4)
|
||
'notifications.no_notifications': 'No Notifications',
|
||
|
||
// Student (enhanced - Task 4)
|
||
'student.shared_with_me': 'Shared with me',
|
||
|
||
// Student Login & Parent Portal (Task 6)
|
||
'auth.student_login': 'Student Login',
|
||
'auth.parent_login': 'Parent Login',
|
||
'auth.create_student_account': 'Create Student Account',
|
||
'auth.bulk_create': 'Bulk Create',
|
||
'auth.school_id': 'School ID',
|
||
'auth.forgot_password': 'Forgot Password',
|
||
'auth.student_welcome': 'Welcome, Student',
|
||
'auth.parent_welcome': 'Welcome, Parent',
|
||
'auth.login_as_student': 'Login as Student',
|
||
'auth.login_as_parent': 'Login as Parent',
|
||
'auth.student_login_desc': 'Login with school ID or email',
|
||
'auth.parent_login_desc': 'Login with email and password',
|
||
'auth.default_password_set': 'Default password set',
|
||
'auth.bulk_accounts_created': 'Student accounts created',
|
||
'parent.my_children': 'My Children',
|
||
'parent.messages': 'Messages',
|
||
'parent.progress': 'Progress',
|
||
'parent.attendance': 'Attendance',
|
||
'parent.relationship': 'Relationship',
|
||
'parent.father': 'Father',
|
||
'parent.mother': 'Mother',
|
||
'parent.guardian': 'Guardian',
|
||
'parent.dashboard_title': 'Parent Dashboard',
|
||
'parent.welcome_back': 'Welcome back',
|
||
'parent.recent_progress': 'Recent Progress',
|
||
'parent.upcoming_assessments': 'Upcoming Assessments',
|
||
'parent.messages_from_teachers': 'Messages from Teachers',
|
||
'parent.attendance_summary': 'Attendance Summary',
|
||
'parent.no_children': 'No Children Linked',
|
||
'parent.no_children_desc': 'No students are linked to your account yet.',
|
||
'parent.link_student': 'Link Student',
|
||
'parent.add_link': 'Add Link',
|
||
'parent.remove_link': 'Remove Link',
|
||
'parent.select_student': 'Select Student',
|
||
'parent.select_relationship': 'Select Relationship',
|
||
'parent.view_progress': 'View Progress',
|
||
'parent.view_attendance': 'View Attendance',
|
||
'parent.no_messages': 'No Messages',
|
||
'parent.no_assessments': 'No Upcoming Assessments',
|
||
'parent.child_progress_desc': 'Progress over the last 30 days',
|
||
'settings.create_student_account': 'Create Student Account',
|
||
'settings.bulk_create_students': 'Bulk Create Student Accounts',
|
||
'settings.student_account_created': 'Student account created',
|
||
'settings.bulk_accounts_created': 'Student accounts created',
|
||
'settings.default_password': 'Default Password',
|
||
'settings.generate_email': 'Auto-generate Email',
|
||
'settings.link_student': 'Link to Student',
|
||
|
||
// ─── Collaboration & Real-Time ──────────────────────────────────────
|
||
'collab.online_users': '{count} online',
|
||
'collab.editing_by': '{name} is editing...',
|
||
'collab.activity_title': 'Activity',
|
||
'collab.no_activity': 'No activity',
|
||
'collab.started_editing': 'started editing',
|
||
'collab.realtime_connected': 'Real-time connected',
|
||
'collab.realtime_disconnected': 'Real-time disconnected',
|
||
'collab.conflict_resolved': 'Conflict resolved (last write wins)',
|
||
'collab.cursors_visible': 'Other users\' cursors visible',
|
||
'collab.user_joined': '{name} joined',
|
||
'collab.user_left': '{name} left',
|
||
|
||
// ─── Notification Sound ────────────────────────────────────────────
|
||
'settings.notification_sound': 'Notification Sound',
|
||
'settings.notification_sound_desc': 'Play sound for new notifications',
|
||
'settings.notification_sound_enabled': 'Sound enabled',
|
||
'settings.notification_sound_disabled': 'Sound disabled',
|
||
|
||
// ── Rubric Enhancement ──
|
||
'rubrics.templates': 'Templates',
|
||
'rubrics.templates_title': 'Rubric Templates',
|
||
'rubrics.templates_desc': 'Choose a template as a starting point for your rubric',
|
||
'rubrics.use_template': 'Use Template',
|
||
'rubrics.template_math': 'Math — Assessment',
|
||
'rubrics.template_german': 'German — Essay',
|
||
'rubrics.template_english': 'English — Writing Task',
|
||
'rubrics.template_project': 'General — Project Work',
|
||
'rubrics.template_oral': 'General — Oral Presentation',
|
||
'rubrics.no_template': 'Start from scratch',
|
||
'rubrics.grade': 'Grade',
|
||
'rubrics.grade_title': 'Rubric-Based Grading',
|
||
'rubrics.select_level': 'Select level',
|
||
'rubrics.auto_grade': 'Auto-Grade Calculation',
|
||
'rubrics.final_score': 'Final Score',
|
||
'rubrics.grade_result': 'Grade',
|
||
'rubrics.percentage': 'Percentage',
|
||
'rubrics.criterion_breakdown': 'Criterion Breakdown',
|
||
'rubrics.earned_points': 'Earned Points',
|
||
'rubrics.analytics': 'Analytics',
|
||
'rubrics.analytics_title': 'Rubric Analytics',
|
||
'rubrics.class_performance': 'Class Performance by Criterion',
|
||
'rubrics.grade_distribution': 'Grade Distribution',
|
||
'rubrics.average_score': 'Average',
|
||
'rubrics.highest_score': 'Highest Score',
|
||
'rubrics.lowest_score': 'Lowest Score',
|
||
'rubrics.export_pdf': 'Export as PDF',
|
||
'rubrics.export_print': 'Print',
|
||
'rubrics.score_sheet': 'Score Sheet',
|
||
'rubrics.select_student': 'Select Student',
|
||
'rubrics.select_rubric': 'Select Rubric',
|
||
|
||
// ── Curriculum Standards ──
|
||
'curriculum.title': 'Curriculum Mapping',
|
||
'curriculum.subtitle': 'Link competencies to curriculum standards',
|
||
'curriculum.standards': 'Curriculum Standards',
|
||
'curriculum.create_standard': 'Create Standard',
|
||
'curriculum.edit_standard': 'Edit Standard',
|
||
'curriculum.code': 'Code',
|
||
'curriculum.standard_title': 'Title',
|
||
'curriculum.description': 'Description',
|
||
'curriculum.grade_level': 'Grade Level',
|
||
'curriculum.category': 'Category',
|
||
'curriculum.source': 'Source',
|
||
'curriculum.subject': 'Subject',
|
||
'curriculum.coverage': 'Coverage',
|
||
'curriculum.coverage_visualization': 'Coverage Visualization',
|
||
'curriculum.gap_analysis': 'Gap Analysis',
|
||
'curriculum.gap_title': 'Standards without Competency Links',
|
||
'curriculum.no_gaps': 'All standards are linked to competencies',
|
||
'curriculum.progress_tracking': 'Progress Tracking',
|
||
'curriculum.heatmap': 'Coverage Heatmap',
|
||
'curriculum.link_competency': 'Link Competency',
|
||
'curriculum.unlink_competency': 'Unlink Competency',
|
||
'curriculum.coverage_level': 'Coverage Level',
|
||
'curriculum.coverage_full': 'Full',
|
||
'curriculum.coverage_partial': 'Partial',
|
||
'curriculum.coverage_related': 'Related',
|
||
'curriculum.notes': 'Notes',
|
||
'curriculum.linked_competencies': 'Linked Competencies',
|
||
'curriculum.no_links': 'No competencies linked',
|
||
'curriculum.standards_count': 'Standards',
|
||
'curriculum.linked_count': 'Linked',
|
||
'curriculum.unlinked_count': 'Unlinked',
|
||
'curriculum.coverage_percent': 'Coverage %',
|
||
'curriculum.search_standards': 'Search standards...',
|
||
'curriculum.all_subjects': 'All Subjects',
|
||
'curriculum.all_grades': 'All Grade Levels',
|
||
'curriculum.all_sources': 'All Sources',
|
||
'curriculum.delete_standard': 'Delete Standard',
|
||
'curriculum.delete_standard_desc': 'Are you sure you want to delete this standard? This action cannot be undone.',
|
||
'curriculum.empty_title': 'No Standards Yet',
|
||
'curriculum.empty_desc': 'Create your first curriculum standard to map competencies.',
|
||
'curriculum.select_competency': 'Select Competency',
|
||
'curriculum.search_competency': 'Search competency...',
|
||
'curriculum.mastery_progress': 'Mastery Progress',
|
||
'curriculum.students_mastered': 'Students have mastered this standard',
|
||
|
||
// ── Attendance Analytics ──
|
||
'attendance.analytics': 'Analytics',
|
||
'attendance.analytics_title': 'Attendance Analytics',
|
||
'attendance.trends': 'Trends',
|
||
'attendance.weekly_trend': 'Weekly Trend',
|
||
'attendance.attendance_rate_over_time': 'Attendance Rate Over Time',
|
||
'attendance.absence_rate_over_time': 'Absence Rate Over Time',
|
||
'attendance.day_of_week': 'Day of Week Analysis',
|
||
'attendance.absences_by_day': 'Absences by Day of Week',
|
||
'attendance.chronic_absence': 'Chronic Absence',
|
||
'attendance.chronic_absence_desc': 'Students with 10% or higher absence rate',
|
||
'attendance.risk_indicators': 'Risk Indicators',
|
||
'attendance.risk_low': 'Low Risk',
|
||
'attendance.risk_medium': 'Medium Risk',
|
||
'attendance.risk_high': 'High Risk',
|
||
'attendance.risk_critical': 'Critical Risk',
|
||
'attendance.class_comparison': 'Class Comparison',
|
||
'attendance.attendance_by_class': 'Attendance by Class',
|
||
'attendance.status_distribution': 'Status Distribution',
|
||
'attendance.export_csv': 'Export as CSV',
|
||
'attendance.week': 'Week',
|
||
'attendance.rate_percent': 'Rate %',
|
||
'attendance.absent_count_long': 'Absences',
|
||
'attendance.total_sessions': 'Total Sessions',
|
||
'attendance.total_records': 'Total Records',
|
||
'attendance.no_analytics_data': 'No Analytics Data Available',
|
||
'attendance.no_analytics_desc': 'Create attendance sessions to see analytics.',
|
||
|
||
// ── Backup (Task 10) ──
|
||
'backup.title': 'Datensicherung',
|
||
'backup.create': 'Sicherung erstellen',
|
||
'backup.restore': 'Sicherung wiederherstellen',
|
||
'backup.delete': 'Sicherung löschen',
|
||
'backup.auto': 'Automatische Sicherung',
|
||
'backup.daily': 'Täglich',
|
||
'backup.weekly': 'Wöchentlich',
|
||
'backup.last': 'Letzte Sicherung',
|
||
'backup.size': 'Größe',
|
||
'backup.status': 'Status',
|
||
'backup.completed': 'Abgeschlossen',
|
||
'backup.failed': 'Fehlgeschlagen',
|
||
'backup.pending': 'Ausstehend',
|
||
'backup.no_backups': 'Keine Sicherungen vorhanden',
|
||
'backup.no_backups_desc': 'Erstellen Sie Ihre erste Datensicherung.',
|
||
'backup.create_confirm': 'Sicherung erstellen?',
|
||
'backup.create_confirm_desc': 'Es wird eine vollständige Sicherung aller Daten erstellt.',
|
||
'backup.restore_confirm': 'Sicherung wiederherstellen?',
|
||
'backup.restore_confirm_desc': 'Die aktuellen Daten werden durch die Sicherung ersetzt. Diese Aktion kann nicht rückgängig gemacht werden.',
|
||
'backup.delete_confirm': 'Sicherung löschen?',
|
||
'backup.delete_confirm_desc': 'Diese Sicherung wird unwiderruflich gelöscht.',
|
||
'backup.creating': 'Sicherung wird erstellt...',
|
||
'backup.restoring': 'Sicherung wird wiederhergestellt...',
|
||
'backup.type': 'Typ',
|
||
'backup.type_full': 'Vollständig',
|
||
'backup.type_incremental': 'Inkrementell',
|
||
'backup.notes': 'Notizen',
|
||
'backup.download': 'Sicherung herunterladen',
|
||
'backup.created_success': 'Sicherung erfolgreich erstellt',
|
||
'backup.restored_success': 'Sicherung erfolgreich wiederhergestellt',
|
||
'backup.deleted_success': 'Sicherung gelöscht',
|
||
'backup.error_create': 'Fehler beim Erstellen der Sicherung',
|
||
'backup.error_restore': 'Fehler beim Wiederherstellen der Sicherung',
|
||
'backup.error_delete': 'Fehler beim Löschen der Sicherung',
|
||
|
||
// ── Performance (Task 10) ──
|
||
'performance.title': 'Leistung',
|
||
'performance.fps': 'Bilder pro Sekunde',
|
||
'mobile.optimized': 'Für mobile Geräte optimiert',
|
||
|
||
// ── Report Scheduling (Task 13) ──
|
||
'schedules.title': 'Report Scheduling',
|
||
'schedules.frequency': 'Frequency',
|
||
'schedules.weekly': 'Weekly',
|
||
'schedules.monthly': 'Monthly',
|
||
'schedules.quarterly': 'Quarterly',
|
||
'schedules.end_of_term': 'End of Term',
|
||
'schedules.next_run': 'Next Run',
|
||
'schedules.last_run': 'Last Run',
|
||
'schedules.manual_run': 'Run Manually',
|
||
'schedules.recipients': 'Recipients',
|
||
'schedules.include_students': 'Include Students',
|
||
'schedules.include_grades': 'Include Grades',
|
||
'schedules.include_attendance': 'Include Attendance',
|
||
'schedules.include_behavior': 'Include Behavior',
|
||
'schedules.include_competencies': 'Include Competencies',
|
||
'schedules.create_schedule': 'Create Schedule',
|
||
'schedules.edit_schedule': 'Edit Schedule',
|
||
'schedules.delete_schedule': 'Delete Schedule',
|
||
'schedules.active': 'Active',
|
||
'schedules.inactive': 'Inactive',
|
||
'schedules.no_schedules': 'No report schedules found',
|
||
'schedules.no_schedules_desc': 'Create your first report schedule.',
|
||
'schedules.running': 'Running...',
|
||
'schedules.run_success': 'Report generated successfully',
|
||
'schedules.run_error': 'Error generating report',
|
||
'schedules.day_of_week': 'Day of Week',
|
||
'schedules.day_of_month': 'Day of Month',
|
||
'schedules.month_of_year': 'Month',
|
||
'schedules.template': 'Template',
|
||
'schedules.all_classes': 'All Classes',
|
||
'schedules.timeline': 'Timeline',
|
||
'schedules.confirm_delete': 'Delete schedule?',
|
||
'schedules.confirm_delete_desc': 'This report schedule will be permanently deleted.',
|
||
'schedules.confirm_run': 'Run manually?',
|
||
'schedules.confirm_run_desc': 'The report will be generated immediately and sent to recipients.',
|
||
'schedules.toggle_active': 'Activate/Deactivate',
|
||
|
||
// ── School District (Task 13) ──
|
||
'district.title': 'School District',
|
||
'district.schools': 'Schools',
|
||
'district.comparison': 'School Comparison',
|
||
'district.analytics': 'District Analytics',
|
||
'district.create': 'Create District',
|
||
'district.edit': 'Edit District',
|
||
'district.delete': 'Delete District',
|
||
'district.assign_school': 'Assign School',
|
||
'district.unassign_school': 'Remove School',
|
||
'district.name': 'Name',
|
||
'district.code': 'District Code',
|
||
'district.region': 'Region',
|
||
'district.country': 'Country',
|
||
'district.admin_email': 'Admin Email',
|
||
'district.no_districts': 'No school districts found',
|
||
'district.no_districts_desc': 'Create your first school district.',
|
||
'district.school_count': 'School Count',
|
||
'district.student_count': 'Student Count',
|
||
'district.confirm_delete': 'Delete district?',
|
||
'district.confirm_delete_desc': 'This district will be deleted. Associated schools will remain.',
|
||
'district.top_performing': 'Top Performing',
|
||
'district.needs_attention': 'Needs Attention',
|
||
'district.avg_attendance': 'Average Attendance',
|
||
'district.competency_coverage': 'Competency Coverage',
|
||
'district.no_schools_assigned': 'No schools assigned',
|
||
'district.select_school': 'Select School',
|
||
'district.cross_school_comparison': 'Cross-School Comparison',
|
||
'district.total_students': 'Total Students',
|
||
'district.total_classes': 'Total Classes',
|
||
'district.total_teachers': 'Total Teachers',
|
||
'district.management': 'District Management',
|
||
'district.overview': 'Overview',
|
||
'district.teacher_count': 'Teacher Count',
|
||
'district.add_district': 'Add District',
|
||
'district.edit_district': 'Edit District',
|
||
'district.delete_district': 'Delete District',
|
||
'district.no_schools': 'No schools found',
|
||
'district.remove_school': 'Remove School',
|
||
'district.performance_comparison': 'Performance Comparison',
|
||
'district.recent_activity': 'Recent Activity',
|
||
'district.active': 'Active',
|
||
'district.inactive': 'Inactive',
|
||
'district.details': 'Details',
|
||
'district.save_success': 'District saved successfully',
|
||
'district.delete_success': 'District deleted successfully',
|
||
'district.school_assigned': 'School assigned successfully',
|
||
'district.school_removed': 'School removed successfully',
|
||
'district.unassigned_schools': 'Unassigned Schools',
|
||
'district.no_unassigned_schools': 'All schools are assigned',
|
||
'district.all_schools': 'All Schools',
|
||
'district.search_districts': 'Search districts',
|
||
'district.overview_stats': 'District Statistics',
|
||
'district.avg_performance': 'Average Performance',
|
||
'district.school_type': 'School Type',
|
||
'district.select_district': 'Select District',
|
||
'district.district_info': 'District Information',
|
||
'district.activity_created': 'District created',
|
||
'district.activity_updated': 'District updated',
|
||
'district.activity_school_added': 'School added',
|
||
'district.activity_school_removed': 'School removed',
|
||
'district.performance_score': 'Performance Score',
|
||
'district.attendance_rate': 'Attendance Rate',
|
||
'district.student_teacher_ratio': 'Student-Teacher Ratio',
|
||
'nav.districts': 'District Management',
|
||
'nav.subjects': 'Subjects',
|
||
'nav.student-portal': 'My Portal',
|
||
|
||
// PWA / Offline
|
||
'pwa.offline': 'You are offline',
|
||
'pwa.offline_desc': 'Your data is being loaded from cache.',
|
||
'pwa.back_online': 'Back online',
|
||
'pwa.back_online_desc': 'Your connection has been restored.',
|
||
'pwa.cached_data': 'Cached data',
|
||
'pwa.install_app': 'Install App',
|
||
'pwa.install_app_desc': 'Install CompetenceTrack as an app on your device.',
|
||
'pwa.install': 'Install',
|
||
'pwa.installed': 'App installed',
|
||
'pwa.installed_desc': 'CompetenceTrack has been successfully installed as an app.',
|
||
'pwa.install_accepted': 'Installation started',
|
||
'pwa.update_available': 'Update available',
|
||
'pwa.update_available_desc': 'A new version is available. Reload the page to update.',
|
||
'pwa.reload': 'Reload',
|
||
'pwa.offline_mode': 'Offline Mode',
|
||
'pwa.pending_sync': '{count} pending synchronizations',
|
||
'pwa.sync_complete': 'Sync complete',
|
||
'pwa.sync_complete_desc': '{count} changes were successfully synchronized.',
|
||
'pwa.notebook_cached': 'Available offline',
|
||
'pwa.notebook_cached_desc': 'This notebook is saved for offline use.',
|
||
'pwa.cache_notebook': 'Save offline',
|
||
'pwa.cache_notebook_desc': 'Save notebook for offline access.',
|
||
'pwa.cached_at': 'Cached at',
|
||
'pwa.queued_edits': 'Pending changes',
|
||
'pwa.queued_edits_desc': '{count} changes will be synced when you are back online.',
|
||
|
||
// Rate Limiting
|
||
'rate_limit.title': 'Too many requests',
|
||
'rate_limit.description': 'Please wait {retryAfter} before trying again.',
|
||
'rate_limit.status_title': 'Rate Limit Status',
|
||
'rate_limit.active_entries': 'Active entries',
|
||
'rate_limit.top_consumers': 'Top consumers',
|
||
'rate_limit.requests': 'requests',
|
||
'rate_limit.no_active': 'No active rate limits',
|
||
'rate_limit.unavailable': 'Rate limit status unavailable',
|
||
'rate_limit.auth_limit': 'Auth limit: 5/min',
|
||
'rate_limit.data_limit': 'Data limit: 60/min',
|
||
'rate_limit.write_limit': 'Write limit: 30/min',
|
||
'rate_limit.heavy_limit': 'Heavy limit: 10/5min',
|
||
|
||
// Self-Assessment
|
||
'self_assessment.title': 'Self-Assessment',
|
||
'self_assessment.self_level': 'Self-Assessed Level',
|
||
'self_assessment.confidence': 'Confidence',
|
||
'self_assessment.reflection': 'Reflection',
|
||
'self_assessment.evidence': 'Evidence',
|
||
'self_assessment.create': 'Create Self-Assessment',
|
||
'self_assessment.edit': 'Edit Self-Assessment',
|
||
'self_assessment.compare': 'Self vs. Teacher Comparison',
|
||
'self_assessment.no_assessments': 'No self-assessments yet',
|
||
'self_assessment.level': 'Level',
|
||
'self_assessment.comparison_chart': 'Comparison Chart',
|
||
'self_assessment.self': 'Self',
|
||
'self_assessment.teacher': 'Teacher',
|
||
'self_assessment.gap': 'Gap',
|
||
'self_assessment.add_new': 'New Self-Assessment',
|
||
'self_assessment.competency': 'Competency',
|
||
|
||
// Learning Goals
|
||
'learning_goal.title': 'Learning Goals',
|
||
'learning_goal.create': 'Create Learning Goal',
|
||
'learning_goal.edit': 'Edit Learning Goal',
|
||
'learning_goal.goal_title': 'Goal',
|
||
'learning_goal.description': 'Description',
|
||
'learning_goal.target_level': 'Target Level',
|
||
'learning_goal.current_level': 'Current Level',
|
||
'learning_goal.deadline': 'Deadline',
|
||
'learning_goal.status': 'Status',
|
||
'learning_goal.progress': 'Progress',
|
||
'learning_goal.active': 'Active',
|
||
'learning_goal.completed': 'Completed',
|
||
'learning_goal.abandoned': 'Abandoned',
|
||
'learning_goal.no_goals': 'No learning goals yet',
|
||
'learning_goal.my_goals': 'My Goals',
|
||
'learning_goal.days_left': 'days left',
|
||
'learning_goal.overdue': 'Overdue',
|
||
'learning_goal.celebration': 'Goal achieved! Congratulations!',
|
||
'learning_goal.add_new': 'New Goal',
|
||
|
||
// Portfolio
|
||
'portfolio.title': 'Portfolio',
|
||
'portfolio.create': 'Create Portfolio Entry',
|
||
'portfolio.edit': 'Edit Entry',
|
||
'portfolio.entry_title': 'Title',
|
||
'portfolio.description': 'Description',
|
||
'portfolio.entry_type': 'Entry Type',
|
||
'portfolio.content': 'Content',
|
||
'portfolio.tags': 'Tags',
|
||
'portfolio.public': 'Public',
|
||
'portfolio.private': 'Private',
|
||
'portfolio.no_entries': 'No portfolio entries yet',
|
||
'portfolio.filter_by_type': 'Filter by type',
|
||
'portfolio.filter_by_tag': 'Filter by tag',
|
||
'portfolio.timeline': 'Timeline',
|
||
'portfolio.grid': 'Grid',
|
||
'portfolio.linked_competency': 'Linked Competency',
|
||
'portfolio.artwork': 'Artwork',
|
||
'portfolio.writing': 'Writing',
|
||
'portfolio.project': 'Project',
|
||
'portfolio.presentation': 'Presentation',
|
||
'portfolio.achievement': 'Achievement',
|
||
'portfolio.reflection': 'Reflection',
|
||
'portfolio.all_types': 'All Types',
|
||
'portfolio.add_new': 'New Entry',
|
||
'nav.portfolio': 'Portfolio',
|
||
'nav.timetable': 'Timetable',
|
||
'nav.resources': 'Resources',
|
||
'nav.competitions': 'Competitions',
|
||
|
||
// Navigation - Homework
|
||
'nav.homework': 'Homework',
|
||
|
||
// Homework
|
||
'homework.title': 'Homework',
|
||
'homework.subtitle': 'Manage homework and track submissions',
|
||
'homework.create': 'Create Homework',
|
||
'homework.create_title': 'Create New Homework',
|
||
'homework.create_description': 'Create a new homework assignment for a class.',
|
||
'homework.field_title': 'Title',
|
||
'homework.field_title_placeholder': 'Homework title',
|
||
'homework.field_class': 'Class',
|
||
'homework.field_class_placeholder': 'Select class',
|
||
'homework.field_subject': 'Subject',
|
||
'homework.field_subject_placeholder': 'Select subject',
|
||
'homework.field_type': 'Type',
|
||
'homework.field_due_date': 'Due Date',
|
||
'homework.field_max_points': 'Max Points',
|
||
'homework.field_max_points_placeholder': 'Optional',
|
||
'homework.field_description': 'Description',
|
||
'homework.field_description_placeholder': 'Homework description...',
|
||
'homework.field_published': 'Published',
|
||
'homework.no_subject': 'No Subject',
|
||
'homework.total': 'Total',
|
||
'homework.overdue': 'Overdue',
|
||
'homework.upcoming': 'Upcoming',
|
||
'homework.due_today': 'Due today',
|
||
'homework.due_tomorrow': 'Due tomorrow',
|
||
'homework.due_in_days': 'Due in {days} days',
|
||
'homework.overdue_days': '{days} days overdue',
|
||
'homework.points': 'points',
|
||
'homework.draft': 'Draft',
|
||
'homework.submissions': 'Submissions',
|
||
'homework.submissions_count': 'submissions',
|
||
'homework.no_submissions': 'No submissions yet',
|
||
'homework.no_homework': 'No homework found',
|
||
'homework.search_placeholder': 'Search homework...',
|
||
'homework.filter_class': 'Filter class',
|
||
'homework.filter_subject': 'Filter subject',
|
||
'homework.filter_type': 'Filter type',
|
||
'homework.filter_status': 'Filter status',
|
||
'homework.all_classes': 'All Classes',
|
||
'homework.all_subjects': 'All Subjects',
|
||
'homework.all_types': 'All Types',
|
||
'homework.all_status': 'All Status',
|
||
'homework.type_assignment': 'Assignment',
|
||
'homework.type_reading': 'Reading',
|
||
'homework.type_project': 'Project',
|
||
'homework.type_practice': 'Practice',
|
||
'homework.type_research': 'Research',
|
||
'homework.status_pending': 'Pending',
|
||
'homework.status_submitted': 'Submitted',
|
||
'homework.status_graded': 'Graded',
|
||
'homework.status_late': 'Late',
|
||
'homework.grade': 'Grade',
|
||
'homework.regrade': 'Re-grade',
|
||
'homework.grade_title': 'Grade Submission',
|
||
'homework.grade_success': 'Grade saved',
|
||
'homework.grade_error': 'Error grading submission',
|
||
'homework.save_grade': 'Save Grade',
|
||
'homework.score': 'Score',
|
||
'homework.max_points': 'Max Points',
|
||
'homework.feedback': 'Feedback',
|
||
'homework.feedback_placeholder': 'Feedback for the student...',
|
||
'homework.saving': 'Saving...',
|
||
'homework.creating': 'Creating...',
|
||
'homework.create_success': 'Homework created',
|
||
'homework.create_error': 'Error creating homework',
|
||
'homework.update_success': 'Homework updated',
|
||
'homework.update_error': 'Error updating homework',
|
||
'homework.delete_success': 'Homework deleted',
|
||
'homework.delete_error': 'Error deleting homework',
|
||
'homework.confirm_delete': 'Are you sure you want to delete this homework?',
|
||
'homework.edit_title': 'Edit Homework',
|
||
'homework.edit_description': 'Edit the details of the homework.',
|
||
'homework.submit_work': 'Submit Homework',
|
||
'homework.submit_title': 'Submit Homework',
|
||
'homework.submit': 'Submit',
|
||
'homework.submitting': 'Submitting...',
|
||
'homework.submit_success': 'Successfully submitted',
|
||
'homework.submit_error': 'Error submitting',
|
||
'homework.your_answer': 'Your Answer',
|
||
'homework.your_answer_placeholder': 'Write your answer here...',
|
||
'homework.due_soon': 'Due Soon',
|
||
'homework.no_due_soon': 'No homework due soon',
|
||
'homework.view_all': 'View All',
|
||
'homework.my_homework': 'My Homework',
|
||
'homework.load_error': 'Error loading homework',
|
||
'homework.no_homework_hint': 'No homework has been created yet.',
|
||
'homework.view_grid': 'Grid View',
|
||
'homework.view_list': 'List View',
|
||
'homework.view_calendar': 'Calendar View',
|
||
'homework.sat_short': 'Sat',
|
||
'homework.sun_short': 'Sun',
|
||
|
||
// Announcements
|
||
'announcement.title': 'Announcements',
|
||
'announcement.create': 'Create Announcement',
|
||
'announcement.create_title': 'Create New Announcement',
|
||
'announcement.create_description': 'Create a new announcement for your school.',
|
||
'announcement.create_success': 'Announcement created',
|
||
'announcement.create_error': 'Error creating announcement',
|
||
'announcement.creating': 'Creating...',
|
||
'announcement.field_title': 'Title',
|
||
'announcement.field_title_placeholder': 'Announcement title',
|
||
'announcement.field_content': 'Content',
|
||
'announcement.field_content_placeholder': 'Announcement content...',
|
||
'announcement.field_priority': 'Priority',
|
||
'announcement.field_target': 'Target Audience',
|
||
'announcement.priority_low': 'Low',
|
||
'announcement.priority_normal': 'Normal',
|
||
'announcement.priority_high': 'High',
|
||
'announcement.priority_urgent': 'Urgent',
|
||
'announcement.target_all': 'All',
|
||
'announcement.target_teachers': 'Teachers',
|
||
'announcement.target_students': 'Students',
|
||
'announcement.target_parents': 'Parents',
|
||
'announcement.no_announcements': 'No announcements available',
|
||
'announcement.dismiss': 'Dismiss',
|
||
|
||
// ─── Advanced Analytics ──────────────────────────────────────────
|
||
'analytics.school_overview': 'School Overview',
|
||
'analytics.student_performance': 'Student Performance',
|
||
'analytics.teacher_performance': 'Teacher Performance',
|
||
'analytics.predictive': 'Predictive',
|
||
'analytics.at_risk': 'At Risk',
|
||
'analytics.excelling': 'Excelling',
|
||
'analytics.needs_attention': 'Needs Attention',
|
||
'analytics.export_chart': 'Export Chart',
|
||
'analytics.export_csv': 'Export CSV',
|
||
'analytics.print_report': 'Print Report',
|
||
'analytics.student_teacher_ratio': 'Student-to-Teacher Ratio',
|
||
'analytics.competency_coverage': 'Competency Coverage',
|
||
'analytics.avg_mastery_subject': 'Avg Mastery per Subject',
|
||
'analytics.attendance_trend': 'Attendance Trend',
|
||
'analytics.behavior_trend': 'Behavior Trend',
|
||
'analytics.mastery_histogram': 'Mastery Distribution (Histogram)',
|
||
'analytics.progress_over_time': 'Progress Over Time',
|
||
'analytics.subject_comparison': 'Subject Comparison',
|
||
'analytics.assessment_distribution': 'Assessment Score Distribution',
|
||
'analytics.self_vs_teacher': 'Self-Assessment vs Teacher Assessment',
|
||
'analytics.gap_analysis': 'Gap Analysis',
|
||
'analytics.self_assessment': 'Self-Assessment',
|
||
'analytics.teacher_assessment': 'Teacher Assessment',
|
||
'analytics.radar_comparison': 'Radar Comparison',
|
||
'analytics.heatmap_coverage': 'Competency Coverage (Heatmap)',
|
||
'analytics.ranking_table': 'Ranking Table',
|
||
'analytics.assessments_per_teacher': 'Assessments per Teacher',
|
||
'analytics.progress_per_teacher': 'Progress per Teacher',
|
||
'analytics.improvement_rate': 'Improvement Rate',
|
||
'analytics.notebook_usage': 'Notebook Usage',
|
||
'analytics.students_at_risk': 'Students at Risk',
|
||
'analytics.students_excelling': 'Students Excelling',
|
||
'analytics.areas_needing_attention': 'Areas Needing Attention',
|
||
'analytics.risk_trend': 'Risk Trend',
|
||
'analytics.excelling_trend': 'Excelling Students Trend',
|
||
'analytics.attendance_rate': 'Attendance Rate',
|
||
'analytics.behavior_incidents': 'Behavior Incidents',
|
||
'analytics.total_classes': 'Classes',
|
||
'analytics.total_teachers': 'Teachers',
|
||
'analytics.total_competencies': 'Competencies',
|
||
'analytics.coverage_pct': 'Covered',
|
||
'analytics.uncovered_pct': 'Uncovered',
|
||
'analytics.score': 'Score',
|
||
'analytics.gap': 'Gap',
|
||
'analytics.rank': 'Rank',
|
||
'analytics.entries': 'Entries',
|
||
'analytics.improvement': 'Improvement',
|
||
'analytics.export_png': 'Export PNG',
|
||
'analytics.no_export_data': 'No data to export',
|
||
'analytics.class_dim_mastery': 'Mastery',
|
||
'analytics.class_dim_attendance': 'Attendance',
|
||
'analytics.class_dim_engagement': 'Engagement',
|
||
'analytics.class_dim_progress': 'Progress',
|
||
'analytics.class_dim_behavior': 'Behavior',
|
||
'analytics.self_level': 'Self Level',
|
||
'analytics.teacher_level': 'Teacher Level',
|
||
'analytics.section_school': 'School Overview',
|
||
'analytics.section_performance': 'Performance',
|
||
'analytics.section_class': 'Classes',
|
||
'analytics.section_teacher': 'Teachers',
|
||
'analytics.section_predictive': 'Predictive',
|
||
'analytics.section_export': 'Export',
|
||
|
||
// ─── Accessibility ───────────────────────────────────────────────
|
||
'accessibility.skip_to_content': 'Skip to content',
|
||
'accessibility.high_contrast': 'High Contrast',
|
||
'accessibility.reduced_motion': 'Reduced Motion',
|
||
'accessibility.keyboard_shortcuts': 'Keyboard Shortcuts',
|
||
'accessibility.shortcut_desc': 'Keyboard shortcuts for navigation',
|
||
|
||
// Timetable
|
||
'timetable.title': 'Timetable',
|
||
'timetable.monday': 'Monday',
|
||
'timetable.tuesday': 'Tuesday',
|
||
'timetable.wednesday': 'Wednesday',
|
||
'timetable.thursday': 'Thursday',
|
||
'timetable.friday': 'Friday',
|
||
'timetable.period': 'Period',
|
||
'timetable.break': 'Break',
|
||
'timetable.add_slot': 'Add Slot',
|
||
'timetable.edit_slot': 'Edit Slot',
|
||
'timetable.no_subject': 'No Subject',
|
||
'timetable.print': 'Print Timetable',
|
||
'timetable.class_view': 'Class View',
|
||
'timetable.room': 'Room',
|
||
'timetable.start_time': 'Start Time',
|
||
'timetable.end_time': 'End Time',
|
||
'timetable.subject': 'Subject',
|
||
'timetable.teacher': 'Teacher',
|
||
'timetable.day': 'Day',
|
||
'timetable.period_num': 'Period {n}',
|
||
'timetable.no_slots': 'No slots available',
|
||
'timetable.select_class': 'Select Class',
|
||
'timetable.batch_create': 'Create Timetable',
|
||
'timetable.delete_slot': 'Delete Slot',
|
||
'timetable.break_period': 'Break',
|
||
'timetable.drag_hint': 'Drag to move',
|
||
'timetable.current_period': 'Current Period {period}',
|
||
'timetable.today': 'Today',
|
||
'timetable.legend': 'Legend',
|
||
'timetable.load_error': 'Error loading timetable',
|
||
'timetable.select_class_hint': 'Select a class to view the timetable.',
|
||
'timetable.no_slots_hint': 'Click on a cell to add a slot.',
|
||
'timetable.room_placeholder': 'e.g. Room 101',
|
||
'timetable.mon_short': 'Mon',
|
||
'timetable.tue_short': 'Tue',
|
||
'timetable.wed_short': 'Wed',
|
||
'timetable.thu_short': 'Thu',
|
||
'timetable.fri_short': 'Fri',
|
||
|
||
// Resources
|
||
'resources.title': 'Resources',
|
||
'resources.library': 'Resource Library',
|
||
'resources.upload': 'Upload',
|
||
'resources.type': 'Type',
|
||
'resources.document': 'Document',
|
||
'resources.worksheet': 'Worksheet',
|
||
'resources.presentation': 'Presentation',
|
||
'resources.video': 'Video',
|
||
'resources.link': 'Link',
|
||
'resources.image': 'Image',
|
||
'resources.audio': 'Audio',
|
||
'resources.download': 'Download',
|
||
'resources.downloads': 'Downloads',
|
||
'resources.preview': 'Preview',
|
||
'resources.favorite': 'Favorite',
|
||
'resources.create': 'Create Resource',
|
||
'resources.edit': 'Edit Resource',
|
||
'resources.search': 'Search Resources',
|
||
'resources.filter_type': 'Filter by Type',
|
||
'resources.filter_subject': 'Filter by Subject',
|
||
'resources.all_types': 'All Types',
|
||
'resources.all_subjects': 'All Subjects',
|
||
'resources.public': 'Public',
|
||
'resources.private': 'Private',
|
||
'resources.toggle_public': 'Public/Private',
|
||
'resources.no_resources': 'No resources available',
|
||
'resources.title_field': 'Title',
|
||
'resources.description_field': 'Description',
|
||
'resources.url_field': 'URL',
|
||
'resources.content_field': 'Content',
|
||
'resources.subject_field': 'Subject',
|
||
'resources.class_field': 'Class',
|
||
'resources.grade_field': 'Grade Level',
|
||
'resources.tags_field': 'Tags',
|
||
'resources.add_tag': 'Add Tag',
|
||
'resources.delete_confirm': 'Are you sure you want to delete this resource?',
|
||
'resources.load_error': 'Error loading resources',
|
||
'resources.no_favorites': 'No Favorites',
|
||
'resources.no_favorites_hint': 'Mark resources as favorite to see them here.',
|
||
'resources.no_resources_hint': 'Create a new resource to get started.',
|
||
'resources.create_description': 'Create a new resource for the classroom.',
|
||
'resources.tags_placeholder': 'Tag1, Tag2, ...',
|
||
'resources.category_all': 'All',
|
||
'resources.category_worksheets': 'Worksheets',
|
||
'resources.category_presentations': 'Presentations',
|
||
'resources.category_videos': 'Videos',
|
||
'resources.category_links': 'Links',
|
||
'resources.category_favorites': 'Favorites',
|
||
|
||
// ─── School Branding ──────────────────────────────────────────────
|
||
'branding.title': 'School Branding',
|
||
'branding.logo': 'Logo',
|
||
'branding.logo_url': 'Logo URL',
|
||
'branding.logo_placeholder': 'https://school.edu/logo.png',
|
||
'branding.primary_color': 'Primary Color',
|
||
'branding.secondary_color': 'Secondary Color',
|
||
'branding.accent_color': 'Accent Color',
|
||
'branding.font': 'Font Family',
|
||
'branding.motto': 'School Motto',
|
||
'branding.motto_placeholder': 'Learning together, growing together',
|
||
'branding.website': 'Website',
|
||
'branding.website_placeholder': 'https://school.edu',
|
||
'branding.preview': 'Preview',
|
||
'branding.custom_css': 'Custom CSS',
|
||
'branding.custom_css_placeholder': '/* Custom CSS overrides */',
|
||
'branding.email_domain': 'Email Domain',
|
||
'branding.email_domain_placeholder': '@school.edu',
|
||
'branding.address': 'Address',
|
||
'branding.phone': 'Phone',
|
||
'branding.saved': 'Branding saved',
|
||
'branding.tab': 'Branding',
|
||
'branding.colors': 'Colors',
|
||
'branding.typography': 'Typography',
|
||
'branding.contact': 'Contact Information',
|
||
'branding.reset': 'Reset',
|
||
|
||
// ─── Email Templates ──────────────────────────────────────────────
|
||
'email.templates': 'Email Templates',
|
||
'email.templates_title': 'Email Templates',
|
||
'email.templates_desc': 'Email templates for automated notifications',
|
||
'email.weekly_report': 'Weekly Report',
|
||
'email.assessment_reminder': 'Assessment Reminder',
|
||
'email.behavior_alert': 'Behavior Alert',
|
||
'email.attendance_notice': 'Attendance Notice',
|
||
'email.welcome': 'Welcome',
|
||
'email.send_test': 'Send Test Email',
|
||
'email.send_test_desc': 'Send a preview email to your address',
|
||
'email.log': 'Email Log',
|
||
'email.log_title': 'Email Delivery Log',
|
||
'email.smtp': 'SMTP Configuration',
|
||
'email.smtp_host': 'SMTP Server',
|
||
'email.smtp_port': 'Port',
|
||
'email.smtp_user': 'Username',
|
||
'email.smtp_password': 'Password',
|
||
'email.smtp_from': 'From Address',
|
||
'email.frequency': 'Email Frequency',
|
||
'email.frequency_daily': 'Daily',
|
||
'email.frequency_weekly': 'Weekly',
|
||
'email.frequency_monthly': 'Monthly',
|
||
'email.auto_reports': 'Send reports automatically',
|
||
'email.auto_behavior': 'Send behavior alerts',
|
||
'email.auto_attendance': 'Send attendance notices',
|
||
'email.template_name': 'Name',
|
||
'email.template_subject': 'Subject',
|
||
'email.template_body': 'Body',
|
||
'email.template_variables': 'Available Variables',
|
||
'email.template_preview': 'Preview',
|
||
'email.template_create': 'Create Template',
|
||
'email.template_edit': 'Edit Template',
|
||
'email.template_delete': 'Delete Template',
|
||
'email.template_delete_confirm': 'Are you sure you want to delete this template?',
|
||
'email.template_default': 'Default Template',
|
||
'email.status_sent': 'Sent',
|
||
'email.status_failed': 'Failed',
|
||
'email.status_pending': 'Pending',
|
||
'email.status_bounced': 'Bounced',
|
||
'email.recipient': 'Recipient',
|
||
'email.sent_at': 'Sent at',
|
||
'email.tab': 'Email',
|
||
'email.settings': 'Email Settings',
|
||
'email.test_sent': 'Test email sent',
|
||
'email.test_recipient': 'Recipient Email',
|
||
'email.counts': 'Email Statistics',
|
||
|
||
// ─── Data Export Enhancement ──────────────────────────────────────
|
||
'export.pdf': 'PDF Export',
|
||
'export.json': 'JSON Export',
|
||
'export.csv': 'CSV Export',
|
||
'export.filter': 'Filter',
|
||
'export.date_range': 'Date Range',
|
||
'export.date_from': 'From',
|
||
'export.date_to': 'To',
|
||
'export.format': 'Format',
|
||
'export.select_format': 'Select format',
|
||
'export.select_class': 'Select class',
|
||
'export.all_classes': 'All Classes',
|
||
'export.grade_report': 'Grade Report',
|
||
'export.attendance_report': 'Attendance Report',
|
||
'export.competency_report': 'Competency Report',
|
||
'export.progress_indicator': 'Preparing export...',
|
||
'export.download_history': 'Download History',
|
||
'export.no_history': 'No exports yet',
|
||
'export.enhanced_title': 'Enhanced Data Export',
|
||
'export.enhanced_desc': 'Export data in various formats with filter options',
|
||
|
||
// Peer Assessment
|
||
'peer.title': 'Peer Assessment',
|
||
'peer.assessor': 'Assessor',
|
||
'peer.assessed': 'Assessed Student',
|
||
'peer.anonymous': 'Anonymous',
|
||
'peer.competency': 'Competency',
|
||
'peer.create': 'Create Peer Assessment',
|
||
'peer.results': 'Peer Assessment Results',
|
||
'peer.average': 'Average Peer Rating',
|
||
'peer.comparison': 'Comparison: Peer / Teacher / Self',
|
||
'peer.assessment_type': 'Assessment Type',
|
||
'peer.level': 'Rating Level',
|
||
'peer.comment': 'Comment',
|
||
'peer.no_assessments': 'No peer assessments available',
|
||
'peer.type_competency': 'Competency',
|
||
'peer.type_project': 'Project',
|
||
'peer.type_presentation': 'Presentation',
|
||
'peer.type_teamwork': 'Teamwork',
|
||
'peer.type_behavior': 'Behavior',
|
||
'peer.assign_task': 'Assign Peer Assessment',
|
||
'peer.from': 'From',
|
||
'peer.received': 'Received Assessments',
|
||
'peer.given': 'Given Assessments',
|
||
'peer.rubric': 'Rubric',
|
||
'peer.teacher': 'Teacher',
|
||
'peer.self': 'Self',
|
||
'peer.detail': 'View Details',
|
||
|
||
// Emergency Contacts
|
||
'emergency.title': 'Emergency Contacts',
|
||
'emergency.contact': 'Emergency Contact',
|
||
'emergency.primary': 'Primary Contact',
|
||
'emergency.phone': 'Phone',
|
||
'emergency.phone_alt': 'Alternative Phone',
|
||
'emergency.priority': 'Priority',
|
||
'emergency.quick_call': 'Quick Call',
|
||
'emergency.print_list': 'Print List',
|
||
'emergency.export': 'Export Contacts',
|
||
'emergency.name': 'Name',
|
||
'emergency.relationship': 'Relationship',
|
||
'emergency.email': 'Email',
|
||
'emergency.address': 'Address',
|
||
'emergency.notes': 'Notes',
|
||
'emergency.add': 'Add Emergency Contact',
|
||
'emergency.edit': 'Edit Emergency Contact',
|
||
'emergency.delete': 'Delete Emergency Contact',
|
||
'emergency.no_contacts': 'No emergency contacts available',
|
||
'emergency.search': 'Search contacts...',
|
||
'emergency.mother': 'Mother',
|
||
'emergency.father': 'Father',
|
||
'emergency.guardian': 'Guardian',
|
||
'emergency.grandparent': 'Grandparent',
|
||
'emergency.other': 'Other',
|
||
'emergency.class_list': 'Class List',
|
||
'emergency.all_contacts': 'All Emergency Contacts',
|
||
'emergency.student': 'Student',
|
||
|
||
// School Events
|
||
'events.title': 'School Events',
|
||
'events.type': 'Event Type',
|
||
'events.assembly': 'Assembly',
|
||
'events.field_trip': 'Field Trip',
|
||
'events.sports_day': 'Sports Day',
|
||
'events.concert': 'Concert',
|
||
'events.fair': 'School Fair',
|
||
'events.parent_meeting': 'Parent Meeting',
|
||
'events.graduation': 'Graduation',
|
||
'events.holiday': 'Holiday',
|
||
'events.register': 'Register',
|
||
'events.cancel': 'Cancel Registration',
|
||
'events.location': 'Location',
|
||
'events.organizer': 'Organizer',
|
||
'events.all_school': 'All-School Event',
|
||
'events.create': 'Create Event',
|
||
'events.edit': 'Edit Event',
|
||
'events.no_events': 'No upcoming events',
|
||
'events.upcoming': 'Upcoming Events',
|
||
'events.start_date': 'Start Date',
|
||
'events.end_date': 'End Date',
|
||
'events.description': 'Description',
|
||
'events.registration': 'Registration Required',
|
||
'events.max_participants': 'Max Participants',
|
||
'events.participants': 'Participants',
|
||
'events.registered': 'Registered',
|
||
'events.cancelled': 'Cancelled',
|
||
'events.attended': 'Attended',
|
||
'events.notes': 'Notes',
|
||
'events.is_public': 'Public',
|
||
'events.class_group': 'Class',
|
||
'events.view_all': 'View All Events',
|
||
|
||
// Onboarding Tour (24 steps) - EN
|
||
'onboarding.step_1_title': 'Welcome to CompetenceTrack!',
|
||
'onboarding.step_1_desc': 'Your free competency & grading platform for schools. Let\'s take a quick tour.',
|
||
'onboarding.step_2_title': 'Dashboard',
|
||
'onboarding.step_2_desc': 'Here you see an overview of all classes, students and current activities. Use quick actions and key metrics.',
|
||
'onboarding.step_3_title': 'Classes & Students',
|
||
'onboarding.step_3_desc': 'Manage your classes and students. Create new classes, add students, and assign competency grids.',
|
||
'onboarding.step_4_title': 'Competency Grid',
|
||
'onboarding.step_4_desc': 'Manage competency grids and assign them to your classes. Define categories and competencies.',
|
||
'onboarding.step_5_title': 'Progress Entries',
|
||
'onboarding.step_5_desc': 'Record observations and progress for individual students. Select a class and subject to log entries.',
|
||
'onboarding.step_6_title': 'Competence Flower',
|
||
'onboarding.step_6_desc': 'Visualize competency development as a radar chart. Compare students and track trends over time.',
|
||
'onboarding.step_7_title': 'Mastery Matrix',
|
||
'onboarding.step_7_desc': 'View all mastery levels at a glance. Quickly identify gaps and strengths across your class.',
|
||
'onboarding.step_8_title': 'Assessments',
|
||
'onboarding.step_8_desc': 'Create and manage assessments. Grade students and track their progress over time.',
|
||
'onboarding.step_9_title': 'Grading',
|
||
'onboarding.step_9_desc': 'Configure grading schemes and calculate grades based on competency levels and assessments.',
|
||
'onboarding.step_10_title': 'Attendance',
|
||
'onboarding.step_10_desc': 'Track student attendance with analytics. Monitor absences and attendance statistics.',
|
||
'onboarding.step_11_title': 'Lesson Plans',
|
||
'onboarding.step_11_desc': 'Plan your lessons with structure. Create lesson plans with goals, materials and reflections.',
|
||
'onboarding.step_12_title': 'Calendar',
|
||
'onboarding.step_12_desc': 'Manage your calendar with recurring events. Keep track of important dates and deadlines.',
|
||
'onboarding.step_13_title': 'Behavior Tracking',
|
||
'onboarding.step_13_desc': 'Record behavioral observations and track intervention measures for your students.',
|
||
'onboarding.step_14_title': 'Parent Communication',
|
||
'onboarding.step_14_desc': 'Communicate with parents about learning progress. Send reports and maintain an ongoing dialogue.',
|
||
'onboarding.step_15_title': 'Rubrics',
|
||
'onboarding.step_15_desc': 'Create detailed scoring rubrics with levels and criteria. Use them for objective assessments.',
|
||
'onboarding.step_16_title': 'Comment Bank',
|
||
'onboarding.step_16_desc': 'Manage reusable comments for report cards and reports. Save time during report creation.',
|
||
'onboarding.step_17_title': 'Notebooks',
|
||
'onboarding.step_17_desc': 'Create digital notebooks for your subjects with WYSIWYG editor and version history. Saves paper.',
|
||
'onboarding.step_18_title': 'Drawing Canvas',
|
||
'onboarding.step_18_desc': 'Use the digital drawing canvas for sketches and illustrations. Stylus-optimized with pressure sensitivity.',
|
||
'onboarding.step_19_title': 'Portfolio',
|
||
'onboarding.step_19_desc': 'Create digital portfolios for students. Collect evidence and artifacts of competency development.',
|
||
'onboarding.step_20_title': 'Homework',
|
||
'onboarding.step_20_desc': 'Manage homework assignments and submissions. Track progress and give feedback.',
|
||
'onboarding.step_21_title': 'Timetable',
|
||
'onboarding.step_21_desc': 'Manage your timetable with rooms and time slots. Clear weekly view overview.',
|
||
'onboarding.step_22_title': 'Resources',
|
||
'onboarding.step_22_desc': 'Browse the resource library. Share documents, links and worksheets with colleagues.',
|
||
'onboarding.step_23_title': 'Analytics',
|
||
'onboarding.step_23_desc': 'Use advanced analytics and predictive models. Identify at-risk students and development trends.',
|
||
'onboarding.step_24_title': 'Settings',
|
||
'onboarding.step_24_desc': 'Customize the platform: school profile, branding, backup and data management.',
|
||
'onboarding.celebration': 'You\'re all set!',
|
||
'onboarding.complete': 'You\'ve completed the tour. Good luck with CompetenceTrack!',
|
||
'onboarding.previous': 'Previous',
|
||
'onboarding.dont_show_again': 'Don\'t show again',
|
||
'onboarding.restart_tour': 'Restart tour',
|
||
|
||
// Student Transportation
|
||
'transport.title': 'Transportation',
|
||
'transport.type': 'Transport Type',
|
||
'transport.bus': 'Bus',
|
||
'transport.tram': 'Tram',
|
||
'transport.walk': 'Walk',
|
||
'transport.car': 'Car',
|
||
'transport.bike': 'Bike',
|
||
'transport.other': 'Other',
|
||
'transport.route': 'Route',
|
||
'transport.stop': 'Stop',
|
||
'transport.pickup': 'Pickup',
|
||
'transport.dropoff': 'Drop-off',
|
||
'transport.driver': 'Driver',
|
||
'transport.distance': 'Distance',
|
||
'transport.distance_km': '{count} km',
|
||
'transport.notes': 'Notes',
|
||
'transport.add': 'Add Transportation',
|
||
'transport.edit': 'Edit Transportation',
|
||
'transport.no_transport': 'No transportation saved',
|
||
'transport.route_number': 'Route Number',
|
||
'transport.stop_name': 'Stop Name',
|
||
'transport.pickup_time': 'Pickup Time',
|
||
'transport.dropoff_time': 'Drop-off Time',
|
||
'transport.driver_name': 'Driver Name',
|
||
'transport.driver_phone': 'Driver Phone',
|
||
'transport.distance_km_field': 'Distance (km)',
|
||
'transport.class_overview': 'Class Transport Overview',
|
||
'transport.quick_call': 'Quick Call',
|
||
|
||
// Health Records
|
||
'health.title': 'Health Records',
|
||
'health.blood_type': 'Blood Type',
|
||
'health.allergies': 'Allergies',
|
||
'health.medications': 'Medications',
|
||
'health.conditions': 'Conditions',
|
||
'health.doctor': 'Doctor',
|
||
'health.insurance': 'Insurance',
|
||
'health.confidential': 'Confidential',
|
||
'health.last_checkup': 'Last Checkup',
|
||
'health.warning': 'Health Warning',
|
||
'health.add': 'Add Health Record',
|
||
'health.edit': 'Edit Health Record',
|
||
'health.no_record': 'No health records available',
|
||
'health.doctor_name': 'Doctor Name',
|
||
'health.doctor_phone': 'Doctor Phone',
|
||
'health.insurance_number': 'Insurance Number',
|
||
'health.insurance_provider': 'Insurance Provider',
|
||
'health.last_checkup_date': 'Last Checkup Date',
|
||
'health.notes': 'Health Notes',
|
||
'health.confidential_toggle': 'Confidentiality Status',
|
||
'health.dosage': 'Dosage',
|
||
'health.frequency': 'Frequency',
|
||
'health.medication_name': 'Medication Name',
|
||
'health.add_allergy': 'Add Allergy',
|
||
'health.add_medication': 'Add Medication',
|
||
'health.add_condition': 'Add Condition',
|
||
|
||
// Interactive Seating Chart
|
||
'seating.title': 'Seating Chart',
|
||
'seating.chart': 'Seating Order',
|
||
'seating.row': 'Row',
|
||
'seating.column': 'Column',
|
||
'seating.save': 'Save Seating',
|
||
'seating.randomize': 'Randomize',
|
||
'seating.clear': 'Clear',
|
||
'seating.print': 'Print Seating',
|
||
'seating.drag_to_rearrange': 'Drag to rearrange',
|
||
'seating.empty_seat': 'Empty Seat',
|
||
'seating.rows': 'Rows',
|
||
'seating.columns': 'Columns',
|
||
'seating.grid_size': 'Grid Size',
|
||
'seating.student_initials': 'Initials',
|
||
'seating.no_students': 'No students for seating chart',
|
||
'seating.visual': 'Visual Seating',
|
||
'seating.list': 'List View',
|
||
'seating.teacher_desk': 'Teacher Desk',
|
||
|
||
// QR Code System
|
||
'qr.title': 'QR Code',
|
||
'qr.student': 'Student QR Code',
|
||
'qr.class': 'Class QR Code',
|
||
'qr.attendance': 'Attendance QR Code',
|
||
'qr.event': 'Event QR Code',
|
||
'qr.download': 'Download QR Code',
|
||
'qr.scan': 'Scan QR Code',
|
||
'qr.refresh': 'Refresh QR Code',
|
||
'qr.generate': 'Generate QR Code',
|
||
'qr.scan_to_checkin': 'Scan to check in',
|
||
'qr.session_active': 'QR session active',
|
||
'qr.refreshes_in': 'Refreshes in {seconds}s',
|
||
'qr.checked_in': 'Checked in',
|
||
'qr.pending': 'Pending',
|
||
'qr.absent': 'Absent',
|
||
'qr.show_qr': 'Show QR Code',
|
||
'qr.print_report': 'QR on Report',
|
||
'qr.student_card': 'Student Card',
|
||
|
||
// Badge / Gamification System
|
||
'badges.title': 'Badges',
|
||
'badges.earned': 'Earned',
|
||
'badges.unearned': 'Not yet earned',
|
||
'badges.progress': 'Progress',
|
||
'badges.collection': 'Badge Collection',
|
||
'badges.award': 'Award Badge',
|
||
'badges.auto': 'Auto-awarded',
|
||
'badges.manual': 'Manually awarded',
|
||
'badges.leaderboard': 'Badge Leaderboard',
|
||
'badges.recent': 'Recently earned',
|
||
'badges.details': 'Badge Details',
|
||
'badges.earned_count': '{earned} of {total} badges earned',
|
||
'badges.category': 'Category',
|
||
'badges.competency': 'Competency',
|
||
'badges.attendance': 'Attendance',
|
||
'badges.behavior': 'Behavior',
|
||
'badges.achievement': 'Achievement',
|
||
'badges.milestone': 'Milestone',
|
||
'badges.requirement': 'Requirement',
|
||
'badges.create': 'Create Badge',
|
||
'badges.edit': 'Edit Badge',
|
||
'badges.delete': 'Delete Badge',
|
||
'badges.manage': 'Manage Badges',
|
||
'badges.statistics': 'Badge Statistics',
|
||
'badges.award_manually': 'Award Manually',
|
||
'badges.awarded_by': 'Awarded by',
|
||
'badges.awarded_at': 'Awarded on',
|
||
'badges.no_badges': 'No badges available',
|
||
'badges.celebration': 'New badge earned!',
|
||
'badges.icon': 'Icon',
|
||
'badges.color': 'Color',
|
||
'badges.threshold': 'Threshold',
|
||
'badges.type': 'Type',
|
||
'badges.is_auto': 'Auto-awarded',
|
||
|
||
// Badge Names
|
||
'badges.perfect_attendance': 'Perfect Attendance',
|
||
'badges.competency_master': 'Competency Master',
|
||
'badges.progress_pioneer': 'Progress Pioneer',
|
||
'badges.behavior_star': 'Behavior Star',
|
||
'badges.notebook_champion': 'Notebook Champion',
|
||
'badges.drawing_artist': 'Drawing Artist',
|
||
'badges.homework_hero': 'Homework Hero',
|
||
'badges.team_player': 'Team Player',
|
||
'badges.goal_achiever': 'Goal Achiever',
|
||
'badges.eco_warrior': 'Eco Warrior',
|
||
|
||
// Newsletter / School Blog
|
||
'newsletter.title': 'School News',
|
||
'newsletter.create': 'Create Newsletter',
|
||
'newsletter.published': 'Published',
|
||
'newsletter.draft': 'Draft',
|
||
'newsletter.category': 'Category',
|
||
'newsletter.general': 'General',
|
||
'newsletter.academic': 'Academic',
|
||
'newsletter.sports': 'Sports',
|
||
'newsletter.arts': 'Arts',
|
||
'newsletter.events': 'Events',
|
||
'newsletter.community': 'Community',
|
||
'newsletter.read_more': 'Read More',
|
||
'newsletter.view_all': 'View All News',
|
||
'newsletter.cover_image': 'Cover Image',
|
||
'newsletter.summary': 'Summary',
|
||
'newsletter.tags': 'Tags',
|
||
'newsletter.publish': 'Publish',
|
||
'newsletter.unpublish': 'Unpublish',
|
||
'newsletter.share': 'Share',
|
||
'newsletter.author': 'Author',
|
||
'newsletter.date': 'Date',
|
||
'newsletter.content': 'Content',
|
||
'newsletter.no_news': 'No news available',
|
||
'newsletter.latest': 'Latest News',
|
||
'newsletter.school_news': 'School News',
|
||
|
||
// Avatar / Student Photo
|
||
'avatar.title': 'Photo',
|
||
'avatar.upload': 'Upload Photo',
|
||
'avatar.initials': 'Initials',
|
||
'avatar.photo': 'Photo',
|
||
'avatar.change': 'Change Photo',
|
||
'avatar.remove': 'Remove Photo',
|
||
|
||
// Competition System
|
||
'competition.title': 'Competitions',
|
||
'competition.create': 'Create Competition',
|
||
'competition.edit': 'Edit Competition',
|
||
'competition.delete': 'Delete Competition',
|
||
'competition.manage': 'Manage Competitions',
|
||
'competition.details': 'Competition Details',
|
||
'competition.name': 'Competition',
|
||
'competition.description': 'Description',
|
||
'competition.type': 'Type',
|
||
'competition.category': 'Category',
|
||
'competition.status': 'Status',
|
||
'competition.start_date': 'Start Date',
|
||
'competition.end_date': 'End Date',
|
||
'competition.registration_deadline': 'Registration Deadline',
|
||
'competition.max_participants': 'Max Participants',
|
||
'competition.scoring_type': 'Scoring',
|
||
'competition.rules': 'Rules',
|
||
'competition.is_public': 'Publicly Visible',
|
||
'competition.subject': 'Subject',
|
||
'competition.created_by': 'Created by',
|
||
'competition.no_competitions': 'No competitions available',
|
||
'competition.type.class': 'Class Competition',
|
||
'competition.type.inter_class': 'Inter-Class',
|
||
'competition.type.inter_school': 'Inter-School',
|
||
'competition.category.academic': 'Academic',
|
||
'competition.category.sports': 'Sports',
|
||
'competition.category.creativity': 'Creativity',
|
||
'competition.category.citizenship': 'Citizenship',
|
||
'competition.category.digital': 'Digital',
|
||
'competition.category.reading': 'Reading',
|
||
'competition.category.stem': 'STEM',
|
||
'competition.category.other': 'Other',
|
||
'competition.status.draft': 'Draft',
|
||
'competition.status.registration': 'Registration',
|
||
'competition.status.active': 'Active',
|
||
'competition.status.completed': 'Completed',
|
||
'competition.status.cancelled': 'Cancelled',
|
||
'competition.scoring.points': 'Points',
|
||
'competition.scoring.rank': 'Ranking',
|
||
'competition.scoring.time': 'Time',
|
||
'competition.scoring.badge_count': 'Badge Count',
|
||
'competition.register': 'Register',
|
||
'competition.register_participant': 'Register Participant',
|
||
'competition.update_score': 'Update Score',
|
||
'competition.leaderboard': 'Leaderboard',
|
||
'competition.participants': 'Participants',
|
||
'competition.rewards': 'Rewards',
|
||
'competition.reward.create': 'Add Reward',
|
||
'competition.reward.type': 'Reward Type',
|
||
'competition.reward.type.digital_code': 'Digital Code',
|
||
'competition.reward.type.badge': 'Badge',
|
||
'competition.reward.type.certificate': 'Certificate',
|
||
'competition.reward.type.experience': 'Experience',
|
||
'competition.reward.type.physical': 'Physical Reward',
|
||
'competition.reward.provider': 'Provider',
|
||
'competition.reward.provider.netflix': 'Netflix',
|
||
'competition.reward.provider.amazon': 'Amazon',
|
||
'competition.reward.provider.cinema': 'Cinema',
|
||
'competition.reward.provider.theater': 'Theater',
|
||
'competition.reward.provider.concert': 'Concert',
|
||
'competition.reward.provider.custom': 'Custom',
|
||
'competition.reward.quantity': 'Quantity',
|
||
'competition.reward.claimed': 'Claimed',
|
||
'competition.reward.available': 'Available',
|
||
'competition.reward.rank_requirement': 'Minimum Rank',
|
||
'competition.reward.points_required': 'Minimum Points',
|
||
'competition.reward.image': 'Reward Image',
|
||
'competition.reward.code': 'Code',
|
||
'competition.reward.claim': 'Claim',
|
||
'competition.reward.claimed_at': 'Claimed on',
|
||
'competition.reward.expires': 'Expires on',
|
||
'competition.reward.status': 'Status',
|
||
'competition.reward.status.pending': 'Pending',
|
||
'competition.reward.status.claimed': 'Claimed',
|
||
'competition.reward.status.expired': 'Expired',
|
||
'competition.reward.status.revoked': 'Revoked',
|
||
'competition.reward.my_claims': 'My Rewards',
|
||
'competition.reward.already_claimed': 'Reward already claimed',
|
||
'competition.reward.not_available': 'Reward no longer available',
|
||
'competition.reward.requirement_not_met': 'Requirement not met',
|
||
'competition.dsgvo_notice': 'Notice: Personal data is processed in accordance with GDPR.',
|
||
'competition.jugendschutz_notice': 'Notice: This competition complies with the Youth Protection Act.',
|
||
|
||
// German Grade Labels
|
||
'grading.sehr_gut': 'Sehr gut',
|
||
'grading.gut': 'Gut',
|
||
'grading.befriedigend': 'Befriedigend',
|
||
'grading.ausreichend': 'Ausreichend',
|
||
'grading.mangelhaft': 'Mangelhaft',
|
||
'grading.ungenuegend': 'Ungenügend',
|
||
|
||
// DSGVO / Privacy
|
||
'dsgvo.title': 'Privacy',
|
||
'dsgvo.privacy_policy': 'Privacy Policy',
|
||
'dsgvo.data_processing': 'Data Processing',
|
||
'dsgvo.data_collected': 'Data Collected',
|
||
'dsgvo.data_purpose': 'Purpose of Processing',
|
||
'dsgvo.data_retention': 'Retention Period',
|
||
'dsgvo.data_third_party': 'Third-Party Data Sharing',
|
||
'dsgvo.data_portability': 'Data Portability',
|
||
'dsgvo.right_access': 'Right of Access',
|
||
'dsgvo.right_rectification': 'Right to Rectification',
|
||
'dsgvo.right_erasure': 'Right to Erasure',
|
||
'dsgvo.right_portability': 'Right to Data Portability',
|
||
'dsgvo.right_restriction': 'Right to Restriction of Processing',
|
||
'dsgvo.right_objection': 'Right to Object',
|
||
'dsgvo.contact_dpo': 'Data Protection Officer',
|
||
'dsgvo.export_data': 'Export My Data',
|
||
'dsgvo.export_data_desc': 'Export all your personal data in JSON format (GDPR Art. 20)',
|
||
'dsgvo.export_data_success': 'Your data has been successfully exported.',
|
||
'dsgvo.export_data_error': 'Error exporting data.',
|
||
'dsgvo.delete_account': 'Delete Account',
|
||
'dsgvo.delete_account_desc': 'Delete your account and all associated data (GDPR Art. 17)',
|
||
'dsgvo.delete_warning': 'This action cannot be undone. All your data will be permanently deleted after 30 days.',
|
||
'dsgvo.delete_confirm_title': 'Really delete account?',
|
||
'dsgvo.delete_confirm_desc': 'Enter your password to confirm deletion. Your account will be permanently deleted in 30 days.',
|
||
'dsgvo.delete_password_label': 'Password to confirm',
|
||
'dsgvo.delete_success': 'Your account has been scheduled for deletion. You have 30 days to cancel.',
|
||
'dsgvo.delete_error': 'Error deleting account.',
|
||
'dsgvo.delete_wrong_password': 'Wrong password.',
|
||
'dsgvo.delete_cancel_success': 'Deletion has been cancelled.',
|
||
'dsgvo.delete_scheduled': 'Deletion scheduled on',
|
||
'dsgvo.delete_cancel': 'Cancel deletion',
|
||
'dsgvo.cookie_consent': 'We use cookies to provide you with the best possible experience.',
|
||
'dsgvo.cookie_essential': 'Essential Cookies',
|
||
'dsgvo.cookie_essential_desc': 'These cookies are required for the platform to function.',
|
||
'dsgvo.cookie_analytics': 'Analytics Cookies',
|
||
'dsgvo.cookie_analytics_desc': 'These cookies help us improve the platform.',
|
||
'dsgvo.cookie_accept': 'Accept All',
|
||
'dsgvo.cookie_reject': 'Essential Only',
|
||
'dsgvo.cookie_settings': 'Cookie Settings',
|
||
'dsgvo.jugendschutz': 'Youth Protection',
|
||
'dsgvo.jugendschutz_notice': 'This platform may only be used by students under 16 with the consent of their legal guardians.',
|
||
'dsgvo.parental_consent': 'Parental Consent',
|
||
'dsgvo.no_advertising': 'No advertising for students',
|
||
'dsgvo.no_tracking': 'No tracking of students under 16',
|
||
'dsgvo.dpa': 'Data Processing Agreement (DPA)',
|
||
'dsgvo.dpa_desc': 'Data processing agreement pursuant to Art. 28 GDPR',
|
||
'dsgvo.data_register': 'Register of Processing Activities',
|
||
'dsgvo.data_register_desc': 'Overview of all processing activities pursuant to Art. 30 GDPR',
|
||
'dsgvo.privacy_policy_text': 'The following privacy policy applies to the use of the CompetenceTrack platform. The respective school is responsible for data processing.',
|
||
'dsgvo.data_collected_list': 'Name, email address, password (encrypted), role assignment, class and subject associations, learning progress, assessments, attendance data, notes and reports.',
|
||
'dsgvo.data_purpose_list': 'Provision and operation of the platform, management of students and classes, documentation of learning progress, creation of reports, communication with parents.',
|
||
'dsgvo.data_retention_list': 'User data is stored for the duration of use. After account deletion, data is permanently deleted after the 30-day objection period. Analytics data is anonymized after 3 years.',
|
||
'dsgvo.data_third_party_list': 'Personal data is not shared with third parties unless required by law or processed on behalf pursuant to Art. 28 GDPR.',
|
||
'dsgvo.dpa_template_text': 'The Data Processing Agreement (DPA) regulates data processing on behalf pursuant to Art. 28 GDPR. The school as controller concludes this agreement with the platform operator.',
|
||
'dsgvo.dpa_status_signed': 'Signed',
|
||
'dsgvo.dpa_status_pending': 'Pending',
|
||
'dsgvo.dpa_sign': 'Sign DPA',
|
||
'dsgvo.jugendschutz_login_notice': 'Students under 16 may only use this platform with the consent of their legal guardians.',
|
||
'dsgvo.jugendschutz_rewards': 'Competition prizes comply with the Youth Protection Act requirements.',
|
||
'dsgvo.tab_privacy': 'Privacy',
|
||
'dsgvo.rights_title': 'Your Rights under GDPR',
|
||
'dsgvo.rights_desc': 'You have the following rights vis-à-vis the controller:',
|
||
'dsgvo.right_access_desc': 'You have the right to request information about which personal data is processed about you.',
|
||
'dsgvo.right_rectification_desc': 'You have the right to request the correction of inaccurate personal data.',
|
||
'dsgvo.right_erasure_desc': 'You have the right to request the deletion of your personal data.',
|
||
'dsgvo.right_portability_desc': 'You have the right to receive your data in a structured, commonly used, and machine-readable format.',
|
||
'dsgvo.right_restriction_desc': 'You have the right to request the restriction of processing of your data.',
|
||
'dsgvo.right_objection_desc': 'You have the right to object to processing on grounds relating to your particular situation.',
|
||
'dsgvo.dpa_download': 'Download DPA template',
|
||
'dsgvo.data_register_download': 'Download register',
|
||
'dsgvo.consent_management': 'Consent Management',
|
||
'dsgvo.consent_management_desc': 'Manage your data processing consents.',
|
||
'dsgvo.consent_data_processing': 'Data Processing',
|
||
'dsgvo.consent_data_processing_desc': 'Consent to process your data for platform operation.',
|
||
'dsgvo.consent_communication': 'Communication',
|
||
'dsgvo.consent_communication_desc': 'Consent to receive notifications and emails.',
|
||
'dsgvo.consent_analytics': 'Anonymous Analytics',
|
||
'dsgvo.consent_analytics_desc': 'Consent to anonymous usage analytics for platform improvement.',
|
||
'dsgvo.consent_third_party': 'Third-Party Sharing',
|
||
'dsgvo.consent_third_party_desc': 'Consent to share data with third parties (e.g., competition partners).',
|
||
'dsgvo.consent_granted': 'Granted',
|
||
'dsgvo.consent_revoked': 'Revoked',
|
||
'dsgvo.consent_revoke': 'Revoke',
|
||
'dsgvo.consent_grant': 'Grant',
|
||
'dsgvo.retention_settings': 'Retention Settings',
|
||
'dsgvo.retention_settings_desc': 'Configure how long your data is retained.',
|
||
'dsgvo.retention_grades': 'Retain grades for',
|
||
'dsgvo.retention_attendance': 'Retain attendance data for',
|
||
'dsgvo.retention_behavior': 'Retain behavior data for',
|
||
'dsgvo.retention_years': 'years',
|
||
|
||
// ─── Digital Reward Catalog ─────────────────────────────────────────
|
||
'rewards.title': 'Rewards',
|
||
'rewards.catalog': 'Reward Catalog',
|
||
'rewards.catalog_desc': 'Redeem your points for great rewards.',
|
||
'rewards.category.streaming': 'Streaming',
|
||
'rewards.category.shopping': 'Shopping',
|
||
'rewards.category.experience': 'Experiences',
|
||
'rewards.category.merchandise': 'School Merchandise',
|
||
'rewards.category.privilege': 'Special Privileges',
|
||
'rewards.category.all': 'All Categories',
|
||
'rewards.points_balance': 'Points Balance',
|
||
'rewards.points_earned': 'Points Earned',
|
||
'rewards.points_spent': 'Points Spent',
|
||
'rewards.redeem': 'Redeem',
|
||
'rewards.redeem_confirm': 'Redeem Reward?',
|
||
'rewards.redeem_confirm_desc': 'Do you want to spend {points} points for {reward}?',
|
||
'rewards.redeem_success': 'Reward redeemed successfully!',
|
||
'rewards.redeem_error': 'Error redeeming reward.',
|
||
'rewards.insufficient_points': 'Insufficient points.',
|
||
'rewards.out_of_stock': 'Out of stock.',
|
||
'rewards.stock_remaining': '{count} remaining',
|
||
'rewards.unlimited': 'Unlimited',
|
||
'rewards.points_cost': 'Cost',
|
||
'rewards.my_redemptions': 'My Redemptions',
|
||
'rewards.redemption_status': 'Status',
|
||
'rewards.redemption.pending': 'Pending',
|
||
'rewards.redemption.approved': 'Approved',
|
||
'rewards.redemption.rejected': 'Rejected',
|
||
'rewards.redemption.fulfilled': 'Fulfilled',
|
||
'rewards.points_history': 'Points History',
|
||
'rewards.points_source.competition': 'Competition',
|
||
'rewards.points_source.grade': 'Good Grades',
|
||
'rewards.points_source.attendance': 'Attendance',
|
||
'rewards.points_source.homework': 'Homework',
|
||
'rewards.points_source.bonus': 'Bonus',
|
||
'rewards.create_reward': 'Create Reward',
|
||
'rewards.edit_reward': 'Edit Reward',
|
||
'rewards.delete_reward': 'Delete Reward',
|
||
'rewards.no_rewards': 'No rewards available',
|
||
'rewards.streaming.netflix': 'Netflix Voucher',
|
||
'rewards.streaming.spotify': 'Spotify Premium',
|
||
'rewards.streaming.disney': 'Disney+ Voucher',
|
||
'rewards.shopping.amazon': 'Amazon Voucher',
|
||
'rewards.shopping.thalia': 'Thalia Voucher',
|
||
'rewards.shopping.mediamarkt': 'MediaMarkt Voucher',
|
||
'rewards.experience.cinema': 'Cinema Ticket',
|
||
'rewards.experience.theater': 'Theater Ticket',
|
||
'rewards.experience.concert': 'Concert Ticket',
|
||
'rewards.experience.museum': 'Museum Entry',
|
||
'rewards.merchandise.tshirt': 'School T-Shirt',
|
||
'rewards.merchandise.stickers': 'Sticker Set',
|
||
'rewards.merchandise.notebook': 'School Notebook',
|
||
'rewards.privilege.homework_pass': 'Homework Pass',
|
||
'rewards.privilege.extra_break': 'Extra Break Time',
|
||
'rewards.privilege.choose_seat': 'Choose Your Seat',
|
||
'rewards.earn_points': 'Earn Points',
|
||
'rewards.earn_points_desc': 'Earn points through active participation in school life.',
|
||
'rewards.earn_competition': 'Competitions: Participation + Wins',
|
||
'rewards.earn_grades': 'Good Grades: Better grades earn more points',
|
||
'rewards.earn_attendance': 'Attendance Streak: Be there regularly',
|
||
'rewards.earn_homework': 'Homework: Submit on time',
|
||
'rewards.earn_bonus': 'Bonus Points: Special achievements',
|
||
|
||
// ─── Teacher Dashboard ──────────────────────────────────────────────
|
||
'teacher.dashboard_title': 'Teacher Dashboard',
|
||
'teacher.welcome_back': 'Welcome back',
|
||
'teacher.my_classes': 'My Classes',
|
||
'teacher.my_classes_desc': 'Overview of your classes with student count',
|
||
'teacher.recent_assessments': 'Recent Assessments',
|
||
'teacher.graded': 'Graded',
|
||
'teacher.pending': 'Pending',
|
||
'teacher.upcoming_lessons': 'Upcoming Lessons',
|
||
'teacher.competence_progress': 'Competence Progress',
|
||
'teacher.competence_progress_desc': 'Radar overview of competence areas',
|
||
'teacher.recent_progress_entries': 'Recent Progress Entries',
|
||
'teacher.quick_actions': 'Quick Actions',
|
||
'teacher.create_assessment': 'Create Assessment',
|
||
'teacher.take_attendance': 'Take Attendance',
|
||
'teacher.log_progress': 'Log Progress',
|
||
'teacher.message_parents': 'Message Parents',
|
||
'teacher.student_count': 'Students',
|
||
'teacher.no_classes': 'No classes available',
|
||
'teacher.no_assessments': 'No assessments available',
|
||
'teacher.no_lessons': 'No lessons scheduled',
|
||
'teacher.avg_mastery': 'Average Mastery',
|
||
'teacher.assessment_count': 'Assessment Count',
|
||
'teacher.class_overview': 'Class Overview',
|
||
|
||
// ─── Student Dashboard (enhanced) ───────────────────────────────────
|
||
'student.my_grades_overview': 'My Grades Overview',
|
||
'student.my_grades_trend': 'Grade Trend',
|
||
'student.grade_trend_up': 'Improving',
|
||
'student.grade_trend_down': 'Declining',
|
||
'student.grade_trend_stable': 'Stable',
|
||
'student.my_competence_flower': 'My Competence Flower',
|
||
'student.competence_flower_desc': 'Visual overview of your competence development',
|
||
'student.upcoming_homework': 'Upcoming Homework',
|
||
'student.no_homework': 'No upcoming homework',
|
||
'student.competition_standings': 'Competition Standings',
|
||
'student.my_rank': 'My Rank',
|
||
'student.points': 'Points',
|
||
'student.no_competitions': 'No active competitions',
|
||
'student.school_announcements': 'School Announcements',
|
||
|
||
// ─── Parent Dashboard (enhanced) ────────────────────────────────────
|
||
'parent.children_grades': "Children's Grades",
|
||
'parent.children_grades_desc': "Current grades of your children",
|
||
'parent.child_grade': 'Grade',
|
||
'parent.child_subject': 'Subject',
|
||
'parent.children_attendance_summary': "Children's Attendance Summary",
|
||
'parent.present_rate': 'Attendance Rate',
|
||
'parent.absent_count': 'Absences',
|
||
'parent.late_count': 'Late Arrivals',
|
||
'parent.teacher_messages': 'Teacher Messages',
|
||
'parent.no_teacher_messages': 'No messages from teachers',
|
||
'parent.school_announcements': 'School Announcements',
|
||
'parent.calendar_events': 'Calendar Events',
|
||
'parent.upcoming_events': 'Upcoming Events',
|
||
'parent.no_events': 'No upcoming events',
|
||
'parent.competition_results': 'Competition Results',
|
||
'parent.no_competition_results': 'No competition results available',
|
||
'parent.child_recent_grade': 'Recent Grade',
|
||
|
||
// ─── School Admin Dashboard ─────────────────────────────────────────
|
||
'admin.dashboard_title': 'Admin Dashboard',
|
||
'admin.welcome_back': 'Welcome back',
|
||
'admin.school_overview': 'School Overview',
|
||
'admin.total_students': 'Total Students',
|
||
'admin.total_classes': 'Total Classes',
|
||
'admin.total_teachers': 'Total Teachers',
|
||
'admin.total_parents': 'Total Parents',
|
||
'admin.system_health': 'System Health',
|
||
'admin.system_healthy': 'System running smoothly',
|
||
'admin.system_degraded': 'Degraded performance',
|
||
'admin.uptime': 'Uptime',
|
||
'admin.active_users': 'Active Users',
|
||
'admin.storage_used': 'Storage Used',
|
||
'admin.api_requests': 'API Requests Today',
|
||
'admin.audit_log': 'Audit Log',
|
||
'admin.audit_log_desc': 'Recent system activities',
|
||
'admin.no_audit_entries': 'No activities logged',
|
||
'admin.user_management': 'User Management',
|
||
'admin.manage_teachers': 'Manage Teachers',
|
||
'admin.manage_students': 'Manage Students',
|
||
'admin.manage_parents': 'Manage Parents',
|
||
'admin.school_statistics': 'School Statistics',
|
||
'admin.enrollment_trend': 'Enrollment Trend',
|
||
'admin.grade_distribution': 'Grade Distribution',
|
||
'admin.attendance_rate': 'Attendance Rate',
|
||
'admin.competency_overview': 'Competency Overview',
|
||
'admin.announcements_management': 'Announcements Management',
|
||
'admin.create_announcement': 'Create Announcement',
|
||
'admin.recent_activity': 'Recent Activity',
|
||
'admin.action_type': 'Action Type',
|
||
'admin.user': 'User',
|
||
'admin.timestamp': 'Timestamp',
|
||
'admin.details': 'Details',
|
||
'admin.quick_actions': 'Quick Actions',
|
||
'admin.add_teacher': 'Add Teacher',
|
||
'admin.add_student': 'Add Student',
|
||
'admin.add_class': 'Add Class',
|
||
'admin.school_settings': 'School Settings',
|
||
'admin.export_data': 'Export Data',
|
||
'admin.health_excellent': 'Excellent',
|
||
'admin.health_good': 'Good',
|
||
'admin.health_warning': 'Warning',
|
||
'admin.health_critical': 'Critical',
|
||
|
||
// Student Portal
|
||
'student_portal.title': 'My Portal',
|
||
'student_portal.my_competencies': 'My Competencies',
|
||
'student_portal.my_goals': 'My Goals',
|
||
'student_portal.my_achievements': 'My Achievements',
|
||
'student_portal.my_schedule': 'My Schedule',
|
||
'student_portal.my_homework': 'My Homework',
|
||
'student_portal.my_feedback': 'My Feedback',
|
||
'student_portal.goal_set': 'Set Goal',
|
||
'student_portal.goal_progress': 'Goal Progress',
|
||
'student_portal.goal_complete': 'Complete Goal',
|
||
'student_portal.no_competencies': 'No competency data yet',
|
||
'student_portal.no_goals': 'No goals set yet',
|
||
'student_portal.no_achievements': 'No achievements unlocked yet',
|
||
'student_portal.points_earned': 'Points Earned',
|
||
'student_portal.badges_earned': 'Badges Earned',
|
||
'student_portal.rewards_available': 'Rewards Available',
|
||
'student_portal.today_schedule': 'Today\'s Schedule',
|
||
'student_portal.next_period': 'Next Period',
|
||
'student_portal.current_period': 'Current Period',
|
||
'student_portal.overdue': 'Overdue',
|
||
'student_portal.due_today': 'Due Today',
|
||
'student_portal.upcoming': 'Upcoming',
|
||
'student_portal.mastery_level': 'Mastery Level',
|
||
'student_portal.level_1': 'Beginner',
|
||
'student_portal.level_2': 'Developing',
|
||
'student_portal.level_3': 'Competent',
|
||
'student_portal.level_4': 'Expert',
|
||
'student_portal.add_goal': 'New Goal',
|
||
'student_portal.goal_title': 'Goal Title',
|
||
'student_portal.goal_description': 'Goal Description',
|
||
'student_portal.target_date': 'Target Date',
|
||
'student_portal.active_goals': 'Active Goals',
|
||
'student_portal.completed_goals': 'Completed Goals',
|
||
'student_portal.abandon_goal': 'Abandon Goal',
|
||
'student_portal.update_progress': 'Update Progress',
|
||
'student_portal.badge_name': 'Badge',
|
||
'student_portal.earned_on': 'Earned on',
|
||
'student_portal.no_schedule': 'No schedule for today',
|
||
'student_portal.period': 'Period',
|
||
'student_portal.break': 'Break',
|
||
'student_portal.no_homework_due': 'No homework due',
|
||
'student_portal.no_feedback': 'No feedback yet',
|
||
'student_portal.recent_feedback': 'Recent Feedback',
|
||
'student_portal.from_teacher': 'From',
|
||
'student_portal.subject': 'Subject',
|
||
'student_portal.competency_card': 'Competency Card',
|
||
'student_portal.progress_bar': 'Progress Bar',
|
||
'student_portal.total_points': 'Total Points',
|
||
'student_portal.level': 'Level',
|
||
'student_portal.no_class': 'No Class',
|
||
'student_portal.schedule_for': 'Schedule for',
|
||
'student_portal.good_morning': 'Good Morning',
|
||
'student_portal.good_afternoon': 'Good Afternoon',
|
||
'student_portal.good_evening': 'Good Evening',
|
||
'student_portal.hero_message': 'Keep going! Every step brings you closer to your goal.',
|
||
'student_portal.streak_days': 'Day Streak',
|
||
'student_portal.days': 'days',
|
||
'student_portal.learning_streak': 'Learning Streak',
|
||
'student_portal.streak_message': 'Great streak! Keep going to extend your daily streak.',
|
||
'student_portal.level_up_progress': 'Level Up Progress',
|
||
'student_portal.level_up_detail': 'Current level {level} of {max}',
|
||
|
||
// Subjects feature (EN)
|
||
'subjects.title': 'Subjects',
|
||
'subjects.browse': 'Browse Subjects',
|
||
'subjects.categories': 'Categories',
|
||
'subjects.content': 'Content',
|
||
'subjects.topics': 'Topics',
|
||
'subjects.exercises': 'Exercises',
|
||
'subjects.practice': 'Practice',
|
||
'subjects.progress': 'Progress',
|
||
'subjects.search': 'Search subjects...',
|
||
'subjects.search_results': 'Search Results',
|
||
'subjects.no_results': 'No results found',
|
||
'subjects.activate': 'Activate',
|
||
'subjects.deactivate': 'Deactivate',
|
||
'subjects.change_requests': 'Change Requests',
|
||
'subjects.approve': 'Approve',
|
||
'subjects.reject': 'Reject',
|
||
'subjects.request_change': 'Request Change',
|
||
'subjects.ai_settings': 'AI Settings',
|
||
'subjects.ai_helper': 'AI Helper',
|
||
'subjects.image_generation': 'Image Generation',
|
||
'subjects.video_generation': 'Video Generation',
|
||
'subjects.topic_generation': 'Topic Generation',
|
||
'subjects.auto_tests': 'Auto Tests',
|
||
'subjects.klasse5': 'Grade 5',
|
||
'subjects.klasse6': 'Grade 6',
|
||
'subjects.klasse7': 'Grade 7',
|
||
'subjects.klasse8': 'Grade 8',
|
||
'subjects.klasse9': 'Grade 9',
|
||
'subjects.klasse10': 'Grade 10',
|
||
'subjects.oberstufe': 'Upper Secondary',
|
||
'subjects.mathematik': 'Mathematics',
|
||
'subjects.deutsch': 'German',
|
||
'subjects.englisch': 'English',
|
||
'subjects.franzoesisch': 'French',
|
||
'subjects.biologie': 'Biology',
|
||
'subjects.geografie': 'Geography',
|
||
'subjects.musik': 'Music',
|
||
'subjects.geschichte': 'History',
|
||
'subjects.natur_und_technik': 'Nature & Technology',
|
||
'subjects.ethik': 'Ethics & Religion',
|
||
'subjects.latein': 'Latin',
|
||
'subjects.physik': 'Physics',
|
||
'subjects.chemie': 'Chemistry',
|
||
'subjects.informatik': 'Computer Science',
|
||
'subjects.wirtschaft': 'Economics',
|
||
'subjects.kunst': 'Art',
|
||
'subjects.sport': 'Physical Education',
|
||
'subjects.create_category': 'Create Category',
|
||
'subjects.edit_category': 'Edit Category',
|
||
'subjects.create_content': 'Create Content',
|
||
'subjects.edit_content': 'Edit Content',
|
||
'subjects.delete_confirm': 'Are you sure you want to delete this?',
|
||
'subjects.pending_requests': 'Pending Requests',
|
||
'subjects.approved': 'Approved',
|
||
'subjects.rejected': 'Rejected',
|
||
'subjects.pending': 'Pending',
|
||
'subjects.content_type': 'Content Type',
|
||
'subjects.difficulty': 'Difficulty',
|
||
'subjects.easy': 'Easy',
|
||
'subjects.medium': 'Medium',
|
||
'subjects.hard': 'Hard',
|
||
'subjects.question_count': 'Questions',
|
||
'subjects.total_topics': 'Topics',
|
||
'subjects.total_exercises': 'Exercises',
|
||
'subjects.select_category': 'Select a category',
|
||
'subjects.back_to_categories': 'Back to categories',
|
||
'subjects.back_to_subject': 'Back to subject',
|
||
'subjects.question_of': 'Question {current} of {total}',
|
||
'subjects.correct_answer': 'Correct!',
|
||
'subjects.wrong_answer': 'Not quite. Try again!',
|
||
'subjects.next_question': 'Next Question',
|
||
'subjects.finish_practice': 'Finish Practice',
|
||
'subjects.practice_complete': 'Practice Complete!',
|
||
'subjects.score': 'Score',
|
||
'subjects.your_answer': 'Your answer',
|
||
'subjects.correct': 'Correct',
|
||
'subjects.seed_data': 'Seed Sample Data',
|
||
'subjects.seed_data_desc': 'Create sample content structure based on schlaukopf.de',
|
||
'subjects.manage_categories': 'Manage Categories',
|
||
'subjects.manage_content': 'Manage Content',
|
||
'subjects.review_requests': 'Review Requests',
|
||
'subjects.ai_config': 'AI Configuration',
|
||
'subjects.pollination': 'Pollination AI',
|
||
'subjects.openai': 'OpenAI',
|
||
'subjects.anthropic': 'Anthropic',
|
||
'subjects.enabled': 'Enabled',
|
||
'subjects.disabled': 'Disabled',
|
||
'subjects.api_key': 'API Key',
|
||
'subjects.model': 'Model',
|
||
'subjects.daily_limit': 'Daily Request Limit',
|
||
'subjects.helper_mode': 'Helper Mode',
|
||
'subjects.guided': 'Guided',
|
||
'subjects.full': 'Full',
|
||
'subjects.restricted': 'Restricted',
|
||
'subjects.system_prompt': 'System Prompt',
|
||
'subjects.grading_audit': 'Grading Audit',
|
||
'subjects.virtual_character': 'Virtual Character',
|
||
'subjects.request_type': 'Request Type',
|
||
'subjects.proposed_changes': 'Proposed Changes',
|
||
'subjects.review_note': 'Review Note',
|
||
'subjects.content_active': 'Active',
|
||
'subjects.content_inactive': 'Inactive',
|
||
'subjects.no_content': 'No content available',
|
||
'subjects.start_practice': 'Start Practice',
|
||
'subjects.continue_practice': 'Continue',
|
||
'subjects.view_content': 'View Content',
|
||
'subjects.parent_topic': 'Parent Topic',
|
||
'subjects.subtopics': 'Subtopics',
|
||
|
||
// AI Features
|
||
'ai.chat_title': 'AI Learning Assistant',
|
||
'ai.chat_placeholder': 'Ask a question about a topic...',
|
||
'ai.explain_topic': 'Explain Topic',
|
||
'ai.give_hint': 'Give Hint',
|
||
'ai.quiz_me': 'Quiz Me',
|
||
'ai.thinking': 'Thinking...',
|
||
'ai.rate_limit': 'Daily limit reached',
|
||
'ai.daily_limit': 'Daily limit: {used} of {max}',
|
||
'ai.helper_mode': 'Helper Mode',
|
||
'ai.system_prompt': 'System Prompt',
|
||
'ai.provider': 'AI Provider',
|
||
'ai.image_gen': 'Image Generation',
|
||
'ai.video_gen': 'Video Generation',
|
||
'ai.topic_gen': 'Topic Generation',
|
||
'ai.auto_test': 'Auto Tests',
|
||
'ai.grading_audit': 'Grading Audit',
|
||
'ai.settings': 'AI Settings',
|
||
'ai.pollination': 'Pollination AI',
|
||
'ai.openai': 'OpenAI',
|
||
'ai.anthropic': 'Anthropic',
|
||
'ai.enabled': 'Enabled',
|
||
'ai.disabled': 'Disabled',
|
||
'ai.max_requests': 'Max Requests per Day',
|
||
'ai.guided': 'Guided',
|
||
'ai.full': 'Full',
|
||
'ai.restricted': 'Restricted',
|
||
'ai.chat_enabled': 'AI Chat Enabled',
|
||
'ai.image_gen_enabled': 'Image Generation Enabled',
|
||
'ai.video_gen_enabled': 'Video Generation Enabled',
|
||
'ai.no_homework': 'I don\'t solve homework, but I\'m happy to explain concepts!',
|
||
'ai.motivation_1': 'Keep going, you\'re doing great!',
|
||
'ai.motivation_2': 'Every step counts. Keep it up!',
|
||
'ai.motivation_3': 'You\'re on the right track!',
|
||
'ai.motivation_4': 'Learning is fun when you understand it!',
|
||
'ai.motivation_5': 'Asking questions is the first step to understanding!',
|
||
'ai.welcome_message': 'Hello! I\'m your learning assistant. How can I help you?',
|
||
'ai.error_generic': 'An error occurred. Please try again.',
|
||
'ai.error_rate_limit': 'You\'ve reached your daily limit. Try again tomorrow!',
|
||
'ai.error_disabled': 'AI chat is currently disabled.',
|
||
'ai.conversation_start': 'Start New Conversation',
|
||
'ai.send': 'Send',
|
||
'ai.quick_actions': 'Quick Actions',
|
||
'ai.topic_hint': 'Enter a topic you want a hint for',
|
||
'ai.topic_explain': 'Enter a topic you want explained',
|
||
'ai.topic_quiz': 'Enter a topic you want to be quizzed on',
|
||
'ai.image_prompt': 'Enter image description...',
|
||
'ai.image_generating': 'Generating image...',
|
||
'ai.video_prompt': 'Enter video description...',
|
||
'ai.video_generating': 'Generating video...',
|
||
'ai.video_quality': 'Quality',
|
||
'ai.video_size': 'Size',
|
||
'ai.generate_topics_prompt': 'Generate topics from category',
|
||
'ai.generating_topics': 'Generating topics...',
|
||
'ai.no_settings': 'No AI settings found',
|
||
'ai.save_settings': 'Save Settings',
|
||
'ai.settings_saved': 'Settings saved',
|
||
'ai.chat_history': 'Chat History',
|
||
'ai.new_chat': 'New Chat',
|
||
'ai.clear_chat': 'Clear Chat',
|
||
'ai.character_settings': 'Character Settings',
|
||
'ai.request_count': 'Requests today: {count}',
|
||
|
||
// Virtual Character
|
||
'character.title': 'Your Learning Companion',
|
||
'character.select': 'Select Character',
|
||
'character.owl': 'Owl',
|
||
'character.dragon': 'Dragon',
|
||
'character.robot': 'Robot',
|
||
'character.cat': 'Cat',
|
||
'character.wizard': 'Wizard',
|
||
'character.name': 'Name',
|
||
'character.color': 'Color',
|
||
'character.level': 'Level',
|
||
'character.xp': 'Experience Points',
|
||
'character.mood_happy': 'Happy',
|
||
'character.mood_excited': 'Excited',
|
||
'character.mood_thinking': 'Thinking',
|
||
'character.mood_sleepy': 'Sleepy',
|
||
'character.mood_celebrating': 'Celebrating',
|
||
'character.how_can_i_help': 'How can I help you?',
|
||
'character.motivate': 'Motivate',
|
||
'character.disabled': 'Character disabled',
|
||
'character.customize': 'Customize',
|
||
'character.save': 'Save',
|
||
'character.xp_to_next': '{xp} XP to next level',
|
||
'character.level_up': 'Level Up!',
|
||
'character.greeting_morning': 'Good morning! Ready to learn?',
|
||
'character.greeting_afternoon': 'Good afternoon! Let\'s keep learning!',
|
||
'character.greeting_evening': 'Good evening! Want to study a bit more?',
|
||
'character.idle_message_1': 'Need help?',
|
||
'character.idle_message_2': 'Just ask me!',
|
||
'character.idle_message_3': 'I\'m here to help!',
|
||
'character.close': 'Close',
|
||
'character.open_chat': 'Open Chat',
|
||
'character.speech_bubble': 'Speech Bubble',
|
||
|
||
// ─── Illness Reporting ──────────────────────────────────────────────
|
||
'nav.illness': 'Illness Reports',
|
||
'nav.communication': 'Communication Rooms',
|
||
'illness.title': 'Illness Reports',
|
||
'illness.report': 'Report Illness',
|
||
'illness.my_reports': 'My Illness Reports',
|
||
'illness.pending_approval': 'Pending Approval',
|
||
'illness.approved': 'Approved',
|
||
'illness.rejected': 'Rejected',
|
||
'illness.parent_approval_needed': 'Parent Approval Required',
|
||
'illness.parent_approval_desc': 'Your illness report must be confirmed by a parent before it becomes visible to teachers.',
|
||
'illness.start_date': 'Start Date',
|
||
'illness.end_date': 'End Date',
|
||
'illness.reason': 'Reason',
|
||
'illness.illness': 'Illness',
|
||
'illness.doctor_visit': 'Doctor Visit',
|
||
'illness.other': 'Other',
|
||
'illness.description': 'Description',
|
||
'illness.medical_certificate': 'Medical Certificate',
|
||
'illness.approve': 'Approve',
|
||
'illness.reject': 'Reject',
|
||
'illness.auto_approved': 'Auto-approved',
|
||
'illness.not_visible_teacher': 'Not visible to teachers',
|
||
'illness.visible_teacher': 'Visible to teachers',
|
||
'illness.statistics': 'Statistics',
|
||
'illness.calendar_view': 'Calendar View',
|
||
'illness.list_view': 'List View',
|
||
'illness.no_reports': 'No illness reports',
|
||
'illness.create_first': 'Create your first illness report',
|
||
'illness.pending_reports': 'Pending Reports',
|
||
'illness.approved_reports': 'Approved Reports',
|
||
'illness.rejected_reports': 'Rejected Reports',
|
||
'illness.total_absences': 'Total Absences',
|
||
'illness.days_absent': 'Days Absent',
|
||
'illness.reported_by': 'Reported by',
|
||
'illness.reported_on': 'Reported on',
|
||
'illness.approved_by': 'Approved by',
|
||
'illness.approved_on': 'Approved on',
|
||
'illness.children_reports': "Children's Reports",
|
||
'illness.pending_approvals': 'Pending Approvals',
|
||
'illness.approve_confirm': 'Do you want to approve this illness report?',
|
||
'illness.reject_confirm': 'Do you want to reject this illness report?',
|
||
'illness.rejection_reason': 'Rejection Reason',
|
||
'illness.student_report': 'Student Report',
|
||
'illness.parent_report': 'Parent Report',
|
||
'illness.no_pending': 'No pending approvals',
|
||
'illness.class_absences': 'Class Absences',
|
||
'illness.all_reports': 'All Reports',
|
||
'illness.from_date': 'From',
|
||
'illness.to_date': 'To',
|
||
'illness.upload_certificate': 'Upload Certificate',
|
||
'illness.delete_confirm': 'Do you really want to delete this illness report?',
|
||
'illness.edit_report': 'Edit Report',
|
||
'illness.status_pending': 'Pending',
|
||
'illness.status_approved': 'Approved',
|
||
'illness.status_rejected': 'Rejected',
|
||
'illness.absence_overview': 'Absence Overview',
|
||
'illness.report_success': 'Illness report created successfully',
|
||
'illness.approve_success': 'Illness report approved',
|
||
'illness.reject_success': 'Illness report rejected',
|
||
'illness.delete_success': 'Illness report deleted',
|
||
'illness.update_success': 'Illness report updated',
|
||
'illness.error_create': 'Error creating illness report',
|
||
'illness.error_approve': 'Error approving report',
|
||
'illness.error_reject': 'Error rejecting report',
|
||
|
||
// ─── Communication Rooms ────────────────────────────────────────────
|
||
'communication.title': 'Communication Rooms',
|
||
'communication.request_conversation': 'Request Conversation',
|
||
'communication.active_conversations': 'Active Conversations',
|
||
'communication.pending_requests': 'Pending Requests',
|
||
'communication.accept': 'Accept',
|
||
'communication.reject': 'Reject',
|
||
'communication.close': 'Close',
|
||
'communication.send_message': 'Send',
|
||
'communication.type_message': 'Type a message...',
|
||
'communication.share_notes': 'Share Notes',
|
||
'communication.voice_note': 'Voice Note',
|
||
'communication.attach_file': 'Attach File',
|
||
'communication.teacher_notes': 'Teacher Notes',
|
||
'communication.conversation_with': 'Conversation with',
|
||
'communication.no_conversations': 'No conversations',
|
||
'communication.requested': 'Requested',
|
||
'communication.active': 'Active',
|
||
'communication.closed': 'Closed',
|
||
'communication.no_messages': 'No messages',
|
||
'communication.message_sent': 'Message sent',
|
||
'communication.request_sent': 'Conversation request sent',
|
||
'communication.conversation_accepted': 'Conversation accepted',
|
||
'communication.conversation_rejected': 'Conversation rejected',
|
||
'communication.conversation_closed': 'Conversation closed',
|
||
'communication.select_conversation': 'Select a conversation',
|
||
'communication.new_conversation': 'New Conversation',
|
||
'communication.with_teacher': 'With Class Teacher',
|
||
'communication.your_teacher': 'Your Class Teacher',
|
||
'communication.request_reason': 'Request Reason',
|
||
'communication.optional_reason': 'Optional reason...',
|
||
'communication.incoming_requests': 'Incoming Requests',
|
||
'communication.student_requests': 'Student Requests',
|
||
'communication.accept_confirm': 'Do you want to accept this conversation?',
|
||
'communication.reject_confirm': 'Do you want to reject this request?',
|
||
'communication.close_confirm': 'Do you want to close this conversation?',
|
||
'communication.close_reason': 'Close Reason',
|
||
'communication.teacher_notes_placeholder': 'Notes about this conversation...',
|
||
'communication.all_rooms': 'All Rooms',
|
||
'communication.monitor': 'Monitor Room',
|
||
'communication.read_only': 'Read Only',
|
||
'communication.room_status': 'Room Status',
|
||
'communication.last_message': 'Last Message',
|
||
'communication.participants': 'Participants',
|
||
'communication.no_active_rooms': 'No active rooms',
|
||
'communication.no_pending_requests': 'No pending requests',
|
||
'communication.file_shared': 'File shared',
|
||
'communication.note_shared': 'Note shared',
|
||
'communication.voice_message': 'Voice message',
|
||
'communication.recording': 'Recording...',
|
||
'communication.stop_recording': 'Stop Recording',
|
||
'communication.start_recording': 'Start Recording',
|
||
'communication.typing': 'typing...',
|
||
'communication.error_send': 'Error sending message',
|
||
'communication.error_create': 'Error creating conversation',
|
||
'communication.today': 'Today',
|
||
'communication.yesterday': 'Yesterday',
|
||
|
||
// Counseling
|
||
'counseling.title': 'Counseling',
|
||
'counseling.request': 'Request Counseling',
|
||
'counseling.appointments': 'Appointments',
|
||
'counseling.guidance': 'Guidance',
|
||
'counseling.psychological': 'Psychological',
|
||
'counseling.career': 'Career',
|
||
'counseling.social': 'Social',
|
||
'counseling.schedule': 'Schedule',
|
||
'counseling.cancel': 'Cancel',
|
||
'counseling.notes': 'Notes',
|
||
'counseling.private': 'Private',
|
||
'counseling.add_to_calendar': 'Add to Calendar',
|
||
'counseling.upcoming': 'Upcoming',
|
||
'counseling.history': 'History',
|
||
'counseling.no_counselor': 'No counselor assigned',
|
||
'counseling.assign_counselor': 'Assign Counselor',
|
||
'counseling.counselor': 'Counselor',
|
||
'counseling.student': 'Student',
|
||
'counseling.description': 'Description',
|
||
'counseling.duration': 'Duration (minutes)',
|
||
'counseling.type': 'Type',
|
||
'counseling.status': 'Status',
|
||
'counseling.requested': 'Requested',
|
||
'counseling.scheduled': 'Scheduled',
|
||
'counseling.completed': 'Completed',
|
||
'counseling.cancelled': 'Cancelled',
|
||
'counseling.scheduled_at': 'Scheduled at',
|
||
'counseling.no_appointments': 'No appointments',
|
||
'counseling.session_notes': 'Session Notes',
|
||
'counseling.add_notes': 'Add Notes',
|
||
'counseling.statistics': 'Statistics',
|
||
'counseling.total_appointments': 'Total Appointments',
|
||
'counseling.this_month': 'This Month',
|
||
'counseling.by_type': 'By Type',
|
||
'counseling.view_all': 'View All',
|
||
|
||
// Disciplinary
|
||
'disciplinary.title': 'Disciplinary Committee',
|
||
'disciplinary.committee': 'Committee',
|
||
'disciplinary.create_committee': 'Create Committee',
|
||
'disciplinary.members': 'Members',
|
||
'disciplinary.lead': 'Lead Teacher',
|
||
'disciplinary.chair': 'Chair',
|
||
'disciplinary.cases': 'Cases',
|
||
'disciplinary.report_case': 'Report Case',
|
||
'disciplinary.warning': 'Warning',
|
||
'disciplinary.minor_violation': 'Minor Violation',
|
||
'disciplinary.major_violation': 'Major Violation',
|
||
'disciplinary.serious_offense': 'Serious Offense',
|
||
'disciplinary.open': 'Open',
|
||
'disciplinary.under_review': 'Under Review',
|
||
'disciplinary.resolved': 'Resolved',
|
||
'disciplinary.dismissed': 'Dismissed',
|
||
'disciplinary.evidence': 'Evidence',
|
||
'disciplinary.resolution': 'Resolution',
|
||
'disciplinary.active': 'Active',
|
||
'disciplinary.inactive': 'Inactive',
|
||
'disciplinary.deactivate': 'Deactivate',
|
||
'disciplinary.activate': 'Activate',
|
||
'disciplinary.edit_committee': 'Edit Committee',
|
||
'disciplinary.committee_name': 'Committee Name',
|
||
'disciplinary.committee_description': 'Description',
|
||
'disciplinary.add_member': 'Add Member',
|
||
'disciplinary.remove_member': 'Remove Member',
|
||
'disciplinary.case_type': 'Case Type',
|
||
'disciplinary.case_description': 'Case Description',
|
||
'disciplinary.student_involved': 'Student Involved',
|
||
'disciplinary.reported_by': 'Reported By',
|
||
'disciplinary.reviewed_by': 'Reviewed By',
|
||
'disciplinary.resolution_date': 'Resolution Date',
|
||
'disciplinary.no_committees': 'No committees',
|
||
'disciplinary.no_cases': 'No cases',
|
||
'disciplinary.view_case': 'View Case',
|
||
'disciplinary.review_case': 'Review Case',
|
||
'disciplinary.resolve_case': 'Resolve Case',
|
||
'disciplinary.dismiss_case': 'Dismiss Case',
|
||
'disciplinary.case_history': 'Case History',
|
||
'disciplinary.member_role': 'Role',
|
||
'disciplinary.member_chair': 'Chair',
|
||
'disciplinary.member_vice_chair': 'Vice Chair',
|
||
'disciplinary.member_member': 'Member',
|
||
|
||
// AI Tests
|
||
'ai_tests.title': 'AI Practice Tests',
|
||
'ai_tests.practice': 'Practice Test',
|
||
'ai_tests.mock_exam': 'Mock Exam',
|
||
'ai_tests.review': 'Review',
|
||
'ai_tests.generate': 'Generate Test',
|
||
'ai_tests.auto_generate': 'Auto-Generate',
|
||
'ai_tests.take_test': 'Take Test',
|
||
'ai_tests.results': 'Results',
|
||
'ai_tests.explanation': 'Explanation',
|
||
'ai_tests.score': 'Score',
|
||
'ai_tests.upcoming_exams': 'Upcoming Exams',
|
||
'ai_tests.two_weeks_before': '2 Weeks Before Exam',
|
||
'ai_tests.difficulty': 'Difficulty',
|
||
'ai_tests.easy': 'Easy',
|
||
'ai_tests.medium': 'Medium',
|
||
'ai_tests.hard': 'Hard',
|
||
'ai_tests.topic': 'Topic',
|
||
'ai_tests.question_count': 'Question Count',
|
||
'ai_tests.subject': 'Subject',
|
||
'ai_tests.class': 'Class',
|
||
'ai_tests.no_tests': 'No tests available',
|
||
'ai_tests.completed': 'Completed',
|
||
'ai_tests.in_progress': 'In Progress',
|
||
'ai_tests.pending': 'Pending',
|
||
'ai_tests.questions': 'Questions',
|
||
'ai_tests.correct_answer': 'Correct Answer',
|
||
'ai_tests.your_answer': 'Your Answer',
|
||
'ai_tests.progress_over_time': 'Progress Over Time',
|
||
'ai_tests.test_type': 'Test Type',
|
||
'ai_tests.generated_on': 'Generated On',
|
||
'ai_tests.configure': 'Configure',
|
||
'ai_tests.manual_trigger': 'Manual Trigger',
|
||
'ai_tests.auto_settings': 'Auto Settings',
|
||
'ai_tests.test_statistics': 'Test Statistics',
|
||
'ai_tests.average_score': 'Average Score',
|
||
'ai_tests.total_tests': 'Total Tests',
|
||
'ai_tests.completion_rate': 'Completion Rate',
|
||
'ai_tests.submit_answers': 'Submit Answers',
|
||
'ai_tests.next_question': 'Next Question',
|
||
'ai_tests.previous_question': 'Previous Question',
|
||
'ai_tests.question_of': 'Question {current} of {total}',
|
||
'ai_tests.time_remaining': 'Time Remaining',
|
||
|
||
// Grading Review
|
||
'grading_review.title': 'Grading Review',
|
||
'grading_review.trigger': 'Trigger Review',
|
||
'grading_review.discrepancies': 'Discrepancies',
|
||
'grading_review.comment': 'Comment',
|
||
'grading_review.suggested_grade': 'Suggested Grade',
|
||
'grading_review.reason': 'Reason',
|
||
'grading_review.status': 'Status',
|
||
'grading_review.pending': 'Pending',
|
||
'grading_review.in_progress': 'In Progress',
|
||
'grading_review.completed': 'Completed',
|
||
'grading_review.assessment': 'Assessment',
|
||
'grading_review.teacher': 'Teacher',
|
||
'grading_review.add_comment': 'Add Comment',
|
||
'grading_review.review_result': 'Review Result',
|
||
'grading_review.no_reviews': 'No reviews',
|
||
'grading_review.ai_feedback': 'AI Feedback',
|
||
'grading_review.fairness': 'Fairness',
|
||
'grading_review.consistency': 'Consistency',
|
||
'grading_review.comments': 'Comments',
|
||
'grading_review.view_details': 'View Details',
|
||
'grading_review.discrepancies_found': 'Discrepancies Found',
|
||
'grading_review.review_date': 'Review Date',
|
||
'grading_review.no_discrepancies': 'No discrepancies found',
|
||
'grading_review.overall_assessment': 'Overall Assessment',
|
||
};
|
||
|
||
const translations: Record<string, TranslationDict> = { de, en };
|
||
|
||
let currentLocale: string = 'de';
|
||
|
||
export function setLocale(locale: string): void {
|
||
currentLocale = locale;
|
||
}
|
||
|
||
export function getLocale(): string {
|
||
return currentLocale;
|
||
}
|
||
|
||
export function t(key: string, params?: Record<string, string | number>): string {
|
||
const dict = translations[currentLocale] ?? translations['de'];
|
||
let text = dict[key] ?? key;
|
||
if (params) {
|
||
for (const [k, v] of Object.entries(params)) {
|
||
text = text.replace(new RegExp(`\\{${k}\\}`, 'g'), String(v));
|
||
}
|
||
}
|
||
return text;
|
||
}
|
||
|
||
export function tDe(key: string, params?: Record<string, string | number>): string {
|
||
const dict = translations['de'];
|
||
let text = dict[key] ?? key;
|
||
if (params) {
|
||
for (const [k, v] of Object.entries(params)) {
|
||
text = text.replace(new RegExp(`\\{${k}\\}`, 'g'), String(v));
|
||
}
|
||
}
|
||
return text;
|
||
}
|