feat(i18n): more en-eu

This commit is contained in:
Gregor Kleen 2019-10-26 13:10:55 +02:00
parent 870f1df4d3
commit 3058737021
4 changed files with 569 additions and 48 deletions

View File

@ -144,8 +144,8 @@ CourseRegisterToTip: Darf auch unbegrenzt offen bleiben
CourseDeregisterUntilTip: Abmeldung ist ab "Anmeldungen von" bis zu diesem Zeitpunkt erlaubt. Die Abmeldung darf auch unbegrenzt erlaubt bleiben.
CourseFilterSearch: Volltext-Suche
CourseFilterRegistered: Registriert
CourseFilterNone: Egal
BoolIrrelevant: Egal
CourseFilterNone:
BoolIrrelevant:
CourseDeleteQuestion: Wollen Sie den unten aufgeführten Kurs wirklich löschen?
CourseDeleted: Kurs gelöscht
CourseUserTutorials: Angemeldete Tutorien
@ -483,7 +483,7 @@ HomeOpenAllocations: Offene Zentralanmeldungen
HomeUpcomingSheets: Anstehende Übungsblätter
HomeUpcomingExams: Bevorstehende Prüfungen
NumCourses num@Int64: #{num} Kurse
NumCourses num@Int64: #{num} #{pluralDE num "Kurs" "Kurse"}
CloseAlert: Schliessen
Name: Name
@ -524,15 +524,15 @@ NatField name@Text: #{name} muss eine natürliche Zahl sein!
JSONFieldDecodeFailure aesonFailure@String: Konnte JSON nicht parsen: #{aesonFailure}
SecretJSONFieldDecryptFailure: Konnte versteckte vertrauliche Daten nicht entschlüsseln
SubmissionsAlreadyAssigned num@Int64: #{num} Abgaben waren bereits einem Korrektor zugeteilt und wurden nicht verändert:
SubmissionsAssignUnauthorized num@Int64: #{num} Abgaben können momentan nicht einem Korrektor zugeteilt werden (z.B. weil die Abgabe noch offen ist):
UpdatedAssignedCorrectorSingle num@Int64: #{num} Abgaben wurden dem neuen Korrektor zugeteilt.
SubmissionsAlreadyAssigned num@Int64: #{num} #{pluralDE num "Abgabe" "Abgaben"} waren bereits einem Korrektor zugeteilt und wurden nicht verändert:
SubmissionsAssignUnauthorized num@Int64: #{num} #{pluralDE num "Abgabe" "Abgaben"} können momentan nicht einem Korrektor zugeteilt werden (z.B. weil die Abgabe noch offen ist):
UpdatedAssignedCorrectorSingle num@Int64: #{num} #{pluralDE num "Abgabe" "Abgaben"} wurden dem neuen Korrektor zugeteilt.
NoCorrector: Kein Korrektor
RemovedCorrections num@Int64: Korrektur-Daten wurden von #{num} Abgaben entfernt.
UpdatedAssignedCorrectorsAuto num@Int64: #{num} Abgaben wurden unter den Korrektoren aufgeteilt.
RemovedCorrections num@Int64: Korrektur-Daten wurden von #{num} #{pluralDE num "Abgabe" "Abgaben"} entfernt.
UpdatedAssignedCorrectorsAuto num@Int64: #{num} #{pluralDE num "Abgabe" "Abgaben"} wurden unter den Korrektoren aufgeteilt.
UpdatedSheetCorrectorsAutoAssigned n@Int: #{n} #{pluralDE n "Abgabe wurde einem Korrektor" "Abgaben wurden Korrektoren"} zugteilt.
UpdatedSheetCorrectorsAutoFailed n@Int: #{n} #{pluralDE n "Abgabe konnte" "Abgaben konnten"} nicht automatisch zugewiesen werden.
CouldNotAssignCorrectorsAuto num@Int64: #{num} Abgaben konnten nicht automatisch zugewiesen werden:
CouldNotAssignCorrectorsAuto num@Int64: #{num} #{pluralDE num "Abgabe konnte" "Abgaben konnten"} nicht automatisch zugewiesen werden:
SelfCorrectors num@Int64: #{num} Abgaben wurden Abgebenden als eigenem Korrektor zugeteilt!
SubmissionOriginal: Original
@ -609,7 +609,7 @@ RatingNotUnicode uexc@UnicodeException: Bewertungsdatei nicht in UTF-8 kodiert:
RatingMissingSeparator: Präambel der Bewertungsdatei konnte nicht identifziert werden
RatingMultiple: Bewertungen enthält mehrere Punktzahlen für die gleiche Abgabe
RatingInvalid parseErr@Text: Bewertungspunktzahl konnte nicht als Zahl verstanden werden: #{parseErr}
RatingFileIsDirectory: Unerwarteter Fehler: Datei ist unerlaubterweise ein Verzeichnis
RatingFileIsDirectory: Bewertungsdatei ist unerlaubterweise ein Verzeichnis
RatingNegative: Bewertungspunkte dürfen nicht negativ sein
RatingExceedsMax: Bewertung übersteigt die erlaubte Maximalpunktzahl
RatingNotExpected: Keine Bewertungen erlaubt
@ -621,9 +621,9 @@ SubmissionSinkExceptionDuplicateFileTitle file@FilePath: Dateiname #{show file}
SubmissionSinkExceptionDuplicateRating: Mehr als eine Bewertung gefunden.
SubmissionSinkExceptionRatingWithoutUpdate: Bewertung gefunden, es ist hier aber keine Bewertung der Abgabe möglich.
SubmissionSinkExceptionForeignRating smid@CryptoFileNameSubmission: Fremde Bewertung für Abgabe #{toPathPiece smid} enthalten. Bewertungen müssen sich immer auf die gleiche Abgabe beziehen!
SubmissionSinkExceptionInvalidFileTitleExtension file@FilePath: Dateiname #{show file} hat keine der für dieses Übungsblatt zulässigen Dateiendungen.
SubmissionSinkExceptionInvalidFileTitleExtension file@FilePath: Dateiname #{show file} hat keine der für dieses Übungsblatt zulässigen Dateiendungen.
MultiSinkException name@Text error@Text: In Abgabe #{name} ist ein Fehler aufgetreten: #{error}
MultiSinkException name@Text error@Text: In Abgabe #{name} ist ein Fehler aufgetreten: #{error}
NoTableContent: Kein Tabelleninhalt
NoUpcomingSheetDeadlines: Keine anstehenden Übungsblätter
@ -633,7 +633,7 @@ AdminHeading: Administration
AdminUserHeading: Benutzeradministration
AdminUserRightsHeading: Benutzerrechte
AdminUserAuthHeading: Benutzer-Authentifizierung
AdminUserHeadingFor: Benuterprofil für
AdminUserHeadingFor: Benutzerprofil für
AdminFor: Administrator
LecturerFor: Dozent
LecturersFor: Dozenten
@ -641,7 +641,6 @@ AssistantFor: Assistent
AssistantsFor: Assistenten
TutorsFor n@Int: #{pluralDE n "Tutor" "Tutoren"}
CorrectorsFor n@Int: #{pluralDE n "Korrektor" "Korrektoren"}
ForSchools n@Int: für #{pluralDE n "Institut" "Institute"}
UserListTitle: Komprehensive Benutzerliste
AccessRightsSaved: Berechtigungen erfolgreich verändert
AccessRightsNotChanged: Berechtigungen wurden nicht verändert
@ -653,7 +652,7 @@ DateTimeFormat: Datums- und Uhrzeitformat
DateFormat: Datumsformat
TimeFormat: Uhrzeitformat
DownloadFiles: Dateien automatisch herunterladen
DownloadFilesTip: Wenn gesetzt werden Dateien von Abgaben und Übungsblättern automatisch als Download behandelt, ansonsten ist das Verhalten browserabhängig (es können z.B. PDFs im Browser geöffnet werden).
DownloadFilesTip: Wenn gesetzt werden Dateien automatisch als Download behandelt, ansonsten ist das Verhalten browserabhängig (es können z.B. PDFs im Browser geöffnet werden).
WarningDays: Fristen-Vorschau
WarningDaysTip: Wie viele Tage im Voraus sollen Fristen von Klausuren etc. auf Ihrer Startseite angezeigt werden?
NotificationSettings: Erwünschte Benachrichtigungen
@ -731,8 +730,8 @@ UploadSpecificFileRequired: Zur Abgabe erforderlich
NoSubmissions: Keine Abgabe
CorrectorSubmissions: Abgabe extern mit Pseudonym
UserSubmissions: Direkte Abgabe
BothSubmissions: Abgabe direkt & extern mit Pseudonym
UserSubmissions: Direkte Abgabe in Uni2work
BothSubmissions: Abgabe direkt in Uni2work & extern mit Pseudonym
SheetCorrectorSubmissionsTip: Abgabe erfolgt über ein Uni2work-externes Verfahren (zumeist in Papierform durch Einwurf) unter Angabe eines persönlichen Pseudonyms. Korrektoren können mithilfe des Pseudonyms später Korrekturergebnisse in Uni2work eintragen, damit Sie sie einsehen können.
@ -744,7 +743,7 @@ SubmissionUpdated: Abgabe erfolgreich ersetzt
AdminFeaturesHeading: Studiengänge
StudyTerms: Studiengänge
StudyTerm: Studiengang
NoStudyTermsKnown: Nicht eingeschrieben
NoStudyTermsKnown: Keine Studiengänge bekannt
StudyFeatureInference: Studiengangschlüssel-Inferenz
StudyFeatureInferenceNoConflicts: Keine Konflikte beobachtet
StudyFeatureInferenceConflictsHeading: Studiengangseinträge mit beobachteten Konflikten
@ -765,9 +764,9 @@ DegreeShort: Abschlusskürzel
StudyTermsKey: Studiengangschlüssel
StudyTermsName: Studiengang
StudyTermsShort: Studiengangkürzel
StudyTermsChangeSuccess: Zuordnung Abschlüsse aktualisiert
StudyDegreeChangeSuccess: Zuordnung Studiengänge aktualisiert
StudyCandidateIncidence: Anmeldevorgang
StudyTermsChangeSuccess: Zuordnung Studiengänge aktualisiert
StudyDegreeChangeSuccess: Zuordnung Abschlüsse aktualisiert
StudyCandidateIncidence: Synchronisation
AmbiguousCandidatesRemoved n@Int: #{show n} #{pluralDE n "uneindeutiger Kandidat" "uneindeutige Kandiaten"} entfernt
RedundantCandidatesRemoved n@Int: #{show n} bereits #{pluralDE n "bekannter Kandidat" "bekannte Kandiaten"} entfernt
CandidatesInferred n@Int: #{show n} neue #{pluralDE n "Studiengangszuordnung" "Studiengangszuordnungen"} inferiert
@ -786,8 +785,8 @@ MailTestDateTime: Test der Datumsformattierung:
German: Deutsch
GermanGermany: Deutsch (Deutschland)
English: English
EnglishEurope: English (Europe)
English: Englisch
EnglishEurope: Englisch (Europa)
MailSubjectSubmissionRated csh@CourseShorthand: Ihre #{csh}-Abgabe wurde korrigiert
MailSubmissionRatedIntro courseName@Text termDesc@Text: Ihre Abgabe im Kurs #{courseName} (#{termDesc}) wurde korrigiert.

View File

@ -30,17 +30,17 @@ BtnSubmissionsAssign: Assign submissions automatically
Aborted: Aborted
Remarks: Remarks
Registered: Registered
RegisteredSince: Registered since
Registered: Enrolled
RegisteredSince: Enrolled since
NotRegistered: Note enrolled for this course
Registration: Registration
RegisterFrom: Registration starts
RegisterTo: Registration ends
Registration: Enrolment
RegisterFrom: Enrolment starts
RegisterTo: Enrolment ends
DeRegUntil: Deregistration until
RegisterRetry: You haven't been enrolled. Press "Enrol for course" to enrol
CourseRegistrationInterval: Registration
CourseDirectRegistrationInterval: Direct registration
CourseRegistrationInterval: Enrolment
CourseDirectRegistrationInterval: Direct enrolment
CourseDeregisterUntil time: Deregistration only until #{time}
GenericKey: Key
@ -84,7 +84,7 @@ TermLectureEndTooltip: Summer semesters are usually 14 weeks; winter semesters 1
TermActive: Active
SchoolListHeading: Schools
SchoolListHeading: Department
SchoolHeading school: #{school}
LectureStart: Lectures start
@ -96,8 +96,8 @@ CourseCapacityTip: Maximum permissable number of enrolments for this course; lea
CourseNoCapacity: Course has reached maximum capacity
TutorialNoCapacity: Tutorial has reached maximum capacity
CourseNotEmpty: There are currently no participants enrolled for this course.
CourseRegistration: Registration
CourseRegisterOpen: Registration is open
CourseRegistration: Enrolment
CourseRegisterOpen: Enrolment is allowed
CourseRegisterOk: Successfully enrolled for course
CourseDeregisterOk: Successfully left course
CourseApplyOk: Successfully applied for course
@ -144,29 +144,29 @@ CourseRegisterToTip: May be left empty to allow enrolment indefinitely
CourseDeregisterUntilTip: Participants may deregister from immediately after registration starts up to this time. May be left empty to allow deregistration indefinitely.
CourseFilterSearch: Text search
CourseFilterRegistered: Registered
CourseFilterNone: Irrelevant
BoolIrrelevant: Irrelevant
CourseFilterNone:
BoolIrrelevant:
CourseDeleteQuestion: Are you sure you want to delete the below-mentioned course?
CourseDeleted: Course deleted
CourseUserTutorials: Registered tutorials
CourseUserNote: Note
CourseUserNoteTooltip: Only visible to administrators of this course
CourseUserNoteSaved: Note changes saved
CourseUserNoteDeleted: User note deleted
CourseUserNoteSaved: Successfully saved note changes
CourseUserNoteDeleted: Successfully deleted user note deleted
CourseUserDeregister: Deregister from course
CourseUsersDeregistered count@Int64: #{show count} users deregistered from course
CourseUsersDeregistered count@Int64: Successfully deregistered #{show count} users from course
CourseUserRegisterTutorial: Register for a tutorial
CourseUsersTutorialRegistered count@Int64: #{show count} users registered for tutorial
CourseUsersTutorialRegistered count@Int64: Successfully registered #{show count} users for tutorial
CourseUserSendMail: Send mail
TutorialUserDeregister: Deregister from tutorial
TutorialUserSendMail: Send mail
TutorialUsersDeregistered count@Int64: #{show count} participants deregistered from tutorial
TutorialUsersDeregistered count@Int64: Successfully deregistered #{show count} participants from tutorial
CourseAllocationParticipate: Participate in central allocation
CourseAllocationParticipateTip: If a course participates in a central allocation, you might lose some permissions that you would normally have (e.g. registering students for the course directly, deregistering students, ...)
CourseAllocation: Central allocation
CourseAllocationOption term@Text name@Text: #{name} (#{term})
CourseAllocationMinCapacity: Minimum number of participants
CourseAllocationMinCapacityTip: If there were fewer students being assigned to this course than this number, then these students would instead be assigned to other courses
CourseAllocationMinCapacityTip: If fewer students than this number were to be assigned to this course, then these students would instead be assigned to other courses
CourseAllocationMinCapacityMustBeNonNegative: Minimum number of participants must not be negative
CourseApplicationInstructions: Instructions for application
CourseApplicationInstructionsTip: Will be shown to students if they decide to apply for this course
@ -176,7 +176,7 @@ CourseApplicationsText: Text application
CourseApplicationsTextTip: Should students submit a plaintext application (in addition to submitted files if applicable)?
CourseApplicationRatingsVisible: Feedback to applications
CourseApplicationRatingsVisibleTip: Should students be allowed to view rating and commentaries on their application after the rating period?
CourseApplicationRequired: Application procedure
CourseApplicationRequired: Applications required
CourseApplicationRequiredTip: Should registrations for this course be provisional at first (without capacity constraint), until they are approved by a course administrator?
CourseApplicationInstructionsApplication: Instructions for application
CourseApplicationInstructionsRegistration: Instructions for registration
@ -204,10 +204,10 @@ CourseRegistrationFollowInstructions: Please follow the instructions for registr
CourseApplicationFile: Application
CourseApplicationFiles: Application file(s)
CourseApplicationArchive: Zip archive for application files
CourseApplicationArchive: Zip archive of application files
CourseRegistrationFile: Registration file
CourseRegistrationFiles: Registration file(s)
CourseRegistrationArchive: Zip archive for registration files
CourseRegistrationArchive: Zip archive of registration files
CourseApplicationNoFiles: No file(s)
CourseApplicationFilesNeedReupload: Application files need to be reuploaded every time the application is changed
CourseRegistrationFilesNeedReupload: Registration files need to be reuploaded every time the registration is changed
@ -224,7 +224,7 @@ CourseApplicationsAllocatedDirectory: central
CourseApplicationsNotAllocatedDirectory: direct
CourseNoAllocationsAvailable: There are no ongoing central allocations
AllocationStaffRegisterToExpired: You cannot change properties concerning the central allocation after the course registration period. Your changes have been discarded.
AllocationStaffRegisterToExpired: You cannot change course properties concerning the central allocation after the course registration period. Your changes may have been discarded.
CourseFormSectionRegistration: Registration
CourseFormSectionAdministration: Administration
@ -266,7 +266,7 @@ SheetDelOk tid ssh csh sheetName: #{tid}-#{ssh}-#{csh}: #{sheetName} has be
SheetDelHasSubmissions objs: Incl. #{objs} #{pluralEN objs "submission" "submissions"}
SheetDeleteQuestion: Do you really want to delete the below-mentioned exercise sheet and all associated submissions?
SheetDeleted: Deleted exercise sheet
SheetDeleted: Successfully deleted exercise sheet
SheetUploadMode: Submission of files
SheetSubmissionMode: Submission mode
@ -290,7 +290,520 @@ SheetActiveFrom: Submission period start
SheetActiveTo: Submission period end
SheetHintFromTip: Always invisible for participants if left empty; correctors can always download hints
SheetSolutionFromTip: Always invisible for participants if left empty; correctors can always download solutions
SheetMarkingTip:
SheetMarkingTip: Instructions for correction, visible only to correctors
SheetPseudonym: Personal pseudonym
SheetGeneratePseudonym: Generate
SheetFormType: Valuation & submission
SheetFormTimes: Times
SheetFormFiles: Files
SheetErrVisibility: "Submission period start" must be after "Visible from"
SheetErrDeadlineEarly: "Submission period end" must be after "Submission period start"
SheetErrHintEarly: "Hint from" must be after "Submission period start"
SheetErrSolutionEarly: "Solution from" must be after "Submission period end"
SheetNoCurrent: There is no currently active exercise sheet
SheetNoOldUnassigned: All submissions for inactive sheets are already assigned to correctors.
SheetsUnassignable name: Submission for #{name} may not currently be assigned to correctors.
Deadline: Deadline
Done: Submitted
Submission: Submission-number
SubmissionsCourse tid ssh csh: All submissions for Course #{tid}-#{ssh}-#{csh}
SubmissionsSheet sheetName: Submissions for #{sheetName}
SubmissionWrongSheet: Submission does not belong to the given sheet.
SubmissionAlreadyExists: You already have a submission for this sheet.
SubmissionEditHead tid ssh csh sheetName: #{tid}-#{ssh}-#{csh} #{sheetName}: Edit/Create submission
CorrectionHead tid ssh csh sheetName cid: #{tid}-#{ssh}-#{csh} #{sheetName}: Marking
SubmissionMembers: Submittors
SubmissionMember: Submittor
SubmissionArchive: Zip-archive of submission files
SubmissionFile: Submission file
SubmissionFiles: Submitted files
SubmissionAlreadyExistsFor email: #{email} already has a submission for this sheet.
SubmissionUsersEmpty: Submissions may not be created without submittors.
SubmissionUserAlreadyAdded: This user is already configured as a submittor
NoOpenSubmissions: No open submissions exist
SubmissionsDeleteQuestion n: Do you really want to delete the #{pluralEN n "submission" "submissions"} mentioned below?
SubmissionsDeleted n: #{pluralEN n "Submission" "Submissions"} deleted
SubmissionGroupName: Group name
CorrectionsTitle: Assigned corrections
CourseCorrectionsTitle: Corrections for this course
CorrectorsHead sheetName: Correctors for #{sheetName}
CorrectorAssignTitle: Assign corrector
MaterialName: Name
MaterialType: Type
MaterialTypePlaceholder: Slides, Code, Example, ...
MaterialTypeSlides: Slides
MaterialTypeCode: Code
MaterialTypeExample: Example
MaterialDescription: Description
MaterialVisibleFrom: Visible to participants from
MaterialVisibleFromTip: Never visible to participants if left empty; leaving the date empty is only sensible for unfinished course material or when course material should be provided only to sheet correctors
MaterialVisibleFromEditWarning: This course material has already been published and should not be edited. Doing so might confuse the participants.
MaterialInvisible: This course material is currently invisible to participants!
MaterialFiles: Files
MaterialHeading materialName: Course material “#{materialName}”
MaterialListHeading: Course materials
MaterialNewHeading: Publish new course material
MaterialNewTitle: New course material
MaterialEditHeading materialName: Edit course material “#{materialName}”
MaterialEditTitle materialName: Edit course material “#{materialName}”
MaterialSaveOk tid ssh csh materialName: Successfully saved “#{materialName}” for course #{tid}-#{ssh}-#{csh}
MaterialNameDup tid ssh csh materialName: Course material with the name “#{materialName}” already exists for course #{tid}-#{ssh}-#{csh}
MaterialDeleteCaption: Do you really want to delete the course material mentioned below?
MaterialDelHasFiles count: including #{count} #{pluralEN count "file" "files"}
MaterialIsVisible: Caution, this course material has already been published.
MaterialDeleted materialName: Successfully deleted course material “#{materialName}”
MaterialArchiveName tid ssh csh materialName: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase materialName}
Unauthorized: You do not have explicit authorisation.
UnauthorizedAnd l r: (#{l} AND #{r})
UnauthorizedOr l r: (#{l} OR #{r})
UnauthorizedNot r: (NOT #{r})
UnauthorizedNoToken: No authorisation-token was provided with your request.
UnauthorizedTokenExpired: Your authorisation-token is expired.
UnauthorizedTokenNotStarted: Your authorisation-token is not yet valid.
UnauthorizedTokenInvalid: Your authorisation-taken could not be processed.
UnauthorizedTokenInvalidAuthority: Your authorisation-token is based in an user's rights who does not exist anymore.
UnauthorizedToken404: Authorisation-tokens cannot be processed on error pages.
UnauthorizedSiteAdmin: You are no system-wide administrator.
UnauthorizedSchoolAdmin: You are no administrator for this department.
UnauthorizedAdminEscalation: You aren't an administrator for all departments for which this user is an administrator.
UnauthorizedExamOffice: You are not part of an exam office.
UnauthorizedExamExamOffice: You are not part of the appropriate exam office for any of the participants of this exam.
UnauthorizedSchoolLecturer: You are no lecturer for this department.
UnauthorizedLecturer: You are no administrator for this course.
UnauthorizedAllocationLecturer: You are no administrator for any of the courses of this central allocation.
UnauthorizedCorrector: You are no sheet corrector for this course.
UnauthorizedSheetCorrector: You are no corrector for this sheet.
UnauthorizedCorrectorAny: You are no corrector for any course.
UnauthorizedRegistered: You are no participant in this course.
UnauthorizedAllocationRegistered: You are no participant in this central allocation.
UnauthorizedExamResult: You have no results in this exam.
UnauthorizedParticipant: The specified user is no participant of this course.
UnauthorizedParticipantSelf: You are no participant of this course.
UnauthorizedApplicant: The specified user is no applicant for this course.
UnauthorizedApplicantSelf: You are no applicant for this course.
UnauthorizedCourseTime: This course does not currently allow enrollment.
UnauthorizedAllocationRegisterTime: This central allocation does not currently allow applications.
UnauthorizedSheetTime: This sheet is not currently available.
UnauthorizedApplicationTime: This allocation is not currently available.
UnauthorizedMaterialTime: This course material is not currently available.
UnauthorizedTutorialTime: This tutorial does not currently allow registration.
UnauthorizedCourseNewsTime: This news item is not currently available.
UnauthorizedExamTime: This exam is not currently available.
UnauthorizedSubmissionOwner: You are no submittor for this submission.
UnauthorizedSubmissionRated: This submission is not yet marked.
UnauthorizedSubmissionCorrector: You are no corrector for this submission.
OnlyUploadOneFile: Please only upload one file
DeprecatedRoute: This view is deprecated and will be removed.
UnfreeMaterials: Course material are not publicly accessable.
MaterialFree: Course material is publicly available.
UnauthorizedWrite: You do not have the write permission necessary to perform this action
UnauthorizedSystemMessageTime: This system-message is not currently available.
UnauthorizedSystemMessageAuth: This system-message is only available to logged in users.
UnsupportedAuthPredicate authTagT shownRoute: “#{authTagT}” was applied to a route which does not support it: “#{shownRoute}”
UnauthorizedDisabledTag authTag: Auth predicate “#{toPathPiece authTag}” is disabled for your session
UnknownAuthPredicate tag: Auth predicate “#{tag}” is unknown
UnauthorizedRedirect: The requested view does not exist or you haven't the required permissions to access it.
UnauthorizedSelf: You are not the specified user.
UnauthorizedTutorialTutor: You are no tutor for this tutorial.
UnauthorizedTutorialTutorControl: Tutors may not edit this tutorial.
UnauthorizedCourseTutor: You are no tutor for this course.
UnauthorizedTutor: You are no tutor.
UnauthorizedTutorialRegisterGroup: You are already registered for a tutorial with the same registration group.
UnauthorizedLDAP: Specified user does not log in with their campus account.
UnauthorizedPWHash: Specified user does not log in with an Uni2work-account.
UnauthorizedPasswordResetToken: This authorisation-token may no longer be used to change passwords
UnauthorizedAllocatedCourseRegister: Direct enrollment to this course is currently not allowed due to participation in a central allocation
UnauthorizedAllocatedCourseDeregister: Deregistration from this course is currently not allowed due to participation in a central allocation
UnauthorizedAllocatedCourseDelete: Courses that participate in a central allocation may not be deleted
EMail: Email
EMailUnknown email: Email #{email} does not belong to any known user.
NotAParticipant email tid csh: #{email} is not a participant of #{tid}-#{csh}.
TooManyParticipants: You have specified more than the allowed number of submittors.
AddCorrector: Additional corrector
CorrectorExists: User already is a corrector
SheetCorrectorsTitle tid ssh csh sheetName: Correctors for #{tid}-#{ssh}-#{csh} #{sheetName}
CountTutProp: Tutorials count against proportion
CountTutPropTip: If submissions are assigned by tutorial, do those assignments count with regard to the set proportion?
AutoAssignCorrs: Automatically assign corrections after expiration of the submission period
Corrector: Corrector
Correctors: Correctors
CorState: State
CorByTut: Assign by tutorial
CorProportion: Proportion
CorDeficitProportion: Deficit (proportion)
CorByProportionOnly proportion: #{rationalToFixed3 proportion} parts
CorByProportionIncludingTutorial proportion: #{rationalToFixed3 proportion} parts - tutorials
CorByProportionExcludingTutorial proportion: #{rationalToFixed3 proportion} parts + tutorials
RowCount count: #{count} matching #{pluralEN count "entry" "entries"}
DeleteRow: Delete
ProportionNegative: Proportions may not be negative
CorrectorUpdated: Successfully updated corrector
CorrectorsUpdated: Successfully updated correctors
CorrectorsPlaceholder: Correctors...
CorrectorsDefaulted: List of correctors was automatically generated based on those of preceding sheets for this course. No data has been saved, yet.
Users: Users
HomeHeading: Current events
LoginHeading: Authentication
LoginTitle: Authentication
ProfileHeading: Settings
ProfileFor: Settings for
ProfileDataHeading: Personal information
InfoHeading: Information
VersionHeading: Version history
ImpressumHeading: Imprint
DataProtHeading: Data protection
SystemMessageHeading: Uni2work system message
SystemMessageListHeading: Uni2work system message
NotificationSettingsHeading displayName: Notification settings for #{displayName}
TokensLastReset: Tokens last reset
TokensResetSuccess: Successfully invalidated all authorisation tokens
HomeOpenAllocations: Active central allocations
HomeUpcomingSheets: Upcoming exercise sheets
HomeUpcomingExams: Upcoming exams
NumCourses num: #{num} #{pluralEN num "course" "courses"}
CloseAlert: Close
Name: Name
MatrikelNr: Matriculation
LdapSynced: LDAP-synchronised
LdapSyncedBefore: Last LDAP-synchronisation before
NoMatrikelKnown: No matriculation
Theme: Theme
Favourites: Number of saved favourites
FavouritesTip: Only relevant for automatically generated favourites (“visited recently”)
FavouriteSemesters: Maximum number of semesters in favourites bar
Plugin: Plugin
Ident: Identification
LastLogin: Last login
Settings: Settings
SettingsUpdate: Successfully updated settings
NotificationSettingsUpdate: Successfully updated notification settings
Never: Never
PreviouslyUploadedInfo: Files already uploaded:
PreviouslyUploadedDeletionInfo: (Files not checked will be deleted)
MultiFileUploadInfo: (Choose multiple files using Shift or Ctrl)
AddMoreFiles: Additional files:
NrColumn: #
SelectColumn: Selection
DBTablePagesize: Entries per page
DBTablePagesizeAll: All
CorrDownload: Download
CorrUploadField: Corrections
CorrUpload: Upload corrections
CorrSetCorrector: Assign corrector
CorrSetCorrectorTooltip: Submissions already assigned to a corrector must first be assigned to “<None>” before they can be assigned again.
CorrAutoSetCorrector: Distribute corrections
CorrDelete: Delete submissions
NatField name: #{name} must be a natural number!
JSONFieldDecodeFailure aesonFailure: Could not parse JSON: #{aesonFailure}
SecretJSONFieldDecryptFailure: Could not decrypt hidden data
SubmissionsAlreadyAssigned num: #{num} #{pluralEN num "correction" "corrections"} were already assigned to a corrector and were left unchanged:
SubmissionsAssignUnauthorized num: #{num} #{pluralEN num "correction" "corrections"} cannot currently be assigned to correctors (e.g. because changes to submissions are still allowed)
UpdatedAssignedCorrectorSingle num: Successfully assigned #{num} #{pluralEN num "correction" "corrections"} to the corrector.
NoCorrector: No corrector
RemovedCorrections num: Successfully deleted #{num} #{pluralEN num "correction" "corrections"}
UpdatedAssignedCorrectorsAuto num: Successfully distributed #{num} #{pluralEN num "correction" "corrections"} among correctors.
UpdatedSheetCorrectorsAutoAssigned n: Successfully distributed #{n} #{pluralEN n "correction" "corrections"} among correctors.
UpdatedSheetCorrectorsAutoFailed n: #{n} #{pluralEN n "correction" "corrections"} could not be distributed.
CouldNotAssignCorrectorsAuto num: #{num} #{pluralEN num "correction" "corrections"} could not be distributed:
SelfCorrectors num: #{num} #{pluralEN num "correction was" "corrections were"} assigned to correctors that are also submittors for their correction!
SubmissionOriginal: Original
SubmissionCorrected: Marked
SubmissionArchiveName: submissions
SubmissionTypeArchiveName tid ssh csh shn subId renderedSfType: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase shn}-#{foldCase (toPathPiece subId)}-#{foldCase renderedSfType}
CorrectionSheets: Corrections by sheet
CorrectionCorrectors: Corrections by corrector
AssignSubmissionExceptionNoCorrectors: No correctors configured
AssignSubmissionExceptionNoCorrectorsByProportion: No correctors have any non-zero proportion
AssignSubmissionExceptionSubmissionsNotFound n: #{n} #{pluralEN n "submission" "submissions"} could not be identified
NrSubmittorsTotal: Submittors
NrSubmissionsTotal: Submissions
NrSubmissionsTotalShort: Subm
NrSubmissionsUnassigned: No corrector
NoCorrectorAssigned: No corrector
NrCorrectors: Correctors
NrSubmissionsNewlyAssigned: Newly assigned
NrSubmissionsNotAssigned: Not assigned
NrSubmissionsNotCorrected: Not corrected
NrSubmissionsNotCorrectedShort: N.corr.
CorrectionTime: Correction time
AssignSubmissionsRandomWarning: The assignment preview might be different from the actual assignment if multiple sheets are being distributed. This is due to the fact that only assigned submissions are considered when handling corrector-deficits. Due to this being a randomised process small differences are also possible for a single sheet.
CorrectionsUploaded num: Successfully saved #{num} #{pluralEN num "correction" "corrections"}:
NoCorrectionsUploaded: No corrections could be found within the uploaded file.
RatingBy: Marked by
HasCorrector: Corrector assigned
AssignedTime: Assigned
AchievedBonusPoints: Bonus points achieved
AchievedNormalPoints: Points achieved
AchievedPoints: Points achieved
AchievedPassPoints: Points achieved to pass
AchievedPasses: Passed sheets
AchievedOf achieved possible: #{achieved} of #{possible}
PassAchievedOf points passingPoints maxPoints: #{points} of #{maxPoints} (pass at #{passingPoints})
PassedResult: Result
Passed: Passed
NotPassed: Failed
RatingTime: Marked
RatingComment: Comment
SubmissionUsers: Submittors
Rating: Marking
RatingPoints: Points
RatingDone: Rating visible
RatingPercent: Achieved
RatingFiles: Marked files
PointsNotPositive: Points may not be negative
PointsTooHigh maxPoints: Points may not be more than #{maxPoints}
PointsTooLow minPoints: Points may not be less than #{minPoints}
RatingPointsDone: Correction counts as marked iff “Points” is set
ColumnRatingPoints: Points
Pseudonyms: Pseudonyms
Files: Files
FileTitle: Filename
FileModified: Last changed
VisibleFrom: Published
AccessibleSince: Accessible since
Corrected: Marked
CorrectionAchievedPoints: Achieved points
CorrectionAchievedPass: Passed
FileCorrected: Marked (files)
FileCorrectedDeleted: Marked (deleted)
RatingUpdated: Successfully updated correction
RatingDeleted: Successfully reset correction
RatingFilesUpdated: Corrected files successfully overwritten
RatingNotUnicode uexc: Marking file is not UTF-8 encoded: #{tshow uexc}
RatingMissingSeparator: Preamble of the marking file could not be identified
RatingMultiple: Correction contains multiple markings
RatingInvalid parseErr: Marking points could not be parsed as a number: #{parseErr}
RatingFileIsDirectory: Marking file must not be a directory
RatingNegative: Marking points may not be negative
RatingExceedsMax: Marking points exceed maximum
RatingNotExpected: No marking points expected for this sheet
RatingBinaryExpected: Marking must be 0 (=failed) or 1(=passed)
RatingPointsRequired: Marking points required for this sheet
RatingFile: Marking file
SubmissionSinkExceptionDuplicateFileTitle file: File #{show file} occurs multiple files within zip-archive.
SubmissionSinkExceptionDuplicateRating: Found more than one marking file
SubmissionSinkExceptionRatingWithoutUpdate: Marking file found without permission
SubmissionSinkExceptionForeignRating smid: Foreign marking file for submission #{toPathPiece smid} found.
SubmissionSinkExceptionInvalidFileTitleExtension file: Filename “#{show file}” does not have any of the file extensions allowed for this sheet.
MultiSinkException name error: An error occurred in submission “#{name}”: #{error}
NoTableContent: No entries
NoUpcomingSheetDeadlines: No upcoming sheets
NoUpcomingExams difftime: No exams for your courses occurr or allow registration in the next #{difftime}
AdminHeading: Administration
AdminUserHeading: User administration
AdminUserRightsHeading: User permissions
AdminUserAuthHeading: User authentication
AdminUserHeadingFor: Profile of
AdminFor: Administrator
LecturerFor: Lecturer
LecturersFor: Lecturers
AssistantFor: Assistant
AssistantsFor: Assistants
TutorsFor n: #{pluralEN n "Tutor" "Tutors"}
CorrectorsFor n: #{pluralEN n "Corrector" "Correctors"}
UserListTitle: Comprehensive list of users
AccessRightsSaved: Successfully updated permissions
AccessRightsNotChanged: Permissions left unchanged
LecturersForN n: #{pluralEN n "Lecturer" "Lecturers"}
Date: Date
DateTimeFormat: Date and time format
DateFormat: Date format
TimeFormat: Time format
DownloadFiles: Automatically download files
DownloadFilesTip: When set, files are automatically treated as downloads. Otherwise behaviour is browser dependent (PDFs might, for example, be opened within the browser)
WarningDays: Deadline-preview
WarningDaysTip: How many days ahead should deadlines regarding exams etc. be displayed on the homepage?
NotificationSettings: Desired notifications
UserSchools: Relevant departments
UserSchoolsTip: You will only receive department-wide notifications for the selected departments.
FormNotifications: Notifications
FormBehaviour: Behaviour
FormCosmetics: Interface
FormPersonalAppearance: Public data
FormFieldRequiredTip: Marked fields need to be filled
ActiveAuthTags: Active authorisation predicates
InvalidDateTimeFormat: Invalid date and time format. YYYY-MM-DDTHH:MM[:SS] expected
AmbiguousUTCTime: The given timestamp cannot be converted to UTC unambiguously
IllDefinedUTCTime: The given timestamp cannot be converted to UTC
LastEdits: Latest edits
EditedBy name time: #{time} by #{name}
LastEdit: Latest edit
LastEditByUser: Your last edit
NoEditByUser: Not edited by you
SubmissionFilesIgnored n: Ignored #{n} #{pluralEN n "file" "files"}
SubmissionDoesNotExist smid: There is no submission “#{toPathPiece smid}”.
LDAPLoginTitle: Campus login
PWHashLoginTitle: Uni2work login
PWHashLoginNote: Use this form if you have received special credentials from the Uni2work-team. Most users need to use campus login!
DummyLoginTitle: Development login
LoginNecessary: Please log in first!
InternalLdapError: Internal error during campus login
CampusUserInvalidEmail: Could not determine email address during campus login
CampusUserInvalidDisplayName: Could not determine display name during campus login
CampusUserInvalidGivenName: Could not determine given name during campus login
CampusUserInvalidSurname: Could not determine surname during campus login
CampusUserInvalidTitle: Could not determine title during campus login
CampusUserInvalidMatriculation: Could not determine matriculation during campus login
CampusUserInvalidFeaturesOfStudy parseErr: Could not determine features of study during campus login
CampusUserInvalidAssociatedSchools parseErr: Could not determine associated departments during campus login
CampusUserInvalidSex: Could not determine gender during campus login
CorrectorNormal: Normal
CorrectorMissing: Missing
CorrectorExcused: Excused
CorrectorStateTip: Missing correctors are assigned additional corrections during later sheets. Excused correctors are not assigned any additional deficit.
DayIsAHoliday tid name date: “#{name}” (#{date}) is a legal holiday
DayIsOutOfLecture tid name date: “#{name}” (#{date}) is not within lecture period of #{tid}
DayIsOutOfTerm tid name date: “#{name}” (#{date}) is not within #{tid}
UploadModeNone: No Upload
UploadModeAny: Upload arbitrary files
UploadModeSpecific: Upload pre-defined files
UploadModeUnpackZips: Upload multiple files
UploadModeUnpackZipsTip: If upload of multiple files is permitted, supported archive formats are also accepted. Archives are automatically unpacked during upload.
AutoUnzip: Automatically unpack ZIPs
AutoUnzipInfo: Automatically unpacks ZIP-files (*.zip) and adds their content to the root directory.
UploadModeExtensionRestriction: Allowed file extensions
UploadModeExtensionRestrictionTip: Comma-separated. If no file extensions are specified, uploads are not restricted.
UploadModeExtensionRestrictionEmpty: List of permitted file extensions may not be emptyy
UploadSpecificFiles: Pre-defined files
NoUploadSpecificFilesConfigured: If pre-defined files are selected, at least one file needs to be configured.
UploadSpecificFilesDuplicateNames: Names of pre-defined files must be unique
UploadSpecificFilesDuplicateLabels: Labels of pre-defined files must be unique
UploadSpecificFileLabel: Label
UploadSpecificFileName: Filename
UploadSpecificFileRequired: Required for submission
NoSubmissions: No submission
CorrectorSubmissions: External submission via pseudonym
UserSubmissions: Direct submission in Uni2work
BothSubmissions: Submission either directly in Uni2work or externally via pseudonym
SheetCorrectorSubmissionsTip: Submissions are expected to be handed in through some Uni2work-external procedure (usually on paper) marked with your personal pseudonym. Correctors can, using the pseudonym, register the marking in Uni2work for you to review.
SubmissionNoUploadExpected: No upload of files expected.
SubmissionReplace: Replace submission
SubmissionCreated: Successfully created submission
SubmissionUpdated: Successfully replaced submission
AdminFeaturesHeading: Features of study
StudyTerms: Fields of study
StudyTerm: Field of study
NoStudyTermsKnown: No known features of study
StudyFeatureInference: Infer field of study mapping
StudyFeatureInferenceNoConflicts: No observed conflicts
StudyFeatureInferenceConflictsHeading: Fields of study with observed conflicts
StudyFeatureAge: Semester
StudyFeatureDegree: Degree
FieldPrimary: Major
FieldSecondary: Minor
ShortFieldPrimary: Mj
ShortFieldSecondary: Mn
NoStudyField: No field of study
StudyFeatureType:
StudyFeatureValid: Valid
StudyFeatureUpdate: Updated
DegreeKey: Degree key
DegreeName: Degree
DegreeShort: Degree shorthand
StudyTermsKey: Field key
StudyTermsName: Field of study
StudyTermsShort: Field shorthand
StudyTermsChangeSuccess: Successfully updated fields of study
StudyDegreeChangeSuccess: Successfully updated degrees
StudyCandidateIncidence: Synchronisation
AmbiguousCandidatesRemoved n: Successfully removed #{n} ambiguous #{pluralEN n "candidate" "candidates"}
RedundantCandidatesRemoved n: Successfully removed #{n} rendundant #{pluralEN n "candidate" "candidates"}
CandidatesInferred n: Successfully inferred #{n} field #{pluralEN n "mapping" "mappings"}
NoCandidatesInferred: No new mappings inferred
AllIncidencesDeleted: Successfully deleted all observations
StudyTermIsNew: New
StudyFeatureConflict: Observed conflicts in field mapping
MailTestFormEmail: Email address
MailTestFormLanguages: Language settings
MailTestSubject: Uni2work test email
MailTestContent: This is a test email sent by Uni2work. No action on your part is required.
MailTestDateTime: Test of datetime formatting:
German: German
GermanGermany: German (Germany)
English: English
EnglishEurope: English (Europe)
MailSubjectSubmissionRated csh: Your #{csh}-submission was marked
MailSubmissionRatedIntro courseName termDesc: Your submission for #{courseName} (#{termDesc}) was marked.
MailSubjectSheetActive csh sheetName: #{sheetName} in #{csh} was released
MailSheetActiveIntro courseName termDesc sheetName: You may now download #{sheetName} for #{courseName} (#{termDesc}).
MailSubjectCourseRegistered csh: You were enrolled for #{csh}
MailSubjectCourseRegisteredOther displayName csh: #{displayName} was enrolled for #{csh}
MailSubjectCourseRegisteredIntro courseName termDesc: You were enrolled for the course “#{courseName}” (#{termDesc})
MailSubjectCourseRegisteredIntroOther displayName courseName termDesc: #{displayName} was enrolled for the course “#{courseName}” (#{termDesc}).
MailSubjectExamResult csh examn: Results for #{examn} in #{csh} are now available
MailExamResultIntro courseName termDesc examn: You may now view your result for #{examn} of the course #{courseName} (#{termDesc}).
MailSubjectExamOfficeExamResults csh examn: Results for #{examn} of #{courseName} are now available
MailExamOfficeExamResultsIntro courseName termDesc examn: A course administrator has made the results for #{examn} of the course #{courseName} (#{termDesc}) available.
MailSubjectExamOfficeExamResultsChanged csh examn: Results for #{examn} of #{csh} were changed
MailExamOfficeExamResultsChangedIntro courseName termDesc examn: A course administrator has changed exam results for #{examn} of the course #{courseName} (#{termDesc}).
MailSubjectExamRegistrationActive csh examn: Registration is now allowed for #{examn} of #{csh}
MailExamRegistrationActiveIntro courseName termDesc examn: You may now register for #{examn} of the course #{courseName} (#{termDesc}).
MailSubjectExamRegistrationSoonInactive csh examn: Registration for #{examn} of #{csh} ends shortly
MenuLanguage: Language

View File

@ -243,6 +243,15 @@ noneMoreDE num noneText someText
| num == 0 = noneText
| otherwise = someText
pluralEN :: (Eq a, Num a)
=> a -- ^ Count
-> Text -- ^ Singular
-> Text -- ^ Plural
-> Text
pluralEN num singularForm pluralForm
| num == 1 = singularForm
| otherwise = pluralForm
-- Convenience Type for Messages, since Yesod messages cannot deal with compound type identifiers
type IntMaybe = Maybe Int
type TextList = [Text]

View File

@ -581,7 +581,7 @@ customMigrations = Map.fromListWith (>>)
, whenM (tableExists "user") $
[executeQQ|
ALTER TABLE "user" ADD COLUMN "languages" jsonb;
UPDATE TABLE "user" SET "languages" = "mail_languages" where "mail_languages" <> '[]';
UPDATE "user" SET "languages" = "mail_languages" where "mail_languages" <> '[]';
ALTER TABLE "user" DROP COLUMN "mail_languages";
|]
)