From 2e57c81a7597993af6031b59e8b76ed9793f6761 Mon Sep 17 00:00:00 2001 From: Winnie Ros Date: Wed, 7 Apr 2021 10:58:35 +0200 Subject: [PATCH] refactor(messages): beginning utils-folder --- messages/uniworx/misc/de-de-formal.msg | 117 +---------------- messages/uniworx/misc/en-eu.msg | 118 +----------------- .../{ => categories}/admin/de-de-formal.msg | 0 .../{ => categories}/admin/en-eu.msg | 0 .../allocation/de-de-formal.msg | 0 .../{ => categories}/allocation/en-eu.msg | 0 .../courses/application/de-de-formal.msg | 0 .../courses/application/en-eu.msg | 0 .../{ => categories}/courses/de-de-formal.msg | 0 .../{ => categories}/courses/en-eu.msg | 0 .../courses/event/de-de-formal.msg | 0 .../{ => categories}/courses/event/en-eu.msg | 0 .../courses/news/de-de-formal.msg | 0 .../{ => categories}/courses/news/en-eu.msg | 0 .../exam/exam/de-de-formal.msg | 0 .../{ => categories}/exam/exam/en-eu.msg | 0 .../exam/exam_office/de-de-formal.msg | 0 .../exam/exam_office/en-eu.msg | 0 .../exam/external_exam/de-de-formal.msg | 14 +++ .../exam/external_exam/en-eu.msg | 14 +++ .../{ => categories}/help/de-de-formal.msg | 0 .../{ => categories}/help/en-eu.msg | 0 .../settings/auth_settings/de-de-formal.msg | 0 .../settings/auth_settings/en-eu.msg | 0 .../settings/csv_options/de-de-formal.msg | 0 .../settings/csv_options/en-eu.msg | 0 .../settings/de-de-formal.msg | 0 .../{ => categories}/settings/en-eu.msg | 0 .../personal_settings/de-de-formal.msg | 0 .../settings/personal_settings/en-eu.msg | 0 .../{ => categories}/sheet/de-de-formal.msg | 0 .../{ => categories}/sheet/en-eu.msg | 0 .../submission/de-de-formal.msg | 0 .../{ => categories}/submission/en-eu.msg | 0 .../tutorial/de-de-formal.msg | 0 .../{ => categories}/tutorial/en-eu.msg | 0 .../{ => categories}/user/de-de-formal.msg | 0 .../{ => categories}/user/en-eu.msg | 0 .../workflows/de-de-formal.msg | 4 + .../{ => categories}/workflows/en-eu.msg | 6 +- .../utils/buttons/de-de-formal.msg | 62 +++++++++ .../uniworx_new/utils/buttons/en-eu.msg | 62 +++++++++ .../utils/form/massinput/de-de-formal.msg | 2 + .../utils/form/massinput/en-eu.msg | 2 + .../utils/form/occurrences/de-de-formal.msg | 18 +++ .../utils/form/occurrences/en-eu.msg | 18 +++ .../navigation/breadcrumbs/de-de-formal.msg | 0 .../navigation/breadcrumbs/en-eu.msg | 0 .../navigation/menu/de-de-formal.msg | 0 .../{ => utils}/navigation/menu/en-eu.msg | 0 .../uniworx_new/utils/rating/de-de-formal.msg | 7 ++ .../uniworx_new/utils/rating/en-eu.msg | 7 ++ src/Foundation/I18n.hs | 30 +++-- src/Handler/Course/Users.hs | 4 +- src/Handler/Utils/ExternalExam/Users.hs | 8 +- src/Handler/Utils/Form/Occurrences.hs | 2 +- src/Handler/Utils/Table/Columns.hs | 2 +- src/Handler/Workflow/Definition/List.hs | 2 +- src/Handler/Workflow/Instance/Form.hs | 4 +- src/Handler/Workflow/Instance/List.hs | 2 +- src/Jobs/Handler/ChangeUserDisplayEmail.hs | 2 +- templates/mail/changeUserDisplayEmail.hamlet | 6 +- 62 files changed, 250 insertions(+), 263 deletions(-) rename messages/uniworx/uniworx_new/{ => categories}/admin/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/admin/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/allocation/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/allocation/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/courses/application/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/courses/application/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/courses/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/courses/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/courses/event/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/courses/event/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/courses/news/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/courses/news/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/exam/exam/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/exam/exam/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/exam/exam_office/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/exam/exam_office/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/exam/external_exam/de-de-formal.msg (89%) rename messages/uniworx/uniworx_new/{ => categories}/exam/external_exam/en-eu.msg (88%) rename messages/uniworx/uniworx_new/{ => categories}/help/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/help/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/settings/auth_settings/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/settings/auth_settings/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/settings/csv_options/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/settings/csv_options/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/settings/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/settings/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/settings/personal_settings/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/settings/personal_settings/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/sheet/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/sheet/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/submission/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/submission/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/tutorial/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/tutorial/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/user/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/user/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => categories}/workflows/de-de-formal.msg (97%) rename messages/uniworx/uniworx_new/{ => categories}/workflows/en-eu.msg (97%) create mode 100644 messages/uniworx/uniworx_new/utils/buttons/de-de-formal.msg create mode 100644 messages/uniworx/uniworx_new/utils/buttons/en-eu.msg create mode 100644 messages/uniworx/uniworx_new/utils/form/massinput/de-de-formal.msg create mode 100644 messages/uniworx/uniworx_new/utils/form/massinput/en-eu.msg create mode 100644 messages/uniworx/uniworx_new/utils/form/occurrences/de-de-formal.msg create mode 100644 messages/uniworx/uniworx_new/utils/form/occurrences/en-eu.msg rename messages/uniworx/uniworx_new/{ => utils}/navigation/breadcrumbs/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => utils}/navigation/breadcrumbs/en-eu.msg (100%) rename messages/uniworx/uniworx_new/{ => utils}/navigation/menu/de-de-formal.msg (100%) rename messages/uniworx/uniworx_new/{ => utils}/navigation/menu/en-eu.msg (100%) create mode 100644 messages/uniworx/uniworx_new/utils/rating/de-de-formal.msg create mode 100644 messages/uniworx/uniworx_new/utils/rating/en-eu.msg diff --git a/messages/uniworx/misc/de-de-formal.msg b/messages/uniworx/misc/de-de-formal.msg index d7341bf27..22ecb44fa 100644 --- a/messages/uniworx/misc/de-de-formal.msg +++ b/messages/uniworx/misc/de-de-formal.msg @@ -1,51 +1,5 @@ Logo: Uni2work -BtnSubmit: Senden -BtnAbort: Abbrechen -BtnDelete: Löschen -BtnRegister: Anmelden -BtnDeregister: Abmelden -BtnCourseRegister: Zum Kurs anmelden -BtnCourseDeregister: Vom Kurs abmelden -BtnCourseApply: Zum Kurs bewerben -BtnCourseRetractApplication: Bewerbung zum Kurs zurückziehen -BtnExamRegister: Anmelden zur Prüfung -BtnExamRegisterOccurrence: Anmelden zum Prüfungstermin/-raum -BtnExamSwitchOccurrence: Zu Prüfungstermin/-raum wechseln -BtnExamDeregister: Von der Prüfung abmelden -BtnHijack: Sitzung übernehmen -BtnSave: Speichern -PressSaveToSave: Änderungen werden erst durch Drücken des Knopfes „_{MsgBtnSave}“ gespeichert. -BtnHandIn: Abgeben -BtnNameCandidatesInfer: Studienfach-Namens-Zuordnung automatisch lernen -BtnNameCandidatesDeleteConflicts: Namenskonflikte löschen -BtnNameCandidatesDeleteAll: Alle Namens-Beobachtungen löschen -BtnParentCandidatesInfer: Unterstudiengangs-Zuordnung automatisch lernen -BtnParentCandidatesDeleteAll: Alle Unterstudiengangs-Beobachtungen löschen -BtnStandaloneCandidatesDeleteAll: Alle Einzelstudiengangs-Beobachtungen löschen -BtnStandaloneCandidatesDeleteRedundant: Redundante Einzelstudiengangs-Beobachtungen löschen -BtnLecInvAccept: Annehmen -BtnLecInvDecline: Ablehnen -BtnCorrInvAccept: Annehmen -BtnCorrInvDecline: Ablehnen -BtnSubmissionsAssign: Abgaben automatisch zuteilen -BtnSubmissionsAssignAll: Abgaben automatisch zuteilen -BtnAllocationCompute: Vergabe berechnen -BtnAllocationAccept: Vergabe akzeptieren -BtnAllocationRegister: Teilnahme registrieren -BtnAllocationRegistrationEdit: Teilnahme anpassen -BtnAllocationApply: Bewerben -BtnAllocationApplicationEdit: Bewerbung ersetzen -BtnAllocationApplicationRetract: Bewerbung zurückziehen -BtnAllocationApplicationRate: Bewerbung bewerten -BtnSystemMessageHide: Verstecken -BtnSystemMessageUnhide: Nicht mehr verstecken -BtnCommunicationSend: Senden -BtnCommunicationTest: Test-Nachricht verschicken -BtnAcceptApplications: Bewerbungen akzeptieren -BtnAcceptApplicationsTip: Mit dem untigen Knopf können Sie den Kurs (höchstens bis zur angegeben Maximalkapazität, falls eingestellt) mit Bewerbern auffüllen. Die Bewertungen der Bewerbungen werden dabei berücksichtigt (Unbewertet wird behandelt wie eine Note zwischen 2.3 und 2.7). Bewerber mit Veto oder 5.0 werden nicht angemeldet. - - AcceptApplicationsDirect: Direkt anmelden AcceptApplicationsInvite: Einladungen verschicken AcceptApplicationsSecondaryRandom: Zufällig @@ -101,6 +55,7 @@ TableTutorialRoomIsHidden: Raum wird nur Teilnehmern angezeigt TableTutorialTime: Zeit TableTutorialDeregisterUntil: Abmeldungen bis TableActionsHead: Aktionen +TableNoFilter: Keine Einschränkung #headings HeadingLegal: Rechtliche Informationen @@ -518,7 +473,6 @@ UserSystemFunctions: Systemweite Rollen UserSystemFunctionsSaved: Systemweite Rollen gespeichert UserSystemFunctionsNotChanged: Es wurden keine systemweiten Rollen angepasst UserAssimilateUser: Benutzer -BtnUserAssimilate: Assimilieren AssimilateUserNotFound: E-Mail Adresse konnte keinem Benutzer zugeordnet werden AssimilateUserHaveError: Beim Assimilieren ist ein Fehler aufgetreten AssimilateUserHaveWarnings: Beim Assimilieren wurden Warnungen ausgegeben @@ -536,11 +490,6 @@ AllocNotifyNewCourseDefault: Systemweite Einstellung AllocNotifyNewCourseForceOff: Nein AllocNotifyNewCourseForceOn: Ja -BtnNotifyNewCourseForceOn: Benachrichtigen -BtnNotifyNewCourseForceOff: Nicht benachrichtigen - - - 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 @@ -882,9 +831,6 @@ DeleteConfirmationWrong: Bestätigung muss genau dem angezeigten Text entspreche DBTIRowsMissing n@Int: #{pluralDE n "Eine Zeile ist" "Einige Zeilen sind"} aus der Datenbank verschwunden, seit das Formular für Sie generiert wurde -MassInputAddDimension: + -MassInputDeleteCell: - - NavigationFavourites: Favoriten CommSubject: Betreff @@ -936,31 +882,8 @@ InvitationActionTip: Abgelehnte Einladungen können nicht mehr angenommen werden InvitationMissingRestrictions: Authorisierungs-Token fehlen benötigte Daten InvitationCollision: Einladung konnte nicht angenommen werden da ein derartiger Eintrag bereits existiert InvitationDeclined: Einladung wurde abgelehnt -BtnInviteAccept: Einladung annehmen -BtnInviteDecline: Einladung ablehnen - -ScheduleKindWeekly: Wöchentlich - -ScheduleRegular: Planmäßiger Termin -ScheduleRegularKind: Plan WeekDay: Wochentag -Day: Tag -OccurrenceStart: Beginn -OccurrenceEnd: Ende -OccurrenceNever: Nie -ScheduleExists: Dieser Plan existiert bereits - -ScheduleExceptions: Termin-Ausnahmen -ScheduleExceptionsTip: Ausfälle überschreiben planmäßiges Stattfinden. Außerplanmäßiges Stattfinden überschreibt Ausfall. -ExceptionKind: Termin ... -ExceptionKindOccur: Findet statt -ExceptionKindNoOccur: Findet nicht statt -ExceptionExists: Diese Ausnahme existiert bereits -ExceptionNoOccurAt: Termin - -OccurrenceNoneScheduled: (Noch) keine planmäßigen Termine -OccurrenceNoneExceptions: (Noch) keine Termin-Ausnahmen MassInputTip: Es können mehrere Werte angegeben werden. Werte müssen mit + zur Liste hinzugefügt werden und können mit - wieder entfernt werden. Alle Änderungen müssen noch durch Drücken des Formular-Knopfes bestätigt werden. @@ -1069,10 +992,6 @@ CsvExport: CSV-Export CsvModifyExisting: Existierende Einträge angleichen CsvAddNew: Neue Einträge einfügen CsvDeleteMissing: Fehlende Einträge entfernen -BtnCsvExport: CSV-Datei exportieren -BtnCsvImport: CSV-Datei importieren -BtnCsvImportConfirm: CSV-Import abschließen -BtnCsvImportAbort: Abbrechen CsvImportNotConfigured: CSV-Import nicht vorgesehen CsvImportConfirmationHeading: CSV-Import Vorschau (noch keine Änderungen importiert) @@ -1087,7 +1006,6 @@ CsvExportExample: Beispiel-CSV exportieren TableProportion c@Text of'@Text prop@Rational: #{c}/#{of'} (#{rationalToFixed2 (100 * prop)}%) TableProportionNoRatio c@Text of'@Text: #{c}/#{of'} -ExternalExamUserCsvName tid@TermId ssh@SchoolId coursen@CourseName examn@ExamName: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase coursen}-#{foldedCase examn}-teilnehmer ParticipantsCsvName tid@TermId ssh@SchoolId: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-kursteilnehmer CsvColumnsExplanationsLabel: Spalten- & Zellenformat @@ -1137,10 +1055,6 @@ UtilExamResultPass: Bestanden/Nicht Bestanden UtilExamResultNoShow: Nicht erschienen UtilExamResultVoided: Entwertet -BtnAuthLDAP: Auf Campus-Kennung umstellen -BtnAuthPWHash: Auf Uni2work-Kennung umstellen -BtnPasswordReset: Passwort zurücksetzen - 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 @@ -1272,7 +1186,6 @@ LdapIdentificationOrEmail: Campus-Kennung / E-Mail-Adresse AuthKindLDAP: Campus-Kennung AuthKindPWHash: Uni2work-Kennung -BtnSetDisplayEmail: E-Mail-Adresse setzen UserDisplayEmailChanged: Öffentliche E-Mail-Adresse erfolgreich gesetzt TitleChangeUserDisplayEmail: Öffentliche E-Mail-Adresse setzen @@ -1280,8 +1193,6 @@ MailSubjectChangeUserDisplayEmail: Diese E-Mail-Adresse in Uni2work veröffentli MailIntroChangeUserDisplayEmail displayEmail@UserEmail: Der oben genannte Benutzer möchte „#{displayEmail}“ als öffentliche Adresse, assoziiert mit sich selbst, angeben. Wenn Sie diese Aktion nicht selbst ausgelöst haben, ignorieren Sie diese Mitteilung bitte! MailTitleChangeUserDisplayEmail displayName@Text: #{displayName} möchte diese E-Mail-Adresse in Uni2work veröffentlichen -BtnCloseExam: Prüfung abschließen - LecturerInfoTooltipNew: Neues Feature LecturerInfoTooltipProblem: Feature mit bekannten Problemen LecturerInfoTooltipPlanned: Geplantes Feature @@ -1369,12 +1280,6 @@ MetricName: Name MetricValue: Wert TitleExamAutoOccurrence tid@TermId ssh@SchoolId csh@CourseShorthand examn@ExamName: #{tid} - #{ssh} - #{csh} #{examn}: Automatische Raum-/Terminverteilung -BtnExamAutoOccurrenceCalculate: Verteilungstabelle berechnen -BtnExamAutoOccurrenceAccept: Verteilung akzeptieren -BtnExamAutoOccurrenceNudgeUp: + -BtnExamAutoOccurrenceNudgeDown: - - -NoFilter: Keine Einschränkung ExamGradingPass: Bestanden/Nicht Bestanden ExamGradingGrades: Numerische Noten @@ -1409,16 +1314,6 @@ AllocationPriorityOrdinal: AllocationPrioritiesNumeric: AllocationPrioritiesOrdinal: -ExampleUser1FirstName: Max ZweiterName -ExampleUser1Surname: Mustermann -ExampleUser1DisplayName: Max Mustermann -ExampleUser2FirstName: Martha -ExampleUser2Surname: Musterstudent -ExampleUser2DisplayName: Musterstudent Martha -ExampleUser3FirstName: Maria -ExampleUser3Surname: Beispiel -ExampleUser3DisplayName: Beispiel - CourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen} @@ -1439,14 +1334,6 @@ ValueRequiredLabeledMultiWord fieldLabel@Text: „#{fieldLabel}“ wird benötig RatingFileTitle subId@CryptoFileNameSubmission: bewertung_#{toPathPiece subId}.txt -RatingYAMLMetaComment: Meta-Informationen zur Korrektur (werden beim Hochladen ignoriert) -RatingYAMLRatingComment: Bewertung -RatingYAMLChangePointsComment: TODO: Hier die Punktezahl statt null eintragen (bis zu zwei Nachkommastellen, Punkt als Dezimalseparator; z.B. 17.03) -RatingYAMLChangePassedComment: TODO: Hier true oder false statt null eintragen (true entspricht Bestanden) -RatingYAMLChangeDoneComment: TODO: Von false auf true setzen, sobald Bewertung abgeschlossen; sonst Korrektur für die Studierenden nicht sichtbar und keine Anrechnung auf Prüfungsbonus -RatingYAMLChangeCommentComment: TODO: Korrektur-Kommentar für die Studierenden unterhalb der Abtrennung (...) eintragen -RatingYAMLSubmissionIdComment: Abgabenummer; wird beim Hochladen mit dem Dateinamen abgeglichen - SubmissionDoneNever: Nie SubmissionDoneByFile: Je nach Bewertungsdatei SubmissionDoneAlways: Immer @@ -1494,7 +1381,5 @@ UrlFieldCouldNotParseAbsolute: Konnte nicht als absolute URL interpretiert werde WGFTextInput: Textfeld WGFFileUpload: Dateifeld -WorkflowGraphFormUploadIsDirectory: Upload ist Verzeichnis -WorkflowGraphFormInvalidNumberOfFiles: Es muss genau eine Datei hochgeladen werden 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 694e1b83b..bef6279f4 100644 --- a/messages/uniworx/misc/en-eu.msg +++ b/messages/uniworx/misc/en-eu.msg @@ -1,50 +1,5 @@ Logo: Uni2work -BtnSubmit: Submit -BtnAbort: Abort -BtnDelete: Delete -BtnRegister: Register -BtnDeregister: Deregister -BtnCourseRegister: Enrol for course -BtnCourseDeregister: Leave course -BtnCourseApply: Apply for course -BtnCourseRetractApplication: Retract application -BtnExamRegister: Enrol for exam -BtnExamRegisterOccurrence: Enrol for exam occurrence/room -BtnExamSwitchOccurrence: Switch to exam occurrence/room -BtnExamDeregister: Leave exam -BtnHijack: Hijack session -BtnSave: Save -PressSaveToSave: Changes will only be saved after clicking "Save". -BtnHandIn: Hand in submission -BtnNameCandidatesInfer: Infer name-mapping -BtnNameCandidatesDeleteConflicts: Delete name-conflicts -BtnNameCandidatesDeleteAll: Delete all name-observations -BtnParentCandidatesInfer: Infer parent-relation -BtnParentCandidatesDeleteAll: Delete all parent-observations -BtnStandaloneCandidatesDeleteAll: Delete all standalone-observations -BtnStandaloneCandidatesDeleteRedundant: Delete redundant standalone-observations -BtnLecInvAccept: Accept -BtnLecInvDecline: Decline -BtnCorrInvAccept: Accept -BtnCorrInvDecline: Decline -BtnSubmissionsAssign: Assign submissions automatically -BtnSubmissionsAssignAll: Automatically distribute corrections -BtnAllocationCompute: Compute allocation -BtnAllocationAccept: Accept allocation -BtnAllocationRegister: Register participation -BtnAllocationRegistrationEdit: Edit registration -BtnAllocationApply: Apply -BtnAllocationApplicationEdit: Edit application -BtnAllocationApplicationRetract: Retract application -BtnAllocationApplicationRate: Grade application -BtnSystemMessageHide: Hide -BtnSystemMessageUnhide: Unhide -BtnCommunicationSend: Send -BtnCommunicationTest: Send test message -BtnAcceptApplications: Accept applications -BtnAcceptApplicationsTip: By clicking the button below you may fill the course with applicants (only up to the maximum capacity if configured). Grading of applications will be considered (no grading is treated as if graded between 2.3 and 2.7). Vetoed applicants and applications graded 5.0 will not be enrolled. - AcceptApplicationsDirect: Enroll directly AcceptApplicationsInvite: Send invitations AcceptApplicationsSecondaryRandom: Randomly @@ -100,6 +55,7 @@ TableTutorialRoomIsHidden: Room is only displayed to participants TableTutorialDeregisterUntil: Deregister until TableActionsHead: Actions TableTutorialTime: Time +TableNoFilter: No restriction #headings HeadingLegal: Legal @@ -518,7 +474,6 @@ UserSystemFunctions: System wide roles UserSystemFunctionsSaved: Successfully saved system wide roles UserSystemFunctionsNotChanged: No system wide roles were changed UserAssimilateUser: User -BtnUserAssimilate: Assimilate AssimilateUserNotFound: Email could not be resolved to an user AssimilateUserHaveError: An error occurred during assimilation AssimilateUserHaveWarnings: Warnings were ermitted during assimilation @@ -536,13 +491,6 @@ AllocNotifyNewCourseDefault: System wide setting AllocNotifyNewCourseForceOff: No AllocNotifyNewCourseForceOn: Yes -BtnNotifyNewCourseForceOn: Notify me -BtnNotifyNewCourseForceOff: Do not notify me - - - - - 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 @@ -888,9 +836,6 @@ 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 -MassInputAddDimension: + -MassInputDeleteCell: - - NavigationFavourites: Favourites CommSubject: Subject @@ -941,31 +886,8 @@ InvitationActionTip: Declined invitations cannot be accepted later InvitationMissingRestrictions: Your authorisation-token is missing required data InvitationCollision: Invitation could not be accepted since an entry of this type already exists InvitationDeclined: Invitation declined -BtnInviteAccept: Accept invitation -BtnInviteDecline: Decline invitation - -ScheduleKindWeekly: Weekly - -ScheduleRegular: Regular occurrence -ScheduleRegularKind: Schedule WeekDay: Day of the week -Day: Day -OccurrenceStart: Start -OccurrenceEnd: End -OccurrenceNever: Never -ScheduleExists: This schedule already exists - -ScheduleExceptions: Exceptions -ScheduleExceptionsTip: “Does not occur” overrides the regular schedule. “Does occur” overides “does not occur”. -ExceptionKind: Event ... -ExceptionKindOccur: Does occur -ExceptionKindNoOccur: Does not occur -ExceptionExists: This exception already exists -ExceptionNoOccurAt: Event - -OccurrenceNoneScheduled: No regular occurrences (yet) -OccurrenceNoneExceptions: No exceptions (yet) MassInputTip: You may specify multiple values. Values must be added to the list by clicking + and can be removed again by clicking -. All changes must be confirmed by clicking the form submit button. @@ -1072,10 +994,6 @@ CsvExport: CSV export CsvModifyExisting: Modify existing entries CsvAddNew: Add new entries CsvDeleteMissing: Delete missing entries -BtnCsvExport: Export CSV file -BtnCsvImport: Import CSV file -BtnCsvImportConfirm: Finalise CSV import -BtnCsvImportAbort: Abort CsvImportNotConfigured: CSV import not configured CsvImportConfirmationHeading: CSV import preview (no changes have been made yet) @@ -1090,7 +1008,6 @@ CsvExportExample: Export example CSV TableProportion c of' prop: #{c}/#{of'} (#{rationalToFixed2 (100 * prop)}%) TableProportionNoRatio c of': #{c}/#{of'} -ExternalExamUserCsvName tid@TermId ssh@SchoolId coursen@CourseName examn@ExamName: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase coursen}-#{foldedCase examn}-participants ParticipantsCsvName tid ssh: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-participants CsvColumnsExplanationsLabel: Column & cell format @@ -1140,10 +1057,6 @@ UtilExamResultPass: Passed/Failed UtilExamResultNoShow: Not present UtilExamResultVoided: Voided -BtnAuthLDAP: Change to campus account -BtnAuthPWHash: Change to Uni2work accont -BtnPasswordReset: Reset password - 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 @@ -1275,7 +1188,6 @@ LdapIdentificationOrEmail: Campus account/email address AuthKindLDAP: Campus account AuthKindPWHash: Uni2work account -BtnSetDisplayEmail: Set email address UserDisplayEmailChanged: Successfully set display email TitleChangeUserDisplayEmail: Set display email @@ -1283,8 +1195,6 @@ MailSubjectChangeUserDisplayEmail: Publishing this email address in Uni2work MailIntroChangeUserDisplayEmail displayEmail: The user mentioned above wants to publish “#{displayEmail}” as their own email address. If you have not caused this email to be sent, please ignore it! MailTitleChangeUserDisplayEmail displayName: #{displayName} wants to publish this email address as their own in Uni2work -BtnCloseExam: Close exam - LecturerInfoTooltipNew: New feature LecturerInfoTooltipProblem: Feature with known issues LecturerInfoTooltipPlanned: Planned feature @@ -1372,12 +1282,6 @@ MetricName: Name MetricValue: Value TitleExamAutoOccurrence tid ssh csh examn: #{tid} - #{ssh} - #{csh} #{examn}: Automatic occurrence/room distribution -BtnExamAutoOccurrenceCalculate: Calculate assignment rules -BtnExamAutoOccurrenceAccept: Accept assignments -BtnExamAutoOccurrenceNudgeUp: + -BtnExamAutoOccurrenceNudgeDown: - - -NoFilter: No restriction ExamGradingPass: Passed/Failed ExamGradingGrades: Numeric grades @@ -1412,16 +1316,6 @@ AllocationPriorityOrdinal: AllocationPrioritiesNumeric: AllocationPrioritiesOrdinal: -ExampleUser1FirstName: Max SecondName -ExampleUser1Surname: Mustermann -ExampleUser1DisplayName: Max Mustermann -ExampleUser2FirstName: Martha -ExampleUser2Surname: Musterstudent -ExampleUser2DisplayName: Musterstudent Martha -ExampleUser3FirstName: Maria -ExampleUser3Surname: Example -ExampleUser3DisplayName: Example - CourseOption tid ssh coursen: #{tid} - #{ssh} - #{coursen} FaqTitle: Frequently asked questions @@ -1442,14 +1336,6 @@ ValueRequiredLabeledMultiWord fieldLabel: “#{fieldLabel}” is required RatingFileTitle subId: rating_#{toPathPiece subId}.txt -RatingYAMLMetaComment: Metadata about correction (ignored during upload) -RatingYAMLRatingComment: Rating -RatingYAMLChangePointsComment: TODO: Insert number of points instead of null (up to two decimal places, use period as a decimal separator; e.g. 17.03) -RatingYAMLChangePassedComment: TODO: Set true or false instead of null (true means passed) -RatingYAMLChangeDoneComment: TODO: Set to true instead of false, when correction is finished; otherwise correction will not be visible to students and won't be counted for exam bonus -RatingYAMLChangeCommentComment: TODO: Enter correction comment after the separator below (...) -RatingYAMLSubmissionIdComment: Submission id; will be compared to the filename during upload - SubmissionDoneNever: Never SubmissionDoneByFile: According to correction file SubmissionDoneAlways: Always @@ -1497,7 +1383,5 @@ UrlFieldCouldNotParseAbsolute: Could not parse as an absolute URL WGFTextInput: Text field WGFFileUpload: File field -WorkflowGraphFormUploadIsDirectory: Upload is a directory -WorkflowGraphFormInvalidNumberOfFiles: You need to upload exactly one file CourseSortingOnlyLoggedIn: The user interface for sorting this table is only active for logged in users diff --git a/messages/uniworx/uniworx_new/admin/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/admin/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/admin/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/admin/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/admin/en-eu.msg b/messages/uniworx/uniworx_new/categories/admin/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/admin/en-eu.msg rename to messages/uniworx/uniworx_new/categories/admin/en-eu.msg diff --git a/messages/uniworx/uniworx_new/allocation/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/allocation/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/allocation/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/allocation/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/allocation/en-eu.msg b/messages/uniworx/uniworx_new/categories/allocation/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/allocation/en-eu.msg rename to messages/uniworx/uniworx_new/categories/allocation/en-eu.msg diff --git a/messages/uniworx/uniworx_new/courses/application/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/courses/application/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/courses/application/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/courses/application/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/courses/application/en-eu.msg b/messages/uniworx/uniworx_new/categories/courses/application/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/courses/application/en-eu.msg rename to messages/uniworx/uniworx_new/categories/courses/application/en-eu.msg diff --git a/messages/uniworx/uniworx_new/courses/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/courses/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/courses/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/courses/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/courses/en-eu.msg b/messages/uniworx/uniworx_new/categories/courses/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/courses/en-eu.msg rename to messages/uniworx/uniworx_new/categories/courses/en-eu.msg diff --git a/messages/uniworx/uniworx_new/courses/event/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/courses/event/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/courses/event/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/courses/event/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/courses/event/en-eu.msg b/messages/uniworx/uniworx_new/categories/courses/event/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/courses/event/en-eu.msg rename to messages/uniworx/uniworx_new/categories/courses/event/en-eu.msg diff --git a/messages/uniworx/uniworx_new/courses/news/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/courses/news/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/courses/news/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/courses/news/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/courses/news/en-eu.msg b/messages/uniworx/uniworx_new/categories/courses/news/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/courses/news/en-eu.msg rename to messages/uniworx/uniworx_new/categories/courses/news/en-eu.msg diff --git a/messages/uniworx/uniworx_new/exam/exam/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/exam/exam/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/exam/exam/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/exam/exam/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/exam/exam/en-eu.msg b/messages/uniworx/uniworx_new/categories/exam/exam/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/exam/exam/en-eu.msg rename to messages/uniworx/uniworx_new/categories/exam/exam/en-eu.msg diff --git a/messages/uniworx/uniworx_new/exam/exam_office/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/exam/exam_office/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/exam/exam_office/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/exam/exam_office/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/exam/exam_office/en-eu.msg b/messages/uniworx/uniworx_new/categories/exam/exam_office/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/exam/exam_office/en-eu.msg rename to messages/uniworx/uniworx_new/categories/exam/exam_office/en-eu.msg diff --git a/messages/uniworx/uniworx_new/exam/external_exam/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/exam/external_exam/de-de-formal.msg similarity index 89% rename from messages/uniworx/uniworx_new/exam/external_exam/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/exam/external_exam/de-de-formal.msg index e9d93be30..94a857681 100644 --- a/messages/uniworx/uniworx_new/exam/external_exam/de-de-formal.msg +++ b/messages/uniworx/uniworx_new/categories/exam/external_exam/de-de-formal.msg @@ -50,3 +50,17 @@ ExternalExamNoShow: Nicht erschienen ExternalExamVoided: Entwertet ExternalExamUserMarkSynchronisedCsv: Prüfungsleistungen beim Export als synchronisiert markieren ExternalExamUserMarkSynchronisedCsvTip: Sollen beim CSV-Export automatisch alle heruntergeladenen Prüfungsleistungen als synchronisiert markiert werden? Diese Markierung dient als Hinweis an andere Prüfungsbeauftragte und die Kursverwalter:innen, dass die Leistung an der korrekten Stelle vermerkt wurde und keiner weiteren Handlung bedarf. + +#utils +ExternalExamUserCsvName tid@TermId ssh@SchoolId coursen@CourseName examn@ExamName: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase coursen}-#{foldedCase examn}-teilnehmer +ExternalExamUserSynchronised: Synchronisiert +ExternalExamAction: Aktion +ExampleUser1FirstName: Max ZweiterName +ExampleUser1Surname: Mustermann +ExampleUser1DisplayName: Max Mustermann +ExampleUser2FirstName: Martha +ExampleUser2Surname: Musterstudent +ExampleUser2DisplayName: Musterstudent Martha +ExampleUser3FirstName: Maria +ExampleUser3Surname: Beispiel +ExampleUser3DisplayName: Beispiel diff --git a/messages/uniworx/uniworx_new/exam/external_exam/en-eu.msg b/messages/uniworx/uniworx_new/categories/exam/external_exam/en-eu.msg similarity index 88% rename from messages/uniworx/uniworx_new/exam/external_exam/en-eu.msg rename to messages/uniworx/uniworx_new/categories/exam/external_exam/en-eu.msg index 4a320f6c6..d5c5e483b 100644 --- a/messages/uniworx/uniworx_new/exam/external_exam/en-eu.msg +++ b/messages/uniworx/uniworx_new/categories/exam/external_exam/en-eu.msg @@ -50,3 +50,17 @@ ExternalExamNoShow: Not present ExternalExamVoided: Voided ExternalExamUserMarkSynchronisedCsv: Mark exam achievements as synchronised while exporting ExternalExamUserMarkSynchronisedCsvTip: Should all exam achievements, that are included in the download, be marked as synchronised? Marking exam achievemnts as synchronised serves as a notice to other exam offices and course administrators, that the exam achievement has been dealt with properly such that no further action is required. + +#utils +ExternalExamUserCsvName tid@TermId ssh@SchoolId coursen@CourseName examn@ExamName: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase coursen}-#{foldedCase examn}-participants +ExternalExamUserSynchronised: Synchronised +ExternalExamAction: Action +ExampleUser1FirstName: Max SecondName +ExampleUser1Surname: Mustermann +ExampleUser1DisplayName: Max Mustermann +ExampleUser2FirstName: Martha +ExampleUser2Surname: Musterstudent +ExampleUser2DisplayName: Musterstudent Martha +ExampleUser3FirstName: Maria +ExampleUser3Surname: Example +ExampleUser3DisplayName: Example diff --git a/messages/uniworx/uniworx_new/help/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/help/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/help/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/help/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/help/en-eu.msg b/messages/uniworx/uniworx_new/categories/help/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/help/en-eu.msg rename to messages/uniworx/uniworx_new/categories/help/en-eu.msg diff --git a/messages/uniworx/uniworx_new/settings/auth_settings/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/settings/auth_settings/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/settings/auth_settings/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/settings/auth_settings/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/settings/auth_settings/en-eu.msg b/messages/uniworx/uniworx_new/categories/settings/auth_settings/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/settings/auth_settings/en-eu.msg rename to messages/uniworx/uniworx_new/categories/settings/auth_settings/en-eu.msg diff --git a/messages/uniworx/uniworx_new/settings/csv_options/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/settings/csv_options/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/settings/csv_options/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/settings/csv_options/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/settings/csv_options/en-eu.msg b/messages/uniworx/uniworx_new/categories/settings/csv_options/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/settings/csv_options/en-eu.msg rename to messages/uniworx/uniworx_new/categories/settings/csv_options/en-eu.msg diff --git a/messages/uniworx/uniworx_new/settings/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/settings/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/settings/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/settings/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/settings/en-eu.msg b/messages/uniworx/uniworx_new/categories/settings/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/settings/en-eu.msg rename to messages/uniworx/uniworx_new/categories/settings/en-eu.msg diff --git a/messages/uniworx/uniworx_new/settings/personal_settings/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/settings/personal_settings/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/settings/personal_settings/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/settings/personal_settings/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/settings/personal_settings/en-eu.msg b/messages/uniworx/uniworx_new/categories/settings/personal_settings/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/settings/personal_settings/en-eu.msg rename to messages/uniworx/uniworx_new/categories/settings/personal_settings/en-eu.msg diff --git a/messages/uniworx/uniworx_new/sheet/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/sheet/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/sheet/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/sheet/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/sheet/en-eu.msg b/messages/uniworx/uniworx_new/categories/sheet/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/sheet/en-eu.msg rename to messages/uniworx/uniworx_new/categories/sheet/en-eu.msg diff --git a/messages/uniworx/uniworx_new/submission/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/submission/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/submission/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/submission/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/submission/en-eu.msg b/messages/uniworx/uniworx_new/categories/submission/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/submission/en-eu.msg rename to messages/uniworx/uniworx_new/categories/submission/en-eu.msg diff --git a/messages/uniworx/uniworx_new/tutorial/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/tutorial/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/tutorial/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/tutorial/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/tutorial/en-eu.msg b/messages/uniworx/uniworx_new/categories/tutorial/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/tutorial/en-eu.msg rename to messages/uniworx/uniworx_new/categories/tutorial/en-eu.msg diff --git a/messages/uniworx/uniworx_new/user/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/user/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/user/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/user/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/user/en-eu.msg b/messages/uniworx/uniworx_new/categories/user/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/user/en-eu.msg rename to messages/uniworx/uniworx_new/categories/user/en-eu.msg diff --git a/messages/uniworx/uniworx_new/workflows/de-de-formal.msg b/messages/uniworx/uniworx_new/categories/workflows/de-de-formal.msg similarity index 97% rename from messages/uniworx/uniworx_new/workflows/de-de-formal.msg rename to messages/uniworx/uniworx_new/categories/workflows/de-de-formal.msg index 88895cf92..4e3a1e023 100644 --- a/messages/uniworx/uniworx_new/workflows/de-de-formal.msg +++ b/messages/uniworx/uniworx_new/categories/workflows/de-de-formal.msg @@ -132,3 +132,7 @@ WorkflowWorkflowListCurrentState: Aktueller Zustand WorkflowWorkflowListLastActionTime: Zeitpunkt, letzte Aktion WorkflowWorkflowListLastActionUser: Benutzer:in, letzte Aktion WorkflowWorkflowListIsFinal: Abgeschlossen? + +WorkflowGraphFormUploadIsDirectory: Upload ist Verzeichnis +WorkflowGraphFormInvalidNumberOfFiles: Es muss genau eine Datei hochgeladen werden +WorkflowCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen} diff --git a/messages/uniworx/uniworx_new/workflows/en-eu.msg b/messages/uniworx/uniworx_new/categories/workflows/en-eu.msg similarity index 97% rename from messages/uniworx/uniworx_new/workflows/en-eu.msg rename to messages/uniworx/uniworx_new/categories/workflows/en-eu.msg index ce4df5409..ce45fa515 100644 --- a/messages/uniworx/uniworx_new/workflows/en-eu.msg +++ b/messages/uniworx/uniworx_new/categories/workflows/en-eu.msg @@ -131,4 +131,8 @@ WorkflowInstanceCreated: Instance created WorkflowInstanceDescriptionTitle: Instance title WorkflowInstanceWorkflowCount: Workflows -WorkflowInstanceInitiateSuccess: Successfully initiated workflow \ No newline at end of file +WorkflowInstanceInitiateSuccess: Successfully initiated workflow + +WorkflowGraphFormUploadIsDirectory: Upload is a directory +WorkflowGraphFormInvalidNumberOfFiles: You need to upload exactly one file +WorkflowCourseOption tid ssh coursen: #{tid} - #{ssh} - #{coursen} diff --git a/messages/uniworx/uniworx_new/utils/buttons/de-de-formal.msg b/messages/uniworx/uniworx_new/utils/buttons/de-de-formal.msg new file mode 100644 index 000000000..7ec124ca8 --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/buttons/de-de-formal.msg @@ -0,0 +1,62 @@ +BtnSubmit: Senden +BtnAbort: Abbrechen +BtnDelete: Löschen +BtnRegister: Anmelden +BtnDeregister: Abmelden +BtnCourseRegister: Zum Kurs anmelden +BtnCourseDeregister: Vom Kurs abmelden +BtnCourseApply: Zum Kurs bewerben +BtnCourseRetractApplication: Bewerbung zum Kurs zurückziehen +BtnExamRegister: Anmelden zur Prüfung +BtnExamRegisterOccurrence: Anmelden zum Prüfungstermin/-raum +BtnExamSwitchOccurrence: Zu Prüfungstermin/-raum wechseln +BtnExamDeregister: Von der Prüfung abmelden +BtnHijack: Sitzung übernehmen +BtnSave: Speichern +PressSaveToSave: Änderungen werden erst durch Drücken des Knopfes „_{MsgBtnSave}“ gespeichert. +BtnHandIn: Abgeben +BtnNameCandidatesInfer: Studienfach-Namens-Zuordnung automatisch lernen +BtnNameCandidatesDeleteConflicts: Namenskonflikte löschen +BtnNameCandidatesDeleteAll: Alle Namens-Beobachtungen löschen +BtnParentCandidatesInfer: Unterstudiengangs-Zuordnung automatisch lernen +BtnParentCandidatesDeleteAll: Alle Unterstudiengangs-Beobachtungen löschen +BtnStandaloneCandidatesDeleteAll: Alle Einzelstudiengangs-Beobachtungen löschen +BtnStandaloneCandidatesDeleteRedundant: Redundante Einzelstudiengangs-Beobachtungen löschen +BtnLecInvAccept: Annehmen +BtnLecInvDecline: Ablehnen +BtnCorrInvAccept: Annehmen +BtnCorrInvDecline: Ablehnen +BtnSubmissionsAssign: Abgaben automatisch zuteilen +BtnSubmissionsAssignAll: Abgaben automatisch zuteilen +BtnAllocationCompute: Vergabe berechnen +BtnAllocationAccept: Vergabe akzeptieren +BtnAllocationRegister: Teilnahme registrieren +BtnAllocationRegistrationEdit: Teilnahme anpassen +BtnAllocationApply: Bewerben +BtnAllocationApplicationEdit: Bewerbung ersetzen +BtnAllocationApplicationRetract: Bewerbung zurückziehen +BtnAllocationApplicationRate: Bewerbung bewerten +BtnSystemMessageHide: Verstecken +BtnSystemMessageUnhide: Nicht mehr verstecken +BtnCommunicationSend: Senden +BtnCommunicationTest: Test-Nachricht verschicken +BtnAcceptApplications: Bewerbungen akzeptieren +BtnAcceptApplicationsTip: Mit dem untigen Knopf können Sie den Kurs (höchstens bis zur angegeben Maximalkapazität, falls eingestellt) mit Bewerbern auffüllen. Die Bewertungen der Bewerbungen werden dabei berücksichtigt (Unbewertet wird behandelt wie eine Note zwischen 2.3 und 2.7). Bewerber mit Veto oder 5.0 werden nicht angemeldet. +BtnExamAutoOccurrenceCalculate: Verteilungstabelle berechnen +BtnExamAutoOccurrenceAccept: Verteilung akzeptieren +BtnExamAutoOccurrenceNudgeUp: + +BtnExamAutoOccurrenceNudgeDown: - +BtnSetDisplayEmail: E-Mail-Adresse setzen +BtnAuthLDAP: Auf Campus-Kennung umstellen +BtnAuthPWHash: Auf Uni2work-Kennung umstellen +BtnPasswordReset: Passwort zurücksetzen +BtnCsvExport: CSV-Datei exportieren +BtnCsvImport: CSV-Datei importieren +BtnCsvImportConfirm: CSV-Import abschließen +BtnCsvImportAbort: Abbrechen +BtnInviteAccept: Einladung annehmen +BtnInviteDecline: Einladung ablehnen +BtnNotifyNewCourseForceOn: Benachrichtigen +BtnNotifyNewCourseForceOff: Nicht benachrichtigen +BtnUserAssimilate: Assimilieren +BtnCloseExam: Prüfung abschließen diff --git a/messages/uniworx/uniworx_new/utils/buttons/en-eu.msg b/messages/uniworx/uniworx_new/utils/buttons/en-eu.msg new file mode 100644 index 000000000..b878551e5 --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/buttons/en-eu.msg @@ -0,0 +1,62 @@ +BtnSubmit: Submit +BtnAbort: Abort +BtnDelete: Delete +BtnRegister: Register +BtnDeregister: Deregister +BtnCourseRegister: Enrol for course +BtnCourseDeregister: Leave course +BtnCourseApply: Apply for course +BtnCourseRetractApplication: Retract application +BtnExamRegister: Enrol for exam +BtnExamRegisterOccurrence: Enrol for exam occurrence/room +BtnExamSwitchOccurrence: Switch to exam occurrence/room +BtnExamDeregister: Leave exam +BtnHijack: Hijack session +BtnSave: Save +PressSaveToSave: Changes will only be saved after clicking "Save". +BtnHandIn: Hand in submission +BtnNameCandidatesInfer: Infer name-mapping +BtnNameCandidatesDeleteConflicts: Delete name-conflicts +BtnNameCandidatesDeleteAll: Delete all name-observations +BtnParentCandidatesInfer: Infer parent-relation +BtnParentCandidatesDeleteAll: Delete all parent-observations +BtnStandaloneCandidatesDeleteAll: Delete all standalone-observations +BtnStandaloneCandidatesDeleteRedundant: Delete redundant standalone-observations +BtnLecInvAccept: Accept +BtnLecInvDecline: Decline +BtnCorrInvAccept: Accept +BtnCorrInvDecline: Decline +BtnSubmissionsAssign: Assign submissions automatically +BtnSubmissionsAssignAll: Automatically distribute corrections +BtnAllocationCompute: Compute allocation +BtnAllocationAccept: Accept allocation +BtnAllocationRegister: Register participation +BtnAllocationRegistrationEdit: Edit registration +BtnAllocationApply: Apply +BtnAllocationApplicationEdit: Edit application +BtnAllocationApplicationRetract: Retract application +BtnAllocationApplicationRate: Grade application +BtnSystemMessageHide: Hide +BtnSystemMessageUnhide: Unhide +BtnCommunicationSend: Send +BtnCommunicationTest: Send test message +BtnAcceptApplications: Accept applications +BtnAcceptApplicationsTip: By clicking the button below you may fill the course with applicants (only up to the maximum capacity if configured). Grading of applications will be considered (no grading is treated as if graded between 2.3 and 2.7). Vetoed applicants and applications graded 5.0 will not be enrolled. +BtnInviteAccept: Accept invitation +BtnInviteDecline: Decline invitation +BtnExamAutoOccurrenceCalculate: Calculate assignment rules +BtnExamAutoOccurrenceAccept: Accept assignments +BtnExamAutoOccurrenceNudgeUp: + +BtnExamAutoOccurrenceNudgeDown: - +BtnSetDisplayEmail: Set email address +BtnAuthLDAP: Change to campus account +BtnAuthPWHash: Change to Uni2work accont +BtnPasswordReset: Reset password +BtnCsvExport: Export CSV file +BtnCsvImport: Import CSV file +BtnCsvImportConfirm: Finalise CSV import +BtnCsvImportAbort: Abort +BtnNotifyNewCourseForceOn: Notify me +BtnNotifyNewCourseForceOff: Do not notify me +BtnUserAssimilate: Assimilate +BtnCloseExam: Close exam diff --git a/messages/uniworx/uniworx_new/utils/form/massinput/de-de-formal.msg b/messages/uniworx/uniworx_new/utils/form/massinput/de-de-formal.msg new file mode 100644 index 000000000..e82d7e505 --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/form/massinput/de-de-formal.msg @@ -0,0 +1,2 @@ +MassInputAddDimension: + +MassInputDeleteCell: - diff --git a/messages/uniworx/uniworx_new/utils/form/massinput/en-eu.msg b/messages/uniworx/uniworx_new/utils/form/massinput/en-eu.msg new file mode 100644 index 000000000..e82d7e505 --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/form/massinput/en-eu.msg @@ -0,0 +1,2 @@ +MassInputAddDimension: + +MassInputDeleteCell: - diff --git a/messages/uniworx/uniworx_new/utils/form/occurrences/de-de-formal.msg b/messages/uniworx/uniworx_new/utils/form/occurrences/de-de-formal.msg new file mode 100644 index 000000000..15f9b28c4 --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/form/occurrences/de-de-formal.msg @@ -0,0 +1,18 @@ +ScheduleKindWeekly: Wöchentlich +ScheduleRegular: Planmäßiger Termin +ScheduleRegularKind: Plan +OccurrenceWeekDay: Wochentag +OccurrenceStart: Beginn +OccurrenceEnd: Ende +OccurrenceNever: Nie +OccurrenceNoneScheduled: (Noch) keine planmäßigen Termine +OccurrenceNoneExceptions: (Noch) keine Termin-Ausnahmen +ScheduleExists: Dieser Plan existiert bereits +ScheduleExceptions: Termin-Ausnahmen +ScheduleExceptionsTip: Ausfälle überschreiben planmäßiges Stattfinden. Außerplanmäßiges Stattfinden überschreibt Ausfall. +Day: Tag +ExceptionExists: Diese Ausnahme existiert bereits +ExceptionNoOccurAt: Termin +ExceptionKind: Termin ... +ExceptionKindOccur: Findet statt +ExceptionKindNoOccur: Findet nicht statt diff --git a/messages/uniworx/uniworx_new/utils/form/occurrences/en-eu.msg b/messages/uniworx/uniworx_new/utils/form/occurrences/en-eu.msg new file mode 100644 index 000000000..e4523dec2 --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/form/occurrences/en-eu.msg @@ -0,0 +1,18 @@ +ScheduleKindWeekly: Weekly +ScheduleRegular: Regular occurrence +ScheduleRegularKind: Schedule +OccurrenceWeekDay: Day of the week +OccurrenceStart: Start +OccurrenceEnd: End +OccurrenceNever: Never +OccurrenceNoneScheduled: No regular occurrences (yet) +OccurrenceNoneExceptions: No exceptions (yet) +ScheduleExists: This schedule already exists +ScheduleExceptions: Exceptions +ScheduleExceptionsTip: “Does not occur” overrides the regular schedule. “Does occur” overides “does not occur”. +Day: Day +ExceptionExists: This exception already exists +ExceptionNoOccurAt: Event +ExceptionKind: Event ... +ExceptionKindOccur: Does occur +ExceptionKindNoOccur: Does not occur diff --git a/messages/uniworx/uniworx_new/navigation/breadcrumbs/de-de-formal.msg b/messages/uniworx/uniworx_new/utils/navigation/breadcrumbs/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/navigation/breadcrumbs/de-de-formal.msg rename to messages/uniworx/uniworx_new/utils/navigation/breadcrumbs/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/navigation/breadcrumbs/en-eu.msg b/messages/uniworx/uniworx_new/utils/navigation/breadcrumbs/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/navigation/breadcrumbs/en-eu.msg rename to messages/uniworx/uniworx_new/utils/navigation/breadcrumbs/en-eu.msg diff --git a/messages/uniworx/uniworx_new/navigation/menu/de-de-formal.msg b/messages/uniworx/uniworx_new/utils/navigation/menu/de-de-formal.msg similarity index 100% rename from messages/uniworx/uniworx_new/navigation/menu/de-de-formal.msg rename to messages/uniworx/uniworx_new/utils/navigation/menu/de-de-formal.msg diff --git a/messages/uniworx/uniworx_new/navigation/menu/en-eu.msg b/messages/uniworx/uniworx_new/utils/navigation/menu/en-eu.msg similarity index 100% rename from messages/uniworx/uniworx_new/navigation/menu/en-eu.msg rename to messages/uniworx/uniworx_new/utils/navigation/menu/en-eu.msg diff --git a/messages/uniworx/uniworx_new/utils/rating/de-de-formal.msg b/messages/uniworx/uniworx_new/utils/rating/de-de-formal.msg new file mode 100644 index 000000000..1a5577675 --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/rating/de-de-formal.msg @@ -0,0 +1,7 @@ +RatingYAMLMetaComment: Meta-Informationen zur Korrektur (werden beim Hochladen ignoriert) +RatingYAMLRatingComment: Bewertung +RatingYAMLChangePointsComment: TODO: Hier die Punktezahl statt null eintragen (bis zu zwei Nachkommastellen, Punkt als Dezimalseparator; z.B. 17.03) +RatingYAMLChangePassedComment: TODO: Hier true oder false statt null eintragen (true entspricht Bestanden) +RatingYAMLChangeDoneComment: TODO: Von false auf true setzen, sobald Bewertung abgeschlossen; sonst Korrektur für die Studierenden nicht sichtbar und keine Anrechnung auf Prüfungsbonus +RatingYAMLChangeCommentComment: TODO: Korrektur-Kommentar für die Studierenden unterhalb der Abtrennung (...) eintragen +RatingYAMLSubmissionIdComment: Abgabenummer; wird beim Hochladen mit dem Dateinamen abgeglichen diff --git a/messages/uniworx/uniworx_new/utils/rating/en-eu.msg b/messages/uniworx/uniworx_new/utils/rating/en-eu.msg new file mode 100644 index 000000000..3cba39b23 --- /dev/null +++ b/messages/uniworx/uniworx_new/utils/rating/en-eu.msg @@ -0,0 +1,7 @@ +RatingYAMLMetaComment: Metadata about correction (ignored during upload) +RatingYAMLRatingComment: Rating +RatingYAMLChangePointsComment: TODO: Insert number of points instead of null (up to two decimal places, use period as a decimal separator; e.g. 17.03) +RatingYAMLChangePassedComment: TODO: Set true or false instead of null (true means passed) +RatingYAMLChangeDoneComment: TODO: Set to true instead of false, when correction is finished; otherwise correction will not be visible to students and won't be counted for exam bonus +RatingYAMLChangeCommentComment: TODO: Enter correction comment after the separator below (...) +RatingYAMLSubmissionIdComment: Submission id; will be compared to the filename during upload diff --git a/src/Foundation/I18n.hs b/src/Foundation/I18n.hs index 1d02cddf5..6aeeca3ae 100644 --- a/src/Foundation/I18n.hs +++ b/src/Foundation/I18n.hs @@ -7,7 +7,8 @@ module Foundation.I18n , UniWorXHelpMessage(..), UniWorXNavigationMessage(..), UniWorXWorkflowMessage(..) , UniWorXCourseMessage(..), UniWorXAllocationMessage(..), UniWorXExamMessage(..) , UniWorXSheetMessage(..), UniWorXAdminMessage(..), UniWorXSubmissionMessage(..) - , UniWorXTutorialMessage(..), UniWorXUserMessage(..) + , UniWorXTutorialMessage(..), UniWorXUserMessage(..), UniWorXButtonMessage(..) + , UniWorXFormMessage(..), UniWorXRatingMessage(..) , ShortTermIdentifier(..) , MsgLanguage(..) , ShortSex(..) @@ -137,18 +138,21 @@ maybeToMessage before (Just x) after = before <> toMessage x <> after -- Messages creates type UniWorXMessage and RenderMessage UniWorX instance mkMessage ''UniWorX "messages/uniworx/misc" "de-de-formal" mkMessageAddition ''UniWorX "Test" "messages/uniworx/test" "de-de-formal" -mkMessageAddition ''UniWorX "Settings" "messages/uniworx/uniworx_new/settings" "de-de-formal" -mkMessageAddition ''UniWorX "Help" "messages/uniworx/uniworx_new/help" "de-de-formal" -mkMessageAddition ''UniWorX "Navigation" "messages/uniworx/uniworx_new/navigation" "de-de-formal" -mkMessageAddition ''UniWorX "Workflow" "messages/uniworx/uniworx_new/workflows" "de-de-formal" -mkMessageAddition ''UniWorX "Course" "messages/uniworx/uniworx_new/courses" "de-de-formal" -mkMessageAddition ''UniWorX "Allocation" "messages/uniworx/uniworx_new/allocation" "de-de-formal" -mkMessageAddition ''UniWorX "Exam" "messages/uniworx/uniworx_new/exam" "de-de-formal" -mkMessageAddition ''UniWorX "Sheet" "messages/uniworx/uniworx_new/sheet" "de-de-formal" -mkMessageAddition ''UniWorX "Admin" "messages/uniworx/uniworx_new/admin" "de-de-formal" -mkMessageAddition ''UniWorX "Submission" "messages/uniworx/uniworx_new/submission" "de-de-formal" -mkMessageAddition ''UniWorX "Tutorial" "messages/uniworx/uniworx_new/tutorial" "de-de-formal" -mkMessageAddition ''UniWorX "User" "messages/uniworx/uniworx_new/user" "de-de-formal" +mkMessageAddition ''UniWorX "Settings" "messages/uniworx/uniworx_new/categories/settings" "de-de-formal" +mkMessageAddition ''UniWorX "Help" "messages/uniworx/uniworx_new/categories/help" "de-de-formal" +mkMessageAddition ''UniWorX "Navigation" "messages/uniworx/uniworx_new/utils/navigation" "de-de-formal" +mkMessageAddition ''UniWorX "Workflow" "messages/uniworx/uniworx_new/categories/workflows" "de-de-formal" +mkMessageAddition ''UniWorX "Course" "messages/uniworx/uniworx_new/categories/courses" "de-de-formal" +mkMessageAddition ''UniWorX "Allocation" "messages/uniworx/uniworx_new/categories/allocation" "de-de-formal" +mkMessageAddition ''UniWorX "Exam" "messages/uniworx/uniworx_new/categories/exam" "de-de-formal" +mkMessageAddition ''UniWorX "Sheet" "messages/uniworx/uniworx_new/categories/sheet" "de-de-formal" +mkMessageAddition ''UniWorX "Admin" "messages/uniworx/uniworx_new/categories/admin" "de-de-formal" +mkMessageAddition ''UniWorX "Submission" "messages/uniworx/uniworx_new/categories/submission" "de-de-formal" +mkMessageAddition ''UniWorX "Tutorial" "messages/uniworx/uniworx_new/categories/tutorial" "de-de-formal" +mkMessageAddition ''UniWorX "User" "messages/uniworx/uniworx_new/categories/user" "de-de-formal" +mkMessageAddition ''UniWorX "Button" "messages/uniworx/uniworx_new/utils/buttons" "de-de-formal" +mkMessageAddition ''UniWorX "Form" "messages/uniworx/uniworx_new/utils/form" "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" mkMessageVariant ''UniWorX ''PWHashMessage "messages/auth/pw-hash" "de" diff --git a/src/Handler/Course/Users.hs b/src/Handler/Course/Users.hs index faac963a6..5fb2092df 100644 --- a/src/Handler/Course/Users.hs +++ b/src/Handler/Course/Users.hs @@ -424,7 +424,7 @@ makeCourseUserTable cid acts restrict colChoices psValidator csvColumns = do ] where single = uncurry Map.singleton dbtFilterUI mPrev = mconcat $ - [ prismAForm (singletonFilter "active" . maybePrism _PathPiece) mPrev $ aopt (courseParticipantStateIsActiveField . Just $ SomeMessage MsgNoFilter) (fslI MsgCourseParticipantStateIsActiveFilter) + [ prismAForm (singletonFilter "active" . maybePrism _PathPiece) mPrev $ aopt (courseParticipantStateIsActiveField . Just $ SomeMessage MsgTableNoFilter) (fslI MsgCourseParticipantStateIsActiveFilter) , fltrUserNameEmailUI mPrev , fltrUserMatriclenrUI mPrev ] ++ @@ -436,7 +436,7 @@ makeCourseUserTable cid acts restrict colChoices psValidator csvColumns = do , fltrRelevantStudyFeaturesTermsUI mPrev , fltrRelevantStudyFeaturesSemesterUI mPrev ] ++ - [ prismAForm (singletonFilter "has-personalised-sheet-files". maybePrism _PathPiece) mPrev $ aopt (selectField' (Just $ SomeMessage MsgNoFilter) . optionsF $ map E.unValue personalisedSheets) (fslI MsgCourseUserHasPersonalisedSheetFilesFilter) + [ prismAForm (singletonFilter "has-personalised-sheet-files". maybePrism _PathPiece) mPrev $ aopt (selectField' (Just $ SomeMessage MsgTableNoFilter) . optionsF $ map E.unValue personalisedSheets) (fslI MsgCourseUserHasPersonalisedSheetFilesFilter) | not $ null personalisedSheets ] dbtParams = DBParamsForm diff --git a/src/Handler/Utils/ExternalExam/Users.hs b/src/Handler/Utils/ExternalExam/Users.hs index f46a7f81b..9fe8909e4 100644 --- a/src/Handler/Utils/ExternalExam/Users.hs +++ b/src/Handler/Utils/ExternalExam/Users.hs @@ -243,7 +243,7 @@ makeExternalExamUsersTable mode (Entity eeId ExternalExam{..}) = do ] return $ Map.elems syncs' - colSynced = Colonnade.singleton (fromSortable . Sortable (Just "is-synced") $ i18nCell MsgExamUserSynchronised) $ \x -> cell . flip runReaderT x $ do + colSynced = Colonnade.singleton (fromSortable . Sortable (Just "is-synced") $ i18nCell MsgExternalExamUserSynchronised) $ \x -> cell . flip runReaderT x $ do syncs <- asks $ sortOn (Down . view _3) . toListOf resultSynchronised lastChange <- view $ resultResult . _entityVal . _externalExamResultLastChanged user <- view $ resultUser . _entityVal @@ -313,7 +313,7 @@ makeExternalExamUsersTable mode (Entity eeId ExternalExam{..}) = do , fltrExamResultPointsUI , case mode of EEUMGrades -> - \mPrev -> prismAForm (singletonFilter "is-synced" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgExamUserSynchronised) + \mPrev -> prismAForm (singletonFilter "is-synced" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgExternalExamUserSynchronised) _other -> mempty , fltrRelevantStudyFeaturesTermsUI , fltrRelevantStudyFeaturesDegreeUI @@ -334,7 +334,7 @@ makeExternalExamUsersTable mode (Entity eeId ExternalExam{..}) = do , pure ExternalExamUserMarkSynchronisedData ) ] - (res, formWgt) <- multiActionM actionMap (fslI MsgAction) Nothing csrf + (res, formWgt) <- multiActionM actionMap (fslI MsgExternalExamAction) Nothing csrf let formRes = (, mempty) . First . Just <$> res return (formRes, formWgt) EEUMUsers -> \csrf -> do @@ -350,7 +350,7 @@ makeExternalExamUsersTable mode (Entity eeId ExternalExam{..}) = do , singletonMap ExternalExamUserDelete $ pure ExternalExamUserDeleteData ] - (res, formWgt) <- multiActionM actionMap (fslI MsgAction) Nothing csrf + (res, formWgt) <- multiActionM actionMap (fslI MsgExternalExamAction) Nothing csrf let formRes = (, mempty) . First . Just <$> res return (formRes, formWgt) , dbParamsFormEvaluate = liftHandler . runFormPost diff --git a/src/Handler/Utils/Form/Occurrences.hs b/src/Handler/Utils/Form/Occurrences.hs index ddbb3b177..c60ce3d84 100644 --- a/src/Handler/Utils/Form/Occurrences.hs +++ b/src/Handler/Utils/Form/Occurrences.hs @@ -53,7 +53,7 @@ occurrencesAForm (toPathPiece -> miIdent') mPrev = wFormToAForm $ do newSched <- multiActionW (Map.fromList [ ( ScheduleKindWeekly , ScheduleWeekly - <$> apreq (selectField' Nothing optionsFinite) (fslI MsgWeekDay & addName (nudge "occur-week-day")) Nothing + <$> apreq (selectField' Nothing optionsFinite) (fslI MsgOccurrenceWeekDay & addName (nudge "occur-week-day")) Nothing <*> apreq timeFieldTypeTime (fslI MsgOccurrenceStart & addName (nudge "occur-start")) Nothing <*> apreq timeFieldTypeTime (fslI MsgOccurrenceEnd & addName (nudge "occur-end")) Nothing ) diff --git a/src/Handler/Utils/Table/Columns.hs b/src/Handler/Utils/Table/Columns.hs index 7ef1c215e..69c7eb59c 100644 --- a/src/Handler/Utils/Table/Columns.hs +++ b/src/Handler/Utils/Table/Columns.hs @@ -281,7 +281,7 @@ fltrExamResultPoints queryExamResult = singletonMap "exam-result" . FilterColumn fltrExamResultPointsUI :: DBFilterUI -fltrExamResultPointsUI mPrev = prismAForm (singletonFilter "exam-result" . maybePrism _PathPiece) mPrev $ aopt (examResultPassedGradeField . Just $ SomeMessage MsgNoFilter) (fslI MsgTableExamResult) +fltrExamResultPointsUI mPrev = prismAForm (singletonFilter "exam-result" . maybePrism _PathPiece) mPrev $ aopt (examResultPassedGradeField . Just $ SomeMessage MsgTableNoFilter) (fslI MsgTableExamResult) ------------- -- Courses -- diff --git a/src/Handler/Workflow/Definition/List.hs b/src/Handler/Workflow/Definition/List.hs index ecd19b12a..14c8c5feb 100644 --- a/src/Handler/Workflow/Definition/List.hs +++ b/src/Handler/Workflow/Definition/List.hs @@ -121,7 +121,7 @@ getAdminWorkflowDefinitionListR = do ] dbtFilterUI mPrev = mconcat [ prismAForm (singletonFilter "name") mPrev $ aopt textField (fslI MsgWorkflowDefinitionName) - , prismAForm (singletonFilter "scope" . maybePrism _PathPiece) mPrev $ aopt (selectField' (Just $ SomeMessage MsgNoFilter) optionsFinite :: Field _ WorkflowScope') (fslI MsgWorkflowDefinitionScope) + , prismAForm (singletonFilter "scope" . maybePrism _PathPiece) mPrev $ aopt (selectField' (Just $ SomeMessage MsgTableNoFilter) optionsFinite :: Field _ WorkflowScope') (fslI MsgWorkflowDefinitionScope) , prismAForm (singletonFilter "title") mPrev $ aopt textField (fslI MsgWorkflowDescriptionTitle) , prismAForm (singletonFilter "instance-title") mPrev $ aopt textField (fslI MsgWorkflowInstanceDescriptionTitle) ] diff --git a/src/Handler/Workflow/Instance/Form.hs b/src/Handler/Workflow/Instance/Form.hs index ff32f8aea..38aaa494e 100644 --- a/src/Handler/Workflow/Instance/Form.hs +++ b/src/Handler/Workflow/Instance/Form.hs @@ -32,14 +32,14 @@ workflowInstanceScopeForm scopeRestr fs mPrev = multiActionA scopeOptions' fs $ , WSSchool <$> apopt schoolField (fslI MsgTableSchool) (mPrev ^? _Just . _wisSchool) ) , ( WSTermSchool' - , WSTermSchool <$> apopt termField (fslI MsgTerm) (mPrev ^? _Just . _wisTerm) + , WSTermSchool <$> apopt termField (fslI MsgTableTerm) (mPrev ^? _Just . _wisTerm) <*> apopt schoolField (fslI MsgTableSchool) (mPrev ^? _Just . _wisSchool) ) , ( WSCourse' , WSCourse <$> apopt (selectField' Nothing courseOptions) (fslI MsgTableCourse) (mPrev ^? _Just . _wisCourse) ) ] - where courseOptions = fmap (fmap entityKey) . optionsPersistCryptoId [] [ Desc CourseTerm, Asc CourseSchool, Asc CourseName ] $ \Course{..} -> MsgCourseOption courseTerm courseSchool courseName + where courseOptions = fmap (fmap entityKey) . optionsPersistCryptoId [] [ Desc CourseTerm, Asc CourseSchool, Asc CourseName ] $ \Course{..} -> MsgWorkflowCourseOption courseTerm courseSchool courseName data WorkflowInstanceForm = WorkflowInstanceForm diff --git a/src/Handler/Workflow/Instance/List.hs b/src/Handler/Workflow/Instance/List.hs index 0d4fc285d..0f8fb1e8c 100644 --- a/src/Handler/Workflow/Instance/List.hs +++ b/src/Handler/Workflow/Instance/List.hs @@ -109,7 +109,7 @@ getAdminWorkflowInstanceListR = do ] dbtFilterUI mPrev = mconcat [ prismAForm (singletonFilter "name") mPrev $ aopt textField (fslI MsgWorkflowInstanceName) - , prismAForm (singletonFilter "scope" . maybePrism _PathPiece) mPrev $ aopt (selectField' (Just $ SomeMessage MsgNoFilter) $ return scopeOptions) (fslI MsgWorkflowScope) + , prismAForm (singletonFilter "scope" . maybePrism _PathPiece) mPrev $ aopt (selectField' (Just $ SomeMessage MsgTableNoFilter) $ return scopeOptions) (fslI MsgWorkflowScope) , prismAForm (singletonFilter "title") mPrev $ aopt textField (fslI MsgWorkflowInstanceDescriptionTitle) ] dbtStyle = def { dbsFilterLayout = defaultDBSFilterLayout } diff --git a/src/Jobs/Handler/ChangeUserDisplayEmail.hs b/src/Jobs/Handler/ChangeUserDisplayEmail.hs index 5c953a76a..09a7c0d1c 100644 --- a/src/Jobs/Handler/ChangeUserDisplayEmail.hs +++ b/src/Jobs/Handler/ChangeUserDisplayEmail.hs @@ -26,4 +26,4 @@ dispatchJobChangeUserDisplayEmail jUser jDisplayEmail = JobHandlerException $ do _mailTo .= pure (userAddress user & _addressEmail .~ CI.original jDisplayEmail) replaceMailHeader "Auto-Submitted" $ Just "auto-generated" setSubjectI MsgMailSubjectChangeUserDisplayEmail - addHtmlMarkdownAlternatives ($(ihamletFile "templates/mail/changeUserDisplayEmail.hamlet") :: HtmlUrlI18n UniWorXMessage (Route UniWorX)) + addHtmlMarkdownAlternatives ($(ihamletFile "templates/mail/changeUserDisplayEmail.hamlet") :: HtmlUrlI18n (SomeMessage UniWorX) (Route UniWorX)) diff --git a/templates/mail/changeUserDisplayEmail.hamlet b/templates/mail/changeUserDisplayEmail.hamlet index 6f4914d36..6c1c7c01b 100644 --- a/templates/mail/changeUserDisplayEmail.hamlet +++ b/templates/mail/changeUserDisplayEmail.hamlet @@ -11,9 +11,9 @@ $newline never }

- _{MsgMailTitleChangeUserDisplayEmail userDisplayName} + _{SomeMessage (MsgMailTitleChangeUserDisplayEmail userDisplayName)}

- _{MsgMailIntroChangeUserDisplayEmail jDisplayEmail} + _{SomeMessage (MsgMailIntroChangeUserDisplayEmail jDisplayEmail)}

- _{MsgBtnSetDisplayEmail} + _{SomeMessage MsgBtnSetDisplayEmail}