From b91c6081b6e901db03d1a640eddca0e885350061 Mon Sep 17 00:00:00 2001 From: Jim Laney Date: Wed, 7 Aug 2024 16:32:55 -0700 Subject: [PATCH] use i18n strings for text --- course_grader/templates/index.html | 1 + course_grader_vue/components/graderoster.vue | 50 +++++++++---- .../components/graderoster/confirmation.vue | 75 +++++++++++++++++++ .../components/graderoster/grade/input.vue | 2 +- .../components/graderoster/grade/static.vue | 20 ++--- course_grader_vue/main.js | 3 + course_grader_vue/utils/grading-status.js | 31 ++++---- 7 files changed, 143 insertions(+), 39 deletions(-) create mode 100644 course_grader_vue/components/graderoster/confirmation.vue diff --git a/course_grader/templates/index.html b/course_grader/templates/index.html index db8e293..d338e77 100644 --- a/course_grader/templates/index.html +++ b/course_grader/templates/index.html @@ -20,6 +20,7 @@ window.gradepage.messages = {{ messages|safe }}; window.gradepage.message_level = "{{ message_level }}"; + {% vite_styles 'course_grader_vue/main.js' %} diff --git a/course_grader_vue/components/graderoster.vue b/course_grader_vue/components/graderoster.vue index d80320d..5b7351b 100644 --- a/course_grader_vue/components/graderoster.vue +++ b/course_grader_vue/components/graderoster.vue @@ -29,18 +29,19 @@
- Please review grades and submit below. + {{ gettext("please_review_grades") }}
-
- - Note: Writing credit automatically given to all students with a passing grade in this course. - - - Writing credit automatically given to all students with a passing grade in this course. +
+ + {{ gettext("writing_course_note") }}
+
+ +
+
- Duplicate Code + {{ gettext("duplicate_code") }}
    @@ -63,15 +64,15 @@
@@ -80,12 +81,14 @@ diff --git a/course_grader_vue/components/graderoster/grade/input.vue b/course_grader_vue/components/graderoster/grade/input.vue index 40cf929..5002fd6 100644 --- a/course_grader_vue/components/graderoster/grade/input.vue +++ b/course_grader_vue/components/graderoster/grade/input.vue @@ -115,7 +115,7 @@
- {{ student.import_source }} grade: {{ student.import_grade }} + {{ student.import_source }} grade: {{ student.import_grade }} diff --git a/course_grader_vue/components/graderoster/grade/static.vue b/course_grader_vue/components/graderoster/grade/static.vue index 192f266..87f94c3 100644 --- a/course_grader_vue/components/graderoster/grade/static.vue +++ b/course_grader_vue/components/graderoster/grade/static.vue @@ -1,34 +1,36 @@ diff --git a/course_grader_vue/main.js b/course_grader_vue/main.js index 176f40a..8c659d2 100644 --- a/course_grader_vue/main.js +++ b/course_grader_vue/main.js @@ -21,6 +21,9 @@ import "solstice-vue/dist/solstice.scss"; const app = createApp(App); app.config.productionTip = false; app.config.globalProperties.window = window +app.config.globalProperties.gettext = window.gettext; +app.config.globalProperties.ngettext = window.ngettext; +app.config.globalProperties.interpolate = window.interpolate; // vue-gtag-next const gaCode = document.body.getAttribute("data-google-analytics"); diff --git a/course_grader_vue/utils/grading-status.js b/course_grader_vue/utils/grading-status.js index 5c8a328..9d7f5d6 100644 --- a/course_grader_vue/utils/grading-status.js +++ b/course_grader_vue/utils/grading-status.js @@ -11,36 +11,41 @@ function formatLinkTitle(data) { } function formatGradingStatus(data) { + var base; if (data.grading_status) { return data.grading_status; } else if (data.unsubmitted_count && data.grading_period_open) { - return (data.unsubmitted_count > 1) - ? data.unsubmitted_count + " grades to submit" - : "1 grade to submit"; + base = ngettext("%(unsubmitted_count)s grade to submit", + "%(unsubmitted_count)s grades to submit", + data.unsubmitted_count); } else { if (data.submitted_count) { if (data.submitted_date) { if (data.accepted_date) { let submitted_date_str = formatLongDateTime(data.submitted_date); - return (data.submitted_count > 1) - ? data.submitted_count + " grades submitted on " + submitted_date_str - : "1 grade submitted on " + submitted_date_str; + base = ngettext("%(submitted_count)s grade submitted on ", + "%(submitted_count)s grades submitted on ", + data.submitted_count) + submitted_date_str; } else { - return (data.submitted_count > 1) - ? data.submitted_count + " grade submissions in progress" - : "1 grade submission in progress"; + base = ngettext("%(submitted_count)s grade submission in progress", + "%(submitted_count)s grade submissions in progress", + data.submitted_count); } } else { - return (data.submitted_count > 1) - ? data.submitted_count + " grades submitted" - : "1 grade submitted"; + base = ngettext("%(submitted_count)s grade submitted", + "%(submitted_count)s grades submitted", + data.submitted_count); } } else { if (!data.grading_period_open) { - return "No submission information"; + return gettext("no_submission_information"); } } } + + if (base !== undefined) { + return interpolate(base, data, true); + } } export {