refactor(messages): admin-folder

This commit is contained in:
Winnie Ros 2021-04-02 16:59:09 +02:00
parent f51679697f
commit cdaf1420e8
8 changed files with 162 additions and 173 deletions

View File

@ -83,6 +83,8 @@ TableFileModified: Letzte Änderung
TableCorState: Status
TableCorProportion: Anteil
TableCorrector: Korrektor
TableDegreeShort: Abschlusskürzel
TableDegreeName: Abschluss
#headings
HeadingLegal: Rechtliche Informationen
@ -91,8 +93,6 @@ ParticipantsList: Kursteilnehmerlisten
ParticipantsIntersect: Überschneidung von Kursteilnehmer:innen
HeadingProfileData: Persönliche Daten
HeadingSchoolList: Institute
HeadingAdminCrontab: Crontab
HeadingAdminTokens: Tokens ausstellen
HeadingCorrectionsAssign: Zuteilung der Korrekturen
HeadingUserAdd: Benutzer:in anlegen
CorrectorsChange: Korrektoren ändern
@ -115,10 +115,7 @@ RegisterFrom: Anmeldungen von
RegisterTo: Anmeldungen bis
TutorialDeRegUntil: Abmeldungen bis
GenericKey: Schlüssel
GenericShort: Kürzel
GenericIsNew: Neu
GenericHasConflict: Konflikt
GenericBack: Zurück
GenericChange: Änderung
GenericNumChange: +/-
@ -706,54 +703,13 @@ SubmissionUpdated: Abgabe erfolgreich ersetzt
ColumnStudyFeatures: Studiendaten
AdminFeaturesHeading: Studiengänge
StudyFeaturesDegrees: Abschlüsse
StudyFeaturesTerms: Studiengänge
StudyFeaturesNameCandidates: Namens-Kandidaten
StudyFeaturesParentCandidates: Kandidaten für Unterstudiengänge
StudyFeaturesStandaloneCandidates: Kandidaten für Einzelstudiengänge
StudyFeatureNameInference: Studiengangschlüssel-Inferenz
StudyFeatureParentInference: Unterstudiengang-Inferenz
StudyFeatureInferenceNoNameConflicts: Keine Konflikte beobachtet
StudyFeatureInferenceNameConflictsHeading: Studiengangseinträge mit beobachteten Konflikten
FieldPrimary: Hauptfach
FieldSecondary: Nebenfach
ShortFieldPrimary: HF
ShortFieldSecondary: NF
NoStudyField: Kein Studienfach
StudyTermsParentMissing: Elternteil wird benötigt
DegreeKey: Abschlussschlüssel
DegreeName: Abschluss
DegreeShort: Abschlusskürzel
StudyTermsKey: Studiengangschlüssel
StudyTermsName: Studiengang
StudyTermsShort: Studiengangkürzel
StudyTermsChangeSuccess: Zuordnung Studiengänge aktualisiert
StudyDegreeChangeSuccess: Zuordnung Abschlüsse aktualisiert
StudyCandidateIncidence: Synchronisation
AmbiguousNameCandidatesRemoved n@Int: #{show n} #{pluralDE n "uneindeutiger Kandidat" "uneindeutige Kandiaten"} entfernt
RedundantNameCandidatesRemoved n@Int: #{show n} bereits #{pluralDE n "bekannter Namenskandidat" "bekannte Namenskandiaten"} entfernt
RedundantParentCandidatesRemoved n@Int: #{show n} bereits #{pluralDE n "bekannter Elternkandidat" "bekannte Elternkandiaten"} entfernt
RedundantStandaloneCandidatesRemoved n@Int: #{show n} bereits #{pluralDE n "bekannter Einzelstudiengangskandidat" "bekannte Einzelstudiengangskandiaten"} entfernt
NameCandidatesInferred n@Int: #{show n} neue #{pluralDE n "Studiengangszuordnung" "Studiengangszuordnungen"} inferiert
NoNameCandidatesInferred: Keine neuen Studienganszuordnungen inferiert
ParentCandidatesInferred n@Int: #{show n} #{pluralDE n "neuer Unterstudiengang" "neue Unterstudiengänge"} inferiert
NoParentCandidatesInferred: Keine neuen Unterstudiengänge inferiert
AllNameIncidencesDeleted: Alle Namens-Beobachtungen wurden gelöscht.
AllParentIncidencesDeleted: Alle Unterstudiengang-Beobachtungen wurden gelöscht.
AllStandaloneIncidencesDeleted: Alle Einzelstudiengang-Beobachtungen wurden gelöscht.
IncidencesDeleted n@Int: #{show n} #{pluralDE n "Beobachtung" "Beobachtungen"} gelöscht
StudyTermIsNew: Neu
StudyFeatureConflict: Es wurden Konflikte in der Studiengang-Zuordnung gefunden
MailTestFormEmail: E-Mail-Adresse
MailTestFormLanguages: Spracheinstellungen
MailTestSubject: Uni2work Test-E-Mail
MailTestContent: Dies ist eine Test-E-Mail versandt von Uni2work. Von Ihrer Seite ist keine Handlung notwendig.
@ -1011,7 +967,6 @@ ErrorResponseNotAuthenticated: Um Zugriff auf einige Teile des Systems zu erhalt
ErrorResponseBadMethod requestMethodText@Text: Ihr Browser kann auf mehrere verschiedene Arten versuchen mit den vom System angebotenen Ressourcen zu interagieren. Die aktuell versuchte Methode (#{requestMethodText}) wird nicht unterstützt.
ErrorResponseEncrypted: Um keine sensiblen Daten preiszugeben wurden nähere Details verschlüsselt. Wenn Sie eine Anfrage an den Support schicken fügen Sie bitte die unten aufgeführten verschlüsselten Daten mit an.
ErrMsgCiphertext: Verschlüsselte Fehlermeldung
EncodedSecretBoxCiphertextTooShort: Verschlüsselte Daten zu kurz um valide zu sein
EncodedSecretBoxInvalidBase64 base64Err@String: Verschlüsselte Daten nicht korrekt base64url-kodiert: #{base64Err}
EncodedSecretBoxInvalidPadding: Verschlüsselte Daten sind nicht korrekt padded
@ -1550,15 +1505,6 @@ ShortSexMale: m
ShortSexFemale: w
ShortSexNotApplicable: k.A.
StudySubTermsChildKey: Kind
StudySubTermsChildName: Kindname
StudySubTermsParentKey: Elter
StudySubTermsParentName: Eltername
StudyTermsDefaultDegree: Default Abschluss
StudyTermsDefaultFieldType: Default Typ
MenuLanguage: Sprache
LanguageChanged: Sprache erfolgreich geändert
@ -1658,27 +1604,6 @@ ExampleUser3DisplayName: Beispiel
CourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen}
BearerTokenUsageWarning: Mit diesem Interface können quesi beliebige Rechte als Tokens kodiert und somit ohne wesentliche weitere Beschränkung frei übertragen werden. Benutzen Sie dieses Interface nur, wenn Sie von einem erfahrenen Entwickler über die Auswirkungen des konkreten Tokens, dass sie ausstellen möchten, beraten wurden!
BearerTokenAuthorityGroups: Token-Authorität (Gruppen)
BearerTokenAuthorityGroupsTip: Die primären Benutzer aller angegebenen Gruppen müssen Zugriff auf eine Route haben, damit das Token den Zugriff auf diese Route erlaubt.
BearerTokenAuthorityGroupMissing: Gruppe wird benötigt
BearerTokenAuthorityUsers: Token-Authorität (Benutzer)
BearerTokenAuthorityUsersTip: Alle angegebenen Benutzer müssen Zugriff auf eine Route haben, damit das Token den Zugriff auf diese Route erlaubt. Der Aussteller muss, bei mit diesem Benutzerinterface erzeugten Tokens, auch Zugriff auf die Route haben (er wird automatisch der Menge von Token-Authoritäten hinzugefügt).
BearerTokenAuthorityUnknownUser email@UserEmail: Ein Nutzer mit E-Mail #{email} ist dem System nicht bekannt
BearerTokenRoutes: Erlaubte Routen
BearerTokenRoutesTip: Wenn die Token-Validität nach Routen eingeschränkt und keine Routen angegeben werden, ist das Token nirgends gültig.
BearerTokenRouteMissing: Route wird benötigt
BearerTokenRestrictions: Routen-spezifische Einschränkungen
BearerTokenRestrictRoutes: Token-Validität nach Routen einschränken
BearerTokenRestrictRoute: Route
BearerTokenRestrictValue: Einschränkung
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.
BearerTokenOverrideExpiration: Ablaufzeitpunkt überschreiben
BearerTokenExpires: Ablaufzeitpunkt
BearerTokenExpiresTip: Wird der Ablaufzeitpunkt überschrieben und kein Ablaufzeitpunkt angegeben, ist das Token für immer gültig.
BearerTokenOverrideStart: Startzeitpunkt
BearerTokenOverrideStartTip: Wird kein Startzeitpunkt angegeben, wird bei Verwendung des Tokens nur der Ablaufzeitpunkt überprüft.
FaqTitle: Häufig gestellte Fragen
MultiActionUnknownAction: In einem von einem Eingabefeld abhängigen Formular wurde ein Wert gewählt, für den kein Formular verfügbar ist
@ -1688,9 +1613,6 @@ CourseParticipantActive: Teilnehmer
CourseParticipantInactive: Abgemeldet
CourseParticipantNoShow: Nicht erschienen
TestDownload: Download-Test
TestDownloadMaxSize: Maximale Dateigröße
TestDownloadMode: Modus
TestDownloadDirect: Direkte Generierung
TestDownloadInTransaction: Generierung während Datenbank-Transaktion
TestDownloadFromDatabase: Generierung während Download aus Datenbank
@ -1719,10 +1641,6 @@ PersonalisedSheetFilesDownloadSurnames: Mit Nachnamen
PersonalisedSheetFilesDownloadMatriculations: Mit Matrikelnummern
PersonalisedSheetFilesDownloadGroups: Mit festen Abgabegruppen
AdminCrontabNotGenerated: (Noch) keine Crontab generiert
CronMatchAsap: ASAP
CronMatchNone: Nie
SystemExamOffice: Prüfungsverwaltung
SystemFaculty: Fakultätsmitglied
SystemStudent: Student

View File

@ -82,6 +82,8 @@ TableFileModified: Last changed
TableCorState: State
TableCorProportion: Proportion
TableCorrector: Corrector
TableDegreeShort: Degree shorthand
TableDegreeName: Degree
#headings
HeadingLegal: Legal
@ -90,8 +92,6 @@ ParticipantsList: Lists of course participants
ParticipantsIntersect: Common course participants
HeadingProfileData: Personal information
HeadingSchoolList: Departments
HeadingAdminCrontab: Crontab
HeadingAdminTokens: Issue tokens
HeadingCorrectionsAssign: Assign corrections
HeadingUserAdd: Add user
CorrectorsChange: Adjust correctors
@ -116,10 +116,7 @@ RegisterFrom: Enrolment starts
RegisterTo: Enrolment ends
TutorialDeRegUntil: Deregistration until
GenericKey: Key
GenericShort: Shorthand
GenericIsNew: New
GenericHasConflict: Conflict
GenericBack: Back
GenericChange: Change
GenericNumChange: +/-
@ -708,51 +705,13 @@ SubmissionUpdated: Successfully replaced submission
ColumnStudyFeatures: Features of study
AdminFeaturesHeading: Features of study
StudyFeaturesDegrees: Degrees
StudyFeaturesTerms: Terms of Study
StudyFeaturesNameCandidates: Name candidates
StudyFeaturesParentCandidates: Parent candidates
StudyFeaturesStandaloneCandidates: Standalone candidates
StudyFeatureNameInference: Infer field of study mapping
StudyFeatureParentInference: Infer field of study parent relation
StudyFeatureInferenceNoNameConflicts: No observed conflicts
StudyFeatureInferenceNameConflictsHeading: Fields of study with observed conflicts
FieldPrimary: Major
FieldSecondary: Minor
ShortFieldPrimary: Mj
ShortFieldSecondary: Mn
NoStudyField: No field of study
StudyTermsParentMissing: Parent is required
DegreeKey: Degree key
DegreeName: Degree
DegreeShort: Degree shorthand
StudyTermsKey: Field key
StudyTermsName: Field of study
StudyTermsShort: Field shorthand
StudyTermsChangeSuccess: Successfully updated fields of study
StudyDegreeChangeSuccess: Successfully updated degrees
StudyCandidateIncidence: Synchronisation
AmbiguousNameCandidatesRemoved n: Successfully removed #{n} ambiguous #{pluralEN n "candidate" "candidates"}
RedundantNameCandidatesRemoved n: Successfully removed #{n} rendundant #{pluralEN n "name-candidate" "name-candidates"}
RedundantParentCandidatesRemoved n: Successfully removed #{n} rendundant #{pluralEN n "parent-candidate" "parent-candidates"}
RedundantStandaloneCandidatesRemoved n: Successfully removed #{n} rendundant #{pluralEN n "standalone-candidate" "standalone-candidates"}
NameCandidatesInferred n: Successfully inferred #{n} field #{pluralEN n "mapping" "mappings"}
NoNameCandidatesInferred: No new name-mappings inferred
AllNameIncidencesDeleted: Successfully deleted all name observations
AllParentIncidencesDeleted: Successfully deleted all parent-relation observations
AllStandaloneIncidencesDeleted: Successfully deleted all standalone observations
ParentCandidatesInferred n: Successfully inferred #{n} field #{pluralEN n "parent-relation" "parent-reliations"}
NoParentCandidatesInferred: No new parent-relations inferred
IncidencesDeleted n: Successfully deleted #{show n} #{pluralEN n "observation" "observations"}
StudyTermIsNew: New
StudyFeatureConflict: Observed conflicts in field mapping
MailTestFormEmail: Email address
MailTestFormLanguages: Language settings
MailTestSubject: Uni2work test email
MailTestContent: This is a test email sent by Uni2work. No action on your part is required.
@ -1009,7 +968,6 @@ ErrorResponseNotAuthenticated: To be granted access to most parts of Uni2work yo
ErrorResponseBadMethod requestMethodText: Your browser can interact in multiple ways with the resources offered by Uni2work. The requested method (#{requestMethodText}) is not supported here.
ErrorResponseEncrypted: In order not to reveal sensitive information further details have been encrypted. If you send a support request, please include the encrypted data listed below.
ErrMsgCiphertext: Encrypted error message
EncodedSecretBoxCiphertextTooShort: Encrypted data are too short to be valid
EncodedSecretBoxInvalidBase64 base64Err: Encrypted data ar not correctly base64url-encoded: #{base64Err}
EncodedSecretBoxInvalidPadding: Encrypted data are not padded correctly
@ -1543,15 +1501,6 @@ ShortSexMale: m
ShortSexFemale: f
ShortSexNotApplicable: N/A
StudySubTermsChildKey: Child
StudySubTermsChildName: Child-Name
StudySubTermsParentKey: Parent
StudySubTermsParentName: Parent-Name
StudyTermsDefaultDegree: Default degree
StudyTermsDefaultFieldType: Default type
MenuLanguage: Language
LanguageChanged: Language changed successfully
@ -1651,28 +1600,6 @@ ExampleUser3DisplayName: Example
CourseOption tid ssh coursen: #{tid} - #{ssh} - #{coursen}
BearerTokenUsageWarning: Using this interface you are able to encode essentially arbitrary permissions inte bearer tokens. This allows you to freely hand permissions off arbitrarily and without relevant restrictions. Only use this interface if you have discussed the consequences of the specific token, that you want to issue, with an experienced developer!
BearerTokenAuthorityGroups: Authority (groups)
BearerTokenAuthorityGroupsTip: All primary users of the groups listed here need to have the requisite permissions to access a route in order for the created token to grant permission to do so as well.
BearerTokenAuthorityGroupMissing: Group is required
BearerTokenAuthorityUsers: Authority (users
BearerTokenAuthorityUsersTip: All users listed here need to have the requisite permissions to access a route in order for the created token to grant permission to do so as well. The user issuing the token using this interface also needs to have permission to access that route (they are automatically added to the list of authorities).
BearerTokenAuthorityUnknownUser email: Could not find any user with email #{email}
BearerTokenRoutes: Permitted routes
BearerTokenRoutesTip: If the token is restricted to certain routes and no routes are listed, the token is valid nowhere.
BearerTokenRouteMissing: Route is required
BearerTokenRestrictions: Route-specific restrictions
BearerTokenRestrictRoutes: Restrict token to certain routes
BearerTokenRestrictRoute: Route
BearerTokenRestrictValue: Restriction
BearerTokenAdditionalAuth: Additional authorisation
BearerTokenAdditionalAuthTip: If nothing is entered, no additional authorisation will be performed when the token is used. Mere posession of the token will be sufficient.
BearerTokenOverrideExpiration: Override expiration time
BearerTokenExpires: Expiration time
BearerTokenExpiresTip: If no expiration time is given, the token will not expire. It will be valid forever.
BearerTokenOverrideStart: Start time
BearerTokenOverrideStartTip: If no start time is given, only the expiration time will be checked when the token is used.
FaqTitle: Frequently asked questions
MultiActionUnknownAction: In a form dependent on the value of a field a value was given for which no form is available
@ -1682,9 +1609,6 @@ CourseParticipantActive: Participant
CourseParticipantInactive: Deregistered
CourseParticipantNoShow: No show
TestDownload: Download test
TestDownloadMaxSize: Maximum filesize
TestDownloadMode: Mode
TestDownloadDirect: Direct generation
TestDownloadInTransaction: Generate during database transaction
TestDownloadFromDatabase: Generate while streaming from database
@ -1713,10 +1637,6 @@ PersonalisedSheetFilesDownloadSurnames: With surnames
PersonalisedSheetFilesDownloadMatriculations: With matriculation numbers
PersonalisedSheetFilesDownloadGroups: With registered submission groups
AdminCrontabNotGenerated: Crontab not (yet) generated
CronMatchAsap: ASAP
CronMatchNone: Never
SystemExamOffice: Exam office
SystemFaculty: Faculty member
SystemStudent: Student

View File

@ -0,0 +1,75 @@
TestDownloadMaxSize: Maximale Dateigröße
TestDownloadMode: Modus
HeadingAdminCrontab: Crontab
AdminInstanceId: Instanz-Nummer:in
AdminCrontabNotGenerated: (Noch) keine Crontab generiert
CronMatchAsap: ASAP
CronMatchNone: Nie
ErrMsgCiphertext: Verschlüsselte Fehlermeldung
AmbiguousNameCandidatesRemoved n@Int: #{show n} #{pluralDE n "uneindeutiger Kandidat/uneindeutige Kandidatin" "uneindeutige Kandiat:innen"} entfernt
RedundantNameCandidatesRemoved n@Int: #{show n} bereits #{pluralDE n "bekannter Namenskandidat/bekannte NamensKandidatin" "bekannte Namenskandiat:innen"} entfernt
StudyFeatureConflict: Es wurden Konflikte in der Studiengang-Zuordnung gefunden
NameCandidatesInferred n@Int: #{show n} neue #{pluralDE n "Studiengangszuordnung" "Studiengangszuordnungen"} inferiert
NoNameCandidatesInferred: Keine neuen Studienganszuordnungen inferiert
AllNameIncidencesDeleted: Alle Namens-Beobachtungen wurden gelöscht.
AllParentIncidencesDeleted: Alle Unterstudiengang-Beobachtungen wurden gelöscht.
AllStandaloneIncidencesDeleted: Alle Einzelstudiengang-Beobachtungen wurden gelöscht.
IncidencesDeleted n@Int: #{show n} #{pluralDE n "Beobachtung" "Beobachtungen"} gelöscht
RedundantParentCandidatesRemoved n@Int: #{show n} bereits #{pluralDE n "bekannter Elternkandidat/bekannte Elternkandidatin" "bekannte Elternkandiat:innen"} entfernt
RedundantStandaloneCandidatesRemoved n@Int: #{show n} bereits #{pluralDE n "bekannter Einzelstudiengangskandidat/bekannte Einzelstudiengangskandidatin" "bekannte Einzelstudiengangskandiat:innen"} entfernt
ParentCandidatesInferred n@Int: #{show n} #{pluralDE n "neuer Unterstudiengang" "neue Unterstudiengänge"} inferiert
NoParentCandidatesInferred: Keine neuen Unterstudiengänge inferiert
StudyDegreeChangeSuccess: Zuordnung Abschlüsse aktualisiert
StudyTermsShort: Studiengangkürzel
StudyTermsChangeSuccess: Zuordnung Studiengänge aktualisiert
StudyCandidateIncidence: Synchronisation
StudyTermIsNew: Neu
AdminFeaturesHeading: Studiengänge
StudyTermsParentMissing: Elternteil wird benötigt
GenericKey: Schlüssel
StudySubTermsParentKey: Elter
StudySubTermsParentName: Eltername
GenericIsNew: Neu
GenericHasConflict: Konflikt
StudyTermsKey: Studiengangschlüssel
StudyTermsName: Studiengang
StudyTermsDefaultDegree: Default Abschluss
StudyTermsDefaultFieldType: Default Typ
StudySubTermsChildKey: Kind
StudySubTermsChildName: Kindname
MailTestFormEmail: E-Mail-Adresse
MailTestFormLanguages: Spracheinstellungen
TestDownload: Download-Test
BearerTokenUsageWarning: Mit diesem Interface können quesi beliebige Rechte als Tokens kodiert und somit ohne wesentliche weitere Beschränkung frei übertragen werden. Benutzen Sie dieses Interface nur, wenn Sie von einem erfahrenen Entwickler/einer erfahrenen Entwicklerin über die Auswirkungen des konkreten Tokens, dass sie ausstellen möchten, beraten wurden!
BearerTokenAuthorityGroups: Token-Authorität (Gruppen)
BearerTokenAuthorityGroupsTip: Die primären Benutzer:innen aller angegebenen Gruppen müssen Zugriff auf eine Route haben, damit das Token den Zugriff auf diese Route erlaubt.
BearerTokenAuthorityGroupMissing: Gruppe wird benötigt
BearerTokenAuthorityUsers: Token-Authorität (Benutzer:innen)
BearerTokenAuthorityUsersTip: Alle angegebenen Benutzer:innen müssen Zugriff auf eine Route haben, damit das Token den Zugriff auf diese Route erlaubt. Der Aussteller muss, bei mit diesem Benutzerinterface erzeugten Tokens, auch Zugriff auf die Route haben (er wird automatisch der Menge von Token-Authoritäten hinzugefügt).
BearerTokenAuthorityUnknownUser email@UserEmail: Nutzer:in mit E-Mail #{email} ist dem System nicht bekannt
BearerTokenRoutes: Erlaubte Routen
BearerTokenRoutesTip: Wenn die Token-Validität nach Routen eingeschränkt und keine Routen angegeben werden, ist das Token nirgends gültig.
BearerTokenRouteMissing: Route wird benötigt
BearerTokenRestrictions: Routen-spezifische Einschränkungen
BearerTokenRestrictRoutes: Token-Validität nach Routen einschränken
BearerTokenRestrictRoute: Route
BearerTokenRestrictValue: Einschränkung
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.
BearerTokenOverrideExpiration: Ablaufzeitpunkt überschreiben
BearerTokenExpires: Ablaufzeitpunkt
BearerTokenExpiresTip: Wird der Ablaufzeitpunkt überschrieben und kein Ablaufzeitpunkt angegeben, ist das Token für immer gültig.
BearerTokenOverrideStart: Startzeitpunkt
BearerTokenOverrideStartTip: Wird kein Startzeitpunkt angegeben, wird bei Verwendung des Tokens nur der Ablaufzeitpunkt überprüft.
HeadingAdminTokens: Tokens ausstellen
#templates adminFeautures
StudyFeaturesDegrees: Abschlüsse
StudyFeaturesTerms: Studiengänge
StudyFeaturesNameCandidates: Namens-Kandidat:innen
StudyFeaturesParentCandidates: Kandidat:innen für Unterstudiengänge
StudyFeaturesStandaloneCandidates: Kandidat:inen für Einzelstudiengänge
StudyFeatureNameInference: Studiengangschlüssel-Inferenz
StudyFeatureParentInference: Unterstudiengang-Inferenz
StudyFeatureInferenceNoNameConflicts: Keine Konflikte beobachtet
StudyFeatureInferenceNameConflictsHeading: Studiengangseinträge mit beobachteten Konflikten

View File

@ -0,0 +1,75 @@
TestDownloadMaxSize: Maximum filesize
TestDownloadMode: Mode
HeadingAdminCrontab: Crontab
AdminInstanceId: Instance id
AdminCrontabNotGenerated: Crontab not (yet) generated
CronMatchAsap: ASAP
CronMatchNone: Never
ErrMsgCiphertext: Encrypted error message
AmbiguousNameCandidatesRemoved n: Successfully removed #{n} ambiguous #{pluralEN n "candidate" "candidates"}
RedundantNameCandidatesRemoved n: Successfully removed #{n} rendundant #{pluralEN n "name-candidate" "name-candidates"}
StudyFeatureConflict: Observed conflicts in field mapping
NameCandidatesInferred n: Successfully inferred #{n} field #{pluralEN n "mapping" "mappings"}
NoNameCandidatesInferred: No new name-mappings inferred
AllNameIncidencesDeleted: Successfully deleted all name observations
AllParentIncidencesDeleted: Successfully deleted all parent-relation observations
AllStandaloneIncidencesDeleted: Successfully deleted all standalone observations
IncidencesDeleted n: Successfully deleted #{show n} #{pluralEN n "observation" "observations"}
RedundantParentCandidatesRemoved n: Successfully removed #{n} rendundant #{pluralEN n "parent-candidate" "parent-candidates"}
RedundantStandaloneCandidatesRemoved n: Successfully removed #{n} rendundant #{pluralEN n "standalone-candidate" "standalone-candidates"}
ParentCandidatesInferred n: Successfully inferred #{n} field #{pluralEN n "parent-relation" "parent-reliations"}
NoParentCandidatesInferred: No new parent-relations inferred
StudyDegreeChangeSuccess: Successfully updated degrees
StudyTermsShort: Field shorthand
StudyTermsChangeSuccess: Successfully updated fields of study
StudyCandidateIncidence: Synchronisation
StudyTermIsNew: New
AdminFeaturesHeading: Features of study
StudyTermsParentMissing: Parent is required
GenericKey: Key
StudySubTermsParentKey: Parent
StudySubTermsParentName: Parent-Name
GenericIsNew: New
GenericHasConflict: Conflict
StudyTermsKey: Field key
StudyTermsName: Field of study
StudyTermsDefaultDegree: Default degree
StudyTermsDefaultFieldType: Default type
StudySubTermsChildKey: Child
StudySubTermsChildName: Child-Name
MailTestFormEmail: Email address
MailTestFormLanguages: Language settings
TestDownload: Download test
BearerTokenUsageWarning: Using this interface you are able to encode essentially arbitrary permissions inte bearer tokens. This allows you to freely hand permissions off arbitrarily and without relevant restrictions. Only use this interface if you have discussed the consequences of the specific token, that you want to issue, with an experienced developer!
BearerTokenAuthorityGroups: Authority (groups)
BearerTokenAuthorityGroupsTip: All primary users of the groups listed here need to have the requisite permissions to access a route in order for the created token to grant permission to do so as well.
BearerTokenAuthorityGroupMissing: Group is required
BearerTokenAuthorityUsers: Authority (users
BearerTokenAuthorityUsersTip: All users listed here need to have the requisite permissions to access a route in order for the created token to grant permission to do so as well. The user issuing the token using this interface also needs to have permission to access that route (they are automatically added to the list of authorities).
BearerTokenAuthorityUnknownUser email: Could not find any user with email #{email}
BearerTokenRoutes: Permitted routes
BearerTokenRoutesTip: If the token is restricted to certain routes and no routes are listed, the token is valid nowhere.
BearerTokenRouteMissing: Route is required
BearerTokenRestrictions: Route-specific restrictions
BearerTokenRestrictRoutes: Restrict token to certain routes
BearerTokenRestrictRoute: Route
BearerTokenRestrictValue: Restriction
BearerTokenAdditionalAuth: Additional authorisation
BearerTokenAdditionalAuthTip: If nothing is entered, no additional authorisation will be performed when the token is used. Mere posession of the token will be sufficient.
BearerTokenOverrideExpiration: Override expiration time
BearerTokenExpires: Expiration time
BearerTokenExpiresTip: If no expiration time is given, the token will not expire. It will be valid forever.
BearerTokenOverrideStart: Start time
BearerTokenOverrideStartTip: If no start time is given, only the expiration time will be checked when the token is used.
HeadingAdminTokens: Issue tokens
#templates adminfeatures
StudyFeaturesDegrees: Degrees
StudyFeaturesTerms: Terms of Study
StudyFeaturesNameCandidates: Name candidates
StudyFeaturesParentCandidates: Parent candidates
StudyFeaturesStandaloneCandidates: Standalone candidates
StudyFeatureNameInference: Infer field of study mapping
StudyFeatureParentInference: Infer field of study parent relation
StudyFeatureInferenceNoNameConflicts: No observed conflicts
StudyFeatureInferenceNameConflictsHeading: Fields of study with observed conflicts

View File

@ -6,7 +6,7 @@ module Foundation.I18n
, UniWorXMessage(..), UniWorXTestMessage(..), UniWorXSettingsMessage(..)
, UniWorXHelpMessage(..), UniWorXNavigationMessage(..), UniWorXWorkflowMessage(..)
, UniWorXCourseMessage(..), UniWorXAllocationMessage(..), UniWorXExamMessage(..)
, UniWorXSheetMessage(..)
, UniWorXSheetMessage(..), UniWorXAdminMessage(..)
, ShortTermIdentifier(..)
, MsgLanguage(..)
, ShortSex(..)
@ -144,6 +144,7 @@ mkMessageAddition ''UniWorX "Course" "messages/uniworx/uniworx_new/courses" "de-
mkMessageAddition ''UniWorX "Allocation" "messages/uniworx/uniworx_new/allocation" "de-de-formal"
mkMessageAddition ''UniWorX "Exam" "messages/uniworx/uniworx_new/exam" "de-de-formal"
mkMessageAddition ''UniWorX "Sheet" "messages/uniworx/uniworx_new/sheet" "de-de-formal"
mkMessageAddition ''UniWorX "Admin" "messages/uniworx/uniworx_new/admin" "de-de-formal"
mkMessageVariant ''UniWorX ''CampusMessage "messages/auth/campus" "de"
mkMessageVariant ''UniWorX ''DummyMessage "messages/auth/dummy" "de"
mkMessageVariant ''UniWorX ''PWHashMessage "messages/auth/pw-hash" "de"

View File

@ -56,7 +56,7 @@ getAdminCrontabR = do
#{toPathPiece t}
<section>
<dl .deflist>
<dt .deflist__dt>_{MsgInstanceId}
<dt .deflist__dt>_{MsgAdminInstanceId}
<dd .deflist__dd .uuid>#{UUID.toText instanceId}
<section>
$maybe (genTime, crontab) <- mCrontab

View File

@ -329,8 +329,8 @@ postAdminFeaturesR = do
dbtProj = return
dbtColonnade = formColonnade $ mconcat
[ sortable (Just "key") (i18nCell MsgGenericKey) (numCell . view (_dbrOutput . _entityVal . _studyDegreeKey))
, sortable (Just "name") (i18nCell MsgDegreeName) (textInputCell _1 (_dbrOutput . _entityVal . _studyDegreeName) (_dbrOutput . _entityKey))
, sortable (Just "short") (i18nCell MsgDegreeShort) (textInputCell _2 (_dbrOutput . _entityVal . _studyDegreeShorthand) (_dbrOutput . _entityKey))
, sortable (Just "name") (i18nCell MsgTableDegreeName) (textInputCell _1 (_dbrOutput . _entityVal . _studyDegreeName) (_dbrOutput . _entityKey))
, sortable (Just "short") (i18nCell MsgTableDegreeShort) (textInputCell _2 (_dbrOutput . _entityVal . _studyDegreeShorthand) (_dbrOutput . _entityKey))
]
dbtSorting = Map.fromList
[ ("key" , SortColumn (E.^. StudyDegreeKey))

View File

@ -757,7 +757,7 @@ fltrFieldUI mPrev =
colDegreeShort :: (IsDBTable m c, HasStudyDegree x) => Getting (Leftmost x) a x -> Colonnade Sortable a (DBCell m c)
colDegreeShort terms = sortable (Just "degree-short") (i18nCell MsgDegreeShort) $ maybe mempty cellHasDegreeShort . firstOf terms
colDegreeShort terms = sortable (Just "degree-short") (i18nCell MsgTableDegreeShort) $ maybe mempty cellHasDegreeShort . firstOf terms
sortDegreeShort :: IsString d => (t -> E.SqlExpr (Maybe (Entity StudyDegree))) -> (d, SortColumn t r')
sortDegreeShort queryTerms = ("degree-short", SortColumn $ queryTerms >>> (E.?. StudyDegreeShorthand))
@ -777,7 +777,7 @@ fltrDegree queryFeatures = ( "degree"
fltrDegreeUI :: Maybe (Map FilterKey [Text]) -> AForm (YesodDB UniWorX) (Map FilterKey [Text])
fltrDegreeUI mPrev =
prismAForm (singletonFilter "degree") mPrev $ aopt textField (fslI MsgDegreeName)
prismAForm (singletonFilter "degree") mPrev $ aopt textField (fslI MsgTableDegreeName)
colStudyFeatures :: OpticColonnade UserTableStudyFeatures
@ -821,7 +821,7 @@ fltrRelevantStudyFeaturesDegree queryTermUser = singletonMap "features-degree" .
fltrRelevantStudyFeaturesDegreeUI :: Maybe (Map FilterKey [Text]) -> AForm (YesodDB UniWorX) (Map FilterKey [Text])
fltrRelevantStudyFeaturesDegreeUI mPrev =
prismAForm (singletonFilter "features-degree") mPrev $ aopt textField (fslI MsgDegreeName)
prismAForm (singletonFilter "features-degree") mPrev $ aopt textField (fslI MsgTableDegreeName)
fltrRelevantStudyFeaturesSemester :: OpticFilterColumn' t (Set Text) (E.SqlExpr (E.Value TermId), E.SqlExpr (E.Value UserId))
fltrRelevantStudyFeaturesSemester queryTermUser = singletonMap "features-semester" . FilterColumn $ \t criterias ->