From c2ea33066f7a815dfcec87e0baae9340d1adbbb3 Mon Sep 17 00:00:00 2001 From: Winnie Ros Date: Thu, 8 Apr 2021 18:15:21 +0200 Subject: [PATCH] refactor(messages): continuing utils-folder --- messages/uniworx/misc/de-de-formal.msg | 267 ------------------ messages/uniworx/misc/en-eu.msg | 266 ----------------- .../categories/allocation/de-de-formal.msg | 24 ++ .../categories/allocation/en-eu.msg | 25 +- .../courses/application/de-de-formal.msg | 3 + .../categories/courses/application/en-eu.msg | 3 + .../categories/courses/de-de-formal.msg | 8 +- .../uniworx_new/categories/courses/en-eu.msg | 10 +- .../categories/exam/exam/de-de-formal.msg | 30 +- .../categories/exam/exam/en-eu.msg | 29 +- .../exam/exam_office/de-de-formal.msg | 5 +- .../categories/exam/exam_office/en-eu.msg | 4 +- .../categories/sheet/de-de-formal.msg | 22 ++ .../uniworx_new/categories/sheet/en-eu.msg | 21 ++ .../categories/workflows/de-de-formal.msg | 1 + .../categories/workflows/en-eu.msg | 1 + .../utils/table_column/de-de-formal.de | 56 ++++ .../uniworx_new/utils/table_column/en-eu.msg | 56 ++++ .../utils/table_pagination/de-de-formal.msg | 31 ++ .../utils/table_pagination/en-eu.msg | 31 ++ .../uniworx_new/utils/utils/de-de-formal.de | 85 ++++++ .../uniworx/uniworx_new/utils/utils/en-eu.msg | 85 ++++++ src/Foundation/I18n.hs | 6 +- src/Handler/News.hs | 2 +- src/Handler/Utils/Communication.hs | 4 +- src/Handler/Utils/Form.hs | 8 +- src/Handler/Utils/Table/Columns.hs | 10 +- src/Handler/Utils/Table/Pagination.hs | 4 +- templates/table/course/course-teaser.hamlet | 2 +- templates/widgets/genericFileField.hamlet | 6 +- 30 files changed, 541 insertions(+), 564 deletions(-) create mode 100644 messages/uniworx/uniworx_new/utils/table_column/de-de-formal.de create mode 100644 messages/uniworx/uniworx_new/utils/table_column/en-eu.msg create mode 100644 messages/uniworx/uniworx_new/utils/table_pagination/de-de-formal.msg create mode 100644 messages/uniworx/uniworx_new/utils/table_pagination/en-eu.msg create mode 100644 messages/uniworx/uniworx_new/utils/utils/de-de-formal.de create mode 100644 messages/uniworx/uniworx_new/utils/utils/en-eu.msg diff --git a/messages/uniworx/misc/de-de-formal.msg b/messages/uniworx/misc/de-de-formal.msg index 22ecb44fa..03db48110 100644 --- a/messages/uniworx/misc/de-de-formal.msg +++ b/messages/uniworx/misc/de-de-formal.msg @@ -5,58 +5,6 @@ AcceptApplicationsInvite: Einladungen verschicken AcceptApplicationsSecondaryRandom: Zufällig 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 HeadingLegal: Rechtliche Informationen SubmissionNew: Abgabe anlegen @@ -95,7 +43,6 @@ SummerTerm year@Integer: Sommersemester #{year} WinterTerm year@Integer: Wintersemester #{year}/#{succ year} SummerTermShort year@Integer: SoSe #{year} WinterTermShort year@Integer: WiSe #{year}/#{mod (succ year) 100} -PSLimitNonPositive: “pagesize” muss größer als null sein Page num@Int64: #{num} TermsHeading: Semesterübersicht @@ -140,8 +87,6 @@ CourseNewHeading: Neuen Kurs anlegen CourseEditHeading tid@TermId ssh@SchoolId csh@CourseShorthand: Kurs #{tid}-#{ssh}-#{csh} editieren BoolIrrelevant: — -CourseDeleteQuestion: Wollen Sie den unten aufgeführten Kurs wirklich löschen? -CourseDeleted: Kurs gelöscht CourseUserRegister: Zum Kurs anmelden 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} 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! -SheetUploadMode: Abgabe von Dateien -UtilSheetSubmissionMode: Abgabe-Modus UtilSheetType: Wertung SheetArchiveFileTypeDirectoryExercise: aufgabenstellung @@ -270,8 +213,6 @@ UnauthorizedSubmissionRated: Diese Abgabe ist noch nicht korrigiert. UnauthorizedSubmissionCorrector: Sie sind nicht der Korrektor für diese Abgabe. UnauthorizedUserSubmission: Nutzer 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. UnfreeMaterials: Die Materialien für diese Veranstaltung sind nicht allgemein freigegeben. MaterialFree: Kursmaterialien ohne Anmeldung zugänglich @@ -324,7 +265,6 @@ CorByProportionOnly proportion@Rational: #{rationalToFixed3 proportion} Anteile CorByProportionIncludingTutorial 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 Users: Benutzer @@ -366,13 +306,10 @@ Never: Nie PreviouslyUploadedInfo: Bereits hochgeladene Dateien 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: NrColumn: Nr SelectColumn: Auswahl -DBTablePagesize: Einträge pro Seite -DBTablePagesizeAll: Alle CorrDownload: Herunterladen SubmissionDownloadAnonymous: Anonymisiert @@ -383,8 +320,6 @@ CorrUpload: Korrekturen hochladen CorrAutoSetCorrector: Korrekturen verteilen CorrDelete: Abgaben löschen 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 SubmissionCorrected: Korrigiert @@ -414,9 +349,6 @@ AchievedNormalPoints: Erreichte Punkte PassedResult: Ergebnis Passed: 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 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} -NoTableContent: Kein Tabelleninhalt 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 @@ -478,8 +409,6 @@ AssimilateUserHaveError: Beim Assimilieren ist ein Fehler aufgetreten AssimilateUserHaveWarnings: Beim Assimilieren wurden Warnungen ausgegeben AssimilateUserSuccess: Benutzer erfolgreich assimiliert -LecturersForN n@Int: #{pluralDE n "Dozent" "Dozenten"} - Date: Datum FormFieldRequiredTip: Gekennzeichnete Pflichtfelder sind immer auszufüllen @@ -490,10 +419,6 @@ AllocNotifyNewCourseDefault: Systemweite Einstellung AllocNotifyNewCourseForceOff: Nein 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 UtilEditedBy name@Text time@Text: #{time} durch #{name} 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} 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 AutoUnzipInfo: Entpackt hochgeladene ZIP-Dateien (*.zip) automatisch und fügt den Inhalt dem Stamm-Verzeichnis hinzu. 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. -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. -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 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 CorrectorSubmissions: Abgabe extern mit Pseudonym 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 FieldSecondary: Nebenfach ShortFieldPrimary: HF ShortFieldSecondary: NF -NoStudyField: Kein Studienfach DegreeKey: Abschlussschlüssel @@ -676,7 +571,6 @@ MailEditNotifications: Benachrichtigungen ein-/ausschalten MailSubjectSupport: Supportanfrage MailSubjectSupportCustom customSubject@Text: [Support] #{customSubject} -CommCourseTestSubject customSubject@Text: [TEST] #{customSubject} CommCourseSubject: Kursmitteilung MailSubjectLecturerInvitation tid@TermId ssh@SchoolId csh@CourseShorthand: [#{tid}-#{ssh}-#{csh}] Einladung zum Kursverwalter InvitationAcceptDecline: Einladung annehmen/ablehnen @@ -686,11 +580,9 @@ InvitationUniWorXTip: Uni2work ist ein webbasiertes Lehrverwaltungssystem der LM MailSubjectPasswordReset: Uni2work-Passwort ändern bzw. setzen -SheetGrading: Bewertung SheetGradingPoints maxPoints@Points: #{maxPoints} #{pluralDE maxPoints "Punkt" "Punkte"} SheetGradingPassPoints maxPoints@Points passingPoints@Points: Bestanden ab #{passingPoints} von #{maxPoints} #{pluralDE maxPoints "Punkt" "Punkten"} 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 SheetGradingCount': Anzahl @@ -702,36 +594,20 @@ SheetGradingPassAlways': Automatisch bestanden, sobald korrigiert SheetTypeBonus: Bonus SheetTypeNormal: Normal -SheetTypeInformational: Ohne Anrechnung -SheetTypeExamPartPoints: Als Prüfungsaufgabe 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. 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 SheetTypeNormal': Normal SheetTypeInformational': Ohne Anrechung SheetTypeNotGraded': Keine Korrektur -SheetGradingMaxPoints: Maximalpunktzahl -SheetGradingPassingPoints: Notwendig zum Bestehen - SheetGroupArbitrary: Arbiträre Gruppen SheetGroupRegisteredGroups: Registrierte Gruppen SheetGroupNoGroups: Keine Gruppenabgabe -SheetGroupMaxGroupsize: Maximale Gruppengröße CorrCreate: Abgaben registrieren -UnknownPseudonymWord pseudonymWord@Text: Unbekanntes Pseudonym-Wort "#{pseudonymWord}" 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. PseudonymAutocorrections: Korrekturvorschläge: @@ -797,8 +673,6 @@ MessageWarning: Warnung MessageInfo: Information MessageSuccess: Erfolg -InvalidLangFormat: Ungültiger Sprach-Code (RFC1766) - ErrorResponseTitleNotFound: Ressource nicht gefunden ErrorResponseTitleInternalError internalError@Text: Ein interner Fehler ist aufgetreten 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} ErrMsgHeading: Fehlermeldung entschlüsseln -InvalidRoute: Konnte URL nicht interpretieren - 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 NavigationFavourites: Favoriten -CommSubject: Betreff 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 -CommSuccess n@Int: Nachricht wurde an #{n} Empfänger versandt -CommTestSuccess: Nachricht wurde zu Testzwecken nur an Sie selbst versandt CommUndisclosedRecipients: Verborgene Empfänger 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) 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 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"} 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: — 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 ExamClosedBook: Closed Book @@ -986,31 +792,16 @@ ExternalExamUserDelete: Prüfungsteilnehmer entfernen ExternalExamUserMarkedSynchronised n@Int: #{n} #{pluralDE n "Prüfungsleistung" "Prüfungsleistungen"} als synchronisiert markiert -CsvFile: CSV-Datei -CsvImport: CSV-Import CsvExport: CSV-Export CsvModifyExisting: Existierende Einträge angleichen CsvAddNew: Neue Einträge einfügen 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)}%) TableProportionNoRatio c@Text of'@Text: #{c}/#{of'} 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 CsvColumnUserDegree: Abschluss, den der Teilnehmer im assoziierten Studienfach anstrebt CsvColumnUserSemester: Fachsemester des Teilnehmers im assoziierten Studienfach @@ -1018,13 +809,6 @@ CsvColumnUserSemester: Fachsemester des Teilnehmers im assoziierten Studienfach Action: Aktion 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 ExamUserCsvRegister: Kursteilnehmer zur Prüfung anmelden ExamUserCsvAssignOccurrence: Teilnehmern einen anderen Termin/Raum zuweisen @@ -1050,11 +834,6 @@ ExternalExamUserCsvDeregister: Hinterlegte Prüfungsleistung löschen TableHeadingCsvImport: CSV-Import TableHeadingCsvExport: CSV-Export -UtilExamResultGrade: Note -UtilExamResultPass: Bestanden/Nicht Bestanden -UtilExamResultNoShow: Nicht erschienen -UtilExamResultVoided: Entwertet - AuthLDAPLookupFailed: Nutzer konnte aufgrund eines LDAP-Fehlers nicht nachgeschlagen werden AuthLDAPInvalidLookup: Bestehender Nutzer konnte nicht eindeutig einem LDAP-Eintrag zugeordnet werden 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. SchoolFunctionInvitationAccepted school@SchoolName renderedFunction@Text: #{renderedFunction}-Einladung zum Dozent für „#{school}“ angenommen -AllocationActive: Aktiv -AllocationName: Name AllocationApplication: Bewerbung AllocationProcess: Platzvergabe -Allocation: Zentralanmeldung - -CourseApplicationId: Bewerbungsnummer -CourseApplicationRatingPoints: Bewertung - -UserMatriculation: Matrikelnummer SchoolShort: Kürzel SchoolName: Name @@ -1237,8 +1008,6 @@ ShortSexNotApplicable: k.A. MenuLanguage: Sprache LanguageChanged: Sprache erfolgreich geändert -GroupSizeNotNatural: „Gruppengröße“ muss eine natürliche Zahl sein -AmbiguousEmail: E-Mail-Adresse nicht eindeutig RFC1766: RFC1766-Sprachcode TermShort: Kürzel @@ -1294,31 +1063,7 @@ InfoLecturerAllocations: Zentralanmeldungen ParticipantsIntersectCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen} 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 -MultiActionUnknownAction: In einem von einem Eingabefeld abhängigen Formular wurde ein Wert gewählt, für den kein Formular verfügbar ist CourseParticipantStateIsActiveFilter: Ansicht CourseParticipantActive: Teilnehmer @@ -1367,19 +1112,7 @@ ExamCloseModeOnFinished: Mit Veröffentlichung ExamCloseModeOnFinishedHidden: Mit Veröffentlichung (versteckt) 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 WGFTextInput: Textfeld WGFFileUpload: Dateifeld - -CourseSortingOnlyLoggedIn: Das Benutzerinterface zur Sortierung dieser Tabelle ist nur für eingeloggte Benutzer aktiv \ No newline at end of file diff --git a/messages/uniworx/misc/en-eu.msg b/messages/uniworx/misc/en-eu.msg index bef6279f4..2317b8624 100644 --- a/messages/uniworx/misc/en-eu.msg +++ b/messages/uniworx/misc/en-eu.msg @@ -5,58 +5,6 @@ AcceptApplicationsInvite: Send invitations AcceptApplicationsSecondaryRandom: Randomly 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 HeadingLegal: Legal SubmissionNew: Create submission @@ -95,7 +43,6 @@ SummerTerm year: Summer semester #{year} WinterTerm year: Winter semester #{year}/#{succ year} SummerTermShort year: Summer #{year} WinterTermShort year: Winter #{year}/#{mod (succ year) 100} -PSLimitNonPositive: “pagesize” must be greater than zero Page num: #{num} TermsHeading: Semesters @@ -143,8 +90,6 @@ CourseNewHeading: Create new course CourseEditHeading tid ssh csh: Edit course #{tid}-#{ssh}-#{csh} BoolIrrelevant: — -CourseDeleteQuestion: Are you sure you want to delete the below-mentioned course? -CourseDeleted: Course deleted CourseUserRegister: Enrol for 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} 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! -SheetUploadMode: Submission of files -UtilSheetSubmissionMode: Submission mode UtilSheetType: Marking SheetArchiveFileTypeDirectoryExercise: exercise @@ -271,8 +214,6 @@ UnauthorizedSubmissionRated: This submission is not yet marked. UnauthorizedSubmissionCorrector: You are no corrector for this submission. UnauthorizedUserSubmission: Users may not directly submit 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. UnfreeMaterials: Course material are not publicly accessable. MaterialFree: Course material is publicly available. @@ -325,7 +266,6 @@ CorByProportionOnly proportion: #{rationalToFixed3 proportion} parts CorByProportionIncludingTutorial proportion: #{rationalToFixed3 proportion} parts - tutorials CorByProportionExcludingTutorial proportion: #{rationalToFixed3 proportion} parts + tutorials -RowCount count: #{count} matching #{pluralEN count "entry" "entries"} DeleteRow: Delete Users: Users @@ -367,13 +307,10 @@ Never: Never PreviouslyUploadedInfo: Previously uploaded files PreviouslyUploadedDeletionInfo: Only checked files and files added below will be uploaded again -MultiFileUploadInfo: Choose multiple files using Shift or Ctrl AddMoreFiles: Additional files: NrColumn: # SelectColumn: Selection -DBTablePagesize: Entries per page -DBTablePagesizeAll: All CorrDownload: Download SubmissionDownloadAnonymous: Anonymized @@ -384,8 +321,6 @@ CorrUpload: Upload corrections CorrAutoSetCorrector: Distribute corrections CorrDelete: Delete submissions 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 SubmissionCorrected: Marked @@ -415,9 +350,6 @@ AchievedNormalPoints: Points achieved PassedResult: Result Passed: Passed 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 VisibleFrom: Published @@ -457,7 +389,6 @@ SubmissionSinkExceptionInvalidFileTitleExtension file: Filename “#{show file} MultiSinkException name error: An error occurred in submission “#{name}”: #{error} -NoTableContent: No entries NoUpcomingSheetDeadlines: No upcoming sheets 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 AssimilateUserSuccess: Successfully assimilated user -LecturersForN n: #{pluralEN n "Lecturer" "Lecturers"} - Date: Date FormFieldRequiredTip: Required fields @@ -491,10 +420,6 @@ AllocNotifyNewCourseDefault: System wide setting AllocNotifyNewCourseForceOff: No 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 UtilEditedBy name time: #{time} by #{name} 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} 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 AutoUnzipInfo: Automatically unpacks ZIP-files (*.zip) and adds their content to the root directory. UploadModeExtensionRestriction: Allowed file extensions 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. -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 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 CorrectorSubmissions: External submission via pseudonym 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 FieldSecondary: Minor ShortFieldPrimary: Mj ShortFieldSecondary: Mn -NoStudyField: No field of study DegreeKey: Degree key @@ -680,8 +575,6 @@ MailEditNotifications: Enable/Disable notifications MailSubjectSupport: Support request MailSubjectSupportCustom customSubject: [Support] #{customSubject} -CommCourseTestSubject customSubject: [TEST] #{customSubject} - CommCourseSubject: Course message MailSubjectLecturerInvitation tid ssh csh: [#{tid}-#{ssh}-#{csh}] Invitation to be a course administrator InvitationAcceptDecline: Accept/Decline invitation @@ -691,11 +584,9 @@ InvitationUniWorXTip: Uni2work is a web based teaching management system at LMU MailSubjectPasswordReset: Set/Change Uni2work password -SheetGrading: Marking SheetGradingPoints maxPoints: #{maxPoints} #{pluralEN maxPoints "point" "points"} SheetGradingPassPoints maxPoints passingPoints: Pass with #{passingPoints} of #{maxPoints} #{pluralEN maxPoints "point" "points"} 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 SheetGradingCount': Number @@ -707,36 +598,20 @@ SheetGradingPassAlways': Automatically passed when corrected SheetTypeBonus: Bonus SheetTypeNormal: Normal -SheetTypeInformational: Informational -SheetTypeExamPartPoints: As an exam part 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. 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 SheetTypeNormal': Normal SheetTypeInformational': Informational SheetTypeNotGraded': Not marked -SheetGradingMaxPoints: Maximum number of points -SheetGradingPassingPoints: Points necessary to pass - SheetGroupArbitrary: Arbitrary groups SheetGroupRegisteredGroups: Registered groups SheetGroupNoGroups: No group submission -SheetGroupMaxGroupsize: Maximum group size CorrCreate: Register submissions -UnknownPseudonymWord pseudonymWord: Invalid pseudonym-word “#{pseudonymWord}” 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. PseudonymAutocorrections: Suggestions: @@ -802,8 +677,6 @@ MessageWarning: Warning MessageInfo: Information MessageSuccess: Success -InvalidLangFormat: Invalid language code (RFC1766) - ErrorResponseTitleNotFound: Resource not found ErrorResponseTitleInternalError internalError: An internal error occurred 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} ErrMsgHeading: Decrypt error message -InvalidRoute: Could not interpret url - 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 NavigationFavourites: Favourites -CommSubject: Subject 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 -CommSuccess n: Message was sent to #{n} #{pluralEN n "recipient" "recipients"} -CommTestSuccess: Message was sent only to yourself for testing purposes CommUndisclosedRecipients: Undisclosed 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) 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} 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. 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 -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: — 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 ExamClosedBook: Closed book @@ -988,31 +795,16 @@ ExternalExamUserDelete: Delete exam participant ExternalExamUserMarkedSynchronised n: Successfully marked #{n} #{pluralEN n "exam result" "exam results"} as synchronised -CsvFile: CSV file -CsvImport: CSV import CsvExport: CSV export CsvModifyExisting: Modify existing entries CsvAddNew: Add new 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)}%) TableProportionNoRatio c of': #{c}/#{of'} 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 CsvColumnUserDegree: Degree the participant pursues in 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 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 ExamUserCsvRegister: Register users for the exam ExamUserCsvAssignOccurrence: Assign occurrences/rooms to participants @@ -1052,11 +837,6 @@ ExternalExamUserCsvDeregister: Delete stored exam achievement TableHeadingCsvImport: CSV import 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 AuthLDAPInvalidLookup: Existing user could not be uniquely matched with a LDAP entry 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. SchoolFunctionInvitationAccepted school renderedFunction: Successfully accepted invitation to be #{renderedFunction} for “#{school}” -AllocationActive: Active -AllocationName: Name AllocationApplication: Application AllocationProcess: Allocation process -Allocation: Central allocation - -CourseApplicationId: Application number -CourseApplicationRatingPoints: Grading - -UserMatriculation: Matriculation SchoolShort: Shorthand SchoolName: Name @@ -1239,8 +1011,6 @@ ShortSexNotApplicable: N/A MenuLanguage: Language LanguageChanged: Language changed successfully -GroupSizeNotNatural: “Maximum group size” needs to be a natural number -AmbiguousEmail: Email address is ambiguous RFC1766: RFC1766 language code TermShort: Shorthand @@ -1296,32 +1066,8 @@ InfoLecturerAllocations: Central allocations ParticipantsIntersectCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen} 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 -MultiActionUnknownAction: In a form dependent on the value of a field a value was given for which no form is available - CourseParticipantStateIsActiveFilter: View CourseParticipantActive: Participant CourseParticipantInactive: Deregistered @@ -1369,19 +1115,7 @@ ExamCloseModeOnFinished: With publication of achievements ExamCloseModeOnFinishedHidden: With publication of achievements (hidden) 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 WGFTextInput: Text field WGFFileUpload: File field - -CourseSortingOnlyLoggedIn: The user interface for sorting this table is only active for logged in users diff --git a/messages/uniworx/uniworx_new/categories/allocation/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/allocation/de-de-formal.msg index 63aee956e..576394e88 100644 --- a/messages/uniworx/uniworx_new/categories/allocation/de-de-formal.msg +++ b/messages/uniworx/uniworx_new/categories/allocation/de-de-formal.msg @@ -144,3 +144,27 @@ AllocationNumCoursesAvailableApplied available@Int applied@Int: Sie haben sich b AllocationCourseRestrictionDontRestrict: AllocationCourseRestrictionSubstitutes: 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: diff --git a/messages/uniworx/uniworx_new/categories/allocation/en-eu.msg b/messages/uniworx/uniworx_new/categories/allocation/en-eu.msg index 636762a1d..774e91228 100644 --- a/messages/uniworx/uniworx_new/categories/allocation/en-eu.msg +++ b/messages/uniworx/uniworx_new/categories/allocation/en-eu.msg @@ -143,4 +143,27 @@ AllocationNumCoursesAvailableApplied available applied: You have applied for #{a AllocationCourseRestrictionDontRestrict: AllocationCourseRestrictionSubstitutes: -AllocationCourseRestrictionCustom: \ No newline at end of file +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: diff --git a/messages/uniworx/uniworx_new/categories/courses/application/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/courses/application/de-de-formal.msg index 663729e47..cabc0c57b 100644 --- a/messages/uniworx/uniworx_new/categories/courses/application/de-de-formal.msg +++ b/messages/uniworx/uniworx_new/categories/courses/application/de-de-formal.msg @@ -28,3 +28,6 @@ AcceptApplicationsModeTip: Sollen akzeptierte Bewerber:innen direkt als Teilnehm 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? CsvColumnUserAppStudyFeatures: Alle relevanten Studiendaten des/der Teilnehmers/Teilnehmerin als Semikolon (;) separierte Liste + +CourseApplicationId: Bewerbungsnummer +CourseApplicationRatingPoints: Bewertung diff --git a/messages/uniworx/uniworx_new/categories/courses/application/en-eu.msg b/messages/uniworx/uniworx_new/categories/courses/application/en-eu.msg index 275b13669..6a4d2eba5 100644 --- a/messages/uniworx/uniworx_new/categories/courses/application/en-eu.msg +++ b/messages/uniworx/uniworx_new/categories/courses/application/en-eu.msg @@ -28,3 +28,6 @@ AcceptApplicationsModeTip: Should accepted applications be enrolled in the cours AcceptApplicationsSecondary: Breaking ties 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 (;) + +CourseApplicationId: Application number +CourseApplicationRatingPoints: Grading diff --git a/messages/uniworx/uniworx_new/categories/courses/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/courses/de-de-formal.msg index 054b83a37..2a133a950 100644 --- a/messages/uniworx/uniworx_new/categories/courses/de-de-formal.msg +++ b/messages/uniworx/uniworx_new/categories/courses/de-de-formal.msg @@ -7,8 +7,8 @@ FilterRegistered: Angemeldet FilterCourseSearch: Volltext-Suche FilterCourseRegistered: Registriert FilterCourseRegisterOpen: Anmeldung möglich -Registered: Angemeldet -Registration: Anmeldung +CourseRegistered: Angemeldet +CourseRegistration: Anmeldung CourseDescription: Beschreibung CommCourseHeading: Kursmitteilung CourseLecturers: Kursverwalter:innen @@ -197,7 +197,6 @@ CourseApplicationInstructionsApplication: Anweisungen zur Bewerbung CourseApplicationInstructionsRegistration: Anweisungen zur Anmeldung CourseApplicationTemplateApplication: Bewerbungsvorlage(n) CourseApplicationTemplateRegistration: Anmeldungsvorlage(n) -CourseRegistration: Kursanmeldung 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. CourseMaterial: Material @@ -263,3 +262,6 @@ TutorialFreeCapacity: Freie Plätze TutorialRegistered: Angemeldet TutorialRegisterFrom: Anmeldungen ab TutorialRegisterTo: Anmeldungen bis + +CourseDeleteQuestion: Wollen Sie den unten aufgeführten Kurs wirklich löschen? +CourseDeleted: Kurs gelöscht diff --git a/messages/uniworx/uniworx_new/categories/courses/en-eu.msg b/messages/uniworx/uniworx_new/categories/courses/en-eu.msg index 5e72a402a..2b34e0eac 100644 --- a/messages/uniworx/uniworx_new/categories/courses/en-eu.msg +++ b/messages/uniworx/uniworx_new/categories/courses/en-eu.msg @@ -7,8 +7,8 @@ FilterRegistered: Enrolled FilterCourseSearch: Text search FilterCourseRegistered: Registered FilterCourseRegisterOpen: Enrolment is allowed -Registered: Enrolled -Registration: Enrolment +CourseRegistered: Enrolled +CourseRegistration: Enrolment CourseDescription: Description CommCourseHeading: Course message CourseLecturers: Course administrators @@ -197,7 +197,6 @@ CourseApplicationInstructionsApplication: Instructions for application CourseApplicationInstructionsRegistration: Instructions for registration CourseApplicationTemplateApplication: Application template(s) CourseApplicationTemplateRegistration: Registration template(s) -CourseRegistration: Enrolment NotRegistered: Note enrolled for this course CourseApplicationDeleteToEdit: You need to withdraw your application and reapply to edit your application. CourseMaterial: Material @@ -261,4 +260,7 @@ CoursePersonalisedSheetFilesArchiveName tid ssh csh: #{foldCase (termToText (unT TutorialFreeCapacity: Free capacity TutorialRegistered: Registered TutorialRegisterFrom: Register from -TutorialRegisterTo: Register to \ No newline at end of file +TutorialRegisterTo: Register to + +CourseDeleteQuestion: Are you sure you want to delete the below-mentioned course? +CourseDeleted: Course deleted diff --git a/messages/uniworx/uniworx_new/categories/exam/exam/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/exam/exam/de-de-formal.msg index 3de62b223..b374cc4d6 100644 --- a/messages/uniworx/uniworx_new/categories/exam/exam/de-de-formal.msg +++ b/messages/uniworx/uniworx_new/categories/exam/exam/de-de-formal.msg @@ -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 ExamUserResetToComputedResult: -ExamUserResetToComputedResultData: \ No newline at end of file +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. diff --git a/messages/uniworx/uniworx_new/categories/exam/exam/en-eu.msg b/messages/uniworx/uniworx_new/categories/exam/exam/en-eu.msg index 93472f9ae..e29929904 100644 --- a/messages/uniworx/uniworx_new/categories/exam/exam/en-eu.msg +++ b/messages/uniworx/uniworx_new/categories/exam/exam/en-eu.msg @@ -224,4 +224,31 @@ ExamNoShow: Not present ExamVoided: Voided ExamUserResetToComputedResult: -ExamUserResetToComputedResultData: \ No newline at end of file +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. diff --git a/messages/uniworx/uniworx_new/categories/exam/exam_office/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/exam/exam_office/de-de-formal.msg index 24d182734..4b18ed243 100644 --- a/messages/uniworx/uniworx_new/categories/exam/exam_office/de-de-formal.msg +++ b/messages/uniworx/uniworx_new/categories/exam/exam_office/de-de-formal.msg @@ -46,4 +46,7 @@ ExamUserSyncLastChange: Zuletzt geändert ExamTimes: Termine ExamOfficeFieldNotSubscribed: Nicht Abnonniert -ExamOfficeFieldSubscribed: Abboniert \ No newline at end of file +ExamOfficeFieldSubscribed: Abboniert + +UtilExamClosed: Noten gemeldet +ExamFinishedOffice: Noten bekannt gegeben diff --git a/messages/uniworx/uniworx_new/categories/exam/exam_office/en-eu.msg b/messages/uniworx/uniworx_new/categories/exam/exam_office/en-eu.msg index 00a94137b..bc7c425c3 100644 --- a/messages/uniworx/uniworx_new/categories/exam/exam_office/en-eu.msg +++ b/messages/uniworx/uniworx_new/categories/exam/exam_office/en-eu.msg @@ -46,4 +46,6 @@ ExamUserSyncLastChange: Last changed ExamTimes: Times ExamOfficeFieldNotSubscribed: Not subscribed -ExamOfficeFieldSubscribed: subscribed \ No newline at end of file +ExamOfficeFieldSubscribed: subscribed +UtilExamClosed: Exam achievements registered +ExamFinishedOffice: Exam achievements published diff --git a/messages/uniworx/uniworx_new/categories/sheet/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/sheet/de-de-formal.msg index 53d5b1663..8a688020c 100644 --- a/messages/uniworx/uniworx_new/categories/sheet/de-de-formal.msg +++ b/messages/uniworx/uniworx_new/categories/sheet/de-de-formal.msg @@ -106,3 +106,25 @@ SheetSubmissionMode: Abgabe-Modus SheetPseudonym: Persönliches Abgabe-Pseudonym SheetFiles: Übungsblatt-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 diff --git a/messages/uniworx/uniworx_new/categories/sheet/en-eu.msg b/messages/uniworx/uniworx_new/categories/sheet/en-eu.msg index 543c31fbf..c6b4307a3 100644 --- a/messages/uniworx/uniworx_new/categories/sheet/en-eu.msg +++ b/messages/uniworx/uniworx_new/categories/sheet/en-eu.msg @@ -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 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 diff --git a/messages/uniworx/uniworx_new/categories/workflows/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/workflows/de-de-formal.msg index 4e3a1e023..a158d61df 100644 --- a/messages/uniworx/uniworx_new/categories/workflows/de-de-formal.msg +++ b/messages/uniworx/uniworx_new/categories/workflows/de-de-formal.msg @@ -136,3 +136,4 @@ WorkflowWorkflowListIsFinal: Abgeschlossen? WorkflowGraphFormUploadIsDirectory: Upload ist Verzeichnis WorkflowGraphFormInvalidNumberOfFiles: Es muss genau eine Datei hochgeladen werden WorkflowCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen} +YAMLFieldDecodeFailure yamlFailure@String: Konnte YAML nicht parsen: #{yamlFailure} diff --git a/messages/uniworx/uniworx_new/categories/workflows/en-eu.msg b/messages/uniworx/uniworx_new/categories/workflows/en-eu.msg index ce45fa515..39cc13910 100644 --- a/messages/uniworx/uniworx_new/categories/workflows/en-eu.msg +++ b/messages/uniworx/uniworx_new/categories/workflows/en-eu.msg @@ -136,3 +136,4 @@ WorkflowInstanceInitiateSuccess: Successfully initiated workflow WorkflowGraphFormUploadIsDirectory: Upload is a directory WorkflowGraphFormInvalidNumberOfFiles: You need to upload exactly one file WorkflowCourseOption tid ssh coursen: #{tid} - #{ssh} - #{coursen} +YAMLFieldDecodeFailure yamlFailure: Could not parse YAML: #{yamlFailure} diff --git a/messages/uniworx/uniworx_new/utils/table_column/de-de-formal.de b/messages/uniworx/uniworx_new/utils/table_column/de-de-formal.de new file mode 100644 index 000000000..5323c1dd8 --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/table_column/de-de-formal.de @@ -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 \ No newline at end of file diff --git a/messages/uniworx/uniworx_new/utils/table_column/en-eu.msg b/messages/uniworx/uniworx_new/utils/table_column/en-eu.msg new file mode 100644 index 000000000..cb7623c32 --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/table_column/en-eu.msg @@ -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 \ No newline at end of file diff --git a/messages/uniworx/uniworx_new/utils/table_pagination/de-de-formal.msg b/messages/uniworx/uniworx_new/utils/table_pagination/de-de-formal.msg new file mode 100644 index 000000000..c8ca2ffae --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/table_pagination/de-de-formal.msg @@ -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} diff --git a/messages/uniworx/uniworx_new/utils/table_pagination/en-eu.msg b/messages/uniworx/uniworx_new/utils/table_pagination/en-eu.msg new file mode 100644 index 000000000..e4057fa85 --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/table_pagination/en-eu.msg @@ -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} diff --git a/messages/uniworx/uniworx_new/utils/utils/de-de-formal.de b/messages/uniworx/uniworx_new/utils/utils/de-de-formal.de new file mode 100644 index 000000000..dfa6e30d4 --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/utils/de-de-formal.de @@ -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 diff --git a/messages/uniworx/uniworx_new/utils/utils/en-eu.msg b/messages/uniworx/uniworx_new/utils/utils/en-eu.msg new file mode 100644 index 000000000..039823046 --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/utils/en-eu.msg @@ -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 diff --git a/src/Foundation/I18n.hs b/src/Foundation/I18n.hs index 6aeeca3ae..aa078fc90 100644 --- a/src/Foundation/I18n.hs +++ b/src/Foundation/I18n.hs @@ -8,7 +8,8 @@ module Foundation.I18n , UniWorXCourseMessage(..), UniWorXAllocationMessage(..), UniWorXExamMessage(..) , UniWorXSheetMessage(..), UniWorXAdminMessage(..), UniWorXSubmissionMessage(..) , UniWorXTutorialMessage(..), UniWorXUserMessage(..), UniWorXButtonMessage(..) - , UniWorXFormMessage(..), UniWorXRatingMessage(..) + , UniWorXFormMessage(..), UniWorXRatingMessage(..), UniWorXTableColumnMessage(..) + , UniWorXTablePaginationMessage(..),UniWorXUtilMessage(..) , ShortTermIdentifier(..) , MsgLanguage(..) , 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 "Button" "messages/uniworx/uniworx_new/utils/buttons" "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" mkMessageVariant ''UniWorX ''CampusMessage "messages/auth/campus" "de" mkMessageVariant ''UniWorX ''DummyMessage "messages/auth/dummy" "de" diff --git a/src/Handler/News.hs b/src/Handler/News.hs index e45c18986..82504c37e 100644 --- a/src/Handler/News.hs +++ b/src/Handler/News.hs @@ -194,7 +194,7 @@ newsUpcomingSheets uid = do in (==b) <$> hasReadAccessTo (CSheetR tid ssh csh shn SShowR) :: DB Bool ] , dbtFilterUI = mempty - , dbtStyle = def { dbsEmptyStyle = DBESNoHeading, dbsEmptyMessage = MsgNoUpcomingSheetDeadlines } + , dbtStyle = def { dbsEmptyStyle = DBESNoHeading, dbsEmptyMessage = (SomeMessage MsgNoUpcomingSheetDeadlines) } , dbtParams = def , dbtIdent = "upcoming-sheets" :: Text , dbtCsvEncode = noCsvEncode diff --git a/src/Handler/Utils/Communication.hs b/src/Handler/Utils/Communication.hs index 5a3a5486d..c5575a65b 100644 --- a/src/Handler/Utils/Communication.hs +++ b/src/Handler/Utils/Communication.hs @@ -99,7 +99,7 @@ crTestJobsCourseCommunication jCourse comm = do jSender <- requireAuthId 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) @@ -147,7 +147,7 @@ commR CommunicationRoute{..} = do recipientAForm = postProcess <$> massInputA MassInput{..} (fslI MsgCommRecipients & setTooltip MsgCommRecipientsTip) True (Just chosenRecipients') where 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 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")) diff --git a/src/Handler/Utils/Form.hs b/src/Handler/Utils/Form.hs index e299d3a4b..fc5b0befa 100644 --- a/src/Handler/Utils/Form.hs +++ b/src/Handler/Utils/Form.hs @@ -1295,11 +1295,11 @@ localTimeField = Field } where -- `defaultTimeLocale` is okay here, since `fieldTimeFormat` does not contain any words - readTime :: Text -> Either UniWorXMessage LocalTime + readTime :: Text -> Either (SomeMessage UniWorX) LocalTime readTime t = case parseTimeM True defaultTimeLocale fieldTimeFormat (T.unpack t) of Just lTime -> Right lTime - Nothing -> Left MsgInvalidDateTimeFormat + Nothing -> Left (SomeMessage MsgInvalidDateTimeFormat) utcTimeField :: (MonadHandler m, HandlerSite m ~ UniWorX) => Field m UTCTime utcTimeField = checkMMap (return . localTimeToUTC') utcToLocalTime localTimeField @@ -1327,8 +1327,8 @@ data JsonFieldKind jsonField :: ( ToJSON a, FromJSON a , MonadHandler m - , RenderMessage (HandlerSite m) UniWorXMessage , RenderMessage (HandlerSite m) FormMessage + , RenderMessage (HandlerSite m) UniWorXTablePaginationMessage ) => JsonFieldKind -> Field m a @@ -1357,8 +1357,8 @@ jsonField fieldKind = Field{..} yamlField :: ( ToJSON a, FromJSON a , MonadHandler m - , RenderMessage (HandlerSite m) UniWorXMessage , RenderMessage (HandlerSite m) FormMessage + , RenderMessage (HandlerSite m) UniWorXWorkflowMessage ) => Field m a yamlField = Field{..} diff --git a/src/Handler/Utils/Table/Columns.hs b/src/Handler/Utils/Table/Columns.hs index 69c7eb59c..a796fa94a 100644 --- a/src/Handler/Utils/Table/Columns.hs +++ b/src/Handler/Utils/Table/Columns.hs @@ -116,7 +116,7 @@ sortSchool querySsh = singletonMap "school" . SortColumn $ view querySsh colSchoolShort :: OpticColonnade SchoolId colSchoolShort resultSsh = Colonnade.singleton (fromSortable header) body where - header = Sortable (Just "school-short") (i18nCell MsgSchoolShort) + header = Sortable (Just "school-short") (i18nCell MsgTableSchoolShort) body = i18nCell . unSchoolKey . view resultSsh sortSchoolShort :: OpticSortColumn SchoolId @@ -125,7 +125,7 @@ sortSchoolShort querySsh = singletonMap "school-short" . SortColumn $ view query colSchoolName :: OpticColonnade SchoolName colSchoolName resultSn = Colonnade.singleton (fromSortable header) body where - header = Sortable (Just "school-name") (i18nCell MsgSchoolName) + header = Sortable (Just "school-name") (i18nCell MsgTableSchoolName) body = i18nCell . view resultSn sortSchoolName :: OpticSortColumn SchoolName @@ -556,7 +556,7 @@ fltrUserNameEmailUI mPrev = colUserMatriculation :: OpticColonnade (Maybe UserMatriculation) colUserMatriculation resultMatriculation = Colonnade.singleton (fromSortable header) body where - header = Sortable (Just "user-matriculation") (i18nCell MsgUserMatriculation) + header = Sortable (Just "user-matriculation") (i18nCell MsgTableUserMatriculation) body = views resultMatriculation . maybe mempty $ cell . toWidget 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 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) @@ -783,7 +783,7 @@ fltrDegreeUI mPrev = colStudyFeatures :: OpticColonnade UserTableStudyFeatures colStudyFeatures resultFeatures = Colonnade.singleton (fromSortable header) body 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") fltrRelevantStudyFeaturesTerms :: OpticFilterColumn' t (Set Text) (E.SqlExpr (E.Value TermId), E.SqlExpr (E.Value UserId)) diff --git a/src/Handler/Utils/Table/Pagination.hs b/src/Handler/Utils/Table/Pagination.hs index 6c345303d..02caa48d6 100644 --- a/src/Handler/Utils/Table/Pagination.hs +++ b/src/Handler/Utils/Table/Pagination.hs @@ -521,7 +521,7 @@ instance Default DBEmptyStyle where data DBStyle r = DBStyle { dbsEmptyStyle :: DBEmptyStyle - , dbsEmptyMessage :: UniWorXMessage + , dbsEmptyMessage :: (SomeMessage UniWorX) , dbsAttrs :: [(Text, Text)] , dbsFilterLayout :: Widget -> Enctype @@ -544,7 +544,7 @@ data DBSTemplateMode r = DBSTDefault { dbstmNumber :: Int64 -> Bool, dbstmShowNu instance Default (DBStyle r) where def = DBStyle { dbsEmptyStyle = def - , dbsEmptyMessage = MsgNoTableContent + , dbsEmptyMessage = (SomeMessage MsgNoTableContent) , dbsAttrs = [ ("class", "table table--striped table--hover table--sortable") ] , dbsFilterLayout = \_filterWgdt _filterEnctype _filterAction scrolltable -> [whamlet| diff --git a/templates/table/course/course-teaser.hamlet b/templates/table/course/course-teaser.hamlet index c8e6b8ea2..9d1c19fb8 100644 --- a/templates/table/course/course-teaser.hamlet +++ b/templates/table/course/course-teaser.hamlet @@ -35,5 +35,5 @@ $maybe desc <- courseDescription
-
_{MsgCourseDescription} +
_{MsgTableCourseDescription}
#{desc} diff --git a/templates/widgets/genericFileField.hamlet b/templates/widgets/genericFileField.hamlet index 5736ea80a..d1f6d622f 100644 --- a/templates/widgets/genericFileField.hamlet +++ b/templates/widgets/genericFileField.hamlet @@ -14,7 +14,7 @@ $if not (null fileInfos) - _{MsgPreviouslyUploadedInfo} + _{MsgUtilPreviouslyUploadedInfo} $forall FileUploadInfo{..} <- fileInfos @@ -28,9 +28,9 @@ $if not (null fileInfos) #{fuiTitle}
- _{MsgPreviouslyUploadedDeletionInfo} + _{MsgUtilPreviouslyUploadedDeletionInfo} -
_{MsgAddMoreFiles} +
_{MsgUtilAddMoreFiles} $# new files