Skip to content

Commit 2321427

Browse files
committed
Translate the feedback email templates.
1 parent 53301bc commit 2321427

File tree

2 files changed

+131
-122
lines changed

2 files changed

+131
-122
lines changed

templates/ContentGenerator/Feedback/feedback_email.html.ep

Lines changed: 76 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
% use WeBWorK::Utils qw(decodeAnswers);
22
% use WeBWorK::Utils::Sets qw(format_set_name_display);
33
%
4+
% my $yes = maketext('yes');
5+
% my $no = maketext('no');
6+
%
47
<html>
58
<body>
69
<p>
7-
% if ($problem) {
8-
Message from <%= $user->full_name %> (<%= $user->user_id %>) via WeBWorK at
9-
<%= $ce->{institutionName} %> (sent from
10-
<%= link_to format_set_name_display($set->set_id) . ', #' . $problem->problem_id => $emailableURL %>).
11-
% } elsif ($set) {
12-
Message from <%= $user->full_name %> (<%= $user->user_id %>) via WeBWorK at
13-
<%= $ce->{institutionName} %>
14-
(sent from <%= link_to format_set_name_display($set->set_id) => $emailableURL %>).
15-
% } else {
16-
Message from <%= $user->full_name %> (<%= $user->user_id %>) via WeBWorK at
17-
<%= $ce->{institutionName} %> (sent from <%= link_to 'this page' => $emailableURL %>).
18-
% }
10+
<%== maketext('Message from [_1] ([_2]) via WeBWorK at [_3] (sent from [_4]).',
11+
$user->full_name, $user->user_id, $ce->{institutionName},
12+
$problem ? link_to(format_set_name_display($set->set_id) . ', #' . $problem->problem_id, $emailableURL)
13+
: $set ? link_to(format_set_name_display($set->set_id), $emailableURL)
14+
: link_to('this page', $emailableURL)
15+
) =%>
1916
</p>
2017
% if ($numRecipients > 1) {
2118
<p><%= maketext('Message delivered to multiple recipients. Consider using reply-all.') =%></p>
@@ -35,19 +32,20 @@
3532
<table style="border-collapse: collapse; margin-bottom: 1rem">
3633
<thead>
3734
<tr><th style="text-align: left; padding: 0.25rem; border: 1px solid black;
38-
background-color: lightgray" colspan="2">Data about the problem</th></tr>
35+
background-color: lightgray" colspan="2"><%= maketext('Data about the problem') %></th></tr>
3936
</thead>
4037
<tbody>
4138
% my @rows = (
42-
% [ 'Problem ID', $problem->problem_id ],
43-
% [ 'Source file', $problem->source_file ],
44-
% [ 'Value', $problem->value ],
45-
% [ 'Max attempts', $problem->max_attempts == -1 ? 'unlimited' : $problem->max_attempts ],
46-
% [ 'Random seed', $problem->problem_seed ],
47-
% [ 'Status', $problem->status ],
48-
% [ 'Attempted', $problem->attempted ? 'yes' : 'no' ],
49-
% [ 'Correct attempts', $problem->num_correct ],
50-
% [ 'Incorrect attempts', $problem->num_incorrect ]
39+
% [ maketext('Problem ID'), $problem->problem_id ],
40+
% [ maketext('Source file'), $problem->source_file ],
41+
% [ maketext('Value'), $problem->value ],
42+
% [ maketext('Max attempts'),
43+
% $problem->max_attempts == -1 ? 'unlimited' : $problem->max_attempts ],
44+
% [ maketext('Random seed'), $problem->problem_seed ],
45+
% [ maketext('Status'), $problem->status ],
46+
% [ maketext('Attempted'), $problem->attempted ? $yes : $no ],
47+
% [ maketext('Correct attempts'), $problem->num_correct ],
48+
% [ maketext('Incorrect attempts'), $problem->num_incorrect ]
5149
% );
5250
% for (@rows) {
5351
<tr>
@@ -57,20 +55,26 @@
5755
% }
5856
% my %last_answer = decodeAnswers($problem->last_answer);
5957
<tr style="border-top: solid 1pt">
60-
<th style="text-align: left; padding: 0.25rem; vertical-align: baseline">Last submission:</th>
58+
<th style="text-align: left; padding: 0.25rem; vertical-align: baseline">
59+
<%= maketext('Last submission:') =%>
60+
</th>
6161
% if (%last_answer) {
62-
<td style="text-align: left; padding: 0.25rem; padding-top: 0"><table style="border-collapse: collapse">
63-
% for my $key (sort keys %last_answer) {
64-
% if ($last_answer{$key}) {
65-
<tr>
66-
<td style="text-align: left; padding: 0.25rem"><%= $key %>:</td>
67-
<td style="text-align: left; padding: 0.25rem"><%= $last_answer{$key} %></td>
68-
</tr>
69-
% }
70-
% }
71-
</table></td>
62+
<td style="text-align: left; padding: 0.25rem; padding-top: 0">
63+
<table style="border-collapse: collapse">
64+
% for my $key (sort keys %last_answer) {
65+
% if ($last_answer{$key}) {
66+
<tr>
67+
<td style="text-align: left; padding: 0.25rem"><%= $key %>:</td>
68+
<td style="text-align: left; padding: 0.25rem">
69+
<%= $last_answer{$key} %>
70+
</td>
71+
</tr>
72+
% }
73+
% }
74+
</table>
75+
</td>
7276
% } else {
73-
<td style="text-align: left; padding: 0.25rem">none</td>
77+
<td style="text-align: left; padding: 0.25rem"><%= maketext('none') %></td>
7478
% }
7579
</tr>
7680
</tbody>
@@ -80,28 +84,28 @@
8084
<table style="border-collapse: collapse; margin-bottom: 1rem">
8185
<thead>
8286
<tr><th style="text-align: left; padding: 0.25rem; border: 1px solid black;
83-
background-color: lightgray" colspan="2">Data about the assignment</th></tr>
87+
background-color: lightgray" colspan="2"><%= maketext('Data about the assignment') %></th></tr>
8488
</thead>
8589
<tbody>
8690
% my @rows = (
87-
% [ 'Set ID', $set->set_id ],
88-
% [ 'Set header file', $set->set_header ],
89-
% [ 'Hardcopy header file', $set->hardcopy_header ],
90-
% [ 'Open date', $c->formatDateTime($set->open_date) ],
91-
% [ 'Close date', $c->formatDateTime($set->due_date) ],
92-
% [ 'Answer date', $c->formatDateTime($set->answer_date) ],
93-
% [ 'Visible', $set->visible ? 'yes' : 'no' ],
94-
% [ 'Assignment type', $set->assignment_type ]
91+
% [ maketext('Set ID'), $set->set_id ],
92+
% [ maketext('Set header file'), $set->set_header ],
93+
% [ maketext('Hardcopy header file'), $set->hardcopy_header ],
94+
% [ maketext('Open date'), $c->formatDateTime($set->open_date) ],
95+
% [ maketext('Close date'), $c->formatDateTime($set->due_date) ],
96+
% [ maketext('Answer date'), $c->formatDateTime($set->answer_date) ],
97+
% [ maketext('Visible'), $set->visible ? $yes : $no ],
98+
% [ maketext('Assignment type'), $set->assignment_type ]
9599
% );
96100
% if ($set->assignment_type =~ /gateway/) {
97101
% push @rows, (
98-
% [ 'Attempts per version', $set->attempts_per_version ],
99-
% [ 'Time interval', $set->time_interval ],
100-
% [ 'Versions per interval', $set->versions_per_interval ],
101-
% [ 'Version time limit', $set->version_time_limit ],
102-
% [ 'Version creation time', $c->formatDateTime($set->version_creation_time) ],
103-
% [ 'Problem randorder', $set->problem_randorder ],
104-
% [ 'Version last attempt time', $set->version_last_attempt_time ]
102+
% [ maketext('Attempts per version'), $set->attempts_per_version ],
103+
% [ maketext('Time interval'), $set->time_interval ],
104+
% [ maketext('Versions per interval'), $set->versions_per_interval ],
105+
% [ maketext('Version time limit'), $set->version_time_limit ],
106+
% [ maketext('Version creation time'), $c->formatDateTime($set->version_creation_time) ],
107+
% [ maketext('Problem randorder'), $set->problem_randorder ],
108+
% [ maketext('Version last attempt time'), $set->version_last_attempt_time ]
105109
% );
106110
% }
107111
% for (@rows) {
@@ -116,16 +120,20 @@
116120
% if ($problem && $verbosity >= 1) {
117121
<table style="border-collapse: collapse; margin-bottom: 1rem">
118122
<thead>
119-
<tr><th style="text-align: left; padding: 0.25rem; border: 1px solid black;
120-
background-color: lightgray" colspan="2">Data about the problem processor</th></tr>
123+
<tr>
124+
<th style="text-align: left; padding: 0.25rem; border: 1px solid black;
125+
background-color: lightgray" colspan="2">
126+
<%= maketext('Data about the problem processor') =%>
127+
</th>
128+
</tr>
121129
</thead>
122130
<tbody>
123131
% my @rows = (
124-
% [ 'Display Mode', param('displayMode') ],
125-
% [ 'Show Old Answers', param('showOldAnswers') ? 'yes' : 'no' ],
126-
% [ 'Show Correct Answers', param('showCorrectAnswers') ? 'yes' : 'no' ],
127-
% [ 'Show Hints', param('showHints') ? 'yes' : 'no' ],
128-
% [ 'Show Solutions', param('showSolutions') ? 'yes' : 'no' ]
132+
% [ maketext('Display Mode'), param('displayMode') ],
133+
% [ maketext('Show Old Answers'), param('showOldAnswers') ? $yes : $no ],
134+
% [ maketext('Show Correct Answers'), param('showCorrectAnswers') ? $yes : $no ],
135+
% [ maketext('Show Hints'), param('showHints') ? $yes : $no ],
136+
% [ maketext('Show Solutions'), param('showSolutions') ? $yes : $no ]
129137
% );
130138
% for (@rows) {
131139
<tr>
@@ -141,26 +149,26 @@
141149
<table style="border-collapse: collapse; margin-bottom: 1rem">
142150
<thead>
143151
<tr><th style="text-align: left; padding: 0.25rem; border: 1px solid black;
144-
background-color: lightgray" colspan="2">Data about the user</th></tr>
152+
background-color: lightgray" colspan="2"><%= maketext('Data about the user') %></th></tr>
145153
</thead>
146154
<tbody>
147155
% my @rows = (
148-
% [ 'User ID', $user->user_id ],
149-
% [ 'Name', $user->full_name ],
150-
% [ 'Email', $user->email_address ]
156+
% [ maketext('User ID'), $user->user_id ],
157+
% [ maketext('Name'), $user->full_name ],
158+
% [ maketext('Email'), $user->email_address ]
151159
% );
152160
% unless ($ce->{blockStudentIDinFeedback}) { push @rows, ['Student ID', $user->student_id]; }
153161
% my $status_name = $ce->status_abbrev_to_name($user->status);
154162
% my $status_string =
155163
% defined $status_name
156164
% ? "$status_name ('" . $user->status . q{')}
157-
% : $user->status . ' (unknown status abbreviation)';
165+
% : maketext('[_1] (unknown status abbreviation)', $user->status);
158166
% push @rows, (
159-
% [ 'Status', $status_string ],
160-
% [ 'Section', $user->section ],
161-
% [ 'Recitation', $user->recitation ],
162-
% [ 'Comment', $user->comment ],
163-
% [ 'IP Address', $remote_host ]
167+
% [ maketext('Status'), $status_string ],
168+
% [ maketext('Section'), $user->section ],
169+
% [ maketext('Recitation'), $user->recitation ],
170+
% [ maketext('Comment'), $user->comment ],
171+
% [ maketext('IP Address'), $remote_host ]
164172
%);
165173
% for (@rows) {
166174
<tr>
@@ -175,7 +183,7 @@
175183
<table style="border-collapse: collapse">
176184
<thead>
177185
<tr><th style="text-align: left; padding: 0.25rem; border: 1px solid black;
178-
background-color: lightgray" colspan="2">Data about the environment</th></tr>
186+
background-color: lightgray" colspan="2"><%= maketext('Data about the environment') %></th></tr>
179187
</thead>
180188
<tbody>
181189
<tr><td style="text-align: left; padding: 0.25rem"><pre><%= dumper($ce) %></pre></td></tr>
Lines changed: 55 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
% use WeBWorK::Utils qw(decodeAnswers);
22
% use WeBWorK::Utils::Sets qw(format_set_name_display);
33
%
4-
Message from <%= $user->full_name %> (<%= $user->user_id %>) via WeBWorK at <%= $ce->{institutionName} %>.
4+
<%= maketext('Message from [_1] ([_2]) via WeBWorK at [_3].',
5+
$user->full_name, $user->user_id, $ce->{institutionName}) %>
56

67
% if ($problem) {
7-
Feedback sent from <%= format_set_name_display($set->set_id) . ', #' . $problem->problem_id %>:
8+
<%= maketext('Feedback sent from [_1]:', format_set_name_display($set->set_id) . ', #' . $problem->problem_id) %>
89
% } elsif ($set) {
9-
Feedback sent from <%= format_set_name_display($set->set_id) %>:
10+
<%= maketext('Feedback sent from [_1]:', format_set_name_display($set->set_id)) %>
1011
% } else {
11-
Feedback sent from:
12+
<%= maketext('Feedback sent from:') %>
1213
% }
1314
<%== $emailableURL %>
1415
% if ($numRecipients > 1) {
@@ -17,92 +18,92 @@ Feedback sent from:
1718
% }
1819

1920
% if ($feedback) {
20-
<%== $user->full_name %> (<%== $user->user_id %>) wrote:
21+
<%= maketext('[_1] ([_2]) wrote:', $user->full_name, $user->user_id) %>
2122

2223
<%== $feedback %>
2324

2425
% }
2526
% if ($problem && $verbosity >= 1) {
2627

27-
***** Data about the problem: *****
28+
***** <%= maketext('Data about the problem:') %> *****
2829

29-
Problem ID: <%== $problem->problem_id %>
30-
Source file: <%== $problem->source_file %>
31-
Value: <%== $problem->value %>
32-
Max attempts <%== $problem->max_attempts == -1 ? 'unlimited' : $problem->max_attempts %>
33-
Random seed: <%== $problem->problem_seed %>
34-
Status: <%== $problem->status %>
35-
Attempted: <%== $problem->attempted ? 'yes' : 'no' %>
36-
Number of correct attempts: <%== $problem->num_correct %>
37-
Number of incorrect attempts: <%== $problem->num_incorrect %>
30+
<%= maketext('Problem ID:') %> <%== $problem->problem_id %>
31+
<%= maketext('Source file:') %> <%== $problem->source_file %>
32+
<%= maketext('Value:') %> <%== $problem->value %>
33+
<%= maketext('Max attempts') %> <%== $problem->max_attempts == -1 ? 'unlimited' : $problem->max_attempts %>
34+
<%= maketext('Random seed:') %> <%== $problem->problem_seed %>
35+
<%= maketext('Status:') %> <%== $problem->status %>
36+
<%= maketext('Attempted:') %> <%== $problem->attempted ? 'yes' : 'no' %>
37+
<%= maketext('Number of correct attempts:') %> <%== $problem->num_correct %>
38+
<%= maketext('Number of incorrect attempts:') %> <%== $problem->num_incorrect %>
3839
% my %last_answer = decodeAnswers($problem->last_answer);
3940
% if (%last_answer) {
40-
Last submission:
41-
% for my $key (sort keys %last_answer) {
42-
% if ($last_answer{$key}) {
41+
<%= maketext('Last submission:') %>
42+
% for my $key (sort keys %last_answer) {
43+
% if ($last_answer{$key}) {
4344
<%== $key %>: <%== $last_answer{$key} %>
45+
% }
4446
% }
45-
% }
4647
% } else {
47-
Last submission: none
48+
<%= maketext('Last submission:') =%> <%= maketext('none') %>
4849
% }
4950
% }
5051
% if ($set && $verbosity >= 1) {
5152

52-
***** Data about the assignment: *****
53+
***** <%= maketext('Data about the assignment:') %> *****
5354

54-
Set ID: <%== $set->set_id %>
55-
Set header file: <%== $set->set_header %>
56-
Hardcopy header file: <%== $set->hardcopy_header %>
57-
Open date: <%== $c->formatDateTime($set->open_date) %>
58-
Due date: <%== $c->formatDateTime($set->due_date) %>
59-
Answer date: <%== $c->formatDateTime($set->answer_date) %>
60-
Visible: <%== $set->visible ? 'yes' : 'no' %>
61-
Assignment type: <%== $set->assignment_type %>
55+
<%= maketext('Set ID:') %> <%== $set->set_id %>
56+
<%= maketext('Set header file:') %> <%== $set->set_header %>
57+
<%= maketext('Hardcopy header file:') %> <%== $set->hardcopy_header %>
58+
<%= maketext('Open date:') %> <%== $c->formatDateTime($set->open_date) %>
59+
<%= maketext('Due date:') %> <%== $c->formatDateTime($set->due_date) %>
60+
<%= maketext('Answer date:') %> <%== $c->formatDateTime($set->answer_date) %>
61+
<%= maketext('Visible:') %> <%== $set->visible ? 'yes' : 'no' %>
62+
<%= maketext('Assignment type:') %> <%== $set->assignment_type %>
6263
% if ($set->assignment_type =~ /gateway/) {
63-
Attempts per version: <%== $set->attempts_per_version %>
64-
Time interval: <%== $set->time_interval %>
65-
Versions per interval: <%== $set->versions_per_interval %>
66-
Version time limit: <%== $set->version_time_limit %>
67-
Version creation time: <%== $c->formatDateTime($set->version_creation_time) %>
68-
Problem randorder: <%== $set->problem_randorder %>
69-
Version last attempt time: <%== $set->version_last_attempt_time %>
64+
<%= maketext('Attempts per version:') %> <%== $set->attempts_per_version %>
65+
<%= maketext('Time interval:') %> <%== $set->time_interval %>
66+
<%= maketext('Versions per interval:') %> <%== $set->versions_per_interval %>
67+
<%= maketext('Version time limit:') %> <%== $set->version_time_limit %>
68+
<%= maketext('Version creation time:') %> <%== $c->formatDateTime($set->version_creation_time) %>
69+
<%= maketext('Problem randorder:') %> <%== $set->problem_randorder %>
70+
<%= maketext('Version last attempt time:') %> <%== $set->version_last_attempt_time %>
7071
% }
7172
% }
7273
% if ($problem && $verbosity >= 1) {
7374

74-
***** Data about the problem processor: *****
75+
***** <%= maketext('Data about the problem processor:') %> *****
7576

76-
Display Mode: <%== param('displayMode') %>
77-
Show Old Answers: <%== param('showOldAnswers') ? 'yes' : 'no' %>
78-
Show Correct Answers: <%== param('showCorrectAnswers') ? 'yes' : 'no' %>
79-
Show Hints: <%== param('showHints') ? 'yes' : 'no' %>
80-
Show Solutions: <%== param('showSolutions') ? 'yes' : 'no' %>
77+
<%= maketext('Display Mode:') %> <%== param('displayMode') %>
78+
<%= maketext('Show Old Answers:') %> <%== param('showOldAnswers') ? 'yes' : 'no' %>
79+
<%= maketext('Show Correct Answers:') %> <%== param('showCorrectAnswers') ? 'yes' : 'no' %>
80+
<%= maketext('Show Hints:') %> <%== param('showHints') ? 'yes' : 'no' %>
81+
<%= maketext('Show Solutions:') %> <%== param('showSolutions') ? 'yes' : 'no' %>
8182
% }
8283
% if ($user && $verbosity >= 1) {
8384

84-
***** Data about the user: *****
85+
***** <%= maketext('Data about the user:') %> *****
8586

86-
User ID: <%== $user->user_id %>
87-
Name: <%== $user->full_name %>
88-
Email: <%== $user->email_address %>
87+
<%= maketext('User ID:') %> <%== $user->user_id %>
88+
<%= maketext('Name:') %> <%== $user->full_name %>
89+
<%= maketext('Email:') %> <%== $user->email_address %>
8990
% unless ($ce->{blockStudentIDinFeedback}) {
90-
Student ID: <%== $user->student_id %>
91+
<%= maketext('Student ID:') %> <%== $user->student_id %>
9192
% }
9293
% my $status_name = $ce->status_abbrev_to_name($user->status);
9394
%my $status_string =
9495
% defined $status_name
9596
% ? "$status_name ('" . $user->status . q{')}
96-
% : $user->status . ' (unknown status abbreviation)';
97-
Status: <%== $status_string %>
98-
Section: <%== $user->section %>
99-
Recitation: <%== $user->recitation %>
100-
Comment: <%== $user->comment %>
101-
IP Address: <%== $remote_host %>:<%== $c->tx->remote_port || 'UNKNOWN' %>
97+
% : maketext('[_1] (unknown status abbreviation)', $user->status);
98+
<%= maketext('Status:') %> <%== $status_string %>
99+
<%= maketext('Section:') %> <%== $user->section %>
100+
<%= maketext('Recitation:') %> <%== $user->recitation %>
101+
<%= maketext('Comment:') %> <%== $user->comment %>
102+
<%= maketext('IP Address:') %> <%== $remote_host %>:<%== $c->tx->remote_port || 'UNKNOWN' %>
102103
% }
103104
% if ($verbosity >= 2) {
104105

105-
Data about the environment
106+
<%= maketext('Data about the environment') %>
106107

107108
<%== dumper($ce) %>
108109
% }

0 commit comments

Comments
 (0)