diff --git a/messages/uniworx/en-eu.msg b/messages/uniworx/en-eu.msg index 4695fd9c7..eecb01017 100644 --- a/messages/uniworx/en-eu.msg +++ b/messages/uniworx/en-eu.msg @@ -714,6 +714,7 @@ LoginNecessary: Please log in first! InternalLdapError: Internal error during campus login +CampusUserInvalidIdent: Could not determine unique identification during campus login CampusUserInvalidEmail: Could not determine email address during campus login CampusUserInvalidDisplayName: Could not determine display name during campus login CampusUserInvalidGivenName: Could not determine given name during campus login @@ -865,6 +866,9 @@ MailExamOfficeExamResultsIntro courseName termDesc examn: A course administrator MailSubjectExamOfficeExamResultsChanged csh examn: Results for #{examn} of #{csh} were changed MailExamOfficeExamResultsChangedIntro courseName termDesc examn: A course administrator has changed exam results for #{examn} of the course #{courseName} (#{termDesc}). +MailSubjectExamOfficeExternalExamResults coursen@CourseName examn@ExamName: Results for #{examn} in #{coursen} +MailExamOfficeExternalExamResultsIntro coursen@CourseName termDesc@Text examn@ExamName: A course administrator has changed or initially made available the results for #{examn} of the course {coursen} (#{termDesc}). + MailSubjectExamRegistrationActive csh examn: Registration is now allowed for #{examn} of #{csh} MailExamRegistrationActiveIntro courseName termDesc examn: You may now register for #{examn} of the course #{courseName} (#{termDesc}). @@ -1259,7 +1263,9 @@ BreadcrumbExternalExamUsers: Participants BreadcrumbExternalExamGrades: Exam results BreadcrumbExternalExamStaffInvite: Invitation -ExternalExamEdit coursen@CourseName examn@ExamName: Edit: #{coursen}, #{examn} +ExternalExamEdit coursen examn: Edit: #{coursen}, #{examn} +ExternalExamGrades coursen examn: Exam achievements: #{coursen}, #{examn} +ExternalExamUsers coursen examn: Exam participants: #{coursen}, #{examn} TitleMetrics: Metrics @@ -1672,10 +1678,16 @@ ExamUserSyncTime: Timestamp ExamUserSyncSchools: Department ExamUserSyncLastChange: Last changed ExamUserMarkSynchronised: Mark exam achievements as synchronised +ExternalExamUserMarkSynchronised: Mark exam achievements as synchronised +ExternalExamUserMarkSynchronisedTip: Should all exam achievements, that are included in the download, be marked as synchronised? Marking exam achievemnts as synchronised serves as a notice to other exam offices and course administrators, that the exam achievement has been dealt with properly such that no further action is required. ExamUserMarkSynchronisedCsv: Mark exam achievements as synchronised while exporting +ExamUserMarkSynchronisedCsvTip: Should all exam achievements, that are included in the download, be marked as synchronised? Marking exam achievemnts as synchronised serves as a notice to other exam offices and course administrators, that the exam achievement has been dealt with properly such that no further action is required. ExamUserMarkedSynchronised n: Successfully marked #{n} #{pluralEN n "exam achievement" "exam achievements"} as synchronised +ExternalExamUserMarkSynchronisedCsv: Mark exam achievements as synchronised while exporting +ExternalExamUserMarkedSynchronised n: Successfully marked #{n} #{pluralEN n "exam achievement" "exam achievements"} as synchronised + ExamOfficeExamUsersHeading: Exam achievements ActionsHead: Actions @@ -1779,6 +1791,11 @@ ExamUserCsvExceptionNoMatchingUser: Course participant could not be identified u ExamUserCsvExceptionNoMatchingStudyFeatures: The specified field did not match with any of the participant's fields of study ExamUserCsvExceptionNoMatchingOccurrence: Occurrence/room could not be identified uniquely +ExternalExamUserCsvRegister: Store exam achievement +ExternalExamUserCsvSetTime: Adjust exam time +ExternalExamUserCsvSetResult: Adjust exam result +ExternalExamUserCsvDeregister: Delete stored exam achievement + CourseApplicationsTableCsvSetField: Modify field of study associated with the applicatio CourseApplicationsTableCsvSetVeto: Set/remove veto CourseApplicationsTableCsvSetRating: Set grading diff --git a/missing-translations.sh b/missing-translations.sh new file mode 100755 index 000000000..44a63fca6 --- /dev/null +++ b/missing-translations.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env zsh + +function translations() { + msgFile=$1 + + sed -r 's/^([^ :]+).*$/\1/' ${msgFile} \ + | sort +} + +typeset -a msgFiles +msgFiles=(messages/**/*.msg) + +typeset -a msgDirectories +msgDirectories=() +for msgFile (${msgFiles}); do + if ! [[ ${msgDirectories[(ie)${msgFile:h}]} -le ${#msgDirectories} ]]; then + msgDirectories+=(${msgFile:h}) + fi +done + +for msgDirectory (${msgDirectories}); do + typeset -a dirMsgFiles + dirMsgFiles=() + for msgFile (${msgFiles}); do + if [[ ${msgFile:h} == ${msgDirectory} ]]; then + dirMsgFiles+=(${msgFile}) + fi + done + + ( + diffDir="" + function cleanup() { + cd + [[ -n ${diffDir} ]] && rm -rf ${diffDir} + } + trap cleanup EXIT + diffDir=$(mktemp -d) + + typeset -a diffArgs + diffArgs=() + + for msgFile (${dirMsgFiles}); do + translations ${msgFile} > ${diffDir}/${msgFile:t} + diffArgs+=(${diffDir}/${msgFile:t}) + done + + printf "%s\n" ${msgDirectory} + diff --suppress-common-lines -swB ${diffArgs} + ) +done