refactor(messages): submission-folder

This commit is contained in:
Winnie Ros 2021-04-03 11:13:00 +02:00
parent cdaf1420e8
commit cbae982287
22 changed files with 263 additions and 273 deletions

View File

@ -85,6 +85,12 @@ TableCorProportion: Anteil
TableCorrector: Korrektor TableCorrector: Korrektor
TableDegreeShort: Abschlusskürzel TableDegreeShort: Abschlusskürzel
TableDegreeName: Abschluss TableDegreeName: Abschluss
TableRatingTime: Korrigiert
TableSheetType: Wertung
TableHasCorrector: Korrektor zugeteilt
TableAchievedOf achieved@Points possible@Points: #{achieved} von #{possible}
TablePassed: Bestanden
TableNotPassed: Nicht bestanden
#headings #headings
HeadingLegal: Rechtliche Informationen HeadingLegal: Rechtliche Informationen
@ -93,7 +99,6 @@ ParticipantsList: Kursteilnehmerlisten
ParticipantsIntersect: Überschneidung von Kursteilnehmer:innen ParticipantsIntersect: Überschneidung von Kursteilnehmer:innen
HeadingProfileData: Persönliche Daten HeadingProfileData: Persönliche Daten
HeadingSchoolList: Institute HeadingSchoolList: Institute
HeadingCorrectionsAssign: Zuteilung der Korrekturen
HeadingUserAdd: Benutzer:in anlegen HeadingUserAdd: Benutzer:in anlegen
CorrectorsChange: Korrektoren ändern CorrectorsChange: Korrektoren ändern
MaterialList: Material MaterialList: Material
@ -124,6 +129,8 @@ GenericAvg: Avg
GenericMax: Max GenericMax: Max
GenericAll: Insgesamt GenericAll: Insgesamt
AchievedOf achieved@Points possible@Points: #{achieved} von #{possible}
SummerTerm year@Integer: Sommersemester #{year} SummerTerm year@Integer: Sommersemester #{year}
WinterTerm year@Integer: Wintersemester #{year}/#{succ year} WinterTerm year@Integer: Wintersemester #{year}/#{succ year}
SummerTermShort year@Integer: SoSe #{year} SummerTermShort year@Integer: SoSe #{year}
@ -202,30 +209,15 @@ SheetArchiveFileTypeDirectoryHint: hinweis
SheetArchiveFileTypeDirectorySolution: loesung SheetArchiveFileTypeDirectorySolution: loesung
SheetArchiveFileTypeDirectoryMarking: korrektur SheetArchiveFileTypeDirectoryMarking: korrektur
SheetsUnassignable name@Text: Momentan keine Abgaben zuteilbar für #{name}
Deadline: Abgabe Deadline: Abgabe
Done: Eingereicht Done: Eingereicht
SubmissionsCourse tid@TermId ssh@SchoolId csh@CourseShorthand: Alle Abgaben Kurs #{tid}-#{ssh}-#{csh} SubmissionsCourse tid@TermId ssh@SchoolId csh@CourseShorthand: Alle Abgaben Kurs #{tid}-#{ssh}-#{csh}
SubmissionsSheet sheetName@SheetName: Abgaben für #{sheetName} SubmissionsSheet sheetName@SheetName: Abgaben für #{sheetName}
SubmissionWrongSheet: Abgabenummer gehört nicht zum angegebenen Übungsblatt. UtilSubmissionWrongSheet: Abgabenummer gehört nicht zum angegebenen Übungsblatt.
SubmissionAlreadyExists: Sie haben bereits eine Abgabe zu diesem Übungsblatt.
SubmissionEditHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{tid}-#{ssh}-#{csh} #{sheetName}: Abgabe editieren/anlegen SubmissionEditHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{tid}-#{ssh}-#{csh} #{sheetName}: Abgabe editieren/anlegen
CorrectionHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName cid@CryptoFileNameSubmission: #{tid}-#{ssh}-#{csh} #{sheetName}: Korrektur CorrectionHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName cid@CryptoFileNameSubmission: #{tid}-#{ssh}-#{csh} #{sheetName}: Korrektur
SubmissionMembers: Abgebende
SubmissionMember: Abgebende(r)
CosubmittorTip: Einladungen per E-Mail erhalten genau jene Adressen, für die nicht gesichert werden kann, dass sie mit der dahinter stehenden Person schon einmal für diesen Kurs abgegeben haben. Wenn eine angegebene Adresse einer Person zugeordnet werden kann, mit der Sie in diesem Kurs schon einmal zusammen abgegeben haben, wird der Name der Person angezeigt und die Abgabe erfolgt sofort auch im Namen jener Person. CosubmittorTip: Einladungen per E-Mail erhalten genau jene Adressen, für die nicht gesichert werden kann, dass sie mit der dahinter stehenden Person schon einmal für diesen Kurs abgegeben haben. Wenn eine angegebene Adresse einer Person zugeordnet werden kann, mit der Sie in diesem Kurs schon einmal zusammen abgegeben haben, wird der Name der Person angezeigt und die Abgabe erfolgt sofort auch im Namen jener Person.
SubmissionArchive: Zip-Archiv der Abgabedatei(en)
SubmissionArchiveCorrected: Zip-Archiv der Abgabedatei(en) inkl. Korrekturen
SubmissionFile: Datei zur Abgabe
SubmissionFiles: Abgegebene Dateien
SubmissionAlreadyExistsFor email@UserEmail: #{email} hat bereits eine Abgabe zu diesem Übungsblatt.
SubmissionUsersEmpty: Es kann keine Abgabe ohne Abgebende erstellt werden
SubmissionUserAlreadyAdded: Dieser Nutzer ist bereits als Mitabgebende(r) eingetragen
NoOpenSubmissions: Keine unkorrigierten Abgaben vorhanden
SubmissionFilesCorrected: Abgegebene & Korrigierte Dateien
RatingUpdatedFiles: Bei der Korrektur wurden Dateien angepasst oder hinzugefügt
SubmissionsDeleteQuestion n@Int: Wollen Sie #{pluralDE n "die unten aufgeführte Abgabe" "die unten aufgeführten Abgaben"} wirklich löschen? SubmissionsDeleteQuestion n@Int: Wollen Sie #{pluralDE n "die unten aufgeführte Abgabe" "die unten aufgeführten Abgaben"} wirklich löschen?
SubmissionsDeleted n@Int: #{pluralDE n "Abgabe gelöscht" "Abgaben gelöscht"} SubmissionsDeleted n@Int: #{pluralDE n "Abgabe gelöscht" "Abgaben gelöscht"}
@ -235,15 +227,7 @@ SubmissionDeleteCosubmittorsWarning n@Int: Bei #{pluralDE n "der oben aufgeführ
SubmissionGroupName: Gruppenname SubmissionGroupName: Gruppenname
CorrectionsTitle: Zugewiesene Korrekturen CorrectionsTitle: Zugewiesene Korrekturen
CourseCorrectionsTitle: Korrekturen für diesen Kurs
CorrectorsHead sheetName@SheetName: Korrektoren für #{sheetName} CorrectorsHead sheetName@SheetName: Korrektoren für #{sheetName}
CorrectorAssignTitle: Korrektor zuweisen
SubmissionCorrector: Korrektor
SubmissionCorrectorTip: Der hier eingetragene Korrektor erhält vollen Zugriff auf diese Korrektur, kann sie also auch nachträglich noch verändern.
SubmissionNoCorrector: Kein Korrektor
SubmissionCannotBeRatedWithoutCorrector: Die Korrektur kann nur abgeschlossen werden, wenn auch ein Korrektor angegeben wird
CorrectionsGrade: Korrekturen eintragen
MaterialName: Name MaterialName: Name
MaterialType: Art MaterialType: Art
@ -381,8 +365,6 @@ WorkflowRoleNoPayload: Dieser Workflow enthält keine Daten
EMail: E-Mail EMail: E-Mail
EMailUnknown email@UserEmail: E-Mail #{email} gehört zu keinem bekannten Benutzer. EMailUnknown email@UserEmail: E-Mail #{email} gehört zu keinem bekannten Benutzer.
NotAParticipant email@UserEmail tid@TermId csh@CourseShorthand: #{email} ist nicht im Kurs #{tid}-#{csh} angemeldet.
TooManyParticipants: Es wurden zu viele Mitabgebende angegeben
AddCorrector: Zusätzlicher Korrektor AddCorrector: Zusätzlicher Korrektor
CorDeficitProportion: Defizit Anteile CorDeficitProportion: Defizit Anteile
@ -392,10 +374,6 @@ CorByProportionExcludingTutorial proportion@Rational: #{rationalToFixed3 proport
RowCount count@Int64: #{count} #{pluralDE count "passender Eintrag" "passende Einträge"} insgesamt RowCount count@Int64: #{count} #{pluralDE count "passender Eintrag" "passende Einträge"} insgesamt
DeleteRow: Entfernen DeleteRow: Entfernen
CorrectorUpdated: Korrektor erfolgreich aktualisiert
CorrectorsUpdated: Korrektoren erfolgreich aktualisiert
CorrectorsPlaceholder: Korrektoren...
CorrectorsDefaulted: Korrektoren-Liste wurde aus bisherigen Übungsblättern diesen Kurses generiert. Es sind keine Daten gespeichert.
Users: Benutzer Users: Benutzer
NewsHeading: Aktuelles NewsHeading: Aktuelles
@ -445,16 +423,11 @@ DBTablePagesize: Einträge pro Seite
DBTablePagesizeAll: Alle DBTablePagesizeAll: Alle
CorrDownload: Herunterladen CorrDownload: Herunterladen
CorrDownloadAnonymous: Anonymisiert
CorrDownloadAnonymousTip: Wenn Abgaben nicht-anonymisiert heruntergeladen werden, werden an die Verzeichnisnamen der einzelnen Abgaben das ausgewählte Merkmal der Abgeber angehängt, sofern erlaubt
SubmissionDownloadAnonymous: Anonymisiert SubmissionDownloadAnonymous: Anonymisiert
SubmissionDownloadSurnames: Mit Nachnamen SubmissionDownloadSurnames: Mit Nachnamen
SubmissionDownloadMatriculations: Mit Matrikelnummern SubmissionDownloadMatriculations: Mit Matrikelnummern
SubmissionDownloadGroups: Mit festen Abgabegruppen SubmissionDownloadGroups: Mit festen Abgabegruppen
CorrUploadField: Korrekturen
CorrUpload: Korrekturen hochladen CorrUpload: Korrekturen hochladen
CorrSetCorrector: Korrektor zuweisen
CorrSetCorrectorTooltip: Bereits verteilte Abgaben müssen zuerst Korrektor <Nichts> zugewiesen werden, bevor diese neu verteilt werden.
CorrAutoSetCorrector: Korrekturen verteilen CorrAutoSetCorrector: Korrekturen verteilen
CorrDelete: Abgaben löschen CorrDelete: Abgaben löschen
NatField name@Text: #{name} muss eine natürliche Zahl sein! NatField name@Text: #{name} muss eine natürliche Zahl sein!
@ -462,36 +435,19 @@ JSONFieldDecodeFailure aesonFailure@String: Konnte JSON nicht parsen: #{aesonFai
YAMLFieldDecodeFailure yamlFailure@String: Konnte YAML nicht parsen: #{yamlFailure} YAMLFieldDecodeFailure yamlFailure@String: Konnte YAML nicht parsen: #{yamlFailure}
SecretJSONFieldDecryptFailure: Konnte versteckte vertrauliche Daten nicht entschlüsseln SecretJSONFieldDecryptFailure: Konnte versteckte vertrauliche Daten nicht entschlüsseln
SubmissionsAlreadyAssigned num@Int64: #{num} #{pluralDE num "Abgabe" "Abgaben"} waren bereits einem Korrektor zugeteilt und wurden nicht verändert:
SubmissionsAssignUnauthorized num@Int64: #{num} #{pluralDE num "Abgabe" "Abgaben"} können momentan nicht einem Korrektor zugeteilt werden (z.B. weil die Abgabe noch offen ist):
UpdatedAssignedCorrectorSingle num@Int64: #{num} #{pluralDE num "Abgabe" "Abgaben"} wurden dem neuen Korrektor zugeteilt.
NoCorrector: Kein Korrektor
RemovedCorrections num@Int64: Korrektur-Daten wurden von #{num} #{pluralDE num "Abgabe" "Abgaben"} entfernt.
UpdatedAssignedCorrectorsAuto num@Int64: #{num} #{pluralDE num "Abgabe" "Abgaben"} wurden unter den Korrektoren aufgeteilt.
UpdatedSheetCorrectorsAutoAssigned n@Int: #{n} #{pluralDE n "Abgabe wurde einem Korrektor" "Abgaben wurden Korrektoren"} zugteilt.
UpdatedSheetCorrectorsAutoFailed n@Int: #{n} #{pluralDE n "Abgabe konnte" "Abgaben konnten"} nicht automatisch zugewiesen werden.
CouldNotAssignCorrectorsAuto num@Int64: #{num} #{pluralDE num "Abgabe konnte" "Abgaben konnten"} nicht automatisch zugewiesen werden:
SelfCorrectors num@Int64: #{num} Abgaben wurden Abgebenden als eigenem Korrektor zugeteilt!
SubmissionOriginal: Original
SubmissionCorrected: Korrigiert SubmissionCorrected: Korrigiert
SubmissionArchiveName: abgaben UtilSubmissionArchiveName: abgaben
SubmissionTermArchiveName tid@TermId: #{foldCase (termToText (unTermKey tid))}-abgaben SubmissionTermArchiveName tid@TermId: #{foldCase (termToText (unTermKey tid))}-abgaben
SubmissionTermSchoolArchiveName tid@TermId ssh@SchoolId: #{foldCase (termToText (unTermKey tid))}-#{foldCase (unSchoolKey ssh)}-abgaben SubmissionTermSchoolArchiveName tid@TermId ssh@SchoolId: #{foldCase (termToText (unTermKey tid))}-#{foldCase (unSchoolKey ssh)}-abgaben
SubmissionTermSchoolCourseArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand: #{foldCase (termToText (unTermKey tid))}-#{foldCase (unSchoolKey ssh)}-#{foldCase csh}-abgaben SubmissionTermSchoolCourseArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand: #{foldCase (termToText (unTermKey tid))}-#{foldCase (unSchoolKey ssh)}-#{foldCase csh}-abgaben
SubmissionTermSchoolCourseSheetArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand shn@SheetName: #{foldCase (termToText (unTermKey tid))}-#{foldCase (unSchoolKey ssh)}-#{foldCase csh}-#{foldCase shn}-abgaben SubmissionTermSchoolCourseSheetArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand shn@SheetName: #{foldCase (termToText (unTermKey tid))}-#{foldCase (unSchoolKey ssh)}-#{foldCase csh}-#{foldCase shn}-abgaben
SubmissionTypeArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand shn@SheetName subId@CryptoFileNameSubmission renderedSfType@Text: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase shn}-#{foldCase (toPathPiece subId)}-#{foldCase renderedSfType}
CorrectionSheets: Übersicht Korrekturen nach Blättern CorrectionSheets: Übersicht Korrekturen nach Blättern
CorrectionCorrectors: Übersicht Korrekturen nach Korrektoren CorrectionCorrectors: Übersicht Korrekturen nach Korrektoren
AssignSubmissionExceptionNoCorrectors: Es sind keine Korrektoren eingestellt
AssignSubmissionExceptionNoCorrectorsByProportion: Es sind keine Korrektoren mit Anteil ungleich Null eingestellt
AssignSubmissionExceptionSubmissionsNotFound n@Int: #{n} Abgaben konnten nicht gefunden werden
NrSubmittorsTotal: Abgebende NrSubmittorsTotal: Abgebende
NrSubmissionsTotal: Abgaben NrSubmissionsTotal: Abgaben
NrSubmissionsTotalShort: Abg. NrSubmissionsTotalShort: Abg.
NrSubmissionsUnassigned: Ohne Korrektor NrSubmissionsUnassigned: Ohne Korrektor
NoCorrectorAssigned: Ohne Korrektor
NrCorrectors: Korrektoren NrCorrectors: Korrektoren
NrSubmissionsNewlyAssigned: Neu zugeteilt NrSubmissionsNewlyAssigned: Neu zugeteilt
NrSubmissionsNotAssigned: Nicht zugeteilt NrSubmissionsNotAssigned: Nicht zugeteilt
@ -501,46 +457,21 @@ CorrectionTime: Korrekturdauer
AssignSubmissionsRandomWarning: Die Zuteilungsvorschau kann von der tatsächlichen Zuteilung abweichen, wenn mehrere Blätter auf einmal zugeteilt werden, da beim Ausgleich der Kontigente nur bereits zugeteilte Abgaben berücksichtigt werden. Da es ein randomisierte Prozess ist, kann es auch bei einzelnen Blättern gerinfgügige Abweichungen geben. AssignSubmissionsRandomWarning: Die Zuteilungsvorschau kann von der tatsächlichen Zuteilung abweichen, wenn mehrere Blätter auf einmal zugeteilt werden, da beim Ausgleich der Kontigente nur bereits zugeteilte Abgaben berücksichtigt werden. Da es ein randomisierte Prozess ist, kann es auch bei einzelnen Blättern gerinfgügige Abweichungen geben.
AssignSubmissionsAssignableSheets: Korrekturen verteilen für: AssignSubmissionsAssignableSheets: Korrekturen verteilen für:
CorrectionsUploaded num@Int64: #{num} #{pluralDE num "Korrektur wurde" "Korrekturen wurden"} gespeichert
NoCorrectionsUploaded: In den hochgeladenen Dateien wurden keine Korrekturen gefunden.
RatingBy: Korrigiert von
HasCorrector: Korrektor zugeteilt
AssignedTime: Zuteilung
AchievedBonusPoints: Erreichte Bonuspunkte AchievedBonusPoints: Erreichte Bonuspunkte
AchievedNormalPoints: Erreichte Punkte AchievedNormalPoints: Erreichte Punkte
AchievedPassPoints: Erreichte Punkte zum Bestehen
PassAchievedOf points@Points passingPoints@Points maxPoints@Points: #{points} von #{maxPoints} (Bestanden ab #{passingPoints})
PassedResult: Ergebnis PassedResult: Ergebnis
Passed: Bestanden Passed: Bestanden
NotPassed: Nicht bestanden NotPassed: Nicht bestanden
RatingTime: Korrigiert
RatingComment: Kommentar
SubmissionUsers: Studenten
RatingPoints: Punkte
RatingDone: Bewertung abgeschlossen
RatingDoneTip: Das Korrekturergebnis ist nur dann für die Abgebenden sichtbar und kann gegen etwaige Prüfungs-Bonuspunkte verrechnet werden, wenn die Bewertung abgeschlossen ist.
RatingFiles: Korrigierte Dateien
RatingFilesTip: Hier hochgeladene Dateien ersetzen ggf. die bestehende korrigierte Version der Abgabe vollständig (nicht erneut hochgeladene Dateien werden gelöscht). Die original abgegebene Version bleibt erhalten.
PointsNotPositive: Punktzahl darf nicht negativ sein PointsNotPositive: Punktzahl darf nicht negativ sein
PointsTooHigh maxPoints@Points: Punktzahl darf nicht höher als #{maxPoints} sein PointsTooHigh maxPoints@Points: Punktzahl darf nicht höher als #{maxPoints} sein
PointsTooLow minPoints@Points: Punktzahl darf nicht kleiner als #{minPoints} sein PointsTooLow minPoints@Points: Punktzahl darf nicht kleiner als #{minPoints} sein
RatingPointsDone: Abgabe zählt als korrigiert, gdw. Punktezahl gesetzt ist RatingPointsDone: Abgabe zählt als korrigiert, gdw. Punktezahl gesetzt ist
ColumnRatingPoints: Punktzahl
Pseudonyms: Pseudonyme
VisibleFrom: Veröffentlicht VisibleFrom: Veröffentlicht
AccessibleSince: Verfügbar seit AccessibleSince: Verfügbar seit
Corrected: Korrigiert
CorrectionAchievedPoints: Erzielte Punkte CorrectionAchievedPoints: Erzielte Punkte
CorrectionAchievedPass: Bestanden CorrectionAchievedPass: Bestanden
FileCorrected: Korrigiert (Dateien)
FileCorrectedDeleted: Korrigiert (gelöscht)
RatingDraftUpdated: Korrekturentwurf gespeichert
RatingUpdated: Korrektur gespeichert
RatingDeleted: Korrektur zurückgesetzt
RatingFilesUpdated: Korrigierte Dateien überschrieben
RatingNotUnicode: Bewertungsdatei konnte nicht als UTF-8 dekodiert werden: RatingNotUnicode: Bewertungsdatei konnte nicht als UTF-8 dekodiert werden:
RatingMissingSeparator: Präambel der Bewertungsdatei konnte nicht identifziert werden RatingMissingSeparator: Präambel der Bewertungsdatei konnte nicht identifziert werden
@ -621,12 +552,11 @@ AmbiguousUTCTime: Der angegebene Zeitpunkt lässt sich nicht eindeutig zu UTC ko
IllDefinedUTCTime: Der angegebene Zeitpunkt lässt sich nicht zu UTC konvertieren IllDefinedUTCTime: Der angegebene Zeitpunkt lässt sich nicht zu UTC konvertieren
LastEdits: Letzte Änderungen LastEdits: Letzte Änderungen
EditedBy name@Text time@Text: #{time} durch #{name} UtilEditedBy name@Text time@Text: #{time} durch #{name}
LastEditByUser: Ihre letzte Bearbeitung LastEditByUser: Ihre letzte Bearbeitung
NoEditByUser: Nicht von Ihnen bearbeitet NoEditByUser: Nicht von Ihnen bearbeitet
SubmissionFilesIgnored n@Int: Es #{pluralDE n "wurde" "wurden"} #{n} #{pluralDE n "Datei" "Dateien"} in der hochgeladenen Abgabe ignoriert SubmissionFilesIgnored n@Int: Es #{pluralDE n "wurde" "wurden"} #{n} #{pluralDE n "Datei" "Dateien"} in der hochgeladenen Abgabe ignoriert
SubmissionDoesNotExist smid@CryptoFileNameSubmission: Es existiert keine Abgabe mit Nummer #{toPathPiece smid}.
LDAPLoginTitle: Campus-Login LDAPLoginTitle: Campus-Login
PWHashLoginTitle: Uni2work-Login PWHashLoginTitle: Uni2work-Login
@ -696,11 +626,6 @@ BothSubmissions: Abgabe direkt in Uni2work & extern mit Pseudonym
BothSubmissionsTip: Abgabe kann, nach Wahl des Teilnehmers, entweder direkt in Uni2work oder extern mit Pseudonym erfolgen BothSubmissionsTip: Abgabe kann, nach Wahl des Teilnehmers, entweder direkt in Uni2work oder extern mit Pseudonym erfolgen
SubmissionNoUploadExpected: Es ist keine Abgabe von Dateien vorgesehen.
SubmissionReplace: Abgabe ersetzen
SubmissionCreated: Abgabe erfolgreich angelegt
SubmissionUpdated: Abgabe erfolgreich ersetzt
ColumnStudyFeatures: Studiendaten ColumnStudyFeatures: Studiendaten
FieldPrimary: Hauptfach FieldPrimary: Hauptfach
@ -818,8 +743,6 @@ InvitationUniWorXTip: Uni2work ist ein webbasiertes Lehrverwaltungssystem der LM
MailSubjectTutorInvitation tid@TermId ssh@SchoolId csh@CourseShorthand tutn@TutorialName: [#{tid}-#{ssh}-#{csh}] Einladung zum Tutor für #{tutn} MailSubjectTutorInvitation tid@TermId ssh@SchoolId csh@CourseShorthand tutn@TutorialName: [#{tid}-#{ssh}-#{csh}] Einladung zum Tutor für #{tutn}
MailSubjectSubmissionUserInvitation tid@TermId ssh@SchoolId csh@CourseShorthand shn@SheetName: [#{tid}-#{ssh}-#{csh}] Einladung zu einer Abgabe für #{shn}
MailSubjectPasswordReset: Uni2work-Passwort ändern bzw. setzen MailSubjectPasswordReset: Uni2work-Passwort ändern bzw. setzen
SheetGrading: Bewertung SheetGrading: Bewertung
@ -847,7 +770,6 @@ SheetTypeInfoBonus: Bonus Blätter zählen normal, erhöhen aber nicht die maxim
SheetTypeInfoInformational: Blätter ohne Anrechnung werden nirgends angerechnet, die Bewertung durch den Korrektor dient lediglich zur Information der Teilnehmer. SheetTypeInfoInformational: Blätter ohne Anrechnung werden nirgends angerechnet, die Bewertung durch den Korrektor dient lediglich zur Information der Teilnehmer.
SheetGradingBonusIncluded: Erzielte Bonuspunkte wurden hier bereits zu den erreichten normalen Punkten hinzugezählt. SheetGradingBonusIncluded: Erzielte Bonuspunkte wurden hier bereits zu den erreichten normalen Punkten hinzugezählt.
SummaryTitle: Zusammenfassung über SummaryTitle: Zusammenfassung über
SubmissionGradingSummaryTitle intgr@Integer: #{intgr} #{pluralDE intgr "Abgabe" "Abgaben"}
SheetTypeExamPartPointsWeightNegative: Gewichtung darf nicht negativ sein SheetTypeExamPartPointsWeightNegative: Gewichtung darf nicht negativ sein
SheetTypeExamPartPointsWeight: Gewichtung SheetTypeExamPartPointsWeight: Gewichtung
SheetTypeExamPartPointsExamPartOption examn@ExamName examPartNumber@ExamPartNumber: #{examn} - Teil #{view _ExamPartNumber examPartNumber} SheetTypeExamPartPointsExamPartOption examn@ExamName examPartNumber@ExamPartNumber: #{examn} - Teil #{view _ExamPartNumber examPartNumber}
@ -872,17 +794,6 @@ UnknownPseudonymWord pseudonymWord@Text: Unbekanntes Pseudonym-Wort "#{pseudonym
InvalidPseudonym pseudonym@Text: Invalides Pseudonym "#{pseudonym}" InvalidPseudonym pseudonym@Text: Invalides Pseudonym "#{pseudonym}"
InvalidPseudonymSubmissionIgnored oPseudonyms@Text iPseudonym@Text: Abgabe mit Pseudonymen „#{oPseudonyms}“ wurde ignoriert, da „#{iPseudonym}“ nicht automatisiert zu einem validen Pseudonym korrigiert werden konnte. InvalidPseudonymSubmissionIgnored oPseudonyms@Text iPseudonym@Text: Abgabe mit Pseudonymen „#{oPseudonyms}“ wurde ignoriert, da „#{iPseudonym}“ nicht automatisiert zu einem validen Pseudonym korrigiert werden konnte.
PseudonymAutocorrections: Korrekturvorschläge: PseudonymAutocorrections: Korrekturvorschläge:
UnknownPseudonym pseudonym@Text: Unbekanntes Pseudonym "#{pseudonym}"
CorrectionPseudonyms: Abgaben-Pseudonyme
CorrectionPseudonymsTip: Eine Abgabe pro Zeile, bei Gruppenabgaben mehrere Pseudonyme (komma-separiert) innerhalb einer Zeile. Kleine Schreibfehler werden u.U. automatisch korrigiert.
PseudonymSheet: Übungsblatt
CorrectionPseudonymSheet termDesc@Text csh@CourseShorthand shn@SheetName: #{termDesc} » #{csh} » #{shn}
SheetGroupTooLarge sheetGroupDesc@Text: Abgabegruppe zu groß: #{sheetGroupDesc}
SheetNoRegisteredGroup sheetGroupDesc@Text: "#{sheetGroupDesc}" sind nicht als Gruppe registriert
SheetAmbiguousRegisteredGroup sheetGroupDesc@Text: "#{sheetGroupDesc}" enthält Mitglieder aus verschiedenen registrierten Gruppen
SheetNoGroupSubmission sheetGroupDesc@Text: Gruppenabgabe ist für dieses Blatt nicht vorgesehen (#{sheetGroupDesc})
SheetDuplicatePseudonym: Folgende Pseudonyme kamen mehrfach vor; alle Vorkommen außer dem Ersten wurden ignoriert:
SheetCreateExisting: Folgende Pseudonyme haben bereits abgegeben:
CorrGrade: Korrekturen eintragen CorrGrade: Korrekturen eintragen
@ -893,12 +804,6 @@ UserSubmissionGroupsDeleted count@Int64: #{tshow count} benannte Abgabengruppen
UserAccountDeleteWarning: Achtung, dies löscht den kompletten Benutzer unwiderruflich und mit allen assoziierten Daten aus der Datenbank. Prüfungsdaten müssen jedoch langfristig gespeichert bleiben! UserAccountDeleteWarning: Achtung, dies löscht den kompletten Benutzer unwiderruflich und mit allen assoziierten Daten aus der Datenbank. Prüfungsdaten müssen jedoch langfristig gespeichert bleiben!
HelpTitle : Hilfe HelpTitle : Hilfe
HelpSendLastError: Letzte Fehlermeldung anhängen HelpSendLastError: Letzte Fehlermeldung anhängen
HelpError: Letzte Fehlermeldung HelpError: Letzte Fehlermeldung
HelpErrorYamlFilename mailId@MailObjectId: fehlermeldung-#{toPathPiece mailId}.yaml HelpErrorYamlFilename mailId@MailObjectId: fehlermeldung-#{toPathPiece mailId}.yaml
@ -906,7 +811,6 @@ HelpErrorOrRequestRequired: Bitte geben Sie entweder eine Supportanfrage bzw. ei
InfoLecturerTitle: Hinweise für Veranstalter InfoLecturerTitle: Hinweise für Veranstalter
SystemMessageNewsOnly: Nur auf "Aktuelles" SystemMessageNewsOnly: Nur auf "Aktuelles"
SystemMessageRecordChanged: Signifikante Änderung SystemMessageRecordChanged: Signifikante Änderung
SystemMessageRecordChangedTip: Soll der "zuletzt geändert"-Zeitstempel gesetzt werden? Nachrichten werden auf "Aktuelles" danach sortiert und bei signifikanten Änderungen erneut als Benachrichtigung unten rechts angezeigt. SystemMessageRecordChangedTip: Soll der "zuletzt geändert"-Zeitstempel gesetzt werden? Nachrichten werden auf "Aktuelles" danach sortiert und bei signifikanten Änderungen erneut als Benachrichtigung unten rechts angezeigt.
@ -1023,12 +927,7 @@ MultiSelectFieldTip: Mehrfach-Auswahl ist möglich (Umschalt bzw. Strg)
MultiEmailFieldTip: Es sind mehrere, Komma-separierte, E-Mail-Adressen möglich MultiEmailFieldTip: Es sind mehrere, Komma-separierte, E-Mail-Adressen möglich
EmailInvitationWarningPrevCoSubmittors: Diese Adresse konnte keinem Kursteilnehmer, mit dem Sie schon einmal für diesen Kurs abgegeben haben, zugeordnet werden. Es wird eine Einladung per E-Mail versandt.
EmailInvitationWarningCourseParticipants: Diese Adresse konnte keinem Kursteilnehmer zugeordnet werden. Es wird eine Einladung per E-Mail versandt.
MultiUserFieldExplanationAnyUser: Dieses Eingabefeld sucht in den Adressen aller Uni2work-Benutzer. MultiUserFieldExplanationAnyUser: Dieses Eingabefeld sucht in den Adressen aller Uni2work-Benutzer.
MultiUserFieldExplanationPrevCoSubmittors: Dieses Eingabefeld sucht in den Adressen von Kursteilnehmern, für die gesichert werden kann, dass Sie zusammen mit den dahinter stehenden Personen schon einmal für diesen Kurs abgegeben haben.
MultiUserFieldExplanationCourseParticipants: Dieses Eingabefeld sucht in den Adressen von Kursteilnehmern.
MultiUserFieldInvitationExplanation: An Adressen, die so keinem Uni2work-Benutzer zugeordnet werden können, wird eine Einladung per E-Mail versandt. MultiUserFieldInvitationExplanation: An Adressen, die so keinem Uni2work-Benutzer zugeordnet werden können, wird eine Einladung per E-Mail versandt.
MultiUserFieldInvitationExplanationAlways: Es wird an alle Adressen, die Sie hier angeben, eine Einladung per E-Mail versandt. MultiUserFieldInvitationExplanationAlways: Es wird an alle Adressen, die Sie hier angeben, eine Einladung per E-Mail versandt.
@ -1044,11 +943,6 @@ TutorInvitationDeclined tutn@TutorialName: Sie haben die Einladung, Tutor für #
TutorInviteHeading tutn@TutorialName: Einladung zum Tutor für #{tutn} TutorInviteHeading tutn@TutorialName: Einladung zum Tutor für #{tutn}
TutorInviteExplanation: Sie wurden eingeladen, Tutor zu sein. TutorInviteExplanation: Sie wurden eingeladen, Tutor zu sein.
SubmissionUserInvitationAccepted shn@SheetName: Sie wurden als Mitabgebende(r) für eine Abgabe zu #{shn} eingetragen
SubmissionUserInvitationDeclined shn@SheetName: Sie haben die Einladung, Mitabgebende(r) für #{shn} zu werden, abgelehnt
SubmissionUserInviteHeading shn@SheetName: Einladung zu einer Abgabe für #{shn}
SubmissionUserInviteExplanation: Sie wurden eingeladen, Mitabgebende(r) bei einer Abgabe zu sein.
InvitationAction: Aktion InvitationAction: Aktion
InvitationActionTip: Abgelehnte Einladungen können nicht mehr angenommen werden InvitationActionTip: Abgelehnte Einladungen können nicht mehr angenommen werden
InvitationMissingRestrictions: Authorisierungs-Token fehlen benötigte Daten InvitationMissingRestrictions: Authorisierungs-Token fehlen benötigte Daten
@ -1510,7 +1404,6 @@ LanguageChanged: Sprache erfolgreich geändert
GroupSizeNotNatural: „Gruppengröße“ muss eine natürliche Zahl sein GroupSizeNotNatural: „Gruppengröße“ muss eine natürliche Zahl sein
AmbiguousEmail: E-Mail-Adresse nicht eindeutig AmbiguousEmail: E-Mail-Adresse nicht eindeutig
PointsPlaceholder: Punktezahl
RFC1766: RFC1766-Sprachcode RFC1766: RFC1766-Sprachcode
TermShort: Kürzel TermShort: Kürzel
@ -1633,8 +1526,6 @@ RatingYAMLSubmissionIdComment: Abgabenummer; wird beim Hochladen mit dem Dateina
SubmissionDoneNever: Nie SubmissionDoneNever: Nie
SubmissionDoneByFile: Je nach Bewertungsdatei SubmissionDoneByFile: Je nach Bewertungsdatei
SubmissionDoneAlways: Immer SubmissionDoneAlways: Immer
CorrUploadSubmissionDoneMode: Bewertung abgeschlossen
CorrUploadSubmissionDoneModeTip: Sollen hochgeladene Korrekturen als abgeschlossen markiert werden? Bewertungen sind erst für Studierende sichtbar und zählen gegen Examboni, wenn sie abgeschlossen sind.
PersonalisedSheetFilesDownloadAnonymous: Anonymisiert PersonalisedSheetFilesDownloadAnonymous: Anonymisiert
PersonalisedSheetFilesDownloadSurnames: Mit Nachnamen PersonalisedSheetFilesDownloadSurnames: Mit Nachnamen

View File

@ -84,6 +84,12 @@ TableCorProportion: Proportion
TableCorrector: Corrector TableCorrector: Corrector
TableDegreeShort: Degree shorthand TableDegreeShort: Degree shorthand
TableDegreeName: Degree TableDegreeName: Degree
TableRatingTime: Marked
TableSheetType: Marking
TableHasCorrector: Corrector assigned
TableAchievedOf achieved possible: #{achieved} of #{possible}
TablePassed: Passed
TableNotPassed: Failed
#headings #headings
HeadingLegal: Legal HeadingLegal: Legal
@ -92,7 +98,6 @@ ParticipantsList: Lists of course participants
ParticipantsIntersect: Common course participants ParticipantsIntersect: Common course participants
HeadingProfileData: Personal information HeadingProfileData: Personal information
HeadingSchoolList: Departments HeadingSchoolList: Departments
HeadingCorrectionsAssign: Assign corrections
HeadingUserAdd: Add user HeadingUserAdd: Add user
CorrectorsChange: Adjust correctors CorrectorsChange: Adjust correctors
MaterialList: Material MaterialList: Material
@ -154,6 +159,8 @@ TermLectureEnd: Lectures end
TermLectureEndTooltip: Summer semesters are usually 14 weeks; winter semesters 15 TermLectureEndTooltip: Summer semesters are usually 14 weeks; winter semesters 15
TermActive: Active TermActive: Active
AchievedOf achieved possible: #{achieved} of #{possible}
SchoolListHeading: Department SchoolListHeading: Department
SchoolHeading school: #{school} SchoolHeading school: #{school}
@ -203,48 +210,24 @@ SheetArchiveFileTypeDirectoryHint: hint
SheetArchiveFileTypeDirectorySolution: solution SheetArchiveFileTypeDirectorySolution: solution
SheetArchiveFileTypeDirectoryMarking: marking SheetArchiveFileTypeDirectoryMarking: marking
SheetsUnassignable name: Submission for #{name} may not currently be assigned to correctors.
Deadline: Deadline Deadline: Deadline
Done: Submitted Done: Submitted
SubmissionsCourse tid ssh csh: All submissions for Course #{tid}-#{ssh}-#{csh} SubmissionsCourse tid ssh csh: All submissions for Course #{tid}-#{ssh}-#{csh}
SubmissionsSheet sheetName: Submissions for #{sheetName} SubmissionsSheet sheetName: Submissions for #{sheetName}
SubmissionWrongSheet: Submission does not belong to the given sheet. UtilSubmissionWrongSheet: Submission does not belong to the given sheet.
SubmissionAlreadyExists: You already have a submission for this sheet.
SubmissionEditHead tid ssh csh sheetName: #{tid}-#{ssh}-#{csh} #{sheetName}: Edit/Create submission SubmissionEditHead tid ssh csh sheetName: #{tid}-#{ssh}-#{csh} #{sheetName}: Edit/Create submission
CorrectionHead tid ssh csh sheetName cid: #{tid}-#{ssh}-#{csh} #{sheetName}: Marking CorrectionHead tid ssh csh sheetName cid: #{tid}-#{ssh}-#{csh} #{sheetName}: Marking
SubmissionMembers: Submittors
SubmissionMember: Submittor
CosubmittorTip: Invitations are sent via email to exactly those addresses for which it cannot be determined, that you have already submitted for this course with the associated person, at least once. If one of the specified addresses can be matched to a person with whom you have submitted at least once for this course already, the name of that person will be shown and the submission will immediately be made in their name as well. CosubmittorTip: Invitations are sent via email to exactly those addresses for which it cannot be determined, that you have already submitted for this course with the associated person, at least once. If one of the specified addresses can be matched to a person with whom you have submitted at least once for this course already, the name of that person will be shown and the submission will immediately be made in their name as well.
SubmissionArchive: Zip-archive of submission files SubmissionDeleteCosubmittorsWarning n@Int: The submission regietered above has other submitting students beside you. Be sure to delete or leave the submission only in agreement with the others. Otherwise you can delete yourself from the submittors-list by yourself!
SubmissionArchiveCorrected: Zip-archive of submission files including corrections
SubmissionFile: Submission file
SubmissionFiles: Submitted files
SubmissionAlreadyExistsFor email: #{email} already has a submission for this sheet.
SubmissionUsersEmpty: Submissions may not be created without submittors.
SubmissionUserAlreadyAdded: This user is already configured as a submittor
NoOpenSubmissions: No open submissions exist
SubmissionFilesCorrected: Submitted & Corrected files
RatingUpdatedFiles: During correction files were added or changed
SubmissionsDeleteQuestion n: Do you really want to delete the #{pluralEN n "submission" "submissions"} mentioned below? SubmissionsDeleteQuestion n: Do you really want to delete the #{pluralEN n "submission" "submissions"} mentioned below?
SubmissionsDeleted n: #{pluralEN n "Submission" "Submissions"} deleted SubmissionsDeleted n: #{pluralEN n "Submission" "Submissions"} deleted
SubmissionDeleteCosubmittorsWarning n: You are not the only participant for #{pluralEN n "the submission" "all submissions"} mentioned above. Ensure that you delete submissions only in agreement with your co-submittors or remove yourself from the #{pluralEN n "submission" "submissions"}, instead!
SubmissionGroupName: Group name SubmissionGroupName: Group name
CorrectionsTitle: Assigned corrections CorrectionsTitle: Assigned corrections
CourseCorrectionsTitle: Corrections for this course
CorrectorsHead sheetName: Correctors for #{sheetName} CorrectorsHead sheetName: Correctors for #{sheetName}
CorrectorAssignTitle: Assign corrector
SubmissionCorrector: Corrector
SubmissionCorrectorTip: The corrector you configure here will have full access to this correction including the right to update it in the future.
SubmissionNoCorrector: No corrector
SubmissionCannotBeRatedWithoutCorrector: The rating can only be marked as finished if a corrector is also configured
CorrectionsGrade: Grade submissions
MaterialName: Name MaterialName: Name
MaterialType: Type MaterialType: Type
@ -381,8 +364,6 @@ WorkflowRoleNoPayload: This workflow does not contain any data
EMail: Email EMail: Email
EMailUnknown email: Email #{email} does not belong to any known user. EMailUnknown email: Email #{email} does not belong to any known user.
NotAParticipant email tid csh: #{email} is not a participant of #{tid}-#{csh}.
TooManyParticipants: You have specified more than the allowed number of submittors.
AddCorrector: Additional corrector AddCorrector: Additional corrector
CorDeficitProportion: Deficit (proportion) CorDeficitProportion: Deficit (proportion)
@ -392,10 +373,6 @@ CorByProportionExcludingTutorial proportion: #{rationalToFixed3 proportion} part
RowCount count: #{count} matching #{pluralEN count "entry" "entries"} RowCount count: #{count} matching #{pluralEN count "entry" "entries"}
DeleteRow: Delete DeleteRow: Delete
CorrectorUpdated: Successfully updated corrector
CorrectorsUpdated: Successfully updated correctors
CorrectorsPlaceholder: Correctors...
CorrectorsDefaulted: List of correctors was automatically generated based on those of preceding sheets for this course. No data has been saved, yet.
Users: Users Users: Users
NewsHeading: News NewsHeading: News
@ -445,16 +422,11 @@ DBTablePagesize: Entries per page
DBTablePagesizeAll: All DBTablePagesizeAll: All
CorrDownload: Download CorrDownload: Download
CorrDownloadAnonymous: Anonymized
CorrDownloadAnonymousTip: If submissions are downloaded non-anonymized the selected feature of the submittors are appended to the name of the dirctory for each submission where permitted
SubmissionDownloadAnonymous: Anonymized SubmissionDownloadAnonymous: Anonymized
SubmissionDownloadSurnames: With surnames SubmissionDownloadSurnames: With surnames
SubmissionDownloadMatriculations: With matriculation numbers SubmissionDownloadMatriculations: With matriculation numbers
SubmissionDownloadGroups: With registered submission groups SubmissionDownloadGroups: With registered submission groups
CorrUploadField: Corrections
CorrUpload: Upload corrections CorrUpload: Upload corrections
CorrSetCorrector: Assign corrector
CorrSetCorrectorTooltip: Submissions already assigned to a corrector must first be assigned to “<None>” before they can be assigned again.
CorrAutoSetCorrector: Distribute corrections CorrAutoSetCorrector: Distribute corrections
CorrDelete: Delete submissions CorrDelete: Delete submissions
NatField name: #{name} must be a natural number! NatField name: #{name} must be a natural number!
@ -462,36 +434,19 @@ JSONFieldDecodeFailure aesonFailure: Could not parse JSON: #{aesonFailure}
YAMLFieldDecodeFailure yamlFailure: Could not parse YAML: #{yamlFailure} YAMLFieldDecodeFailure yamlFailure: Could not parse YAML: #{yamlFailure}
SecretJSONFieldDecryptFailure: Could not decrypt hidden data SecretJSONFieldDecryptFailure: Could not decrypt hidden data
SubmissionsAlreadyAssigned num: #{num} #{pluralEN num "correction" "corrections"} were already assigned to a corrector and were left unchanged:
SubmissionsAssignUnauthorized num: #{num} #{pluralEN num "correction" "corrections"} cannot currently be assigned to correctors (e.g. because changes to submissions are still allowed)
UpdatedAssignedCorrectorSingle num: Successfully assigned #{num} #{pluralEN num "correction" "corrections"} to the corrector.
NoCorrector: No corrector
RemovedCorrections num: Successfully deleted #{num} #{pluralEN num "correction" "corrections"}
UpdatedAssignedCorrectorsAuto num: Successfully distributed #{num} #{pluralEN num "correction" "corrections"} among correctors.
UpdatedSheetCorrectorsAutoAssigned n: Successfully distributed #{n} #{pluralEN n "correction" "corrections"} among correctors.
UpdatedSheetCorrectorsAutoFailed n: #{n} #{pluralEN n "correction" "corrections"} could not be distributed.
CouldNotAssignCorrectorsAuto num: #{num} #{pluralEN num "correction" "corrections"} could not be distributed:
SelfCorrectors num: #{num} #{pluralEN num "correction was" "corrections were"} assigned to correctors that are also submittors for their correction!
SubmissionOriginal: Original
SubmissionCorrected: Marked SubmissionCorrected: Marked
SubmissionArchiveName: submissions UtilSubmissionArchiveName: submissions
SubmissionTermArchiveName tid: #{foldCase (termToText (unTermKey tid))}-submissions SubmissionTermArchiveName tid: #{foldCase (termToText (unTermKey tid))}-submissions
SubmissionTermSchoolArchiveName tid ssh: #{foldCase (termToText (unTermKey tid))}-#{foldCase (unSchoolKey ssh)}-submissions SubmissionTermSchoolArchiveName tid ssh: #{foldCase (termToText (unTermKey tid))}-#{foldCase (unSchoolKey ssh)}-submissions
SubmissionTermSchoolCourseArchiveName tid ssh csh: #{foldCase (termToText (unTermKey tid))}-#{foldCase (unSchoolKey ssh)}-#{foldCase csh}-submissions SubmissionTermSchoolCourseArchiveName tid ssh csh: #{foldCase (termToText (unTermKey tid))}-#{foldCase (unSchoolKey ssh)}-#{foldCase csh}-submissions
SubmissionTermSchoolCourseSheetArchiveName tid ssh csh shn: #{foldCase (termToText (unTermKey tid))}-#{foldCase (unSchoolKey ssh)}-#{foldCase csh}-#{foldCase shn}-submissions SubmissionTermSchoolCourseSheetArchiveName tid ssh csh shn: #{foldCase (termToText (unTermKey tid))}-#{foldCase (unSchoolKey ssh)}-#{foldCase csh}-#{foldCase shn}-submissions
SubmissionTypeArchiveName tid ssh csh shn subId renderedSfType: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase shn}-#{foldCase (toPathPiece subId)}-#{foldCase renderedSfType}
CorrectionSheets: Corrections by sheet CorrectionSheets: Corrections by sheet
CorrectionCorrectors: Corrections by corrector CorrectionCorrectors: Corrections by corrector
AssignSubmissionExceptionNoCorrectors: No correctors configured
AssignSubmissionExceptionNoCorrectorsByProportion: No correctors have any non-zero proportion
AssignSubmissionExceptionSubmissionsNotFound n: #{n} #{pluralEN n "submission" "submissions"} could not be identified
NrSubmittorsTotal: Submittors NrSubmittorsTotal: Submittors
NrSubmissionsTotal: Submissions NrSubmissionsTotal: Submissions
NrSubmissionsTotalShort: Subm NrSubmissionsTotalShort: Subm
NrSubmissionsUnassigned: No corrector NrSubmissionsUnassigned: No corrector
NoCorrectorAssigned: No corrector
NrCorrectors: Correctors NrCorrectors: Correctors
NrSubmissionsNewlyAssigned: Newly assigned NrSubmissionsNewlyAssigned: Newly assigned
NrSubmissionsNotAssigned: Not assigned NrSubmissionsNotAssigned: Not assigned
@ -501,46 +456,21 @@ CorrectionTime: Correction time
AssignSubmissionsRandomWarning: The assignment preview might be different from the actual assignment if multiple sheets are being distributed. This is due to the fact that only assigned submissions are considered when handling corrector-deficits. Due to this being a randomised process small differences are also possible for a single sheet. AssignSubmissionsRandomWarning: The assignment preview might be different from the actual assignment if multiple sheets are being distributed. This is due to the fact that only assigned submissions are considered when handling corrector-deficits. Due to this being a randomised process small differences are also possible for a single sheet.
AssignSubmissionsAssignableSheets: Distribute corrections for: AssignSubmissionsAssignableSheets: Distribute corrections for:
CorrectionsUploaded num: Successfully saved #{num} #{pluralEN num "correction" "corrections"}
NoCorrectionsUploaded: No corrections could be found within the uploaded files.
RatingBy: Marked by
HasCorrector: Corrector assigned
AssignedTime: Assigned
AchievedBonusPoints: Bonus points achieved AchievedBonusPoints: Bonus points achieved
AchievedNormalPoints: Points achieved AchievedNormalPoints: Points achieved
AchievedPassPoints: Points achieved to pass
PassAchievedOf points passingPoints maxPoints: #{points} of #{maxPoints} (pass at #{passingPoints})
PassedResult: Result PassedResult: Result
Passed: Passed Passed: Passed
NotPassed: Failed NotPassed: Failed
RatingTime: Marked
RatingComment: Comment
SubmissionUsers: Submittors
RatingPoints: Points
RatingDone: Rating finished
RatingDoneTip: The rating is only visible to the submittors and considered for any exam bonuses if it is finished.
RatingFiles: Marked files
RatingFilesTip: Files uploaded here completely replace any existing corrected versions (i.e. files not uploaded again are deleted). The original version as submitted will remain untouched.
PointsNotPositive: Points may not be negative PointsNotPositive: Points may not be negative
PointsTooHigh maxPoints: Points may not be more than #{maxPoints} PointsTooHigh maxPoints: Points may not be more than #{maxPoints}
PointsTooLow minPoints: Points may not be less than #{minPoints} PointsTooLow minPoints: Points may not be less than #{minPoints}
RatingPointsDone: Correction counts as marked iff “Points” is set RatingPointsDone: Correction counts as marked iff “Points” is set
ColumnRatingPoints: Points
Pseudonyms: Pseudonyms
VisibleFrom: Published VisibleFrom: Published
AccessibleSince: Accessible since AccessibleSince: Accessible since
Corrected: Marked
CorrectionAchievedPoints: Achieved points CorrectionAchievedPoints: Achieved points
CorrectionAchievedPass: Passed CorrectionAchievedPass: Passed
FileCorrected: Marked (files)
FileCorrectedDeleted: Marked (deleted)
RatingDraftUpdated: Successfully saved correction draft
RatingUpdated: Successfully updated correction
RatingDeleted: Successfully reset correction
RatingFilesUpdated: Corrected files successfully overwritten
RatingNotUnicode: Marking file could not be UTF-8 decoded: RatingNotUnicode: Marking file could not be UTF-8 decoded:
RatingMissingSeparator: Preamble of the marking file could not be identified RatingMissingSeparator: Preamble of the marking file could not be identified
@ -623,12 +553,11 @@ AmbiguousUTCTime: The given timestamp cannot be converted to UTC unambiguously
IllDefinedUTCTime: The given timestamp cannot be converted to UTC IllDefinedUTCTime: The given timestamp cannot be converted to UTC
LastEdits: Latest edits LastEdits: Latest edits
EditedBy name time: #{time} by #{name} UtilEditedBy name time: #{time} by #{name}
LastEditByUser: Your last edit LastEditByUser: Your last edit
NoEditByUser: Not edited by you NoEditByUser: Not edited by you
SubmissionFilesIgnored n: Ignored #{n} #{pluralEN n "file" "files"} SubmissionFilesIgnored n: Ignored #{n} #{pluralEN n "file" "files"}
SubmissionDoesNotExist smid: There is no submission “#{toPathPiece smid}”.
LDAPLoginTitle: Campus login LDAPLoginTitle: Campus login
PWHashLoginTitle: Uni2work login PWHashLoginTitle: Uni2work login
@ -698,11 +627,6 @@ BothSubmissions: Submission either directly in Uni2work or externally via pseudo
BothSubmissionsTip: Participants may choose to submit either directly in Uni2work or externally via a pseudonym BothSubmissionsTip: Participants may choose to submit either directly in Uni2work or externally via a pseudonym
SubmissionNoUploadExpected: No upload of files expected.
SubmissionReplace: Replace submission
SubmissionCreated: Successfully created submission
SubmissionUpdated: Successfully replaced submission
ColumnStudyFeatures: Features of study ColumnStudyFeatures: Features of study
FieldPrimary: Major FieldPrimary: Major
@ -824,8 +748,6 @@ InvitationUniWorXTip: Uni2work is a web based teaching management system at LMU
MailSubjectTutorInvitation tid ssh csh tutn: [#{tid}-#{ssh}-#{csh}] Invitation to be a tutor for #{tutn} MailSubjectTutorInvitation tid ssh csh tutn: [#{tid}-#{ssh}-#{csh}] Invitation to be a tutor for #{tutn}
MailSubjectSubmissionUserInvitation tid ssh csh shn: [#{tid}-#{ssh}-#{csh}] Invitation to participate in a submission for #{shn}
MailSubjectPasswordReset: Set/Change Uni2work password MailSubjectPasswordReset: Set/Change Uni2work password
SheetGrading: Marking SheetGrading: Marking
@ -853,7 +775,6 @@ SheetTypeInfoBonus: Sheets marked "bonus" count normally but do not increase eit
SheetTypeInfoInformational: Sheets marked "informational" do not counted anywhere. They are marked only as feedback for participants. SheetTypeInfoInformational: Sheets marked "informational" do not counted anywhere. They are marked only as feedback for participants.
SheetGradingBonusIncluded: Achieved bonus points are already counted among the achieved normal Their marking points. SheetGradingBonusIncluded: Achieved bonus points are already counted among the achieved normal Their marking points.
SummaryTitle: Summary of SummaryTitle: Summary of
SubmissionGradingSummaryTitle intgr: #{intgr} #{pluralEN intgr "submission" "submissions"}
SheetTypeExamPartPointsWeightNegative: Weight may not be negative SheetTypeExamPartPointsWeightNegative: Weight may not be negative
SheetTypeExamPartPointsWeight: Weight SheetTypeExamPartPointsWeight: Weight
SheetTypeExamPartPointsExamPartOption examn examPartNumber: #{examn} - Part #{view _ExamPartNumber examPartNumber} SheetTypeExamPartPointsExamPartOption examn examPartNumber: #{examn} - Part #{view _ExamPartNumber examPartNumber}
@ -878,17 +799,6 @@ UnknownPseudonymWord pseudonymWord: Invalid pseudonym-word “#{pseudonymWord}
InvalidPseudonym pseudonym: Invalid pseudonym “#{pseudonym}” InvalidPseudonym pseudonym: Invalid pseudonym “#{pseudonym}”
InvalidPseudonymSubmissionIgnored oPseudonyms iPseudonym: The submission with pseudonyms “#{oPseudonyms}” has been ignored since “#{iPseudonym}” could not be automatically corrected to be a valid pseudonym. InvalidPseudonymSubmissionIgnored oPseudonyms iPseudonym: The submission with pseudonyms “#{oPseudonyms}” has been ignored since “#{iPseudonym}” could not be automatically corrected to be a valid pseudonym.
PseudonymAutocorrections: Suggestions: PseudonymAutocorrections: Suggestions:
UnknownPseudonym pseudonym: Unknown pseudonym “#{pseudonym}”
CorrectionPseudonyms: Pseudonyms
CorrectionPseudonymsTip: One submission per line. For group submissions include multiple pseudonyms (comma-separated) per line. Typos may be automatically corrected.
PseudonymSheet: Exercise sheet
CorrectionPseudonymSheet termDesc csh shn: #{termDesc} » #{csh} » #{shn}
SheetGroupTooLarge sheetGroupDesc: Submission group to large: #{sheetGroupDesc}
SheetNoRegisteredGroup sheetGroupDesc: “#{sheetGroupDesc}” are not registered as a submission group
SheetAmbiguousRegisteredGroup sheetGroupDesc: “#{sheetGroupDesc}” contains members of multiple submission groups
SheetNoGroupSubmission sheetGroupDesc: Group submission is not allowed for this exercise sheet (#{sheetGroupDesc})
SheetDuplicatePseudonym: The following pseudonyms occurred multiple times. All occurrances except the first have been ignored:
SheetCreateExisting: The following pseudonyms have already submitted:
CorrGrade: Mark submissions CorrGrade: Mark submissions
@ -899,8 +809,6 @@ UserSubmissionGroupsDeleted count: #{tshow count} #{pluralEN count "submission g
UserAccountDeleteWarning: Caution, this permanently deletes users and all of their associated data. Exam results must be stored long term! UserAccountDeleteWarning: Caution, this permanently deletes users and all of their associated data. Exam results must be stored long term!
HelpTitle: Support HelpTitle: Support
HelpSendLastError: Attach last error message HelpSendLastError: Attach last error message
HelpError: Last error message HelpError: Last error message
HelpErrorYamlFilename mailId: error-#{toPathPiece mailId}.yaml HelpErrorYamlFilename mailId: error-#{toPathPiece mailId}.yaml
@ -1022,12 +930,8 @@ RGSheetSubmittor shn: Submitted for exercise sheet “#{shn}”
MultiSelectFieldTip: Multiple selections are possible (Shift or Ctrl) MultiSelectFieldTip: Multiple selections are possible (Shift or Ctrl)
MultiEmailFieldTip: Multiple emails addresses may be specified (comma-separated) MultiEmailFieldTip: Multiple emails addresses may be specified (comma-separated)
EmailInvitationWarningPrevCoSubmittors: This address could not be matched to any course participant with whom you have submitted for this course before. An Invitation will be sent via email.
EmailInvitationWarningCourseParticipants: This address coulde not be matched to any course participant. An Invitation will be sent via email.
MultiUserFieldExplanationAnyUser: This input searches through the addresses of all Uni2work users. MultiUserFieldExplanationAnyUser: This input searches through the addresses of all Uni2work users.
MultiUserFieldExplanationPrevCoSubmittors: This input searches through the addresses of all course participants for whom it could be determined, that you have already submitted with that person for this course.
MultiUserFieldExplanationCourseParticipants: This input searches through the addresses of all course participants.
MultiUserFieldInvitationExplanation: For addresses, which are not found in this way, an invitation will be sent via email. MultiUserFieldInvitationExplanation: For addresses, which are not found in this way, an invitation will be sent via email.
MultiUserFieldInvitationExplanationAlways: An invitation will be sent via email to all addresses you enter here. MultiUserFieldInvitationExplanationAlways: An invitation will be sent via email to all addresses you enter here.
@ -1043,11 +947,6 @@ TutorInvitationDeclined tutn: You have declined the invitation to be a tutor for
TutorInviteHeading tutn: Invitation to be tutor for #{tutn} TutorInviteHeading tutn: Invitation to be tutor for #{tutn}
TutorInviteExplanation: You were invited to be a tutor. TutorInviteExplanation: You were invited to be a tutor.
SubmissionUserInvitationAccepted shn: You now participate in a submission for #{shn}
SubmissionUserInvitationDeclined shn: You have declined the invitation to participate in a submission for #{shn}
SubmissionUserInviteHeading shn: Invitation to participate in a submission for #{shn}
SubmissionUserInviteExplanation: You were invited to participate in a submission for an exercise sheet.
InvitationAction: Action InvitationAction: Action
InvitationActionTip: Declined invitations cannot be accepted later InvitationActionTip: Declined invitations cannot be accepted later
InvitationMissingRestrictions: Your authorisation-token is missing required data InvitationMissingRestrictions: Your authorisation-token is missing required data
@ -1506,7 +1405,6 @@ LanguageChanged: Language changed successfully
GroupSizeNotNatural: “Maximum group size” needs to be a natural number GroupSizeNotNatural: “Maximum group size” needs to be a natural number
AmbiguousEmail: Email address is ambiguous AmbiguousEmail: Email address is ambiguous
PointsPlaceholder: Points
RFC1766: RFC1766 language code RFC1766: RFC1766 language code
TermShort: Shorthand TermShort: Shorthand
@ -1629,8 +1527,6 @@ RatingYAMLSubmissionIdComment: Submission id; will be compared to the filename d
SubmissionDoneNever: Never SubmissionDoneNever: Never
SubmissionDoneByFile: According to correction file SubmissionDoneByFile: According to correction file
SubmissionDoneAlways: Always SubmissionDoneAlways: Always
CorrUploadSubmissionDoneMode: Rating finished
CorrUploadSubmissionDoneModeTip: Should uploaded corrections be marked as finished? The rating is only visible to the submittors and considered for any exam bonuses if it is finished.
PersonalisedSheetFilesDownloadAnonymous: Anonymised PersonalisedSheetFilesDownloadAnonymous: Anonymised
PersonalisedSheetFilesDownloadSurnames: With surnames PersonalisedSheetFilesDownloadSurnames: With surnames

View File

@ -150,7 +150,6 @@ CourseUserNoTutorialsDeregistered: Teilnehmer:in ist zu keinem der gewählten Tu
CourseUserTutorials: Angemeldete Tutorien CourseUserTutorials: Angemeldete Tutorien
CourseUserExams: Angemeldete Prüfungen CourseUserExams: Angemeldete Prüfungen
CourseUserSheets: Übungsblätter CourseUserSheets: Übungsblätter
AchievedOf achieved@Points possible@Points: #{achieved} von #{possible}
CsvColumnUserName: Voller Name des/der Teilnehmers/Teilnehmerin CsvColumnUserName: Voller Name des/der Teilnehmers/Teilnehmerin
CsvColumnUserMatriculation: Matrikelnummer des/der Teilnehmers/Teilnehmerin CsvColumnUserMatriculation: Matrikelnummer des/der Teilnehmers/Teilnehmerin
CsvColumnUserSex: Geschlecht CsvColumnUserSex: Geschlecht

View File

@ -150,7 +150,6 @@ CourseUserNoTutorialsDeregistered: Participant is not registered for any of the
CourseUserTutorials: Registered tutorials CourseUserTutorials: Registered tutorials
CourseUserExams: Registered exams CourseUserExams: Registered exams
CourseUserSheets: Exercise sheets CourseUserSheets: Exercise sheets
AchievedOf achieved possible: #{achieved} of #{possible}
CsvColumnUserName: Participant's full name CsvColumnUserName: Participant's full name
CsvColumnUserMatriculation: Participant's matriculation CsvColumnUserMatriculation: Participant's matriculation
CsvColumnUserSex: Participant's sex CsvColumnUserSex: Participant's sex

View File

@ -103,7 +103,6 @@ SheetSubmissionExamRegistrationRequired: Um die Angabe für dieses Übungsblatt
SheetFilesExamRegistrationRequired: Um die Dateien dieses Übungsblattes herunterzuladen oder Abzugeben ist eine Anmeldung zu der oben genannten Prüfung erforderlich. SheetFilesExamRegistrationRequired: Um die Dateien dieses Übungsblattes herunterzuladen oder Abzugeben ist eine Anmeldung zu der oben genannten Prüfung erforderlich.
SheetFilesMissingPersonalisedFiles: Um abzugeben muss zunächst ein Kursverwalter/eine Kursverwalterin personalisierte Übungsblatt-Dateien für Sie hinterlegen. SheetFilesMissingPersonalisedFiles: Um abzugeben muss zunächst ein Kursverwalter/eine Kursverwalterin personalisierte Übungsblatt-Dateien für Sie hinterlegen.
SheetSubmissionMode: Abgabe-Modus SheetSubmissionMode: Abgabe-Modus
SheetType: Wertung
SheetPseudonym: Persönliches Abgabe-Pseudonym SheetPseudonym: Persönliches Abgabe-Pseudonym
SheetFiles: Übungsblatt-Dateien SheetFiles: Übungsblatt-Dateien
SheetPersonalisedSheetFilesArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-personalisierte_dateien SheetPersonalisedSheetFilesArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-personalisierte_dateien

View File

@ -101,7 +101,6 @@ SheetSubmissionExamRegistrationRequired: Registration for the specified exam is
SheetFilesExamRegistrationRequired: To download files for this exercise sheet or to submit you must first register for the exam mentioned above. SheetFilesExamRegistrationRequired: To download files for this exercise sheet or to submit you must first register for the exam mentioned above.
SheetFilesMissingPersonalisedFiles: To submit a course administrator has to first assign you some personalised exercise sheet files. SheetFilesMissingPersonalisedFiles: To submit a course administrator has to first assign you some personalised exercise sheet files.
SheetSubmissionMode: Submission mode SheetSubmissionMode: Submission mode
SheetType: Marking
SheetPseudonym: Personal pseudonym SheetPseudonym: Personal pseudonym
SheetFiles: Exercise sheet files SheetFiles: Exercise sheet files
SheetTitle tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{tid}-#{ssh}-#{csh} #{sheetName} SheetTitle tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{tid}-#{ssh}-#{csh} #{sheetName}

View File

@ -0,0 +1,103 @@
CorrectorUpdated: Korrektor:in erfolgreich aktualisiert
CorrectorAssignTitle: Korrektor:in zuweisen
UpdatedSheetCorrectorsAutoAssigned n@Int: #{n} #{pluralDE n "Abgabe wurde einem Korrektor/einer Korrektorin" "Abgaben wurden Korrektor:innen"} zugteilt.
UpdatedSheetCorrectorsAutoFailed n@Int: #{n} #{pluralDE n "Abgabe konnte" "Abgaben konnten"} nicht automatisch zugewiesen werden.
SheetsUnassignable name@Text: Momentan keine Abgaben zuteilbar für #{name}
NoCorrectorAssigned: Ohne Korrektor
HeadingCorrectionsAssign: Zuteilung der Korrekturen
SubmissionPassed: Bestanden
RatingPoints: Punkte
PointsPlaceholder: Punktezahl
SubmissionCorrector: Korrektor:in
SubmissionCorrectorTip: Der/Die hier eingetragene Korrektor:in erhält vollen Zugriff auf diese Korrektur, kann sie also auch nachträglich noch verändern.
SubmissionNoCorrector: Kein Korrektor/Keine Korrektorin
SubmissionCannotBeRatedWithoutCorrector: Die Korrektur kann nur abgeschlossen werden, wenn auch ein Korrektor/eine Korrektorin angegeben wird
RatingDone: Bewertung abgeschlossen
RatingDoneTip: Das Korrekturergebnis ist nur dann für die Abgebenden sichtbar und kann gegen etwaige Prüfungs-Bonuspunkte verrechnet werden, wenn die Bewertung abgeschlossen ist.
RatingFiles: Korrigierte Dateien
RatingFilesTip: Hier hochgeladene Dateien ersetzen ggf. die bestehende korrigierte Version der Abgabe vollständig (nicht erneut hochgeladene Dateien werden gelöscht). Die original abgegebene Version bleibt erhalten.
RatingFilesUpdated: Korrigierte Dateien überschrieben
RatingUpdated: Korrektur gespeichert
RatingDeleted: Korrektur zurückgesetzt
RatingDraftUpdated: Korrekturentwurf gespeichert
SubmissionCorrectionHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName cid@CryptoFileNameSubmission: #{tid}-#{ssh}-#{csh} #{sheetName}: Korrektur
CorrectionPseudonyms: Abgaben-Pseudonyme
CorrectionPseudonymsTip: Eine Abgabe pro Zeile, bei Gruppenabgaben mehrere Pseudonyme (komma-separiert) innerhalb einer Zeile. Kleine Schreibfehler werden u.U. automatisch korrigiert.
PseudonymSheet: Übungsblatt
CorrectionPseudonymSheet termDesc@Text csh@CourseShorthand shn@SheetName: #{termDesc} » #{csh} » #{shn}
SubmissionPseudonyms: Pseudonyme
UnknownPseudonym pseudonym@Text: Unbekanntes Pseudonym "#{pseudonym}"
SheetGroupTooLarge sheetGroupDesc@Text: Abgabegruppe zu groß: #{sheetGroupDesc}
SheetNoRegisteredGroup sheetGroupDesc@Text: "#{sheetGroupDesc}" sind nicht als Gruppe registriert
SheetAmbiguousRegisteredGroup sheetGroupDesc@Text: "#{sheetGroupDesc}" enthält Mitglieder aus verschiedenen registrierten Gruppen
SheetNoGroupSubmission sheetGroupDesc@Text: Gruppenabgabe ist für dieses Blatt nicht vorgesehen (#{sheetGroupDesc})
SheetDuplicatePseudonym: Folgende Pseudonyme kamen mehrfach vor; alle Vorkommen außer dem Ersten wurden ignoriert:
SheetCreateExisting: Folgende Pseudonyme haben bereits abgegeben:
SubmissionCorrCreate: Abgaben registrieren
SubmissionTypeArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand shn@SheetName subId@CryptoFileNameSubmission renderedSfType@Text: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase shn}-#{foldCase (toPathPiece subId)}-#{foldCase renderedSfType}
NoOpenSubmissions: Keine unkorrigierten Abgaben vorhanden
ColumnRatingPoints: Punktzahl
RatingComment: Kommentar
CorrectionsUploaded num@Int64: #{num} #{pluralDE num "Korrektur wurde" "Korrekturen wurden"} gespeichert
NoCorrectionsUploaded: In den hochgeladenen Dateien wurden keine Korrekturen gefunden.
CorrectionsGrade: Korrekturen eintragen
SubmissionArchive: Zip-Archiv der Abgabedatei(en)
SubmissionArchiveCorrected: Zip-Archiv der Abgabedatei(en) inkl. Korrekturen
SubmissionFile: Datei zur Abgabe
SubmissionFiles: Abgegebene Dateien
EmailInvitationWarningPrevCoSubmittors: Diese Adresse konnte keinem Kursteilnehmer/keiner Kursteilnehmerin, mit dem Sie schon einmal für diesen Kurs abgegeben haben, zugeordnet werden. Es wird eine Einladung per E-Mail versandt.
EmailInvitationWarningCourseParticipants: Diese Adresse konnte keinem Kursteilnehmer/keiner Kursteilnehmerin zugeordnet werden. Es wird eine Einladung per E-Mail versandt.
MultiUserFieldExplanationPrevCoSubmittors: Dieses Eingabefeld sucht in den Adressen von Kursteilnehmer:innen, für die gesichert werden kann, dass Sie zusammen mit den dahinter stehenden Personen schon einmal für diesen Kurs abgegeben haben.
MultiUserFieldExplanationCourseParticipants: Dieses Eingabefeld sucht in den Adressen von Kursteilnehmer:innen.
SubmissionMembers: Abgebende
SubmissionMember: Abgebende(r)
SubmissionUsersEmpty: Es kann keine Abgabe ohne Abgebende erstellt werden
SubmissionUserAlreadyAdded: Nutzer:in ist bereits als Mitabgebende(r) eingetragen
SubmissionWrongSheet: Abgabenummer gehört nicht zum angegebenen Übungsblatt.
SubmissionAlreadyExists: Sie haben bereits eine Abgabe zu diesem Übungsblatt.
SubmissionAlreadyExistsFor email@UserEmail: #{email} hat bereits eine Abgabe zu diesem Übungsblatt.
NotAParticipant email@UserEmail tid@TermId csh@CourseShorthand: #{email} ist nicht im Kurs #{tid}-#{csh} angemeldet.
TooManyParticipants: Es wurden zu viele Mitabgebende angegeben
SubmissionCreated: Abgabe erfolgreich angelegt
SubmissionUpdated: Abgabe erfolgreich ersetzt
FileCorrected: Korrigiert (Dateien)
Corrected: Korrigiert
HeadingSubmissionEditHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{tid}-#{ssh}-#{csh} #{sheetName}: Abgabe editieren/anlegen
SubmissionUsers: Studenten
AssignedTime: Zuteilung
Pseudonyms: Pseudonyme
CourseCorrectionsTitle: Korrekturen für diesen Kurs
SubmissionArchiveName: abgaben
SubmissionsAssignUnauthorized num@Int64: #{num} #{pluralDE num "Abgabe" "Abgaben"} können momentan keiner Korrktorin/keinem Korrektor zugeteilt werden (z.B. weil die Abgabe noch offen ist):
UpdatedAssignedCorrectorSingle num@Int64: #{num} #{pluralDE num "Abgabe" "Abgaben"} wurden dem neuen Korrektor/der neuen Korrektorin zugeteilt.
NoCorrector: Kein Korrektor/Keine Korrektorin
RemovedCorrections num@Int64: Korrektur-Daten wurden von #{num} #{pluralDE num "Abgabe" "Abgaben"} entfernt.
UpdatedAssignedCorrectorsAuto num@Int64: #{num} #{pluralDE num "Abgabe" "Abgaben"} wurden unter den Korrektor:innen aufgeteilt.
SubmissionsAlreadyAssigned num@Int64: #{num} #{pluralDE num "Abgabe" "Abgaben"} waren bereits einem Korrektor/einer Korrektorin zugeteilt und wurden nicht verändert:
CouldNotAssignCorrectorsAuto num@Int64: #{num} #{pluralDE num "Abgabe konnte" "Abgaben konnten"} nicht automatisch zugewiesen werden:
SelfCorrectors num@Int64: #{num} Abgaben wurden Abgebenden als eigenem Korrektor/eigener Korrektorin zugeteilt!
AssignSubmissionExceptionNoCorrectors: Es sind keine Korrektor:innen eingestellt
AssignSubmissionExceptionNoCorrectorsByProportion: Es sind keine Korrektor:innen mit Anteil ungleich Null eingestellt
AssignSubmissionExceptionSubmissionsNotFound n@Int: #{n} Abgaben konnten nicht gefunden werden
CorrDownloadAnonymous: Anonymisiert
CorrDownloadAnonymousTip: Wenn Abgaben nicht-anonymisiert heruntergeladen werden, werden an die Verzeichnisnamen der einzelnen Abgaben das ausgewählte Merkmal der Abgeber/die Abgeberin angehängt, sofern erlaubt
CorrSetCorrector: Korrektor:in zuweisen
CorrSetCorrectorTooltip: Bereits verteilte Abgaben müssen zuerst Korrektor:in <Nichts> zugewiesen werden, bevor diese neu verteilt werden.
MailSubjectSubmissionUserInvitation tid@TermId ssh@SchoolId csh@CourseShorthand shn@SheetName: [#{tid}-#{ssh}-#{csh}] Einladung zu einer Abgabe für #{shn}
SubmissionUserInviteHeading shn@SheetName: Einladung zu einer Abgabe für #{shn}
SubmissionUserInviteExplanation: Sie wurden eingeladen, Mitabgebende(r) bei einer Abgabe zu sein.
SubmissionUserInvitationAccepted shn@SheetName: Sie wurden als Mitabgebende(r) für eine Abgabe zu #{shn} eingetragen
CorrUploadField: Korrekturen
CorrUploadSubmissionDoneMode: Bewertung abgeschlossen
CorrUploadSubmissionDoneModeTip: Sollen hochgeladene Korrekturen als abgeschlossen markiert werden? Bewertungen sind erst für Studierende sichtbar und zählen gegen Examboni, wenn sie abgeschlossen sind.
RatingBy: Korrigiert von
AchievedPassPoints: Erreichte Punkte zum Bestehen
PassAchievedOf points@Points passingPoints@Points maxPoints@Points: #{points} von #{maxPoints} (Bestanden ab #{passingPoints})
RatingUpdatedFiles: Bei der Korrektur wurden Dateien angepasst oder hinzugefügt
SubmissionSheetMarking: Hinweise für Korrektor:innen
SubmissionGradingSummaryTitle intgr@Integer: #{intgr} #{pluralDE intgr "Abgabe" "Abgaben"}
SubmissionNoUploadExpected: Es ist keine Abgabe von Dateien vorgesehen.
SubmissionFilesCorrected: Abgegebene & Korrigierte Dateien
SubmissionOriginal: Original
EditedBy name@Text time@Text: #{time} durch #{name}
SubmissionReplace: Abgabe ersetzen

View File

@ -0,0 +1,103 @@
CorrectorUpdated: Successfully updated corrector
CorrectorAssignTitle: Assign corrector
UpdatedSheetCorrectorsAutoAssigned n: Successfully distributed #{n} #{pluralEN n "correction" "corrections"} among correctors.
UpdatedSheetCorrectorsAutoFailed n: #{n} #{pluralEN n "correction" "corrections"} could not be distributed.
SheetsUnassignable name: Submission for #{name} may not currently be assigned to correctors.
NoCorrectorAssigned: No corrector
HeadingCorrectionsAssign: Assign corrections
SubmissionPassed: Passed
RatingPoints: Points
PointsPlaceholder: Points
SubmissionCorrector: Corrector
SubmissionCorrectorTip: The corrector you configure here will have full access to this correction including the right to update it in the future.
SubmissionNoCorrector: No corrector
SubmissionCannotBeRatedWithoutCorrector: The rating can only be marked as finished if a corrector is also configured
RatingDone: Rating finished
RatingDoneTip: The rating is only visible to the submittors and considered for any exam bonuses if it is finished.
RatingFiles: Marked files
RatingFilesTip: Files uploaded here completely replace any existing corrected versions (i.e. files not uploaded again are deleted). The original version as submitted will remain untouched.
RatingFilesUpdated: Corrected files successfully overwritten
RatingUpdated: Successfully updated correction
RatingDeleted: Successfully reset correction
RatingDraftUpdated: Successfully saved correction draft
SubmissionCorrectionHead tid ssh csh sheetName cid: #{tid}-#{ssh}-#{csh} #{sheetName}: Marking
CorrectionPseudonyms: Pseudonyms
CorrectionPseudonymsTip: One submission per line. For group submissions include multiple pseudonyms (comma-separated) per line. Typos may be automatically corrected.
PseudonymSheet: Exercise sheet
CorrectionPseudonymSheet termDesc csh shn: #{termDesc} » #{csh} » #{shn}
SubmissionPseudonyms: Pseudonyms
UnknownPseudonym pseudonym: Unknown pseudonym “#{pseudonym}”
SheetGroupTooLarge sheetGroupDesc: Submission group to large: #{sheetGroupDesc}
SheetNoRegisteredGroup sheetGroupDesc: “#{sheetGroupDesc}” are not registered as a submission group
SheetAmbiguousRegisteredGroup sheetGroupDesc: “#{sheetGroupDesc}” contains members of multiple submission groups
SheetNoGroupSubmission sheetGroupDesc: Group submission is not allowed for this exercise sheet (#{sheetGroupDesc})
SheetDuplicatePseudonym: The following pseudonyms occurred multiple times. All occurrances except the first have been ignored:
SheetCreateExisting: The following pseudonyms have already submitted:
SubmissionCorrCreate: Register submissions
SubmissionTypeArchiveName tid ssh csh shn subId renderedSfType: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase shn}-#{foldCase (toPathPiece subId)}-#{foldCase renderedSfType}
NoOpenSubmissions: No open submissions exist
ColumnRatingPoints: Points
RatingComment: Comment
CorrectionsUploaded num: Successfully saved #{num} #{pluralEN num "correction" "corrections"}
NoCorrectionsUploaded: No corrections could be found within the uploaded files.
CorrectionsGrade: Grade submissions
SubmissionArchive: Zip-archive of submission files
SubmissionArchiveCorrected: Zip-archive of submission files including corrections
SubmissionFile: Submission file
SubmissionFiles: Submitted files
EmailInvitationWarningPrevCoSubmittors: This address could not be matched to any course participant with whom you have submitted for this course before. An Invitation will be sent via email.
EmailInvitationWarningCourseParticipants: This address coulde not be matched to any course participant. An Invitation will be sent via email.
MultiUserFieldExplanationPrevCoSubmittors: This input searches through the addresses of all course participants for whom it could be determined, that you have already submitted with that person for this course.
MultiUserFieldExplanationCourseParticipants: This input searches through the addresses of all course participants.
SubmissionAlreadyExistsFor email: #{email} already has a submission for this sheet.
SubmissionUsersEmpty: Submissions may not be created without submittors.
SubmissionUserAlreadyAdded: This user is already configured as a submittor
SubmissionWrongSheet: Submission does not belong to the given sheet.
SubmissionAlreadyExists: You already have a submission for this sheet.
NotAParticipant email tid csh: #{email} is not a participant of #{tid}-#{csh}.
TooManyParticipants: You have specified more than the allowed number of submittors.
SubmissionCreated: Successfully created submission
SubmissionUpdated: Successfully replaced submission
FileCorrected: Marked (files)
Corrected: Marked
HeadingSubmissionEditHead tid ssh csh sheetName: #{tid}-#{ssh}-#{csh} #{sheetName}: Edit/Create submission
SubmissionUsers: Submittors
AssignedTime: Assigned
Pseudonyms: Pseudonyms
CourseCorrectionsTitle: Corrections for this course
SubmissionArchiveName: submissions
SubmissionsAssignUnauthorized num: #{num} #{pluralEN num "correction" "corrections"} cannot currently be assigned to correctors (e.g. because changes to submissions are still allowed)
UpdatedAssignedCorrectorSingle num: Successfully assigned #{num} #{pluralEN num "correction" "corrections"} to the corrector.
NoCorrector: No corrector
RemovedCorrections num: Successfully deleted #{num} #{pluralEN num "correction" "corrections"}
UpdatedAssignedCorrectorsAuto num: Successfully distributed #{num} #{pluralEN num "correction" "corrections"} among correctors.
SubmissionsAlreadyAssigned num: #{num} #{pluralEN num "correction" "corrections"} were already assigned to a corrector and were left unchanged:
CouldNotAssignCorrectorsAuto num: #{num} #{pluralEN num "correction" "corrections"} could not be distributed:
SelfCorrectors num: #{num} #{pluralEN num "correction was" "corrections were"} assigned to correctors that are also submittors for their correction!
AssignSubmissionExceptionNoCorrectors: No correctors configured
AssignSubmissionExceptionNoCorrectorsByProportion: No correctors have any non-zero proportion
AssignSubmissionExceptionSubmissionsNotFound n: #{n} #{pluralEN n "submission" "submissions"} could not be identified
CorrDownloadAnonymous: Anonymized
CorrDownloadAnonymousTip: If submissions are downloaded non-anonymized the selected feature of the submittors are appended to the name of the dirctory for each submission where permitted
CorrSetCorrector: Assign corrector
CorrSetCorrectorTooltip: Submissions already assigned to a corrector must first be assigned to “<None>” before they can be assigned again.
MailSubjectSubmissionUserInvitation tid ssh csh shn: [#{tid}-#{ssh}-#{csh}] Invitation to participate in a submission for #{shn}
SubmissionUserInviteHeading shn: Invitation to participate in a submission for #{shn}
SubmissionUserInviteExplanation: You were invited to participate in a submission for an exercise sheet.
SubmissionUserInvitationAccepted shn: You now participate in a submission for #{shn}
CorrUploadField: Corrections
CorrUploadSubmissionDoneMode: Rating finished
CorrUploadSubmissionDoneModeTip: Should uploaded corrections be marked as finished? The rating is only visible to the submittors and considered for any exam bonuses if it is finished.
RatingBy: Marked by
AchievedPassPoints: Points achieved to pass
PassAchievedOf points passingPoints maxPoints: #{points} of #{maxPoints} (pass at #{passingPoints})
RatingUpdatedFiles: During correction files were added or changed
SubmissionSheetMarking: Marking hints for correctors
SubmissionGradingSummaryTitle intgr: #{intgr} #{pluralEN intgr "submission" "submissions"}
SubmissionNoUploadExpected: No upload of files expected.
SubmissionFilesCorrected: Submitted & Corrected files
SubmissionOriginal: Original
EditedBy name time: #{time} by #{name}
SubmissionReplace: Replace submission
SubmissionMembers: Submittors
SubmissionMember: Submittor

View File

@ -6,7 +6,7 @@ module Foundation.I18n
, UniWorXMessage(..), UniWorXTestMessage(..), UniWorXSettingsMessage(..) , UniWorXMessage(..), UniWorXTestMessage(..), UniWorXSettingsMessage(..)
, UniWorXHelpMessage(..), UniWorXNavigationMessage(..), UniWorXWorkflowMessage(..) , UniWorXHelpMessage(..), UniWorXNavigationMessage(..), UniWorXWorkflowMessage(..)
, UniWorXCourseMessage(..), UniWorXAllocationMessage(..), UniWorXExamMessage(..) , UniWorXCourseMessage(..), UniWorXAllocationMessage(..), UniWorXExamMessage(..)
, UniWorXSheetMessage(..), UniWorXAdminMessage(..) , UniWorXSheetMessage(..), UniWorXAdminMessage(..), UniWorXSubmissionMessage(..)
, ShortTermIdentifier(..) , ShortTermIdentifier(..)
, MsgLanguage(..) , MsgLanguage(..)
, ShortSex(..) , ShortSex(..)
@ -145,6 +145,7 @@ mkMessageAddition ''UniWorX "Allocation" "messages/uniworx/uniworx_new/allocatio
mkMessageAddition ''UniWorX "Exam" "messages/uniworx/uniworx_new/exam" "de-de-formal" mkMessageAddition ''UniWorX "Exam" "messages/uniworx/uniworx_new/exam" "de-de-formal"
mkMessageAddition ''UniWorX "Sheet" "messages/uniworx/uniworx_new/sheet" "de-de-formal" mkMessageAddition ''UniWorX "Sheet" "messages/uniworx/uniworx_new/sheet" "de-de-formal"
mkMessageAddition ''UniWorX "Admin" "messages/uniworx/uniworx_new/admin" "de-de-formal" mkMessageAddition ''UniWorX "Admin" "messages/uniworx/uniworx_new/admin" "de-de-formal"
mkMessageAddition ''UniWorX "Submission" "messages/uniworx/uniworx_new/submission" "de-de-formal"
mkMessageVariant ''UniWorX ''CampusMessage "messages/auth/campus" "de" mkMessageVariant ''UniWorX ''CampusMessage "messages/auth/campus" "de"
mkMessageVariant ''UniWorX ''DummyMessage "messages/auth/dummy" "de" mkMessageVariant ''UniWorX ''DummyMessage "messages/auth/dummy" "de"
mkMessageVariant ''UniWorX ''PWHashMessage "messages/auth/pw-hash" "de" mkMessageVariant ''UniWorX ''PWHashMessage "messages/auth/pw-hash" "de"

View File

@ -261,8 +261,8 @@ courseUserSubmissionsSection (Entity cid Course{..}) (Entity uid _) = do
-- "pseudonym" TODO DB only stores Word24 -- "pseudonym" TODO DB only stores Word24
, Map.singleton "sheet-search" . maybeToList <$> aopt textField (fslI MsgTableSheet) (Just <$> listToMaybe =<< ((Map.lookup "sheet-search" =<< mPrev) <|> (Map.lookup "sheet" =<< mPrev))) , Map.singleton "sheet-search" . maybeToList <$> aopt textField (fslI MsgTableSheet) (Just <$> listToMaybe =<< ((Map.lookup "sheet-search" =<< mPrev) <|> (Map.lookup "sheet" =<< mPrev)))
, prismAForm (singletonFilter "corrector-name-email") mPrev $ aopt textField (fslI MsgTableCorrector) , prismAForm (singletonFilter "corrector-name-email") mPrev $ aopt textField (fslI MsgTableCorrector)
, prismAForm (singletonFilter "isassigned" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgHasCorrector) , prismAForm (singletonFilter "isassigned" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgTableHasCorrector)
, prismAForm (singletonFilter "israted" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgRatingTime) , prismAForm (singletonFilter "israted" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgTableRatingTime)
, prismAForm (singletonFilter "submission") mPrev $ aopt (lift `hoistField` textField) (fslI MsgTableSubmission) , prismAForm (singletonFilter "submission") mPrev $ aopt (lift `hoistField` textField) (fslI MsgTableSubmission)
] ]
psValidator = def & defaultPagesize PagesizeAll -- Assisstant always want to see them all at once anyway psValidator = def & defaultPagesize PagesizeAll -- Assisstant always want to see them all at once anyway

View File

@ -161,8 +161,8 @@ colUserSheets shns = cap (Sortable Nothing caption) $ foldMap userSheetCol shns
userSheetCol :: SheetName -> Colonnade Sortable UserTableData (DBCell m c) userSheetCol :: SheetName -> Colonnade Sortable UserTableData (DBCell m c)
userSheetCol shn = sortable (Just . SortingKey $ "sheet-" <> shn) (i18nCell shn) $ \dat -> flip (views $ _userSheets . at shn) dat $ \case userSheetCol shn = sortable (Just . SortingKey $ "sheet-" <> shn) (i18nCell shn) $ \dat -> flip (views $ _userSheets . at shn) dat $ \case
Just (preview _grading -> Just Points{..}, Just points) -> i18nCell $ MsgAchievedOf points maxPoints Just (preview _grading -> Just Points{..}, Just points) -> i18nCell $ MsgTableAchievedOf points maxPoints
Just (preview _grading -> Just grading', Just points) -> i18nCell . bool MsgNotPassed MsgPassed $ Just True == gradingPassed grading' points Just (preview _grading -> Just grading', Just points) -> i18nCell . bool MsgTableNotPassed MsgTablePassed $ Just True == gradingPassed grading' points
_other -> mempty _other -> mempty

View File

@ -59,9 +59,9 @@ postCorrectionR tid ssh csh shn cid = do
NotGraded NotGraded
-> pure Nothing -> pure Nothing
(preview _grading -> Just PassBinary) (preview _grading -> Just PassBinary)
-> Just <$> apopt (convertField (bool 0 1) (/= 0) checkBoxField) (fslI MsgPassed) submissionRatingPoints -> Just <$> apopt (convertField (bool 0 1) (/= 0) checkBoxField) (fslI MsgSubmissionPassed) submissionRatingPoints
(preview _grading -> Just PassAlways) (preview _grading -> Just PassAlways)
-> Just <$> aforced (convertField (bool 0 1) (/= 0) checkBoxField) (fslI MsgPassed) 1 -> Just <$> aforced (convertField (bool 0 1) (/= 0) checkBoxField) (fslI MsgSubmissionPassed) 1
_otherwise -> aSetTooltip (Just $ sheetTypeDesc tr ur) $ _otherwise -> aSetTooltip (Just $ sheetTypeDesc tr ur) $
aopt (pointsFieldMax $ preview (_grading . _maxPoints) sheetType) aopt (pointsFieldMax $ preview (_grading . _maxPoints) sheetType)
(fslpI MsgRatingPoints (mr MsgPointsPlaceholder)) (fslpI MsgRatingPoints (mr MsgPointsPlaceholder))
@ -138,7 +138,7 @@ postCorrectionR tid ssh csh shn cid = do
addMessageI Success MsgRatingFilesUpdated addMessageI Success MsgRatingFilesUpdated
redirect $ CSubmissionR tid ssh csh shn cid CorrectionR redirect $ CSubmissionR tid ssh csh shn cid CorrectionR
let heading = MsgCorrectionHead tid ssh csh shn cid let heading = MsgSubmissionCorrectionHead tid ssh csh shn cid
headingWgt = [whamlet| headingWgt = [whamlet|
$newline never $newline never
_{heading} _{heading}
@ -160,7 +160,7 @@ getCorrectionUserR tid ssh csh shn cid = do
case results of case results of
[(_, Entity _ Sheet{..}, Entity _ Submission{..}, corrector@(Just _), E.Value filesCorrected)] -> do [(_, Entity _ Sheet{..}, Entity _ Submission{..}, corrector@(Just _), E.Value filesCorrected)] -> do
let ratingComment = assertM (not . null) $ Text.strip <$> submissionRatingComment let ratingComment = assertM (not . null) $ Text.strip <$> submissionRatingComment
let heading = MsgCorrectionHead tid ssh csh shn cid let heading = MsgSubmissionCorrectionHead tid ssh csh shn cid
urlArchive <- toTextUrl . CSubmissionR tid ssh csh shn cid $ SubArchiveR SubmissionCorrected urlArchive <- toTextUrl . CSubmissionR tid ssh csh shn cid $ SubArchiveR SubmissionCorrected
tr <- getTranslate tr <- getTranslate
sheetTypeDesc <- liftHandler . runDB $ sheetTypeDescription sheetCourse sheetType sheetTypeDesc <- liftHandler . runDB $ sheetTypeDescription sheetCourse sheetType

View File

@ -52,7 +52,7 @@ postCorrectionsCreateR = do
MsgRenderer mr <- getMsgRenderer MsgRenderer mr <- getMsgRenderer
((pseudonymRes, pseudonymWidget), pseudonymEncoding) <- runFormPost . renderAForm FormStandard $ (,) ((pseudonymRes, pseudonymWidget), pseudonymEncoding) <- runFormPost . renderAForm FormStandard $ (,)
<$> areq (selectField sheetOptions) (fslI MsgPseudonymSheet) Nothing <$> areq (selectField sheetOptions) (fslI MsgPseudonymSheet) Nothing
<*> (textToList <$> areq textareaField (fslpI MsgCorrectionPseudonyms (mr MsgPseudonyms) & setTooltip MsgCorrectionPseudonymsTip) Nothing) <*> (textToList <$> areq textareaField (fslpI MsgCorrectionPseudonyms (mr MsgSubmissionPseudonyms) & setTooltip MsgCorrectionPseudonymsTip) Nothing)
case pseudonymRes of case pseudonymRes of
FormMissing -> return () FormMissing -> return ()
@ -168,8 +168,8 @@ postCorrectionsCreateR = do
, formEncoding = pseudonymEncoding , formEncoding = pseudonymEncoding
} }
siteLayoutMsg MsgCorrCreate $ do siteLayoutMsg MsgSubmissionCorrCreate $ do
setTitleI MsgCorrCreate setTitleI MsgSubmissionCorrCreate
$(widgetFile "corrections-create") $(widgetFile "corrections-create")
where where
partitionEithers' :: [[Either a b]] -> ([[b]], [a]) partitionEithers' :: [[Either a b]] -> ([[b]], [a])

View File

@ -42,7 +42,7 @@ postCorrectionsGradeR = do
, prismAForm (singletonFilter "term" ) mPrev $ aopt (lift `hoistField` selectField termOptions) (fslI MsgTableTerm) , prismAForm (singletonFilter "term" ) mPrev $ aopt (lift `hoistField` selectField termOptions) (fslI MsgTableTerm)
, prismAForm (singletonFilter "school" ) mPrev $ aopt (lift `hoistField` selectField schoolOptions) (fslI MsgTableCourseSchool) , prismAForm (singletonFilter "school" ) mPrev $ aopt (lift `hoistField` selectField schoolOptions) (fslI MsgTableCourseSchool)
, Map.singleton "sheet-search" . maybeToList <$> aopt (lift `hoistField` textField) (fslI MsgTableSheet) (Just <$> listToMaybe =<< ((Map.lookup "sheet-search" =<< mPrev) <|> (Map.lookup "sheet" =<< mPrev))) , Map.singleton "sheet-search" . maybeToList <$> aopt (lift `hoistField` textField) (fslI MsgTableSheet) (Just <$> listToMaybe =<< ((Map.lookup "sheet-search" =<< mPrev) <|> (Map.lookup "sheet" =<< mPrev)))
, prismAForm (singletonFilter "israted" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgRatingTime) , prismAForm (singletonFilter "israted" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgTableRatingTime)
, prismAForm (singletonFilter "rating-visible" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgRatingDone) , prismAForm (singletonFilter "rating-visible" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgRatingDone)
, prismAForm (singletonFilter "rating" . maybePrism _PathPiece) mPrev $ aopt (lift `hoistField` pointsField) (fslI MsgColumnRatingPoints) , prismAForm (singletonFilter "rating" . maybePrism _PathPiece) mPrev $ aopt (lift `hoistField` pointsField) (fslI MsgColumnRatingPoints)
, Map.singleton "comment" . maybeToList <$> aopt (lift `hoistField` textField) (fslI MsgRatingComment) (Just <$> listToMaybe =<< (Map.lookup "comment" =<< mPrev)) , Map.singleton "comment" . maybeToList <$> aopt (lift `hoistField` textField) (fslI MsgRatingComment) (Just <$> listToMaybe =<< (Map.lookup "comment" =<< mPrev))

View File

@ -552,7 +552,7 @@ submissionHelper tid ssh csh shn mcid = do
sheetTypeDesc <- liftHandler . runDB $ sheetTypeDescription sheetCourse sheetType sheetTypeDesc <- liftHandler . runDB $ sheetTypeDescription sheetCourse sheetType
defaultLayout $ do defaultLayout $ do
setTitleI $ MsgSubmissionEditHead tid ssh csh shn setTitleI $ MsgHeadingSubmissionEditHead tid ssh csh shn
(urlArchive, urlOriginal) <- fmap ((,) <$> preview (_Just . _1) <*> preview (_Just . _2)) . for mcid $ \cID (urlArchive, urlOriginal) <- fmap ((,) <$> preview (_Just . _1) <*> preview (_Just . _2)) . for mcid $ \cID
-> let mkUrl sft = toTextUrl . CSubmissionR tid ssh csh shn cID $ SubArchiveR sft -> let mkUrl sft = toTextUrl . CSubmissionR tid ssh csh shn cID $ SubArchiveR sft
in liftHandler . runDB $ (,) <$> mkUrl SubmissionCorrected <*> mkUrl SubmissionOriginal in liftHandler . runDB $ (,) <$> mkUrl SubmissionCorrected <*> mkUrl SubmissionOriginal

View File

@ -174,7 +174,7 @@ colAssigned = sortable (Just "assignedtime") (i18nCell MsgAssignedTime) $ \DBRow
maybe mempty dateTimeCell submissionRatingAssigned maybe mempty dateTimeCell submissionRatingAssigned
colRated :: IsDBTable m a => Colonnade Sortable CorrectionTableData (DBCell m a) colRated :: IsDBTable m a => Colonnade Sortable CorrectionTableData (DBCell m a)
colRated = sortable (Just "ratingtime") (i18nCell MsgRatingTime) $ \DBRow{ dbrOutput=(Entity _subId Submission{..}, _sheet, _course, _, _, _, _, _) } -> colRated = sortable (Just "ratingtime") (i18nCell MsgTableRatingTime) $ \DBRow{ dbrOutput=(Entity _subId Submission{..}, _sheet, _course, _, _, _, _, _) } ->
maybe mempty dateTimeCell submissionRatingTime maybe mempty dateTimeCell submissionRatingTime
colPseudonyms :: IsDBTable m a => Colonnade Sortable CorrectionTableData (DBCell m a) colPseudonyms :: IsDBTable m a => Colonnade Sortable CorrectionTableData (DBCell m a)
@ -197,7 +197,7 @@ colPointsField = sortable (Just "rating") (i18nCell MsgColumnRatingPoints) $ for
) )
colMaxPointsField :: _ => Colonnade Sortable CorrectionTableData (DBCell m (FormResult (DBFormResult SubmissionId (a, Maybe Points, b) CorrectionTableData))) colMaxPointsField :: _ => Colonnade Sortable CorrectionTableData (DBCell m (FormResult (DBFormResult SubmissionId (a, Maybe Points, b) CorrectionTableData)))
colMaxPointsField = sortable (Just "sheet-type") (i18nCell MsgSheetType) $ \DBRow{ dbrOutput=(_, Entity _ Sheet{sheetCourse, sheetType}, _, _, _, _, _, _) } -> cell $ do colMaxPointsField = sortable (Just "sheet-type") (i18nCell MsgTableSheetType) $ \DBRow{ dbrOutput=(_, Entity _ Sheet{sheetCourse, sheetType}, _, _, _, _, _, _) } -> cell $ do
sheetTypeDesc <- liftHandler . runDB $ sheetTypeDescription sheetCourse sheetType sheetTypeDesc <- liftHandler . runDB $ sheetTypeDescription sheetCourse sheetType
tr <- getTranslate tr <- getTranslate
toWidget $ sheetTypeDesc tr toWidget $ sheetTypeDesc tr
@ -655,7 +655,7 @@ postCorrectionsR = do
, prismAForm (singletonFilter "term" ) mPrev $ aopt (lift `hoistField` selectField termOptions) (fslI MsgTableTerm) , prismAForm (singletonFilter "term" ) mPrev $ aopt (lift `hoistField` selectField termOptions) (fslI MsgTableTerm)
, prismAForm (singletonFilter "school" ) mPrev $ aopt (lift `hoistField` selectField schoolOptions) (fslI MsgTableCourseSchool) , prismAForm (singletonFilter "school" ) mPrev $ aopt (lift `hoistField` selectField schoolOptions) (fslI MsgTableCourseSchool)
, Map.singleton "sheet-search" . maybeToList <$> aopt (lift `hoistField` textField) (fslI MsgTableSheet) (Just <$> listToMaybe =<< ((Map.lookup "sheet-search" =<< mPrev) <|> (Map.lookup "sheet" =<< mPrev))) , Map.singleton "sheet-search" . maybeToList <$> aopt (lift `hoistField` textField) (fslI MsgTableSheet) (Just <$> listToMaybe =<< ((Map.lookup "sheet-search" =<< mPrev) <|> (Map.lookup "sheet" =<< mPrev)))
, prismAForm (singletonFilter "israted" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgRatingTime) , prismAForm (singletonFilter "israted" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgTableRatingTime)
, prismAForm (singletonFilter "submission") mPrev $ aopt (lift `hoistField` textField) (fslI MsgTableSubmission) , prismAForm (singletonFilter "submission") mPrev $ aopt (lift `hoistField` textField) (fslI MsgTableSubmission)
] ]
courseOptions = runDB $ do courseOptions = runDB $ do
@ -701,8 +701,8 @@ postCCorrectionsR tid ssh csh = do
-- "pseudonym" TODO DB only stores Word24 -- "pseudonym" TODO DB only stores Word24
, Map.singleton "sheet-search" . maybeToList <$> aopt textField (fslI MsgTableSheet) (Just <$> listToMaybe =<< ((Map.lookup "sheet-search" =<< mPrev) <|> (Map.lookup "sheet" =<< mPrev))) , Map.singleton "sheet-search" . maybeToList <$> aopt textField (fslI MsgTableSheet) (Just <$> listToMaybe =<< ((Map.lookup "sheet-search" =<< mPrev) <|> (Map.lookup "sheet" =<< mPrev)))
, prismAForm (singletonFilter "corrector-name-email") mPrev $ aopt textField (fslI MsgTableCorrector) , prismAForm (singletonFilter "corrector-name-email") mPrev $ aopt textField (fslI MsgTableCorrector)
, prismAForm (singletonFilter "isassigned" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgHasCorrector) , prismAForm (singletonFilter "isassigned" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgTableHasCorrector)
, prismAForm (singletonFilter "israted" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgRatingTime) , prismAForm (singletonFilter "israted" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgTableRatingTime)
, prismAForm (singletonFilter "submission-group") mPrev $ aopt textField (fslI MsgTableSubmissionGroup) , prismAForm (singletonFilter "submission-group") mPrev $ aopt textField (fslI MsgTableSubmissionGroup)
, prismAForm (singletonFilter "submission") mPrev $ aopt (lift `hoistField` textField) (fslI MsgTableSubmission) , prismAForm (singletonFilter "submission") mPrev $ aopt (lift `hoistField` textField) (fslI MsgTableSubmission)
] ]
@ -733,8 +733,8 @@ postSSubsR tid ssh csh shn = do
[ prismAForm (singletonFilter "user-name-email") mPrev $ aopt textField (fslI MsgTableCourseMembers) [ prismAForm (singletonFilter "user-name-email") mPrev $ aopt textField (fslI MsgTableCourseMembers)
, prismAForm (singletonFilter "user-matriclenumber") mPrev $ aopt textField (fslI MsgTableMatrikelNr) , prismAForm (singletonFilter "user-matriclenumber") mPrev $ aopt textField (fslI MsgTableMatrikelNr)
, prismAForm (singletonFilter "corrector-name-email") mPrev $ aopt textField (fslI MsgTableCorrector) , prismAForm (singletonFilter "corrector-name-email") mPrev $ aopt textField (fslI MsgTableCorrector)
, prismAForm (singletonFilter "isassigned" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgHasCorrector) , prismAForm (singletonFilter "isassigned" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgTableHasCorrector)
, prismAForm (singletonFilter "israted" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgRatingTime) , prismAForm (singletonFilter "israted" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgTableRatingTime)
, prismAForm (singletonFilter "submission-group") mPrev $ aopt textField (fslI MsgTableSubmissionGroup) , prismAForm (singletonFilter "submission-group") mPrev $ aopt textField (fslI MsgTableSubmissionGroup)
, prismAForm (singletonFilter "submission") mPrev $ aopt (lift `hoistField` textField) (fslI MsgTableSubmission) , prismAForm (singletonFilter "submission") mPrev $ aopt (lift `hoistField` textField) (fslI MsgTableSubmission)
-- "pseudonym" TODO DB only stores Word24 -- "pseudonym" TODO DB only stores Word24

View File

@ -315,7 +315,7 @@ submissionMultiArchive anonymous (Set.toList -> ids) = do
([tid], _, _, _) ([tid], _, _, _)
-> MsgSubmissionTermArchiveName tid -> MsgSubmissionTermArchiveName tid
_other _other
-> MsgSubmissionArchiveName -> MsgUtilSubmissionArchiveName
MsgRenderer mr <- getMsgRenderer MsgRenderer mr <- getMsgRenderer
setContentDisposition' $ Just ((addExtension `on` unpack) (mr archiveName) extensionZip) setContentDisposition' $ Just ((addExtension `on` unpack) (mr archiveName) extensionZip)
respondSource typeZip . (<* lift cleanup) . transPipe (runDBRunner dbrunner) $ do respondSource typeZip . (<* lift cleanup) . transPipe (runDBRunner dbrunner) $ do
@ -868,7 +868,7 @@ submissionMatchesSheet tid ssh csh shn cid = do
sid <- decrypt cid sid <- decrypt cid
shid <- fetchSheetId tid ssh csh shn shid <- fetchSheetId tid ssh csh shn
Submission{..} <- get404 sid Submission{..} <- get404 sid
when (shid /= submissionSheet) $ invalidArgsI [MsgSubmissionWrongSheet] when (shid /= submissionSheet) $ invalidArgsI [MsgUtilSubmissionWrongSheet]
return sid return sid

View File

@ -95,7 +95,7 @@ mailtoHtml email = wrapMailto email $(shamletFile "templates/widgets/email.hamle
editedByW :: SelDateTimeFormat -> UTCTime -> Text -> Widget editedByW :: SelDateTimeFormat -> UTCTime -> Text -> Widget
editedByW fmt tm usr = do editedByW fmt tm usr = do
ft <- handlerToWidget $ formatTime fmt tm ft <- handlerToWidget $ formatTime fmt tm
[whamlet|_{MsgEditedBy usr ft}|] [whamlet|_{MsgUtilEditedBy usr ft}|]
heat :: ( Real a, Real b ) heat :: ( Real a, Real b )
=> a -> b -> Milli => a -> b -> Milli

View File

@ -9,7 +9,7 @@
<td .table__td>^{nameEmailWidget userEmail userDisplayName userSurname} <td .table__td>^{nameEmailWidget userEmail userDisplayName userSurname}
$maybe time <- submissionRatingTime $maybe time <- submissionRatingTime
<tr .table__row> <tr .table__row>
<th .table__th>_{MsgRatingTime} <th .table__th>_{MsgTableRatingTime}
<td .table__td>^{formatTimeW SelFormatDateTime time} <td .table__td>^{formatTimeW SelFormatDateTime time}
$maybe points <- submissionRatingPoints $maybe points <- submissionRatingPoints
@ -18,15 +18,15 @@
$of Points{..} $of Points{..}
<tr .table__row> <tr .table__row>
<th .table__th>^{sheetTypeDesc tr} <th .table__th>^{sheetTypeDesc tr}
<td .table__td>_{MsgAchievedOf points maxPoints} <td .table__td>_{MsgTableAchievedOf points maxPoints}
$of PassPoints{..} $of PassPoints{..}
<tr .table__row> <tr .table__row>
<th .table__th>^{sheetTypeDesc tr} <th .table__th>^{sheetTypeDesc tr}
<td .table__td> <td .table__td>
$if fromMaybe False (gradingPassed grading points) $if fromMaybe False (gradingPassed grading points)
_{MsgPassed} _{MsgTablePassed}
$else $else
_{MsgNotPassed} _{MsgTableNotPassed}
<tr .table__row> <tr .table__row>
<th .table__th>_{MsgAchievedPassPoints} <th .table__th>_{MsgAchievedPassPoints}
<td .table__td>_{MsgPassAchievedOf points passingPoints maxPoints} <td .table__td>_{MsgPassAchievedOf points passingPoints maxPoints}
@ -35,9 +35,9 @@
<th .table__th>^{sheetTypeDesc tr} <th .table__th>^{sheetTypeDesc tr}
<td .table__td> <td .table__td>
$if fromMaybe False (gradingPassed grading points) $if fromMaybe False (gradingPassed grading points)
_{MsgPassed} _{MsgTablePassed}
$else $else
_{MsgNotPassed} _{MsgTableNotPassed}
$of PassAlways $of PassAlways
$if filesCorrected $if filesCorrected

View File

@ -3,7 +3,7 @@
$maybe marktxt <- sheetMarkingText $maybe marktxt <- sheetMarkingText
<section> <section>
<h2>_{MsgSheetMarking} <h2>_{MsgSubmissionSheetMarking}
<p> <p>
#{marktxt} #{marktxt}
<section> <section>

View File

@ -30,7 +30,7 @@ $newline never
#{nameEmailHtml userEmail userDisplayName userSurname} #{nameEmailHtml userEmail userDisplayName userSurname}
$maybe time <- submissionRatingTime' $maybe time <- submissionRatingTime'
<dt> <dt>
_{SomeMessage MsgRatingTime} _{SomeMessage MsgTableRatingTime}
<dd> <dd>
#{time} #{time}
<dt> ^{sheetTypeDesc} <dt> ^{sheetTypeDesc}

View File

@ -67,7 +67,7 @@ $maybe descr <- sheetDescription sheet
^{generateForm} ^{generateForm}
$of _ $of _
<dt .deflist__dt> <dt .deflist__dt>
_{MsgSheetType} _{MsgTableSheetType}
<dd .deflist__dd> <dd .deflist__dd>
^{sTypeDesc tr} ^{sTypeDesc tr}