Round 17: QR Codes, Gamification Badges, Auto-Award, Badge Management
This commit is contained in:
1 parent
6174f127f9
commit
cba8a8e724
23 files changed
+4028
-1
No files matched your search
+290
@@ -3084,6 +3084,151 @@ const de: TranslationDict = {
|
||||
'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',
|
||||
|
||||
// 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',
|
||||
};
|
||||
|
||||
const en: TranslationDict = {
|
||||
@@ -6167,6 +6312,151 @@ const en: TranslationDict = {
|
||||
'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',
|
||||
|
||||
// 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',
|
||||
};
|
||||
|
||||
const translations: Record<string, TranslationDict> = { de, en };
|
||||
|
||||
Reference in new issue
Block a user