wbhuman_resources 1.51.2__py2.py3-none-any.whl → 1.61.5__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wbhuman_resources/factories/absence.py +1 -0
- wbhuman_resources/factories/calendars.py +1 -0
- wbhuman_resources/factories/employee.py +3 -0
- wbhuman_resources/factories/kpi.py +2 -0
- wbhuman_resources/filters/calendars.py +0 -1
- wbhuman_resources/locale/de/LC_MESSAGES/django.mo +0 -0
- wbhuman_resources/locale/de/LC_MESSAGES/django.po +252 -257
- wbhuman_resources/locale/en/LC_MESSAGES/django.po +248 -252
- wbhuman_resources/locale/fr/LC_MESSAGES/django.po +251 -256
- wbhuman_resources/migrations/0023_alter_employeehumanresource_weekly_off_periods.py +18 -0
- wbhuman_resources/migrations/0024_alter_absencerequestperiods_unique_together_and_more.py +49 -0
- wbhuman_resources/models/absence.py +19 -3
- wbhuman_resources/models/calendars.py +6 -6
- wbhuman_resources/models/employee.py +65 -18
- wbhuman_resources/models/kpi.py +17 -1
- wbhuman_resources/models/review.py +35 -26
- wbhuman_resources/permissions/backend.py +2 -4
- wbhuman_resources/serializers/__init__.py +1 -0
- wbhuman_resources/serializers/absence.py +5 -0
- wbhuman_resources/serializers/calendars.py +2 -1
- wbhuman_resources/serializers/employee.py +3 -3
- wbhuman_resources/signals.py +4 -0
- wbhuman_resources/tasks.py +37 -31
- wbhuman_resources/tests/test_permission.py +19 -15
- wbhuman_resources/utils.py +4 -1
- wbhuman_resources/viewsets/absence.py +18 -26
- wbhuman_resources/viewsets/absence_charts.py +4 -6
- wbhuman_resources/viewsets/buttons/kpis.py +3 -3
- wbhuman_resources/viewsets/buttons/review.py +3 -3
- wbhuman_resources/viewsets/display/calendars.py +2 -3
- wbhuman_resources/viewsets/display/kpis.py +1 -1
- wbhuman_resources/viewsets/display/review.py +5 -5
- wbhuman_resources/viewsets/endpoints/absence.py +4 -1
- wbhuman_resources/viewsets/kpi.py +2 -2
- wbhuman_resources/viewsets/menu/absence.py +11 -7
- wbhuman_resources/viewsets/menu/calendars.py +4 -5
- wbhuman_resources/viewsets/menu/employee.py +5 -6
- wbhuman_resources/viewsets/menu/kpis.py +2 -3
- wbhuman_resources/viewsets/menu/review.py +12 -13
- wbhuman_resources/viewsets/review.py +12 -14
- {wbhuman_resources-1.51.2.dist-info → wbhuman_resources-1.61.5.dist-info}/METADATA +2 -2
- {wbhuman_resources-1.51.2.dist-info → wbhuman_resources-1.61.5.dist-info}/RECORD +43 -40
- {wbhuman_resources-1.51.2.dist-info → wbhuman_resources-1.61.5.dist-info}/WHEEL +1 -1
|
@@ -7,7 +7,7 @@ msgid ""
|
|
|
7
7
|
msgstr ""
|
|
8
8
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
9
9
|
"Report-Msgid-Bugs-To: \n"
|
|
10
|
-
"POT-Creation-Date:
|
|
10
|
+
"POT-Creation-Date: 2026-01-16 14:04+0100\n"
|
|
11
11
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
12
12
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
13
13
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
@@ -99,7 +99,7 @@ msgid ""
|
|
|
99
99
|
"internal employee"
|
|
100
100
|
msgstr ""
|
|
101
101
|
|
|
102
|
-
#: filters/absence.py:31 viewsets/absence_charts.py:
|
|
102
|
+
#: filters/absence.py:31 viewsets/absence_charts.py:244
|
|
103
103
|
#: viewsets/display/absence.py:43 viewsets/display/absence.py:278
|
|
104
104
|
msgid "Department"
|
|
105
105
|
msgstr ""
|
|
@@ -108,8 +108,8 @@ msgstr ""
|
|
|
108
108
|
msgid "Is Employee Active"
|
|
109
109
|
msgstr ""
|
|
110
110
|
|
|
111
|
-
#: filters/absence.py:82 models/absence.py:
|
|
112
|
-
#: models/review.py:
|
|
111
|
+
#: filters/absence.py:82 models/absence.py:243 models/review.py:136
|
|
112
|
+
#: models/review.py:640 viewsets/display/absence.py:200
|
|
113
113
|
#: viewsets/display/absence.py:215 viewsets/display/review.py:67
|
|
114
114
|
#: viewsets/display/review.py:233 viewsets/display/review.py:270
|
|
115
115
|
msgid "Type"
|
|
@@ -130,7 +130,7 @@ msgid "Only Employee With Absence periods"
|
|
|
130
130
|
msgstr ""
|
|
131
131
|
|
|
132
132
|
#: filters/absence_graphs.py:64 filters/employee.py:22 filters/employee.py:63
|
|
133
|
-
#: models/employee.py:
|
|
133
|
+
#: models/employee.py:193 models/employee.py:1044
|
|
134
134
|
#: viewsets/display/employee.py:82 viewsets/display/employee.py:154
|
|
135
135
|
msgid "Position"
|
|
136
136
|
msgstr ""
|
|
@@ -143,16 +143,16 @@ msgstr ""
|
|
|
143
143
|
msgid "Contract"
|
|
144
144
|
msgstr ""
|
|
145
145
|
|
|
146
|
-
#: filters/employee.py:20 models/kpi.py:
|
|
146
|
+
#: filters/employee.py:20 models/kpi.py:83 viewsets/display/kpis.py:25
|
|
147
147
|
msgid "Is Active"
|
|
148
148
|
msgstr ""
|
|
149
149
|
|
|
150
|
-
#: filters/kpi.py:26 models/kpi.py:
|
|
150
|
+
#: filters/kpi.py:26 models/kpi.py:163 viewsets/display/kpis.py:21
|
|
151
151
|
#: viewsets/display/kpis.py:77 viewsets/kpi.py:238 viewsets/kpi.py:239
|
|
152
152
|
msgid "KPI"
|
|
153
153
|
msgstr ""
|
|
154
154
|
|
|
155
|
-
#: filters/kpi.py:27 models/kpi.py:
|
|
155
|
+
#: filters/kpi.py:27 models/kpi.py:67 viewsets/display/kpis.py:55
|
|
156
156
|
#: viewsets/display/kpis.py:83 viewsets/kpi.py:190 viewsets/kpi.py:242
|
|
157
157
|
msgid "Goal"
|
|
158
158
|
msgstr ""
|
|
@@ -165,15 +165,15 @@ msgstr ""
|
|
|
165
165
|
msgid "Is Template"
|
|
166
166
|
msgstr ""
|
|
167
167
|
|
|
168
|
-
#: filters/review.py:104 filters/review.py:127 models/review.py:
|
|
169
|
-
#: models/review.py:
|
|
168
|
+
#: filters/review.py:104 filters/review.py:127 models/review.py:634
|
|
169
|
+
#: models/review.py:697 serializers/review.py:308 serializers/review.py:378
|
|
170
170
|
#: viewsets/display/review.py:259 viewsets/display/review.py:269
|
|
171
171
|
#: viewsets/display/review.py:307 viewsets/display/review.py:319
|
|
172
|
-
#: viewsets/display/review.py:402 viewsets/review.py:
|
|
172
|
+
#: viewsets/display/review.py:402 viewsets/review.py:640
|
|
173
173
|
msgid "Question"
|
|
174
174
|
msgstr ""
|
|
175
175
|
|
|
176
|
-
#: filters/review.py:120 viewsets/review.py:
|
|
176
|
+
#: filters/review.py:120 viewsets/review.py:645
|
|
177
177
|
msgid "Deviation"
|
|
178
178
|
msgstr ""
|
|
179
179
|
|
|
@@ -189,9 +189,9 @@ msgstr ""
|
|
|
189
189
|
msgid "Greater"
|
|
190
190
|
msgstr ""
|
|
191
191
|
|
|
192
|
-
#: filters/review.py:126 models/review.py:
|
|
192
|
+
#: filters/review.py:126 models/review.py:632
|
|
193
193
|
#: templates/review/review_report.html:213 viewsets/display/review.py:278
|
|
194
|
-
#: viewsets/display/review.py:401 viewsets/review.py:
|
|
194
|
+
#: viewsets/display/review.py:401 viewsets/review.py:639
|
|
195
195
|
msgid "Category"
|
|
196
196
|
msgstr ""
|
|
197
197
|
|
|
@@ -199,331 +199,331 @@ msgstr ""
|
|
|
199
199
|
msgid "Participant's position"
|
|
200
200
|
msgstr ""
|
|
201
201
|
|
|
202
|
-
#: models/absence.py:
|
|
202
|
+
#: models/absence.py:98 viewsets/display/absence.py:145
|
|
203
203
|
#: viewsets/display/calendars.py:18 viewsets/display/calendars.py:35
|
|
204
|
-
#: viewsets/display/calendars.py:66 viewsets/display/calendars.py:
|
|
204
|
+
#: viewsets/display/calendars.py:66 viewsets/display/calendars.py:77
|
|
205
205
|
msgid "Title"
|
|
206
206
|
msgstr ""
|
|
207
207
|
|
|
208
|
-
#: models/absence.py:
|
|
208
|
+
#: models/absence.py:102
|
|
209
209
|
msgid "Vacation"
|
|
210
210
|
msgstr ""
|
|
211
211
|
|
|
212
|
-
#: models/absence.py:
|
|
212
|
+
#: models/absence.py:103
|
|
213
213
|
msgid ""
|
|
214
214
|
"If true, the days will be counted towards the employee's vacation balance"
|
|
215
215
|
msgstr ""
|
|
216
216
|
|
|
217
|
-
#: models/absence.py:
|
|
217
|
+
#: models/absence.py:106
|
|
218
218
|
msgid "Time-Off"
|
|
219
219
|
msgstr ""
|
|
220
220
|
|
|
221
|
-
#: models/absence.py:
|
|
221
|
+
#: models/absence.py:106
|
|
222
222
|
msgid "If true, the employee is considered as not working"
|
|
223
223
|
msgstr ""
|
|
224
224
|
|
|
225
|
-
#: models/absence.py:
|
|
225
|
+
#: models/absence.py:110
|
|
226
226
|
msgid "Extensible"
|
|
227
227
|
msgstr ""
|
|
228
228
|
|
|
229
|
-
#: models/absence.py:
|
|
229
|
+
#: models/absence.py:111
|
|
230
230
|
msgid "If true, allow the associated request to be extended"
|
|
231
231
|
msgstr ""
|
|
232
232
|
|
|
233
|
-
#: models/absence.py:
|
|
233
|
+
#: models/absence.py:113
|
|
234
234
|
msgid "Auto Approve"
|
|
235
235
|
msgstr ""
|
|
236
236
|
|
|
237
|
-
#: models/absence.py:
|
|
237
|
+
#: models/absence.py:114
|
|
238
238
|
msgid "Days In Advance"
|
|
239
239
|
msgstr ""
|
|
240
240
|
|
|
241
|
-
#: models/absence.py:
|
|
241
|
+
#: models/absence.py:116
|
|
242
242
|
msgid "Is country necessary"
|
|
243
243
|
msgstr ""
|
|
244
244
|
|
|
245
|
-
#: models/absence.py:
|
|
245
|
+
#: models/absence.py:121
|
|
246
246
|
msgid "Countries"
|
|
247
247
|
msgstr ""
|
|
248
248
|
|
|
249
|
-
#: models/absence.py:
|
|
249
|
+
#: models/absence.py:122
|
|
250
250
|
msgid "List of countries where crossborder activity is allowed"
|
|
251
251
|
msgstr ""
|
|
252
252
|
|
|
253
|
-
#: models/absence.py:
|
|
253
|
+
#: models/absence.py:125
|
|
254
254
|
msgid "Extra Notify Groups"
|
|
255
255
|
msgstr ""
|
|
256
256
|
|
|
257
|
-
#: models/absence.py:
|
|
257
|
+
#: models/absence.py:131
|
|
258
258
|
msgid "A country is necessary for this absence request type"
|
|
259
259
|
msgstr ""
|
|
260
260
|
|
|
261
|
-
#: models/absence.py:
|
|
261
|
+
#: models/absence.py:135
|
|
262
262
|
msgid ""
|
|
263
263
|
"You are not allowed to have crossborder activities in the specified country "
|
|
264
264
|
"for the specified absence request type"
|
|
265
265
|
msgstr ""
|
|
266
266
|
|
|
267
|
-
#: models/absence.py:
|
|
267
|
+
#: models/absence.py:141
|
|
268
268
|
msgid "Absence Request Type"
|
|
269
269
|
msgstr ""
|
|
270
270
|
|
|
271
|
-
#: models/absence.py:
|
|
271
|
+
#: models/absence.py:142
|
|
272
272
|
msgid "Absence Request Types"
|
|
273
273
|
msgstr ""
|
|
274
274
|
|
|
275
|
-
#: models/absence.py:
|
|
275
|
+
#: models/absence.py:227
|
|
276
276
|
msgid "Draft"
|
|
277
277
|
msgstr ""
|
|
278
278
|
|
|
279
|
-
#: models/absence.py:
|
|
279
|
+
#: models/absence.py:228
|
|
280
280
|
msgid "Pending"
|
|
281
281
|
msgstr ""
|
|
282
282
|
|
|
283
|
-
#: models/absence.py:
|
|
283
|
+
#: models/absence.py:229
|
|
284
284
|
msgid "Approved"
|
|
285
285
|
msgstr ""
|
|
286
286
|
|
|
287
|
-
#: models/absence.py:
|
|
287
|
+
#: models/absence.py:230
|
|
288
288
|
msgid "Denied"
|
|
289
289
|
msgstr ""
|
|
290
290
|
|
|
291
|
-
#: models/absence.py:
|
|
291
|
+
#: models/absence.py:231
|
|
292
292
|
msgid "Cancelled"
|
|
293
293
|
msgstr ""
|
|
294
294
|
|
|
295
|
-
#: models/absence.py:
|
|
295
|
+
#: models/absence.py:236 models/review.py:140 viewsets/display/absence.py:201
|
|
296
296
|
#: viewsets/display/review.py:74 viewsets/display/review.py:236
|
|
297
297
|
msgid "Status"
|
|
298
298
|
msgstr ""
|
|
299
299
|
|
|
300
|
-
#: models/absence.py:
|
|
300
|
+
#: models/absence.py:237
|
|
301
301
|
msgid "The request status (defaults to draft)"
|
|
302
302
|
msgstr ""
|
|
303
303
|
|
|
304
|
-
#: models/absence.py:
|
|
305
|
-
#: models/employee.py:839 models/employee.py:943 viewsets/absence_charts.py:
|
|
304
|
+
#: models/absence.py:251 models/absence.py:623 models/employee.py:154
|
|
305
|
+
#: models/employee.py:839 models/employee.py:943 viewsets/absence_charts.py:243
|
|
306
306
|
#: viewsets/display/absence.py:39 viewsets/display/absence.py:269
|
|
307
307
|
msgid "Employee"
|
|
308
308
|
msgstr ""
|
|
309
309
|
|
|
310
|
-
#: models/absence.py:
|
|
310
|
+
#: models/absence.py:252
|
|
311
311
|
msgid "The employee requesting the absence"
|
|
312
312
|
msgstr ""
|
|
313
313
|
|
|
314
|
-
#: models/absence.py:
|
|
314
|
+
#: models/absence.py:256
|
|
315
315
|
msgid "Extra Notes"
|
|
316
316
|
msgstr ""
|
|
317
317
|
|
|
318
|
-
#: models/absence.py:
|
|
318
|
+
#: models/absence.py:256
|
|
319
319
|
msgid "A note to the HR administrator"
|
|
320
320
|
msgstr ""
|
|
321
321
|
|
|
322
|
-
#: models/absence.py:
|
|
322
|
+
#: models/absence.py:259
|
|
323
323
|
msgid "Reason"
|
|
324
324
|
msgstr ""
|
|
325
325
|
|
|
326
|
-
#: models/absence.py:
|
|
326
|
+
#: models/absence.py:259
|
|
327
327
|
msgid "The HR's response to this absence request"
|
|
328
328
|
msgstr ""
|
|
329
329
|
|
|
330
|
-
#: models/absence.py:
|
|
330
|
+
#: models/absence.py:262 viewsets/display/absence.py:44
|
|
331
331
|
#: viewsets/display/absence.py:205
|
|
332
332
|
msgid "Created"
|
|
333
333
|
msgstr ""
|
|
334
334
|
|
|
335
|
-
#: models/absence.py:
|
|
335
|
+
#: models/absence.py:262
|
|
336
336
|
msgid "The request creation time"
|
|
337
337
|
msgstr ""
|
|
338
338
|
|
|
339
|
-
#: models/absence.py:
|
|
339
|
+
#: models/absence.py:269
|
|
340
340
|
msgid "Attachment"
|
|
341
341
|
msgstr ""
|
|
342
342
|
|
|
343
|
-
#: models/absence.py:
|
|
343
|
+
#: models/absence.py:271
|
|
344
344
|
msgid ""
|
|
345
345
|
"Upload a file to document this absence request (e.g. medical certificate)"
|
|
346
346
|
msgstr ""
|
|
347
347
|
|
|
348
|
-
#: models/absence.py:
|
|
348
|
+
#: models/absence.py:280
|
|
349
349
|
msgid "Crossborder Country"
|
|
350
350
|
msgstr ""
|
|
351
351
|
|
|
352
|
-
#: models/absence.py:
|
|
352
|
+
#: models/absence.py:281
|
|
353
353
|
msgid "The country where this absence request will be held."
|
|
354
354
|
msgstr ""
|
|
355
355
|
|
|
356
|
-
#: models/absence.py:
|
|
356
|
+
#: models/absence.py:298 models/review.py:259
|
|
357
357
|
msgid "Submit"
|
|
358
358
|
msgstr ""
|
|
359
359
|
|
|
360
|
-
#: models/absence.py:
|
|
360
|
+
#: models/absence.py:299
|
|
361
361
|
msgid "Submitting"
|
|
362
362
|
msgstr ""
|
|
363
363
|
|
|
364
|
-
#: models/absence.py:
|
|
364
|
+
#: models/absence.py:300
|
|
365
365
|
msgid "<p>Are you sure you want to submit this request?</p>"
|
|
366
366
|
msgstr ""
|
|
367
367
|
|
|
368
|
-
#: models/absence.py:
|
|
368
|
+
#: models/absence.py:310
|
|
369
369
|
#, python-brace-format
|
|
370
370
|
msgid ""
|
|
371
371
|
"<p>{employee} has submitted a {type} request for {hours} hours from {lower} "
|
|
372
372
|
"to {upper}.</p>"
|
|
373
373
|
msgstr ""
|
|
374
374
|
|
|
375
|
-
#: models/absence.py:
|
|
375
|
+
#: models/absence.py:319
|
|
376
376
|
#, python-brace-format
|
|
377
377
|
msgid "</br><p><b>Country:</b></p><i>{0}</i>"
|
|
378
378
|
msgstr ""
|
|
379
379
|
|
|
380
|
-
#: models/absence.py:
|
|
380
|
+
#: models/absence.py:321
|
|
381
381
|
#, python-brace-format
|
|
382
382
|
msgid "</br><p><b>Employee's Note:</b></p><i>{notes}</i>"
|
|
383
383
|
msgstr ""
|
|
384
384
|
|
|
385
|
-
#: models/absence.py:
|
|
385
|
+
#: models/absence.py:322
|
|
386
386
|
#, python-brace-format
|
|
387
387
|
msgid "New {type} Request"
|
|
388
388
|
msgstr ""
|
|
389
389
|
|
|
390
|
-
#: models/absence.py:
|
|
390
|
+
#: models/absence.py:346
|
|
391
391
|
msgid "Approve"
|
|
392
392
|
msgstr ""
|
|
393
393
|
|
|
394
|
-
#: models/absence.py:
|
|
394
|
+
#: models/absence.py:347
|
|
395
395
|
msgid "Approval"
|
|
396
396
|
msgstr ""
|
|
397
397
|
|
|
398
|
-
#: models/absence.py:
|
|
398
|
+
#: models/absence.py:348
|
|
399
399
|
msgid "<p>Are you sure you want to approve this request?</p>"
|
|
400
400
|
msgstr ""
|
|
401
401
|
|
|
402
|
-
#: models/absence.py:
|
|
402
|
+
#: models/absence.py:356
|
|
403
403
|
#, python-brace-format
|
|
404
404
|
msgid ""
|
|
405
405
|
"<p>Your {type} request from {start_date} to {end_date} has been approved.</p>"
|
|
406
406
|
msgstr ""
|
|
407
407
|
|
|
408
|
-
#: models/absence.py:
|
|
408
|
+
#: models/absence.py:361
|
|
409
409
|
msgid "Absence request approved"
|
|
410
410
|
msgstr ""
|
|
411
411
|
|
|
412
|
-
#: models/absence.py:
|
|
412
|
+
#: models/absence.py:376
|
|
413
413
|
msgid "Deny"
|
|
414
414
|
msgstr ""
|
|
415
415
|
|
|
416
|
-
#: models/absence.py:
|
|
416
|
+
#: models/absence.py:377
|
|
417
417
|
msgid "Denial"
|
|
418
418
|
msgstr ""
|
|
419
419
|
|
|
420
|
-
#: models/absence.py:
|
|
420
|
+
#: models/absence.py:378
|
|
421
421
|
msgid "<p>Are you sure you want to deny this request?</p>"
|
|
422
422
|
msgstr ""
|
|
423
423
|
|
|
424
|
-
#: models/absence.py:
|
|
424
|
+
#: models/absence.py:388
|
|
425
425
|
#, python-brace-format
|
|
426
426
|
msgid ""
|
|
427
427
|
"<p>Your absence request from {start_date} to {end_date} has been denied.</p>"
|
|
428
428
|
msgstr ""
|
|
429
429
|
|
|
430
|
-
#: models/absence.py:
|
|
430
|
+
#: models/absence.py:392
|
|
431
431
|
#, python-brace-format
|
|
432
432
|
msgid "</br><p><b>HR's reason:</b></p><i>{reason}</i>"
|
|
433
433
|
msgstr ""
|
|
434
434
|
|
|
435
|
-
#: models/absence.py:
|
|
435
|
+
#: models/absence.py:393
|
|
436
436
|
msgid "Absence request denied"
|
|
437
437
|
msgstr ""
|
|
438
438
|
|
|
439
|
-
#: models/absence.py:
|
|
439
|
+
#: models/absence.py:409 models/absence.py:410
|
|
440
440
|
msgid "Back to Draft"
|
|
441
441
|
msgstr ""
|
|
442
442
|
|
|
443
|
-
#: models/absence.py:
|
|
443
|
+
#: models/absence.py:411
|
|
444
444
|
msgid "<p>Are you sure you want to put this request back to draft?</p>"
|
|
445
445
|
msgstr ""
|
|
446
446
|
|
|
447
|
-
#: models/absence.py:
|
|
447
|
+
#: models/absence.py:431
|
|
448
448
|
msgctxt "Transition button"
|
|
449
449
|
msgid "Cancel"
|
|
450
450
|
msgstr ""
|
|
451
451
|
|
|
452
|
-
#: models/absence.py:
|
|
452
|
+
#: models/absence.py:432
|
|
453
453
|
msgid "Cancellation"
|
|
454
454
|
msgstr ""
|
|
455
455
|
|
|
456
|
-
#: models/absence.py:
|
|
456
|
+
#: models/absence.py:433
|
|
457
457
|
msgid "<p>Are you sure you want to cancel this request?</p>"
|
|
458
458
|
msgstr ""
|
|
459
459
|
|
|
460
|
-
#: models/absence.py:
|
|
460
|
+
#: models/absence.py:441
|
|
461
461
|
#, python-brace-format
|
|
462
462
|
msgid ""
|
|
463
463
|
"{employee} has cancelled a {type} request from {start_date} to {end_date}."
|
|
464
464
|
msgstr ""
|
|
465
465
|
|
|
466
|
-
#: models/absence.py:
|
|
466
|
+
#: models/absence.py:448
|
|
467
467
|
#, python-brace-format
|
|
468
468
|
msgid "Cancelled {type} Request"
|
|
469
469
|
msgstr ""
|
|
470
470
|
|
|
471
|
-
#: models/absence.py:
|
|
471
|
+
#: models/absence.py:454
|
|
472
472
|
msgid "Absence Request"
|
|
473
473
|
msgstr ""
|
|
474
474
|
|
|
475
|
-
#: models/absence.py:
|
|
475
|
+
#: models/absence.py:455
|
|
476
476
|
msgid "Absence Requests"
|
|
477
477
|
msgstr ""
|
|
478
478
|
|
|
479
|
-
#: models/absence.py:
|
|
479
|
+
#: models/absence.py:616
|
|
480
480
|
msgid "Request"
|
|
481
481
|
msgstr ""
|
|
482
482
|
|
|
483
|
-
#: models/absence.py:
|
|
483
|
+
#: models/absence.py:617
|
|
484
484
|
msgid "The associated request"
|
|
485
485
|
msgstr ""
|
|
486
486
|
|
|
487
|
-
#: models/absence.py:
|
|
487
|
+
#: models/absence.py:624
|
|
488
488
|
msgid "The Requester"
|
|
489
489
|
msgstr ""
|
|
490
490
|
|
|
491
|
-
#: models/absence.py:
|
|
491
|
+
#: models/absence.py:630 models/kpi.py:68 viewsets/display/absence.py:40
|
|
492
492
|
#: viewsets/display/absence.py:202 viewsets/display/absence.py:227
|
|
493
493
|
#: viewsets/display/employee.py:248 viewsets/display/kpis.py:23
|
|
494
494
|
#: viewsets/display/kpis.py:78 viewsets/kpi.py:240
|
|
495
495
|
msgid "Period"
|
|
496
496
|
msgstr ""
|
|
497
497
|
|
|
498
|
-
#: models/absence.py:
|
|
498
|
+
#: models/absence.py:631
|
|
499
499
|
msgid "The associated period"
|
|
500
500
|
msgstr ""
|
|
501
501
|
|
|
502
|
-
#: models/absence.py:
|
|
502
|
+
#: models/absence.py:636
|
|
503
503
|
msgid "Timespan"
|
|
504
504
|
msgstr ""
|
|
505
505
|
|
|
506
|
-
#: models/absence.py:
|
|
506
|
+
#: models/absence.py:645 viewsets/display/absence.py:229
|
|
507
507
|
msgid "Balance"
|
|
508
508
|
msgstr ""
|
|
509
509
|
|
|
510
|
-
#: models/absence.py:
|
|
510
|
+
#: models/absence.py:646
|
|
511
511
|
msgid "For which balance this absence will count towards"
|
|
512
512
|
msgstr ""
|
|
513
513
|
|
|
514
|
-
#: models/absence.py:
|
|
514
|
+
#: models/absence.py:650
|
|
515
515
|
msgid "Consecutive Absence Hours count"
|
|
516
516
|
msgstr ""
|
|
517
517
|
|
|
518
|
-
#: models/absence.py:
|
|
518
|
+
#: models/absence.py:651
|
|
519
519
|
msgid "The number of consecutive hours this absence request period spans"
|
|
520
520
|
msgstr ""
|
|
521
521
|
|
|
522
|
-
#: models/absence.py:
|
|
522
|
+
#: models/absence.py:658
|
|
523
523
|
msgid "Absence Request Period"
|
|
524
524
|
msgstr ""
|
|
525
525
|
|
|
526
|
-
#: models/absence.py:
|
|
526
|
+
#: models/absence.py:659
|
|
527
527
|
msgid "Absence Request Periods"
|
|
528
528
|
msgstr ""
|
|
529
529
|
|
|
@@ -579,89 +579,89 @@ msgstr ""
|
|
|
579
579
|
msgid "Default Daily Periods"
|
|
580
580
|
msgstr ""
|
|
581
581
|
|
|
582
|
-
#: models/employee.py:
|
|
582
|
+
#: models/employee.py:104
|
|
583
583
|
msgid "Internal"
|
|
584
584
|
msgstr ""
|
|
585
585
|
|
|
586
|
-
#: models/employee.py:
|
|
586
|
+
#: models/employee.py:105
|
|
587
587
|
msgid "External"
|
|
588
588
|
msgstr ""
|
|
589
589
|
|
|
590
|
-
#: models/employee.py:
|
|
590
|
+
#: models/employee.py:108 models/kpi.py:52
|
|
591
591
|
msgid "Monthly"
|
|
592
592
|
msgstr ""
|
|
593
593
|
|
|
594
|
-
#: models/employee.py:
|
|
594
|
+
#: models/employee.py:109
|
|
595
595
|
msgid "Yearly"
|
|
596
596
|
msgstr ""
|
|
597
597
|
|
|
598
|
-
#: models/employee.py:
|
|
598
|
+
#: models/employee.py:155
|
|
599
599
|
msgid "The CRM profile related to this employee"
|
|
600
600
|
msgstr ""
|
|
601
601
|
|
|
602
|
-
#: models/employee.py:
|
|
602
|
+
#: models/employee.py:158
|
|
603
603
|
msgid "Is active"
|
|
604
604
|
msgstr ""
|
|
605
605
|
|
|
606
|
-
#: models/employee.py:
|
|
606
|
+
#: models/employee.py:160
|
|
607
607
|
msgid ""
|
|
608
608
|
"If false, the employee will be considered as not active but his absence "
|
|
609
609
|
"requests will be preserved"
|
|
610
610
|
msgstr ""
|
|
611
611
|
|
|
612
|
-
#: models/employee.py:
|
|
612
|
+
#: models/employee.py:168
|
|
613
613
|
msgid "Extra Days Frequency"
|
|
614
614
|
msgstr ""
|
|
615
615
|
|
|
616
|
-
#: models/employee.py:
|
|
616
|
+
#: models/employee.py:170
|
|
617
617
|
msgid ""
|
|
618
618
|
"The frequency at which an additional number of vacation days is enabled for "
|
|
619
619
|
"this employee (defaults to yearly)"
|
|
620
620
|
msgstr ""
|
|
621
621
|
|
|
622
|
-
#: models/employee.py:
|
|
622
|
+
#: models/employee.py:175
|
|
623
623
|
msgid "Occupation Rate"
|
|
624
624
|
msgstr ""
|
|
625
625
|
|
|
626
|
-
#: models/employee.py:
|
|
626
|
+
#: models/employee.py:176
|
|
627
627
|
msgid "The occupation rate in percent, 100% being employed fulltime"
|
|
628
628
|
msgstr ""
|
|
629
629
|
|
|
630
|
-
#: models/employee.py:
|
|
630
|
+
#: models/employee.py:184
|
|
631
631
|
msgid "Employee Type"
|
|
632
632
|
msgstr ""
|
|
633
633
|
|
|
634
|
-
#: models/employee.py:
|
|
634
|
+
#: models/employee.py:186
|
|
635
635
|
msgid ""
|
|
636
636
|
"If Internal, the employee is considered a full-time employee and thus has "
|
|
637
637
|
"employee access to the system."
|
|
638
638
|
msgstr ""
|
|
639
639
|
|
|
640
|
-
#: models/employee.py:
|
|
640
|
+
#: models/employee.py:197
|
|
641
641
|
msgid "The position this employee belongs to"
|
|
642
642
|
msgstr ""
|
|
643
643
|
|
|
644
|
-
#: models/employee.py:
|
|
644
|
+
#: models/employee.py:204 viewsets/display/employee.py:157
|
|
645
645
|
msgid "Direct Manager"
|
|
646
646
|
msgstr ""
|
|
647
647
|
|
|
648
|
-
#: models/employee.py:
|
|
648
|
+
#: models/employee.py:217
|
|
649
649
|
msgid "Weekly off periods"
|
|
650
650
|
msgstr ""
|
|
651
651
|
|
|
652
|
-
#: models/employee.py:
|
|
652
|
+
#: models/employee.py:223
|
|
653
653
|
msgid "Enrolled at"
|
|
654
654
|
msgstr ""
|
|
655
655
|
|
|
656
|
-
#: models/employee.py:
|
|
656
|
+
#: models/employee.py:227
|
|
657
657
|
msgid "Employee Human Resource"
|
|
658
658
|
msgstr ""
|
|
659
659
|
|
|
660
|
-
#: models/employee.py:
|
|
660
|
+
#: models/employee.py:228
|
|
661
661
|
msgid "Employee Human Resources"
|
|
662
662
|
msgstr ""
|
|
663
663
|
|
|
664
|
-
#: models/employee.py:
|
|
664
|
+
#: models/employee.py:822 models/employee.py:823
|
|
665
665
|
msgid "Monthly Allowance"
|
|
666
666
|
msgstr ""
|
|
667
667
|
|
|
@@ -669,7 +669,7 @@ msgstr ""
|
|
|
669
669
|
msgid "The employee having that year balance"
|
|
670
670
|
msgstr ""
|
|
671
671
|
|
|
672
|
-
#: models/employee.py:842 models/review.py:
|
|
672
|
+
#: models/employee.py:842 models/review.py:135 viewsets/display/absence.py:214
|
|
673
673
|
#: viewsets/display/employee.py:192 viewsets/display/review.py:66
|
|
674
674
|
#: viewsets/display/review.py:232
|
|
675
675
|
msgid "Year"
|
|
@@ -703,218 +703,222 @@ msgstr ""
|
|
|
703
703
|
msgid "Employee Weekly off Periods"
|
|
704
704
|
msgstr ""
|
|
705
705
|
|
|
706
|
-
#: models/employee.py:
|
|
706
|
+
#: models/employee.py:1030
|
|
707
707
|
msgid "Parent Positions"
|
|
708
708
|
msgstr ""
|
|
709
709
|
|
|
710
|
-
#: models/employee.py:
|
|
710
|
+
#: models/employee.py:1039
|
|
711
711
|
msgid "Department Manager"
|
|
712
712
|
msgstr ""
|
|
713
713
|
|
|
714
|
-
#: models/employee.py:
|
|
714
|
+
#: models/employee.py:1045 viewsets/menu/employee.py:32
|
|
715
715
|
msgid "Positions"
|
|
716
716
|
msgstr ""
|
|
717
717
|
|
|
718
|
-
#: models/employee.py:
|
|
718
|
+
#: models/employee.py:1209
|
|
719
719
|
#, python-brace-format
|
|
720
720
|
msgid "{employee} deactivation ended and was successful"
|
|
721
721
|
msgstr ""
|
|
722
722
|
|
|
723
|
-
#: models/employee.py:
|
|
723
|
+
#: models/employee.py:1212
|
|
724
724
|
#, python-brace-format
|
|
725
725
|
msgid ""
|
|
726
726
|
"The following actions have been done: \n"
|
|
727
727
|
"{messages}"
|
|
728
728
|
msgstr ""
|
|
729
729
|
|
|
730
|
-
#: models/
|
|
730
|
+
#: models/employee.py:1241
|
|
731
|
+
msgid "Today is {}'s birthday, Which them a happy birthday!"
|
|
732
|
+
msgstr ""
|
|
733
|
+
|
|
734
|
+
#: models/kpi.py:50
|
|
731
735
|
msgid "Daily"
|
|
732
736
|
msgstr ""
|
|
733
737
|
|
|
734
|
-
#: models/kpi.py:
|
|
738
|
+
#: models/kpi.py:51
|
|
735
739
|
msgid "Weekly"
|
|
736
740
|
msgstr ""
|
|
737
741
|
|
|
738
|
-
#: models/kpi.py:
|
|
742
|
+
#: models/kpi.py:53
|
|
739
743
|
msgid "Quarterly"
|
|
740
744
|
msgstr ""
|
|
741
745
|
|
|
742
|
-
#: models/kpi.py:
|
|
746
|
+
#: models/kpi.py:71
|
|
743
747
|
msgid "Evaluated Persons"
|
|
744
748
|
msgstr ""
|
|
745
749
|
|
|
746
|
-
#: models/kpi.py:
|
|
750
|
+
#: models/kpi.py:74
|
|
747
751
|
msgid "Evaluated Intervals"
|
|
748
752
|
msgstr ""
|
|
749
753
|
|
|
750
|
-
#: models/kpi.py:
|
|
754
|
+
#: models/kpi.py:80 models/kpi.py:176
|
|
751
755
|
msgid "Last update"
|
|
752
756
|
msgstr ""
|
|
753
757
|
|
|
754
|
-
#: models/kpi.py:
|
|
758
|
+
#: models/kpi.py:80 models/kpi.py:176
|
|
755
759
|
msgid "Date of latest change (automatically computed)"
|
|
756
760
|
msgstr ""
|
|
757
761
|
|
|
758
|
-
#: models/kpi.py:
|
|
762
|
+
#: models/kpi.py:82
|
|
759
763
|
msgid "Individual Evaluation"
|
|
760
764
|
msgstr ""
|
|
761
765
|
|
|
762
|
-
#: models/kpi.py:
|
|
766
|
+
#: models/kpi.py:133
|
|
763
767
|
msgid "Key Performance Indicator"
|
|
764
768
|
msgstr ""
|
|
765
769
|
|
|
766
|
-
#: models/kpi.py:
|
|
770
|
+
#: models/kpi.py:134
|
|
767
771
|
msgid "Key Performance Indicators"
|
|
768
772
|
msgstr ""
|
|
769
773
|
|
|
770
|
-
#: models/kpi.py:
|
|
774
|
+
#: models/kpi.py:180 models/review.py:653
|
|
771
775
|
msgid "Evaluation"
|
|
772
776
|
msgstr ""
|
|
773
777
|
|
|
774
|
-
#: models/kpi.py:
|
|
778
|
+
#: models/kpi.py:181 viewsets/display/kpis.py:43
|
|
775
779
|
msgid "Evaluations"
|
|
776
780
|
msgstr ""
|
|
777
781
|
|
|
778
|
-
#: models/review.py:
|
|
782
|
+
#: models/review.py:66
|
|
779
783
|
msgid "Review Group"
|
|
780
784
|
msgstr ""
|
|
781
785
|
|
|
782
|
-
#: models/review.py:
|
|
786
|
+
#: models/review.py:67
|
|
783
787
|
msgid "Review Groups"
|
|
784
788
|
msgstr ""
|
|
785
789
|
|
|
786
|
-
#: models/review.py:
|
|
790
|
+
#: models/review.py:69 models/review.py:586 viewsets/display/employee.py:30
|
|
787
791
|
#: viewsets/display/employee.py:151 viewsets/display/kpis.py:20
|
|
788
792
|
#: viewsets/display/review.py:51 viewsets/display/review.py:249
|
|
789
793
|
msgid "Name"
|
|
790
794
|
msgstr ""
|
|
791
795
|
|
|
792
|
-
#: models/review.py:
|
|
796
|
+
#: models/review.py:94
|
|
793
797
|
msgid "Stage 1: Preparation of review"
|
|
794
798
|
msgstr ""
|
|
795
799
|
|
|
796
|
-
#: models/review.py:
|
|
800
|
+
#: models/review.py:95 models/review.py:260 models/review.py:317
|
|
797
801
|
msgid "Stage 2: Fill in review"
|
|
798
802
|
msgstr ""
|
|
799
803
|
|
|
800
|
-
#: models/review.py:
|
|
804
|
+
#: models/review.py:96 models/review.py:283
|
|
801
805
|
msgid "Stage 3: Review"
|
|
802
806
|
msgstr ""
|
|
803
807
|
|
|
804
|
-
#: models/review.py:
|
|
808
|
+
#: models/review.py:97
|
|
805
809
|
msgid "Stage 4: Evalutation"
|
|
806
810
|
msgstr ""
|
|
807
811
|
|
|
808
|
-
#: models/review.py:
|
|
812
|
+
#: models/review.py:98
|
|
809
813
|
msgid "Stage 5: Validation"
|
|
810
814
|
msgstr ""
|
|
811
815
|
|
|
812
|
-
#: models/review.py:
|
|
816
|
+
#: models/review.py:112
|
|
813
817
|
msgid "Annual"
|
|
814
818
|
msgstr ""
|
|
815
819
|
|
|
816
|
-
#: models/review.py:
|
|
820
|
+
#: models/review.py:113
|
|
817
821
|
msgid "Intermediary"
|
|
818
822
|
msgstr ""
|
|
819
823
|
|
|
820
|
-
#: models/review.py:
|
|
824
|
+
#: models/review.py:116 models/review.py:202 models/review.py:624
|
|
821
825
|
#: templates/review/review_report.html:177 viewsets/display/review.py:58
|
|
822
826
|
#: viewsets/display/review.py:237 viewsets/display/review.py:279
|
|
823
827
|
#: viewsets/display/review.py:424
|
|
824
828
|
msgid "Review"
|
|
825
829
|
msgstr ""
|
|
826
830
|
|
|
827
|
-
#: models/review.py:
|
|
831
|
+
#: models/review.py:117
|
|
828
832
|
msgid "Reviews"
|
|
829
833
|
msgstr ""
|
|
830
834
|
|
|
831
|
-
#: models/review.py:
|
|
835
|
+
#: models/review.py:130 viewsets/display/review.py:71
|
|
832
836
|
msgid "From"
|
|
833
837
|
msgstr ""
|
|
834
838
|
|
|
835
|
-
#: models/review.py:
|
|
839
|
+
#: models/review.py:131 viewsets/display/review.py:72
|
|
836
840
|
msgid "To"
|
|
837
841
|
msgstr ""
|
|
838
842
|
|
|
839
|
-
#: models/review.py:
|
|
843
|
+
#: models/review.py:132 templates/review/review_report.html:173
|
|
840
844
|
#: viewsets/display/review.py:73
|
|
841
845
|
msgid "Deadline"
|
|
842
846
|
msgstr ""
|
|
843
847
|
|
|
844
|
-
#: models/review.py:
|
|
848
|
+
#: models/review.py:133
|
|
845
849
|
msgid "Review Date"
|
|
846
850
|
msgstr ""
|
|
847
851
|
|
|
848
|
-
#: models/review.py:
|
|
852
|
+
#: models/review.py:134 viewsets/display/review.py:235
|
|
849
853
|
msgid "Auto Apply Deadline"
|
|
850
854
|
msgstr ""
|
|
851
855
|
|
|
852
|
-
#: models/review.py:
|
|
856
|
+
#: models/review.py:141
|
|
853
857
|
msgid "Indicates one of the four stages defined by the workflow"
|
|
854
858
|
msgstr ""
|
|
855
859
|
|
|
856
|
-
#: models/review.py:
|
|
860
|
+
#: models/review.py:150 templates/review/review_report.html:157
|
|
857
861
|
#: templates/review/review_report.html:186
|
|
858
862
|
#: templates/review/review_report.html:215
|
|
859
863
|
#: templates/review/review_report.html:228 viewsets/display/review.py:68
|
|
860
864
|
#: viewsets/display/review.py:407 viewsets/display/review.py:410
|
|
861
|
-
#: viewsets/display/review.py:425 viewsets/review.py:
|
|
865
|
+
#: viewsets/display/review.py:425 viewsets/review.py:642 viewsets/review.py:787
|
|
862
866
|
msgid "Reviewee"
|
|
863
867
|
msgstr ""
|
|
864
868
|
|
|
865
|
-
#: models/review.py:
|
|
869
|
+
#: models/review.py:158 templates/review/review_report.html:161
|
|
866
870
|
#: templates/review/review_report.html:187
|
|
867
871
|
#: templates/review/review_report.html:216
|
|
868
872
|
#: templates/review/review_report.html:234 viewsets/display/review.py:69
|
|
869
873
|
#: viewsets/display/review.py:408 viewsets/display/review.py:411
|
|
870
|
-
#: viewsets/display/review.py:426 viewsets/review.py:
|
|
874
|
+
#: viewsets/display/review.py:426 viewsets/review.py:643 viewsets/review.py:788
|
|
871
875
|
msgid "Reviewer"
|
|
872
876
|
msgstr ""
|
|
873
877
|
|
|
874
|
-
#: models/review.py:
|
|
878
|
+
#: models/review.py:175 viewsets/display/review.py:78
|
|
875
879
|
#: viewsets/display/review.py:238
|
|
876
880
|
msgid "Group"
|
|
877
881
|
msgstr ""
|
|
878
882
|
|
|
879
|
-
#: models/review.py:
|
|
883
|
+
#: models/review.py:179
|
|
880
884
|
msgid "Feedback Reviewee"
|
|
881
885
|
msgstr ""
|
|
882
886
|
|
|
883
|
-
#: models/review.py:
|
|
887
|
+
#: models/review.py:180
|
|
884
888
|
msgid "Feedback Reviewer"
|
|
885
889
|
msgstr ""
|
|
886
890
|
|
|
887
|
-
#: models/review.py:
|
|
891
|
+
#: models/review.py:182
|
|
888
892
|
msgid "Date of reviewee's signature"
|
|
889
893
|
msgstr ""
|
|
890
894
|
|
|
891
|
-
#: models/review.py:
|
|
895
|
+
#: models/review.py:183
|
|
892
896
|
msgid "Date of reviewer's signature"
|
|
893
897
|
msgstr ""
|
|
894
898
|
|
|
895
|
-
#: models/review.py:
|
|
899
|
+
#: models/review.py:186
|
|
896
900
|
msgid "Completely Filled Out Reviewee"
|
|
897
901
|
msgstr ""
|
|
898
902
|
|
|
899
|
-
#: models/review.py:
|
|
903
|
+
#: models/review.py:189
|
|
900
904
|
msgid "Completely Filled Out Reviewer"
|
|
901
905
|
msgstr ""
|
|
902
906
|
|
|
903
|
-
#: models/review.py:
|
|
907
|
+
#: models/review.py:198
|
|
904
908
|
#, python-brace-format
|
|
905
909
|
msgid "{group} [Template]"
|
|
906
910
|
msgstr ""
|
|
907
911
|
|
|
908
|
-
#: models/review.py:
|
|
912
|
+
#: models/review.py:198
|
|
909
913
|
msgid "[Template]"
|
|
910
914
|
msgstr ""
|
|
911
915
|
|
|
912
|
-
#: models/review.py:
|
|
916
|
+
#: models/review.py:202
|
|
913
917
|
#, python-brace-format
|
|
914
918
|
msgid "{reviewee}'s Review"
|
|
915
919
|
msgstr ""
|
|
916
920
|
|
|
917
|
-
#: models/review.py:
|
|
921
|
+
#: models/review.py:262
|
|
918
922
|
msgid ""
|
|
919
923
|
"<p>Status: <b>Stage 1: Preparation of review</b></p> <p>Reviewee: "
|
|
920
924
|
"<b>{{_reviewee.computed_str}}</b></p> <p>Reviewer: <b>{{_reviewer."
|
|
@@ -923,11 +927,11 @@ msgid ""
|
|
|
923
927
|
"you want to submit this review to <b>Stage 2: Fill in review?</b></p>"
|
|
924
928
|
msgstr ""
|
|
925
929
|
|
|
926
|
-
#: models/review.py:
|
|
930
|
+
#: models/review.py:282
|
|
927
931
|
msgid "Finalize"
|
|
928
932
|
msgstr ""
|
|
929
933
|
|
|
930
|
-
#: models/review.py:
|
|
934
|
+
#: models/review.py:285
|
|
931
935
|
msgid ""
|
|
932
936
|
"<p>Status: <b>Stage 2: Fill in review</b></p> <p>Reviewee: <b>{{_reviewee."
|
|
933
937
|
"computed_str}}</b></p> <p>Reviewer: <b>{{_reviewer.computed_str}}</b></p> "
|
|
@@ -936,22 +940,22 @@ msgid ""
|
|
|
936
940
|
"<b>Stage 3: Review?</b></p>"
|
|
937
941
|
msgstr ""
|
|
938
942
|
|
|
939
|
-
#: models/review.py:
|
|
943
|
+
#: models/review.py:296
|
|
940
944
|
#, python-brace-format
|
|
941
945
|
msgid "Stage 3: Review - {self}"
|
|
942
946
|
msgstr ""
|
|
943
947
|
|
|
944
|
-
#: models/review.py:
|
|
948
|
+
#: models/review.py:297
|
|
945
949
|
#, python-brace-format
|
|
946
950
|
msgid ""
|
|
947
951
|
"{self} has moved to stage 3: Review. You can now organize the evaluation"
|
|
948
952
|
msgstr ""
|
|
949
953
|
|
|
950
|
-
#: models/review.py:
|
|
954
|
+
#: models/review.py:316
|
|
951
955
|
msgid "Undo"
|
|
952
956
|
msgstr ""
|
|
953
957
|
|
|
954
|
-
#: models/review.py:
|
|
958
|
+
#: models/review.py:319
|
|
955
959
|
msgid ""
|
|
956
960
|
"<p>Status: <b>Stage 3: Review</b></p> <p>Reviewee: <b>{{_reviewee."
|
|
957
961
|
"computed_str}}</b></p> <p>Reviewer: <b>{{_reviewer.computed_str}}</b></p> "
|
|
@@ -960,15 +964,15 @@ msgid ""
|
|
|
960
964
|
"<b>Stage 2: Fill in review?</b></p>"
|
|
961
965
|
msgstr ""
|
|
962
966
|
|
|
963
|
-
#: models/review.py:
|
|
967
|
+
#: models/review.py:340
|
|
964
968
|
msgid "Evaluate"
|
|
965
969
|
msgstr ""
|
|
966
970
|
|
|
967
|
-
#: models/review.py:
|
|
971
|
+
#: models/review.py:341 models/review.py:365
|
|
968
972
|
msgid "Stage 4: Evaluation"
|
|
969
973
|
msgstr ""
|
|
970
974
|
|
|
971
|
-
#: models/review.py:
|
|
975
|
+
#: models/review.py:343
|
|
972
976
|
msgid ""
|
|
973
977
|
"<p>Status: <b>Stage 3: Review</b></p> <p>Reviewee: <b>{{_reviewee."
|
|
974
978
|
"computed_str}}</b></p> <p>Reviewer: <b>{{_reviewer.computed_str}}</b></p> "
|
|
@@ -977,11 +981,11 @@ msgid ""
|
|
|
977
981
|
"<b>Stage 4: Evaluation?</b></p>"
|
|
978
982
|
msgstr ""
|
|
979
983
|
|
|
980
|
-
#: models/review.py:
|
|
984
|
+
#: models/review.py:364
|
|
981
985
|
msgid "Validate"
|
|
982
986
|
msgstr ""
|
|
983
987
|
|
|
984
|
-
#: models/review.py:
|
|
988
|
+
#: models/review.py:367
|
|
985
989
|
msgid ""
|
|
986
990
|
"<p>Status: <b>Stage 4: Evaluation</b></p> <p>Reviewee: <b>{{_reviewee."
|
|
987
991
|
"computed_str}}</b></p> <p>Reviewer: <b>{{_reviewer.computed_str}}</b></p> "
|
|
@@ -989,7 +993,7 @@ msgid ""
|
|
|
989
993
|
"want to send this review to <b>Stage 5: Validation?</b></p>"
|
|
990
994
|
msgstr ""
|
|
991
995
|
|
|
992
|
-
#: models/review.py:
|
|
996
|
+
#: models/review.py:383
|
|
993
997
|
#, python-brace-format
|
|
994
998
|
msgid ""
|
|
995
999
|
"<p>Please pay particular attention to the deadline <b>{deadline}</b>, the "
|
|
@@ -997,82 +1001,82 @@ msgid ""
|
|
|
997
1001
|
"this stage the data will be frozen, you will not be able to modify it.</p>"
|
|
998
1002
|
msgstr ""
|
|
999
1003
|
|
|
1000
|
-
#: models/review.py:
|
|
1004
|
+
#: models/review.py:587 models/review.py:646 viewsets/display/review.py:250
|
|
1001
1005
|
#: viewsets/display/review.py:277 viewsets/display/review.py:405
|
|
1002
|
-
#: viewsets/review.py:
|
|
1006
|
+
#: viewsets/review.py:641
|
|
1003
1007
|
msgid "Weight"
|
|
1004
1008
|
msgstr ""
|
|
1005
1009
|
|
|
1006
|
-
#: models/review.py:
|
|
1010
|
+
#: models/review.py:590
|
|
1007
1011
|
msgid "Review Question Category"
|
|
1008
1012
|
msgstr ""
|
|
1009
1013
|
|
|
1010
|
-
#: models/review.py:
|
|
1014
|
+
#: models/review.py:591
|
|
1011
1015
|
msgid "Review Question Categories"
|
|
1012
1016
|
msgstr ""
|
|
1013
1017
|
|
|
1014
|
-
#: models/review.py:
|
|
1018
|
+
#: models/review.py:617
|
|
1015
1019
|
msgid "Text"
|
|
1016
1020
|
msgstr ""
|
|
1017
1021
|
|
|
1018
|
-
#: models/review.py:
|
|
1022
|
+
#: models/review.py:618 models/review.py:713 serializers/review.py:370
|
|
1019
1023
|
#: viewsets/display/review.py:311
|
|
1020
1024
|
msgid "Rating"
|
|
1021
1025
|
msgstr ""
|
|
1022
1026
|
|
|
1023
|
-
#: models/review.py:
|
|
1027
|
+
#: models/review.py:635 serializers/review.py:374
|
|
1024
1028
|
#: viewsets/display/review.py:271 viewsets/display/review.py:308
|
|
1025
1029
|
msgid "Mandatory"
|
|
1026
1030
|
msgstr ""
|
|
1027
1031
|
|
|
1028
|
-
#: models/review.py:
|
|
1032
|
+
#: models/review.py:642
|
|
1029
1033
|
msgid "For Reviewee"
|
|
1030
1034
|
msgstr ""
|
|
1031
1035
|
|
|
1032
|
-
#: models/review.py:
|
|
1036
|
+
#: models/review.py:643
|
|
1033
1037
|
msgid "For Reviewer"
|
|
1034
1038
|
msgstr ""
|
|
1035
1039
|
|
|
1036
|
-
#: models/review.py:
|
|
1040
|
+
#: models/review.py:644
|
|
1037
1041
|
msgid "For Department Peers"
|
|
1038
1042
|
msgstr ""
|
|
1039
1043
|
|
|
1040
|
-
#: models/review.py:
|
|
1044
|
+
#: models/review.py:645
|
|
1041
1045
|
msgid "For Company Peers"
|
|
1042
1046
|
msgstr ""
|
|
1043
1047
|
|
|
1044
|
-
#: models/review.py:
|
|
1048
|
+
#: models/review.py:657
|
|
1045
1049
|
msgid "Review Question"
|
|
1046
1050
|
msgstr ""
|
|
1047
1051
|
|
|
1048
|
-
#: models/review.py:
|
|
1052
|
+
#: models/review.py:658
|
|
1049
1053
|
msgid "Review Questions"
|
|
1050
1054
|
msgstr ""
|
|
1051
1055
|
|
|
1052
|
-
#: models/review.py:
|
|
1056
|
+
#: models/review.py:690
|
|
1053
1057
|
msgid "Review Answer"
|
|
1054
1058
|
msgstr ""
|
|
1055
1059
|
|
|
1056
|
-
#: models/review.py:
|
|
1060
|
+
#: models/review.py:691
|
|
1057
1061
|
msgid "Review Answers"
|
|
1058
1062
|
msgstr ""
|
|
1059
1063
|
|
|
1060
|
-
#: models/review.py:
|
|
1061
|
-
#: viewsets/display/review.py:338 viewsets/review.py:
|
|
1062
|
-
#: viewsets/review.py:
|
|
1064
|
+
#: models/review.py:706 viewsets/display/review.py:320
|
|
1065
|
+
#: viewsets/display/review.py:338 viewsets/review.py:565 viewsets/review.py:567
|
|
1066
|
+
#: viewsets/review.py:638 viewsets/review.py:786
|
|
1063
1067
|
msgid "Answered By"
|
|
1064
1068
|
msgstr ""
|
|
1065
1069
|
|
|
1066
|
-
#: models/review.py:
|
|
1070
|
+
#: models/review.py:710
|
|
1067
1071
|
msgid "Answered Anonymized"
|
|
1068
1072
|
msgstr ""
|
|
1069
1073
|
|
|
1070
|
-
#: models/review.py:
|
|
1074
|
+
#: models/review.py:715 serializers/review.py:371
|
|
1071
1075
|
#: viewsets/display/review.py:313 viewsets/display/review.py:321
|
|
1072
1076
|
msgid "Comment"
|
|
1073
1077
|
msgstr ""
|
|
1074
1078
|
|
|
1075
|
-
#: models/review.py:
|
|
1079
|
+
#: models/review.py:854
|
|
1076
1080
|
#, python-brace-format
|
|
1077
1081
|
msgid ""
|
|
1078
1082
|
"The KPI '{kpi_name}' is evaluated {interval} over the period from "
|
|
@@ -1083,14 +1087,14 @@ msgid ""
|
|
|
1083
1087
|
" "
|
|
1084
1088
|
msgstr ""
|
|
1085
1089
|
|
|
1086
|
-
#: models/review.py:
|
|
1090
|
+
#: models/review.py:924
|
|
1087
1091
|
#, python-brace-format
|
|
1088
1092
|
msgid ""
|
|
1089
1093
|
"Dear {first_name} {last_name}, <p>your review is ready. You can fill it in "
|
|
1090
1094
|
"until {deadline}.</p>"
|
|
1091
1095
|
msgstr ""
|
|
1092
1096
|
|
|
1093
|
-
#: models/review.py:
|
|
1097
|
+
#: models/review.py:928
|
|
1094
1098
|
#, python-brace-format
|
|
1095
1099
|
msgid ""
|
|
1096
1100
|
"Dear {first_name} {last_name}, <p>you are the reviewer of the review: "
|
|
@@ -1098,23 +1102,23 @@ msgid ""
|
|
|
1098
1102
|
"b></p>"
|
|
1099
1103
|
msgstr ""
|
|
1100
1104
|
|
|
1101
|
-
#: models/review.py:
|
|
1105
|
+
#: models/review.py:937
|
|
1102
1106
|
#, python-brace-format
|
|
1103
1107
|
msgid ""
|
|
1104
1108
|
"Dear {first_name} {last_name}, <p>you are a peer of the review: {review}. "
|
|
1105
1109
|
"You can fill in the questions related to you until <b>{deadline}.</b></p>"
|
|
1106
1110
|
msgstr ""
|
|
1107
1111
|
|
|
1108
|
-
#: models/review.py:
|
|
1112
|
+
#: models/review.py:946
|
|
1109
1113
|
#, python-brace-format
|
|
1110
1114
|
msgid "Stage 2: Fill in review - {review}"
|
|
1111
1115
|
msgstr ""
|
|
1112
1116
|
|
|
1113
|
-
#: models/review.py:
|
|
1117
|
+
#: models/review.py:975
|
|
1114
1118
|
msgid "Review PDF - "
|
|
1115
1119
|
msgstr ""
|
|
1116
1120
|
|
|
1117
|
-
#: serializers/absence.py:126 viewsets/display/calendars.py:
|
|
1121
|
+
#: serializers/absence.py:126 viewsets/display/calendars.py:78
|
|
1118
1122
|
msgid "Total Hours"
|
|
1119
1123
|
msgstr ""
|
|
1120
1124
|
|
|
@@ -1180,7 +1184,7 @@ msgid ""
|
|
|
1180
1184
|
"the dates."
|
|
1181
1185
|
msgstr ""
|
|
1182
1186
|
|
|
1183
|
-
#: serializers/absence.py:
|
|
1187
|
+
#: serializers/absence.py:313
|
|
1184
1188
|
msgid "Increase absence by"
|
|
1185
1189
|
msgstr ""
|
|
1186
1190
|
|
|
@@ -1242,8 +1246,8 @@ msgstr ""
|
|
|
1242
1246
|
msgid "Handler"
|
|
1243
1247
|
msgstr ""
|
|
1244
1248
|
|
|
1245
|
-
#: serializers/review.py:30 viewsets/absence_charts.py:
|
|
1246
|
-
#: viewsets/review.py:
|
|
1249
|
+
#: serializers/review.py:30 viewsets/absence_charts.py:242 viewsets/kpi.py:236
|
|
1250
|
+
#: viewsets/review.py:564 viewsets/review.py:637 viewsets/review.py:785
|
|
1247
1251
|
msgid "ID"
|
|
1248
1252
|
msgstr ""
|
|
1249
1253
|
|
|
@@ -1286,50 +1290,46 @@ msgstr ""
|
|
|
1286
1290
|
msgid "Rating cannot be empty, a response to this question is mandatory"
|
|
1287
1291
|
msgstr ""
|
|
1288
1292
|
|
|
1289
|
-
#: tasks.py:
|
|
1290
|
-
msgid "{} {}'s birthday is {}!"
|
|
1291
|
-
msgstr ""
|
|
1292
|
-
|
|
1293
|
-
#: tasks.py:51
|
|
1294
|
-
msgid "Wish her/him a happy birthday!"
|
|
1295
|
-
msgstr ""
|
|
1296
|
-
|
|
1297
|
-
#: tasks.py:84
|
|
1293
|
+
#: tasks.py:63
|
|
1298
1294
|
msgid "You still have {} hours of vacation to take from {}"
|
|
1299
1295
|
msgstr ""
|
|
1300
1296
|
|
|
1301
|
-
#: tasks.py:
|
|
1297
|
+
#: tasks.py:67
|
|
1302
1298
|
msgid ""
|
|
1303
1299
|
"Please take vacation from now to {:%d.%m.%Y} (excluded). Your balance will "
|
|
1304
1300
|
"not be available after that date"
|
|
1305
1301
|
msgstr ""
|
|
1306
1302
|
|
|
1307
|
-
#: tasks.py:
|
|
1303
|
+
#: tasks.py:92
|
|
1308
1304
|
msgid ""
|
|
1309
1305
|
"Please find the vacation days balance valid to the end of the month as "
|
|
1310
1306
|
"attached excel file"
|
|
1311
1307
|
msgstr ""
|
|
1312
1308
|
|
|
1313
|
-
#: tasks.py:
|
|
1309
|
+
#: tasks.py:94
|
|
1314
1310
|
msgid "Vacation balance summary at {:%d.%m.%Y}"
|
|
1315
1311
|
msgstr ""
|
|
1316
1312
|
|
|
1317
|
-
#: tasks.py:
|
|
1313
|
+
#: tasks.py:99
|
|
1318
1314
|
msgid "Vacation Report {:%d.%m.%Y}"
|
|
1319
1315
|
msgstr ""
|
|
1320
1316
|
|
|
1321
|
-
#: tasks.py:
|
|
1317
|
+
#: tasks.py:127
|
|
1322
1318
|
msgid "Dear {} {}, <p>you only have one more week to complete the review.</p>"
|
|
1323
1319
|
msgstr ""
|
|
1324
1320
|
|
|
1325
|
-
#: tasks.py:
|
|
1321
|
+
#: tasks.py:131 tasks.py:148
|
|
1326
1322
|
msgid "Stage 2: Fill in review - {}"
|
|
1327
1323
|
msgstr ""
|
|
1328
1324
|
|
|
1329
|
-
#: tasks.py:
|
|
1325
|
+
#: tasks.py:143
|
|
1330
1326
|
msgid "Dear {} {}, <p>you only have one more day to complete the review.</p>"
|
|
1331
1327
|
msgstr ""
|
|
1332
1328
|
|
|
1329
|
+
#: tasks.py:193
|
|
1330
|
+
msgid "Your Daily Brief"
|
|
1331
|
+
msgstr ""
|
|
1332
|
+
|
|
1333
1333
|
#: templates/review/review_report.html:140
|
|
1334
1334
|
msgid "Atonrâ Website"
|
|
1335
1335
|
msgstr ""
|
|
@@ -1366,24 +1366,24 @@ msgstr ""
|
|
|
1366
1366
|
msgid "Feedback"
|
|
1367
1367
|
msgstr ""
|
|
1368
1368
|
|
|
1369
|
-
#: viewsets/absence.py:
|
|
1369
|
+
#: viewsets/absence.py:138
|
|
1370
1370
|
msgid "<p>During this absence, you already have these events:</p><ul>"
|
|
1371
1371
|
msgstr ""
|
|
1372
1372
|
|
|
1373
|
-
#: viewsets/absence.py:
|
|
1373
|
+
#: viewsets/absence.py:165
|
|
1374
1374
|
msgid ""
|
|
1375
1375
|
"After this request, you will have {} days ({} hours) left for the balance {}"
|
|
1376
1376
|
"</b>"
|
|
1377
1377
|
msgstr ""
|
|
1378
1378
|
|
|
1379
|
-
#: viewsets/absence.py:
|
|
1379
|
+
#: viewsets/absence.py:169
|
|
1380
1380
|
#, python-brace-format
|
|
1381
1381
|
msgid ""
|
|
1382
1382
|
" (not including <b>{pending_hours}</b> hours from other pending/draft "
|
|
1383
1383
|
"absence requests)"
|
|
1384
1384
|
msgstr ""
|
|
1385
1385
|
|
|
1386
|
-
#: viewsets/absence.py:
|
|
1386
|
+
#: viewsets/absence.py:180
|
|
1387
1387
|
#, python-brace-format
|
|
1388
1388
|
msgid "{holiday} not counted ({title})"
|
|
1389
1389
|
msgstr ""
|
|
@@ -1408,35 +1408,35 @@ msgstr ""
|
|
|
1408
1408
|
msgid "All"
|
|
1409
1409
|
msgstr ""
|
|
1410
1410
|
|
|
1411
|
-
#: viewsets/absence_charts.py:
|
|
1411
|
+
#: viewsets/absence_charts.py:243
|
|
1412
1412
|
msgid "Test"
|
|
1413
1413
|
msgstr ""
|
|
1414
1414
|
|
|
1415
|
-
#: viewsets/absence_charts.py:
|
|
1415
|
+
#: viewsets/absence_charts.py:245 viewsets/display/absence.py:280
|
|
1416
1416
|
msgid "Monday"
|
|
1417
1417
|
msgstr ""
|
|
1418
1418
|
|
|
1419
|
-
#: viewsets/absence_charts.py:
|
|
1419
|
+
#: viewsets/absence_charts.py:246 viewsets/display/absence.py:284
|
|
1420
1420
|
msgid "Tuesday"
|
|
1421
1421
|
msgstr ""
|
|
1422
1422
|
|
|
1423
|
-
#: viewsets/absence_charts.py:
|
|
1423
|
+
#: viewsets/absence_charts.py:247 viewsets/display/absence.py:290
|
|
1424
1424
|
msgid "Wednesday"
|
|
1425
1425
|
msgstr ""
|
|
1426
1426
|
|
|
1427
|
-
#: viewsets/absence_charts.py:
|
|
1427
|
+
#: viewsets/absence_charts.py:248 viewsets/display/absence.py:296
|
|
1428
1428
|
msgid "Thursday"
|
|
1429
1429
|
msgstr ""
|
|
1430
1430
|
|
|
1431
|
-
#: viewsets/absence_charts.py:
|
|
1431
|
+
#: viewsets/absence_charts.py:249 viewsets/display/absence.py:301
|
|
1432
1432
|
msgid "Friday"
|
|
1433
1433
|
msgstr ""
|
|
1434
1434
|
|
|
1435
|
-
#: viewsets/absence_charts.py:
|
|
1435
|
+
#: viewsets/absence_charts.py:250 viewsets/display/absence.py:305
|
|
1436
1436
|
msgid "Saturday"
|
|
1437
1437
|
msgstr ""
|
|
1438
1438
|
|
|
1439
|
-
#: viewsets/absence_charts.py:
|
|
1439
|
+
#: viewsets/absence_charts.py:251 viewsets/display/absence.py:310
|
|
1440
1440
|
msgid "Sunday"
|
|
1441
1441
|
msgstr ""
|
|
1442
1442
|
|
|
@@ -1483,7 +1483,7 @@ msgid "Latest Evaluations"
|
|
|
1483
1483
|
msgstr ""
|
|
1484
1484
|
|
|
1485
1485
|
#: viewsets/buttons/review.py:25 viewsets/buttons/review.py:36
|
|
1486
|
-
#: viewsets/display/review.py:339 viewsets/review.py:
|
|
1486
|
+
#: viewsets/display/review.py:339 viewsets/review.py:566
|
|
1487
1487
|
msgid "Progress"
|
|
1488
1488
|
msgstr ""
|
|
1489
1489
|
|
|
@@ -1672,11 +1672,7 @@ msgid "Day off"
|
|
|
1672
1672
|
msgstr ""
|
|
1673
1673
|
|
|
1674
1674
|
#: viewsets/display/calendars.py:76
|
|
1675
|
-
msgid "
|
|
1676
|
-
msgstr ""
|
|
1677
|
-
|
|
1678
|
-
#: viewsets/display/calendars.py:77
|
|
1679
|
-
msgid "End"
|
|
1675
|
+
msgid "Time Range"
|
|
1680
1676
|
msgstr ""
|
|
1681
1677
|
|
|
1682
1678
|
#: viewsets/display/employee.py:31
|
|
@@ -1703,7 +1699,7 @@ msgstr ""
|
|
|
1703
1699
|
msgid "Absence Periods Count per type"
|
|
1704
1700
|
msgstr ""
|
|
1705
1701
|
|
|
1706
|
-
#: viewsets/display/employee.py:65 viewsets/menu/absence.py:
|
|
1702
|
+
#: viewsets/display/employee.py:65 viewsets/menu/absence.py:24
|
|
1707
1703
|
msgid "Requests"
|
|
1708
1704
|
msgstr ""
|
|
1709
1705
|
|
|
@@ -1847,7 +1843,7 @@ msgid "Little Difference"
|
|
|
1847
1843
|
msgstr ""
|
|
1848
1844
|
|
|
1849
1845
|
#: viewsets/display/review.py:409 viewsets/display/review.py:412
|
|
1850
|
-
#: viewsets/display/review.py:427 viewsets/review.py:
|
|
1846
|
+
#: viewsets/display/review.py:427 viewsets/review.py:644 viewsets/review.py:789
|
|
1851
1847
|
msgid "Peers"
|
|
1852
1848
|
msgstr ""
|
|
1853
1849
|
|
|
@@ -1859,23 +1855,23 @@ msgstr ""
|
|
|
1859
1855
|
msgid "Progress expected to reach goal"
|
|
1860
1856
|
msgstr ""
|
|
1861
1857
|
|
|
1862
|
-
#: viewsets/menu/absence.py:
|
|
1858
|
+
#: viewsets/menu/absence.py:8 viewsets/titles/absence.py:9
|
|
1863
1859
|
msgid "Absence Graph"
|
|
1864
1860
|
msgstr ""
|
|
1865
1861
|
|
|
1866
|
-
#: viewsets/menu/absence.py:
|
|
1862
|
+
#: viewsets/menu/absence.py:16
|
|
1867
1863
|
msgid "Presence Table"
|
|
1868
1864
|
msgstr ""
|
|
1869
1865
|
|
|
1870
|
-
#: viewsets/menu/absence.py:
|
|
1866
|
+
#: viewsets/menu/absence.py:30
|
|
1871
1867
|
msgid "Add Requests"
|
|
1872
1868
|
msgstr ""
|
|
1873
1869
|
|
|
1874
|
-
#: viewsets/menu/absence.py:
|
|
1870
|
+
#: viewsets/menu/absence.py:42
|
|
1875
1871
|
msgid "Request Types"
|
|
1876
1872
|
msgstr ""
|
|
1877
1873
|
|
|
1878
|
-
#: viewsets/menu/absence.py:
|
|
1874
|
+
#: viewsets/menu/absence.py:48
|
|
1879
1875
|
msgid "Add Request Types"
|
|
1880
1876
|
msgstr ""
|
|
1881
1877
|
|
|
@@ -1987,33 +1983,33 @@ msgid ""
|
|
|
1987
1983
|
"creates them."
|
|
1988
1984
|
msgstr ""
|
|
1989
1985
|
|
|
1990
|
-
#: viewsets/review.py:
|
|
1986
|
+
#: viewsets/review.py:501
|
|
1991
1987
|
msgid ""
|
|
1992
1988
|
"It is recommended to add a comment for the answers whose rating is 'very "
|
|
1993
1989
|
"bad', 'bad' or 'very good'"
|
|
1994
1990
|
msgstr ""
|
|
1995
1991
|
|
|
1996
|
-
#: viewsets/review.py:
|
|
1992
|
+
#: viewsets/review.py:568
|
|
1997
1993
|
msgid "Total"
|
|
1998
1994
|
msgstr ""
|
|
1999
1995
|
|
|
2000
|
-
#: viewsets/review.py:
|
|
1996
|
+
#: viewsets/review.py:569
|
|
2001
1997
|
msgid "Answer Number"
|
|
2002
1998
|
msgstr ""
|
|
2003
1999
|
|
|
2004
|
-
#: viewsets/review.py:
|
|
2000
|
+
#: viewsets/review.py:570
|
|
2005
2001
|
msgid "Answer Text"
|
|
2006
2002
|
msgstr ""
|
|
2007
2003
|
|
|
2008
|
-
#: viewsets/review.py:
|
|
2004
|
+
#: viewsets/review.py:646
|
|
2009
2005
|
msgid "Comment Reviewee"
|
|
2010
2006
|
msgstr ""
|
|
2011
2007
|
|
|
2012
|
-
#: viewsets/review.py:
|
|
2008
|
+
#: viewsets/review.py:647
|
|
2013
2009
|
msgid "Comment Reviewer"
|
|
2014
2010
|
msgstr ""
|
|
2015
2011
|
|
|
2016
|
-
#: viewsets/review.py:
|
|
2012
|
+
#: viewsets/review.py:648
|
|
2017
2013
|
msgid "Comment Peers"
|
|
2018
2014
|
msgstr ""
|
|
2019
2015
|
|