refactor(messages): beginning utils-folder

This commit is contained in:
Winnie Ros 2021-04-07 10:58:35 +02:00
parent 8a9660c2d4
commit 2e57c81a75
62 changed files with 250 additions and 263 deletions

View File

@ -1,51 +1,5 @@
Logo: Uni2work 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 AcceptApplicationsDirect: Direkt anmelden
AcceptApplicationsInvite: Einladungen verschicken AcceptApplicationsInvite: Einladungen verschicken
AcceptApplicationsSecondaryRandom: Zufällig AcceptApplicationsSecondaryRandom: Zufällig
@ -101,6 +55,7 @@ TableTutorialRoomIsHidden: Raum wird nur Teilnehmern angezeigt
TableTutorialTime: Zeit TableTutorialTime: Zeit
TableTutorialDeregisterUntil: Abmeldungen bis TableTutorialDeregisterUntil: Abmeldungen bis
TableActionsHead: Aktionen TableActionsHead: Aktionen
TableNoFilter: Keine Einschränkung
#headings #headings
HeadingLegal: Rechtliche Informationen HeadingLegal: Rechtliche Informationen
@ -518,7 +473,6 @@ UserSystemFunctions: Systemweite Rollen
UserSystemFunctionsSaved: Systemweite Rollen gespeichert UserSystemFunctionsSaved: Systemweite Rollen gespeichert
UserSystemFunctionsNotChanged: Es wurden keine systemweiten Rollen angepasst UserSystemFunctionsNotChanged: Es wurden keine systemweiten Rollen angepasst
UserAssimilateUser: Benutzer UserAssimilateUser: Benutzer
BtnUserAssimilate: Assimilieren
AssimilateUserNotFound: E-Mail Adresse konnte keinem Benutzer zugeordnet werden AssimilateUserNotFound: E-Mail Adresse konnte keinem Benutzer zugeordnet werden
AssimilateUserHaveError: Beim Assimilieren ist ein Fehler aufgetreten AssimilateUserHaveError: Beim Assimilieren ist ein Fehler aufgetreten
AssimilateUserHaveWarnings: Beim Assimilieren wurden Warnungen ausgegeben AssimilateUserHaveWarnings: Beim Assimilieren wurden Warnungen ausgegeben
@ -536,11 +490,6 @@ AllocNotifyNewCourseDefault: Systemweite Einstellung
AllocNotifyNewCourseForceOff: Nein AllocNotifyNewCourseForceOff: Nein
AllocNotifyNewCourseForceOn: Ja AllocNotifyNewCourseForceOn: Ja
BtnNotifyNewCourseForceOn: Benachrichtigen
BtnNotifyNewCourseForceOff: Nicht benachrichtigen
InvalidDateTimeFormat: Ungültiges Datums- und Zeitformat, JJJJ-MM-TTTHH:MM[:SS] Format erwartet 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 AmbiguousUTCTime: Der angegebene Zeitpunkt lässt sich nicht eindeutig zu UTC konvertieren
IllDefinedUTCTime: Der angegebene Zeitpunkt lässt sich nicht 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 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 NavigationFavourites: Favoriten
CommSubject: Betreff CommSubject: Betreff
@ -936,31 +882,8 @@ InvitationActionTip: Abgelehnte Einladungen können nicht mehr angenommen werden
InvitationMissingRestrictions: Authorisierungs-Token fehlen benötigte Daten InvitationMissingRestrictions: Authorisierungs-Token fehlen benötigte Daten
InvitationCollision: Einladung konnte nicht angenommen werden da ein derartiger Eintrag bereits existiert InvitationCollision: Einladung konnte nicht angenommen werden da ein derartiger Eintrag bereits existiert
InvitationDeclined: Einladung wurde abgelehnt InvitationDeclined: Einladung wurde abgelehnt
BtnInviteAccept: Einladung annehmen
BtnInviteDecline: Einladung ablehnen
ScheduleKindWeekly: Wöchentlich
ScheduleRegular: Planmäßiger Termin
ScheduleRegularKind: Plan
WeekDay: Wochentag 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. 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 CsvModifyExisting: Existierende Einträge angleichen
CsvAddNew: Neue Einträge einfügen CsvAddNew: Neue Einträge einfügen
CsvDeleteMissing: Fehlende Einträge entfernen CsvDeleteMissing: Fehlende Einträge entfernen
BtnCsvExport: CSV-Datei exportieren
BtnCsvImport: CSV-Datei importieren
BtnCsvImportConfirm: CSV-Import abschließen
BtnCsvImportAbort: Abbrechen
CsvImportNotConfigured: CSV-Import nicht vorgesehen CsvImportNotConfigured: CSV-Import nicht vorgesehen
CsvImportConfirmationHeading: CSV-Import Vorschau (noch keine Änderungen importiert) 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)}%) TableProportion c@Text of'@Text prop@Rational: #{c}/#{of'} (#{rationalToFixed2 (100 * prop)}%)
TableProportionNoRatio c@Text of'@Text: #{c}/#{of'} TableProportionNoRatio c@Text of'@Text: #{c}/#{of'}
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 ParticipantsCsvName tid@TermId ssh@SchoolId: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-kursteilnehmer
CsvColumnsExplanationsLabel: Spalten- & Zellenformat CsvColumnsExplanationsLabel: Spalten- & Zellenformat
@ -1137,10 +1055,6 @@ UtilExamResultPass: Bestanden/Nicht Bestanden
UtilExamResultNoShow: Nicht erschienen UtilExamResultNoShow: Nicht erschienen
UtilExamResultVoided: Entwertet 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 AuthLDAPLookupFailed: Nutzer konnte aufgrund eines LDAP-Fehlers nicht nachgeschlagen werden
AuthLDAPInvalidLookup: Bestehender Nutzer konnte nicht eindeutig einem LDAP-Eintrag zugeordnet werden AuthLDAPInvalidLookup: Bestehender Nutzer konnte nicht eindeutig einem LDAP-Eintrag zugeordnet werden
AuthLDAPAlreadyConfigured: Nutzer meldet sich bereits per Campus-Kennung in Uni2work an AuthLDAPAlreadyConfigured: Nutzer meldet sich bereits per Campus-Kennung in Uni2work an
@ -1272,7 +1186,6 @@ LdapIdentificationOrEmail: Campus-Kennung / E-Mail-Adresse
AuthKindLDAP: Campus-Kennung AuthKindLDAP: Campus-Kennung
AuthKindPWHash: Uni2work-Kennung AuthKindPWHash: Uni2work-Kennung
BtnSetDisplayEmail: E-Mail-Adresse setzen
UserDisplayEmailChanged: Öffentliche E-Mail-Adresse erfolgreich gesetzt UserDisplayEmailChanged: Öffentliche E-Mail-Adresse erfolgreich gesetzt
TitleChangeUserDisplayEmail: Öffentliche E-Mail-Adresse setzen 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! 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 MailTitleChangeUserDisplayEmail displayName@Text: #{displayName} möchte diese E-Mail-Adresse in Uni2work veröffentlichen
BtnCloseExam: Prüfung abschließen
LecturerInfoTooltipNew: Neues Feature LecturerInfoTooltipNew: Neues Feature
LecturerInfoTooltipProblem: Feature mit bekannten Problemen LecturerInfoTooltipProblem: Feature mit bekannten Problemen
LecturerInfoTooltipPlanned: Geplantes Feature LecturerInfoTooltipPlanned: Geplantes Feature
@ -1369,12 +1280,6 @@ MetricName: Name
MetricValue: Wert MetricValue: Wert
TitleExamAutoOccurrence tid@TermId ssh@SchoolId csh@CourseShorthand examn@ExamName: #{tid} - #{ssh} - #{csh} #{examn}: Automatische Raum-/Terminverteilung 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 ExamGradingPass: Bestanden/Nicht Bestanden
ExamGradingGrades: Numerische Noten ExamGradingGrades: Numerische Noten
@ -1409,16 +1314,6 @@ AllocationPriorityOrdinal:
AllocationPrioritiesNumeric: AllocationPrioritiesNumeric:
AllocationPrioritiesOrdinal: 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} 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 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 SubmissionDoneNever: Nie
SubmissionDoneByFile: Je nach Bewertungsdatei SubmissionDoneByFile: Je nach Bewertungsdatei
SubmissionDoneAlways: Immer SubmissionDoneAlways: Immer
@ -1494,7 +1381,5 @@ UrlFieldCouldNotParseAbsolute: Konnte nicht als absolute URL interpretiert werde
WGFTextInput: Textfeld WGFTextInput: Textfeld
WGFFileUpload: Dateifeld 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 CourseSortingOnlyLoggedIn: Das Benutzerinterface zur Sortierung dieser Tabelle ist nur für eingeloggte Benutzer aktiv

View File

@ -1,50 +1,5 @@
Logo: Uni2work 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 AcceptApplicationsDirect: Enroll directly
AcceptApplicationsInvite: Send invitations AcceptApplicationsInvite: Send invitations
AcceptApplicationsSecondaryRandom: Randomly AcceptApplicationsSecondaryRandom: Randomly
@ -100,6 +55,7 @@ TableTutorialRoomIsHidden: Room is only displayed to participants
TableTutorialDeregisterUntil: Deregister until TableTutorialDeregisterUntil: Deregister until
TableActionsHead: Actions TableActionsHead: Actions
TableTutorialTime: Time TableTutorialTime: Time
TableNoFilter: No restriction
#headings #headings
HeadingLegal: Legal HeadingLegal: Legal
@ -518,7 +474,6 @@ UserSystemFunctions: System wide roles
UserSystemFunctionsSaved: Successfully saved system wide roles UserSystemFunctionsSaved: Successfully saved system wide roles
UserSystemFunctionsNotChanged: No system wide roles were changed UserSystemFunctionsNotChanged: No system wide roles were changed
UserAssimilateUser: User UserAssimilateUser: User
BtnUserAssimilate: Assimilate
AssimilateUserNotFound: Email could not be resolved to an user AssimilateUserNotFound: Email could not be resolved to an user
AssimilateUserHaveError: An error occurred during assimilation AssimilateUserHaveError: An error occurred during assimilation
AssimilateUserHaveWarnings: Warnings were ermitted during assimilation AssimilateUserHaveWarnings: Warnings were ermitted during assimilation
@ -536,13 +491,6 @@ AllocNotifyNewCourseDefault: System wide setting
AllocNotifyNewCourseForceOff: No AllocNotifyNewCourseForceOff: No
AllocNotifyNewCourseForceOn: Yes AllocNotifyNewCourseForceOn: Yes
BtnNotifyNewCourseForceOn: Notify me
BtnNotifyNewCourseForceOff: Do not notify me
InvalidDateTimeFormat: Invalid date and time format. YYYY-MM-DDTHH:MM[:SS] expected InvalidDateTimeFormat: Invalid date and time format. YYYY-MM-DDTHH:MM[:SS] expected
AmbiguousUTCTime: The given timestamp cannot be converted to UTC unambiguously AmbiguousUTCTime: The given timestamp cannot be converted to UTC unambiguously
IllDefinedUTCTime: The given timestamp cannot be converted to UTC IllDefinedUTCTime: The given timestamp cannot be converted to UTC
@ -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 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 NavigationFavourites: Favourites
CommSubject: Subject CommSubject: Subject
@ -941,31 +886,8 @@ InvitationActionTip: Declined invitations cannot be accepted later
InvitationMissingRestrictions: Your authorisation-token is missing required data InvitationMissingRestrictions: Your authorisation-token is missing required data
InvitationCollision: Invitation could not be accepted since an entry of this type already exists InvitationCollision: Invitation could not be accepted since an entry of this type already exists
InvitationDeclined: Invitation declined InvitationDeclined: Invitation declined
BtnInviteAccept: Accept invitation
BtnInviteDecline: Decline invitation
ScheduleKindWeekly: Weekly
ScheduleRegular: Regular occurrence
ScheduleRegularKind: Schedule
WeekDay: Day of the week 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. 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 CsvModifyExisting: Modify existing entries
CsvAddNew: Add new entries CsvAddNew: Add new entries
CsvDeleteMissing: Delete missing entries CsvDeleteMissing: Delete missing entries
BtnCsvExport: Export CSV file
BtnCsvImport: Import CSV file
BtnCsvImportConfirm: Finalise CSV import
BtnCsvImportAbort: Abort
CsvImportNotConfigured: CSV import not configured CsvImportNotConfigured: CSV import not configured
CsvImportConfirmationHeading: CSV import preview (no changes have been made yet) 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)}%) TableProportion c of' prop: #{c}/#{of'} (#{rationalToFixed2 (100 * prop)}%)
TableProportionNoRatio c of': #{c}/#{of'} 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 ParticipantsCsvName tid ssh: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-participants
CsvColumnsExplanationsLabel: Column & cell format CsvColumnsExplanationsLabel: Column & cell format
@ -1140,10 +1057,6 @@ UtilExamResultPass: Passed/Failed
UtilExamResultNoShow: Not present UtilExamResultNoShow: Not present
UtilExamResultVoided: Voided 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 AuthLDAPLookupFailed: User could not be looked up due to a LDAP error
AuthLDAPInvalidLookup: Existing user could not be uniquely matched with a LDAP entry AuthLDAPInvalidLookup: Existing user could not be uniquely matched with a LDAP entry
AuthLDAPAlreadyConfigured: User already logs in using their campus account AuthLDAPAlreadyConfigured: User already logs in using their campus account
@ -1275,7 +1188,6 @@ LdapIdentificationOrEmail: Campus account/email address
AuthKindLDAP: Campus account AuthKindLDAP: Campus account
AuthKindPWHash: Uni2work account AuthKindPWHash: Uni2work account
BtnSetDisplayEmail: Set email address
UserDisplayEmailChanged: Successfully set display email UserDisplayEmailChanged: Successfully set display email
TitleChangeUserDisplayEmail: 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! 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 MailTitleChangeUserDisplayEmail displayName: #{displayName} wants to publish this email address as their own in Uni2work
BtnCloseExam: Close exam
LecturerInfoTooltipNew: New feature LecturerInfoTooltipNew: New feature
LecturerInfoTooltipProblem: Feature with known issues LecturerInfoTooltipProblem: Feature with known issues
LecturerInfoTooltipPlanned: Planned feature LecturerInfoTooltipPlanned: Planned feature
@ -1372,12 +1282,6 @@ MetricName: Name
MetricValue: Value MetricValue: Value
TitleExamAutoOccurrence tid ssh csh examn: #{tid} - #{ssh} - #{csh} #{examn}: Automatic occurrence/room distribution 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 ExamGradingPass: Passed/Failed
ExamGradingGrades: Numeric grades ExamGradingGrades: Numeric grades
@ -1412,16 +1316,6 @@ AllocationPriorityOrdinal:
AllocationPrioritiesNumeric: AllocationPrioritiesNumeric:
AllocationPrioritiesOrdinal: 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} CourseOption tid ssh coursen: #{tid} - #{ssh} - #{coursen}
FaqTitle: Frequently asked questions FaqTitle: Frequently asked questions
@ -1442,14 +1336,6 @@ ValueRequiredLabeledMultiWord fieldLabel: “#{fieldLabel}” is required
RatingFileTitle subId: rating_#{toPathPiece subId}.txt 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 SubmissionDoneNever: Never
SubmissionDoneByFile: According to correction file SubmissionDoneByFile: According to correction file
SubmissionDoneAlways: Always SubmissionDoneAlways: Always
@ -1497,7 +1383,5 @@ UrlFieldCouldNotParseAbsolute: Could not parse as an absolute URL
WGFTextInput: Text field WGFTextInput: Text field
WGFFileUpload: File 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 CourseSortingOnlyLoggedIn: The user interface for sorting this table is only active for logged in users

View File

@ -50,3 +50,17 @@ ExternalExamNoShow: Nicht erschienen
ExternalExamVoided: Entwertet ExternalExamVoided: Entwertet
ExternalExamUserMarkSynchronisedCsv: Prüfungsleistungen beim Export als synchronisiert markieren 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. 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

View File

@ -50,3 +50,17 @@ ExternalExamNoShow: Not present
ExternalExamVoided: Voided ExternalExamVoided: Voided
ExternalExamUserMarkSynchronisedCsv: Mark exam achievements as synchronised while exporting 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. 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

View File

@ -132,3 +132,7 @@ WorkflowWorkflowListCurrentState: Aktueller Zustand
WorkflowWorkflowListLastActionTime: Zeitpunkt, letzte Aktion WorkflowWorkflowListLastActionTime: Zeitpunkt, letzte Aktion
WorkflowWorkflowListLastActionUser: Benutzer:in, letzte Aktion WorkflowWorkflowListLastActionUser: Benutzer:in, letzte Aktion
WorkflowWorkflowListIsFinal: Abgeschlossen? WorkflowWorkflowListIsFinal: Abgeschlossen?
WorkflowGraphFormUploadIsDirectory: Upload ist Verzeichnis
WorkflowGraphFormInvalidNumberOfFiles: Es muss genau eine Datei hochgeladen werden
WorkflowCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen}

View File

@ -131,4 +131,8 @@ WorkflowInstanceCreated: Instance created
WorkflowInstanceDescriptionTitle: Instance title WorkflowInstanceDescriptionTitle: Instance title
WorkflowInstanceWorkflowCount: Workflows WorkflowInstanceWorkflowCount: Workflows
WorkflowInstanceInitiateSuccess: Successfully initiated workflow WorkflowInstanceInitiateSuccess: Successfully initiated workflow
WorkflowGraphFormUploadIsDirectory: Upload is a directory
WorkflowGraphFormInvalidNumberOfFiles: You need to upload exactly one file
WorkflowCourseOption tid ssh coursen: #{tid} - #{ssh} - #{coursen}

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,2 @@
MassInputAddDimension: +
MassInputDeleteCell: -

View File

@ -0,0 +1,2 @@
MassInputAddDimension: +
MassInputDeleteCell: -

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -7,7 +7,8 @@ module Foundation.I18n
, UniWorXHelpMessage(..), UniWorXNavigationMessage(..), UniWorXWorkflowMessage(..) , UniWorXHelpMessage(..), UniWorXNavigationMessage(..), UniWorXWorkflowMessage(..)
, UniWorXCourseMessage(..), UniWorXAllocationMessage(..), UniWorXExamMessage(..) , UniWorXCourseMessage(..), UniWorXAllocationMessage(..), UniWorXExamMessage(..)
, UniWorXSheetMessage(..), UniWorXAdminMessage(..), UniWorXSubmissionMessage(..) , UniWorXSheetMessage(..), UniWorXAdminMessage(..), UniWorXSubmissionMessage(..)
, UniWorXTutorialMessage(..), UniWorXUserMessage(..) , UniWorXTutorialMessage(..), UniWorXUserMessage(..), UniWorXButtonMessage(..)
, UniWorXFormMessage(..), UniWorXRatingMessage(..)
, ShortTermIdentifier(..) , ShortTermIdentifier(..)
, MsgLanguage(..) , MsgLanguage(..)
, ShortSex(..) , ShortSex(..)
@ -137,18 +138,21 @@ maybeToMessage before (Just x) after = before <> toMessage x <> after
-- Messages creates type UniWorXMessage and RenderMessage UniWorX instance -- Messages creates type UniWorXMessage and RenderMessage UniWorX instance
mkMessage ''UniWorX "messages/uniworx/misc" "de-de-formal" mkMessage ''UniWorX "messages/uniworx/misc" "de-de-formal"
mkMessageAddition ''UniWorX "Test" "messages/uniworx/test" "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 "Settings" "messages/uniworx/uniworx_new/categories/settings" "de-de-formal"
mkMessageAddition ''UniWorX "Help" "messages/uniworx/uniworx_new/help" "de-de-formal" mkMessageAddition ''UniWorX "Help" "messages/uniworx/uniworx_new/categories/help" "de-de-formal"
mkMessageAddition ''UniWorX "Navigation" "messages/uniworx/uniworx_new/navigation" "de-de-formal" mkMessageAddition ''UniWorX "Navigation" "messages/uniworx/uniworx_new/utils/navigation" "de-de-formal"
mkMessageAddition ''UniWorX "Workflow" "messages/uniworx/uniworx_new/workflows" "de-de-formal" mkMessageAddition ''UniWorX "Workflow" "messages/uniworx/uniworx_new/categories/workflows" "de-de-formal"
mkMessageAddition ''UniWorX "Course" "messages/uniworx/uniworx_new/courses" "de-de-formal" mkMessageAddition ''UniWorX "Course" "messages/uniworx/uniworx_new/categories/courses" "de-de-formal"
mkMessageAddition ''UniWorX "Allocation" "messages/uniworx/uniworx_new/allocation" "de-de-formal" mkMessageAddition ''UniWorX "Allocation" "messages/uniworx/uniworx_new/categories/allocation" "de-de-formal"
mkMessageAddition ''UniWorX "Exam" "messages/uniworx/uniworx_new/exam" "de-de-formal" mkMessageAddition ''UniWorX "Exam" "messages/uniworx/uniworx_new/categories/exam" "de-de-formal"
mkMessageAddition ''UniWorX "Sheet" "messages/uniworx/uniworx_new/sheet" "de-de-formal" mkMessageAddition ''UniWorX "Sheet" "messages/uniworx/uniworx_new/categories/sheet" "de-de-formal"
mkMessageAddition ''UniWorX "Admin" "messages/uniworx/uniworx_new/admin" "de-de-formal" mkMessageAddition ''UniWorX "Admin" "messages/uniworx/uniworx_new/categories/admin" "de-de-formal"
mkMessageAddition ''UniWorX "Submission" "messages/uniworx/uniworx_new/submission" "de-de-formal" mkMessageAddition ''UniWorX "Submission" "messages/uniworx/uniworx_new/categories/submission" "de-de-formal"
mkMessageAddition ''UniWorX "Tutorial" "messages/uniworx/uniworx_new/tutorial" "de-de-formal" mkMessageAddition ''UniWorX "Tutorial" "messages/uniworx/uniworx_new/categories/tutorial" "de-de-formal"
mkMessageAddition ''UniWorX "User" "messages/uniworx/uniworx_new/user" "de-de-formal" mkMessageAddition ''UniWorX "User" "messages/uniworx/uniworx_new/categories/user" "de-de-formal"
mkMessageAddition ''UniWorX "Button" "messages/uniworx/uniworx_new/utils/buttons" "de-de-formal"
mkMessageAddition ''UniWorX "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 ''CampusMessage "messages/auth/campus" "de"
mkMessageVariant ''UniWorX ''DummyMessage "messages/auth/dummy" "de" mkMessageVariant ''UniWorX ''DummyMessage "messages/auth/dummy" "de"
mkMessageVariant ''UniWorX ''PWHashMessage "messages/auth/pw-hash" "de" mkMessageVariant ''UniWorX ''PWHashMessage "messages/auth/pw-hash" "de"

View File

@ -424,7 +424,7 @@ makeCourseUserTable cid acts restrict colChoices psValidator csvColumns = do
] ]
where single = uncurry Map.singleton where single = uncurry Map.singleton
dbtFilterUI mPrev = mconcat $ 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 , fltrUserNameEmailUI mPrev
, fltrUserMatriclenrUI mPrev , fltrUserMatriclenrUI mPrev
] ++ ] ++
@ -436,7 +436,7 @@ makeCourseUserTable cid acts restrict colChoices psValidator csvColumns = do
, fltrRelevantStudyFeaturesTermsUI mPrev , fltrRelevantStudyFeaturesTermsUI mPrev
, fltrRelevantStudyFeaturesSemesterUI 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 | not $ null personalisedSheets
] ]
dbtParams = DBParamsForm dbtParams = DBParamsForm

View File

@ -243,7 +243,7 @@ makeExternalExamUsersTable mode (Entity eeId ExternalExam{..}) = do
] ]
return $ Map.elems syncs' 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 syncs <- asks $ sortOn (Down . view _3) . toListOf resultSynchronised
lastChange <- view $ resultResult . _entityVal . _externalExamResultLastChanged lastChange <- view $ resultResult . _entityVal . _externalExamResultLastChanged
user <- view $ resultUser . _entityVal user <- view $ resultUser . _entityVal
@ -313,7 +313,7 @@ makeExternalExamUsersTable mode (Entity eeId ExternalExam{..}) = do
, fltrExamResultPointsUI , fltrExamResultPointsUI
, case mode of , case mode of
EEUMGrades -> 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 _other -> mempty
, fltrRelevantStudyFeaturesTermsUI , fltrRelevantStudyFeaturesTermsUI
, fltrRelevantStudyFeaturesDegreeUI , fltrRelevantStudyFeaturesDegreeUI
@ -334,7 +334,7 @@ makeExternalExamUsersTable mode (Entity eeId ExternalExam{..}) = do
, pure ExternalExamUserMarkSynchronisedData , pure ExternalExamUserMarkSynchronisedData
) )
] ]
(res, formWgt) <- multiActionM actionMap (fslI MsgAction) Nothing csrf (res, formWgt) <- multiActionM actionMap (fslI MsgExternalExamAction) Nothing csrf
let formRes = (, mempty) . First . Just <$> res let formRes = (, mempty) . First . Just <$> res
return (formRes, formWgt) return (formRes, formWgt)
EEUMUsers -> \csrf -> do EEUMUsers -> \csrf -> do
@ -350,7 +350,7 @@ makeExternalExamUsersTable mode (Entity eeId ExternalExam{..}) = do
, singletonMap ExternalExamUserDelete $ , singletonMap ExternalExamUserDelete $
pure ExternalExamUserDeleteData pure ExternalExamUserDeleteData
] ]
(res, formWgt) <- multiActionM actionMap (fslI MsgAction) Nothing csrf (res, formWgt) <- multiActionM actionMap (fslI MsgExternalExamAction) Nothing csrf
let formRes = (, mempty) . First . Just <$> res let formRes = (, mempty) . First . Just <$> res
return (formRes, formWgt) return (formRes, formWgt)
, dbParamsFormEvaluate = liftHandler . runFormPost , dbParamsFormEvaluate = liftHandler . runFormPost

View File

@ -53,7 +53,7 @@ occurrencesAForm (toPathPiece -> miIdent') mPrev = wFormToAForm $ do
newSched <- multiActionW newSched <- multiActionW
(Map.fromList [ ( ScheduleKindWeekly (Map.fromList [ ( ScheduleKindWeekly
, ScheduleWeekly , 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 MsgOccurrenceStart & addName (nudge "occur-start")) Nothing
<*> apreq timeFieldTypeTime (fslI MsgOccurrenceEnd & addName (nudge "occur-end")) Nothing <*> apreq timeFieldTypeTime (fslI MsgOccurrenceEnd & addName (nudge "occur-end")) Nothing
) )

View File

@ -281,7 +281,7 @@ fltrExamResultPoints queryExamResult = singletonMap "exam-result" . FilterColumn
fltrExamResultPointsUI :: DBFilterUI 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 -- -- Courses --

View File

@ -121,7 +121,7 @@ getAdminWorkflowDefinitionListR = do
] ]
dbtFilterUI mPrev = mconcat dbtFilterUI mPrev = mconcat
[ prismAForm (singletonFilter "name") mPrev $ aopt textField (fslI MsgWorkflowDefinitionName) [ 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 "title") mPrev $ aopt textField (fslI MsgWorkflowDescriptionTitle)
, prismAForm (singletonFilter "instance-title") mPrev $ aopt textField (fslI MsgWorkflowInstanceDescriptionTitle) , prismAForm (singletonFilter "instance-title") mPrev $ aopt textField (fslI MsgWorkflowInstanceDescriptionTitle)
] ]

View File

@ -32,14 +32,14 @@ workflowInstanceScopeForm scopeRestr fs mPrev = multiActionA scopeOptions' fs $
, WSSchool <$> apopt schoolField (fslI MsgTableSchool) (mPrev ^? _Just . _wisSchool) , WSSchool <$> apopt schoolField (fslI MsgTableSchool) (mPrev ^? _Just . _wisSchool)
) )
, ( WSTermSchool' , ( WSTermSchool'
, WSTermSchool <$> apopt termField (fslI MsgTerm) (mPrev ^? _Just . _wisTerm) , WSTermSchool <$> apopt termField (fslI MsgTableTerm) (mPrev ^? _Just . _wisTerm)
<*> apopt schoolField (fslI MsgTableSchool) (mPrev ^? _Just . _wisSchool) <*> apopt schoolField (fslI MsgTableSchool) (mPrev ^? _Just . _wisSchool)
) )
, ( WSCourse' , ( WSCourse'
, WSCourse <$> apopt (selectField' Nothing courseOptions) (fslI MsgTableCourse) (mPrev ^? _Just . _wisCourse) , 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 data WorkflowInstanceForm = WorkflowInstanceForm

View File

@ -109,7 +109,7 @@ getAdminWorkflowInstanceListR = do
] ]
dbtFilterUI mPrev = mconcat dbtFilterUI mPrev = mconcat
[ prismAForm (singletonFilter "name") mPrev $ aopt textField (fslI MsgWorkflowInstanceName) [ 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) , prismAForm (singletonFilter "title") mPrev $ aopt textField (fslI MsgWorkflowInstanceDescriptionTitle)
] ]
dbtStyle = def { dbsFilterLayout = defaultDBSFilterLayout } dbtStyle = def { dbsFilterLayout = defaultDBSFilterLayout }

View File

@ -26,4 +26,4 @@ dispatchJobChangeUserDisplayEmail jUser jDisplayEmail = JobHandlerException $ do
_mailTo .= pure (userAddress user & _addressEmail .~ CI.original jDisplayEmail) _mailTo .= pure (userAddress user & _addressEmail .~ CI.original jDisplayEmail)
replaceMailHeader "Auto-Submitted" $ Just "auto-generated" replaceMailHeader "Auto-Submitted" $ Just "auto-generated"
setSubjectI MsgMailSubjectChangeUserDisplayEmail setSubjectI MsgMailSubjectChangeUserDisplayEmail
addHtmlMarkdownAlternatives ($(ihamletFile "templates/mail/changeUserDisplayEmail.hamlet") :: HtmlUrlI18n UniWorXMessage (Route UniWorX)) addHtmlMarkdownAlternatives ($(ihamletFile "templates/mail/changeUserDisplayEmail.hamlet") :: HtmlUrlI18n (SomeMessage UniWorX) (Route UniWorX))

View File

@ -11,9 +11,9 @@ $newline never
} }
<body> <body>
<h1> <h1>
_{MsgMailTitleChangeUserDisplayEmail userDisplayName} _{SomeMessage (MsgMailTitleChangeUserDisplayEmail userDisplayName)}
<p> <p>
_{MsgMailIntroChangeUserDisplayEmail jDisplayEmail} _{SomeMessage (MsgMailIntroChangeUserDisplayEmail jDisplayEmail)}
<p> <p>
<a href=#{setDisplayEmailUrl'}> <a href=#{setDisplayEmailUrl'}>
_{MsgBtnSetDisplayEmail} _{SomeMessage MsgBtnSetDisplayEmail}