iobroker.time-tracker 0.2.0
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.
- package/LICENSE +21 -0
- package/README.md +386 -0
- package/admin/i18n/de.json +34 -0
- package/admin/i18n/en.json +1 -0
- package/admin/i18n/es.json +34 -0
- package/admin/i18n/fr.json +34 -0
- package/admin/i18n/it.json +34 -0
- package/admin/i18n/nl.json +34 -0
- package/admin/i18n/pl.json +34 -0
- package/admin/i18n/pt.json +34 -0
- package/admin/i18n/ru.json +34 -0
- package/admin/i18n/uk.json +34 -0
- package/admin/i18n/zh-cn.json +34 -0
- package/admin/jsonConfig.json +266 -0
- package/admin/time-tracker.png +0 -0
- package/build/lib/adapter/automation.js +100 -0
- package/build/lib/adapter/automation.js.map +7 -0
- package/build/lib/adapter/commands.js +160 -0
- package/build/lib/adapter/commands.js.map +7 -0
- package/build/lib/adapter/messages.js +207 -0
- package/build/lib/adapter/messages.js.map +7 -0
- package/build/lib/adapter/presence.js +129 -0
- package/build/lib/adapter/presence.js.map +7 -0
- package/build/lib/adapter/states.js +330 -0
- package/build/lib/adapter/states.js.map +7 -0
- package/build/lib/adapter/triggers.js +92 -0
- package/build/lib/adapter/triggers.js.map +7 -0
- package/build/lib/db/database.js +96 -0
- package/build/lib/db/database.js.map +7 -0
- package/build/lib/db/migrations.js +603 -0
- package/build/lib/db/migrations.js.map +7 -0
- package/build/lib/db/repositories/absences.js +432 -0
- package/build/lib/db/repositories/absences.js.map +7 -0
- package/build/lib/db/repositories/audit.js +90 -0
- package/build/lib/db/repositories/audit.js.map +7 -0
- package/build/lib/db/repositories/automations.js +326 -0
- package/build/lib/db/repositories/automations.js.map +7 -0
- package/build/lib/db/repositories/entries.js +335 -0
- package/build/lib/db/repositories/entries.js.map +7 -0
- package/build/lib/db/repositories/holidays.js +156 -0
- package/build/lib/db/repositories/holidays.js.map +7 -0
- package/build/lib/db/repositories/payouts.js +221 -0
- package/build/lib/db/repositories/payouts.js.map +7 -0
- package/build/lib/db/repositories/rfid.js +264 -0
- package/build/lib/db/repositories/rfid.js.map +7 -0
- package/build/lib/db/repositories/rules.js +356 -0
- package/build/lib/db/repositories/rules.js.map +7 -0
- package/build/lib/db/repositories/settings.js +91 -0
- package/build/lib/db/repositories/settings.js.map +7 -0
- package/build/lib/db/repositories/terminals.js +243 -0
- package/build/lib/db/repositories/terminals.js.map +7 -0
- package/build/lib/db/repositories/triggers.js +240 -0
- package/build/lib/db/repositories/triggers.js.map +7 -0
- package/build/lib/db/repositories/users.js +491 -0
- package/build/lib/db/repositories/users.js.map +7 -0
- package/build/lib/db/seed.js +180 -0
- package/build/lib/db/seed.js.map +7 -0
- package/build/lib/domain/avatar.js +63 -0
- package/build/lib/domain/avatar.js.map +7 -0
- package/build/lib/domain/breaks.js +70 -0
- package/build/lib/domain/breaks.js.map +7 -0
- package/build/lib/domain/calculation.js +150 -0
- package/build/lib/domain/calculation.js.map +7 -0
- package/build/lib/domain/holidays.js +113 -0
- package/build/lib/domain/holidays.js.map +7 -0
- package/build/lib/domain/punch.js +99 -0
- package/build/lib/domain/punch.js.map +7 -0
- package/build/lib/domain/target.js +89 -0
- package/build/lib/domain/target.js.map +7 -0
- package/build/lib/errors.js +56 -0
- package/build/lib/errors.js.map +7 -0
- package/build/lib/reports/labels.js +358 -0
- package/build/lib/reports/labels.js.map +7 -0
- package/build/lib/reports/pdf.js +308 -0
- package/build/lib/reports/pdf.js.map +7 -0
- package/build/lib/reports/types.js +32 -0
- package/build/lib/reports/types.js.map +7 -0
- package/build/lib/reports/xls.js +211 -0
- package/build/lib/reports/xls.js.map +7 -0
- package/build/lib/services/aggregation.js +495 -0
- package/build/lib/services/aggregation.js.map +7 -0
- package/build/lib/services/auth.js +381 -0
- package/build/lib/services/auth.js.map +7 -0
- package/build/lib/services/backup.js +372 -0
- package/build/lib/services/backup.js.map +7 -0
- package/build/lib/services/closing.js +106 -0
- package/build/lib/services/closing.js.map +7 -0
- package/build/lib/services/sessionSecret.js +100 -0
- package/build/lib/services/sessionSecret.js.map +7 -0
- package/build/lib/services/sync.js +278 -0
- package/build/lib/services/sync.js.map +7 -0
- package/build/lib/util/time.js +125 -0
- package/build/lib/util/time.js.map +7 -0
- package/build/lib/web/api.js +2589 -0
- package/build/lib/web/api.js.map +7 -0
- package/build/lib/web/cookies.js +80 -0
- package/build/lib/web/cookies.js.map +7 -0
- package/build/lib/web/events.js +50 -0
- package/build/lib/web/events.js.map +7 -0
- package/build/lib/web/pin-guard.js +86 -0
- package/build/lib/web/pin-guard.js.map +7 -0
- package/build/lib/web/problem.js +129 -0
- package/build/lib/web/problem.js.map +7 -0
- package/build/lib/web/rate-limit.js +65 -0
- package/build/lib/web/rate-limit.js.map +7 -0
- package/build/lib/web/router.js +274 -0
- package/build/lib/web/router.js.map +7 -0
- package/build/lib/web/server.js +189 -0
- package/build/lib/web/server.js.map +7 -0
- package/build/lib/web/static.js +151 -0
- package/build/lib/web/static.js.map +7 -0
- package/build/lib/web/stream.js +135 -0
- package/build/lib/web/stream.js.map +7 -0
- package/build/main.js +986 -0
- package/build/main.js.map +7 -0
- package/io-package.json +221 -0
- package/package.json +131 -0
- package/src-pwa/src/i18n/de.json +359 -0
- package/src-pwa/src/i18n/en.json +359 -0
- package/src-pwa/src/i18n/es.json +359 -0
- package/src-pwa/src/i18n/fr.json +359 -0
- package/src-pwa/src/i18n/index.ts +96 -0
- package/src-pwa/src/i18n/it.json +359 -0
- package/src-pwa/src/i18n/nl.json +359 -0
- package/src-pwa/src/i18n/pl.json +359 -0
- package/src-pwa/src/i18n/pt.json +359 -0
- package/src-pwa/src/i18n/ru.json +359 -0
- package/src-pwa/src/i18n/uk.json +359 -0
- package/src-pwa/src/i18n/zh-cn.json +359 -0
- package/www/assets/index-QI3wrEvW.js +119 -0
- package/www/assets/index-QI3wrEvW.js.map +1 -0
- package/www/assets/workbox-window.prod.es5-Bd17z0YL.js +3 -0
- package/www/assets/workbox-window.prod.es5-Bd17z0YL.js.map +1 -0
- package/www/favicon.svg +16 -0
- package/www/icon-192.png +0 -0
- package/www/icon-512.png +0 -0
- package/www/index.html +38 -0
- package/www/manifest.webmanifest +1 -0
- package/www/person.png +0 -0
- package/www/sw.js +3 -0
- package/www/sw.js.map +1 -0
- package/www/workbox-9c191d2f.js +3 -0
- package/www/workbox-9c191d2f.js.map +1 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var labels_exports = {};
|
|
20
|
+
__export(labels_exports, {
|
|
21
|
+
REPORT_LABELS: () => REPORT_LABELS,
|
|
22
|
+
reportLabels: () => reportLabels
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(labels_exports);
|
|
25
|
+
const EN = {
|
|
26
|
+
title: "Work time statement",
|
|
27
|
+
employee: "Employee",
|
|
28
|
+
period: "Period",
|
|
29
|
+
created: "Created",
|
|
30
|
+
date: "Date",
|
|
31
|
+
timeIn: "In",
|
|
32
|
+
timeOut: "Out",
|
|
33
|
+
worked: "Worked",
|
|
34
|
+
breaks: "Break",
|
|
35
|
+
paidBreaks: "of which paid",
|
|
36
|
+
target: "Target",
|
|
37
|
+
balance: "Balance",
|
|
38
|
+
absence: "Absence",
|
|
39
|
+
note: "Note",
|
|
40
|
+
openEntry: "open",
|
|
41
|
+
holiday: "holiday",
|
|
42
|
+
total: "Total",
|
|
43
|
+
days: "Days",
|
|
44
|
+
absences: "Absences",
|
|
45
|
+
from: "From",
|
|
46
|
+
to: "To",
|
|
47
|
+
portion: "Portion",
|
|
48
|
+
fullDay: "whole day",
|
|
49
|
+
halfDay: "half day",
|
|
50
|
+
signatureEmployee: "Signature employee",
|
|
51
|
+
signatureManager: "Signature manager"
|
|
52
|
+
};
|
|
53
|
+
const FR = {
|
|
54
|
+
title: "Relev\xE9 des heures",
|
|
55
|
+
employee: "Collaborateur",
|
|
56
|
+
period: "P\xE9riode",
|
|
57
|
+
created: "Cr\xE9\xE9 le",
|
|
58
|
+
date: "Date",
|
|
59
|
+
timeIn: "D\xE9but",
|
|
60
|
+
timeOut: "Fin",
|
|
61
|
+
worked: "Travaill\xE9",
|
|
62
|
+
breaks: "Pause",
|
|
63
|
+
paidBreaks: "dont pay\xE9",
|
|
64
|
+
target: "Objectif",
|
|
65
|
+
balance: "Solde",
|
|
66
|
+
absence: "Absence",
|
|
67
|
+
note: "Remarque",
|
|
68
|
+
openEntry: "ouvert",
|
|
69
|
+
holiday: "jour f\xE9ri\xE9",
|
|
70
|
+
total: "Total",
|
|
71
|
+
days: "Jours",
|
|
72
|
+
absences: "Absences",
|
|
73
|
+
from: "Du",
|
|
74
|
+
to: "Au",
|
|
75
|
+
portion: "Part",
|
|
76
|
+
fullDay: "journ\xE9e enti\xE8re",
|
|
77
|
+
halfDay: "demi-journ\xE9e",
|
|
78
|
+
signatureEmployee: "Signature du collaborateur",
|
|
79
|
+
signatureManager: "Signature du responsable"
|
|
80
|
+
};
|
|
81
|
+
const IT = {
|
|
82
|
+
title: "Estratto ore",
|
|
83
|
+
employee: "Collaboratore",
|
|
84
|
+
period: "Periodo",
|
|
85
|
+
created: "Creato",
|
|
86
|
+
date: "Data",
|
|
87
|
+
timeIn: "Inizio",
|
|
88
|
+
timeOut: "Fine",
|
|
89
|
+
worked: "Lavorato",
|
|
90
|
+
breaks: "Pausa",
|
|
91
|
+
paidBreaks: "di cui pagato",
|
|
92
|
+
target: "Obiettivo",
|
|
93
|
+
balance: "Saldo",
|
|
94
|
+
absence: "Assenza",
|
|
95
|
+
note: "Nota",
|
|
96
|
+
openEntry: "aperto",
|
|
97
|
+
holiday: "giorno festivo",
|
|
98
|
+
total: "Totale",
|
|
99
|
+
days: "Giorni",
|
|
100
|
+
absences: "Assenze",
|
|
101
|
+
from: "Dal",
|
|
102
|
+
to: "Al",
|
|
103
|
+
portion: "Quota",
|
|
104
|
+
fullDay: "giornata intera",
|
|
105
|
+
halfDay: "mezza giornata",
|
|
106
|
+
signatureEmployee: "Firma collaboratore",
|
|
107
|
+
signatureManager: "Firma responsabile"
|
|
108
|
+
};
|
|
109
|
+
const ES = {
|
|
110
|
+
title: "Registro de horas",
|
|
111
|
+
employee: "Empleado",
|
|
112
|
+
period: "Per\xEDodo",
|
|
113
|
+
created: "Creado",
|
|
114
|
+
date: "Fecha",
|
|
115
|
+
timeIn: "Entrada",
|
|
116
|
+
timeOut: "Salida",
|
|
117
|
+
worked: "Trabajado",
|
|
118
|
+
breaks: "Pausa",
|
|
119
|
+
paidBreaks: "de los cuales pagado",
|
|
120
|
+
target: "Objetivo",
|
|
121
|
+
balance: "Saldo",
|
|
122
|
+
absence: "Ausencia",
|
|
123
|
+
note: "Nota",
|
|
124
|
+
openEntry: "abierto",
|
|
125
|
+
holiday: "festivo",
|
|
126
|
+
total: "Total",
|
|
127
|
+
days: "D\xEDas",
|
|
128
|
+
absences: "Ausencias",
|
|
129
|
+
from: "Desde",
|
|
130
|
+
to: "Hasta",
|
|
131
|
+
portion: "Parte",
|
|
132
|
+
fullDay: "d\xEDa completo",
|
|
133
|
+
halfDay: "medio d\xEDa",
|
|
134
|
+
signatureEmployee: "Firma del empleado",
|
|
135
|
+
signatureManager: "Firma del responsable"
|
|
136
|
+
};
|
|
137
|
+
const PT = {
|
|
138
|
+
title: "Extrato de horas",
|
|
139
|
+
employee: "Colaborador",
|
|
140
|
+
period: "Per\xEDodo",
|
|
141
|
+
created: "Criado",
|
|
142
|
+
date: "Data",
|
|
143
|
+
timeIn: "Entrada",
|
|
144
|
+
timeOut: "Sa\xEDda",
|
|
145
|
+
worked: "Trabalhado",
|
|
146
|
+
breaks: "Pausa",
|
|
147
|
+
paidBreaks: "dos quais pago",
|
|
148
|
+
target: "Meta",
|
|
149
|
+
balance: "Saldo",
|
|
150
|
+
absence: "Aus\xEAncia",
|
|
151
|
+
note: "Nota",
|
|
152
|
+
openEntry: "aberto",
|
|
153
|
+
holiday: "feriado",
|
|
154
|
+
total: "Total",
|
|
155
|
+
days: "Dias",
|
|
156
|
+
absences: "Aus\xEAncias",
|
|
157
|
+
from: "De",
|
|
158
|
+
to: "At\xE9",
|
|
159
|
+
portion: "Parte",
|
|
160
|
+
fullDay: "dia inteiro",
|
|
161
|
+
halfDay: "meio dia",
|
|
162
|
+
signatureEmployee: "Assinatura do colaborador",
|
|
163
|
+
signatureManager: "Assinatura do respons\xE1vel"
|
|
164
|
+
};
|
|
165
|
+
const DE = {
|
|
166
|
+
title: "Stundennachweis",
|
|
167
|
+
employee: "Mitarbeiter",
|
|
168
|
+
period: "Zeitraum",
|
|
169
|
+
created: "Erstellt",
|
|
170
|
+
date: "Datum",
|
|
171
|
+
timeIn: "Von",
|
|
172
|
+
timeOut: "Bis",
|
|
173
|
+
worked: "Arbeitszeit",
|
|
174
|
+
breaks: "Pause",
|
|
175
|
+
paidBreaks: "davon bezahlt",
|
|
176
|
+
target: "Soll",
|
|
177
|
+
balance: "Saldo",
|
|
178
|
+
absence: "Abwesenheit",
|
|
179
|
+
note: "Hinweis",
|
|
180
|
+
openEntry: "offen",
|
|
181
|
+
holiday: "Feiertag",
|
|
182
|
+
total: "Summe",
|
|
183
|
+
days: "Tage",
|
|
184
|
+
absences: "Abwesenheiten",
|
|
185
|
+
from: "Von",
|
|
186
|
+
to: "Bis",
|
|
187
|
+
portion: "Anteil",
|
|
188
|
+
fullDay: "ganzer Tag",
|
|
189
|
+
halfDay: "halber Tag",
|
|
190
|
+
signatureEmployee: "Unterschrift Mitarbeiter",
|
|
191
|
+
signatureManager: "Unterschrift Vorgesetzter"
|
|
192
|
+
};
|
|
193
|
+
const NL = {
|
|
194
|
+
title: "Urenoverzicht",
|
|
195
|
+
employee: "Medewerker",
|
|
196
|
+
period: "Periode",
|
|
197
|
+
created: "Aangemaakt",
|
|
198
|
+
date: "Datum",
|
|
199
|
+
timeIn: "Van",
|
|
200
|
+
timeOut: "Tot",
|
|
201
|
+
worked: "Gewerkt",
|
|
202
|
+
breaks: "Pauze",
|
|
203
|
+
paidBreaks: "waarvan betaald",
|
|
204
|
+
target: "Doel",
|
|
205
|
+
balance: "Saldo",
|
|
206
|
+
absence: "Afwezigheid",
|
|
207
|
+
note: "Opmerking",
|
|
208
|
+
openEntry: "open",
|
|
209
|
+
holiday: "feestdag",
|
|
210
|
+
total: "Totaal",
|
|
211
|
+
days: "Dagen",
|
|
212
|
+
absences: "Afwezigheden",
|
|
213
|
+
from: "Van",
|
|
214
|
+
to: "Tot",
|
|
215
|
+
portion: "Deel",
|
|
216
|
+
fullDay: "hele dag",
|
|
217
|
+
halfDay: "halve dag",
|
|
218
|
+
signatureEmployee: "Handtekening medewerker",
|
|
219
|
+
signatureManager: "Handtekening leidinggevende"
|
|
220
|
+
};
|
|
221
|
+
const PL = {
|
|
222
|
+
title: "Ewidencja czasu pracy",
|
|
223
|
+
employee: "Pracownik",
|
|
224
|
+
period: "Okres",
|
|
225
|
+
created: "Utworzono",
|
|
226
|
+
date: "Data",
|
|
227
|
+
timeIn: "Od",
|
|
228
|
+
timeOut: "Do",
|
|
229
|
+
worked: "Przepracowano",
|
|
230
|
+
breaks: "Przerwa",
|
|
231
|
+
paidBreaks: "w tym p\u0142atne",
|
|
232
|
+
target: "Norma",
|
|
233
|
+
balance: "Saldo",
|
|
234
|
+
absence: "Nieobecno\u015B\u0107",
|
|
235
|
+
note: "Uwaga",
|
|
236
|
+
openEntry: "otwarte",
|
|
237
|
+
holiday: "\u015Bwi\u0119to",
|
|
238
|
+
total: "Razem",
|
|
239
|
+
days: "Dni",
|
|
240
|
+
absences: "Nieobecno\u015Bci",
|
|
241
|
+
from: "Od",
|
|
242
|
+
to: "Do",
|
|
243
|
+
portion: "Cz\u0119\u015B\u0107",
|
|
244
|
+
fullDay: "ca\u0142y dzie\u0144",
|
|
245
|
+
halfDay: "p\xF3\u0142 dnia",
|
|
246
|
+
signatureEmployee: "Podpis pracownika",
|
|
247
|
+
signatureManager: "Podpis prze\u0142o\u017Conego"
|
|
248
|
+
};
|
|
249
|
+
const RU = {
|
|
250
|
+
title: "\u0422\u0430\u0431\u0435\u043B\u044C \u0443\u0447\u0451\u0442\u0430 \u0440\u0430\u0431\u043E\u0447\u0435\u0433\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0438",
|
|
251
|
+
employee: "\u0421\u043E\u0442\u0440\u0443\u0434\u043D\u0438\u043A",
|
|
252
|
+
period: "\u041F\u0435\u0440\u0438\u043E\u0434",
|
|
253
|
+
created: "\u0421\u043E\u0437\u0434\u0430\u043D\u043E",
|
|
254
|
+
date: "\u0414\u0430\u0442\u0430",
|
|
255
|
+
timeIn: "\u041D\u0430\u0447\u0430\u043B\u043E",
|
|
256
|
+
timeOut: "\u041E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u0435",
|
|
257
|
+
worked: "\u041E\u0442\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E",
|
|
258
|
+
breaks: "\u041F\u0435\u0440\u0435\u0440\u044B\u0432",
|
|
259
|
+
paidBreaks: "\u0438\u0437 \u043D\u0438\u0445 \u043E\u043F\u043B\u0430\u0447\u0435\u043D\u043E",
|
|
260
|
+
target: "\u041D\u043E\u0440\u043C\u0430",
|
|
261
|
+
balance: "\u0421\u0430\u043B\u044C\u0434\u043E",
|
|
262
|
+
absence: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435",
|
|
263
|
+
note: "\u041F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u0435",
|
|
264
|
+
openEntry: "\u043E\u0442\u043A\u0440\u044B\u0442\u043E",
|
|
265
|
+
holiday: "\u043F\u0440\u0430\u0437\u0434\u043D\u0438\u043A",
|
|
266
|
+
total: "\u0418\u0442\u043E\u0433\u043E",
|
|
267
|
+
days: "\u0414\u043D\u0438",
|
|
268
|
+
absences: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044F",
|
|
269
|
+
from: "\u0421",
|
|
270
|
+
to: "\u041F\u043E",
|
|
271
|
+
portion: "\u0414\u043E\u043B\u044F",
|
|
272
|
+
fullDay: "\u043F\u043E\u043B\u043D\u044B\u0439 \u0434\u0435\u043D\u044C",
|
|
273
|
+
halfDay: "\u043F\u043E\u043B\u0434\u043D\u044F",
|
|
274
|
+
signatureEmployee: "\u041F\u043E\u0434\u043F\u0438\u0441\u044C \u0441\u043E\u0442\u0440\u0443\u0434\u043D\u0438\u043A\u0430",
|
|
275
|
+
signatureManager: "\u041F\u043E\u0434\u043F\u0438\u0441\u044C \u0440\u0443\u043A\u043E\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F"
|
|
276
|
+
};
|
|
277
|
+
const UK = {
|
|
278
|
+
title: "\u0422\u0430\u0431\u0435\u043B\u044C \u043E\u0431\u043B\u0456\u043A\u0443 \u0440\u043E\u0431\u043E\u0447\u043E\u0433\u043E \u0447\u0430\u0441\u0443",
|
|
279
|
+
employee: "\u0421\u043F\u0456\u0432\u0440\u043E\u0431\u0456\u0442\u043D\u0438\u043A",
|
|
280
|
+
period: "\u041F\u0435\u0440\u0456\u043E\u0434",
|
|
281
|
+
created: "\u0421\u0442\u0432\u043E\u0440\u0435\u043D\u043E",
|
|
282
|
+
date: "\u0414\u0430\u0442\u0430",
|
|
283
|
+
timeIn: "\u041F\u043E\u0447\u0430\u0442\u043E\u043A",
|
|
284
|
+
timeOut: "\u0417\u0430\u043A\u0456\u043D\u0447\u0435\u043D\u043D\u044F",
|
|
285
|
+
worked: "\u0412\u0456\u0434\u043F\u0440\u0430\u0446\u044C\u043E\u0432\u0430\u043D\u043E",
|
|
286
|
+
breaks: "\u041F\u0435\u0440\u0435\u0440\u0432\u0430",
|
|
287
|
+
paidBreaks: "\u0437 \u043D\u0438\u0445 \u043E\u043F\u043B\u0430\u0447\u0435\u043D\u043E",
|
|
288
|
+
target: "\u041D\u043E\u0440\u043C\u0430",
|
|
289
|
+
balance: "\u0421\u0430\u043B\u044C\u0434\u043E",
|
|
290
|
+
absence: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0441\u0442\u044C",
|
|
291
|
+
note: "\u041F\u0440\u0438\u043C\u0456\u0442\u043A\u0430",
|
|
292
|
+
openEntry: "\u0432\u0456\u0434\u043A\u0440\u0438\u0442\u043E",
|
|
293
|
+
holiday: "\u0441\u0432\u044F\u0442\u043E",
|
|
294
|
+
total: "\u0420\u0430\u0437\u043E\u043C",
|
|
295
|
+
days: "\u0414\u043D\u0456",
|
|
296
|
+
absences: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456",
|
|
297
|
+
from: "\u0417",
|
|
298
|
+
to: "\u041F\u043E",
|
|
299
|
+
portion: "\u0427\u0430\u0441\u0442\u043A\u0430",
|
|
300
|
+
fullDay: "\u043F\u043E\u0432\u043D\u0438\u0439 \u0434\u0435\u043D\u044C",
|
|
301
|
+
halfDay: "\u043F\u0456\u0432\u0434\u043D\u044F",
|
|
302
|
+
signatureEmployee: "\u041F\u0456\u0434\u043F\u0438\u0441 \u0441\u043F\u0456\u0432\u0440\u043E\u0431\u0456\u0442\u043D\u0438\u043A\u0430",
|
|
303
|
+
signatureManager: "\u041F\u0456\u0434\u043F\u0438\u0441 \u043A\u0435\u0440\u0456\u0432\u043D\u0438\u043A\u0430"
|
|
304
|
+
};
|
|
305
|
+
const ZH_CN = {
|
|
306
|
+
title: "\u5DE5\u65F6\u8BB0\u5F55\u8868",
|
|
307
|
+
employee: "\u5458\u5DE5",
|
|
308
|
+
period: "\u671F\u95F4",
|
|
309
|
+
created: "\u521B\u5EFA\u65F6\u95F4",
|
|
310
|
+
date: "\u65E5\u671F",
|
|
311
|
+
timeIn: "\u4E0A\u73ED",
|
|
312
|
+
timeOut: "\u4E0B\u73ED",
|
|
313
|
+
worked: "\u5DE5\u4F5C\u65F6\u95F4",
|
|
314
|
+
breaks: "\u4F11\u606F",
|
|
315
|
+
paidBreaks: "\u5176\u4E2D\u5E26\u85AA",
|
|
316
|
+
target: "\u5E94\u51FA\u52E4",
|
|
317
|
+
balance: "\u5DEE\u989D",
|
|
318
|
+
absence: "\u7F3A\u52E4",
|
|
319
|
+
note: "\u5907\u6CE8",
|
|
320
|
+
openEntry: "\u672A\u7ED3\u675F",
|
|
321
|
+
holiday: "\u8282\u5047\u65E5",
|
|
322
|
+
total: "\u5408\u8BA1",
|
|
323
|
+
days: "\u5929\u6570",
|
|
324
|
+
absences: "\u7F3A\u52E4\u8BB0\u5F55",
|
|
325
|
+
from: "\u4ECE",
|
|
326
|
+
to: "\u5230",
|
|
327
|
+
portion: "\u6BD4\u4F8B",
|
|
328
|
+
fullDay: "\u5168\u5929",
|
|
329
|
+
halfDay: "\u534A\u5929",
|
|
330
|
+
signatureEmployee: "\u5458\u5DE5\u7B7E\u540D",
|
|
331
|
+
signatureManager: "\u4E3B\u7BA1\u7B7E\u540D"
|
|
332
|
+
};
|
|
333
|
+
const REPORT_LABELS = {
|
|
334
|
+
en: EN,
|
|
335
|
+
de: DE,
|
|
336
|
+
ru: RU,
|
|
337
|
+
pt: PT,
|
|
338
|
+
nl: NL,
|
|
339
|
+
fr: FR,
|
|
340
|
+
it: IT,
|
|
341
|
+
es: ES,
|
|
342
|
+
pl: PL,
|
|
343
|
+
uk: UK,
|
|
344
|
+
"zh-cn": ZH_CN
|
|
345
|
+
};
|
|
346
|
+
function reportLabels(locale) {
|
|
347
|
+
var _a;
|
|
348
|
+
const normalized = (locale != null ? locale : "").trim().toLowerCase().replace(/_/g, "-");
|
|
349
|
+
const language = normalized.startsWith("zh") ? "zh-cn" : normalized.split("-")[0];
|
|
350
|
+
const labels = (_a = REPORT_LABELS[language]) != null ? _a : EN;
|
|
351
|
+
return { labels, language: REPORT_LABELS[language] ? language : "en" };
|
|
352
|
+
}
|
|
353
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
354
|
+
0 && (module.exports = {
|
|
355
|
+
REPORT_LABELS,
|
|
356
|
+
reportLabels
|
|
357
|
+
});
|
|
358
|
+
//# sourceMappingURL=labels.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/reports/labels.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Labels of the downloadable reports.\n *\n * The reports are generated in the language of the employee (`users.locale`, falling back to the instance\n * language), because a work time statement is a document for that person, not for the administrator who\n * clicked the export. The set is deliberately small and stable: a report has a fixed layout, so new texts\n * have to be added here (and in every language) instead of being composed at runtime.\n */\n\n/** Labels of a monthly report. */\nexport interface ReportLabels {\n\t/** Title of the document */\n\ttitle: string;\n\t/** \"Employee\" */\n\temployee: string;\n\t/** \"Period\" */\n\tperiod: string;\n\t/** \"Created\" */\n\tcreated: string;\n\t/** Column \"Date\" */\n\tdate: string;\n\t/** Column \"In\" */\n\ttimeIn: string;\n\t/** Column \"Out\" */\n\ttimeOut: string;\n\t/** Column \"Worked\" */\n\tworked: string;\n\t/** Column \"Break\" */\n\tbreaks: string;\n\t/** Minutes of the break that are paid */\n\tpaidBreaks: string;\n\t/** Column \"Target\" */\n\ttarget: string;\n\t/** Column \"Balance\" */\n\tbalance: string;\n\t/** Column \"Absence\" */\n\tabsence: string;\n\t/** Column \"Note\" */\n\tnote: string;\n\t/** Marked when the last punch has no counterpart */\n\topenEntry: string;\n\t/** Marked when the day is a public holiday */\n\tholiday: string;\n\t/** Totals row */\n\ttotal: string;\n\t/** Number of counted days */\n\tdays: string;\n\t/** Section heading of the absences */\n\tabsences: string;\n\t/** Column \"From\" */\n\tfrom: string;\n\t/** Column \"To\" */\n\tto: string;\n\t/** Column \"Portion\" */\n\tportion: string;\n\t/** Portion value for a whole day */\n\tfullDay: string;\n\t/** Portion value for a half day */\n\thalfDay: string;\n\t/** Signature line of the employee */\n\tsignatureEmployee: string;\n\t/** Signature line of the manager */\n\tsignatureManager: string;\n}\n\n/** All labels in English. */\nconst EN: ReportLabels = {\n\ttitle: \"Work time statement\",\n\temployee: \"Employee\",\n\tperiod: \"Period\",\n\tcreated: \"Created\",\n\tdate: \"Date\",\n\ttimeIn: \"In\",\n\ttimeOut: \"Out\",\n\tworked: \"Worked\",\n\tbreaks: \"Break\",\n\tpaidBreaks: \"of which paid\",\n\ttarget: \"Target\",\n\tbalance: \"Balance\",\n\tabsence: \"Absence\",\n\tnote: \"Note\",\n\topenEntry: \"open\",\n\tholiday: \"holiday\",\n\ttotal: \"Total\",\n\tdays: \"Days\",\n\tabsences: \"Absences\",\n\tfrom: \"From\",\n\tto: \"To\",\n\tportion: \"Portion\",\n\tfullDay: \"whole day\",\n\thalfDay: \"half day\",\n\tsignatureEmployee: \"Signature employee\",\n\tsignatureManager: \"Signature manager\",\n};\n\n/** All labels in French. */\nconst FR: ReportLabels = {\n\ttitle: \"Relev\u00E9 des heures\",\n\temployee: \"Collaborateur\",\n\tperiod: \"P\u00E9riode\",\n\tcreated: \"Cr\u00E9\u00E9 le\",\n\tdate: \"Date\",\n\ttimeIn: \"D\u00E9but\",\n\ttimeOut: \"Fin\",\n\tworked: \"Travaill\u00E9\",\n\tbreaks: \"Pause\",\n\tpaidBreaks: \"dont pay\u00E9\",\n\ttarget: \"Objectif\",\n\tbalance: \"Solde\",\n\tabsence: \"Absence\",\n\tnote: \"Remarque\",\n\topenEntry: \"ouvert\",\n\tholiday: \"jour f\u00E9ri\u00E9\",\n\ttotal: \"Total\",\n\tdays: \"Jours\",\n\tabsences: \"Absences\",\n\tfrom: \"Du\",\n\tto: \"Au\",\n\tportion: \"Part\",\n\tfullDay: \"journ\u00E9e enti\u00E8re\",\n\thalfDay: \"demi-journ\u00E9e\",\n\tsignatureEmployee: \"Signature du collaborateur\",\n\tsignatureManager: \"Signature du responsable\",\n};\n\n/** All labels in Italian. */\nconst IT: ReportLabels = {\n\ttitle: \"Estratto ore\",\n\temployee: \"Collaboratore\",\n\tperiod: \"Periodo\",\n\tcreated: \"Creato\",\n\tdate: \"Data\",\n\ttimeIn: \"Inizio\",\n\ttimeOut: \"Fine\",\n\tworked: \"Lavorato\",\n\tbreaks: \"Pausa\",\n\tpaidBreaks: \"di cui pagato\",\n\ttarget: \"Obiettivo\",\n\tbalance: \"Saldo\",\n\tabsence: \"Assenza\",\n\tnote: \"Nota\",\n\topenEntry: \"aperto\",\n\tholiday: \"giorno festivo\",\n\ttotal: \"Totale\",\n\tdays: \"Giorni\",\n\tabsences: \"Assenze\",\n\tfrom: \"Dal\",\n\tto: \"Al\",\n\tportion: \"Quota\",\n\tfullDay: \"giornata intera\",\n\thalfDay: \"mezza giornata\",\n\tsignatureEmployee: \"Firma collaboratore\",\n\tsignatureManager: \"Firma responsabile\",\n};\n\n/** All labels in Spanish. */\nconst ES: ReportLabels = {\n\ttitle: \"Registro de horas\",\n\temployee: \"Empleado\",\n\tperiod: \"Per\u00EDodo\",\n\tcreated: \"Creado\",\n\tdate: \"Fecha\",\n\ttimeIn: \"Entrada\",\n\ttimeOut: \"Salida\",\n\tworked: \"Trabajado\",\n\tbreaks: \"Pausa\",\n\tpaidBreaks: \"de los cuales pagado\",\n\ttarget: \"Objetivo\",\n\tbalance: \"Saldo\",\n\tabsence: \"Ausencia\",\n\tnote: \"Nota\",\n\topenEntry: \"abierto\",\n\tholiday: \"festivo\",\n\ttotal: \"Total\",\n\tdays: \"D\u00EDas\",\n\tabsences: \"Ausencias\",\n\tfrom: \"Desde\",\n\tto: \"Hasta\",\n\tportion: \"Parte\",\n\tfullDay: \"d\u00EDa completo\",\n\thalfDay: \"medio d\u00EDa\",\n\tsignatureEmployee: \"Firma del empleado\",\n\tsignatureManager: \"Firma del responsable\",\n};\n\n/** All labels in Portuguese. */\nconst PT: ReportLabels = {\n\ttitle: \"Extrato de horas\",\n\temployee: \"Colaborador\",\n\tperiod: \"Per\u00EDodo\",\n\tcreated: \"Criado\",\n\tdate: \"Data\",\n\ttimeIn: \"Entrada\",\n\ttimeOut: \"Sa\u00EDda\",\n\tworked: \"Trabalhado\",\n\tbreaks: \"Pausa\",\n\tpaidBreaks: \"dos quais pago\",\n\ttarget: \"Meta\",\n\tbalance: \"Saldo\",\n\tabsence: \"Aus\u00EAncia\",\n\tnote: \"Nota\",\n\topenEntry: \"aberto\",\n\tholiday: \"feriado\",\n\ttotal: \"Total\",\n\tdays: \"Dias\",\n\tabsences: \"Aus\u00EAncias\",\n\tfrom: \"De\",\n\tto: \"At\u00E9\",\n\tportion: \"Parte\",\n\tfullDay: \"dia inteiro\",\n\thalfDay: \"meio dia\",\n\tsignatureEmployee: \"Assinatura do colaborador\",\n\tsignatureManager: \"Assinatura do respons\u00E1vel\",\n};\n\n/** All labels in German. */\nconst DE: ReportLabels = {\n\ttitle: \"Stundennachweis\",\n\temployee: \"Mitarbeiter\",\n\tperiod: \"Zeitraum\",\n\tcreated: \"Erstellt\",\n\tdate: \"Datum\",\n\ttimeIn: \"Von\",\n\ttimeOut: \"Bis\",\n\tworked: \"Arbeitszeit\",\n\tbreaks: \"Pause\",\n\tpaidBreaks: \"davon bezahlt\",\n\ttarget: \"Soll\",\n\tbalance: \"Saldo\",\n\tabsence: \"Abwesenheit\",\n\tnote: \"Hinweis\",\n\topenEntry: \"offen\",\n\tholiday: \"Feiertag\",\n\ttotal: \"Summe\",\n\tdays: \"Tage\",\n\tabsences: \"Abwesenheiten\",\n\tfrom: \"Von\",\n\tto: \"Bis\",\n\tportion: \"Anteil\",\n\tfullDay: \"ganzer Tag\",\n\thalfDay: \"halber Tag\",\n\tsignatureEmployee: \"Unterschrift Mitarbeiter\",\n\tsignatureManager: \"Unterschrift Vorgesetzter\",\n};\n\n/** All labels in Dutch. */\nconst NL: ReportLabels = {\n\ttitle: \"Urenoverzicht\",\n\temployee: \"Medewerker\",\n\tperiod: \"Periode\",\n\tcreated: \"Aangemaakt\",\n\tdate: \"Datum\",\n\ttimeIn: \"Van\",\n\ttimeOut: \"Tot\",\n\tworked: \"Gewerkt\",\n\tbreaks: \"Pauze\",\n\tpaidBreaks: \"waarvan betaald\",\n\ttarget: \"Doel\",\n\tbalance: \"Saldo\",\n\tabsence: \"Afwezigheid\",\n\tnote: \"Opmerking\",\n\topenEntry: \"open\",\n\tholiday: \"feestdag\",\n\ttotal: \"Totaal\",\n\tdays: \"Dagen\",\n\tabsences: \"Afwezigheden\",\n\tfrom: \"Van\",\n\tto: \"Tot\",\n\tportion: \"Deel\",\n\tfullDay: \"hele dag\",\n\thalfDay: \"halve dag\",\n\tsignatureEmployee: \"Handtekening medewerker\",\n\tsignatureManager: \"Handtekening leidinggevende\",\n};\n\n/** All labels in Polish. */\nconst PL: ReportLabels = {\n\ttitle: \"Ewidencja czasu pracy\",\n\temployee: \"Pracownik\",\n\tperiod: \"Okres\",\n\tcreated: \"Utworzono\",\n\tdate: \"Data\",\n\ttimeIn: \"Od\",\n\ttimeOut: \"Do\",\n\tworked: \"Przepracowano\",\n\tbreaks: \"Przerwa\",\n\tpaidBreaks: \"w tym p\u0142atne\",\n\ttarget: \"Norma\",\n\tbalance: \"Saldo\",\n\tabsence: \"Nieobecno\u015B\u0107\",\n\tnote: \"Uwaga\",\n\topenEntry: \"otwarte\",\n\tholiday: \"\u015Bwi\u0119to\",\n\ttotal: \"Razem\",\n\tdays: \"Dni\",\n\tabsences: \"Nieobecno\u015Bci\",\n\tfrom: \"Od\",\n\tto: \"Do\",\n\tportion: \"Cz\u0119\u015B\u0107\",\n\tfullDay: \"ca\u0142y dzie\u0144\",\n\thalfDay: \"p\u00F3\u0142 dnia\",\n\tsignatureEmployee: \"Podpis pracownika\",\n\tsignatureManager: \"Podpis prze\u0142o\u017Conego\",\n};\n\n/** All labels in Russian. */\nconst RU: ReportLabels = {\n\ttitle: \"\u0422\u0430\u0431\u0435\u043B\u044C \u0443\u0447\u0451\u0442\u0430 \u0440\u0430\u0431\u043E\u0447\u0435\u0433\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0438\",\n\temployee: \"\u0421\u043E\u0442\u0440\u0443\u0434\u043D\u0438\u043A\",\n\tperiod: \"\u041F\u0435\u0440\u0438\u043E\u0434\",\n\tcreated: \"\u0421\u043E\u0437\u0434\u0430\u043D\u043E\",\n\tdate: \"\u0414\u0430\u0442\u0430\",\n\ttimeIn: \"\u041D\u0430\u0447\u0430\u043B\u043E\",\n\ttimeOut: \"\u041E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u0435\",\n\tworked: \"\u041E\u0442\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E\",\n\tbreaks: \"\u041F\u0435\u0440\u0435\u0440\u044B\u0432\",\n\tpaidBreaks: \"\u0438\u0437 \u043D\u0438\u0445 \u043E\u043F\u043B\u0430\u0447\u0435\u043D\u043E\",\n\ttarget: \"\u041D\u043E\u0440\u043C\u0430\",\n\tbalance: \"\u0421\u0430\u043B\u044C\u0434\u043E\",\n\tabsence: \"\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435\",\n\tnote: \"\u041F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u0435\",\n\topenEntry: \"\u043E\u0442\u043A\u0440\u044B\u0442\u043E\",\n\tholiday: \"\u043F\u0440\u0430\u0437\u0434\u043D\u0438\u043A\",\n\ttotal: \"\u0418\u0442\u043E\u0433\u043E\",\n\tdays: \"\u0414\u043D\u0438\",\n\tabsences: \"\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044F\",\n\tfrom: \"\u0421\",\n\tto: \"\u041F\u043E\",\n\tportion: \"\u0414\u043E\u043B\u044F\",\n\tfullDay: \"\u043F\u043E\u043B\u043D\u044B\u0439 \u0434\u0435\u043D\u044C\",\n\thalfDay: \"\u043F\u043E\u043B\u0434\u043D\u044F\",\n\tsignatureEmployee: \"\u041F\u043E\u0434\u043F\u0438\u0441\u044C \u0441\u043E\u0442\u0440\u0443\u0434\u043D\u0438\u043A\u0430\",\n\tsignatureManager: \"\u041F\u043E\u0434\u043F\u0438\u0441\u044C \u0440\u0443\u043A\u043E\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F\",\n};\n\n/** All labels in Ukrainian. */\nconst UK: ReportLabels = {\n\ttitle: \"\u0422\u0430\u0431\u0435\u043B\u044C \u043E\u0431\u043B\u0456\u043A\u0443 \u0440\u043E\u0431\u043E\u0447\u043E\u0433\u043E \u0447\u0430\u0441\u0443\",\n\temployee: \"\u0421\u043F\u0456\u0432\u0440\u043E\u0431\u0456\u0442\u043D\u0438\u043A\",\n\tperiod: \"\u041F\u0435\u0440\u0456\u043E\u0434\",\n\tcreated: \"\u0421\u0442\u0432\u043E\u0440\u0435\u043D\u043E\",\n\tdate: \"\u0414\u0430\u0442\u0430\",\n\ttimeIn: \"\u041F\u043E\u0447\u0430\u0442\u043E\u043A\",\n\ttimeOut: \"\u0417\u0430\u043A\u0456\u043D\u0447\u0435\u043D\u043D\u044F\",\n\tworked: \"\u0412\u0456\u0434\u043F\u0440\u0430\u0446\u044C\u043E\u0432\u0430\u043D\u043E\",\n\tbreaks: \"\u041F\u0435\u0440\u0435\u0440\u0432\u0430\",\n\tpaidBreaks: \"\u0437 \u043D\u0438\u0445 \u043E\u043F\u043B\u0430\u0447\u0435\u043D\u043E\",\n\ttarget: \"\u041D\u043E\u0440\u043C\u0430\",\n\tbalance: \"\u0421\u0430\u043B\u044C\u0434\u043E\",\n\tabsence: \"\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0441\u0442\u044C\",\n\tnote: \"\u041F\u0440\u0438\u043C\u0456\u0442\u043A\u0430\",\n\topenEntry: \"\u0432\u0456\u0434\u043A\u0440\u0438\u0442\u043E\",\n\tholiday: \"\u0441\u0432\u044F\u0442\u043E\",\n\ttotal: \"\u0420\u0430\u0437\u043E\u043C\",\n\tdays: \"\u0414\u043D\u0456\",\n\tabsences: \"\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456\",\n\tfrom: \"\u0417\",\n\tto: \"\u041F\u043E\",\n\tportion: \"\u0427\u0430\u0441\u0442\u043A\u0430\",\n\tfullDay: \"\u043F\u043E\u0432\u043D\u0438\u0439 \u0434\u0435\u043D\u044C\",\n\thalfDay: \"\u043F\u0456\u0432\u0434\u043D\u044F\",\n\tsignatureEmployee: \"\u041F\u0456\u0434\u043F\u0438\u0441 \u0441\u043F\u0456\u0432\u0440\u043E\u0431\u0456\u0442\u043D\u0438\u043A\u0430\",\n\tsignatureManager: \"\u041F\u0456\u0434\u043F\u0438\u0441 \u043A\u0435\u0440\u0456\u0432\u043D\u0438\u043A\u0430\",\n};\n\n/** All labels in Chinese (simplified). */\nconst ZH_CN: ReportLabels = {\n\ttitle: \"\u5DE5\u65F6\u8BB0\u5F55\u8868\",\n\temployee: \"\u5458\u5DE5\",\n\tperiod: \"\u671F\u95F4\",\n\tcreated: \"\u521B\u5EFA\u65F6\u95F4\",\n\tdate: \"\u65E5\u671F\",\n\ttimeIn: \"\u4E0A\u73ED\",\n\ttimeOut: \"\u4E0B\u73ED\",\n\tworked: \"\u5DE5\u4F5C\u65F6\u95F4\",\n\tbreaks: \"\u4F11\u606F\",\n\tpaidBreaks: \"\u5176\u4E2D\u5E26\u85AA\",\n\ttarget: \"\u5E94\u51FA\u52E4\",\n\tbalance: \"\u5DEE\u989D\",\n\tabsence: \"\u7F3A\u52E4\",\n\tnote: \"\u5907\u6CE8\",\n\topenEntry: \"\u672A\u7ED3\u675F\",\n\tholiday: \"\u8282\u5047\u65E5\",\n\ttotal: \"\u5408\u8BA1\",\n\tdays: \"\u5929\u6570\",\n\tabsences: \"\u7F3A\u52E4\u8BB0\u5F55\",\n\tfrom: \"\u4ECE\",\n\tto: \"\u5230\",\n\tportion: \"\u6BD4\u4F8B\",\n\tfullDay: \"\u5168\u5929\",\n\thalfDay: \"\u534A\u5929\",\n\tsignatureEmployee: \"\u5458\u5DE5\u7B7E\u540D\",\n\tsignatureManager: \"\u4E3B\u7BA1\u7B7E\u540D\",\n};\n\n/** All labels by language key (ioBroker language set). */\nexport const REPORT_LABELS: Record<string, ReportLabels> = {\n\ten: EN,\n\tde: DE,\n\tru: RU,\n\tpt: PT,\n\tnl: NL,\n\tfr: FR,\n\tit: IT,\n\tes: ES,\n\tpl: PL,\n\tuk: UK,\n\t\"zh-cn\": ZH_CN,\n};\n\n/**\n * Picks the labels of a locale.\n *\n * The locale of a user is a full tag (`de-CH`, `pt-BR`), so the language part is used; an unknown language\n * falls back to English. Reports must never fail because of a missing translation.\n *\n * @param locale - locale of the employee, e.g. `de-CH`\n * @returns labels and the language key they came from\n */\nexport function reportLabels(locale: string): { labels: ReportLabels; language: string } {\n\tconst normalized = (locale ?? \"\").trim().toLowerCase().replace(/_/g, \"-\");\n\t// Chinese is the only language with a region in the ioBroker set\n\tconst language = normalized.startsWith(\"zh\") ? \"zh-cn\" : normalized.split(\"-\")[0];\n\tconst labels = REPORT_LABELS[language] ?? EN;\n\treturn { labels, language: REPORT_LABELS[language] ? language : \"en\" };\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|