refactor(messages): continuing utils-folder

This commit is contained in:
Winnie Ros 2021-04-08 18:15:21 +02:00
parent 2e57c81a75
commit c2ea33066f
30 changed files with 541 additions and 564 deletions

View File

@ -5,58 +5,6 @@ AcceptApplicationsInvite: Einladungen verschicken
AcceptApplicationsSecondaryRandom: Zufällig AcceptApplicationsSecondaryRandom: Zufällig
AcceptApplicationsSecondaryTime: Nach Zeitpunkt der Bewerbung AcceptApplicationsSecondaryTime: Nach Zeitpunkt der Bewerbung
#general table-discriptions
TableEmail: Email
TableStudyTerm: Studiengang
TableStudyFeatureAge: Fachsemester
TableStudyFeatureDegree: Abschluss
TableStudyFeatureType:
TableStudyFeatureValid: Aktiv
TableStudyFeatureUpdate: Abgeglichen
TableHeadingFilter: Filter
TableTerm: Semester
TableCourseSchool: Institut
TableSubmissionGroup: Feste Abgabegruppe
TableNoSubmissionGroup: Keine feste Abgabegruppe
TableMatrikelNr: Matrikelnummer
TableSex: Geschlecht
TableSchool: Institut
TableCourse: Kurs
TableCourseMembers: Teilnehmer:innen
TableExamOccurrence: Termin/Raum
TableExamName: Name
TableExamTime: Termin
TableExamRegistration: Prüfungsanmeldung
TableExamResult: Prüfungsergebnis
TableSheet: Blatt
TableLastEdit: Letzte Änderung
TableSubmission: Abgabenummer
TableRating: Korrektur
TableFileTitle: Dateiname
TableFileModified: Letzte Änderung
TableCorState: Status
TableCorProportion: Anteil
TableCorrector: Korrektor
TableDegreeShort: Abschlusskürzel
TableDegreeName: Abschluss
TableRatingTime: Korrigiert
TableSheetType: Wertung
TableHasCorrector: Korrektor zugeteilt
TableAchievedOf achieved@Points possible@Points: #{achieved} von #{possible}
TablePassed: Bestanden
TableNotPassed: Nicht bestanden
TableTutorialTutors: Tutoren
TableTutorialName: Bezeichnung
TableTutorialType: Art
TableTutorialRoom: Regulärer Raum
TableTutorialRoomHidden: Raum nur für Teilnehmer
TableTutorialRoomIsUnset: —
TableTutorialRoomIsHidden: Raum wird nur Teilnehmern angezeigt
TableTutorialTime: Zeit
TableTutorialDeregisterUntil: Abmeldungen bis
TableActionsHead: Aktionen
TableNoFilter: Keine Einschränkung
#headings #headings
HeadingLegal: Rechtliche Informationen HeadingLegal: Rechtliche Informationen
SubmissionNew: Abgabe anlegen SubmissionNew: Abgabe anlegen
@ -95,7 +43,6 @@ 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}
WinterTermShort year@Integer: WiSe #{year}/#{mod (succ year) 100} WinterTermShort year@Integer: WiSe #{year}/#{mod (succ year) 100}
PSLimitNonPositive: “pagesize” muss größer als null sein
Page num@Int64: #{num} Page num@Int64: #{num}
TermsHeading: Semesterübersicht TermsHeading: Semesterübersicht
@ -140,8 +87,6 @@ CourseNewHeading: Neuen Kurs anlegen
CourseEditHeading tid@TermId ssh@SchoolId csh@CourseShorthand: Kurs #{tid}-#{ssh}-#{csh} editieren CourseEditHeading tid@TermId ssh@SchoolId csh@CourseShorthand: Kurs #{tid}-#{ssh}-#{csh} editieren
BoolIrrelevant: — BoolIrrelevant: —
CourseDeleteQuestion: Wollen Sie den unten aufgeführten Kurs wirklich löschen?
CourseDeleted: Kurs gelöscht
CourseUserRegister: Zum Kurs anmelden CourseUserRegister: Zum Kurs anmelden
CourseUserDeregister: Vom Kurs abmelden CourseUserDeregister: Vom Kurs abmelden
@ -152,8 +97,6 @@ SheetNewHeading tid@TermId ssh@SchoolId csh@CourseShorthand: #{tid}-#{ssh}-#{
SheetTitleHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{tid}-#{ssh}-#{csh} #{sheetName} SheetTitleHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{tid}-#{ssh}-#{csh} #{sheetName}
SheetEditHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{tid}-#{ssh}-#{csh} #{sheetName} editieren SheetEditHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{tid}-#{ssh}-#{csh} #{sheetName} editieren
SheetDelHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{sheetName} wirklich aus Kurs #{tid}-#{ssh}-#{csh} herauslöschen? Alle assoziierten Abgaben und Korrekturen gehen ebenfalls verloren! SheetDelHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{sheetName} wirklich aus Kurs #{tid}-#{ssh}-#{csh} herauslöschen? Alle assoziierten Abgaben und Korrekturen gehen ebenfalls verloren!
SheetUploadMode: Abgabe von Dateien
UtilSheetSubmissionMode: Abgabe-Modus
UtilSheetType: Wertung UtilSheetType: Wertung
SheetArchiveFileTypeDirectoryExercise: aufgabenstellung SheetArchiveFileTypeDirectoryExercise: aufgabenstellung
@ -270,8 +213,6 @@ UnauthorizedSubmissionRated: Diese Abgabe ist noch nicht korrigiert.
UnauthorizedSubmissionCorrector: Sie sind nicht der Korrektor für diese Abgabe. UnauthorizedSubmissionCorrector: Sie sind nicht der Korrektor für diese Abgabe.
UnauthorizedUserSubmission: Nutzer dürfen für dieses Übungsblatt keine Abgaben erstellen. UnauthorizedUserSubmission: Nutzer dürfen für dieses Übungsblatt keine Abgaben erstellen.
UnauthorizedCorrectorSubmission: Korrektoren dürfen für dieses Übungsblatt keine Abgaben erstellen. UnauthorizedCorrectorSubmission: Korrektoren dürfen für dieses Übungsblatt keine Abgaben erstellen.
OnlyUploadOneFile: Bitte nur eine Datei hochladen.
UploadAtLeastOneNonemptyFile: Bitte mindestens eine nichtleere Datei hochladen.
DeprecatedRoute: Diese Ansicht ist obsolet und könnte in Zukunft entfallen. DeprecatedRoute: Diese Ansicht ist obsolet und könnte in Zukunft entfallen.
UnfreeMaterials: Die Materialien für diese Veranstaltung sind nicht allgemein freigegeben. UnfreeMaterials: Die Materialien für diese Veranstaltung sind nicht allgemein freigegeben.
MaterialFree: Kursmaterialien ohne Anmeldung zugänglich MaterialFree: Kursmaterialien ohne Anmeldung zugänglich
@ -324,7 +265,6 @@ CorByProportionOnly proportion@Rational: #{rationalToFixed3 proportion} Anteile
CorByProportionIncludingTutorial proportion@Rational: #{rationalToFixed3 proportion} Anteile - Tutorium CorByProportionIncludingTutorial proportion@Rational: #{rationalToFixed3 proportion} Anteile - Tutorium
CorByProportionExcludingTutorial proportion@Rational: #{rationalToFixed3 proportion} Anteile + Tutorium CorByProportionExcludingTutorial proportion@Rational: #{rationalToFixed3 proportion} Anteile + Tutorium
RowCount count@Int64: #{count} #{pluralDE count "passender Eintrag" "passende Einträge"} insgesamt
DeleteRow: Entfernen DeleteRow: Entfernen
Users: Benutzer Users: Benutzer
@ -366,13 +306,10 @@ Never: Nie
PreviouslyUploadedInfo: Bereits hochgeladene Dateien PreviouslyUploadedInfo: Bereits hochgeladene Dateien
PreviouslyUploadedDeletionInfo: Nur ausgewählte und unten hinzugefügte Dateien werden erneut hochgeladen PreviouslyUploadedDeletionInfo: Nur ausgewählte und unten hinzugefügte Dateien werden erneut hochgeladen
MultiFileUploadInfo: Mehrere Dateien mit Shift oder Strg auswählen
AddMoreFiles: Weitere Dateien hinzufügen: AddMoreFiles: Weitere Dateien hinzufügen:
NrColumn: Nr NrColumn: Nr
SelectColumn: Auswahl SelectColumn: Auswahl
DBTablePagesize: Einträge pro Seite
DBTablePagesizeAll: Alle
CorrDownload: Herunterladen CorrDownload: Herunterladen
SubmissionDownloadAnonymous: Anonymisiert SubmissionDownloadAnonymous: Anonymisiert
@ -383,8 +320,6 @@ CorrUpload: Korrekturen hochladen
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!
JSONFieldDecodeFailure aesonFailure@String: Konnte JSON nicht parsen: #{aesonFailure}
YAMLFieldDecodeFailure yamlFailure@String: Konnte YAML nicht parsen: #{yamlFailure}
SecretJSONFieldDecryptFailure: Konnte versteckte vertrauliche Daten nicht entschlüsseln SecretJSONFieldDecryptFailure: Konnte versteckte vertrauliche Daten nicht entschlüsseln
SubmissionCorrected: Korrigiert SubmissionCorrected: Korrigiert
@ -414,9 +349,6 @@ AchievedNormalPoints: Erreichte Punkte
PassedResult: Ergebnis PassedResult: Ergebnis
Passed: Bestanden Passed: Bestanden
NotPassed: Nicht bestanden NotPassed: Nicht bestanden
PointsNotPositive: Punktzahl darf nicht negativ sein
PointsTooHigh maxPoints@Points: Punktzahl darf nicht höher als #{maxPoints} 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
VisibleFrom: Veröffentlicht VisibleFrom: Veröffentlicht
@ -456,7 +388,6 @@ SubmissionSinkExceptionInvalidFileTitleExtension file@FilePath: Dateiname „#{f
MultiSinkException name@Text error@Text: In Abgabe „#{name}“ ist ein Fehler aufgetreten: #{error} MultiSinkException name@Text error@Text: In Abgabe „#{name}“ ist ein Fehler aufgetreten: #{error}
NoTableContent: Kein Tabelleninhalt
NoUpcomingSheetDeadlines: Keine anstehenden Übungsblätter NoUpcomingSheetDeadlines: Keine anstehenden Übungsblätter
NoUpcomingExams difftime@Text: In den nächsten #{difftime} gibt es keine Prüfungen oder ablaufende Prüfungsanmeldungen in Ihren Kursen NoUpcomingExams difftime@Text: In den nächsten #{difftime} gibt es keine Prüfungen oder ablaufende Prüfungsanmeldungen in Ihren Kursen
@ -478,8 +409,6 @@ AssimilateUserHaveError: Beim Assimilieren ist ein Fehler aufgetreten
AssimilateUserHaveWarnings: Beim Assimilieren wurden Warnungen ausgegeben AssimilateUserHaveWarnings: Beim Assimilieren wurden Warnungen ausgegeben
AssimilateUserSuccess: Benutzer erfolgreich assimiliert AssimilateUserSuccess: Benutzer erfolgreich assimiliert
LecturersForN n@Int: #{pluralDE n "Dozent" "Dozenten"}
Date: Datum Date: Datum
FormFieldRequiredTip: Gekennzeichnete Pflichtfelder sind immer auszufüllen FormFieldRequiredTip: Gekennzeichnete Pflichtfelder sind immer auszufüllen
@ -490,10 +419,6 @@ AllocNotifyNewCourseDefault: Systemweite Einstellung
AllocNotifyNewCourseForceOff: Nein AllocNotifyNewCourseForceOff: Nein
AllocNotifyNewCourseForceOn: Ja AllocNotifyNewCourseForceOn: Ja
InvalidDateTimeFormat: Ungültiges Datums- und Zeitformat, JJJJ-MM-TTTHH:MM[:SS] Format erwartet
AmbiguousUTCTime: Der angegebene Zeitpunkt lässt sich nicht eindeutig zu UTC konvertieren
IllDefinedUTCTime: Der angegebene Zeitpunkt lässt sich nicht zu UTC konvertieren
LastEdits: Letzte Änderungen LastEdits: Letzte Änderungen
UtilEditedBy name@Text time@Text: #{time} durch #{name} UtilEditedBy name@Text time@Text: #{time} durch #{name}
LastEditByUser: Ihre letzte Bearbeitung LastEditByUser: Ihre letzte Bearbeitung
@ -528,54 +453,24 @@ DayIsAHoliday tid@TermId name@Text date@Text: "#{name}" (#{date}) ist ein Fe
DayIsOutOfLecture tid@TermId name@Text date@Text: "#{name}" (#{date}) ist außerhalb der Vorlesungszeit des #{tid} DayIsOutOfLecture tid@TermId name@Text date@Text: "#{name}" (#{date}) ist außerhalb der Vorlesungszeit des #{tid}
DayIsOutOfTerm tid@TermId name@Text date@Text: "#{name}" (#{date}) liegt nicht im Semester #{tid} DayIsOutOfTerm tid@TermId name@Text date@Text: "#{name}" (#{date}) liegt nicht im Semester #{tid}
UploadModeNone: Kein Upload
UploadModeAny: Upload, beliebige Datei(en)
UploadModeSpecific: Upload, vorgegebene Dateinamen
UploadModeUnpackZips: Abgabe mehrerer Dateien
UploadModeUnpackZipsTip: Wenn die Abgabe mehrerer Dateien erlaubt ist, werden auch unterstützte Archiv-Formate zugelassen. Diese werden dann beim Hochladen automatisch entpackt.
AutoUnzip: ZIPs automatisch entpacken AutoUnzip: ZIPs automatisch entpacken
AutoUnzipInfo: Entpackt hochgeladene ZIP-Dateien (*.zip) automatisch und fügt den Inhalt dem Stamm-Verzeichnis hinzu. AutoUnzipInfo: Entpackt hochgeladene ZIP-Dateien (*.zip) automatisch und fügt den Inhalt dem Stamm-Verzeichnis hinzu.
UploadModeExtensionRestriction: Zulässige Dateiendungen UploadModeExtensionRestriction: Zulässige Dateiendungen
UploadModeExtensionRestrictionTip: Komma-separiert. Wenn keine Dateiendungen angegeben werden erfolgt keine Einschränkung. Bei Upload mehrerer Dateien erfolgt die Einschränkung von Dateiendungen für alle hochegladenen Dateien, auch innerhalb von ZIP-Archiven. UploadModeExtensionRestrictionTip: Komma-separiert. Wenn keine Dateiendungen angegeben werden erfolgt keine Einschränkung. Bei Upload mehrerer Dateien erfolgt die Einschränkung von Dateiendungen für alle hochegladenen Dateien, auch innerhalb von ZIP-Archiven.
UploadModeExtensionRestrictionEmpty: Liste von zulässigen Dateiendungen darf nicht leer sein
UploadModeExtensionRestrictionMultipleTip: Einschränkung von Dateiendungen erfolgt für alle hochgeladenen Dateien, auch innerhalb von ZIP-Archiven. UploadModeExtensionRestrictionMultipleTip: Einschränkung von Dateiendungen erfolgt für alle hochgeladenen Dateien, auch innerhalb von ZIP-Archiven.
UploadAnyEmptyOk: Leere Uploads erlauben?
UploadAnyEmptyOkTip: Sollen, statt einen Fehler auszugeben, Uploads, die nur aus leeren Dateien und/oder Verzeichnissen bestehen, erlaubt werden?
GenericFileFieldFileTooLarge file@FilePath: „#{file}“ ist zu groß
GenericFileFieldInvalidExtension file@FilePath: „#{file}” hat keine zulässige Dateiendung
FileUploadOnlySessionTip: Sie haben diese Datei in der aktuellen Session bereits hochgeladen, sie ist allerdings womöglich noch nicht gespeichert, z.B. wenn beim Auswerten des Formulars ein Fehler auftrat. Stellen Sie sicher, dass alle Dateien, die Sie hochladen wollten auch ordnungsgemäß im System hinterlegt sind!
FileUploadMaxSize maxSize@Text: Datei darf maximal #{maxSize} groß sein FileUploadMaxSize maxSize@Text: Datei darf maximal #{maxSize} groß sein
FileUploadMaxSizeMultiple maxSize@Text: Dateien dürfen jeweils maximal #{maxSize} groß sein FileUploadMaxSizeMultiple maxSize@Text: Dateien dürfen jeweils maximal #{maxSize} groß sein
UploadSpecificFiles: Vorgegebene Dateinamen
NoUploadSpecificFilesConfigured: Wenn der Abgabemodus vorgegebene Dateinamen vorsieht, muss mindestens ein vorgegebener Dateiname konfiguriert werden.
UploadSpecificFilesDuplicateNames: Vorgegebene Dateinamen müssen eindeutig sein
UploadSpecificFilesDuplicateLabels: Bezeichner für vorgegebene Dateinamen müssen eindeutig sein
UploadSpecificFileLabel: Bezeichnung
UploadSpecificFileName: Dateiname
UploadSpecificFileRequired: Zur Abgabe erforderlich
UploadSpecificFileMaxSize: Maximale Dateigröße (Bytes)
UploadSpecificFileMaxSizeNegative: Maximale Dateigröße darf nicht negativ sein
UploadSpecificFileEmptyOk: Leere Uploads erlauben
NoSubmissions: Keine Abgabe NoSubmissions: Keine Abgabe
CorrectorSubmissions: Abgabe extern mit Pseudonym CorrectorSubmissions: Abgabe extern mit Pseudonym
UserSubmissions: Direkte Abgabe in Uni2work UserSubmissions: Direkte Abgabe in Uni2work
BothSubmissions: Abgabe direkt in Uni2work & extern mit Pseudonym
BothSubmissionsTip: Abgabe kann, nach Wahl des Teilnehmers, entweder direkt in Uni2work oder extern mit Pseudonym erfolgen
ColumnStudyFeatures: Studiendaten
FieldPrimary: Hauptfach FieldPrimary: Hauptfach
FieldSecondary: Nebenfach FieldSecondary: Nebenfach
ShortFieldPrimary: HF ShortFieldPrimary: HF
ShortFieldSecondary: NF ShortFieldSecondary: NF
NoStudyField: Kein Studienfach
DegreeKey: Abschlussschlüssel DegreeKey: Abschlussschlüssel
@ -676,7 +571,6 @@ MailEditNotifications: Benachrichtigungen ein-/ausschalten
MailSubjectSupport: Supportanfrage MailSubjectSupport: Supportanfrage
MailSubjectSupportCustom customSubject@Text: [Support] #{customSubject} MailSubjectSupportCustom customSubject@Text: [Support] #{customSubject}
CommCourseTestSubject customSubject@Text: [TEST] #{customSubject}
CommCourseSubject: Kursmitteilung CommCourseSubject: Kursmitteilung
MailSubjectLecturerInvitation tid@TermId ssh@SchoolId csh@CourseShorthand: [#{tid}-#{ssh}-#{csh}] Einladung zum Kursverwalter MailSubjectLecturerInvitation tid@TermId ssh@SchoolId csh@CourseShorthand: [#{tid}-#{ssh}-#{csh}] Einladung zum Kursverwalter
InvitationAcceptDecline: Einladung annehmen/ablehnen InvitationAcceptDecline: Einladung annehmen/ablehnen
@ -686,11 +580,9 @@ InvitationUniWorXTip: Uni2work ist ein webbasiertes Lehrverwaltungssystem der LM
MailSubjectPasswordReset: Uni2work-Passwort ändern bzw. setzen MailSubjectPasswordReset: Uni2work-Passwort ändern bzw. setzen
SheetGrading: Bewertung
SheetGradingPoints maxPoints@Points: #{maxPoints} #{pluralDE maxPoints "Punkt" "Punkte"} SheetGradingPoints maxPoints@Points: #{maxPoints} #{pluralDE maxPoints "Punkt" "Punkte"}
SheetGradingPassPoints maxPoints@Points passingPoints@Points: Bestanden ab #{passingPoints} von #{maxPoints} #{pluralDE maxPoints "Punkt" "Punkten"} SheetGradingPassPoints maxPoints@Points passingPoints@Points: Bestanden ab #{passingPoints} von #{maxPoints} #{pluralDE maxPoints "Punkt" "Punkten"}
SheetGradingPassBinary: Bestanden/Nicht Bestanden SheetGradingPassBinary: Bestanden/Nicht Bestanden
SheetGradingInfo: "Bestanden nach Punkten" zählt sowohl zur maximal erreichbaren Gesamtpunktzahl also auch zur Anzahl der zu bestehenden Blätter.
SheetGradingPassAlways: Automatisch bestanden, sobald korrigiert SheetGradingPassAlways: Automatisch bestanden, sobald korrigiert
SheetGradingCount': Anzahl SheetGradingCount': Anzahl
@ -702,36 +594,20 @@ SheetGradingPassAlways': Automatisch bestanden, sobald korrigiert
SheetTypeBonus: Bonus SheetTypeBonus: Bonus
SheetTypeNormal: Normal SheetTypeNormal: Normal
SheetTypeInformational: Ohne Anrechnung
SheetTypeExamPartPoints: Als Prüfungsaufgabe
SheetTypeNotGraded: Keine Korrektur SheetTypeNotGraded: Keine Korrektur
SheetTypeInfoNormalLecturer: Normale Blätter werden zur Berechnung eines etwaigen Prüfungsbonus herangezogen. Der Bonus kann sowohl anhand der zu bestehenden Blätter als auch der erreichbaren Maximalpunktzahl automatisch oder manuell berechnet werden.
SheetTypeInfoNotGraded: Keine Korrektur bedeutet, dass es gar kein Feedback gibt.
SheetTypeInfoBonus: Bonus Blätter zählen normal, erhöhen aber nicht die maximal erreichbare Punktzahl bzw. Anzahl zu bestehender Blätter.
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
SheetTypeExamPartPointsWeightNegative: Gewichtung darf nicht negativ sein
SheetTypeExamPartPointsWeight: Gewichtung
SheetTypeExamPartPointsExamPartOption examn@ExamName examPartNumber@ExamPartNumber: #{examn} - Teil #{view _ExamPartNumber examPartNumber}
SheetTypeInfoExamPartPoints: Bei diesem Übungsblatt erreichte Punkte werden direkt auf die Punktezahl eines Prüfungsteils angerechnet. Wenn die Anzahl von über Übungsblättern erreichbaren Punkten nicht der Maximalpunktzahl des Prüfungsteils entspricht, werden die Übungsblattpunkte anhand der angegebenen Gewichtung skaliert.
SheetTypeExamPartPointsExamPart: Prüfungsteil
SheetTypeBonus': Bonus SheetTypeBonus': Bonus
SheetTypeNormal': Normal SheetTypeNormal': Normal
SheetTypeInformational': Ohne Anrechung SheetTypeInformational': Ohne Anrechung
SheetTypeNotGraded': Keine Korrektur SheetTypeNotGraded': Keine Korrektur
SheetGradingMaxPoints: Maximalpunktzahl
SheetGradingPassingPoints: Notwendig zum Bestehen
SheetGroupArbitrary: Arbiträre Gruppen SheetGroupArbitrary: Arbiträre Gruppen
SheetGroupRegisteredGroups: Registrierte Gruppen SheetGroupRegisteredGroups: Registrierte Gruppen
SheetGroupNoGroups: Keine Gruppenabgabe SheetGroupNoGroups: Keine Gruppenabgabe
SheetGroupMaxGroupsize: Maximale Gruppengröße
CorrCreate: Abgaben registrieren CorrCreate: Abgaben registrieren
UnknownPseudonymWord pseudonymWord@Text: Unbekanntes Pseudonym-Wort "#{pseudonymWord}"
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:
@ -797,8 +673,6 @@ MessageWarning: Warnung
MessageInfo: Information MessageInfo: Information
MessageSuccess: Erfolg MessageSuccess: Erfolg
InvalidLangFormat: Ungültiger Sprach-Code (RFC1766)
ErrorResponseTitleNotFound: Ressource nicht gefunden ErrorResponseTitleNotFound: Ressource nicht gefunden
ErrorResponseTitleInternalError internalError@Text: Ein interner Fehler ist aufgetreten ErrorResponseTitleInternalError internalError@Text: Ein interner Fehler ist aufgetreten
ErrorResponseTitleInvalidArgs invalidArgs@Texts: Anfrage-Nachricht enthielt ungültige Argumente ErrorResponseTitleInvalidArgs invalidArgs@Texts: Anfrage-Nachricht enthielt ungültige Argumente
@ -820,55 +694,20 @@ EncodedSecretBoxCouldNotOpenSecretBox: Konnte libsodium-secretbox nicht öffnen
EncodedSecretBoxCouldNotDecodePlaintext aesonErr@String: Konnte Klartext nicht JSON-dekodieren: #{aesonErr} EncodedSecretBoxCouldNotDecodePlaintext aesonErr@String: Konnte Klartext nicht JSON-dekodieren: #{aesonErr}
ErrMsgHeading: Fehlermeldung entschlüsseln ErrMsgHeading: Fehlermeldung entschlüsseln
InvalidRoute: Konnte URL nicht interpretieren
TitleMetrics: Metriken TitleMetrics: Metriken
DeleteCopyStringIfSure n@Int: Wenn Sie sich sicher sind, dass Sie #{pluralDE n "das obige Objekt" "obige Objekte"} unwiderbringlich löschen möchten, schreiben Sie bitte zunächst den angezeigten Text ab.
DeletePressButtonIfSure n@Int: Wenn Sie sich sicher sind, dass Sie #{pluralDE n "das obige Objekt" "obige Objekte"} unwiderbringlich löschen möchten, bestätigen Sie dies bitte durch Drücken des untigen Knopfes.
DeleteConfirmation: Bestätigung
DeleteConfirmationWrong: Bestätigung muss genau dem angezeigten Text entsprechen.
DBTIRowsMissing n@Int: #{pluralDE n "Eine Zeile ist" "Einige Zeilen sind"} aus der Datenbank verschwunden, seit das Formular für Sie generiert wurde DBTIRowsMissing n@Int: #{pluralDE n "Eine Zeile ist" "Einige Zeilen sind"} aus der Datenbank verschwunden, seit das Formular für Sie generiert wurde
NavigationFavourites: Favoriten NavigationFavourites: Favoriten
CommSubject: Betreff
CommBody: Nachricht CommBody: Nachricht
CommRecipients: Empfänger
CommRecipientsTip: Sie selbst erhalten immer eine Kopie der Nachricht
CommRecipientsList: Die an Sie selbst verschickte Kopie der Nachricht wird, zu Archivierungszwecken, eine vollständige Liste aller Empfänger enthalten. Die Empfängerliste wird im CSV-Format an die E-Mail angehängt. Andere Empfänger erhalten die Liste nicht. Bitte entfernen Sie dementsprechend den Anhang bevor Sie die E-Mail weiterleiten oder anderweitig mit Dritten teilen.
CommDuplicateRecipients n@Int: #{n} #{pluralDE n "doppelter" "doppelte"} Empfänger ignoriert CommDuplicateRecipients n@Int: #{n} #{pluralDE n "doppelter" "doppelte"} Empfänger ignoriert
CommSuccess n@Int: Nachricht wurde an #{n} Empfänger versandt
CommTestSuccess: Nachricht wurde zu Testzwecken nur an Sie selbst versandt
CommUndisclosedRecipients: Verborgene Empfänger CommUndisclosedRecipients: Verborgene Empfänger
CommAllRecipients: alle-empfaenger CommAllRecipients: alle-empfaenger
RecipientCustom: Weitere Empfänger
RecipientToggleAll: Alle/Keine
DBCsvImportActionToggleAll: Alle/Keine
RGCourseParticipants: Kursteilnehmer
RGCourseLecturers: Kursverwalter
RGCourseCorrectors: Korrektoren
RGCourseTutors: Tutoren
RGTutorialParticipants tutn@TutorialName: Tutorium-Teilnehmer (#{tutn})
RGCourseUnacceptedApplicants: Nicht akzeptierte Bewerber
RGExamRegistered examn@ExamName: Angemeldet zur Prüfung „#{examn}“
RGSheetSubmittor shn@SheetName: Abgebende für das Übungsblatt „#{shn}“
MultiSelectFieldTip: Mehrfach-Auswahl ist möglich (Umschalt bzw. Strg) 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
MultiUserFieldExplanationAnyUser: Dieses Eingabefeld sucht in den Adressen aller Uni2work-Benutzer.
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.
LecturerInvitationAccepted lType@Text csh@CourseShorthand: Sie wurden als #{lType} für #{csh} eingetragen LecturerInvitationAccepted lType@Text csh@CourseShorthand: Sie wurden als #{lType} für #{csh} eingetragen
LecturerInvitationDeclined csh@CourseShorthand: Sie haben die Einladung, Kursverwalter für #{csh} zu werden, abgelehnt LecturerInvitationDeclined csh@CourseShorthand: Sie haben die Einladung, Kursverwalter für #{csh} zu werden, abgelehnt
@ -907,42 +746,9 @@ CourseParticipantsRegisteredWithoutField n@Int: #{n} Teilnehmer #{pluralDE n "wu
ExamRegistrationRegisteredWithoutField n@Int: #{n} Teilnehmer #{pluralDE n "wurde" "wurden"} sowohl zur Prüfung, als auch #{pluralDE n "ohne assoziiertes Studienfach" "ohne assoziierte Studienfächer"} zum Kurs angemeldet, da #{pluralDE n "kein eindeutiges Hauptfach bestimmt werden konnte" "keine eindeutigen Hauptfächer bestimmt werden konnten"} ExamRegistrationRegisteredWithoutField n@Int: #{n} Teilnehmer #{pluralDE n "wurde" "wurden"} sowohl zur Prüfung, als auch #{pluralDE n "ohne assoziiertes Studienfach" "ohne assoziierte Studienfächer"} zum Kurs angemeldet, da #{pluralDE n "kein eindeutiges Hauptfach bestimmt werden konnte" "keine eindeutigen Hauptfächer bestimmt werden konnten"}
ExamRegistrationParticipantsRegistered n@Int: #{n} Teilnehmer #{pluralDE n "wurde" "wurden"} zur Prüfung angemeldet ExamRegistrationParticipantsRegistered n@Int: #{n} Teilnehmer #{pluralDE n "wurde" "wurden"} zur Prüfung angemeldet
ExamFinishedOffice: Noten bekannt gegeben
UtilExamClosed: Noten gemeldet
UtilExamGradingRule: Notenberechnung
ExamGradingKey': Nach Schlüssel
ExamGradingKey: Notenschlüssel
ExamGradingKeyTip: Die Grenzen beziehen sich auf die effektive Maximalpunktzahl, nachdem etwaige Bonuspunkte aus dem Übungsbetrieb angerechnet und die Ergebnise der Teilprüfungen mit ihrem Gewicht multipliziert wurden
Points: Punkte
PointsMustBeNonNegative: Punktegrenzen dürfen nicht negativ sein
PointsMustBeMonotonic: Punktegrenzen müssen aufsteigend sein
UtilExamBonusRule: Prüfungsbonus aus Übungsbetrieb
ExamBonusPoints': Umrechnung von Übungspunkten
ExamBonusManual': Manuelle Berechnung
ExamBonusMaxPoints: Maximal erreichbare Prüfungs-Bonuspunkte
ExamBonusMaxPointsTip: Bonuspunkte werden, anhand der erreichten Übungspunkte bzw. der Anzahl von bestandenen Übungsblättern, linear zwischen null und der angegebenen Schranke interpoliert.
ExamBonusMaxPointsNonPositive: Maximaler Prüfungsbonus muss positiv und größer null sein
ExamBonusOnlyPassed: Bonus nur nach Bestehen anrechnen
ExamBonusRound: Bonus runden auf
ExamBonusRoundNonPositive: Vielfaches, auf das gerundet werden soll, muss positiv und größer null sein
ExamBonusRoundTip: Bonuspunkte werden kaufmännisch auf ein Vielfaches der angegeben Zahl gerundet.
ExamAutomaticOccurrenceAssignment: Termin- bzw. Raumzuteilung
ExamAutomaticOccurrenceAssignmentTip: Sollen Prüfungsteilnehmer automatisch auf die zur Verfügung stehenden Räume bzw. Termine verteilt werden, sich selbstständig einen Raum bzw. Termin aussuchen dürfen oder manuell durch Kursverwalter zugeteilt werden? Die automatische Verteilung muss von einem Kursverwalter ausgelöst werden und geschieht nicht mit Ablauf einer Frist o.Ä.. Manuelle Umverteilung bzw. vorheriges Festlegen von Zuteilungen einzelner Teilnehmer ist somit immer möglich.
NewsExamOccurrenceRoomIsUnset: — NewsExamOccurrenceRoomIsUnset: —
NewsExamOccurrenceRoomIsHidden: Raum wird nur Teilnehmern angezeigt NewsExamOccurrenceRoomIsHidden: Raum wird nur Teilnehmern angezeigt
ExamOccurrenceStart: Prüfungsbeginn
ExamModeFormNone: Keine Angabe
ExamModeFormCustom: Benutzerdefiniert
ExamModeFormAids: Erlaubte Hilfsmittel
ExamModeFormOnline: Online/Offline
ExamModeFormSynchronicity: Synchron/Asynchron
ExamModeFormRequiredEquipment: Erforderliche Hilfsmittel
ExamModeFormRequiredEquipmentIdentificationTip: Es wird stets ein Hinweis angezeigt, dass Teilnehmer sich ausweisen können müssen.
ExamOpenBook: Open Book ExamOpenBook: Open Book
ExamClosedBook: Closed Book ExamClosedBook: Closed Book
@ -986,31 +792,16 @@ ExternalExamUserDelete: Prüfungsteilnehmer entfernen
ExternalExamUserMarkedSynchronised n@Int: #{n} #{pluralDE n "Prüfungsleistung" "Prüfungsleistungen"} als synchronisiert markiert ExternalExamUserMarkedSynchronised n@Int: #{n} #{pluralDE n "Prüfungsleistung" "Prüfungsleistungen"} als synchronisiert markiert
CsvFile: CSV-Datei
CsvImport: CSV-Import
CsvExport: CSV-Export CsvExport: CSV-Export
CsvModifyExisting: Existierende Einträge angleichen CsvModifyExisting: Existierende Einträge angleichen
CsvAddNew: Neue Einträge einfügen CsvAddNew: Neue Einträge einfügen
CsvDeleteMissing: Fehlende Einträge entfernen CsvDeleteMissing: Fehlende Einträge entfernen
CsvImportNotConfigured: CSV-Import nicht vorgesehen
CsvImportConfirmationHeading: CSV-Import Vorschau (noch keine Änderungen importiert)
CsvImportConfirmationTip: Es wurden noch keine Änderungen übernommen! Durch den CSV-Import könnten die unten aufgeführten Änderungen vorgenommen werden. Wählen Sie jetzt die gewünschten Änderungen aus, bevor Sie den CSV-Import abschließen.
CsvImportUnnecessary: Durch den CSV-Import würden keine Änderungen vorgenommen werden
CsvImportSuccessful n@Int: CSV-Import erfolgreich, es #{pluralDE n "wurde eine Aktion" (mappend (mappend "wurden " (toMessage n)) " Aktionen")} durchgeführt
CsvImportAborted: CSV-Import abgebrochen
CsvImportExplanationLabel: Hinweise zum CSV-Import
CsvExampleData: Beispiel-Datei
CsvExportExample: Beispiel-CSV exportieren
TableProportion c@Text of'@Text prop@Rational: #{c}/#{of'} (#{rationalToFixed2 (100 * prop)}%) TableProportion c@Text of'@Text prop@Rational: #{c}/#{of'} (#{rationalToFixed2 (100 * prop)}%)
TableProportionNoRatio c@Text of'@Text: #{c}/#{of'} TableProportionNoRatio c@Text of'@Text: #{c}/#{of'}
ParticipantsCsvName tid@TermId ssh@SchoolId: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-kursteilnehmer ParticipantsCsvName tid@TermId ssh@SchoolId: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-kursteilnehmer
CsvColumnsExplanationsLabel: Spalten- & Zellenformat
CsvColumnsExplanationsTip: Bedeutung und Format der in der CSV-Datei enthaltenen Spalten
CsvColumnUserField: Studienfach, mit dem der Teilnehmer seine Kursanmeldung assoziiert hat CsvColumnUserField: Studienfach, mit dem der Teilnehmer seine Kursanmeldung assoziiert hat
CsvColumnUserDegree: Abschluss, den der Teilnehmer im assoziierten Studienfach anstrebt CsvColumnUserDegree: Abschluss, den der Teilnehmer im assoziierten Studienfach anstrebt
CsvColumnUserSemester: Fachsemester des Teilnehmers im assoziierten Studienfach CsvColumnUserSemester: Fachsemester des Teilnehmers im assoziierten Studienfach
@ -1018,13 +809,6 @@ CsvColumnUserSemester: Fachsemester des Teilnehmers im assoziierten Studienfach
Action: Aktion Action: Aktion
ActionNoUsersSelected: Keine Benutzer ausgewählt ActionNoUsersSelected: Keine Benutzer ausgewählt
DBCsvDuplicateKey: Zwei Zeilen der CSV-Dateien referenzieren den selben internen Datensatz und können daher nicht verarbeitet werden.
DBCsvDuplicateKeyTip: Entfernen Sie eine der unten aufgeführten Zeilen aus Ihren CSV-Dateien und versuchen Sie es erneut.
DBCsvKeyException: Für eine Zeile der CSV-Dateien konnte nicht festgestellt werden, ob sie zu einem bestehenden internen Datensatz korrespondieren.
DBCsvException: Bei der Berechnung der auszuführenden Aktionen für einen Datensatz ist ein Fehler aufgetreten.
DBCsvParseError: Eine hochgeladene Datei konnte nicht korrekt als CSV-Datei im erwarteten Format interpretiert werden.
DBCsvParseErrorTip: Die Uni2work-Komponente, die für das Interpretieren von CSV-Dateien zuständig ist, hat folgende Fehlermeldung produziert:
ExamUserCsvCourseRegister: Benutzer zum Kurs und zur Prüfung anmelden ExamUserCsvCourseRegister: Benutzer zum Kurs und zur Prüfung anmelden
ExamUserCsvRegister: Kursteilnehmer zur Prüfung anmelden ExamUserCsvRegister: Kursteilnehmer zur Prüfung anmelden
ExamUserCsvAssignOccurrence: Teilnehmern einen anderen Termin/Raum zuweisen ExamUserCsvAssignOccurrence: Teilnehmern einen anderen Termin/Raum zuweisen
@ -1050,11 +834,6 @@ ExternalExamUserCsvDeregister: Hinterlegte Prüfungsleistung löschen
TableHeadingCsvImport: CSV-Import TableHeadingCsvImport: CSV-Import
TableHeadingCsvExport: CSV-Export TableHeadingCsvExport: CSV-Export
UtilExamResultGrade: Note
UtilExamResultPass: Bestanden/Nicht Bestanden
UtilExamResultNoShow: Nicht erschienen
UtilExamResultVoided: Entwertet
AuthLDAPLookupFailed: Nutzer konnte aufgrund eines LDAP-Fehlers nicht nachgeschlagen werden AuthLDAPLookupFailed: Nutzer konnte aufgrund eines LDAP-Fehlers nicht nachgeschlagen werden
AuthLDAPInvalidLookup: Bestehender Nutzer konnte nicht eindeutig einem LDAP-Eintrag zugeordnet werden AuthLDAPInvalidLookup: Bestehender Nutzer konnte nicht eindeutig einem LDAP-Eintrag zugeordnet werden
AuthLDAPAlreadyConfigured: Nutzer meldet sich bereits per Campus-Kennung in Uni2work an AuthLDAPAlreadyConfigured: Nutzer meldet sich bereits per Campus-Kennung in Uni2work an
@ -1089,16 +868,8 @@ MailSchoolFunctionInviteHeading school@SchoolName renderedFunction@Text: #{rende
SchoolFunctionInviteExplanation renderedFunction@Text: Sie wurden eingeladen, als #{renderedFunction} für ein Institut zu wirken. Sie erhalten, nachdem Sie die Einladung annehmen, erweiterte Rechte innerhalb des Instituts. SchoolFunctionInviteExplanation renderedFunction@Text: Sie wurden eingeladen, als #{renderedFunction} für ein Institut zu wirken. Sie erhalten, nachdem Sie die Einladung annehmen, erweiterte Rechte innerhalb des Instituts.
SchoolFunctionInvitationAccepted school@SchoolName renderedFunction@Text: #{renderedFunction}-Einladung zum Dozent für „#{school}“ angenommen SchoolFunctionInvitationAccepted school@SchoolName renderedFunction@Text: #{renderedFunction}-Einladung zum Dozent für „#{school}“ angenommen
AllocationActive: Aktiv
AllocationName: Name
AllocationApplication: Bewerbung AllocationApplication: Bewerbung
AllocationProcess: Platzvergabe AllocationProcess: Platzvergabe
Allocation: Zentralanmeldung
CourseApplicationId: Bewerbungsnummer
CourseApplicationRatingPoints: Bewertung
UserMatriculation: Matrikelnummer
SchoolShort: Kürzel SchoolShort: Kürzel
SchoolName: Name SchoolName: Name
@ -1237,8 +1008,6 @@ ShortSexNotApplicable: k.A.
MenuLanguage: Sprache MenuLanguage: Sprache
LanguageChanged: Sprache erfolgreich geändert LanguageChanged: Sprache erfolgreich geändert
GroupSizeNotNatural: „Gruppengröße“ muss eine natürliche Zahl sein
AmbiguousEmail: E-Mail-Adresse nicht eindeutig
RFC1766: RFC1766-Sprachcode RFC1766: RFC1766-Sprachcode
TermShort: Kürzel TermShort: Kürzel
@ -1294,31 +1063,7 @@ InfoLecturerAllocations: Zentralanmeldungen
ParticipantsIntersectCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen} ParticipantsIntersectCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen}
ParticipantsIntersectCourses: Kurse ParticipantsIntersectCourses: Kurse
AllocationUsersApplied: Bewerbungen
AllocationUsersAssigned: Zuweisungen
AllocationUsersVetoed: Vetos
AllocationUsersRequested: Angefragte Plätze
AllocationUsersPriority: Zentrale Dringlichkeit
AllocationPriorityNumericValues: Numerische Werte
AllocationPriorityNumericValuesTip: Komma-separierte ganze Zahlen
AllocationPriorityNumericNoValues: Es wurden keine numerischen Werte angegeben
AllocationPriorityNumericNoParse val@Text: Ganze Zahl konnte nicht geparst werden: „#{val}“
AllocationPriorityOrdinalValueNegative: Sortier-Index darf nicht negativ sein
AllocationPriorityOrdinalValue: Sortier-Index
AllocationPriorityOrdinalValueTip: Null entspricht dem ersten Eintrag der Liste, höhere Indizes entsprechen später in der sortierten Liste vorkommenden Bewerbern und damit einer höheren Dringlichkeit
#hier weiß ich nicht mehr was da als Nachricht stand:
AllocationPriorityNumeric':
AllocationPriorityOrdinal':
AllocationPriorityNumeric:
AllocationPriorityOrdinal:
AllocationPrioritiesNumeric:
AllocationPrioritiesOrdinal:
CourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen}
FaqTitle: Häufig gestellte Fragen FaqTitle: Häufig gestellte Fragen
MultiActionUnknownAction: In einem von einem Eingabefeld abhängigen Formular wurde ein Wert gewählt, für den kein Formular verfügbar ist
CourseParticipantStateIsActiveFilter: Ansicht CourseParticipantStateIsActiveFilter: Ansicht
CourseParticipantActive: Teilnehmer CourseParticipantActive: Teilnehmer
@ -1367,19 +1112,7 @@ ExamCloseModeOnFinished: Mit Veröffentlichung
ExamCloseModeOnFinishedHidden: Mit Veröffentlichung (versteckt) ExamCloseModeOnFinishedHidden: Mit Veröffentlichung (versteckt)
ExamCloseMode: Prüfungs-Abschluss ExamCloseMode: Prüfungs-Abschluss
RoomReferenceSimple: Text
RoomReferenceLink: Link & Anweisungen
RoomReferenceSimpleText: Raum
RoomReferenceSimpleTextPlaceholder: Raum
RoomReferenceLinkLink: Link
RoomReferenceLinkLinkPlaceholder: URL
RoomReferenceLinkInstructions: Anweisungen
RoomReferenceLinkInstructionsPlaceholder: Anweisungen
RoomReferenceNone: —
UrlFieldCouldNotParseAbsolute: Konnte nicht als absolute URL interpretiert werden UrlFieldCouldNotParseAbsolute: Konnte nicht als absolute URL interpretiert werden
WGFTextInput: Textfeld WGFTextInput: Textfeld
WGFFileUpload: Dateifeld WGFFileUpload: Dateifeld
CourseSortingOnlyLoggedIn: Das Benutzerinterface zur Sortierung dieser Tabelle ist nur für eingeloggte Benutzer aktiv

View File

@ -5,58 +5,6 @@ AcceptApplicationsInvite: Send invitations
AcceptApplicationsSecondaryRandom: Randomly AcceptApplicationsSecondaryRandom: Randomly
AcceptApplicationsSecondaryTime: By time of application AcceptApplicationsSecondaryTime: By time of application
#general table-discriptions
TableEmail: Email
TableStudyFeatureType:
TableStudyFeatureValid: Valid
TableStudyFeatureUpdate: Updated
TableStudyFeatureAge: Semester
TableStudyFeatureDegree: Degree
TableStudyTerm: Field of study
TableHeadingFilter: Filter
TableTerm: Semester
TableCourseSchool: Department
TableSubmissionGroup: Registered submission group
TableNoSubmissionGroup: No registered submission group
TableMatrikelNr: Matriculation
TableSex: Sex
TableSchool: Department
TableCourse: Course
TableCourseMembers: Participants
TableExamOccurrence: Occurrence/room
TableExamName: Name
TableExamTime: Time
TableExamRegistration: Exam registration
TableExamResult: Exam result
TableSheet: Sheet
TableLastEdit: Latest edit
TableSubmission: Submission-number
TableRating: Marking
TableFileTitle: Filename
TableFileModified: Last changed
TableCorState: State
TableCorProportion: Proportion
TableCorrector: Corrector
TableDegreeShort: Degree shorthand
TableDegreeName: Degree
TableRatingTime: Marked
TableSheetType: Marking
TableHasCorrector: Corrector assigned
TableAchievedOf achieved possible: #{achieved} of #{possible}
TablePassed: Passed
TableNotPassed: Failed
TableTutorialTutors: Tutors
TableTutorialName: Name
TableTutorialType: Type
TableTutorialRoom: Regular room
TableTutorialRoomHidden: Room only for participants
TableTutorialRoomIsUnset: —
TableTutorialRoomIsHidden: Room is only displayed to participants
TableTutorialDeregisterUntil: Deregister until
TableActionsHead: Actions
TableTutorialTime: Time
TableNoFilter: No restriction
#headings #headings
HeadingLegal: Legal HeadingLegal: Legal
SubmissionNew: Create submission SubmissionNew: Create submission
@ -95,7 +43,6 @@ SummerTerm year: Summer semester #{year}
WinterTerm year: Winter semester #{year}/#{succ year} WinterTerm year: Winter semester #{year}/#{succ year}
SummerTermShort year: Summer #{year} SummerTermShort year: Summer #{year}
WinterTermShort year: Winter #{year}/#{mod (succ year) 100} WinterTermShort year: Winter #{year}/#{mod (succ year) 100}
PSLimitNonPositive: “pagesize” must be greater than zero
Page num: #{num} Page num: #{num}
TermsHeading: Semesters TermsHeading: Semesters
@ -143,8 +90,6 @@ CourseNewHeading: Create new course
CourseEditHeading tid ssh csh: Edit course #{tid}-#{ssh}-#{csh} CourseEditHeading tid ssh csh: Edit course #{tid}-#{ssh}-#{csh}
BoolIrrelevant: — BoolIrrelevant: —
CourseDeleteQuestion: Are you sure you want to delete the below-mentioned course?
CourseDeleted: Course deleted
CourseUserRegister: Enrol for course CourseUserRegister: Enrol for course
CourseUserDeregister: Deregister from course CourseUserDeregister: Deregister from course
@ -155,8 +100,6 @@ SheetNewHeading tid ssh csh : #{tid}-#{ssh}-#{csh} New Exercise Sheet
SheetTitleHead tid ssh csh sheetName: #{tid}-#{ssh}-#{csh} #{sheetName} SheetTitleHead tid ssh csh sheetName: #{tid}-#{ssh}-#{csh} #{sheetName}
SheetEditHead tid ssh csh sheetName: #{tid}-#{ssh}-#{csh} Edit #{sheetName} SheetEditHead tid ssh csh sheetName: #{tid}-#{ssh}-#{csh} Edit #{sheetName}
SheetDelHead tid ssh csh sheetName: Do you really want to delete sheet #{sheetName} from course #{tid}-#{ssh}-#{csh}? Any associated submissions and corrections will be lost! SheetDelHead tid ssh csh sheetName: Do you really want to delete sheet #{sheetName} from course #{tid}-#{ssh}-#{csh}? Any associated submissions and corrections will be lost!
SheetUploadMode: Submission of files
UtilSheetSubmissionMode: Submission mode
UtilSheetType: Marking UtilSheetType: Marking
SheetArchiveFileTypeDirectoryExercise: exercise SheetArchiveFileTypeDirectoryExercise: exercise
@ -271,8 +214,6 @@ UnauthorizedSubmissionRated: This submission is not yet marked.
UnauthorizedSubmissionCorrector: You are no corrector for this submission. UnauthorizedSubmissionCorrector: You are no corrector for this submission.
UnauthorizedUserSubmission: Users may not directly submit for this exercise sheet. UnauthorizedUserSubmission: Users may not directly submit for this exercise sheet.
UnauthorizedCorrectorSubmission: Correctors may not create submissions for this exercise sheet. UnauthorizedCorrectorSubmission: Correctors may not create submissions for this exercise sheet.
OnlyUploadOneFile: Please only upload one file
UploadAtLeastOneNonemptyFile: Please upload at least one nonempty file.
DeprecatedRoute: This view is deprecated and will be removed. DeprecatedRoute: This view is deprecated and will be removed.
UnfreeMaterials: Course material are not publicly accessable. UnfreeMaterials: Course material are not publicly accessable.
MaterialFree: Course material is publicly available. MaterialFree: Course material is publicly available.
@ -325,7 +266,6 @@ CorByProportionOnly proportion: #{rationalToFixed3 proportion} parts
CorByProportionIncludingTutorial proportion: #{rationalToFixed3 proportion} parts - tutorials CorByProportionIncludingTutorial proportion: #{rationalToFixed3 proportion} parts - tutorials
CorByProportionExcludingTutorial proportion: #{rationalToFixed3 proportion} parts + tutorials CorByProportionExcludingTutorial proportion: #{rationalToFixed3 proportion} parts + tutorials
RowCount count: #{count} matching #{pluralEN count "entry" "entries"}
DeleteRow: Delete DeleteRow: Delete
Users: Users Users: Users
@ -367,13 +307,10 @@ Never: Never
PreviouslyUploadedInfo: Previously uploaded files PreviouslyUploadedInfo: Previously uploaded files
PreviouslyUploadedDeletionInfo: Only checked files and files added below will be uploaded again PreviouslyUploadedDeletionInfo: Only checked files and files added below will be uploaded again
MultiFileUploadInfo: Choose multiple files using Shift or Ctrl
AddMoreFiles: Additional files: AddMoreFiles: Additional files:
NrColumn: # NrColumn: #
SelectColumn: Selection SelectColumn: Selection
DBTablePagesize: Entries per page
DBTablePagesizeAll: All
CorrDownload: Download CorrDownload: Download
SubmissionDownloadAnonymous: Anonymized SubmissionDownloadAnonymous: Anonymized
@ -384,8 +321,6 @@ CorrUpload: Upload corrections
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!
JSONFieldDecodeFailure aesonFailure: Could not parse JSON: #{aesonFailure}
YAMLFieldDecodeFailure yamlFailure: Could not parse YAML: #{yamlFailure}
SecretJSONFieldDecryptFailure: Could not decrypt hidden data SecretJSONFieldDecryptFailure: Could not decrypt hidden data
SubmissionCorrected: Marked SubmissionCorrected: Marked
@ -415,9 +350,6 @@ AchievedNormalPoints: Points achieved
PassedResult: Result PassedResult: Result
Passed: Passed Passed: Passed
NotPassed: Failed NotPassed: Failed
PointsNotPositive: Points may not be negative
PointsTooHigh maxPoints: Points may not be more than #{maxPoints}
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
VisibleFrom: Published VisibleFrom: Published
@ -457,7 +389,6 @@ SubmissionSinkExceptionInvalidFileTitleExtension file: Filename “#{show file}
MultiSinkException name error: An error occurred in submission “#{name}”: #{error} MultiSinkException name error: An error occurred in submission “#{name}”: #{error}
NoTableContent: No entries
NoUpcomingSheetDeadlines: No upcoming sheets NoUpcomingSheetDeadlines: No upcoming sheets
NoUpcomingExams difftime: No exams for your courses occur or allow registration in the next #{difftime} NoUpcomingExams difftime: No exams for your courses occur or allow registration in the next #{difftime}
@ -479,8 +410,6 @@ AssimilateUserHaveError: An error occurred during assimilation
AssimilateUserHaveWarnings: Warnings were ermitted during assimilation AssimilateUserHaveWarnings: Warnings were ermitted during assimilation
AssimilateUserSuccess: Successfully assimilated user AssimilateUserSuccess: Successfully assimilated user
LecturersForN n: #{pluralEN n "Lecturer" "Lecturers"}
Date: Date Date: Date
FormFieldRequiredTip: Required fields FormFieldRequiredTip: Required fields
@ -491,10 +420,6 @@ AllocNotifyNewCourseDefault: System wide setting
AllocNotifyNewCourseForceOff: No AllocNotifyNewCourseForceOff: No
AllocNotifyNewCourseForceOn: Yes AllocNotifyNewCourseForceOn: Yes
InvalidDateTimeFormat: Invalid date and time format. YYYY-MM-DDTHH:MM[:SS] expected
AmbiguousUTCTime: The given timestamp cannot be converted to UTC unambiguously
IllDefinedUTCTime: The given timestamp cannot be converted to UTC
LastEdits: Latest edits LastEdits: Latest edits
UtilEditedBy name time: #{time} by #{name} UtilEditedBy name time: #{time} by #{name}
LastEditByUser: Your last edit LastEditByUser: Your last edit
@ -529,54 +454,24 @@ DayIsAHoliday tid name date: “#{name}” (#{date}) is a legal holiday
DayIsOutOfLecture tid name date: “#{name}” (#{date}) is not within lecture period of #{tid} DayIsOutOfLecture tid name date: “#{name}” (#{date}) is not within lecture period of #{tid}
DayIsOutOfTerm tid name date: “#{name}” (#{date}) is not within #{tid} DayIsOutOfTerm tid name date: “#{name}” (#{date}) is not within #{tid}
UploadModeNone: No Upload
UploadModeAny: Upload arbitrary files
UploadModeSpecific: Upload pre-defined files
UploadModeUnpackZips: Upload multiple files
UploadModeUnpackZipsTip: If upload of multiple files is permitted, supported archive formats are also accepted. Archives are automatically unpacked during upload.
AutoUnzip: Automatically unpack ZIPs AutoUnzip: Automatically unpack ZIPs
AutoUnzipInfo: Automatically unpacks ZIP-files (*.zip) and adds their content to the root directory. AutoUnzipInfo: Automatically unpacks ZIP-files (*.zip) and adds their content to the root directory.
UploadModeExtensionRestriction: Allowed file extensions UploadModeExtensionRestriction: Allowed file extensions
UploadModeExtensionRestrictionTip: Comma-separated. If no file extensions are specified, uploads are not restricted. UploadModeExtensionRestrictionTip: Comma-separated. If no file extensions are specified, uploads are not restricted.
UploadModeExtensionRestrictionEmpty: List of permitted file extensions may not be empty
UploadModeExtensionRestrictionMultipleTip: Checks for valid file extension are performed for all uploaded files, including those packed within zip-archives. UploadModeExtensionRestrictionMultipleTip: Checks for valid file extension are performed for all uploaded files, including those packed within zip-archives.
UploadAnyEmptyOk: Allow empty uploads?
UploadAnyEmptyOkTip: Should, instead of emitting an error, uploads be allowed, that consist solely of empty files and/or directories?
GenericFileFieldFileTooLarge file: “#{file}” is too large
GenericFileFieldInvalidExtension file: “#{file}” does not have an acceptable file extension
FileUploadOnlySessionTip: You have already uploaded this file during your current session. It may not yet have been saved permanently, e.g. when an error occurred during processing of the form. Please ensure that all files you intended to upload are properly stored within Uni2work!
FileUploadMaxSize maxSize: File may be up to #{maxSize} in size FileUploadMaxSize maxSize: File may be up to #{maxSize} in size
FileUploadMaxSizeMultiple maxSize: Files may each be up to #{maxSize} in size FileUploadMaxSizeMultiple maxSize: Files may each be up to #{maxSize} in size
UploadSpecificFiles: Pre-defined files
NoUploadSpecificFilesConfigured: If pre-defined files are selected, at least one file needs to be configured.
UploadSpecificFilesDuplicateNames: Names of pre-defined files must be unique
UploadSpecificFilesDuplicateLabels: Labels of pre-defined files must be unique
UploadSpecificFileLabel: Label
UploadSpecificFileName: Filename
UploadSpecificFileRequired: Required for submission
UploadSpecificFileMaxSize: Maximum filesize (bytes)
UploadSpecificFileMaxSizeNegative: Maximum filesize may not be negative
UploadSpecificFileEmptyOk: Allow empty uploads
NoSubmissions: No submission NoSubmissions: No submission
CorrectorSubmissions: External submission via pseudonym CorrectorSubmissions: External submission via pseudonym
UserSubmissions: Direct submission in Uni2work UserSubmissions: Direct submission in Uni2work
BothSubmissions: Submission either directly in Uni2work or externally via pseudonym
BothSubmissionsTip: Participants may choose to submit either directly in Uni2work or externally via a pseudonym
ColumnStudyFeatures: Features of study
FieldPrimary: Major FieldPrimary: Major
FieldSecondary: Minor FieldSecondary: Minor
ShortFieldPrimary: Mj ShortFieldPrimary: Mj
ShortFieldSecondary: Mn ShortFieldSecondary: Mn
NoStudyField: No field of study
DegreeKey: Degree key DegreeKey: Degree key
@ -680,8 +575,6 @@ MailEditNotifications: Enable/Disable notifications
MailSubjectSupport: Support request MailSubjectSupport: Support request
MailSubjectSupportCustom customSubject: [Support] #{customSubject} MailSubjectSupportCustom customSubject: [Support] #{customSubject}
CommCourseTestSubject customSubject: [TEST] #{customSubject}
CommCourseSubject: Course message CommCourseSubject: Course message
MailSubjectLecturerInvitation tid ssh csh: [#{tid}-#{ssh}-#{csh}] Invitation to be a course administrator MailSubjectLecturerInvitation tid ssh csh: [#{tid}-#{ssh}-#{csh}] Invitation to be a course administrator
InvitationAcceptDecline: Accept/Decline invitation InvitationAcceptDecline: Accept/Decline invitation
@ -691,11 +584,9 @@ InvitationUniWorXTip: Uni2work is a web based teaching management system at LMU
MailSubjectPasswordReset: Set/Change Uni2work password MailSubjectPasswordReset: Set/Change Uni2work password
SheetGrading: Marking
SheetGradingPoints maxPoints: #{maxPoints} #{pluralEN maxPoints "point" "points"} SheetGradingPoints maxPoints: #{maxPoints} #{pluralEN maxPoints "point" "points"}
SheetGradingPassPoints maxPoints passingPoints: Pass with #{passingPoints} of #{maxPoints} #{pluralEN maxPoints "point" "points"} SheetGradingPassPoints maxPoints passingPoints: Pass with #{passingPoints} of #{maxPoints} #{pluralEN maxPoints "point" "points"}
SheetGradingPassBinary: Pass/Fail SheetGradingPassBinary: Pass/Fail
SheetGradingInfo: "Passing by points" counts both towards the maximum achievable number of points and towards the number of sheets that can be passed.
SheetGradingPassAlways: Automatically passed when corrected SheetGradingPassAlways: Automatically passed when corrected
SheetGradingCount': Number SheetGradingCount': Number
@ -707,36 +598,20 @@ SheetGradingPassAlways': Automatically passed when corrected
SheetTypeBonus: Bonus SheetTypeBonus: Bonus
SheetTypeNormal: Normal SheetTypeNormal: Normal
SheetTypeInformational: Informational
SheetTypeExamPartPoints: As an exam part
SheetTypeNotGraded: Not marked SheetTypeNotGraded: Not marked
SheetTypeInfoNormalLecturer: Normal sheets are used to calculate exam bonuses. Bonuses may be calculated from the number of sheets that can be passed or the maximum number of points achievable either manually or automatically.
SheetTypeInfoNotGraded: "Not marked" means that there will be no feedback at all.
SheetTypeInfoBonus: Sheets marked "bonus" count normally but do not increase either the maximum number of points or the count of sheets that can be passed.
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
SheetTypeExamPartPointsWeightNegative: Weight may not be negative
SheetTypeExamPartPointsWeight: Weight
SheetTypeExamPartPointsExamPartOption examn examPartNumber: #{examn} - Part #{view _ExamPartNumber examPartNumber}
SheetTypeInfoExamPartPoints: Points achieved in this exercise sheet will be directly applied to the result of an exam part. If the number of points achievable via exercise sheets for an exam part does not match the maximum number of points of that exam part, the points achieved via exercise sheets will be scaled according to their weight.
SheetTypeExamPartPointsExamPart: Exam part
SheetTypeBonus': Bonus SheetTypeBonus': Bonus
SheetTypeNormal': Normal SheetTypeNormal': Normal
SheetTypeInformational': Informational SheetTypeInformational': Informational
SheetTypeNotGraded': Not marked SheetTypeNotGraded': Not marked
SheetGradingMaxPoints: Maximum number of points
SheetGradingPassingPoints: Points necessary to pass
SheetGroupArbitrary: Arbitrary groups SheetGroupArbitrary: Arbitrary groups
SheetGroupRegisteredGroups: Registered groups SheetGroupRegisteredGroups: Registered groups
SheetGroupNoGroups: No group submission SheetGroupNoGroups: No group submission
SheetGroupMaxGroupsize: Maximum group size
CorrCreate: Register submissions CorrCreate: Register submissions
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:
@ -802,8 +677,6 @@ MessageWarning: Warning
MessageInfo: Information MessageInfo: Information
MessageSuccess: Success MessageSuccess: Success
InvalidLangFormat: Invalid language code (RFC1766)
ErrorResponseTitleNotFound: Resource not found ErrorResponseTitleNotFound: Resource not found
ErrorResponseTitleInternalError internalError: An internal error occurred ErrorResponseTitleInternalError internalError: An internal error occurred
ErrorResponseTitleInvalidArgs invalidArgs: Request contained invalid arguments ErrorResponseTitleInvalidArgs invalidArgs: Request contained invalid arguments
@ -825,54 +698,20 @@ EncodedSecretBoxCouldNotOpenSecretBox: Could not open libsodium-secretbox (Encry
EncodedSecretBoxCouldNotDecodePlaintext aesonErr: Could not decode json cleartext: #{aesonErr} EncodedSecretBoxCouldNotDecodePlaintext aesonErr: Could not decode json cleartext: #{aesonErr}
ErrMsgHeading: Decrypt error message ErrMsgHeading: Decrypt error message
InvalidRoute: Could not interpret url
TitleMetrics: Metrics TitleMetrics: Metrics
DeleteCopyStringIfSure n: If you are sure that you want to permanently delete the #{pluralEN n "object" "objects"} listed below, please copy the shown text.
DeletePressButtonIfSure n: If you are sure that you want to permanently delete the #{pluralEN n "object" "objects"} listed below, please confirm the action by pressing the button.
DeleteConfirmation: Confirmation text
DeleteConfirmationWrong: Confirmation text must match the shown text exactly.
DBTIRowsMissing n: #{pluralDE n "A line" "A number of lines"} vanished from the database since the form you submitted was generated for you DBTIRowsMissing n: #{pluralDE n "A line" "A number of lines"} vanished from the database since the form you submitted was generated for you
NavigationFavourites: Favourites NavigationFavourites: Favourites
CommSubject: Subject
CommBody: Message CommBody: Message
CommRecipients: Recipients
CommRecipientsTip: You always receive a copy of the message
CommRecipientsList: For archival purposes the copy of the message sent to you will contain a complete list of all recipients. The list of recipients will be attached to the email in CSV-format. Other recipients do not receive the list. Thus, please remove the attachment before you forward the email or otherwise share it with third parties.
CommDuplicateRecipients n: #{n} duplicate #{pluralEN n "recipient" "recipients"} ignored CommDuplicateRecipients n: #{n} duplicate #{pluralEN n "recipient" "recipients"} ignored
CommSuccess n: Message was sent to #{n} #{pluralEN n "recipient" "recipients"}
CommTestSuccess: Message was sent only to yourself for testing purposes
CommUndisclosedRecipients: Undisclosed recipients CommUndisclosedRecipients: Undisclosed recipients
CommAllRecipients: all-recipients CommAllRecipients: all-recipients
RecipientCustom: Custom recipients
RecipientToggleAll: All/None
DBCsvImportActionToggleAll: All/None
RGCourseParticipants: Course participants
RGCourseLecturers: Course administrators
RGCourseCorrectors: Course correctors
RGCourseTutors: Course tutors
RGTutorialParticipants tutn: Tutorial participants (#{tutn})
RGCourseUnacceptedApplicants: Applicants not accepted
RGExamRegistered examn: Registered for exam “#{examn}”
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)
MultiUserFieldExplanationAnyUser: This input searches through the addresses of all Uni2work users.
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.
LecturerInvitationAccepted lType csh: You were registered as #{lType} for #{csh} LecturerInvitationAccepted lType csh: You were registered as #{lType} for #{csh}
LecturerInvitationDeclined csh: You have declined the invitation to become course administrator for #{csh} LecturerInvitationDeclined csh: You have declined the invitation to become course administrator for #{csh}
@ -909,42 +748,10 @@ CourseParticipant: Participant
CourseParticipantsRegisteredWithoutField n: #{n} #{pluralEN n "participant was" "participants were"} registered without #{pluralEN n "an associated field of study" "associated fields of study"}, because #{pluralEN n "it" "they"} could not be determined uniquely. CourseParticipantsRegisteredWithoutField n: #{n} #{pluralEN n "participant was" "participants were"} registered without #{pluralEN n "an associated field of study" "associated fields of study"}, because #{pluralEN n "it" "they"} could not be determined uniquely.
ExamRegistrationRegisteredWithoutField n: Registered #{n} #{pluralEN n "participant" "participants"} for the exam as well as for the course. The #{pluralEN n "participant was" "participants were"} enrolled without #{pluralEN n "an associated field of study" "associated fields of study"} since #{pluralEN n "it" "they"} could not be determined uniquely. ExamRegistrationRegisteredWithoutField n: Registered #{n} #{pluralEN n "participant" "participants"} for the exam as well as for the course. The #{pluralEN n "participant was" "participants were"} enrolled without #{pluralEN n "an associated field of study" "associated fields of study"} since #{pluralEN n "it" "they"} could not be determined uniquely.
ExamRegistrationParticipantsRegistered n: #{n} #{pluralEN n "participant was" "participants were"} registered for the exam ExamRegistrationParticipantsRegistered n: #{n} #{pluralEN n "participant was" "participants were"} registered for the exam
ExamFinishedOffice: Exam achievements published
UtilExamClosed: Exam achievements registered
UtilExamGradingRule: Grade computation
ExamGradingKey': By grading scale
ExamGradingKey: Grading scale
ExamGradingKeyTip: Values in the grading scale refer to the effective maximum number of points. Bonus points from exercises are added and results for exam parts are multiplied with the part's weight.
Points: Points
PointsMustBeNonNegative: Point boundaries may not be negative
PointsMustBeMonotonic: Point boundaries must increase monotonically
UtilExamBonusRule: Bonus points from exercises
ExamBonusPoints': Compute from exercise achievements
ExamBonusManual': Manual computation
ExamBonusMaxPoints: Maximum exam bonus points
ExamBonusMaxPointsTip: Bonus points are linearly interpolated from the number of exercise points achieved (or exercise sheets passed as applicable) between zero and the given bound.
ExamBonusMaxPointsNonPositive: Maximum exam bonus points must be positive and greater than zero
ExamBonusOnlyPassed: Apply bonus only if already passed
ExamBonusRound: Round bonus to
ExamBonusRoundNonPositive: Rounding multiple must be positive and greater than zero
ExamBonusRoundTip: Bonus points are rounded commercially to a multiple of the given number
ExamAutomaticOccurrenceAssignment: Selection of occurrences/rooms for/by participants
ExamAutomaticOccurrenceAssignmentTip: Should exam participants be distributed automatically among the configured occurrences/rooms, should they instead be permitted to autonomously choose an occurrence/room, or should they be assigned to occurrences/rooms manually by course administrators? Automatic distribution needs to be triggered by a course administrator. It is not done automatically at a predefined time. Thus manipulation of the distribution and manually assigning participants remains possible.
NewsExamOccurrenceRoomIsUnset: — NewsExamOccurrenceRoomIsUnset: —
NewsExamOccurrenceRoomIsHidden: Room is only displayed to participants registered for this occurrence/room NewsExamOccurrenceRoomIsHidden: Room is only displayed to participants registered for this occurrence/room
ExamOccurrenceStart: Exam starts
ExamModeFormNone: Not specified
ExamModeFormCustom: Custom
ExamModeFormAids: Permitted exam aids
ExamModeFormOnline: Online/Offline
ExamModeFormSynchronicity: Synchronous/Asynchronous
ExamModeFormRequiredEquipment: Required equipment
ExamModeFormRequiredEquipmentIdentificationTip: There will always be a note informing participants that they will need photo identification.
ExamOpenBook: Open book ExamOpenBook: Open book
ExamClosedBook: Closed book ExamClosedBook: Closed book
@ -988,31 +795,16 @@ ExternalExamUserDelete: Delete exam participant
ExternalExamUserMarkedSynchronised n: Successfully marked #{n} #{pluralEN n "exam result" "exam results"} as synchronised ExternalExamUserMarkedSynchronised n: Successfully marked #{n} #{pluralEN n "exam result" "exam results"} as synchronised
CsvFile: CSV file
CsvImport: CSV import
CsvExport: CSV export CsvExport: CSV export
CsvModifyExisting: Modify existing entries CsvModifyExisting: Modify existing entries
CsvAddNew: Add new entries CsvAddNew: Add new entries
CsvDeleteMissing: Delete missing entries CsvDeleteMissing: Delete missing entries
CsvImportNotConfigured: CSV import not configured
CsvImportConfirmationHeading: CSV import preview (no changes have been made yet)
CsvImportConfirmationTip: No changes have been made yet! Importing this CSV file corresponds to performing the edits listed below. Please choose the edits that should be performed before finalising the import.
CsvImportUnnecessary: Importing the given CSV file does not correspond to performing any edits
CsvImportSuccessful n: Successfully imported CSV file. #{n} #{pluralEN n "edit" "edits"} have been performed.
CsvImportAborted: CSV import aborted
CsvImportExplanationLabel: Informating regarding CSV import
CsvExampleData: Example data
CsvExportExample: Export example CSV
TableProportion c of' prop: #{c}/#{of'} (#{rationalToFixed2 (100 * prop)}%) TableProportion c of' prop: #{c}/#{of'} (#{rationalToFixed2 (100 * prop)}%)
TableProportionNoRatio c of': #{c}/#{of'} TableProportionNoRatio c of': #{c}/#{of'}
ParticipantsCsvName tid ssh: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-participants ParticipantsCsvName tid ssh: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-participants
CsvColumnsExplanationsLabel: Column & cell format
CsvColumnsExplanationsTip: Meaning and format of the columns contained in imported and exported CSV files
CsvColumnUserField: Field of study the participant specified when enrolling for the course CsvColumnUserField: Field of study the participant specified when enrolling for the course
CsvColumnUserDegree: Degree the participant pursues in their associated field of study CsvColumnUserDegree: Degree the participant pursues in their associated field of study
CsvColumnUserSemester: Semester the participant is in wrt. to their associated field of study CsvColumnUserSemester: Semester the participant is in wrt. to their associated field of study
@ -1020,13 +812,6 @@ CsvColumnUserSemester: Semester the participant is in wrt. to their associated f
Action: Action Action: Action
ActionNoUsersSelected: No users selected ActionNoUsersSelected: No users selected
DBCsvDuplicateKey: Two rows in the CSV file reference the same database entry and are thus invalid
DBCsvDuplicateKeyTip: Please remove one of the lines listed below and try again.
DBCsvKeyException: For a row in the CSV file it could not be determined whether it references any database entry.
DBCsvException: An error occurred hile computing the set of edits this CSV import corresponds to.
DBCsvParseError: An uploaded file could not be interpreted as CSV of the expected format.
DBCsvParseErrorTip: The Uni2work-component that handles CSV decoding has reported the following error:
ExamUserCsvCourseRegister: Register users for the exam and enroll them in the course ExamUserCsvCourseRegister: Register users for the exam and enroll them in the course
ExamUserCsvRegister: Register users for the exam ExamUserCsvRegister: Register users for the exam
ExamUserCsvAssignOccurrence: Assign occurrences/rooms to participants ExamUserCsvAssignOccurrence: Assign occurrences/rooms to participants
@ -1052,11 +837,6 @@ ExternalExamUserCsvDeregister: Delete stored exam achievement
TableHeadingCsvImport: CSV import TableHeadingCsvImport: CSV import
TableHeadingCsvExport: CSV export TableHeadingCsvExport: CSV export
UtilExamResultGrade: Grade
UtilExamResultPass: Passed/Failed
UtilExamResultNoShow: Not present
UtilExamResultVoided: Voided
AuthLDAPLookupFailed: User could not be looked up due to a LDAP error AuthLDAPLookupFailed: User could not be looked up due to a LDAP error
AuthLDAPInvalidLookup: Existing user could not be uniquely matched with a LDAP entry AuthLDAPInvalidLookup: Existing user could not be uniquely matched with a LDAP entry
AuthLDAPAlreadyConfigured: User already logs in using their campus account AuthLDAPAlreadyConfigured: User already logs in using their campus account
@ -1091,16 +871,8 @@ MailSchoolFunctionInviteHeading school renderedFunction: Invitation to be #{rend
SchoolFunctionInviteExplanation renderedFunction: You were invited to act as #{renderedFunction} for a department. By accepting the invitation you are granted elevated rights within the department. SchoolFunctionInviteExplanation renderedFunction: You were invited to act as #{renderedFunction} for a department. By accepting the invitation you are granted elevated rights within the department.
SchoolFunctionInvitationAccepted school renderedFunction: Successfully accepted invitation to be #{renderedFunction} for “#{school}” SchoolFunctionInvitationAccepted school renderedFunction: Successfully accepted invitation to be #{renderedFunction} for “#{school}”
AllocationActive: Active
AllocationName: Name
AllocationApplication: Application AllocationApplication: Application
AllocationProcess: Allocation process AllocationProcess: Allocation process
Allocation: Central allocation
CourseApplicationId: Application number
CourseApplicationRatingPoints: Grading
UserMatriculation: Matriculation
SchoolShort: Shorthand SchoolShort: Shorthand
SchoolName: Name SchoolName: Name
@ -1239,8 +1011,6 @@ ShortSexNotApplicable: N/A
MenuLanguage: Language MenuLanguage: Language
LanguageChanged: Language changed successfully LanguageChanged: Language changed successfully
GroupSizeNotNatural: “Maximum group size” needs to be a natural number
AmbiguousEmail: Email address is ambiguous
RFC1766: RFC1766 language code RFC1766: RFC1766 language code
TermShort: Shorthand TermShort: Shorthand
@ -1296,32 +1066,8 @@ InfoLecturerAllocations: Central allocations
ParticipantsIntersectCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen} ParticipantsIntersectCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen}
ParticipantsIntersectCourses: Courses ParticipantsIntersectCourses: Courses
AllocationUsersApplied: Applications
AllocationUsersAssigned: Assignments
AllocationUsersVetoed: Vetos
AllocationUsersRequested: Requested assignments
AllocationUsersPriority: Central priority
AllocationPriorityNumericValues: Numerical values
AllocationPriorityNumericValuesTip: Comma separated whole numbers
AllocationPriorityNumericNoValues: No numerical values were provided
AllocationPriorityNumericNoParse val: Whole number could not be parsed: “#{val}”
AllocationPriorityOrdinalValueNegative: Sorting index may not be negative
AllocationPriorityOrdinalValue: Sorting index
AllocationPriorityOrdinalValueTip: Zero corresponds to the first entry in the list; higher indices correspond to applicants occurring later in the sorted list and thus to higher central priorities
#hier weiß ich nicht mehr was da als Nachricht stand:
AllocationPriorityNumeric':
AllocationPriorityOrdinal':
AllocationPriorityNumeric:
AllocationPriorityOrdinal:
AllocationPrioritiesNumeric:
AllocationPrioritiesOrdinal:
CourseOption tid ssh coursen: #{tid} - #{ssh} - #{coursen}
FaqTitle: Frequently asked questions FaqTitle: Frequently asked questions
MultiActionUnknownAction: In a form dependent on the value of a field a value was given for which no form is available
CourseParticipantStateIsActiveFilter: View CourseParticipantStateIsActiveFilter: View
CourseParticipantActive: Participant CourseParticipantActive: Participant
CourseParticipantInactive: Deregistered CourseParticipantInactive: Deregistered
@ -1369,19 +1115,7 @@ ExamCloseModeOnFinished: With publication of achievements
ExamCloseModeOnFinishedHidden: With publication of achievements (hidden) ExamCloseModeOnFinishedHidden: With publication of achievements (hidden)
ExamCloseMode: Exam closure ExamCloseMode: Exam closure
RoomReferenceSimple: Text
RoomReferenceLink: Link & Instructions
RoomReferenceSimpleText: Room
RoomReferenceSimpleTextPlaceholder: Room
RoomReferenceLinkLink: Link
RoomReferenceLinkLinkPlaceholder: URL
RoomReferenceLinkInstructions: Instructions
RoomReferenceLinkInstructionsPlaceholder: Instructions
RoomReferenceNone: —
UrlFieldCouldNotParseAbsolute: Could not parse as an absolute URL UrlFieldCouldNotParseAbsolute: Could not parse as an absolute URL
WGFTextInput: Text field WGFTextInput: Text field
WGFFileUpload: File field WGFFileUpload: File field
CourseSortingOnlyLoggedIn: The user interface for sorting this table is only active for logged in users

View File

@ -144,3 +144,27 @@ AllocationNumCoursesAvailableApplied available@Int applied@Int: Sie haben sich b
AllocationCourseRestrictionDontRestrict: AllocationCourseRestrictionDontRestrict:
AllocationCourseRestrictionSubstitutes: AllocationCourseRestrictionSubstitutes:
AllocationCourseRestrictionCustom: AllocationCourseRestrictionCustom:
AllocationName: Name
Allocation: Zentralanmeldung
AllocationActive: Aktiv
AllocationUsersApplied: Bewerbungen
AllocationUsersAssigned: Zuweisungen
AllocationUsersVetoed: Vetos
AllocationUsersRequested: Angefragte Plätze
AllocationUsersPriority: Zentrale Dringlichkeit
AllocationPriorityNumericValues: Numerische Werte
AllocationPriorityNumericValuesTip: Komma-separierte ganze Zahlen
AllocationPriorityNumericNoValues: Es wurden keine numerischen Werte angegeben
AllocationPriorityNumericNoParse val@Text: Ganze Zahl konnte nicht geparst werden: „#{val}“
AllocationPriorityOrdinalValueNegative: Sortier-Index darf nicht negativ sein
AllocationPriorityOrdinalValue: Sortier-Index
AllocationPriorityOrdinalValueTip: Null entspricht dem ersten Eintrag der Liste, höhere Indizes entsprechen später in der sortierten Liste vorkommenden Bewerbern und damit einer höheren Dringlichkeit
#hier weiß ich nicht mehr was da als Nachricht stand:
AllocationPriorityNumeric':
AllocationPriorityOrdinal':
AllocationPriorityNumeric:
AllocationPriorityOrdinal:
AllocationPrioritiesNumeric:
AllocationPrioritiesOrdinal:

View File

@ -143,4 +143,27 @@ AllocationNumCoursesAvailableApplied available applied: You have applied for #{a
AllocationCourseRestrictionDontRestrict: AllocationCourseRestrictionDontRestrict:
AllocationCourseRestrictionSubstitutes: AllocationCourseRestrictionSubstitutes:
AllocationCourseRestrictionCustom: AllocationCourseRestrictionCustom:
AllocationName: Name
Allocation: Central allocation
AllocationActive: Active
AllocationUsersApplied: Applications
AllocationUsersAssigned: Assignments
AllocationUsersVetoed: Vetos
AllocationUsersRequested: Requested assignments
AllocationUsersPriority: Central priority
AllocationPriorityNumericValues: Numerical values
AllocationPriorityNumericValuesTip: Comma separated whole numbers
AllocationPriorityNumericNoValues: No numerical values were provided
AllocationPriorityNumericNoParse val: Whole number could not be parsed: “#{val}”
AllocationPriorityOrdinalValueNegative: Sorting index may not be negative
AllocationPriorityOrdinalValue: Sorting index
AllocationPriorityOrdinalValueTip: Zero corresponds to the first entry in the list; higher indices correspond to applicants occurring later in the sorted list and thus to higher central priorities
#hier weiß ich nicht mehr was da als Nachricht stand:
AllocationPriorityNumeric':
AllocationPriorityOrdinal':
AllocationPriorityNumeric:
AllocationPriorityOrdinal:
AllocationPrioritiesNumeric:
AllocationPrioritiesOrdinal:

View File

@ -28,3 +28,6 @@ AcceptApplicationsModeTip: Sollen akzeptierte Bewerber:innen direkt als Teilnehm
AcceptApplicationsSecondary: Gleichstände auflösen AcceptApplicationsSecondary: Gleichstände auflösen
AcceptApplicationsSecondaryTip: Wenn es im Laufe des Verfahrens mehrere Bewerber:innen mit der selben Bewertung für den selben Platz gibt, wie soll der Gleichstand aufgelöst werden? AcceptApplicationsSecondaryTip: Wenn es im Laufe des Verfahrens mehrere Bewerber:innen mit der selben Bewertung für den selben Platz gibt, wie soll der Gleichstand aufgelöst werden?
CsvColumnUserAppStudyFeatures: Alle relevanten Studiendaten des/der Teilnehmers/Teilnehmerin als Semikolon (;) separierte Liste CsvColumnUserAppStudyFeatures: Alle relevanten Studiendaten des/der Teilnehmers/Teilnehmerin als Semikolon (;) separierte Liste
CourseApplicationId: Bewerbungsnummer
CourseApplicationRatingPoints: Bewertung

View File

@ -28,3 +28,6 @@ AcceptApplicationsModeTip: Should accepted applications be enrolled in the cours
AcceptApplicationsSecondary: Breaking ties AcceptApplicationsSecondary: Breaking ties
AcceptApplicationsSecondaryTip: If a tie occurs during the acceptance process, how should it be broken? AcceptApplicationsSecondaryTip: If a tie occurs during the acceptance process, how should it be broken?
CsvColumnUserAppStudyFeatures: All relevant features of study for the participant, separated by semicolon (;) CsvColumnUserAppStudyFeatures: All relevant features of study for the participant, separated by semicolon (;)
CourseApplicationId: Application number
CourseApplicationRatingPoints: Grading

View File

@ -7,8 +7,8 @@ FilterRegistered: Angemeldet
FilterCourseSearch: Volltext-Suche FilterCourseSearch: Volltext-Suche
FilterCourseRegistered: Registriert FilterCourseRegistered: Registriert
FilterCourseRegisterOpen: Anmeldung möglich FilterCourseRegisterOpen: Anmeldung möglich
Registered: Angemeldet CourseRegistered: Angemeldet
Registration: Anmeldung CourseRegistration: Anmeldung
CourseDescription: Beschreibung CourseDescription: Beschreibung
CommCourseHeading: Kursmitteilung CommCourseHeading: Kursmitteilung
CourseLecturers: Kursverwalter:innen CourseLecturers: Kursverwalter:innen
@ -197,7 +197,6 @@ CourseApplicationInstructionsApplication: Anweisungen zur Bewerbung
CourseApplicationInstructionsRegistration: Anweisungen zur Anmeldung CourseApplicationInstructionsRegistration: Anweisungen zur Anmeldung
CourseApplicationTemplateApplication: Bewerbungsvorlage(n) CourseApplicationTemplateApplication: Bewerbungsvorlage(n)
CourseApplicationTemplateRegistration: Anmeldungsvorlage(n) CourseApplicationTemplateRegistration: Anmeldungsvorlage(n)
CourseRegistration: Kursanmeldung
NotRegistered: Sie sind zu diesem Kurs nicht angemeldet. NotRegistered: Sie sind zu diesem Kurs nicht angemeldet.
CourseApplicationDeleteToEdit: Um Ihre Bewerbung zu editieren müssen Sie sie zunächst zurückziehen und sich erneut bewerben. CourseApplicationDeleteToEdit: Um Ihre Bewerbung zu editieren müssen Sie sie zunächst zurückziehen und sich erneut bewerben.
CourseMaterial: Material CourseMaterial: Material
@ -263,3 +262,6 @@ TutorialFreeCapacity: Freie Plätze
TutorialRegistered: Angemeldet TutorialRegistered: Angemeldet
TutorialRegisterFrom: Anmeldungen ab TutorialRegisterFrom: Anmeldungen ab
TutorialRegisterTo: Anmeldungen bis TutorialRegisterTo: Anmeldungen bis
CourseDeleteQuestion: Wollen Sie den unten aufgeführten Kurs wirklich löschen?
CourseDeleted: Kurs gelöscht

View File

@ -7,8 +7,8 @@ FilterRegistered: Enrolled
FilterCourseSearch: Text search FilterCourseSearch: Text search
FilterCourseRegistered: Registered FilterCourseRegistered: Registered
FilterCourseRegisterOpen: Enrolment is allowed FilterCourseRegisterOpen: Enrolment is allowed
Registered: Enrolled CourseRegistered: Enrolled
Registration: Enrolment CourseRegistration: Enrolment
CourseDescription: Description CourseDescription: Description
CommCourseHeading: Course message CommCourseHeading: Course message
CourseLecturers: Course administrators CourseLecturers: Course administrators
@ -197,7 +197,6 @@ CourseApplicationInstructionsApplication: Instructions for application
CourseApplicationInstructionsRegistration: Instructions for registration CourseApplicationInstructionsRegistration: Instructions for registration
CourseApplicationTemplateApplication: Application template(s) CourseApplicationTemplateApplication: Application template(s)
CourseApplicationTemplateRegistration: Registration template(s) CourseApplicationTemplateRegistration: Registration template(s)
CourseRegistration: Enrolment
NotRegistered: Note enrolled for this course NotRegistered: Note enrolled for this course
CourseApplicationDeleteToEdit: You need to withdraw your application and reapply to edit your application. CourseApplicationDeleteToEdit: You need to withdraw your application and reapply to edit your application.
CourseMaterial: Material CourseMaterial: Material
@ -261,4 +260,7 @@ CoursePersonalisedSheetFilesArchiveName tid ssh csh: #{foldCase (termToText (unT
TutorialFreeCapacity: Free capacity TutorialFreeCapacity: Free capacity
TutorialRegistered: Registered TutorialRegistered: Registered
TutorialRegisterFrom: Register from TutorialRegisterFrom: Register from
TutorialRegisterTo: Register to TutorialRegisterTo: Register to
CourseDeleteQuestion: Are you sure you want to delete the below-mentioned course?
CourseDeleted: Course deleted

View File

@ -224,4 +224,32 @@ ExamBonusPoints possible@Points: Maximal #{showFixed True possible} Prüfungspun
ExamBonusPointsPassed possible@Points: Maximal #{showFixed True possible} Prüfungspunkte, falls die Prüfung auch ohne Bonus bereits bestanden ist ExamBonusPointsPassed possible@Points: Maximal #{showFixed True possible} Prüfungspunkte, falls die Prüfung auch ohne Bonus bereits bestanden ist
ExamUserResetToComputedResult: ExamUserResetToComputedResult:
ExamUserResetToComputedResultData: ExamUserResetToComputedResultData:
UtilExamBonusRule: Prüfungsbonus aus Übungsbetrieb
ExamBonusPoints': Umrechnung von Übungspunkten
ExamBonusManual': Manuelle Berechnung
ExamBonusMaxPoints: Maximal erreichbare Prüfungs-Bonuspunkte
ExamBonusMaxPointsTip: Bonuspunkte werden, anhand der erreichten Übungspunkte bzw. der Anzahl von bestandenen Übungsblättern, linear zwischen null und der angegebenen Schranke interpoliert.
ExamBonusMaxPointsNonPositive: Maximaler Prüfungsbonus muss positiv und größer null sein
ExamBonusOnlyPassed: Bonus nur nach Bestehen anrechnen
ExamBonusRound: Bonus runden auf
ExamBonusRoundNonPositive: Vielfaches, auf das gerundet werden soll, muss positiv und größer null sein
ExamBonusRoundTip: Bonuspunkte werden kaufmännisch auf ein Vielfaches der angegeben Zahl gerundet.
ExamAutomaticOccurrenceAssignment: Termin- bzw. Raumzuteilung
ExamAutomaticOccurrenceAssignmentTip: Sollen Prüfungsteilnehmer automatisch auf die zur Verfügung stehenden Räume bzw. Termine verteilt werden, sich selbstständig einen Raum bzw. Termin aussuchen dürfen oder manuell durch Kursverwalter zugeteilt werden? Die automatische Verteilung muss von einem Kursverwalter ausgelöst werden und geschieht nicht mit Ablauf einer Frist o.Ä.. Manuelle Umverteilung bzw. vorheriges Festlegen von Zuteilungen einzelner Teilnehmer ist somit immer möglich.
UtilExamGradingRule: Notenberechnung
ExamGradingKey': Nach Schlüssel
ExamGradingKey: Notenschlüssel
ExamGradingKeyTip: Die Grenzen beziehen sich auf die effektive Maximalpunktzahl, nachdem etwaige Bonuspunkte aus dem Übungsbetrieb angerechnet und die Ergebnise der Teilprüfungen mit ihrem Gewicht multipliziert wurden
Points: Punkte
PointsMustBeNonNegative: Punktegrenzen dürfen nicht negativ sein
PointsMustBeMonotonic: Punktegrenzen müssen aufsteigend sein
ExamModeFormNone: Keine Angabe
ExamModeFormCustom: Benutzerdefiniert
ExamModeFormAids: Erlaubte Hilfsmittel
ExamModeFormOnline: Online/Offline
ExamModeFormSynchronicity: Synchron/Asynchron
ExamModeFormRequiredEquipment: Erforderliche Hilfsmittel
ExamModeFormRequiredEquipmentIdentificationTip: Es wird stets ein Hinweis angezeigt, dass Teilnehmer sich ausweisen können müssen.

View File

@ -224,4 +224,31 @@ ExamNoShow: Not present
ExamVoided: Voided ExamVoided: Voided
ExamUserResetToComputedResult: ExamUserResetToComputedResult:
ExamUserResetToComputedResultData: ExamUserResetToComputedResultData:
UtilExamBonusRule: Bonus points from exercises
ExamBonusPoints': Compute from exercise achievements
ExamBonusManual': Manual computation
ExamBonusMaxPoints: Maximum exam bonus points
ExamBonusMaxPointsTip: Bonus points are linearly interpolated from the number of exercise points achieved (or exercise sheets passed as applicable) between zero and the given bound.
ExamBonusMaxPointsNonPositive: Maximum exam bonus points must be positive and greater than zero
ExamBonusOnlyPassed: Apply bonus only if already passed
ExamBonusRound: Round bonus to
ExamBonusRoundNonPositive: Rounding multiple must be positive and greater than zero
ExamBonusRoundTip: Bonus points are rounded commercially to a multiple of the given number
ExamAutomaticOccurrenceAssignment: Selection of occurrences/rooms for/by participants
ExamAutomaticOccurrenceAssignmentTip: Should exam participants be distributed automatically among the configured occurrences/rooms, should they instead be permitted to autonomously choose an occurrence/room, or should they be assigned to occurrences/rooms manually by course administrators? Automatic distribution needs to be triggered by a course administrator. It is not done automatically at a predefined time. Thus manipulation of the distribution and manually assigning participants remains possible.
UtilExamGradingRule: Grade computation
ExamGradingKey': By grading scale
ExamGradingKey: Grading scale
ExamGradingKeyTip: Values in the grading scale refer to the effective maximum number of points. Bonus points from exercises are added and results for exam parts are multiplied with the part's weight.
Points: Points
PointsMustBeNonNegative: Point boundaries may not be negative
PointsMustBeMonotonic: Point boundaries must increase monotonically
ExamModeFormNone: Not specified
ExamModeFormCustom: Custom
ExamModeFormAids: Permitted exam aids
ExamModeFormOnline: Online/Offline
ExamModeFormSynchronicity: Synchronous/Asynchronous
ExamModeFormRequiredEquipment: Required equipment
ExamModeFormRequiredEquipmentIdentificationTip: There will always be a note informing participants that they will need photo identification.

View File

@ -46,4 +46,7 @@ ExamUserSyncLastChange: Zuletzt geändert
ExamTimes: Termine ExamTimes: Termine
ExamOfficeFieldNotSubscribed: Nicht Abnonniert ExamOfficeFieldNotSubscribed: Nicht Abnonniert
ExamOfficeFieldSubscribed: Abboniert ExamOfficeFieldSubscribed: Abboniert
UtilExamClosed: Noten gemeldet
ExamFinishedOffice: Noten bekannt gegeben

View File

@ -46,4 +46,6 @@ ExamUserSyncLastChange: Last changed
ExamTimes: Times ExamTimes: Times
ExamOfficeFieldNotSubscribed: Not subscribed ExamOfficeFieldNotSubscribed: Not subscribed
ExamOfficeFieldSubscribed: subscribed ExamOfficeFieldSubscribed: subscribed
UtilExamClosed: Exam achievements registered
ExamFinishedOffice: Exam achievements published

View File

@ -106,3 +106,25 @@ SheetSubmissionMode: Abgabe-Modus
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
SheetUploadMode: Abgabe von Dateien
UtilSheetSubmissionMode: Abgabe-Modus
BothSubmissions: Abgabe direkt in Uni2work & extern mit Pseudonym
BothSubmissionsTip: Abgabe kann, nach Wahl des Teilnehmers, entweder direkt in Uni2work oder extern mit Pseudonym erfolgen
SheetGradingMaxPoints: Maximalpunktzahl
SheetGradingPassingPoints: Notwendig zum Bestehen
SheetGrading: Bewertung
SheetGradingInfo: "Bestanden nach Punkten" zählt sowohl zur maximal erreichbaren Gesamtpunktzahl also auch zur Anzahl der zu bestehenden Blätter.
SheetTypeExamPartPoints: Als Prüfungsaufgabe
SheetTypeExamPartPointsWeightNegative: Gewichtung darf nicht negativ sein
SheetTypeExamPartPointsWeight: Gewichtung
SheetTypeExamPartPointsExamPartOption examn@ExamName examPartNumber@ExamPartNumber: #{examn} - Teil #{view _ExamPartNumber examPartNumber}
SheetTypeExamPartPointsExamPart: Prüfungsteil
SheetTypeInformational: Ohne Anrechnung
SheetTypeInfoNormalLecturer: Normale Blätter werden zur Berechnung eines etwaigen Prüfungsbonus herangezogen. Der Bonus kann sowohl anhand der zu bestehenden Blätter als auch der erreichbaren Maximalpunktzahl automatisch oder manuell berechnet werden.
SheetTypeInfoNotGraded: Keine Korrektur bedeutet, dass es gar kein Feedback gibt.
SheetTypeInfoBonus: Bonus Blätter zählen normal, erhöhen aber nicht die maximal erreichbare Punktzahl bzw. Anzahl zu bestehender Blätter.
SheetTypeInfoInformational: Blätter ohne Anrechnung werden nirgends angerechnet, die Bewertung durch den Korrektor dient lediglich zur Information der Teilnehmer.
SheetTypeInfoExamPartPoints: Bei diesem Übungsblatt erreichte Punkte werden direkt auf die Punktezahl eines Prüfungsteils angerechnet. Wenn die Anzahl von über Übungsblättern erreichbaren Punkten nicht der Maximalpunktzahl des Prüfungsteils entspricht, werden die Übungsblattpunkte anhand der angegebenen Gewichtung skaliert.
GroupSizeNotNatural: „Gruppengröße“ muss eine natürliche Zahl sein
SheetGroupMaxGroupsize: Maximale Gruppengröße

View File

@ -107,3 +107,24 @@ SheetTitle tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetNa
SheetTitleNew tid@TermId ssh@SchoolId csh@CourseShorthand : #{tid}-#{ssh}-#{csh}: New sheet SheetTitleNew tid@TermId ssh@SchoolId csh@CourseShorthand : #{tid}-#{ssh}-#{csh}: New sheet
SheetPersonalisedSheetFilesArchiveName tid ssh csh: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-personalised_files SheetPersonalisedSheetFilesArchiveName tid ssh csh: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-personalised_files
SheetUploadMode: Submission of files
UtilSheetSubmissionMode: Submission mode
BothSubmissions: Submission either directly in Uni2work or externally via pseudonym
BothSubmissionsTip: Participants may choose to submit either directly in Uni2work or externally via a pseudonym
SheetGradingMaxPoints: Maximum number of points
SheetGradingPassingPoints: Points necessary to pass
SheetGrading: Marking
SheetGradingInfo: "Passing by points" counts both towards the maximum achievable number of points and towards the number of sheets that can be passed.
SheetTypeExamPartPointsWeightNegative: Weight may not be negative
SheetTypeExamPartPointsWeight: Weight
SheetTypeExamPartPoints: As an exam part
SheetTypeExamPartPointsExamPart: Exam part
SheetTypeExamPartPointsExamPartOption examn examPartNumber: #{examn} - Part #{view _ExamPartNumber examPartNumber}
SheetTypeInformational: Informational
SheetTypeInfoNormalLecturer: Normal sheets are used to calculate exam bonuses. Bonuses may be calculated from the number of sheets that can be passed or the maximum number of points achievable either manually or automatically.
SheetTypeInfoNotGraded: "Not marked" means that there will be no feedback at all.
SheetTypeInfoBonus: Sheets marked "bonus" count normally but do not increase either the maximum number of points or the count of sheets that can be passed.
SheetTypeInfoExamPartPoints: Points achieved in this exercise sheet will be directly applied to the result of an exam part. If the number of points achievable via exercise sheets for an exam part does not match the maximum number of points of that exam part, the points achieved via exercise sheets will be scaled according to their weight.
SheetTypeInfoInformational: Sheets marked "informational" do not counted anywhere. They are marked only as feedback for participants.
GroupSizeNotNatural: “Maximum group size” needs to be a natural number
SheetGroupMaxGroupsize: Maximum group size

View File

@ -136,3 +136,4 @@ WorkflowWorkflowListIsFinal: Abgeschlossen?
WorkflowGraphFormUploadIsDirectory: Upload ist Verzeichnis WorkflowGraphFormUploadIsDirectory: Upload ist Verzeichnis
WorkflowGraphFormInvalidNumberOfFiles: Es muss genau eine Datei hochgeladen werden WorkflowGraphFormInvalidNumberOfFiles: Es muss genau eine Datei hochgeladen werden
WorkflowCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen} WorkflowCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen}
YAMLFieldDecodeFailure yamlFailure@String: Konnte YAML nicht parsen: #{yamlFailure}

View File

@ -136,3 +136,4 @@ WorkflowInstanceInitiateSuccess: Successfully initiated workflow
WorkflowGraphFormUploadIsDirectory: Upload is a directory WorkflowGraphFormUploadIsDirectory: Upload is a directory
WorkflowGraphFormInvalidNumberOfFiles: You need to upload exactly one file WorkflowGraphFormInvalidNumberOfFiles: You need to upload exactly one file
WorkflowCourseOption tid ssh coursen: #{tid} - #{ssh} - #{coursen} WorkflowCourseOption tid ssh coursen: #{tid} - #{ssh} - #{coursen}
YAMLFieldDecodeFailure yamlFailure: Could not parse YAML: #{yamlFailure}

View File

@ -0,0 +1,56 @@
ExamOccurrenceStart: Prüfungsbeginn
#general table-discriptions
TableEmail: Email
TableStudyTerm: Studiengang
TableStudyFeatureAge: Fachsemester
TableStudyFeatureDegree: Abschluss
TableStudyFeatureType:
TableStudyFeatureValid: Aktiv
TableStudyFeatureUpdate: Abgeglichen
TableHeadingFilter: Filter
TableTerm: Semester
TableCourseSchool: Institut
TableSubmissionGroup: Feste Abgabegruppe
TableNoSubmissionGroup: Keine feste Abgabegruppe
TableMatrikelNr: Matrikelnummer
TableSex: Geschlecht
TableSchool: Institut
TableCourse: Kurs
TableCourseMembers: Teilnehmer:innen
TableExamOccurrence: Termin/Raum
TableExamName: Name
TableExamTime: Termin
TableExamRegistration: Prüfungsanmeldung
TableExamResult: Prüfungsergebnis
TableSheet: Blatt
TableLastEdit: Letzte Änderung
TableSubmission: Abgabenummer
TableRating: Korrektur
TableFileTitle: Dateiname
TableFileModified: Letzte Änderung
TableCorState: Status
TableCorProportion: Anteil
TableCorrector: Korrektor
TableDegreeShort: Abschlusskürzel
TableDegreeName: Abschluss
TableRatingTime: Korrigiert
TableSheetType: Wertung
TableHasCorrector: Korrektor zugeteilt
TableAchievedOf achieved@Points possible@Points: #{achieved} von #{possible}
TablePassed: Bestanden
TableNotPassed: Nicht bestanden
TableTutorialTutors: Tutoren
TableTutorialName: Bezeichnung
TableTutorialType: Art
TableTutorialRoom: Regulärer Raum
TableTutorialRoomHidden: Raum nur für Teilnehmer
TableTutorialRoomIsUnset: —
TableTutorialRoomIsHidden: Raum wird nur Teilnehmern angezeigt
TableTutorialTime: Zeit
TableTutorialDeregisterUntil: Abmeldungen bis
TableActionsHead: Aktionen
TableNoFilter: Keine Einschränkung
TableUserMatriculation: Matrikelnummer
TableColumnStudyFeatures: Studiendaten
TableSchoolShort: Kürzel
TableSchoolName: Name

View File

@ -0,0 +1,56 @@
ExamOccurrenceStart: Exam starts
#general table-discriptions
TableEmail: Email
TableStudyFeatureType:
TableStudyFeatureValid: Valid
TableStudyFeatureUpdate: Updated
TableStudyFeatureAge: Semester
TableStudyFeatureDegree: Degree
TableStudyTerm: Field of study
TableHeadingFilter: Filter
TableTerm: Semester
TableCourseSchool: Department
TableSubmissionGroup: Registered submission group
TableNoSubmissionGroup: No registered submission group
TableMatrikelNr: Matriculation
TableSex: Sex
TableSchool: Department
TableCourse: Course
TableCourseMembers: Participants
TableExamOccurrence: Occurrence/room
TableExamName: Name
TableExamTime: Time
TableExamRegistration: Exam registration
TableExamResult: Exam result
TableSheet: Sheet
TableLastEdit: Latest edit
TableSubmission: Submission-number
TableRating: Marking
TableFileTitle: Filename
TableFileModified: Last changed
TableCorState: State
TableCorProportion: Proportion
TableCorrector: Corrector
TableDegreeShort: Degree shorthand
TableDegreeName: Degree
TableRatingTime: Marked
TableSheetType: Marking
TableHasCorrector: Corrector assigned
TableAchievedOf achieved possible: #{achieved} of #{possible}
TablePassed: Passed
TableNotPassed: Failed
TableTutorialTutors: Tutors
TableTutorialName: Name
TableTutorialType: Type
TableTutorialRoom: Regular room
TableTutorialRoomHidden: Room only for participants
TableTutorialRoomIsUnset: —
TableTutorialRoomIsHidden: Room is only displayed to participants
TableTutorialDeregisterUntil: Deregister until
TableActionsHead: Actions
TableTutorialTime: Time
TableNoFilter: No restriction
TableUserMatriculation: Matriculation
TableColumnStudyFeatures: Features of study
TableSchoolShort: Shorthand
TableSchoolName: Name

View File

@ -0,0 +1,31 @@
PSLimitNonPositive: “pagesize” muss größer als null sein
NoTableContent: Kein Tabelleninhalt
DBTablePagesize: Einträge pro Seite
DBTablePagesizeAll: Alle
CsvFile: CSV-Datei
CsvImportExplanationLabel: Hinweise zum CSV-Import
CsvColumnsExplanationsLabel: Spalten- & Zellenformat
CsvImport: CSV-Import
CsvImportNotConfigured: CSV-Import nicht vorgesehen
CsvImportConfirmationHeading: CSV-Import Vorschau (noch keine Änderungen importiert)
CsvImportConfirmationTip: Es wurden noch keine Änderungen übernommen! Durch den CSV-Import könnten die unten aufgeführten Änderungen vorgenommen werden. Wählen Sie jetzt die gewünschten Änderungen aus, bevor Sie den CSV-Import abschließen.
CsvImportUnnecessary: Durch den CSV-Import würden keine Änderungen vorgenommen werden
CsvImportSuccessful n@Int: CSV-Import erfolgreich, es #{pluralDE n "wurde eine Aktion" (mappend (mappend "wurden " (toMessage n)) " Aktionen")} durchgeführt
CsvImportAborted: CSV-Import abgebrochen
DBCsvImportActionToggleAll: Alle/Keine
DBCsvDuplicateKey: Zwei Zeilen der CSV-Dateien referenzieren den selben internen Datensatz und können daher nicht verarbeitet werden.
DBCsvDuplicateKeyTip: Entfernen Sie eine der unten aufgeführten Zeilen aus Ihren CSV-Dateien und versuchen Sie es erneut.
DBCsvKeyException: Für eine Zeile der CSV-Dateien konnte nicht festgestellt werden, ob sie zu einem bestehenden internen Datensatz korrespondieren.
DBCsvException: Bei der Berechnung der auszuführenden Aktionen für einen Datensatz ist ein Fehler aufgetreten.
DBCsvParseError: Eine hochgeladene Datei konnte nicht korrekt als CSV-Datei im erwarteten Format interpretiert werden.
DBCsvParseErrorTip: Die Uni2work-Komponente, die für das Interpretieren von CSV-Dateien zuständig ist, hat folgende Fehlermeldung produziert:
CsvColumnsExplanationsTip: Bedeutung und Format der in der CSV-Datei enthaltenen Spalten
CsvExportExample: Beispiel-CSV exportieren
CsvExampleData: Beispiel-Datei
CourseSortingOnlyLoggedIn: Das Benutzerinterface zur Sortierung dieser Tabelle ist nur für eingeloggte Benutzer aktiv
LecturersForN n@Int: #{pluralDE n "Dozent" "Dozenten"}
Registered: Angemeldet
Registration: Anmeldung
TableCourseDescription: Beschreibung
RowCount count@Int64: #{count} #{pluralDE count "passender Eintrag" "passende Einträge"} insgesamt
JSONFieldDecodeFailure aesonFailure@String: Konnte JSON nicht parsen: #{aesonFailure}

View File

@ -0,0 +1,31 @@
PSLimitNonPositive: “pagesize” must be greater than zero
NoTableContent: No entries
DBTablePagesize: Entries per page
DBTablePagesizeAll: All
CsvFile: CSV file
CsvImportExplanationLabel: Informating regarding CSV import
CsvColumnsExplanationsLabel: Column & cell format
CsvImport: CSV import
CsvImportNotConfigured: CSV import not configured
CsvImportConfirmationHeading: CSV import preview (no changes have been made yet)
CsvImportConfirmationTip: No changes have been made yet! Importing this CSV file corresponds to performing the edits listed below. Please choose the edits that should be performed before finalising the import.
CsvImportUnnecessary: Importing the given CSV file does not correspond to performing any edits
CsvImportSuccessful n: Successfully imported CSV file. #{n} #{pluralEN n "edit" "edits"} have been performed.
CsvImportAborted: CSV import aborted
DBCsvImportActionToggleAll: All/None
DBCsvDuplicateKey: Two rows in the CSV file reference the same database entry and are thus invalid
DBCsvDuplicateKeyTip: Please remove one of the lines listed below and try again.
DBCsvKeyException: For a row in the CSV file it could not be determined whether it references any database entry.
DBCsvException: An error occurred hile computing the set of edits this CSV import corresponds to.
DBCsvParseError: An uploaded file could not be interpreted as CSV of the expected format.
DBCsvParseErrorTip: The Uni2work-component that handles CSV decoding has reported the following error:
CsvColumnsExplanationsTip: Meaning and format of the columns contained in imported and exported CSV files
CsvExportExample: Export example CSV
CsvExampleData: Example data
CourseSortingOnlyLoggedIn: The user interface for sorting this table is only active for logged in users
LecturersForN n: #{pluralEN n "Lecturer" "Lecturers"}
Registered: Enrolled
Registration: Enrolment
TableCourseDescription: Description
RowCount count: #{count} matching #{pluralEN count "entry" "entries"}
JSONFieldDecodeFailure aesonFailure: Could not parse JSON: #{aesonFailure}

View File

@ -0,0 +1,85 @@
#communication.hs
RecipientCustom: Weitere Empfänger
RGCourseParticipants: Kursteilnehmer
RGCourseLecturers: Kursverwalter
RGCourseCorrectors: Korrektoren
RGCourseTutors: Tutoren
RGCourseUnacceptedApplicants: Nicht akzeptierte Bewerber
RecipientToggleAll: Alle/Keine
CommCourseTestSubject customSubject@Text: [TEST] #{customSubject}
UtilCommCourseSubject: Kursmitteilung
CommRecipients: Empfänger
CommRecipientsTip: Sie selbst erhalten immer eine Kopie der Nachricht
CommRecipientsList: Die an Sie selbst verschickte Kopie der Nachricht wird, zu Archivierungszwecken, eine vollständige Liste aller Empfänger enthalten. Die Empfängerliste wird im CSV-Format an die E-Mail angehängt. Andere Empfänger erhalten die Liste nicht. Bitte entfernen Sie dementsprechend den Anhang bevor Sie die E-Mail weiterleiten oder anderweitig mit Dritten teilen.
UtilEMail: E-Mail
UtilMultiEmailFieldTip: Es sind mehrere, Komma-separierte, E-Mail-Adressen möglich
RGTutorialParticipants tutn@TutorialName: Tutorium-Teilnehmer (#{tutn})
RGExamRegistered examn@ExamName: Angemeldet zur Prüfung „#{examn}“
RGSheetSubmittor shn@SheetName: Abgebende für das Übungsblatt „#{shn}“
CommSubject: Betreff
CommSuccess n@Int: Nachricht wurde an #{n} Empfänger versandt
CommTestSuccess: Nachricht wurde zu Testzwecken nur an Sie selbst versandt
#delete.hs
DeleteCopyStringIfSure n@Int: Wenn Sie sich sicher sind, dass Sie #{pluralDE n "das obige Objekt" "obige Objekte"} unwiderbringlich löschen möchten, schreiben Sie bitte zunächst den angezeigten Text ab.
DeletePressButtonIfSure n@Int: Wenn Sie sich sicher sind, dass Sie #{pluralDE n "das obige Objekt" "obige Objekte"} unwiderbringlich löschen möchten, bestätigen Sie dies bitte durch Drücken des untigen Knopfes.
DeleteConfirmation: Bestätigung
DeleteConfirmationWrong: Bestätigung muss genau dem angezeigten Text entsprechen.
#form.hs
MultiActionUnknownAction: In einem von einem Eingabefeld abhängigen Formular wurde ein Wert gewählt, für den kein Formular verfügbar ist
InvalidRoute: Konnte URL nicht interpretieren
PointsNotPositive: Punktzahl darf nicht negativ sein
PointsTooHigh maxPoints@Points: Punktzahl darf nicht höher als #{maxPoints} sein
PointsTooLow minPoints@Points: Punktzahl darf nicht kleiner als #{minPoints} sein
NoStudyField: Kein Studienfach
UploadModeNone: Kein Upload
UploadModeAny: Upload, beliebige Datei(en)
UploadModeSpecific: Upload, vorgegebene Dateinamen
UploadModeUnpackZips: Abgabe mehrerer Dateien
UploadModeUnpackZipsTip: Wenn die Abgabe mehrerer Dateien erlaubt ist, werden auch unterstützte Archiv-Formate zugelassen. Diese werden dann beim Hochladen automatisch entpackt.
UploadAnyEmptyOk: Leere Uploads erlauben?
UploadAnyEmptyOkTip: Sollen, statt einen Fehler auszugeben, Uploads, die nur aus leeren Dateien und/oder Verzeichnissen bestehen, erlaubt werden?
UploadModeExtensionRestrictionEmpty: Liste von zulässigen Dateiendungen darf nicht leer sein
UploadSpecificFiles: Vorgegebene Dateinamen
NoUploadSpecificFilesConfigured: Wenn der Abgabemodus vorgegebene Dateinamen vorsieht, muss mindestens ein vorgegebener Dateiname konfiguriert werden.
UploadSpecificFilesDuplicateNames: Vorgegebene Dateinamen müssen eindeutig sein
UploadSpecificFilesDuplicateLabels: Bezeichner für vorgegebene Dateinamen müssen eindeutig sein
UploadSpecificFileLabel: Bezeichnung
UploadSpecificFileName: Dateiname
UploadSpecificFileRequired: Zur Abgabe erforderlich
UploadSpecificFileMaxSize: Maximale Dateigröße (Bytes)
UploadSpecificFileMaxSizeNegative: Maximale Dateigröße darf nicht negativ sein
UploadSpecificFileEmptyOk: Leere Uploads erlauben
UnknownPseudonymWord pseudonymWord@Text: Unbekanntes Pseudonym-Wort "#{pseudonymWord}"
GenericFileFieldFileTooLarge file@FilePath: „#{file}“ ist zu groß
GenericFileFieldInvalidExtension file@FilePath: „#{file}” hat keine zulässige Dateiendung
OnlyUploadOneFile: Bitte nur eine Datei hochladen.
UploadAtLeastOneNonemptyFile: Bitte mindestens eine nichtleere Datei hochladen.
FileUploadOnlySessionTip: Sie haben diese Datei in der aktuellen Session bereits hochgeladen, sie ist allerdings womöglich noch nicht gespeichert, z.B. wenn beim Auswerten des Formulars ein Fehler auftrat. Stellen Sie sicher, dass alle Dateien, die Sie hochladen wollten auch ordnungsgemäß im System hinterlegt sind!
UtilPreviouslyUploadedInfo: Bereits hochgeladene Dateien
UtilPreviouslyUploadedDeletionInfo: Nur ausgewählte und unten hinzugefügte Dateien werden erneut hochgeladen
MultiFileUploadInfo: Mehrere Dateien mit Shift oder Strg auswählen
UtilAddMoreFiles: Weitere Dateien hinzufügen:
InvalidDateTimeFormat: Ungültiges Datums- und Zeitformat, JJJJ-MM-TTTHH:MM[:SS] Format erwartet
AmbiguousUTCTime: Der angegebene Zeitpunkt lässt sich nicht eindeutig zu UTC konvertieren
IllDefinedUTCTime: Der angegebene Zeitpunkt lässt sich nicht zu UTC konvertieren
InvalidLangFormat: Ungültiger Sprach-Code (RFC1766)
MultiUserFieldExplanationAnyUser: Dieses Eingabefeld sucht in den Adressen aller Uni2work-Benutzer.
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.
AmbiguousEmail: E-Mail-Adresse nicht eindeutig
UtilExamResultGrade: Note
UtilExamResultPass: Bestanden/Nicht Bestanden
UtilExamResultNoShow: Nicht erschienen
UtilExamResultVoided: Entwertet
CourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen}
RoomReferenceNone: —
RoomReferenceSimple: Text
RoomReferenceLink: Link & Anweisungen
RoomReferenceSimpleText: Raum
RoomReferenceSimpleTextPlaceholder: Raum
RoomReferenceLinkLink: Link
RoomReferenceLinkLinkPlaceholder: URL
RoomReferenceLinkInstructions: Anweisungen
RoomReferenceLinkInstructionsPlaceholder: Anweisungen

View File

@ -0,0 +1,85 @@
#communication.hs
RecipientCustom: Custom recipients
RGCourseParticipants: Course participants
RGCourseLecturers: Course administrators
RGCourseCorrectors: Course correctors
RGCourseTutors: Course tutors
RGCourseUnacceptedApplicants: Applicants not accepted
RecipientToggleAll: All/None
CommCourseTestSubject customSubject: [TEST] #{customSubject}
UtilCommCourseSubject: Course message
CommRecipients: Recipients
CommRecipientsTip: You always receive a copy of the message
CommRecipientsList: For archival purposes the copy of the message sent to you will contain a complete list of all recipients. The list of recipients will be attached to the email in CSV-format. Other recipients do not receive the list. Thus, please remove the attachment before you forward the email or otherwise share it with third parties.
UtilEMail: Email
UtilMultiEmailFieldTip: Multiple emails addresses may be specified (comma-separated)
RGTutorialParticipants tutn: Tutorial participants (#{tutn})
RGExamRegistered examn: Registered for exam “#{examn}”
RGSheetSubmittor shn: Submitted for exercise sheet “#{shn}”
CommSubject: Subject
CommSuccess n: Message was sent to #{n} #{pluralEN n "recipient" "recipients"}
CommTestSuccess: Message was sent only to yourself for testing purposes
#delete.hs
DeleteCopyStringIfSure n: If you are sure that you want to permanently delete the #{pluralEN n "object" "objects"} listed below, please copy the shown text.
DeletePressButtonIfSure n: If you are sure that you want to permanently delete the #{pluralEN n "object" "objects"} listed below, please confirm the action by pressing the button.
DeleteConfirmation: Confirmation text
DeleteConfirmationWrong: Confirmation text must match the shown text exactly.
#form.hs
MultiActionUnknownAction: In a form dependent on the value of a field a value was given for which no form is available
InvalidRoute: Could not interpret url
PointsNotPositive: Points may not be negative
PointsTooHigh maxPoints: Points may not be more than #{maxPoints}
PointsTooLow minPoints: Points may not be less than #{minPoints}
NoStudyField: No field of study
UploadModeNone: No Upload
UploadModeAny: Upload arbitrary files
UploadModeSpecific: Upload pre-defined files
UploadModeUnpackZips: Upload multiple files
UploadModeUnpackZipsTip: If upload of multiple files is permitted, supported archive formats are also accepted. Archives are automatically unpacked during upload.
UploadAnyEmptyOk: Allow empty uploads?
UploadAnyEmptyOkTip: Should, instead of emitting an error, uploads be allowed, that consist solely of empty files and/or directories?
UploadModeExtensionRestrictionEmpty: List of permitted file extensions may not be empty
UploadSpecificFiles: Pre-defined files
NoUploadSpecificFilesConfigured: If pre-defined files are selected, at least one file needs to be configured.
UploadSpecificFilesDuplicateNames: Names of pre-defined files must be unique
UploadSpecificFilesDuplicateLabels: Labels of pre-defined files must be unique
UploadSpecificFileLabel: Label
UploadSpecificFileName: Filename
UploadSpecificFileRequired: Required for submission
UploadSpecificFileMaxSize: Maximum filesize (bytes)
UploadSpecificFileMaxSizeNegative: Maximum filesize may not be negative
UploadSpecificFileEmptyOk: Allow empty uploads
UnknownPseudonymWord pseudonymWord: Invalid pseudonym-word “#{pseudonymWord}”
GenericFileFieldFileTooLarge file: “#{file}” is too large
GenericFileFieldInvalidExtension file: “#{file}” does not have an acceptable file extension
OnlyUploadOneFile: Please only upload one file
UploadAtLeastOneNonemptyFile: Please upload at least one nonempty file.
FileUploadOnlySessionTip: You have already uploaded this file during your current session. It may not yet have been saved permanently, e.g. when an error occurred during processing of the form. Please ensure that all files you intended to upload are properly stored within Uni2work!
UtilPreviouslyUploadedInfo: Previously uploaded files
UtilPreviouslyUploadedDeletionInfo: Only checked files and files added below will be uploaded again
InvalidDateTimeFormat: Invalid date and time format. YYYY-MM-DDTHH:MM[:SS] expected
AmbiguousUTCTime: The given timestamp cannot be converted to UTC unambiguously
IllDefinedUTCTime: The given timestamp cannot be converted to UTC
MultiFileUploadInfo: Choose multiple files using Shift or Ctrl
UtilAddMoreFiles: Additional files:
InvalidLangFormat: Invalid language code (RFC1766)
MultiUserFieldExplanationAnyUser: This input searches through the addresses of all Uni2work users.
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.
AmbiguousEmail: Email address is ambiguous
UtilExamResultGrade: Grade
UtilExamResultPass: Passed/Failed
UtilExamResultNoShow: Not present
UtilExamResultVoided: Voided
CourseOption tid ssh coursen: #{tid} - #{ssh} - #{coursen}
RoomReferenceNone: —
RoomReferenceSimple: Text
RoomReferenceLink: Link & Instructions
RoomReferenceSimpleText: Room
RoomReferenceSimpleTextPlaceholder: Room
RoomReferenceLinkLink: Link
RoomReferenceLinkLinkPlaceholder: URL
RoomReferenceLinkInstructions: Instructions
RoomReferenceLinkInstructionsPlaceholder: Instructions

View File

@ -8,7 +8,8 @@ module Foundation.I18n
, UniWorXCourseMessage(..), UniWorXAllocationMessage(..), UniWorXExamMessage(..) , UniWorXCourseMessage(..), UniWorXAllocationMessage(..), UniWorXExamMessage(..)
, UniWorXSheetMessage(..), UniWorXAdminMessage(..), UniWorXSubmissionMessage(..) , UniWorXSheetMessage(..), UniWorXAdminMessage(..), UniWorXSubmissionMessage(..)
, UniWorXTutorialMessage(..), UniWorXUserMessage(..), UniWorXButtonMessage(..) , UniWorXTutorialMessage(..), UniWorXUserMessage(..), UniWorXButtonMessage(..)
, UniWorXFormMessage(..), UniWorXRatingMessage(..) , UniWorXFormMessage(..), UniWorXRatingMessage(..), UniWorXTableColumnMessage(..)
, UniWorXTablePaginationMessage(..),UniWorXUtilMessage(..)
, ShortTermIdentifier(..) , ShortTermIdentifier(..)
, MsgLanguage(..) , MsgLanguage(..)
, ShortSex(..) , ShortSex(..)
@ -152,6 +153,9 @@ mkMessageAddition ''UniWorX "Tutorial" "messages/uniworx/uniworx_new/categories/
mkMessageAddition ''UniWorX "User" "messages/uniworx/uniworx_new/categories/user" "de-de-formal" mkMessageAddition ''UniWorX "User" "messages/uniworx/uniworx_new/categories/user" "de-de-formal"
mkMessageAddition ''UniWorX "Button" "messages/uniworx/uniworx_new/utils/buttons" "de-de-formal" mkMessageAddition ''UniWorX "Button" "messages/uniworx/uniworx_new/utils/buttons" "de-de-formal"
mkMessageAddition ''UniWorX "Form" "messages/uniworx/uniworx_new/utils/form" "de-de-formal" mkMessageAddition ''UniWorX "Form" "messages/uniworx/uniworx_new/utils/form" "de-de-formal"
mkMessageAddition ''UniWorX "TableColumn" "messages/uniworx/uniworx_new/utils/table_column" "de-de-formal"
mkMessageAddition ''UniWorX "TablePagination" "messages/uniworx/uniworx_new/utils/table_pagination" "de-de-formal"
mkMessageAddition ''UniWorX "Util" "messages/uniworx/uniworx_new/utils/utils" "de-de-formal"
mkMessageAddition ''UniWorX "Rating" "messages/uniworx/uniworx_new/utils/rating" "de-de-formal" mkMessageAddition ''UniWorX "Rating" "messages/uniworx/uniworx_new/utils/rating" "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"

View File

@ -194,7 +194,7 @@ newsUpcomingSheets uid = do
in (==b) <$> hasReadAccessTo (CSheetR tid ssh csh shn SShowR) :: DB Bool in (==b) <$> hasReadAccessTo (CSheetR tid ssh csh shn SShowR) :: DB Bool
] ]
, dbtFilterUI = mempty , dbtFilterUI = mempty
, dbtStyle = def { dbsEmptyStyle = DBESNoHeading, dbsEmptyMessage = MsgNoUpcomingSheetDeadlines } , dbtStyle = def { dbsEmptyStyle = DBESNoHeading, dbsEmptyMessage = (SomeMessage MsgNoUpcomingSheetDeadlines) }
, dbtParams = def , dbtParams = def
, dbtIdent = "upcoming-sheets" :: Text , dbtIdent = "upcoming-sheets" :: Text
, dbtCsvEncode = noCsvEncode , dbtCsvEncode = noCsvEncode

View File

@ -99,7 +99,7 @@ crTestJobsCourseCommunication jCourse comm = do
jSender <- requireAuthId jSender <- requireAuthId
MsgRenderer mr <- getMsgRenderer MsgRenderer mr <- getMsgRenderer
let comm' = comm { cSubject = Just . mr . MsgCommCourseTestSubject . fromMaybe (mr MsgCommCourseSubject) $ cSubject comm } let comm' = comm { cSubject = Just . mr . MsgCommCourseTestSubject . fromMaybe (mr MsgUtilCommCourseSubject) $ cSubject comm }
crJobsCourseCommunication jCourse comm' .| C.filter ((== Right jSender) . jRecipientEmail) crJobsCourseCommunication jCourse comm' .| C.filter ((== Right jSender) . jRecipientEmail)
@ -147,7 +147,7 @@ commR CommunicationRoute{..} = do
recipientAForm = postProcess <$> massInputA MassInput{..} (fslI MsgCommRecipients & setTooltip MsgCommRecipientsTip) True (Just chosenRecipients') recipientAForm = postProcess <$> massInputA MassInput{..} (fslI MsgCommRecipients & setTooltip MsgCommRecipientsTip) True (Just chosenRecipients')
where where
miAdd (BoundedPosition RecipientCustom, 0) 1 nudge submitView = Just $ \csrf -> do miAdd (BoundedPosition RecipientCustom, 0) 1 nudge submitView = Just $ \csrf -> do
(addRes, addView) <- mpreq (multiUserField True Nothing) (fslpI MsgEMail (mr MsgEMail) & setTooltip MsgMultiEmailFieldTip & addName (nudge "email")) Nothing (addRes, addView) <- mpreq (multiUserField True Nothing) (fslpI MsgUtilEMail (mr MsgUtilEMail) & setTooltip MsgUtilMultiEmailFieldTip & addName (nudge "email")) Nothing
let let
addRes' = addRes <&> \nEmails ((Map.elems &&& maybe 0 (succ . snd . fst) . Map.lookupMax) . Map.filterWithKey (\(BoundedPosition c, _) _ -> c == RecipientCustom) -> (oEmails, kStart)) -> FormSuccess . Map.fromList . zip (map (BoundedPosition RecipientCustom, ) [kStart..]) . Set.toList $ nEmails `Set.difference` Set.fromList oEmails addRes' = addRes <&> \nEmails ((Map.elems &&& maybe 0 (succ . snd . fst) . Map.lookupMax) . Map.filterWithKey (\(BoundedPosition c, _) _ -> c == RecipientCustom) -> (oEmails, kStart)) -> FormSuccess . Map.fromList . zip (map (BoundedPosition RecipientCustom, ) [kStart..]) . Set.toList $ nEmails `Set.difference` Set.fromList oEmails
return (addRes', $(widgetFile "widgets/communication/recipientAdd")) return (addRes', $(widgetFile "widgets/communication/recipientAdd"))

View File

@ -1295,11 +1295,11 @@ localTimeField = Field
} }
where where
-- `defaultTimeLocale` is okay here, since `fieldTimeFormat` does not contain any words -- `defaultTimeLocale` is okay here, since `fieldTimeFormat` does not contain any words
readTime :: Text -> Either UniWorXMessage LocalTime readTime :: Text -> Either (SomeMessage UniWorX) LocalTime
readTime t = readTime t =
case parseTimeM True defaultTimeLocale fieldTimeFormat (T.unpack t) of case parseTimeM True defaultTimeLocale fieldTimeFormat (T.unpack t) of
Just lTime -> Right lTime Just lTime -> Right lTime
Nothing -> Left MsgInvalidDateTimeFormat Nothing -> Left (SomeMessage MsgInvalidDateTimeFormat)
utcTimeField :: (MonadHandler m, HandlerSite m ~ UniWorX) => Field m UTCTime utcTimeField :: (MonadHandler m, HandlerSite m ~ UniWorX) => Field m UTCTime
utcTimeField = checkMMap (return . localTimeToUTC') utcToLocalTime localTimeField utcTimeField = checkMMap (return . localTimeToUTC') utcToLocalTime localTimeField
@ -1327,8 +1327,8 @@ data JsonFieldKind
jsonField :: ( ToJSON a, FromJSON a jsonField :: ( ToJSON a, FromJSON a
, MonadHandler m , MonadHandler m
, RenderMessage (HandlerSite m) UniWorXMessage
, RenderMessage (HandlerSite m) FormMessage , RenderMessage (HandlerSite m) FormMessage
, RenderMessage (HandlerSite m) UniWorXTablePaginationMessage
) )
=> JsonFieldKind => JsonFieldKind
-> Field m a -> Field m a
@ -1357,8 +1357,8 @@ jsonField fieldKind = Field{..}
yamlField :: ( ToJSON a, FromJSON a yamlField :: ( ToJSON a, FromJSON a
, MonadHandler m , MonadHandler m
, RenderMessage (HandlerSite m) UniWorXMessage
, RenderMessage (HandlerSite m) FormMessage , RenderMessage (HandlerSite m) FormMessage
, RenderMessage (HandlerSite m) UniWorXWorkflowMessage
) )
=> Field m a => Field m a
yamlField = Field{..} yamlField = Field{..}

View File

@ -116,7 +116,7 @@ sortSchool querySsh = singletonMap "school" . SortColumn $ view querySsh
colSchoolShort :: OpticColonnade SchoolId colSchoolShort :: OpticColonnade SchoolId
colSchoolShort resultSsh = Colonnade.singleton (fromSortable header) body colSchoolShort resultSsh = Colonnade.singleton (fromSortable header) body
where where
header = Sortable (Just "school-short") (i18nCell MsgSchoolShort) header = Sortable (Just "school-short") (i18nCell MsgTableSchoolShort)
body = i18nCell . unSchoolKey . view resultSsh body = i18nCell . unSchoolKey . view resultSsh
sortSchoolShort :: OpticSortColumn SchoolId sortSchoolShort :: OpticSortColumn SchoolId
@ -125,7 +125,7 @@ sortSchoolShort querySsh = singletonMap "school-short" . SortColumn $ view query
colSchoolName :: OpticColonnade SchoolName colSchoolName :: OpticColonnade SchoolName
colSchoolName resultSn = Colonnade.singleton (fromSortable header) body colSchoolName resultSn = Colonnade.singleton (fromSortable header) body
where where
header = Sortable (Just "school-name") (i18nCell MsgSchoolName) header = Sortable (Just "school-name") (i18nCell MsgTableSchoolName)
body = i18nCell . view resultSn body = i18nCell . view resultSn
sortSchoolName :: OpticSortColumn SchoolName sortSchoolName :: OpticSortColumn SchoolName
@ -556,7 +556,7 @@ fltrUserNameEmailUI mPrev =
colUserMatriculation :: OpticColonnade (Maybe UserMatriculation) colUserMatriculation :: OpticColonnade (Maybe UserMatriculation)
colUserMatriculation resultMatriculation = Colonnade.singleton (fromSortable header) body colUserMatriculation resultMatriculation = Colonnade.singleton (fromSortable header) body
where where
header = Sortable (Just "user-matriculation") (i18nCell MsgUserMatriculation) header = Sortable (Just "user-matriculation") (i18nCell MsgTableUserMatriculation)
body = views resultMatriculation . maybe mempty $ cell . toWidget body = views resultMatriculation . maybe mempty $ cell . toWidget
sortUserMatriculation :: OpticSortColumn (Maybe UserMatriculation) sortUserMatriculation :: OpticSortColumn (Maybe UserMatriculation)
@ -566,7 +566,7 @@ fltrUserMatriculation :: OpticFilterColumn' t (Set Text) (E.SqlExpr (E.Value (Ma
fltrUserMatriculation queryMatriculation = singletonMap "user-matriculation" . FilterColumn . mkContainsFilterWith Just $ view queryMatriculation fltrUserMatriculation queryMatriculation = singletonMap "user-matriculation" . FilterColumn . mkContainsFilterWith Just $ view queryMatriculation
fltrUserMatriculationUI :: DBFilterUI fltrUserMatriculationUI :: DBFilterUI
fltrUserMatriculationUI mPrev = prismAForm (singletonFilter "user-matriculation") mPrev $ aopt textField (fslI MsgUserMatriculation) fltrUserMatriculationUI mPrev = prismAForm (singletonFilter "user-matriculation") mPrev $ aopt textField (fslI MsgTableUserMatriculation)
colUserMatriclenr :: (IsDBTable m c, HasUser a) => Colonnade Sortable a (DBCell m c) colUserMatriclenr :: (IsDBTable m c, HasUser a) => Colonnade Sortable a (DBCell m c)
@ -783,7 +783,7 @@ fltrDegreeUI mPrev =
colStudyFeatures :: OpticColonnade UserTableStudyFeatures colStudyFeatures :: OpticColonnade UserTableStudyFeatures
colStudyFeatures resultFeatures = Colonnade.singleton (fromSortable header) body colStudyFeatures resultFeatures = Colonnade.singleton (fromSortable header) body
where where
header = Sortable Nothing (i18nCell MsgColumnStudyFeatures) header = Sortable Nothing (i18nCell MsgTableColumnStudyFeatures)
body = views (resultFeatures . _UserTableStudyFeatures) . flip listCell $ \UserTableStudyFeature{..} -> cell $(widgetFile "table/cell/user-study-feature") body = views (resultFeatures . _UserTableStudyFeatures) . flip listCell $ \UserTableStudyFeature{..} -> cell $(widgetFile "table/cell/user-study-feature")
fltrRelevantStudyFeaturesTerms :: OpticFilterColumn' t (Set Text) (E.SqlExpr (E.Value TermId), E.SqlExpr (E.Value UserId)) fltrRelevantStudyFeaturesTerms :: OpticFilterColumn' t (Set Text) (E.SqlExpr (E.Value TermId), E.SqlExpr (E.Value UserId))

View File

@ -521,7 +521,7 @@ instance Default DBEmptyStyle where
data DBStyle r = DBStyle data DBStyle r = DBStyle
{ dbsEmptyStyle :: DBEmptyStyle { dbsEmptyStyle :: DBEmptyStyle
, dbsEmptyMessage :: UniWorXMessage , dbsEmptyMessage :: (SomeMessage UniWorX)
, dbsAttrs :: [(Text, Text)] , dbsAttrs :: [(Text, Text)]
, dbsFilterLayout :: Widget , dbsFilterLayout :: Widget
-> Enctype -> Enctype
@ -544,7 +544,7 @@ data DBSTemplateMode r = DBSTDefault { dbstmNumber :: Int64 -> Bool, dbstmShowNu
instance Default (DBStyle r) where instance Default (DBStyle r) where
def = DBStyle def = DBStyle
{ dbsEmptyStyle = def { dbsEmptyStyle = def
, dbsEmptyMessage = MsgNoTableContent , dbsEmptyMessage = (SomeMessage MsgNoTableContent)
, dbsAttrs = [ ("class", "table table--striped table--hover table--sortable") ] , dbsAttrs = [ ("class", "table table--striped table--hover table--sortable") ]
, dbsFilterLayout = \_filterWgdt _filterEnctype _filterAction scrolltable -> , dbsFilterLayout = \_filterWgdt _filterEnctype _filterAction scrolltable ->
[whamlet| [whamlet|

View File

@ -35,5 +35,5 @@
$maybe desc <- courseDescription $maybe desc <- courseDescription
<div .course-teaser__chevron> <div .course-teaser__chevron>
<div .course-teaser__description-label>_{MsgCourseDescription} <div .course-teaser__description-label>_{MsgTableCourseDescription}
<div .course-teaser__description>#{desc} <div .course-teaser__description>#{desc}

View File

@ -14,7 +14,7 @@ $if not (null fileInfos)
<tr> <tr>
<th .table__th> <th .table__th>
<th .table__th colspan=2> <th .table__th colspan=2>
_{MsgPreviouslyUploadedInfo} _{MsgUtilPreviouslyUploadedInfo}
<tbody> <tbody>
$forall FileUploadInfo{..} <- fileInfos $forall FileUploadInfo{..} <- fileInfos
<tr> <tr>
@ -28,9 +28,9 @@ $if not (null fileInfos)
#{fuiTitle} #{fuiTitle}
<div .file-input__info> <div .file-input__info>
_{MsgPreviouslyUploadedDeletionInfo} _{MsgUtilPreviouslyUploadedDeletionInfo}
<div .file-uploads-label>_{MsgAddMoreFiles} <div .file-uploads-label>_{MsgUtilAddMoreFiles}
$# new files $# new files
<input type="file" uw-file-input name=#{fieldName} id=#{fieldId} :fieldMultiple:multiple :acceptRestricted:accept=#{accept} :req && null fileInfos:required :is _Just fieldMaxFileSize:data-max-size=#{maybe "-1" tshow fieldMaxFileSize}> <input type="file" uw-file-input name=#{fieldName} id=#{fieldId} :fieldMultiple:multiple :acceptRestricted:accept=#{accept} :req && null fileInfos:required :is _Just fieldMaxFileSize:data-max-size=#{maybe "-1" tshow fieldMaxFileSize}>