chore: ensure translations are sensible
Also fix some translations
This commit is contained in:
parent
2c2edca6fa
commit
79d4b72780
@ -19,14 +19,14 @@ ValueRequiredLabeledSimple fieldLabel@Text: #{fieldLabel} wird benötigt
|
|||||||
ValueRequiredLabeledMultiWord fieldLabel@Text: „#{fieldLabel}“ wird benötigt
|
ValueRequiredLabeledMultiWord fieldLabel@Text: „#{fieldLabel}“ wird benötigt
|
||||||
UnsupportedAuthPredicate authTagT@Text shownRoute@Text: „#{authTagT}“ wurde auf eine Route angewandt, die dies nicht unterstützt: „#{shownRoute}“
|
UnsupportedAuthPredicate authTagT@Text shownRoute@Text: „#{authTagT}“ wurde auf eine Route angewandt, die dies nicht unterstützt: „#{shownRoute}“
|
||||||
WorkflowScopeGlobal: Systemweit
|
WorkflowScopeGlobal: Systemweit
|
||||||
WorkflowScopeTermSchool tid@TermId ssh@SchoolId: #{tid} #{ssh}
|
WorkflowScopeTermSchool tid@TermId ssh@SchoolId !ident-ok: #{tid} #{ssh}
|
||||||
WorkflowScopeCourse tid@TermId ssh@SchoolId csh@CourseShorthand: #{tid} #{ssh} #{csh}
|
WorkflowScopeCourse tid@TermId ssh@SchoolId csh@CourseShorthand !ident-ok: #{tid} #{ssh} #{csh}
|
||||||
SecretJSONFieldDecryptFailure: Konnte versteckte vertrauliche Daten nicht entschlüsseln
|
SecretJSONFieldDecryptFailure: Konnte versteckte vertrauliche Daten nicht entschlüsseln
|
||||||
German: Deutsch
|
German: Deutsch
|
||||||
GermanGermany: Deutsch (Deutschland)
|
GermanGermany: Deutsch (Deutschland)
|
||||||
English: Englisch
|
English: Englisch
|
||||||
EnglishEurope: Englisch (Europa)
|
EnglishEurope: Englisch (Europa)
|
||||||
ShortSexNotKnown: unb.
|
ShortSexNotKnown: unb.
|
||||||
ShortSexMale: m
|
ShortSexMale !ident-ok: m
|
||||||
ShortSexFemale: w
|
ShortSexFemale: w
|
||||||
ShortSexNotApplicable: k.A.
|
ShortSexNotApplicable: k.A.
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
TestDownloadMaxSize: Maximale Dateigröße
|
TestDownloadMaxSize: Maximale Dateigröße
|
||||||
TestDownloadMode: Modus
|
TestDownloadMode: Modus
|
||||||
HeadingAdminCrontab: Crontab
|
HeadingAdminCrontab !ident-ok: Crontab
|
||||||
AdminInstanceId: Instanz-Nummer:in
|
AdminInstanceId: Instanz-Nummer
|
||||||
AdminCrontabNotGenerated: (Noch) keine Crontab generiert
|
AdminCrontabNotGenerated: (Noch) keine Crontab generiert
|
||||||
CronMatchAsap: ASAP
|
CronMatchAsap !ident-ok: ASAP
|
||||||
CronMatchNone: Nie
|
CronMatchNone: Nie
|
||||||
ErrMsgCiphertext: Verschlüsselte Fehlermeldung
|
ErrMsgCiphertext: Verschlüsselte Fehlermeldung
|
||||||
AmbiguousNameCandidatesRemoved n@Int: #{show n} #{pluralDE n "uneindeutiger Kandidat/uneindeutige Kandidatin" "uneindeutige Kandiat:innen"} entfernt
|
AmbiguousNameCandidatesRemoved n@Int: #{show n} #{pluralDE n "uneindeutiger Kandidat/uneindeutige Kandidatin" "uneindeutige Kandiat:innen"} entfernt
|
||||||
@ -22,7 +22,7 @@ NoParentCandidatesInferred: Keine neuen Unterstudiengänge inferiert
|
|||||||
StudyDegreeChangeSuccess: Zuordnung Abschlüsse aktualisiert
|
StudyDegreeChangeSuccess: Zuordnung Abschlüsse aktualisiert
|
||||||
StudyTermsShort: Studiengangkürzel
|
StudyTermsShort: Studiengangkürzel
|
||||||
StudyTermsChangeSuccess: Zuordnung Studiengänge aktualisiert
|
StudyTermsChangeSuccess: Zuordnung Studiengänge aktualisiert
|
||||||
StudyCandidateIncidence: Synchronisation
|
StudyCandidateIncidence !ident-ok: Synchronisation
|
||||||
StudyTermIsNew: Neu
|
StudyTermIsNew: Neu
|
||||||
AdminFeaturesHeading: Studiengänge
|
AdminFeaturesHeading: Studiengänge
|
||||||
StudyTermsParentMissing: Elternteil wird benötigt
|
StudyTermsParentMissing: Elternteil wird benötigt
|
||||||
@ -52,7 +52,7 @@ BearerTokenRoutesTip: Wenn die Token-Validität nach Routen eingeschränkt und k
|
|||||||
BearerTokenRouteMissing: Route wird benötigt
|
BearerTokenRouteMissing: Route wird benötigt
|
||||||
BearerTokenRestrictions: Routen-spezifische Einschränkungen
|
BearerTokenRestrictions: Routen-spezifische Einschränkungen
|
||||||
BearerTokenRestrictRoutes: Token-Validität nach Routen einschränken
|
BearerTokenRestrictRoutes: Token-Validität nach Routen einschränken
|
||||||
BearerTokenRestrictRoute: Route
|
BearerTokenRestrictRoute !ident-ok: Route
|
||||||
BearerTokenRestrictValue: Einschränkung
|
BearerTokenRestrictValue: Einschränkung
|
||||||
BearerTokenAdditionalAuth: Zusätzliche Authorisierung
|
BearerTokenAdditionalAuth: Zusätzliche Authorisierung
|
||||||
BearerTokenAdditionalAuthTip: Wird hier nichts angegeben, werden keine Einschränkungen daran gesetzt, wer das Token verwenden kann. Es reicht dann der Besitz.
|
BearerTokenAdditionalAuthTip: Wird hier nichts angegeben, werden keine Einschränkungen daran gesetzt, wer das Token verwenden kann. Es reicht dann der Besitz.
|
||||||
@ -74,7 +74,7 @@ StudyFeatureParentInference: Unterstudiengang-Inferenz
|
|||||||
StudyFeatureInferenceNoNameConflicts: Keine Konflikte beobachtet
|
StudyFeatureInferenceNoNameConflicts: Keine Konflikte beobachtet
|
||||||
StudyFeatureInferenceNameConflictsHeading: Studiengangseinträge mit beobachteten Konflikten
|
StudyFeatureInferenceNameConflictsHeading: Studiengangseinträge mit beobachteten Konflikten
|
||||||
|
|
||||||
AdminHeading: Administration
|
AdminHeading !ident-ok: Administration
|
||||||
AdminPageEmpty: Diese Seite soll eine Übersichtsseite für Administrator:innen werden. Aktuell finden sich hier nur Links zu wichtigen Administrator-Funktionalitäten.
|
AdminPageEmpty: Diese Seite soll eine Übersichtsseite für Administrator:innen werden. Aktuell finden sich hier nur Links zu wichtigen Administrator-Funktionalitäten.
|
||||||
BearerTokenImpersonate: Auftreten als
|
BearerTokenImpersonate: Auftreten als
|
||||||
BearerTokenImpersonateNone: Keine Änderung
|
BearerTokenImpersonateNone: Keine Änderung
|
||||||
@ -85,7 +85,7 @@ BearerTokenImpersonateRandomNegative: Anzahl muss positiv sein
|
|||||||
BearerTokenImpersonateRandomCount: Anzahl
|
BearerTokenImpersonateRandomCount: Anzahl
|
||||||
BearerTokenImpersonateUnknownUser email@UserEmail: Ein Nutzer/Eine Nutzerin mit E-Mail #{email} ist dem System nicht bekannt
|
BearerTokenImpersonateUnknownUser email@UserEmail: Ein Nutzer/Eine Nutzerin mit E-Mail #{email} ist dem System nicht bekannt
|
||||||
BearerTokenImpersonateRandomWeightActivity: Nach Aktivität gewichten
|
BearerTokenImpersonateRandomWeightActivity: Nach Aktivität gewichten
|
||||||
BearerTokenArchiveName: tokens.zip
|
BearerTokenArchiveName !ident-ok: tokens.zip
|
||||||
|
|
||||||
TestDownloadDirect: Direkte Generierung
|
TestDownloadDirect: Direkte Generierung
|
||||||
TestDownloadInTransaction: Generierung während Datenbank-Transaktion
|
TestDownloadInTransaction: Generierung während Datenbank-Transaktion
|
||||||
|
|||||||
@ -22,7 +22,7 @@ CourseApplication: Bewerbung
|
|||||||
AllocationCoursePriority i@Natural: #{i}. Wahl
|
AllocationCoursePriority i@Natural: #{i}. Wahl
|
||||||
AllocationCourseNoApplication: Keine Bewerbung
|
AllocationCourseNoApplication: Keine Bewerbung
|
||||||
ApplicationPriority: Priorität
|
ApplicationPriority: Priorität
|
||||||
ApplicationVeto: Veto
|
ApplicationVeto !ident-ok: Veto
|
||||||
ApplicationVetoTip: Bewerber:in mit Veto werden garantiert nicht dem Kurs zugeteilt
|
ApplicationVetoTip: Bewerber:in mit Veto werden garantiert nicht dem Kurs zugeteilt
|
||||||
ApplicationRatingPoints: Bewertung
|
ApplicationRatingPoints: Bewertung
|
||||||
ApplicationRatingPointsTip: Bewerber:in mit 5.0 werden garantiert nicht dem Kurs zugeteilt
|
ApplicationRatingPointsTip: Bewerber:in mit 5.0 werden garantiert nicht dem Kurs zugeteilt
|
||||||
@ -66,8 +66,8 @@ AllocationTotalCourses: Gewünschte Anzahl von Kursen
|
|||||||
AllocationTotalCoursesTip: Sie werden im Laufe dieser Zentralanmeldung maximal so vielen Kursen zugeteilt, wie Sie hier angeben
|
AllocationTotalCoursesTip: Sie werden im Laufe dieser Zentralanmeldung maximal so vielen Kursen zugeteilt, wie Sie hier angeben
|
||||||
AllocationRegistered: Teilnahme an der Zentralanmeldung erfolgreich registriert
|
AllocationRegistered: Teilnahme an der Zentralanmeldung erfolgreich registriert
|
||||||
AllocationRegistrationEdited: Einstellungen zur Teilnahme an der Zentralanmeldung erfolgreich angepasst
|
AllocationRegistrationEdited: Einstellungen zur Teilnahme an der Zentralanmeldung erfolgreich angepasst
|
||||||
AllocationTitle termText@Text ssh'@SchoolShorthand allocation@AllocationName: #{termText} - #{ssh'}: #{allocation}
|
AllocationTitle termText@Text ssh'@SchoolShorthand allocation@AllocationName !ident-ok: #{termText} - #{ssh'}: #{allocation}
|
||||||
AllocationShortTitle termText@Text ssh'@SchoolShorthand ash@AllocationShorthand: #{termText} - #{ssh'} - #{ash}
|
AllocationShortTitle termText@Text ssh'@SchoolShorthand ash@AllocationShorthand !ident-ok: #{termText} - #{ssh'} - #{ash}
|
||||||
AllocationNotificationNewCourse: Benachrichtigung bei neuen Kursen
|
AllocationNotificationNewCourse: Benachrichtigung bei neuen Kursen
|
||||||
AllocationNotificationNewCourseTip: Wollen Sie per E-Mail benachrichtigt werden, wenn für diese Zentralanmeldung ein neuer Kurs eingetragen wird? Dies überschreibt die systemweite Einstellung in "Anpassen".
|
AllocationNotificationNewCourseTip: Wollen Sie per E-Mail benachrichtigt werden, wenn für diese Zentralanmeldung ein neuer Kurs eingetragen wird? Dies überschreibt die systemweite Einstellung in "Anpassen".
|
||||||
AllocationNotificationNewCourseSuccessForceOn: Sie werden benachrichtigt, wenn ein neuer Kurs eingetragen wird
|
AllocationNotificationNewCourseSuccessForceOn: Sie werden benachrichtigt, wenn ein neuer Kurs eingetragen wird
|
||||||
@ -93,8 +93,8 @@ AllocationUsersTitle tid@TermId ssh@SchoolId ash@AllocationShorthand: #{tid}-#{s
|
|||||||
#templates allocation/show/course
|
#templates allocation/show/course
|
||||||
AllocationNoApplication: Keine Bewerbung
|
AllocationNoApplication: Keine Bewerbung
|
||||||
CourseAllocationCourseParticipants: Teilnehmer:innen
|
CourseAllocationCourseParticipants: Teilnehmer:innen
|
||||||
CourseMembersCount n@Int: #{n}
|
CourseMembersCount n@Int !ident-ok: #{n}
|
||||||
CourseMembersCountLimited n@Int max@Int: #{n}/#{max}
|
CourseMembersCountLimited n@Int max@Int !ident-ok: #{n}/#{max}
|
||||||
|
|
||||||
#templates allocation/accept
|
#templates allocation/accept
|
||||||
ComputedAllocation: Berechnete Vergabe
|
ComputedAllocation: Berechnete Vergabe
|
||||||
@ -110,7 +110,7 @@ AllocationMatchedUsers: Neu zugeteilt
|
|||||||
|
|
||||||
#templates allocation/show
|
#templates allocation/show
|
||||||
AllocationSchool: Institut
|
AllocationSchool: Institut
|
||||||
AllocationSemester: Semester
|
AllocationSemester !ident-ok: Semester
|
||||||
AllocationDescription: Beschreibung
|
AllocationDescription: Beschreibung
|
||||||
AllocationStaffDescription: Beschreibung für Dozierende
|
AllocationStaffDescription: Beschreibung für Dozierende
|
||||||
AllocationStaffRegisterFrom: Eintragung der Kurse ab
|
AllocationStaffRegisterFrom: Eintragung der Kurse ab
|
||||||
@ -145,12 +145,12 @@ AllocationCourseRestrictionDontRestrict: Nicht einschränken
|
|||||||
AllocationCourseRestrictionSubstitutes: Kurse, die aktuell Nachrücker akzeptieren
|
AllocationCourseRestrictionSubstitutes: Kurse, die aktuell Nachrücker akzeptieren
|
||||||
AllocationCourseRestrictionCustom: Benutzerdefiniert
|
AllocationCourseRestrictionCustom: Benutzerdefiniert
|
||||||
|
|
||||||
AllocationName: Name
|
AllocationName !ident-ok: Name
|
||||||
Allocation: Zentralanmeldung
|
Allocation: Zentralanmeldung
|
||||||
AllocationActive: Aktiv
|
AllocationActive: Aktiv
|
||||||
AllocationUsersApplied: Bewerbungen
|
AllocationUsersApplied: Bewerbungen
|
||||||
AllocationUsersAssigned: Zuweisungen
|
AllocationUsersAssigned: Zuweisungen
|
||||||
AllocationUsersVetoed: Vetos
|
AllocationUsersVetoed !ident-ok: Vetos
|
||||||
AllocationUsersRequested: Angefragte Plätze
|
AllocationUsersRequested: Angefragte Plätze
|
||||||
AllocationUsersPriority: Zentrale Dringlichkeit
|
AllocationUsersPriority: Zentrale Dringlichkeit
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
CourseApplicationTitle displayName@Text csh@CourseShorthand: Bewerbung für #{csh}: #{displayName}
|
CourseApplicationTitle displayName@Text csh@CourseShorthand: Bewerbung für #{csh}: #{displayName}
|
||||||
CourseApplicationArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand appId@CryptoFileNameCourseApplication displayName@Text: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldCase (toPathPiece appId)}-#{foldCase displayName}
|
CourseApplicationArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand appId@CryptoFileNameCourseApplication displayName@Text !ident-ok: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldCase (toPathPiece appId)}-#{foldCase displayName}
|
||||||
CourseApplicationsAllocatedDirectory: zentral
|
CourseApplicationsAllocatedDirectory: zentral
|
||||||
CourseApplicationsNotAllocatedDirectory: direkt
|
CourseApplicationsNotAllocatedDirectory: direkt
|
||||||
CsvColumnApplicationsAllocation: Zentralanmeldung über die die Bewerbung eingegangen ist
|
CsvColumnApplicationsAllocation: Zentralanmeldung über die die Bewerbung eingegangen ist
|
||||||
@ -18,7 +18,7 @@ ApplicationUserColumns: Bewerbung
|
|||||||
ApplicationRatingColumns: Bewertung
|
ApplicationRatingColumns: Bewertung
|
||||||
ApplicationGeneratedColumns: Stammdaten
|
ApplicationGeneratedColumns: Stammdaten
|
||||||
ApplicationGeneratedColumnsTip: Stammdaten eines/einer Bewerbers/Bewerberin sind Daten, welche dem System zu diesem/dieser Benutzer/Benutzerin bekannt sind und welche der/die Benutzer/Benutzerin im Zuge der Bewerbung nicht beeinflussen kann.
|
ApplicationGeneratedColumnsTip: Stammdaten eines/einer Bewerbers/Bewerberin sind Daten, welche dem System zu diesem/dieser Benutzer/Benutzerin bekannt sind und welche der/die Benutzer/Benutzerin im Zuge der Bewerbung nicht beeinflussen kann.
|
||||||
CourseApplicationVeto: Veto
|
CourseApplicationVeto !ident-ok: Veto
|
||||||
CourseApplicationNoVeto: Kein Veto
|
CourseApplicationNoVeto: Kein Veto
|
||||||
CourseApplicationNoRatingPoints: Keine Bewertung
|
CourseApplicationNoRatingPoints: Keine Bewertung
|
||||||
CourseApplicationNoRatingComment: Kein Kommentar
|
CourseApplicationNoRatingComment: Kein Kommentar
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
FilterCourse: Kurs
|
FilterCourse: Kurs
|
||||||
FilterCourseShort: Kürzel
|
FilterCourseShort: Kürzel
|
||||||
FilterTerm: Semester
|
FilterTerm !ident-ok: Semester
|
||||||
FilterCourseSchoolShort: Institut
|
FilterCourseSchoolShort: Institut
|
||||||
FilterRegistered: Angemeldet
|
FilterRegistered: Angemeldet
|
||||||
FilterCourseSearch: Volltext-Suche
|
FilterCourseSearch: Volltext-Suche
|
||||||
@ -16,7 +16,7 @@ CourseLecturerAlreadyAdded: Diese:r Nutzer:in ist bereits als Kursverwalter:in e
|
|||||||
CourseLecturerType: Rolle
|
CourseLecturerType: Rolle
|
||||||
LecturerType: Rolle
|
LecturerType: Rolle
|
||||||
CourseLecturerRightsIdentical: Alle Sorten von Kursverwalter:innen haben identische Rechte.
|
CourseLecturerRightsIdentical: Alle Sorten von Kursverwalter:innen haben identische Rechte.
|
||||||
CourseAllocationOption term@Text name@Text: #{name} (#{term})
|
CourseAllocationOption term@Text name@Text !ident-ok: #{name} (#{term})
|
||||||
CourseAllocationParticipate: Teilnahme an Zentralanmeldung
|
CourseAllocationParticipate: Teilnahme an Zentralanmeldung
|
||||||
CourseAllocationParticipateTip: Wird an einer Zentralanmeldung teilgenommen, kann es sein, dass Sie bestimmte Rechte, die Sie normalerweise bzgl. Ihres Kurses hätten, nicht ausüben können (z.B. Studierende direkt zum Kurs anmelden, Studierende abmelden, ...).
|
CourseAllocationParticipateTip: Wird an einer Zentralanmeldung teilgenommen, kann es sein, dass Sie bestimmte Rechte, die Sie normalerweise bzgl. Ihres Kurses hätten, nicht ausüben können (z.B. Studierende direkt zum Kurs anmelden, Studierende abmelden, ...).
|
||||||
CourseNoAllocationsAvailable: Es sind aktuell keine Zentralanmeldungen verfügbar
|
CourseNoAllocationsAvailable: Es sind aktuell keine Zentralanmeldungen verfügbar
|
||||||
@ -33,7 +33,7 @@ CourseSchoolMultipleTip: Es stehen für Sie mehrere Institute zur Auswahl. Stell
|
|||||||
CourseName: Kurstitel
|
CourseName: Kurstitel
|
||||||
CourseShorthand: Kürzel
|
CourseShorthand: Kürzel
|
||||||
CourseShorthandUnique: Muss nur innerhalb Institut und Semester eindeutig sein. Wird verbatim in die Url der Kursseite übernommen.
|
CourseShorthandUnique: Muss nur innerhalb Institut und Semester eindeutig sein. Wird verbatim in die Url der Kursseite übernommen.
|
||||||
CourseSemester: Semester
|
CourseSemester !ident-ok: Semester
|
||||||
CourseDescriptionPlaceholder: Bitte mindestens die Modulbeschreibung angeben
|
CourseDescriptionPlaceholder: Bitte mindestens die Modulbeschreibung angeben
|
||||||
CourseHomepageExternal: Externe Homepage
|
CourseHomepageExternal: Externe Homepage
|
||||||
CourseSemesterMultipleTip: Es stehen für Sie aktuell mehrere Semester zur Auswahl. Stellen Sie bitte sicher, dass Sie das für den Kurs korrekte Semester wählen.
|
CourseSemesterMultipleTip: Es stehen für Sie aktuell mehrere Semester zur Auswahl. Stellen Sie bitte sicher, dass Sie das für den Kurs korrekte Semester wählen.
|
||||||
@ -188,7 +188,7 @@ AssistantsFor: Assistent:innen
|
|||||||
TutorsFor n@Int: #{pluralDE n "Tutor:in" "Tutor:innen"}
|
TutorsFor n@Int: #{pluralDE n "Tutor:in" "Tutor:innen"}
|
||||||
CorrectorsFor n@Int: #{pluralDE n "Korrektor:in" "Korrektor:innen"}
|
CorrectorsFor n@Int: #{pluralDE n "Korrektor:in" "Korrektor:innen"}
|
||||||
CourseParticipantsHeading: Kursteilnehmer:innen
|
CourseParticipantsHeading: Kursteilnehmer:innen
|
||||||
CourseParticipantsCount n@Int: #{n}
|
CourseParticipantsCount n@Int !ident-ok: #{n}
|
||||||
CourseParticipantsCountOf n@Int m@Int: #{n} von #{m}
|
CourseParticipantsCountOf n@Int m@Int: #{n} von #{m}
|
||||||
CourseVisibility: Sichtbarkeit
|
CourseVisibility: Sichtbarkeit
|
||||||
CourseInvisible: Dieser Kurs ist momentan nur für Dozierende, Assistent:innen, Tutor:innen, Korrektor:innen, angemeldete Teilnehmer:innen und Bewerber:innen sichtbar.
|
CourseInvisible: Dieser Kurs ist momentan nur für Dozierende, Assistent:innen, Tutor:innen, Korrektor:innen, angemeldete Teilnehmer:innen und Bewerber:innen sichtbar.
|
||||||
@ -202,7 +202,7 @@ CourseApplicationTemplateApplication: Bewerbungsvorlage(n)
|
|||||||
CourseApplicationTemplateRegistration: Anmeldungsvorlage(n)
|
CourseApplicationTemplateRegistration: Anmeldungsvorlage(n)
|
||||||
NotRegistered: Sie sind zu diesem Kurs nicht angemeldet.
|
NotRegistered: Sie sind zu diesem Kurs nicht angemeldet.
|
||||||
CourseApplicationDeleteToEdit: Um Ihre Bewerbung zu editieren müssen Sie sie zunächst zurückziehen und sich erneut bewerben.
|
CourseApplicationDeleteToEdit: Um Ihre Bewerbung zu editieren müssen Sie sie zunächst zurückziehen und sich erneut bewerben.
|
||||||
CourseMaterial: Material
|
CourseMaterial !ident-ok: Material
|
||||||
CourseMaterialNotFree: Das Kursmaterial ist nur für Mitglieder des Kurses einsehbar, also z.B. für Teilnehmer:innen, Tutor:innen, Korrektor:innen und Verwalter:innen.
|
CourseMaterialNotFree: Das Kursmaterial ist nur für Mitglieder des Kurses einsehbar, also z.B. für Teilnehmer:innen, Tutor:innen, Korrektor:innen und Verwalter:innen.
|
||||||
CourseMaterialsFoundHere: Material zum Kurs finden Sie hier
|
CourseMaterialsFoundHere: Material zum Kurs finden Sie hier
|
||||||
CourseMaterialsNoneVisible: Aktuell gibt es zu diesem Kurs kein Material, oder nur Material auf das Sie keinen Zugriff haben (z.B. aufgrund von Fristen bzgl. der Sichtbarkeit).
|
CourseMaterialsNoneVisible: Aktuell gibt es zu diesem Kurs kein Material, oder nur Material auf das Sie keinen Zugriff haben (z.B. aufgrund von Fristen bzgl. der Sichtbarkeit).
|
||||||
|
|||||||
@ -5,7 +5,7 @@ CourseEventTime: Zeit
|
|||||||
CourseEventRoom: Regulärer Raum
|
CourseEventRoom: Regulärer Raum
|
||||||
CourseEventRoomHidden: Raum nur für Teilnehmer:innen
|
CourseEventRoomHidden: Raum nur für Teilnehmer:innen
|
||||||
CourseEventRoomHiddenTip: Soll der Raum nur angemeldeten Kursteilnehmer:innen angezeigt werden?
|
CourseEventRoomHiddenTip: Soll der Raum nur angemeldeten Kursteilnehmer:innen angezeigt werden?
|
||||||
CourseEventRoomIsUnset: —
|
CourseEventRoomIsUnset !ident-ok: —
|
||||||
CourseEventRoomIsHidden: Raum wird nur Kurs-assoziierten Personen (Teilnehmer:innen, Tutor:innen, Korrektor:innen, etc.) angezeigt
|
CourseEventRoomIsHidden: Raum wird nur Kurs-assoziierten Personen (Teilnehmer:innen, Tutor:innen, Korrektor:innen, etc.) angezeigt
|
||||||
CourseEventNote: Notiz
|
CourseEventNote: Notiz
|
||||||
CourseEventActions: Aktionen
|
CourseEventActions: Aktionen
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
CourseNews: Aktuelles
|
CourseNews: Aktuelles
|
||||||
CourseNewsArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand newsTitle@Text: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldCase newsTitle}
|
CourseNewsArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand newsTitle@Text !ident-ok: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldCase newsTitle}
|
||||||
CourseNewsFiles: Dateien
|
CourseNewsFiles: Dateien
|
||||||
CourseNewsLastEdited time@Text: Zuletzt verändert: #{time}
|
CourseNewsLastEdited time@Text: Zuletzt verändert: #{time}
|
||||||
CourseNewsActionEdit: Bearbeiten
|
CourseNewsActionEdit: Bearbeiten
|
||||||
|
|||||||
@ -12,8 +12,8 @@ ExamAutoOccurrenceMinimizeRooms: Verwendete Räume/Termine minimieren
|
|||||||
ExamAutoOccurrenceMinimizeRoomsTip: Soll, für die Aufteilung, die Liste an Räumen/Terminen zunächst reduziert werden, sodass nur so wenige Räume verwendet werden, wie nötig (größte zuerst)?
|
ExamAutoOccurrenceMinimizeRoomsTip: Soll, für die Aufteilung, die Liste an Räumen/Terminen zunächst reduziert werden, sodass nur so wenige Räume verwendet werden, wie nötig (größte zuerst)?
|
||||||
ExamAutoOccurrenceOccurrencesChangedInFlight: Raumliste wurde verändert
|
ExamAutoOccurrenceOccurrencesChangedInFlight: Raumliste wurde verändert
|
||||||
ExamAutoOccurrenceParticipantsAssigned num@Int64: Verteilungstabelle erfolgreich gespeichert und #{num} #{pluralDE num "Teilnehmer:in" "Teilnehmer:innen"} zugewiesen
|
ExamAutoOccurrenceParticipantsAssigned num@Int64: Verteilungstabelle erfolgreich gespeichert und #{num} #{pluralDE num "Teilnehmer:in" "Teilnehmer:innen"} zugewiesen
|
||||||
Proportion c@Text of'@Text prop@Rational: #{c}/#{of'} (#{rationalToFixed2 (100 * prop)}%)
|
Proportion c@Text of'@Text prop@Rational !ident-ok: #{c}/#{of'} (#{rationalToFixed2 (100 * prop)}%)
|
||||||
ProportionNoRatio c@Text of'@Text: #{c}/#{of'}
|
ProportionNoRatio c@Text of'@Text !ident-ok: #{c}/#{of'}
|
||||||
ExamCorrectHeading examname@Text: Prüfungsergebnisse für #{examname} eintragen
|
ExamCorrectHeading examname@Text: Prüfungsergebnisse für #{examname} eintragen
|
||||||
ExamCorrectErrorNeedleTooShort: Dieser Identifikator ist zu kurz.
|
ExamCorrectErrorNeedleTooShort: Dieser Identifikator ist zu kurz.
|
||||||
ExamCorrectErrorMultipleMatchingParticipants: Dem Identifikator konnten mehrere Prüfungsteilnehmer:innen zugeordnet werden.
|
ExamCorrectErrorMultipleMatchingParticipants: Dem Identifikator konnten mehrere Prüfungsteilnehmer:innen zugeordnet werden.
|
||||||
@ -119,7 +119,7 @@ ExamOccurrenceStartMustBeAfterExamStart eoName@ExamOccurrenceName: Beginn des Te
|
|||||||
ExamOccurrenceEndMustBeBeforeExamEnd eoName@ExamOccurrenceName: Ende des Termins #{eoName} liegt nach dem Ende der Prüfung
|
ExamOccurrenceEndMustBeBeforeExamEnd eoName@ExamOccurrenceName: Ende des Termins #{eoName} liegt nach dem Ende der Prüfung
|
||||||
ExamOccurrenceDuplicate eoRoom@Text eoRange@Text: Raum #{eoRoom}, Termin #{eoRange} kommt mehrfach mit der selben Beschreibung vor
|
ExamOccurrenceDuplicate eoRoom@Text eoRange@Text: Raum #{eoRoom}, Termin #{eoRange} kommt mehrfach mit der selben Beschreibung vor
|
||||||
ExamOccurrenceDuplicateName eoName@ExamOccurrenceName: Interne Terminbezeichnung #{eoName} kommt mehrfach vor
|
ExamOccurrenceDuplicateName eoName@ExamOccurrenceName: Interne Terminbezeichnung #{eoName} kommt mehrfach vor
|
||||||
ExamOccurrenceRoomIsUnset: —
|
ExamOccurrenceRoomIsUnset !ident-ok: —
|
||||||
ExamOccurrenceRoomIsHidden: Raum wird nur Teilnehmer:innen angezeigt
|
ExamOccurrenceRoomIsHidden: Raum wird nur Teilnehmer:innen angezeigt
|
||||||
ExamOccurrenceCannotBeDeletedDueToRegistrations eoName@ExamOccurrenceName: Termin #{eoName} kann nicht gelöscht werden, da noch Teilnehmer:innen diesem Termin zugewiesen sind. Über die Liste von Prüfungsteilnehmern können Sie zunächst die entsprechenden Terminzuweisungen entfernen.
|
ExamOccurrenceCannotBeDeletedDueToRegistrations eoName@ExamOccurrenceName: Termin #{eoName} kann nicht gelöscht werden, da noch Teilnehmer:innen diesem Termin zugewiesen sind. Über die Liste von Prüfungsteilnehmern können Sie zunächst die entsprechenden Terminzuweisungen entfernen.
|
||||||
ExamRegistrationMustFollowSchoolSeparationFromStart dayCount@Int: Nach Regeln des Instituts #{pluralDE dayCount "muss" "müssen"} zwischen "Anmeldung ab" und "Beginn" mindestens #{dayCount} #{pluralDE dayCount "Tag" "Tage"} liegen.
|
ExamRegistrationMustFollowSchoolSeparationFromStart dayCount@Int: Nach Regeln des Instituts #{pluralDE dayCount "muss" "müssen"} zwischen "Anmeldung ab" und "Beginn" mindestens #{dayCount} #{pluralDE dayCount "Tag" "Tage"} liegen.
|
||||||
@ -183,8 +183,8 @@ ExamUsersResultSet count@Int64: Prüfungsergebnis für #{show count} #{pluralDE
|
|||||||
ExamUsersHeading: Prüfungsteilnehmer:innen
|
ExamUsersHeading: Prüfungsteilnehmer:innen
|
||||||
ExamCorrectHeadDate: Zeit
|
ExamCorrectHeadDate: Zeit
|
||||||
ExamCorrectHeadParticipant: Teilnehmer:in
|
ExamCorrectHeadParticipant: Teilnehmer:in
|
||||||
ExamCorrectHeadPart exampartnum@ExamPartNumber: #{exampartnum}
|
ExamCorrectHeadPart exampartnum@ExamPartNumber !ident-ok: #{exampartnum}
|
||||||
ExamCorrectHeadStatus: Status
|
ExamCorrectHeadStatus !ident-ok: Status
|
||||||
ExamCorrectUserCandidatesMore: und weitere
|
ExamCorrectUserCandidatesMore: und weitere
|
||||||
ExamCorrectExamResultDelete: Prüfungsergebnis löschen
|
ExamCorrectExamResultDelete: Prüfungsergebnis löschen
|
||||||
ExamCorrectExamResultNone: Keine Änderung
|
ExamCorrectExamResultNone: Keine Änderung
|
||||||
@ -199,7 +199,7 @@ ExamCloseHeading: Prüfung abschließen
|
|||||||
ExamAutoOccurrenceHeading: Automatische Raum-/Terminverteilung
|
ExamAutoOccurrenceHeading: Automatische Raum-/Terminverteilung
|
||||||
|
|
||||||
#templates /exam-show
|
#templates /exam-show
|
||||||
ExamShowOnline: Online/Offline
|
ExamShowOnline !ident-ok: Online/Offline
|
||||||
ExamShowSynchronicity: Synchron/Asynchron
|
ExamShowSynchronicity: Synchron/Asynchron
|
||||||
ExamNever: Nie
|
ExamNever: Nie
|
||||||
ExamShowAids: Erlaubte Hilfsmittel
|
ExamShowAids: Erlaubte Hilfsmittel
|
||||||
@ -211,7 +211,7 @@ ExamBonusRule: Prüfungsbonus aus Übungsbetrieb
|
|||||||
ExamOccurrenceRule: Verfahren
|
ExamOccurrenceRule: Verfahren
|
||||||
ExamOccurrenceRuleParticipant: Termin- bzw. Raumzuteilungsverfahren
|
ExamOccurrenceRuleParticipant: Termin- bzw. Raumzuteilungsverfahren
|
||||||
ExamRegisteredCount: Anmeldungen
|
ExamRegisteredCount: Anmeldungen
|
||||||
ExamRegisteredCountOf num@Int64 count@Int64: #{num}/#{count}
|
ExamRegisteredCountOf num@Int64 count@Int64 !ident-ok: #{num}/#{count}
|
||||||
ExamOccurrences: Termine
|
ExamOccurrences: Termine
|
||||||
GradingFrom: Ab
|
GradingFrom: Ab
|
||||||
ExamNoShow: Nicht erschienen
|
ExamNoShow: Nicht erschienen
|
||||||
@ -247,7 +247,7 @@ PointsMustBeMonotonic: Punktegrenzen müssen aufsteigend sein
|
|||||||
ExamModeFormNone: Keine Angabe
|
ExamModeFormNone: Keine Angabe
|
||||||
ExamModeFormCustom: Benutzerdefiniert
|
ExamModeFormCustom: Benutzerdefiniert
|
||||||
ExamModeFormAids: Erlaubte Hilfsmittel
|
ExamModeFormAids: Erlaubte Hilfsmittel
|
||||||
ExamModeFormOnline: Online/Offline
|
ExamModeFormOnline !ident-ok: Online/Offline
|
||||||
ExamModeFormSynchronicity: Synchron/Asynchron
|
ExamModeFormSynchronicity: Synchron/Asynchron
|
||||||
ExamModeFormRequiredEquipment: Erforderliche Hilfsmittel
|
ExamModeFormRequiredEquipment: Erforderliche Hilfsmittel
|
||||||
ExamModeFormRequiredEquipmentIdentificationTip: Es wird stets ein Hinweis angezeigt, dass Teilnehmer sich ausweisen können müssen.
|
ExamModeFormRequiredEquipmentIdentificationTip: Es wird stets ein Hinweis angezeigt, dass Teilnehmer sich ausweisen können müssen.
|
||||||
@ -271,8 +271,8 @@ ExamRegistrationRegisteredWithoutField n@Int: #{n} #{pluralDE n "Teilnehmer:in w
|
|||||||
ExamRegistrationParticipantsRegistered n@Int: #{n} #{pluralDE n "Teilnehmer:in wurde" "Teilnehmer:innen wurden"} zur Prüfung angemeldet
|
ExamRegistrationParticipantsRegistered n@Int: #{n} #{pluralDE n "Teilnehmer:in wurde" "Teilnehmer:innen wurden"} zur Prüfung angemeldet
|
||||||
ExamOpenBook: Open Book
|
ExamOpenBook: Open Book
|
||||||
ExamClosedBook: Closed Book
|
ExamClosedBook: Closed Book
|
||||||
ExamOnline: Online
|
ExamOnline !ident-ok: Online
|
||||||
ExamOffline: Offline
|
ExamOffline !ident-ok: Offline
|
||||||
ExamSynchronous: Synchron
|
ExamSynchronous: Synchron
|
||||||
ExamAsynchronous: Asynchron
|
ExamAsynchronous: Asynchron
|
||||||
ExamRequiredEquipmentNone: Nichts
|
ExamRequiredEquipmentNone: Nichts
|
||||||
|
|||||||
@ -43,7 +43,7 @@ ExamFinishedSince time@Text: Prüfungsergebnisse sichtbar seit #{time}
|
|||||||
|
|
||||||
|
|
||||||
#templates exam-office/*
|
#templates exam-office/*
|
||||||
ExamUserSyncOfficeName: Name
|
ExamUserSyncOfficeName !ident-ok: Name
|
||||||
ExamUserSyncTime: Zeitpunkt
|
ExamUserSyncTime: Zeitpunkt
|
||||||
ExamUserSyncSchools: Institute
|
ExamUserSyncSchools: Institute
|
||||||
ExamUserSyncLastChange: Zuletzt geändert
|
ExamUserSyncLastChange: Zuletzt geändert
|
||||||
|
|||||||
@ -14,7 +14,7 @@ ExternalExamCorrectErrorNoMatchingUsers: Dem Identifikator konnte kein Studieren
|
|||||||
ExternalExamEdited coursen@CourseName examn@ExamName: Prüfung „#{examn}“ für Kurs „#{coursen}“ erfolgreich bearbeitet.
|
ExternalExamEdited coursen@CourseName examn@ExamName: Prüfung „#{examn}“ für Kurs „#{coursen}“ erfolgreich bearbeitet.
|
||||||
ExternalExamExists coursen@CourseName examn@ExamName: Prüfung „#{examn}“ für Kurs „#{coursen}“ existiert bereits.
|
ExternalExamExists coursen@CourseName examn@ExamName: Prüfung „#{examn}“ für Kurs „#{coursen}“ existiert bereits.
|
||||||
ExternalExamEdit coursen@CourseName examn@ExamName: Bearbeiten: #{coursen}, #{examn}
|
ExternalExamEdit coursen@CourseName examn@ExamName: Bearbeiten: #{coursen}, #{examn}
|
||||||
ExternalExamSemester: Semester
|
ExternalExamSemester !ident-ok: Semester
|
||||||
ExternalExamSchool: Institut
|
ExternalExamSchool: Institut
|
||||||
ExternalExamCourseName: Veranstaltung
|
ExternalExamCourseName: Veranstaltung
|
||||||
ExternalExamCourseNameTip: Muss nur innerhalb von Semester und Institut eindeutig sein.
|
ExternalExamCourseNameTip: Muss nur innerhalb von Semester und Institut eindeutig sein.
|
||||||
@ -55,15 +55,15 @@ ExternalExamUserMarkSynchronisedCsvTip: Sollen beim CSV-Export automatisch alle
|
|||||||
ExternalExamUserCsvName tid@TermId ssh@SchoolId coursen@CourseName examn@ExamName: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase coursen}-#{foldedCase examn}-teilnehmer
|
ExternalExamUserCsvName tid@TermId ssh@SchoolId coursen@CourseName examn@ExamName: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase coursen}-#{foldedCase examn}-teilnehmer
|
||||||
ExternalExamUserSynchronised: Synchronisiert
|
ExternalExamUserSynchronised: Synchronisiert
|
||||||
ExternalExamAction: Aktion
|
ExternalExamAction: Aktion
|
||||||
ExampleUser1FirstName: Max ZweiterName
|
ExampleUser1FirstName !ident-ok: Max ZweiterName
|
||||||
ExampleUser1Surname: Mustermann
|
ExampleUser1Surname !ident-ok: Mustermann
|
||||||
ExampleUser1DisplayName: Max Mustermann
|
ExampleUser1DisplayName !ident-ok: Max Mustermann
|
||||||
ExampleUser2FirstName: Martha
|
ExampleUser2FirstName !ident-ok: Martha
|
||||||
ExampleUser2Surname: Musterstudent
|
ExampleUser2Surname !ident-ok: Musterstudent
|
||||||
ExampleUser2DisplayName: Musterstudent Martha
|
ExampleUser2DisplayName !ident-ok: Musterstudent Martha
|
||||||
ExampleUser3FirstName: Maria
|
ExampleUser3FirstName !ident-ok: Maria
|
||||||
ExampleUser3Surname: Beispiel
|
ExampleUser3Surname !ident-ok: Beispiel
|
||||||
ExampleUser3DisplayName: Beispiel
|
ExampleUser3DisplayName !ident-ok: Beispiel
|
||||||
|
|
||||||
ExternalExamUserCsvSheetName tid@TermId ssh@SchoolId coursen@CourseName examn@ExamName: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase coursen}-#{foldedCase examn} Teilnehmer
|
ExternalExamUserCsvSheetName tid@TermId ssh@SchoolId coursen@CourseName examn@ExamName: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase coursen}-#{foldedCase examn} Teilnehmer
|
||||||
ExternalExamUserMarkSynchronised: Prüfungsleistung als synchronisiert markieren
|
ExternalExamUserMarkSynchronised: Prüfungsleistung als synchronisiert markieren
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
MaterialList: Material
|
MaterialList !ident-ok: Material
|
||||||
MaterialName: Name
|
MaterialName !ident-ok: Name
|
||||||
MaterialType: Art
|
MaterialType: Art
|
||||||
MaterialTypePlaceholder: Folien, Code, Beispiel, ...
|
MaterialTypePlaceholder: Folien, Code, Beispiel, ...
|
||||||
MaterialTypeSlides: Folien
|
MaterialTypeSlides: Folien
|
||||||
MaterialTypeCode: Code
|
MaterialTypeCode !ident-ok: Code
|
||||||
MaterialTypeExample: Beispiel
|
MaterialTypeExample: Beispiel
|
||||||
MaterialDescription: Beschreibung
|
MaterialDescription: Beschreibung
|
||||||
MaterialVisibleFrom: Sichtbar für Teilnehmer:innen ab
|
MaterialVisibleFrom: Sichtbar für Teilnehmer:innen ab
|
||||||
@ -11,8 +11,8 @@ MaterialVisibleFromTip: Ohne Datum nie sichtbar für Teilnehmer:innen; leer lass
|
|||||||
MaterialVisibleFromEditWarning: Das Datum der Veröffentlichung liegt in der Vergangenheit und sollte nicht mehr verändert werden, da dies die Benutzer:innen verwirren könnte.
|
MaterialVisibleFromEditWarning: Das Datum der Veröffentlichung liegt in der Vergangenheit und sollte nicht mehr verändert werden, da dies die Benutzer:innen verwirren könnte.
|
||||||
MaterialInvisible: Dieses Material ist für Teilnehmer:innen momentan unsichtbar!
|
MaterialInvisible: Dieses Material ist für Teilnehmer:innen momentan unsichtbar!
|
||||||
MaterialFiles: Dateien
|
MaterialFiles: Dateien
|
||||||
MaterialHeading materialName@MaterialName: #{materialName}
|
MaterialHeading materialName@MaterialName !ident-ok: #{materialName}
|
||||||
MaterialListHeading: Materialien
|
MaterialListHeading !ident-ok: Material
|
||||||
MaterialNewHeading: Neues Material veröffentlichen
|
MaterialNewHeading: Neues Material veröffentlichen
|
||||||
MaterialNewTitle: Neues Material
|
MaterialNewTitle: Neues Material
|
||||||
MaterialEditHeading materialName@MaterialName: Material "#{materialName}" editieren
|
MaterialEditHeading materialName@MaterialName: Material "#{materialName}" editieren
|
||||||
@ -23,8 +23,8 @@ MaterialDeleteCaption: Wollen Sie das unten aufgeführte Material wirklich lösc
|
|||||||
MaterialDelHasFiles count@Int64: inklusive #{count} #{pluralDE count "Datei" "Dateien"}
|
MaterialDelHasFiles count@Int64: inklusive #{count} #{pluralDE count "Datei" "Dateien"}
|
||||||
MaterialIsVisible: Achtung, dieses Material wurde bereits veröffentlicht.
|
MaterialIsVisible: Achtung, dieses Material wurde bereits veröffentlicht.
|
||||||
MaterialDeleted materialName@MaterialName: Material "#{materialName}" gelöscht
|
MaterialDeleted materialName@MaterialName: Material "#{materialName}" gelöscht
|
||||||
MaterialArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand materialName@MaterialName: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase materialName}
|
MaterialArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand materialName@MaterialName !ident-ok: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase materialName}
|
||||||
MaterialVideo materialName@MaterialName: #{materialName} - Video
|
MaterialVideo materialName@MaterialName !ident-ok: #{materialName} - Video
|
||||||
MaterialVideoUnsupported: Ihr Browser scheint keine eingebetten Videos zu unterstützen
|
MaterialVideoUnsupported: Ihr Browser scheint keine eingebetten Videos zu unterstützen
|
||||||
MaterialVideoDownload: Herunterladen
|
MaterialVideoDownload: Herunterladen
|
||||||
MaterialFree: Kursmaterialien ohne Anmeldung zugänglich
|
MaterialFree: Kursmaterialien ohne Anmeldung zugänglich
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
ParticipantsList: Kursteilnehmerlisten
|
ParticipantsList: Kursteilnehmerlisten
|
||||||
ParticipantsIntersect: Überschneidung von Kursteilnehmer:innen
|
ParticipantsIntersect: Überschneidung von Kursteilnehmer:innen
|
||||||
ParticipantsCsvName tid@TermId ssh@SchoolId: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-kursteilnehmer:innen
|
ParticipantsCsvName tid@TermId ssh@SchoolId: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-kursteilnehmer:innen
|
||||||
ParticipantsIntersectCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen}
|
ParticipantsIntersectCourseOption tid@TermId ssh@SchoolId coursen@CourseName !ident-ok: #{tid} - #{ssh} - #{coursen}
|
||||||
ParticipantsIntersectCourses: Kurse
|
ParticipantsIntersectCourses: Kurse
|
||||||
CourseParticipantsRegisteredWithoutField n@Int: #{n} #{pluralDE n "Teilnehmeri:in wurde ohne assoziiertes Studienfach" "Teilnehmer:innen wurden ohne assoziierte Studienfächer"} angemeldet, da #{pluralDE n "kein eindeutiges Hauptfach bestimmt werden konnte" "keine eindeutigen Hauptfächer bestimmt werden konnten"}
|
CourseParticipantsRegisteredWithoutField n@Int: #{n} #{pluralDE n "Teilnehmeri:in wurde ohne assoziiertes Studienfach" "Teilnehmer:innen wurden ohne assoziierte Studienfächer"} angemeldet, da #{pluralDE n "kein eindeutiges Hauptfach bestimmt werden konnte" "keine eindeutigen Hauptfächer bestimmt werden konnten"}
|
||||||
ParticipantsCsvSheetName tid@TermId ssh@SchoolId: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)} Kursteilnehmer:innen
|
ParticipantsCsvSheetName tid@TermId ssh@SchoolId: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)} Kursteilnehmer:innen
|
||||||
|
|||||||
@ -7,8 +7,8 @@ SheetNoOldUnassigned: Alle Abgaben inaktiver Blätter sind bereits einem Korrekt
|
|||||||
SheetDelHasSubmissions objs@Int: Inkl. #{objs} #{pluralDE objs "Abgabe" "Abgaben"}!
|
SheetDelHasSubmissions objs@Int: Inkl. #{objs} #{pluralDE objs "Abgabe" "Abgaben"}!
|
||||||
SheetDeleteQuestion: Wollen Sie das unten aufgeführte Übungsblatt und alle zugehörigen Abgaben wirklich löschen?
|
SheetDeleteQuestion: Wollen Sie das unten aufgeführte Übungsblatt und alle zugehörigen Abgaben wirklich löschen?
|
||||||
SheetDeleted: Übungsblatt gelöscht
|
SheetDeleted: Übungsblatt gelöscht
|
||||||
SheetArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand shn@SheetName: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase shn}
|
SheetArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand shn@SheetName !ident-ok: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase shn}
|
||||||
SheetTypeArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand shn@SheetName renderedSft@Text: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase shn}-#{foldCase renderedSft}
|
SheetTypeArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand shn@SheetName renderedSft@Text !ident-ok: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase shn}-#{foldCase renderedSft}
|
||||||
SheetEditOk tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: Übungsblatt #{sheetName} wurde gespeichert in Kurs #{tid}-#{ssh}-#{csh}
|
SheetEditOk tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: Übungsblatt #{sheetName} wurde gespeichert in Kurs #{tid}-#{ssh}-#{csh}
|
||||||
SheetNameDup tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: Es gibt bereits ein Übungsblatt #{sheetName} in diesem Kurs #{tid}-#{ssh}-#{csh}
|
SheetNameDup tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: Es gibt bereits ein Übungsblatt #{sheetName} in diesem Kurs #{tid}-#{ssh}-#{csh}
|
||||||
SheetVisibleFrom: Sichtbar für Teilnehmer:innen ab
|
SheetVisibleFrom: Sichtbar für Teilnehmer:innen ab
|
||||||
@ -17,7 +17,7 @@ SheetActiveFrom: Aktiv ab/Beginn Abgabezeitraum
|
|||||||
SheetActiveTo: Aktiv bis/Ende Abgabezeitraum
|
SheetActiveTo: Aktiv bis/Ende Abgabezeitraum
|
||||||
SheetSolutionFrom: Lösung ab
|
SheetSolutionFrom: Lösung ab
|
||||||
SheetSolutionFromTip: Ohne Datum nie für Teilnehmer:innen sichtbar, Korrektor:innen können diese Dateien immer herunterladen
|
SheetSolutionFromTip: Ohne Datum nie für Teilnehmer:innen sichtbar, Korrektor:innen können diese Dateien immer herunterladen
|
||||||
SheetName: Name
|
SheetName !ident-ok: Name
|
||||||
SheetDescription: Hinweise für Teilnehmer:innen
|
SheetDescription: Hinweise für Teilnehmer:innen
|
||||||
SheetRequireExam: Anmeldung zu einer Prüfung voraussetzen?
|
SheetRequireExam: Anmeldung zu einer Prüfung voraussetzen?
|
||||||
SheetRequireExamTip: Wenn die Anmeldung zu einer Prüfung vorausgesetzt wird, können nur Kursteilnehmer:innen abgeben, die zum Zeitpunkt der Abgabe auch zur gewählten Prüfung angemeldet sind. Auch der Download von Übungsblatt-Dateien wird nur zur Prüfung angemeldeten Kursteilnehmer:innen erlaubt.
|
SheetRequireExamTip: Wenn die Anmeldung zu einer Prüfung vorausgesetzt wird, können nur Kursteilnehmer:innen abgeben, die zum Zeitpunkt der Abgabe auch zur gewählten Prüfung angemeldet sind. Auch der Download von Übungsblatt-Dateien wird nur zur Prüfung angemeldeten Kursteilnehmer:innen erlaubt.
|
||||||
@ -142,7 +142,7 @@ PersonalisedSheetFilesDownloadSurnames: Mit Nachnamen
|
|||||||
PersonalisedSheetFilesDownloadMatriculations: Mit Matrikelnummern
|
PersonalisedSheetFilesDownloadMatriculations: Mit Matrikelnummern
|
||||||
PersonalisedSheetFilesDownloadGroups: Mit festen Abgabegruppen
|
PersonalisedSheetFilesDownloadGroups: Mit festen Abgabegruppen
|
||||||
|
|
||||||
SheetCorrectorNormal: Normal
|
SheetCorrectorNormal !ident-ok: Normal
|
||||||
SheetCorrectorMissing: Abwesend
|
SheetCorrectorMissing: Abwesend
|
||||||
SheetCorrectorExcused: Entschuldigt
|
SheetCorrectorExcused: Entschuldigt
|
||||||
SheetGradingPoints maxPoints@Points: #{maxPoints} #{pluralDE maxPoints "Punkt" "Punkte"}
|
SheetGradingPoints maxPoints@Points: #{maxPoints} #{pluralDE maxPoints "Punkt" "Punkte"}
|
||||||
|
|||||||
@ -24,7 +24,7 @@ SubmissionCorrectionHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetNa
|
|||||||
CorrectionPseudonyms: Abgaben-Pseudonyme
|
CorrectionPseudonyms: Abgaben-Pseudonyme
|
||||||
CorrectionPseudonymsTip: Eine Abgabe pro Zeile, bei Gruppenabgaben mehrere Pseudonyme (komma-separiert) innerhalb einer Zeile. Kleine Schreibfehler werden u.U. automatisch korrigiert.
|
CorrectionPseudonymsTip: Eine Abgabe pro Zeile, bei Gruppenabgaben mehrere Pseudonyme (komma-separiert) innerhalb einer Zeile. Kleine Schreibfehler werden u.U. automatisch korrigiert.
|
||||||
PseudonymSheet: Übungsblatt
|
PseudonymSheet: Übungsblatt
|
||||||
CorrectionPseudonymSheet termDesc@Text csh@CourseShorthand shn@SheetName: #{termDesc} » #{csh} » #{shn}
|
CorrectionPseudonymSheet termDesc@Text csh@CourseShorthand shn@SheetName !ident-ok: #{termDesc} » #{csh} » #{shn}
|
||||||
SubmissionPseudonyms: Pseudonyme
|
SubmissionPseudonyms: Pseudonyme
|
||||||
UnknownPseudonym pseudonym@Text: Unbekanntes Pseudonym "#{pseudonym}"
|
UnknownPseudonym pseudonym@Text: Unbekanntes Pseudonym "#{pseudonym}"
|
||||||
SheetGroupTooLarge sheetGroupDesc@Text: Abgabegruppe zu groß: #{sheetGroupDesc}
|
SheetGroupTooLarge sheetGroupDesc@Text: Abgabegruppe zu groß: #{sheetGroupDesc}
|
||||||
@ -34,7 +34,7 @@ SheetNoGroupSubmission sheetGroupDesc@Text: Gruppenabgabe ist für dieses Blatt
|
|||||||
SheetDuplicatePseudonym: Folgende Pseudonyme kamen mehrfach vor; alle Vorkommen außer dem Ersten wurden ignoriert:
|
SheetDuplicatePseudonym: Folgende Pseudonyme kamen mehrfach vor; alle Vorkommen außer dem Ersten wurden ignoriert:
|
||||||
SheetCreateExisting: Folgende Pseudonyme haben bereits abgegeben:
|
SheetCreateExisting: Folgende Pseudonyme haben bereits abgegeben:
|
||||||
SubmissionCorrCreate: Abgaben registrieren
|
SubmissionCorrCreate: Abgaben registrieren
|
||||||
SubmissionTypeArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand shn@SheetName subId@CryptoFileNameSubmission renderedSfType@Text: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase shn}-#{foldCase (toPathPiece subId)}-#{foldCase renderedSfType}
|
SubmissionTypeArchiveName tid@TermId ssh@SchoolId csh@CourseShorthand shn@SheetName subId@CryptoFileNameSubmission renderedSfType@Text !ident-ok: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase shn}-#{foldCase (toPathPiece subId)}-#{foldCase renderedSfType}
|
||||||
NoOpenSubmissions: Keine unkorrigierten Abgaben vorhanden
|
NoOpenSubmissions: Keine unkorrigierten Abgaben vorhanden
|
||||||
ColumnRatingPoints: Punktzahl
|
ColumnRatingPoints: Punktzahl
|
||||||
RatingComment: Kommentar
|
RatingComment: Kommentar
|
||||||
@ -98,7 +98,7 @@ SubmissionSheetMarking: Hinweise für Korrektor:innen
|
|||||||
SubmissionGradingSummaryTitle intgr@Integer: #{intgr} #{pluralDE intgr "Abgabe" "Abgaben"}
|
SubmissionGradingSummaryTitle intgr@Integer: #{intgr} #{pluralDE intgr "Abgabe" "Abgaben"}
|
||||||
SubmissionNoUploadExpected: Es ist keine Abgabe von Dateien vorgesehen.
|
SubmissionNoUploadExpected: Es ist keine Abgabe von Dateien vorgesehen.
|
||||||
SubmissionFilesCorrected: Abgegebene & Korrigierte Dateien
|
SubmissionFilesCorrected: Abgegebene & Korrigierte Dateien
|
||||||
SubmissionOriginal: Original
|
SubmissionOriginal !ident-ok: Original
|
||||||
EditedBy name@Text time@Text: #{time} durch #{name}
|
EditedBy name@Text time@Text: #{time} durch #{name}
|
||||||
SubmissionReplace: Abgabe ersetzen
|
SubmissionReplace: Abgabe ersetzen
|
||||||
|
|
||||||
@ -135,10 +135,10 @@ SubmissionDeleteCosubmittorsWarning n@Int: Bei #{pluralDE n "der oben aufgeführ
|
|||||||
GenericShort: Kürzel
|
GenericShort: Kürzel
|
||||||
GenericBack: Zurück
|
GenericBack: Zurück
|
||||||
GenericChange: Änderung
|
GenericChange: Änderung
|
||||||
GenericNumChange: +/-
|
GenericNumChange !ident-ok: +/-
|
||||||
GenericMin: Min
|
GenericMin !ident-ok: Min
|
||||||
GenericAvg: Avg
|
GenericAvg !ident-ok: Avg
|
||||||
GenericMax: Max
|
GenericMax !ident-ok: Max
|
||||||
GenericAll: Insgesamt
|
GenericAll: Insgesamt
|
||||||
SubmissionFilesUnchanged: Abgabedateien beibehalten
|
SubmissionFilesUnchanged: Abgabedateien beibehalten
|
||||||
SubmissionFilesUnchangedTip: Sollen die bestehenden Abgabedateien beim Ersetzen der Abgabe unverändert übernommen werden?
|
SubmissionFilesUnchangedTip: Sollen die bestehenden Abgabedateien beim Ersetzen der Abgabe unverändert übernommen werden?
|
||||||
|
|||||||
@ -10,7 +10,7 @@ HelpSubject: Betreff
|
|||||||
HelpRequest: Supportanfrage/Verbesserungsvorschlag
|
HelpRequest: Supportanfrage/Verbesserungsvorschlag
|
||||||
HelpSent: Ihre Supportanfrage wurde weitergeleitet.
|
HelpSent: Ihre Supportanfrage wurde weitergeleitet.
|
||||||
AdditionalFaqs: Weitere häufig gestellte Fragen
|
AdditionalFaqs: Weitere häufig gestellte Fragen
|
||||||
HelpName: Name
|
HelpName !ident-ok: Name
|
||||||
HelpTitle : Hilfe
|
HelpTitle : Hilfe
|
||||||
HelpSendLastError: Letzte Fehlermeldung anhängen
|
HelpSendLastError: Letzte Fehlermeldung anhängen
|
||||||
HelpError: Letzte Fehlermeldung
|
HelpError: Letzte Fehlermeldung
|
||||||
|
|||||||
@ -2,7 +2,7 @@ MailTestSubject: Uni2work Test-E-Mail
|
|||||||
MailTestContent: Dies ist eine Test-E-Mail versandt von Uni2work. Von Ihrer Seite ist keine Handlung notwendig.
|
MailTestContent: Dies ist eine Test-E-Mail versandt von Uni2work. Von Ihrer Seite ist keine Handlung notwendig.
|
||||||
MailTestDateTime: Test der Datumsformattierung:
|
MailTestDateTime: Test der Datumsformattierung:
|
||||||
MailSubjectSupport: Supportanfrage
|
MailSubjectSupport: Supportanfrage
|
||||||
MailSubjectSupportCustom customSubject@Text: [Support] #{customSubject}
|
MailSubjectSupportCustom customSubject@Text !ident-ok: [Support] #{customSubject}
|
||||||
MailSubjectPasswordReset: Uni2work-Passwort ändern bzw. setzen
|
MailSubjectPasswordReset: Uni2work-Passwort ändern bzw. setzen
|
||||||
CommUndisclosedRecipients: Verborgene Empfänger:innen
|
CommUndisclosedRecipients: Verborgene Empfänger:innen
|
||||||
CommAllRecipients: alle-empfaenger
|
CommAllRecipients: alle-empfaenger
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
TitleMetrics: Metriken
|
TitleMetrics: Metriken
|
||||||
MetricNoSamples: Keine Messwerte
|
MetricNoSamples: Keine Messwerte
|
||||||
MetricName: Name
|
MetricName !ident-ok: Name
|
||||||
MetricValue: Wert
|
MetricValue: Wert
|
||||||
|
|||||||
@ -1,13 +1,16 @@
|
|||||||
ChangelogItemFeature: Feature
|
ChangelogItemFeature !ident-ok: Feature
|
||||||
ChangelogItemBugfix: Bugfix
|
ChangelogItemBugfix !ident-ok: Bugfix
|
||||||
SexNotKnown: Unknown
|
|
||||||
SexMale: Male
|
SexNotKnown: Unbekannt
|
||||||
SexFemale: Female
|
SexMale: Männlich
|
||||||
SexNotApplicable: Not applicable
|
SexFemale: Weiblich
|
||||||
NoSubmissions: No submission
|
SexNotApplicable: Keine Angabe
|
||||||
CorrectorSubmissions: External submission via pseudonym
|
|
||||||
UserSubmissions: Direct submission in Uni2work
|
NoSubmissions: Keine Abgabe
|
||||||
SystemExamOffice: Exam office
|
CorrectorSubmissions: Abgabe extern mit Pseudonym
|
||||||
SystemFaculty: Faculty member
|
UserSubmissions: Direkte Abgabe in Uni2work
|
||||||
SystemStudent: Student
|
BothSubmissions: Abgabe direkt in Uni2work oder extern mit Pseudonym
|
||||||
BothSubmissions: Submission either directly in Uni2work or externally via pseudonym
|
|
||||||
|
SystemExamOffice: Prüfungsverwaltung
|
||||||
|
SystemFaculty: Fakultätsmitglied
|
||||||
|
SystemStudent: Student:in
|
||||||
|
|||||||
@ -1,13 +1,16 @@
|
|||||||
ChangelogItemFeature: Feature
|
ChangelogItemFeature: Feature
|
||||||
ChangelogItemBugfix: Bugfix
|
ChangelogItemBugfix: Bugfix
|
||||||
|
|
||||||
SexNotKnown: Unknown
|
SexNotKnown: Unknown
|
||||||
SexMale: Male
|
SexMale: Male
|
||||||
SexFemale: Female
|
SexFemale: Female
|
||||||
SexNotApplicable: Not applicable
|
SexNotApplicable: Not applicable
|
||||||
|
|
||||||
NoSubmissions: No submission
|
NoSubmissions: No submission
|
||||||
CorrectorSubmissions: External submission via pseudonym
|
CorrectorSubmissions: External submission via pseudonym
|
||||||
UserSubmissions: Direct submission in Uni2work
|
UserSubmissions: Direct submission in Uni2work
|
||||||
|
BothSubmissions: Submission either directly in Uni2work or externally via pseudonym
|
||||||
|
|
||||||
SystemExamOffice: Exam office
|
SystemExamOffice: Exam office
|
||||||
SystemFaculty: Faculty member
|
SystemFaculty: Faculty member
|
||||||
SystemStudent: Student
|
SystemStudent: Student
|
||||||
BothSubmissions: Submission either directly in Uni2work or externally via pseudonym
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ NewsUpcomingSheets: Anstehende Übungsblätter
|
|||||||
NewsUpcomingExams: Bevorstehende Prüfungen
|
NewsUpcomingExams: Bevorstehende Prüfungen
|
||||||
NewsHideHiddenSystemMessages: Versteckte Nachrichten nicht mehr anzeigen
|
NewsHideHiddenSystemMessages: Versteckte Nachrichten nicht mehr anzeigen
|
||||||
NewsShowHiddenSystemMessages: Versteckte Nachrichten anzeigen
|
NewsShowHiddenSystemMessages: Versteckte Nachrichten anzeigen
|
||||||
NewsExamOccurrenceRoomIsUnset: —
|
NewsExamOccurrenceRoomIsUnset !ident-ok: —
|
||||||
NewsExamOccurrenceRoomIsHidden: Raum wird nur Teilnehmer:innen angezeigt
|
NewsExamOccurrenceRoomIsHidden: Raum wird nur Teilnehmer:innen angezeigt
|
||||||
NewsExamRegistered: Zur Prüfung angemeldet
|
NewsExamRegistered: Zur Prüfung angemeldet
|
||||||
NewsExamNotRegistered: Nicht zur Prüfung angemeldet
|
NewsExamNotRegistered: Nicht zur Prüfung angemeldet
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
HeadingSchoolList: Institute
|
HeadingSchoolList: Institute
|
||||||
SchoolShort: Kürzel
|
SchoolShort: Kürzel
|
||||||
SchoolName: Name
|
SchoolName !ident-ok: Name
|
||||||
SchoolLdapOrganisations: Assoziierte LDAP-Fragmente
|
SchoolLdapOrganisations: Assoziierte LDAP-Fragmente
|
||||||
SchoolLdapOrganisationsTip: Beim Login via LDAP werden dem Nutzer/der Nutzerin alle Institute zugeordnet deren assoziierte LDAP-Fragmente im Eintrag des Nutzer/der Nutzerin gefunden werden
|
SchoolLdapOrganisationsTip: Beim Login via LDAP werden dem Nutzer/der Nutzerin alle Institute zugeordnet deren assoziierte LDAP-Fragmente im Eintrag des Nutzer/der Nutzerin gefunden werden
|
||||||
SchoolLdapOrganisationMissing: LDAP-Fragment wird benötigt
|
SchoolLdapOrganisationMissing: LDAP-Fragment wird benötigt
|
||||||
@ -21,4 +21,4 @@ SchoolLecturer: Dozent:in
|
|||||||
SchoolEvaluation: Kursumfragenverwaltung
|
SchoolEvaluation: Kursumfragenverwaltung
|
||||||
SchoolExamOffice: Prüfungsverwaltung
|
SchoolExamOffice: Prüfungsverwaltung
|
||||||
SchoolAllocation: Zentralanmeldungs-Administration
|
SchoolAllocation: Zentralanmeldungs-Administration
|
||||||
SchoolAdmin: Admin
|
SchoolAdmin !ident-ok: Admin
|
||||||
@ -14,7 +14,7 @@ SchoolExamDiscouragedModes: Exam designs to warn against
|
|||||||
ExamCloseMode: Exam closure
|
ExamCloseMode: Exam closure
|
||||||
SchoolUpdated ssh: Successfully edited #{ssh}
|
SchoolUpdated ssh: Successfully edited #{ssh}
|
||||||
SchoolTitle ssh: Department „#{ssh}“
|
SchoolTitle ssh: Department „#{ssh}“
|
||||||
TitleSchoolNew: Neues Institut anlegen
|
TitleSchoolNew: Create new department
|
||||||
SchoolCreated ssh: Successfully created #{ssh}
|
SchoolCreated ssh: Successfully created #{ssh}
|
||||||
SchoolExists ssh: A department named „#{ssh}“ already exists
|
SchoolExists ssh: A department named „#{ssh}“ already exists
|
||||||
SchoolAdmin: Admin
|
SchoolAdmin: Admin
|
||||||
|
|||||||
@ -8,12 +8,12 @@ CsvPresetExcel: Excel-Kompatibel
|
|||||||
CsvCustom: Benutzerdefiniert
|
CsvCustom: Benutzerdefiniert
|
||||||
CsvDelimiter: Trennzeichen
|
CsvDelimiter: Trennzeichen
|
||||||
CsvUseCrLf: Zeilenumbrüche
|
CsvUseCrLf: Zeilenumbrüche
|
||||||
CsvQuoting: Quoting
|
CsvQuoting !ident-ok: Quoting
|
||||||
CsvQuotingTip: Wann sollen Anführungszeichen (") um Felder platziert werden, um Interpretation von im Feld enthaltenen Zeichen als Trennzeichen zu verhindern?
|
CsvQuotingTip: Wann sollen Anführungszeichen (") um Felder platziert werden, um Interpretation von im Feld enthaltenen Zeichen als Trennzeichen zu verhindern?
|
||||||
CsvEncoding: Encoding
|
CsvEncoding !ident-ok: Encoding
|
||||||
CsvEncodingTip: CSV-Dateien können in einer anderen Zeichenkodierung als dem vom System standardmäßig verwendeten UTF-8 exportiert werden. Beachten Sie dass es bei nicht-UTF-8 Zeichenkodierungen wmgl. zu Darstellungsproblemen mit Sonderzeichen kommt.
|
CsvEncodingTip: CSV-Dateien können in einer anderen Zeichenkodierung als dem vom System standardmäßig verwendeten UTF-8 exportiert werden. Beachten Sie dass es bei nicht-UTF-8 Zeichenkodierungen wmgl. zu Darstellungsproblemen mit Sonderzeichen kommt.
|
||||||
CsvUTF8: UTF-8 (Unicode)
|
CsvUTF8 !ident-ok: UTF-8 (Unicode)
|
||||||
CsvCP1252: Windows CP-1252 ("ANSI")
|
CsvCP1252 !ident-ok: Windows CP-1252 ("ANSI")
|
||||||
CsvDelimiterNull: Null-Byte
|
CsvDelimiterNull: Null-Byte
|
||||||
CsvDelimiterTab: Tabulator
|
CsvDelimiterTab: Tabulator
|
||||||
CsvDelimiterComma: Komma
|
CsvDelimiterComma: Komma
|
||||||
@ -22,8 +22,8 @@ CsvDelimiterSemicolon: Strichpunkt
|
|||||||
CsvDelimiterBar: Senkrechter Strich
|
CsvDelimiterBar: Senkrechter Strich
|
||||||
CsvDelimiterSpace: Leerzeichen
|
CsvDelimiterSpace: Leerzeichen
|
||||||
CsvDelimiterUnitSep: Teilgruppentrennzeichen
|
CsvDelimiterUnitSep: Teilgruppentrennzeichen
|
||||||
CsvCrLf: DOS (CRLF)
|
CsvCrLf !ident-ok: DOS (CRLF)
|
||||||
CsvLf: Unix (LF)
|
CsvLf !ident-ok: Unix (LF)
|
||||||
CsvQuoteNone: Nie
|
CsvQuoteNone: Nie
|
||||||
CsvQuoteMinimal: Nur wenn nötig
|
CsvQuoteMinimal: Nur wenn nötig
|
||||||
CsvQuoteAll: Immer
|
CsvQuoteAll: Immer
|
||||||
@ -32,4 +32,4 @@ CsvChangeOptionsLabel: Export-Optionen
|
|||||||
CsvPresetXlsx: .xlsx Dateien (ECMA-376; Excel ≥2010)
|
CsvPresetXlsx: .xlsx Dateien (ECMA-376; Excel ≥2010)
|
||||||
CsvFormatField: Dateiformat
|
CsvFormatField: Dateiformat
|
||||||
CsvFormatCsv: .csv (Comma-Separated Values)
|
CsvFormatCsv: .csv (Comma-Separated Values)
|
||||||
CsvFormatXlsx: .xlsx (Office Open XML)
|
CsvFormatXlsx !ident-ok: .xlsx (Office Open XML)
|
||||||
|
|||||||
@ -109,7 +109,7 @@ SubmissionGroupName: Group name
|
|||||||
TitleChangeUserDisplayEmail: Set display email
|
TitleChangeUserDisplayEmail: Set display email
|
||||||
LanguageChanged: Language changed successfully
|
LanguageChanged: Language changed successfully
|
||||||
|
|
||||||
AllocNotifyNewCourseDefault: Systemweite Einstellung
|
AllocNotifyNewCourseDefault: System-wide setting
|
||||||
AllocNotifyNewCourseForceOff: Nein
|
AllocNotifyNewCourseForceOff: No
|
||||||
AllocNotifyNewCourseForceOn: Ja
|
AllocNotifyNewCourseForceOn: Yes
|
||||||
Settings: Settings
|
Settings: Settings
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Ident: Identifikation
|
Ident: Identifikation
|
||||||
AuthModeSet: Authentifizierung
|
AuthModeSet: Authentifizierung
|
||||||
NameSet: Name
|
NameSet !ident-ok: Name
|
||||||
UserCreated: Account erstellt
|
UserCreated: Account erstellt
|
||||||
LastLogin: Letzter Login
|
LastLogin: Letzter Login
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ SystemMessageAuthenticatedOnly: Nur angemeldet
|
|||||||
SystemMessageSeverity: Schwere
|
SystemMessageSeverity: Schwere
|
||||||
SystemMessagePriority: Priorität
|
SystemMessagePriority: Priorität
|
||||||
SystemMessagePriorityNegative: Priorität darf nicht negativ sein
|
SystemMessagePriorityNegative: Priorität darf nicht negativ sein
|
||||||
SystemMessageId: Id
|
SystemMessageId !ident-ok: Id
|
||||||
SystemMessageSummaryContent: Zusammenfassung / Inhalt
|
SystemMessageSummaryContent: Zusammenfassung / Inhalt
|
||||||
SystemMessageSummary: Zusammenfassung
|
SystemMessageSummary: Zusammenfassung
|
||||||
SystemMessageContent: Inhalt
|
SystemMessageContent: Inhalt
|
||||||
|
|||||||
@ -11,7 +11,7 @@ LectureStart: Beginn Vorlesungen
|
|||||||
TermEdited tid@TermId: Semester #{tid} erfolgreich editiert.
|
TermEdited tid@TermId: Semester #{tid} erfolgreich editiert.
|
||||||
TermNewTitle: Semester editieren/anlegen.
|
TermNewTitle: Semester editieren/anlegen.
|
||||||
InvalidInput: Eingaben bitte korrigieren.
|
InvalidInput: Eingaben bitte korrigieren.
|
||||||
Term: Semester
|
Term !ident-ok: Semester
|
||||||
TermPlaceholder: W/S + vierstellige Jahreszahl
|
TermPlaceholder: W/S + vierstellige Jahreszahl
|
||||||
TermStartDay: Erster Tag
|
TermStartDay: Erster Tag
|
||||||
TermStartDayTooltip: Üblicherweise immer 1. April oder 1. Oktober
|
TermStartDayTooltip: Üblicherweise immer 1. April oder 1. Oktober
|
||||||
|
|||||||
@ -18,7 +18,7 @@ LdapSyncedBefore: Letzte LDAP-Synchronisation vor
|
|||||||
UserSystemFunctions: Systemweite Rollen
|
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
|
||||||
AuthPWHash pwHash@Text: Uni2work
|
AuthPWHash pwHash@Text !ident-ok: Uni2work
|
||||||
AuthPWHashAlreadyConfigured: Nutzer:in meldet sich bereits per Uni2work-Kennung an
|
AuthPWHashAlreadyConfigured: Nutzer:in meldet sich bereits per Uni2work-Kennung an
|
||||||
AuthPWHashConfigured: Nutzer:in meldet sich nun per Uni2work-Kennung an
|
AuthPWHashConfigured: Nutzer:in meldet sich nun per Uni2work-Kennung an
|
||||||
UsersCourseSchool: Institut
|
UsersCourseSchool: Institut
|
||||||
@ -32,7 +32,7 @@ AuthLDAPLookupFailed: Nutzer:in konnte aufgrund eines LDAP-Fehlers nicht nachges
|
|||||||
AuthLDAPInvalidLookup: Bestehender Nutzer/Bestehende Nutzerin konnte nicht eindeutig einem LDAP-Eintrag zugeordnet werden
|
AuthLDAPInvalidLookup: Bestehender Nutzer/Bestehende Nutzerin konnte nicht eindeutig einem LDAP-Eintrag zugeordnet werden
|
||||||
AuthLDAPAlreadyConfigured: Nutzer:in meldet sich bereits per Campus-Kennung in Uni2work an
|
AuthLDAPAlreadyConfigured: Nutzer:in meldet sich bereits per Campus-Kennung in Uni2work an
|
||||||
AuthLDAPConfigured: Nutzer:in meldet sich nun per Campus-Kennung in Uni2work an
|
AuthLDAPConfigured: Nutzer:in meldet sich nun per Campus-Kennung in Uni2work an
|
||||||
AuthLDAP: Campus
|
AuthLDAP !ident-ok: LMU-Account
|
||||||
PasswordResetQueued: Link zum Passwort-Zurücksetzen versandt
|
PasswordResetQueued: Link zum Passwort-Zurücksetzen versandt
|
||||||
UserAssimilateUser: Benutzer:in
|
UserAssimilateUser: Benutzer:in
|
||||||
AssimilateUserNotFound: E-Mail Adresse konnte keinem Benutzer/keiner Benutzerin zugeordnet werden
|
AssimilateUserNotFound: E-Mail Adresse konnte keinem Benutzer/keiner Benutzerin zugeordnet werden
|
||||||
@ -76,4 +76,4 @@ AllUsersLdapSync: Alle LDAP-Synchronisieren
|
|||||||
UserHijack: Sitzung übernehmen
|
UserHijack: Sitzung übernehmen
|
||||||
AuthKindLDAP: Campus-Kennung
|
AuthKindLDAP: Campus-Kennung
|
||||||
AuthKindPWHash: Uni2work-Kennung
|
AuthKindPWHash: Uni2work-Kennung
|
||||||
Name: Name
|
Name !ident-ok: Name
|
||||||
@ -32,7 +32,7 @@ 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
|
||||||
AuthLDAPConfigured: User now logs in using their campus account
|
AuthLDAPConfigured: User now logs in using their campus account
|
||||||
AuthLDAP: Campus
|
AuthLDAP: LMU-Account
|
||||||
PasswordResetQueued: Sent link to reset password
|
PasswordResetQueued: Sent link to reset password
|
||||||
UserAssimilateUser: User
|
UserAssimilateUser: User
|
||||||
AssimilateUserNotFound: Email could not be resolved to an user
|
AssimilateUserNotFound: Email could not be resolved to an user
|
||||||
|
|||||||
@ -4,7 +4,7 @@ WorkflowScopeKindSchool: Pro Institut
|
|||||||
WorkflowScopeKindTermSchool: Pro Institut & Semester
|
WorkflowScopeKindTermSchool: Pro Institut & Semester
|
||||||
WorkflowScopeKindCourse: Pro Veranstaltung
|
WorkflowScopeKindCourse: Pro Veranstaltung
|
||||||
WorkflowDefinitionScope: Bereich
|
WorkflowDefinitionScope: Bereich
|
||||||
WorkflowDefinitionName: Name
|
WorkflowDefinitionName !ident-ok: Name
|
||||||
WorkflowDefinitionDescriptions: Beschreibung
|
WorkflowDefinitionDescriptions: Beschreibung
|
||||||
WorkflowDefinitionDescriptionsLanguageExists: Eine Beschreibung in dieser Sprache existiert bereits
|
WorkflowDefinitionDescriptionsLanguageExists: Eine Beschreibung in dieser Sprache existiert bereits
|
||||||
WorkflowDefinitionGraph: Spezifikation
|
WorkflowDefinitionGraph: Spezifikation
|
||||||
@ -26,7 +26,7 @@ WorkflowDefinitionWarningLinterIssues: Es sind folgende Linter issues aufgetrete
|
|||||||
|
|
||||||
WorkflowDefinitionListTitle: Workflow-Definitionen
|
WorkflowDefinitionListTitle: Workflow-Definitionen
|
||||||
WorkflowDefinitionInstanceCount: Instanzen
|
WorkflowDefinitionInstanceCount: Instanzen
|
||||||
WorkflowDefinitionWorkflowCount: Workflows
|
WorkflowDefinitionWorkflowCount !ident-ok: Workflows
|
||||||
WorkflowDefinitionConcreteInstanceCount num@Int64: #{num} Instanzen
|
WorkflowDefinitionConcreteInstanceCount num@Int64: #{num} Instanzen
|
||||||
WorkflowDefinitionConcreteWorkflowCount num@Int64: #{num} Workflows
|
WorkflowDefinitionConcreteWorkflowCount num@Int64: #{num} Workflows
|
||||||
WorkflowDefinitionDeleteQuestion: Wollen Sie die unten aufgeführte Workflow-Definition wirklich löschen?
|
WorkflowDefinitionDeleteQuestion: Wollen Sie die unten aufgeführte Workflow-Definition wirklich löschen?
|
||||||
@ -35,7 +35,7 @@ WorkflowDefinitionInstantiateTitle: Workflow-Definition instanziieren
|
|||||||
WorkflowDefinitionInstantiated: Instanz angelegt
|
WorkflowDefinitionInstantiated: Instanz angelegt
|
||||||
|
|
||||||
WorkflowScope: Bereich
|
WorkflowScope: Bereich
|
||||||
WorkflowInstanceName: Name
|
WorkflowInstanceName !ident-ok: Name
|
||||||
WorkflowInstanceCategory: Kategorie
|
WorkflowInstanceCategory: Kategorie
|
||||||
WorkflowInstanceCollision: Es existiert bereits eine Workflow-Instanz mit diesem Namen und Bereich
|
WorkflowInstanceCollision: Es existiert bereits eine Workflow-Instanz mit diesem Namen und Bereich
|
||||||
WorkflowInstanceListTitle: Workflow-Instanzen
|
WorkflowInstanceListTitle: Workflow-Instanzen
|
||||||
@ -44,7 +44,7 @@ WorkflowInstanceDescriptions: Instanz-Beschreibung
|
|||||||
WorkflowInstanceDescriptionsLanguageExists: Eine Instanz-Beschreibung in dieser Sprache existiert bereits
|
WorkflowInstanceDescriptionsLanguageExists: Eine Instanz-Beschreibung in dieser Sprache existiert bereits
|
||||||
WorkflowInstanceCreated: Instanz angelegt
|
WorkflowInstanceCreated: Instanz angelegt
|
||||||
WorkflowInstanceDescriptionTitle: Instanz-Titel
|
WorkflowInstanceDescriptionTitle: Instanz-Titel
|
||||||
WorkflowInstanceWorkflowCount: Workflows
|
WorkflowInstanceWorkflowCount !ident-ok: Workflows
|
||||||
|
|
||||||
WorkflowInstanceInitiateSuccess: Workflow erfolgreich initiiert
|
WorkflowInstanceInitiateSuccess: Workflow erfolgreich initiiert
|
||||||
|
|
||||||
@ -58,8 +58,8 @@ GlobalWorkflowInstancesTitle: Workflows (Systemweit)
|
|||||||
GlobalWorkflowInstanceInitiateHeading workflowInstanceTitle@Text: Worklow initiieren: #{workflowInstanceTitle}
|
GlobalWorkflowInstanceInitiateHeading workflowInstanceTitle@Text: Worklow initiieren: #{workflowInstanceTitle}
|
||||||
GlobalWorkflowInstanceInitiateTitle: Worklow initiieren
|
GlobalWorkflowInstanceInitiateTitle: Worklow initiieren
|
||||||
|
|
||||||
SchoolWorkflowInstancesHeading ssh@SchoolId: Workflows (#{ssh})
|
SchoolWorkflowInstancesHeading ssh@SchoolId !ident-ok: Workflows (#{ssh})
|
||||||
SchoolWorkflowInstancesTitle ssh@SchoolId: Workflows (#{ssh})
|
SchoolWorkflowInstancesTitle ssh@SchoolId !ident-ok: Workflows (#{ssh})
|
||||||
|
|
||||||
SchoolWorkflowInstanceInitiateHeading ssh@SchoolId workflowInstanceTitle@Text: Worklow initiieren: #{ssh}, #{workflowInstanceTitle}
|
SchoolWorkflowInstanceInitiateHeading ssh@SchoolId workflowInstanceTitle@Text: Worklow initiieren: #{ssh}, #{workflowInstanceTitle}
|
||||||
SchoolWorkflowInstanceInitiateTitle ssh@SchoolId: Worklow initiieren: #{ssh}
|
SchoolWorkflowInstanceInitiateTitle ssh@SchoolId: Worklow initiieren: #{ssh}
|
||||||
@ -89,7 +89,7 @@ WorkflowWorkflowWorkflowHistoryActionLabel: Aktion
|
|||||||
WorkflowWorkflowWorkflowHistoryFromLabel: Vorheriger Zustand
|
WorkflowWorkflowWorkflowHistoryFromLabel: Vorheriger Zustand
|
||||||
WorkflowWorkflowWorkflowHistoryToLabel: Neuer Zustand
|
WorkflowWorkflowWorkflowHistoryToLabel: Neuer Zustand
|
||||||
WorkflowWorkflowWorkflowHistoryPayloadLabel: Datensatz-Änderungen
|
WorkflowWorkflowWorkflowHistoryPayloadLabel: Datensatz-Änderungen
|
||||||
WorkflowWorkflowFilesArchiveName wwCID@CryptoFileNameWorkflowWorkflow wpl@WorkflowPayloadLabel stCID@CryptoUUIDWorkflowStateIndex: #{foldCase (toPathPiece wwCID)}-#{foldCase (toPathPiece stCID)}-#{foldCase (foldMap unidecode (toPathPiece wpl))}.zip
|
WorkflowWorkflowFilesArchiveName wwCID@CryptoFileNameWorkflowWorkflow wpl@WorkflowPayloadLabel stCID@CryptoUUIDWorkflowStateIndex !ident-ok: #{foldCase (toPathPiece wwCID)}-#{foldCase (toPathPiece stCID)}-#{foldCase (foldMap unidecode (toPathPiece wpl))}.zip
|
||||||
WorkflowWorkflowWorkflowStateHeading: Zustand/Daten
|
WorkflowWorkflowWorkflowStateHeading: Zustand/Daten
|
||||||
WorkflowWorkflowWorkflowPayloadHeading: Aktueller Datensatz
|
WorkflowWorkflowWorkflowPayloadHeading: Aktueller Datensatz
|
||||||
WorkflowWorkflowWorkflowStateStateLabel: Aktueller Zustand
|
WorkflowWorkflowWorkflowStateStateLabel: Aktueller Zustand
|
||||||
@ -102,14 +102,14 @@ WorkflowPayloadBoolTrue: Ja
|
|||||||
WorkflowPayloadBoolFalse: Nein
|
WorkflowPayloadBoolFalse: Nein
|
||||||
WorkflowPayloadUserGone: Gelöschte:r Benutzer:in
|
WorkflowPayloadUserGone: Gelöschte:r Benutzer:in
|
||||||
|
|
||||||
TopWorkflowInstancesHeading: Workflows
|
TopWorkflowInstancesHeading !ident-ok: Workflows
|
||||||
TopWorkflowInstancesTitle: Workflows
|
TopWorkflowInstancesTitle !ident-ok: Workflows
|
||||||
|
|
||||||
GlobalWorkflowWorkflowWorkflowHeading workflowWorkflowId@CryptoFileNameWorkflowWorkflow: Workflow #{toPathPiece workflowWorkflowId}
|
GlobalWorkflowWorkflowWorkflowHeading workflowWorkflowId@CryptoFileNameWorkflowWorkflow !ident-ok: Workflow #{toPathPiece workflowWorkflowId}
|
||||||
GlobalWorkflowWorkflowWorkflowTitle workflowWorkflowId@CryptoFileNameWorkflowWorkflow: Workflow #{toPathPiece workflowWorkflowId}
|
GlobalWorkflowWorkflowWorkflowTitle workflowWorkflowId@CryptoFileNameWorkflowWorkflow !ident-ok: Workflow #{toPathPiece workflowWorkflowId}
|
||||||
|
|
||||||
SchoolWorkflowWorkflowWorkflowHeading ssh@SchoolId workflowWorkflowId@CryptoFileNameWorkflowWorkflow: Workflow #{ssh}, #{toPathPiece workflowWorkflowId}
|
SchoolWorkflowWorkflowWorkflowHeading ssh@SchoolId workflowWorkflowId@CryptoFileNameWorkflowWorkflow !ident-ok: Workflow #{ssh}, #{toPathPiece workflowWorkflowId}
|
||||||
SchoolWorkflowWorkflowWorkflowTitle ssh@SchoolId workflowWorkflowId@CryptoFileNameWorkflowWorkflow: Workflow #{ssh}, #{toPathPiece workflowWorkflowId}
|
SchoolWorkflowWorkflowWorkflowTitle ssh@SchoolId workflowWorkflowId@CryptoFileNameWorkflowWorkflow !ident-ok: Workflow #{ssh}, #{toPathPiece workflowWorkflowId}
|
||||||
|
|
||||||
WorkflowWorkflowListScopeTitle rScope@Text: Laufende Workflows - #{rScope}
|
WorkflowWorkflowListScopeTitle rScope@Text: Laufende Workflows - #{rScope}
|
||||||
WorkflowWorkflowListScopeHeading rScope@Text: Laufende Workflows (#{rScope})
|
WorkflowWorkflowListScopeHeading rScope@Text: Laufende Workflows (#{rScope})
|
||||||
@ -132,7 +132,7 @@ WorkflowWorkflowListIsFinal: Abgeschlossen?
|
|||||||
|
|
||||||
WorkflowGraphFormUploadIsDirectory: Upload ist Verzeichnis
|
WorkflowGraphFormUploadIsDirectory: Upload ist Verzeichnis
|
||||||
WorkflowGraphFormInvalidNumberOfFiles: Es muss genau eine Datei hochgeladen werden
|
WorkflowGraphFormInvalidNumberOfFiles: Es muss genau eine Datei hochgeladen werden
|
||||||
WorkflowCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen}
|
WorkflowCourseOption tid@TermId ssh@SchoolId coursen@CourseName !ident-ok: #{tid} - #{ssh} - #{coursen}
|
||||||
YAMLFieldDecodeFailure yamlFailure@String: Konnte YAML nicht parsen: #{yamlFailure}
|
YAMLFieldDecodeFailure yamlFailure@String: Konnte YAML nicht parsen: #{yamlFailure}
|
||||||
|
|
||||||
WGFTextInput: Textfeld
|
WGFTextInput: Textfeld
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
#messages or constructors that are used all over the code
|
#messages or constructors that are used all over the code
|
||||||
|
|
||||||
Logo: Uni2work
|
Logo !ident-ok: Uni2work
|
||||||
EmailInvitationWarning: Diese Adresse konnte keinem Uni2work-Benutzer/keiner Uni2work-Benutzerin zugeordnet werden. Es wird eine Einladung per E-Mail versandt.
|
EmailInvitationWarning: Diese Adresse konnte keinem Uni2work-Benutzer/keiner Uni2work-Benutzerin zugeordnet werden. Es wird eine Einladung per E-Mail versandt.
|
||||||
BoolIrrelevant: —
|
BoolIrrelevant !ident-ok: —
|
||||||
FieldPrimary: Hauptfach
|
FieldPrimary: Hauptfach
|
||||||
FieldSecondary: Nebenfach
|
FieldSecondary: Nebenfach
|
||||||
MultiEmailFieldTip: Es sind mehrere, Komma-separierte, E-Mail-Adressen möglich
|
MultiEmailFieldTip: Es sind mehrere, Komma-separierte, E-Mail-Adressen möglich
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
PrintDebugForStupid name@Text: Debug message "#{name}"
|
PrintDebugForStupid name@Text !ident-ok: Debug message "#{name}"
|
||||||
|
|||||||
@ -44,8 +44,8 @@ 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.
|
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
|
BtnExamAutoOccurrenceCalculate: Verteilungstabelle berechnen
|
||||||
BtnExamAutoOccurrenceAccept: Verteilung akzeptieren
|
BtnExamAutoOccurrenceAccept: Verteilung akzeptieren
|
||||||
BtnExamAutoOccurrenceNudgeUp: +
|
BtnExamAutoOccurrenceNudgeUp !ident-ok: +
|
||||||
BtnExamAutoOccurrenceNudgeDown: -
|
BtnExamAutoOccurrenceNudgeDown !ident-ok: -
|
||||||
BtnSetDisplayEmail: E-Mail-Adresse setzen
|
BtnSetDisplayEmail: E-Mail-Adresse setzen
|
||||||
BtnAuthLDAP: Auf Campus-Kennung umstellen
|
BtnAuthLDAP: Auf Campus-Kennung umstellen
|
||||||
BtnAuthPWHash: Auf Uni2work-Kennung umstellen
|
BtnAuthPWHash: Auf Uni2work-Kennung umstellen
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
MassInputAddDimension: +
|
MassInputAddDimension !ident-ok: +
|
||||||
MassInputDeleteCell: -
|
MassInputDeleteCell !ident-ok: -
|
||||||
|
|||||||
@ -5,7 +5,7 @@ BreadcrumbCryptoIDDispatch: CryptoID-Weiterleitung
|
|||||||
BreadcrumbCourseAppsFiles: Bewerbungsdateien
|
BreadcrumbCourseAppsFiles: Bewerbungsdateien
|
||||||
BreadcrumbCourseNotes: Kursnotizen
|
BreadcrumbCourseNotes: Kursnotizen
|
||||||
BreadcrumbHiWis: Korrektor:innen
|
BreadcrumbHiWis: Korrektor:innen
|
||||||
BreadcrumbMaterial: Material
|
BreadcrumbMaterial !ident-ok: Material
|
||||||
BreadcrumbSheet: Übungsblatt
|
BreadcrumbSheet: Übungsblatt
|
||||||
BreadcrumbTutorial: Tutorium
|
BreadcrumbTutorial: Tutorium
|
||||||
BreadcrumbExam: Prüfung
|
BreadcrumbExam: Prüfung
|
||||||
@ -16,7 +16,7 @@ BreadcrumbCourseFavourite: Favorisieren
|
|||||||
BreadcrumbCourse: Kurs
|
BreadcrumbCourse: Kurs
|
||||||
BreadcrumbAllocationRegister: Teilnahme registrieren
|
BreadcrumbAllocationRegister: Teilnahme registrieren
|
||||||
BreadcrumbAllocation: Zentralanmeldung
|
BreadcrumbAllocation: Zentralanmeldung
|
||||||
BreadcrumbTerm: Semester
|
BreadcrumbTerm !ident-ok: Semester
|
||||||
BreadcrumbSchool: Institut
|
BreadcrumbSchool: Institut
|
||||||
BreadcrumbUser: Benutzer:in
|
BreadcrumbUser: Benutzer:in
|
||||||
BreadcrumbStatic: Statische Resource
|
BreadcrumbStatic: Statische Resource
|
||||||
@ -37,10 +37,10 @@ BreadcrumbAllocationInfo: Ablauf einer Zentralanmeldung
|
|||||||
BreadcrumbCourseParticipantInvitation: Einladung als Kursteilnehmer:in
|
BreadcrumbCourseParticipantInvitation: Einladung als Kursteilnehmer:in
|
||||||
BreadcrumbMaterialArchive: Archiv
|
BreadcrumbMaterialArchive: Archiv
|
||||||
BreadcrumbMaterialFile: Datei
|
BreadcrumbMaterialFile: Datei
|
||||||
BreadcrumbMaterialVideo: Video
|
BreadcrumbMaterialVideo !ident-ok: Video
|
||||||
BreadcrumbSheetArchive: Dateien
|
BreadcrumbSheetArchive: Dateien
|
||||||
BreadcrumbSheetIsCorrector: Korrektor:in-Überprüfung
|
BreadcrumbSheetIsCorrector: Korrektor:in-Überprüfung
|
||||||
BreadcrumbSheetPseudonym: Pseudonym
|
BreadcrumbSheetPseudonym !ident-ok: Pseudonym
|
||||||
BreadcrumbSheetCorrectorInvite: Einladung als Korrektor:in
|
BreadcrumbSheetCorrectorInvite: Einladung als Korrektor:in
|
||||||
BreadcrumbSheetFile: Datei
|
BreadcrumbSheetFile: Datei
|
||||||
BreadcrumbTutorialRegister: Anmelden
|
BreadcrumbTutorialRegister: Anmelden
|
||||||
@ -54,7 +54,7 @@ BreadcrumbCourseNewsFile: Datei
|
|||||||
BreadcrumbExternalExam: Externe Prüfung
|
BreadcrumbExternalExam: Externe Prüfung
|
||||||
BreadcrumbExternalExamList: Externe Prüfungen
|
BreadcrumbExternalExamList: Externe Prüfungen
|
||||||
BreadcrumbExternalExamNew: Neue externe Prüfung
|
BreadcrumbExternalExamNew: Neue externe Prüfung
|
||||||
BreadcrumbExternalExamShow coursen@CourseName examn@ExamName: #{coursen}, #{examn}
|
BreadcrumbExternalExamShow coursen@CourseName examn@ExamName !ident-ok: #{coursen}, #{examn}
|
||||||
BreadcrumbExternalExamEdit: Editieren
|
BreadcrumbExternalExamEdit: Editieren
|
||||||
BreadcrumbExternalExamUsers: Teilnehmer:in
|
BreadcrumbExternalExamUsers: Teilnehmer:in
|
||||||
BreadcrumbExternalExamGrades: Prüfungsleistungen
|
BreadcrumbExternalExamGrades: Prüfungsleistungen
|
||||||
@ -70,13 +70,13 @@ BreadcrumbAllocationCompute: Platzvergabe berechnen
|
|||||||
BreadcrumbAllocationAccept: Platzvergabe akzeptieren
|
BreadcrumbAllocationAccept: Platzvergabe akzeptieren
|
||||||
BreadcrumbAllocationAddUser: Bewerber:in hinzufügen
|
BreadcrumbAllocationAddUser: Bewerber:in hinzufügen
|
||||||
BreadcrumbMessageHide: Verstecken
|
BreadcrumbMessageHide: Verstecken
|
||||||
BreadcrumbFaq: FAQ
|
BreadcrumbFaq !ident-ok: FAQ
|
||||||
BreadcrumbSheetPersonalisedFiles: Personalisierte Dateien herunterladen
|
BreadcrumbSheetPersonalisedFiles: Personalisierte Dateien herunterladen
|
||||||
BreadcrumbCourseSheetPersonalisedFiles: Vorlage für personalisierte Übungsblatt-Dateien herunterladen
|
BreadcrumbCourseSheetPersonalisedFiles: Vorlage für personalisierte Übungsblatt-Dateien herunterladen
|
||||||
BreadcrumbAdminCrontab: Crontab
|
BreadcrumbAdminCrontab !ident-ok: Crontab
|
||||||
BreadcrumbAdminWorkflowDefinitionList: Workflow-Definitionen
|
BreadcrumbAdminWorkflowDefinitionList: Workflow-Definitionen
|
||||||
BreadcrumbAdminWorkflowDefinitionNew: Neue Workflow-Definition
|
BreadcrumbAdminWorkflowDefinitionNew: Neue Workflow-Definition
|
||||||
BreadcrumbAdminWorkflowDefinitionEdit renderedWorkflowScope'@Text wfdn@WorkflowDefinitionName: #{wfdn} (#{renderedWorkflowScope'})
|
BreadcrumbAdminWorkflowDefinitionEdit renderedWorkflowScope'@Text wfdn@WorkflowDefinitionName !ident-ok: #{wfdn} (#{renderedWorkflowScope'})
|
||||||
BreadcrumbAdminWorkflowDefinitionDelete: Löschen
|
BreadcrumbAdminWorkflowDefinitionDelete: Löschen
|
||||||
BreadcrumbAdminWorkflowDefinitionInstantiate: Instanziieren
|
BreadcrumbAdminWorkflowDefinitionInstantiate: Instanziieren
|
||||||
BreadcrumbAdminWorkflowInstanceList: Workflow-Instanzen
|
BreadcrumbAdminWorkflowInstanceList: Workflow-Instanzen
|
||||||
@ -84,26 +84,25 @@ BreadcrumbAdminWorkflowInstanceNew: Neue Workflow-Instanz
|
|||||||
BreadcrumbAdminWorkflowInstanceEdit: Instanz bearbeiten
|
BreadcrumbAdminWorkflowInstanceEdit: Instanz bearbeiten
|
||||||
BreadcrumbAdminWorkflowWorkflowList: Initiierte Workflows
|
BreadcrumbAdminWorkflowWorkflowList: Initiierte Workflows
|
||||||
BreadcrumbAdminWorkflowWorkflowNew: Workflow initiieren
|
BreadcrumbAdminWorkflowWorkflowNew: Workflow initiieren
|
||||||
BreadcrumbWorkflowInstanceEdit win@WorkflowInstanceName: #{win}
|
BreadcrumbWorkflowInstanceEdit win@WorkflowInstanceName !ident-ok: #{win}
|
||||||
BreadcrumbWorkflowInstanceDelete: Löschen
|
BreadcrumbWorkflowInstanceDelete: Löschen
|
||||||
BreadcrumbWorkflowInstanceWorkflowList: Laufende Workflows
|
BreadcrumbWorkflowInstanceWorkflowList: Laufende Workflows
|
||||||
BreadcrumbWorkflowInstanceInitiate: Workflow starten
|
BreadcrumbWorkflowInstanceInitiate: Workflow starten
|
||||||
BreadcrumbWorkflowInstanceList: Workflows
|
BreadcrumbWorkflowInstanceList !ident-ok: Workflows
|
||||||
BreadcrumbWorkflowInstanceNew: Neuer Workflow
|
BreadcrumbWorkflowInstanceNew: Neuer Workflow
|
||||||
BreadcrumbWorkflowWorkflowList: Laufende Workflows
|
BreadcrumbWorkflowWorkflowList: Laufende Workflows
|
||||||
BreadcrumbWorkflowWorkflow workflow@CryptoFileNameWorkflowWorkflow: #{toPathPiece workflow}
|
BreadcrumbWorkflowWorkflow workflow@CryptoFileNameWorkflowWorkflow !ident-ok: #{toPathPiece workflow}
|
||||||
BreadcrumbWorkflowWorkflowFiles: Dateien
|
BreadcrumbWorkflowWorkflowFiles: Dateien
|
||||||
BreadcrumbWorkflowWorkflowEdit: Editieren
|
BreadcrumbWorkflowWorkflowEdit: Editieren
|
||||||
BreadcrumbWorkflowWorkflowDelete: Löschen
|
BreadcrumbWorkflowWorkflowDelete: Löschen
|
||||||
BreadcrumbGlobalWorkflowInstanceList: Systemweite Workflows
|
BreadcrumbGlobalWorkflowInstanceList: Systemweite Workflows
|
||||||
BreadcrumbTopWorkflowInstanceList: Workflows
|
BreadcrumbTopWorkflowInstanceList !ident-ok: Workflows
|
||||||
BreadcrumbTopWorkflowWorkflowList: Laufende Workflows
|
BreadcrumbTopWorkflowWorkflowList: Laufende Workflows
|
||||||
BreadcrumbError: Fehler
|
BreadcrumbError: Fehler
|
||||||
BreadcrumbMenu: Login
|
|
||||||
BreadcrumbUserAdd: Benutzer:in anlegen
|
BreadcrumbUserAdd: Benutzer:in anlegen
|
||||||
BreadcrumbUserNotifications: Benachrichtigungs-Einstellungen
|
BreadcrumbUserNotifications: Benachrichtigungs-Einstellungen
|
||||||
BreadcrumbUserPassword: Passwort
|
BreadcrumbUserPassword: Passwort
|
||||||
BreadcrumbAdminHeading: Administration
|
BreadcrumbAdminHeading !ident-ok: Administration
|
||||||
BreadcrumbAdminFeaturesHeading: Studiengänge
|
BreadcrumbAdminFeaturesHeading: Studiengänge
|
||||||
BreadcrumbAdminTest: Admin-Demo
|
BreadcrumbAdminTest: Admin-Demo
|
||||||
BreadcrumbAdminErrMsg: Fehlermeldung entschlüsseln
|
BreadcrumbAdminErrMsg: Fehlermeldung entschlüsseln
|
||||||
@ -167,7 +166,7 @@ BreadcrumbSubmissionOwn: Abgabe
|
|||||||
BreadcrumbCorrection: Korrektur
|
BreadcrumbCorrection: Korrektur
|
||||||
BreadcrumbSubmissionDelete: Abgabe löschen
|
BreadcrumbSubmissionDelete: Abgabe löschen
|
||||||
BreadcrumbCorrectorAssignTitle: Korrektor:in zuweisen
|
BreadcrumbCorrectorAssignTitle: Korrektor:in zuweisen
|
||||||
BreadcrumbMaterialList: Material
|
BreadcrumbMaterialList !ident-ok: Material
|
||||||
BreadcrumbMaterialNew: Neues Material veröffentlichen
|
BreadcrumbMaterialNew: Neues Material veröffentlichen
|
||||||
BreadcrumbMaterialEdit: Material bearbeiten
|
BreadcrumbMaterialEdit: Material bearbeiten
|
||||||
BreadcrumbMaterialDelete: Material löschen
|
BreadcrumbMaterialDelete: Material löschen
|
||||||
@ -178,5 +177,5 @@ BreadcrumbCorrectionsCreate: Abgaben registrieren
|
|||||||
BreadcrumbCorrectionsGrade: Korrekturen eintragen
|
BreadcrumbCorrectionsGrade: Korrekturen eintragen
|
||||||
BreadcrumbMessageList: Systemnachrichten
|
BreadcrumbMessageList: Systemnachrichten
|
||||||
BreadcrumbGlossary: Begriffsverzeichnis
|
BreadcrumbGlossary: Begriffsverzeichnis
|
||||||
BreadcrumbLogin: Login
|
BreadcrumbLogin !ident-ok: Login
|
||||||
BreadcrumbNews: Aktuell
|
BreadcrumbNews: Aktuell
|
||||||
@ -99,7 +99,6 @@ BreadcrumbGlobalWorkflowInstanceList: System-wide workflows
|
|||||||
BreadcrumbTopWorkflowInstanceList: Workflows
|
BreadcrumbTopWorkflowInstanceList: Workflows
|
||||||
BreadcrumbTopWorkflowWorkflowList: Running workflows
|
BreadcrumbTopWorkflowWorkflowList: Running workflows
|
||||||
BreadcrumbError: Error
|
BreadcrumbError: Error
|
||||||
BreadcrumbMenu: Login
|
|
||||||
BreadcrumbUserAdd: Add user
|
BreadcrumbUserAdd: Add user
|
||||||
BreadcrumbUserNotifications: Notification settings
|
BreadcrumbUserNotifications: Notification settings
|
||||||
BreadcrumbUserPassword: Password
|
BreadcrumbUserPassword: Password
|
||||||
@ -161,7 +160,7 @@ BreadcrumbSheetDelete: Delete exercise sheet
|
|||||||
BreadcrumbSubmissions: Submissions
|
BreadcrumbSubmissions: Submissions
|
||||||
BreadcrumbSubmissionNew: Create submission
|
BreadcrumbSubmissionNew: Create submission
|
||||||
BreadcrumbSubmissionOwn: Submission
|
BreadcrumbSubmissionOwn: Submission
|
||||||
BreadcrumbCorrection: Korrektur
|
BreadcrumbCorrection: Correction
|
||||||
BreadcrumbSubmissionDelete: Delete submission
|
BreadcrumbSubmissionDelete: Delete submission
|
||||||
BreadcrumbCorrectorAssignTitle: Assign corrector
|
BreadcrumbCorrectorAssignTitle: Assign corrector
|
||||||
BreadcrumbMaterialList: Material
|
BreadcrumbMaterialList: Material
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
MenuAdminHeading: Administration
|
MenuAdminHeading !ident-ok: Administration
|
||||||
MenuAdminFeaturesHeading: Studiengänge
|
MenuAdminFeaturesHeading: Studiengänge
|
||||||
MenuInfoLecturerTitle: Hinweise für Veranstalter:innen
|
MenuInfoLecturerTitle: Hinweise für Veranstalter:innen
|
||||||
MenuInfoLecturerCourses: Veranstaltungen
|
MenuInfoLecturerCourses: Veranstaltungen
|
||||||
@ -22,8 +22,8 @@ MenuInstance: Instanz-Identifikation
|
|||||||
MenuHealth: Instanz-Zustand
|
MenuHealth: Instanz-Zustand
|
||||||
MenuHelp: Hilfe
|
MenuHelp: Hilfe
|
||||||
MenuProfile: Anpassen
|
MenuProfile: Anpassen
|
||||||
MenuLogin: Login
|
MenuLogin !ident-ok: Login
|
||||||
MenuLogout: Logout
|
MenuLogout !ident-ok: Logout
|
||||||
MenuAllocationList: Zentralanmeldungen
|
MenuAllocationList: Zentralanmeldungen
|
||||||
MenuCourseList: Kurse
|
MenuCourseList: Kurse
|
||||||
MenuCourseMembers: Kursteilnehmer:innen
|
MenuCourseMembers: Kursteilnehmer:innen
|
||||||
@ -51,7 +51,7 @@ MenuCorrections: Korrekturen
|
|||||||
MenuCorrectionsOwn: Meine Korrekturen
|
MenuCorrectionsOwn: Meine Korrekturen
|
||||||
MenuSubmissions: Abgaben
|
MenuSubmissions: Abgaben
|
||||||
MenuSheetList: Übungsblätter
|
MenuSheetList: Übungsblätter
|
||||||
MenuMaterialList: Material
|
MenuMaterialList !ident-ok: Material
|
||||||
MenuMaterialNew: Neues Material veröffentlichen
|
MenuMaterialNew: Neues Material veröffentlichen
|
||||||
MenuMaterialEdit: Material bearbeiten
|
MenuMaterialEdit: Material bearbeiten
|
||||||
MenuMaterialDelete: Material löschen
|
MenuMaterialDelete: Material löschen
|
||||||
@ -107,11 +107,11 @@ MenuAllocationPriorities: Zentrale Dringlichkeiten
|
|||||||
MenuAllocationCompute: Platzvergabe berechnen
|
MenuAllocationCompute: Platzvergabe berechnen
|
||||||
|
|
||||||
MenuAllocationAddUser: Bewerber:in hinzufügen
|
MenuAllocationAddUser: Bewerber:in hinzufügen
|
||||||
MenuFaq: FAQ
|
MenuFaq !ident-ok: FAQ
|
||||||
MenuSheetPersonalisedFiles: Personalisierte Dateien herunterladen
|
MenuSheetPersonalisedFiles: Personalisierte Dateien herunterladen
|
||||||
MenuCourseSheetPersonalisedFiles: Vorlage für personalisierte Übungsblatt-Dateien herunterladen
|
MenuCourseSheetPersonalisedFiles: Vorlage für personalisierte Übungsblatt-Dateien herunterladen
|
||||||
MenuAdminCrontab: Crontab
|
MenuAdminCrontab !ident-ok: Crontab
|
||||||
MenuAdminWorkflowDefinitionList: Workflows
|
MenuAdminWorkflowDefinitionList !ident-ok: Workflows
|
||||||
MenuAdminWorkflowDefinitionNew: Neue Workflow-Definition
|
MenuAdminWorkflowDefinitionNew: Neue Workflow-Definition
|
||||||
MenuAdminWorkflowDefinitionDelete: Löschen
|
MenuAdminWorkflowDefinitionDelete: Löschen
|
||||||
MenuAdminWorkflowInstanceList: Workflow-Instanzen
|
MenuAdminWorkflowInstanceList: Workflow-Instanzen
|
||||||
@ -125,9 +125,9 @@ MenuWorkflowWorkflowList: Laufende Workflows
|
|||||||
MenuWorkflowWorkflowEdit: Editieren
|
MenuWorkflowWorkflowEdit: Editieren
|
||||||
MenuWorkflowWorkflowDelete: Löschen
|
MenuWorkflowWorkflowDelete: Löschen
|
||||||
MenuGlobalWorkflowInstanceList: Systemweite Workflows
|
MenuGlobalWorkflowInstanceList: Systemweite Workflows
|
||||||
MenuTopWorkflowInstanceList: Workflows
|
MenuTopWorkflowInstanceList !ident-ok: Workflows
|
||||||
MenuTopWorkflowWorkflowList: Laufende Workflows
|
MenuTopWorkflowWorkflowList: Laufende Workflows
|
||||||
MenuTopWorkflowWorkflowListHeader: Workflows
|
MenuTopWorkflowWorkflowListHeader !ident-ok: Workflows
|
||||||
MenuGlossary: Begriffsverzeichnis
|
MenuGlossary: Begriffsverzeichnis
|
||||||
MenuVersion: Versionsgeschichte
|
MenuVersion: Versionsgeschichte
|
||||||
MenuCourseNewsNew: Neue Kursnachricht
|
MenuCourseNewsNew: Neue Kursnachricht
|
||||||
|
|||||||
@ -46,7 +46,7 @@ MenuTermCreate: Create new semester
|
|||||||
MenuCourseNew: Create new course
|
MenuCourseNew: Create new course
|
||||||
MenuTermEdit: Edit semester
|
MenuTermEdit: Edit semester
|
||||||
MenuTermCurrent: Current semester
|
MenuTermCurrent: Current semester
|
||||||
MenuCorrection: Korrektur
|
MenuCorrection: Correction
|
||||||
MenuCorrections: Corrections
|
MenuCorrections: Corrections
|
||||||
MenuCorrectionsOwn: My corrections
|
MenuCorrectionsOwn: My corrections
|
||||||
MenuSubmissions: Submissions
|
MenuSubmissions: Submissions
|
||||||
|
|||||||
@ -31,7 +31,7 @@ SubmissionsCourse tid@TermId ssh@SchoolId csh@CourseShorthand: Alle Abgaben Kurs
|
|||||||
SubmissionsSheet sheetName@SheetName: Abgaben für #{sheetName}
|
SubmissionsSheet sheetName@SheetName: Abgaben für #{sheetName}
|
||||||
SheetList tid@TermId ssh@SchoolId csh@CourseShorthand: #{tid}-#{ssh}-#{csh} Übersicht Übungsblätter
|
SheetList tid@TermId ssh@SchoolId csh@CourseShorthand: #{tid}-#{ssh}-#{csh} Übersicht Übungsblätter
|
||||||
SheetNewHeading tid@TermId ssh@SchoolId csh@CourseShorthand: #{tid}-#{ssh}-#{csh} Neues Übungsblatt anlegen
|
SheetNewHeading tid@TermId ssh@SchoolId csh@CourseShorthand: #{tid}-#{ssh}-#{csh} Neues Übungsblatt anlegen
|
||||||
SheetTitle tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{tid}-#{ssh}-#{csh} #{sheetName}
|
SheetTitle tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName !ident-ok: #{tid}-#{ssh}-#{csh} #{sheetName}
|
||||||
SheetTitleNew tid@TermId ssh@SchoolId csh@CourseShorthand : #{tid}-#{ssh}-#{csh}: Neues Übungsblatt
|
SheetTitleNew tid@TermId ssh@SchoolId csh@CourseShorthand : #{tid}-#{ssh}-#{csh}: Neues Übungsblatt
|
||||||
SheetEditHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{tid}-#{ssh}-#{csh} #{sheetName} editieren
|
SheetEditHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{tid}-#{ssh}-#{csh} #{sheetName} editieren
|
||||||
SheetDelHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{sheetName} wirklich aus Kurs #{tid}-#{ssh}-#{csh} herauslöschen? Alle assoziierten Abgaben und Korrekturen gehen ebenfalls verloren!
|
SheetDelHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{sheetName} wirklich aus Kurs #{tid}-#{ssh}-#{csh} herauslöschen? Alle assoziierten Abgaben und Korrekturen gehen ebenfalls verloren!
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
ExamOccurrenceStart: Prüfungsbeginn
|
ExamOccurrenceStart: Prüfungsbeginn
|
||||||
#general table-discriptions
|
#general table-discriptions
|
||||||
TableEmail: Email
|
TableEmail: E-Mail
|
||||||
TableStudyTerm: Studiengang
|
TableStudyTerm: Studiengang
|
||||||
TableStudyFeatureAge: Fachsemester
|
TableStudyFeatureAge: Fachsemester
|
||||||
TableStudyFeatureDegree: Abschluss
|
TableStudyFeatureDegree: Abschluss
|
||||||
TableStudyFeatureType:
|
TableStudyFeatureType !empty-ok:
|
||||||
TableStudyFeatureValid: Aktiv
|
TableStudyFeatureValid: Aktiv
|
||||||
TableStudyFeatureUpdate: Abgeglichen
|
TableStudyFeatureUpdate: Abgeglichen
|
||||||
TableHeadingFilter: Filter
|
TableHeadingFilter !ident-ok: Filter
|
||||||
TableTerm: Semester
|
TableTerm !ident-ok: Semester
|
||||||
TableCourseSchool: Institut
|
TableCourseSchool: Institut
|
||||||
TableSubmissionGroup: Feste Abgabegruppe
|
TableSubmissionGroup: Feste Abgabegruppe
|
||||||
TableNoSubmissionGroup: Keine feste Abgabegruppe
|
TableNoSubmissionGroup: Keine feste Abgabegruppe
|
||||||
@ -18,7 +18,7 @@ TableSchool: Institut
|
|||||||
TableCourse: Kurs
|
TableCourse: Kurs
|
||||||
TableCourseMembers: Teilnehmer:innen
|
TableCourseMembers: Teilnehmer:innen
|
||||||
TableExamOccurrence: Termin/Raum
|
TableExamOccurrence: Termin/Raum
|
||||||
TableExamName: Name
|
TableExamName !ident-ok: Name
|
||||||
TableExamTime: Termin
|
TableExamTime: Termin
|
||||||
TableExamRegistration: Prüfungsanmeldung
|
TableExamRegistration: Prüfungsanmeldung
|
||||||
TableExamResult: Prüfungsergebnis
|
TableExamResult: Prüfungsergebnis
|
||||||
@ -44,7 +44,7 @@ TableTutorialName: Bezeichnung
|
|||||||
TableTutorialType: Art
|
TableTutorialType: Art
|
||||||
TableTutorialRoom: Regulärer Raum
|
TableTutorialRoom: Regulärer Raum
|
||||||
TableTutorialRoomHidden: Raum nur für Teilnehmer
|
TableTutorialRoomHidden: Raum nur für Teilnehmer
|
||||||
TableTutorialRoomIsUnset: —
|
TableTutorialRoomIsUnset !ident-ok: —
|
||||||
TableTutorialRoomIsHidden: Raum wird nur Teilnehmern angezeigt
|
TableTutorialRoomIsHidden: Raum wird nur Teilnehmern angezeigt
|
||||||
TableTutorialTime: Zeit
|
TableTutorialTime: Zeit
|
||||||
TableTutorialDeregisterUntil: Abmeldungen bis
|
TableTutorialDeregisterUntil: Abmeldungen bis
|
||||||
@ -53,12 +53,12 @@ TableNoFilter: Keine Einschränkung
|
|||||||
TableUserMatriculation: Matrikelnummer
|
TableUserMatriculation: Matrikelnummer
|
||||||
TableColumnStudyFeatures: Studiendaten
|
TableColumnStudyFeatures: Studiendaten
|
||||||
TableSchoolShort: Kürzel
|
TableSchoolShort: Kürzel
|
||||||
TableSchoolName: Name
|
TableSchoolName !ident-ok: Name
|
||||||
TableExamRegisterFrom: Anmeldung ab
|
TableExamRegisterFrom: Anmeldung ab
|
||||||
TableExamRegisterTo: Anmeldung bis
|
TableExamRegisterTo: Anmeldung bis
|
||||||
TableAction: Aktion
|
TableAction: Aktion
|
||||||
SelectColumn: Auswahl
|
SelectColumn: Auswahl
|
||||||
CsvExport: CSV-Export
|
CsvExport: CSV-Export
|
||||||
TableProportion c@Text of'@Text prop@Rational: #{c}/#{of'} (#{rationalToFixed2 (100 * prop)}%)
|
TableProportion c@Text of'@Text prop@Rational !ident-ok: #{c}/#{of'} (#{rationalToFixed2 (100 * prop)}%)
|
||||||
TableProportionNoRatio c@Text of'@Text: #{c}/#{of'}
|
TableProportionNoRatio c@Text of'@Text !ident-ok: #{c}/#{of'}
|
||||||
TableExamFinished: Ergebnisse sichtbar ab
|
TableExamFinished: Ergebnisse sichtbar ab
|
||||||
@ -30,4 +30,4 @@ TableCourseDescription: Beschreibung
|
|||||||
RowCount count@Int64: #{count} #{pluralDE count "passender Eintrag" "passende Einträge"} insgesamt
|
RowCount count@Int64: #{count} #{pluralDE count "passender Eintrag" "passende Einträge"} insgesamt
|
||||||
JSONFieldDecodeFailure aesonFailure@String: Konnte JSON nicht parsen: #{aesonFailure}
|
JSONFieldDecodeFailure aesonFailure@String: Konnte JSON nicht parsen: #{aesonFailure}
|
||||||
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
|
||||||
Page num@Int64: #{num}
|
Page num@Int64 !ident-ok: #{num}
|
||||||
|
|||||||
@ -6,7 +6,7 @@ RGCourseCorrectors: Korrektor:innen
|
|||||||
RGCourseTutors: Tutor:innen
|
RGCourseTutors: Tutor:innen
|
||||||
RGCourseUnacceptedApplicants: Nicht akzeptierte Bewerber:innen
|
RGCourseUnacceptedApplicants: Nicht akzeptierte Bewerber:innen
|
||||||
RecipientToggleAll: Alle/Keine
|
RecipientToggleAll: Alle/Keine
|
||||||
CommCourseTestSubject customSubject@Text: [TEST] #{customSubject}
|
CommCourseTestSubject customSubject@Text !ident-ok: [TEST] #{customSubject}
|
||||||
UtilCommCourseSubject: Kursmitteilung
|
UtilCommCourseSubject: Kursmitteilung
|
||||||
CommRecipients: Empfänger:innen
|
CommRecipients: Empfänger:innen
|
||||||
CommRecipientsTip: Sie selbst erhalten immer eine Kopie der Nachricht
|
CommRecipientsTip: Sie selbst erhalten immer eine Kopie der Nachricht
|
||||||
@ -73,14 +73,14 @@ UtilExamResultGrade: Note
|
|||||||
UtilExamResultPass: Bestanden/Nicht Bestanden
|
UtilExamResultPass: Bestanden/Nicht Bestanden
|
||||||
UtilExamResultNoShow: Nicht erschienen
|
UtilExamResultNoShow: Nicht erschienen
|
||||||
UtilExamResultVoided: Entwertet
|
UtilExamResultVoided: Entwertet
|
||||||
CourseOption tid@TermId ssh@SchoolId csh@CourseShorthand coursen@CourseName: #{tid} - #{ssh} - #{csh}: #{coursen}
|
CourseOption tid@TermId ssh@SchoolId csh@CourseShorthand coursen@CourseName !ident-ok: #{tid} - #{ssh} - #{csh}: #{coursen}
|
||||||
RoomReferenceNone: —
|
RoomReferenceNone !ident-ok: —
|
||||||
RoomReferenceSimple: Text
|
RoomReferenceSimple !ident-ok: Text
|
||||||
RoomReferenceLink: Link & Anweisungen
|
RoomReferenceLink: Link & Anweisungen
|
||||||
RoomReferenceSimpleText: Raum
|
RoomReferenceSimpleText: Raum
|
||||||
RoomReferenceSimpleTextPlaceholder: Raum
|
RoomReferenceSimpleTextPlaceholder: Raum
|
||||||
RoomReferenceLinkLink: Link
|
RoomReferenceLinkLink !ident-ok: Link
|
||||||
RoomReferenceLinkLinkPlaceholder: URL
|
RoomReferenceLinkLinkPlaceholder !ident-ok: URL
|
||||||
RoomReferenceLinkInstructions: Anweisungen
|
RoomReferenceLinkInstructions: Anweisungen
|
||||||
RoomReferenceLinkInstructionsPlaceholder: Anweisungen
|
RoomReferenceLinkInstructionsPlaceholder: Anweisungen
|
||||||
|
|
||||||
@ -92,8 +92,8 @@ InvitationCollision: Einladung konnte nicht angenommen werden da ein derartiger
|
|||||||
InvitationDeclined: Einladung wurde abgelehnt
|
InvitationDeclined: Einladung wurde abgelehnt
|
||||||
|
|
||||||
#sheetType.hs
|
#sheetType.hs
|
||||||
SheetTypeBonus': Bonus
|
SheetTypeBonus' !ident-ok: Bonus
|
||||||
SheetTypeNormal': Normal
|
SheetTypeNormal' !ident-ok: Normal
|
||||||
SheetTypeInformational': Ohne Anrechung
|
SheetTypeInformational': Ohne Anrechung
|
||||||
SheetTypeNotGraded: Keine Korrektur
|
SheetTypeNotGraded: Keine Korrektur
|
||||||
SheetGradingBonusIncluded: Erzielte Bonuspunkte wurden hier bereits zu den erreichten normalen Punkten hinzugezählt.
|
SheetGradingBonusIncluded: Erzielte Bonuspunkte wurden hier bereits zu den erreichten normalen Punkten hinzugezählt.
|
||||||
@ -124,19 +124,19 @@ CorrectionInvisibleRatingNotDone: Die Bewertung ist nicht als „Abgeschlossen
|
|||||||
CorrectionInvisibleWarning: Die Bewertung dieser Abgabe ist aktuell für mindestens eine an der Abgabe beteiligte Person nicht sichtbar!
|
CorrectionInvisibleWarning: Die Bewertung dieser Abgabe ist aktuell für mindestens eine an der Abgabe beteiligte Person nicht sichtbar!
|
||||||
CorrectionInvisibleReasons: Mögliche Gründe hierfür:
|
CorrectionInvisibleReasons: Mögliche Gründe hierfür:
|
||||||
|
|
||||||
Plugin: Plugin
|
Plugin !ident-ok: Plugin
|
||||||
|
|
||||||
PreviouslyUploadedInfo: Bereits hochgeladene Dateien
|
PreviouslyUploadedInfo: Bereits hochgeladene Dateien
|
||||||
PreviouslyUploadedDeletionInfo: Nur ausgewählte und unten hinzugefügte Dateien werden erneut hochgeladen
|
PreviouslyUploadedDeletionInfo: Nur ausgewählte und unten hinzugefügte Dateien werden erneut hochgeladen
|
||||||
AddMoreFiles: Weitere Dateien hinzufügen:
|
AddMoreFiles: Weitere Dateien hinzufügen:
|
||||||
MessageError: Fehler
|
MessageError: Fehler
|
||||||
MessageWarning: Warnung
|
MessageWarning: Warnung
|
||||||
MessageInfo: Information
|
MessageInfo !ident-ok: Information
|
||||||
MessageSuccess: Erfolg
|
MessageSuccess: Erfolg
|
||||||
ShortFieldPrimary: HF
|
ShortFieldPrimary: HF
|
||||||
ShortFieldSecondary: NF
|
ShortFieldSecondary: NF
|
||||||
SheetGradingPassPoints': Bestehen nach Punkten
|
SheetGradingPassPoints': Bestehen nach Punkten
|
||||||
SheetGradingPassBinary': Bestanden/Nicht bestanden
|
SheetGradingPassBinary': Bestanden/Nicht bestanden
|
||||||
SheetGradingPassAlways': Automatisch bestanden, sobald korrigiert
|
SheetGradingPassAlways': Automatisch bestanden, sobald korrigiert
|
||||||
SheetTypeNormal: Normal
|
SheetTypeNormal !ident-ok: Normal
|
||||||
SheetTypeBonus: Bonus
|
SheetTypeBonus !ident-ok: Bonus
|
||||||
@ -18,6 +18,7 @@ import qualified Data.Foldable as F
|
|||||||
import qualified Data.HashMap.Strict as HashMap
|
import qualified Data.HashMap.Strict as HashMap
|
||||||
import qualified Data.HashSet as HashSet
|
import qualified Data.HashSet as HashSet
|
||||||
import qualified Data.Map.Strict as Map
|
import qualified Data.Map.Strict as Map
|
||||||
|
import qualified Data.Set as Set
|
||||||
|
|
||||||
import qualified Text.Parsec as P
|
import qualified Text.Parsec as P
|
||||||
import qualified Text.Parsec.Text.Lazy as P
|
import qualified Text.Parsec.Text.Lazy as P
|
||||||
@ -28,6 +29,8 @@ import qualified Data.List.NonEmpty as NonEmpty
|
|||||||
|
|
||||||
import qualified Data.Text as Text
|
import qualified Data.Text as Text
|
||||||
|
|
||||||
|
import qualified Data.Char as Char
|
||||||
|
|
||||||
import Utils.TH.AlphaConversion (alphaConvE)
|
import Utils.TH.AlphaConversion (alphaConvE)
|
||||||
|
|
||||||
|
|
||||||
@ -46,6 +49,7 @@ instance Semigroup (f (MsgDef f g)) => Semigroup (MsgFile f g) where
|
|||||||
data MsgDef f g = MsgDef
|
data MsgDef f g = MsgDef
|
||||||
{ msgDefVars :: InsOrdHashMap String (f (g TH.Type))
|
{ msgDefVars :: InsOrdHashMap String (f (g TH.Type))
|
||||||
, msgDefContent :: [MsgDefContent]
|
, msgDefContent :: [MsgDefContent]
|
||||||
|
, msgDefAnnotations :: Set MsgDefAnnotation
|
||||||
} deriving (Generic, Typeable)
|
} deriving (Generic, Typeable)
|
||||||
|
|
||||||
deriving stock instance Eq (f (g TH.Type)) => Eq (MsgDef f g)
|
deriving stock instance Eq (f (g TH.Type)) => Eq (MsgDef f g)
|
||||||
@ -55,6 +59,23 @@ data MsgDefContent = MsgDefContentLiteral String
|
|||||||
| MsgDefContentSplice Bool {- Recurse? -} TH.Exp
|
| MsgDefContentSplice Bool {- Recurse? -} TH.Exp
|
||||||
deriving (Eq, Ord, Show, Generic, Typeable)
|
deriving (Eq, Ord, Show, Generic, Typeable)
|
||||||
|
|
||||||
|
data MsgDefAnnotation = MsgDefIdenticalOk
|
||||||
|
| MsgDefEmptyOk
|
||||||
|
deriving (Eq, Ord, Read, Show, Generic, Typeable)
|
||||||
|
|
||||||
|
makePrisms ''MsgDefContent
|
||||||
|
makePrisms ''MsgDefAnnotation
|
||||||
|
makeLenses_ ''MsgDef
|
||||||
|
|
||||||
|
_msgDefAnnotation :: MsgDefAnnotation -> Lens' (MsgDef f g) Bool
|
||||||
|
_msgDefAnnotation ann = _msgDefAnnotations . at ann . _Maybe
|
||||||
|
|
||||||
|
_msgDefIdenticalOk :: Lens' (MsgDef f g) Bool
|
||||||
|
_msgDefIdenticalOk = _msgDefAnnotation MsgDefIdenticalOk
|
||||||
|
|
||||||
|
_msgDefEmptyOk :: Lens' (MsgDef f g) Bool
|
||||||
|
_msgDefEmptyOk = _msgDefAnnotation MsgDefEmptyOk
|
||||||
|
|
||||||
|
|
||||||
disambiguateMsgFile :: MsgFile NonEmpty Maybe -> Either (InsOrdHashSet String, InsOrdHashMap String (InsOrdHashSet String)) (MsgFile Identity Maybe)
|
disambiguateMsgFile :: MsgFile NonEmpty Maybe -> Either (InsOrdHashSet String, InsOrdHashMap String (InsOrdHashSet String)) (MsgFile Identity Maybe)
|
||||||
disambiguateMsgFile MsgFile{..}
|
disambiguateMsgFile MsgFile{..}
|
||||||
@ -105,8 +126,8 @@ unionsInsOrdHashMap :: (Foldable f, Eq k, Hashable k)
|
|||||||
-> InsOrdHashMap k (NonEmpty v)
|
-> InsOrdHashMap k (NonEmpty v)
|
||||||
unionsInsOrdHashMap = F.foldl' (InsOrdHashMap.unionWith (<>)) InsOrdHashMap.empty
|
unionsInsOrdHashMap = F.foldl' (InsOrdHashMap.unionWith (<>)) InsOrdHashMap.empty
|
||||||
|
|
||||||
insOrdHashMapKeysSet :: InsOrdHashMap k v -> HashSet k
|
insOrdHashMapKeysSet :: (Eq k, Hashable k) => InsOrdHashMap k v -> InsOrdHashSet k
|
||||||
insOrdHashMapKeysSet = HashMap.keysSet . InsOrdHashMap.toHashMap
|
insOrdHashMapKeysSet = InsOrdHashSet.fromList . map (view _1) . InsOrdHashMap.toList
|
||||||
|
|
||||||
|
|
||||||
mkMessage :: TH.Name -- ^ Foundation type
|
mkMessage :: TH.Name -- ^ Foundation type
|
||||||
@ -168,10 +189,48 @@ mkMessageCommon genType prefix master datName folder defLang = do
|
|||||||
Just x -> return x
|
Just x -> return x
|
||||||
|
|
||||||
let allDefns = insOrdHashMapKeysSet $ msgFileContent defMsgFile
|
let allDefns = insOrdHashMapKeysSet $ msgFileContent defMsgFile
|
||||||
extraDefns = flip HashMap.mapMaybe disambiguated $ \MsgFile{..} -> assertM' (not . HashSet.null) $ insOrdHashMapKeysSet msgFileContent `HashSet.difference` allDefns
|
extraDefns = flip HashMap.mapMaybe disambiguated $ \MsgFile{..} -> assertM' (not . InsOrdHashSet.null) $ insOrdHashMapKeysSet msgFileContent `InsOrdHashSet.difference` allDefns
|
||||||
extraDefnsErrs = flip map (HashMap.toList extraDefns) $ \(lang, extra) -> "Language " <> unpack lang <> ":\n" <> indent 1 (intercalate ", " $ HashSet.toList extra)
|
extraDefnsErrs = flip map (HashMap.toList extraDefns) $ \(lang, extra) -> "Language " <> unpack lang <> ":\n" <> indent 1 (intercalate ", " $ InsOrdHashSet.toList extra)
|
||||||
unless (null extraDefns) . fail $ "Extraneous message definitions:\n" <> indent 2 (unlines extraDefnsErrs)
|
unless (null extraDefns) . fail $ "Extraneous message definitions:\n" <> indent 2 (unlines extraDefnsErrs)
|
||||||
|
|
||||||
|
let identical = filter isNonOkIdentical $ InsOrdHashSet.toList allDefns
|
||||||
|
where
|
||||||
|
isNonOkIdentical :: String -> Bool
|
||||||
|
isNonOkIdentical defnName = not identicalOk && superSingular defns && allEqual defns
|
||||||
|
where defns :: [[MsgDefContent]]
|
||||||
|
defns = mapMaybe (fmap (msgDefContent . runIdentity) . InsOrdHashMap.lookup defnName . msgFileContent) $ HashMap.elems disambiguated
|
||||||
|
|
||||||
|
superSingular :: forall a. [a] -> Bool
|
||||||
|
superSingular = \case
|
||||||
|
_ : _ : _ -> True
|
||||||
|
_other -> False
|
||||||
|
|
||||||
|
allEqual :: [[MsgDefContent]] -> Bool
|
||||||
|
allEqual [] = True
|
||||||
|
allEqual (x:xs) = all (roughEq x) xs
|
||||||
|
|
||||||
|
roughEq :: [MsgDefContent] -> [MsgDefContent] -> Bool
|
||||||
|
roughEq xs ys = not (null xs && null ys) && xs == ys
|
||||||
|
-- roughEq xs ys = fromMaybe False $ do
|
||||||
|
-- let xs' = mapMaybe (^? _MsgDefContentLiteral) xs
|
||||||
|
-- ys' = mapMaybe (^? _MsgDefContentLiteral) ys
|
||||||
|
-- guard . not $ null xs' && null ys'
|
||||||
|
-- return $ xs' == ys'
|
||||||
|
|
||||||
|
identicalOk = any (maybe False (view _msgDefIdenticalOk . runIdentity) . InsOrdHashMap.lookup defnName . msgFileContent) $ HashMap.elems disambiguated
|
||||||
|
unless (null identical) . TH.reportWarning . indent' 2 $ "Message definitions identical for all languages:\n" <> indent 1 (intercalate ", " identical)
|
||||||
|
|
||||||
|
let empties = InsOrdHashMap.fromList . mapMaybe (\defn -> fmap (defn, ) . assertM' (not . HashSet.null) $ nonOkEmpties defn) $ InsOrdHashSet.toList allDefns
|
||||||
|
where
|
||||||
|
nonOkEmpties :: String -> HashSet Lang
|
||||||
|
nonOkEmpties defnName | emptyOk = HashSet.empty
|
||||||
|
| otherwise = HashMap.keysSet $ HashMap.filter (maybe False (isEmpty . msgDefContent . runIdentity) . InsOrdHashMap.lookup defnName . msgFileContent) disambiguated
|
||||||
|
where isEmpty :: [MsgDefContent] -> Bool
|
||||||
|
isEmpty = (&&) <$> all (is _MsgDefContentLiteral) <*> allOf (folded . _MsgDefContentLiteral . folded) Char.isSpace
|
||||||
|
|
||||||
|
emptyOk = any (maybe False (view _msgDefEmptyOk . runIdentity) . InsOrdHashMap.lookup defnName . msgFileContent) $ HashMap.elems disambiguated
|
||||||
|
unless (InsOrdHashMap.null empties) . TH.reportWarning . indent' 2 $ "Message definitions empty for any language:\n" <> indent 1 (unlines . map (\(defn, langs) -> defn <> " (" <> intercalate ", " (map unpack $ HashSet.toList langs) <> ")") $ InsOrdHashMap.toList empties)
|
||||||
|
|
||||||
let defnName defn = TH.mkName $ prefix <> defn
|
let defnName defn = TH.mkName $ prefix <> defn
|
||||||
|
|
||||||
execWriterT @_ @[TH.Dec] $ do
|
execWriterT @_ @[TH.Dec] $ do
|
||||||
@ -189,10 +248,11 @@ mkMessageCommon genType prefix master datName folder defLang = do
|
|||||||
tellMPoint $ TH.dataD (TH.cxt []) datName [] Nothing datCons []
|
tellMPoint $ TH.dataD (TH.cxt []) datName [] Nothing datCons []
|
||||||
|
|
||||||
renderLangs <- iforM disambiguated $ \lang MsgFile{..} -> do
|
renderLangs <- iforM disambiguated $ \lang MsgFile{..} -> do
|
||||||
let missing = allDefns `HashSet.difference` insOrdHashMapKeysSet msgFileContent
|
let missing = allDefns `InsOrdHashSet.difference` insOrdHashMapKeysSet msgFileContent
|
||||||
complete = HashSet.null missing
|
complete = InsOrdHashSet.null missing
|
||||||
unless complete $
|
unless complete $
|
||||||
lift . TH.reportWarning $ "Language " <> unpack lang <> " is not complete, missing:\n" <> indent 2 (unlines $ HashSet.toList missing)
|
lift . TH.reportWarning $ "Language " <> unpack lang <> " is not complete, missing:\n" <> indent 2 (unlines $ InsOrdHashSet.toList missing)
|
||||||
|
|
||||||
funName <- lift $ newUniqueName "renderLang"
|
funName <- lift $ newUniqueName "renderLang"
|
||||||
tellMPoint $ TH.sigD funName [t| $(TH.conT master) -> [Lang] -> $(TH.conT datName) -> $(bool [t|Maybe Text|] [t|Text|] complete) |]
|
tellMPoint $ TH.sigD funName [t| $(TH.conT master) -> [Lang] -> $(TH.conT datName) -> $(bool [t|Maybe Text|] [t|Text|] complete) |]
|
||||||
masterN <- lift $ TH.newName "_master"
|
masterN <- lift $ TH.newName "_master"
|
||||||
@ -262,12 +322,18 @@ pMsgLine = flip P.label ".msg line" $ do
|
|||||||
P.skipMany1 P.space
|
P.skipMany1 P.space
|
||||||
accumInsOrdHashMap <$> P.sepEndBy pMsgDefVar (P.many1 P.space)
|
accumInsOrdHashMap <$> P.sepEndBy pMsgDefVar (P.many1 P.space)
|
||||||
spaces
|
spaces
|
||||||
|
let pAnnotations = Set.fromList <$> P.sepBy1 (P.char '!' *> pMsgDefAnnotation) spaces
|
||||||
|
msgDefAnnotations <- P.option Set.empty pAnnotations
|
||||||
void $ P.char ':'
|
void $ P.char ':'
|
||||||
spaces
|
spaces
|
||||||
msgDefContent <- P.manyTill pMsgDefContent . P.lookAhead . P.try $ void P.endOfLine <|> P.eof
|
msgDefContent <- P.manyTill pMsgDefContent . P.lookAhead . P.try $ void P.endOfLine <|> P.eof
|
||||||
return . InsOrdHashMap.singleton constrBase $ (NonEmpty.:| []) MsgDef{..}
|
return . InsOrdHashMap.singleton constrBase $ (NonEmpty.:| []) MsgDef{..}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
pMsgDefAnnotation :: P.Parser MsgDefAnnotation
|
||||||
|
pMsgDefAnnotation = (MsgDefIdenticalOk <$ P.string "ident-ok")
|
||||||
|
<|> (MsgDefEmptyOk <$ P.string "empty-ok")
|
||||||
|
|
||||||
pMsgDefVar :: P.Parser (String, Maybe TH.Type)
|
pMsgDefVar :: P.Parser (String, Maybe TH.Type)
|
||||||
pMsgDefVar = do
|
pMsgDefVar = do
|
||||||
varBase <- (:) <$> P.lower <*> P.many (P.upper <|> P.lower <|> P.digit <|> P.char '\'')
|
varBase <- (:) <$> P.lower <*> P.many (P.upper <|> P.lower <|> P.digit <|> P.char '\'')
|
||||||
|
|||||||
Reference in New Issue
Block a user