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.
Files changed (143) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +386 -0
  3. package/admin/i18n/de.json +34 -0
  4. package/admin/i18n/en.json +1 -0
  5. package/admin/i18n/es.json +34 -0
  6. package/admin/i18n/fr.json +34 -0
  7. package/admin/i18n/it.json +34 -0
  8. package/admin/i18n/nl.json +34 -0
  9. package/admin/i18n/pl.json +34 -0
  10. package/admin/i18n/pt.json +34 -0
  11. package/admin/i18n/ru.json +34 -0
  12. package/admin/i18n/uk.json +34 -0
  13. package/admin/i18n/zh-cn.json +34 -0
  14. package/admin/jsonConfig.json +266 -0
  15. package/admin/time-tracker.png +0 -0
  16. package/build/lib/adapter/automation.js +100 -0
  17. package/build/lib/adapter/automation.js.map +7 -0
  18. package/build/lib/adapter/commands.js +160 -0
  19. package/build/lib/adapter/commands.js.map +7 -0
  20. package/build/lib/adapter/messages.js +207 -0
  21. package/build/lib/adapter/messages.js.map +7 -0
  22. package/build/lib/adapter/presence.js +129 -0
  23. package/build/lib/adapter/presence.js.map +7 -0
  24. package/build/lib/adapter/states.js +330 -0
  25. package/build/lib/adapter/states.js.map +7 -0
  26. package/build/lib/adapter/triggers.js +92 -0
  27. package/build/lib/adapter/triggers.js.map +7 -0
  28. package/build/lib/db/database.js +96 -0
  29. package/build/lib/db/database.js.map +7 -0
  30. package/build/lib/db/migrations.js +603 -0
  31. package/build/lib/db/migrations.js.map +7 -0
  32. package/build/lib/db/repositories/absences.js +432 -0
  33. package/build/lib/db/repositories/absences.js.map +7 -0
  34. package/build/lib/db/repositories/audit.js +90 -0
  35. package/build/lib/db/repositories/audit.js.map +7 -0
  36. package/build/lib/db/repositories/automations.js +326 -0
  37. package/build/lib/db/repositories/automations.js.map +7 -0
  38. package/build/lib/db/repositories/entries.js +335 -0
  39. package/build/lib/db/repositories/entries.js.map +7 -0
  40. package/build/lib/db/repositories/holidays.js +156 -0
  41. package/build/lib/db/repositories/holidays.js.map +7 -0
  42. package/build/lib/db/repositories/payouts.js +221 -0
  43. package/build/lib/db/repositories/payouts.js.map +7 -0
  44. package/build/lib/db/repositories/rfid.js +264 -0
  45. package/build/lib/db/repositories/rfid.js.map +7 -0
  46. package/build/lib/db/repositories/rules.js +356 -0
  47. package/build/lib/db/repositories/rules.js.map +7 -0
  48. package/build/lib/db/repositories/settings.js +91 -0
  49. package/build/lib/db/repositories/settings.js.map +7 -0
  50. package/build/lib/db/repositories/terminals.js +243 -0
  51. package/build/lib/db/repositories/terminals.js.map +7 -0
  52. package/build/lib/db/repositories/triggers.js +240 -0
  53. package/build/lib/db/repositories/triggers.js.map +7 -0
  54. package/build/lib/db/repositories/users.js +491 -0
  55. package/build/lib/db/repositories/users.js.map +7 -0
  56. package/build/lib/db/seed.js +180 -0
  57. package/build/lib/db/seed.js.map +7 -0
  58. package/build/lib/domain/avatar.js +63 -0
  59. package/build/lib/domain/avatar.js.map +7 -0
  60. package/build/lib/domain/breaks.js +70 -0
  61. package/build/lib/domain/breaks.js.map +7 -0
  62. package/build/lib/domain/calculation.js +150 -0
  63. package/build/lib/domain/calculation.js.map +7 -0
  64. package/build/lib/domain/holidays.js +113 -0
  65. package/build/lib/domain/holidays.js.map +7 -0
  66. package/build/lib/domain/punch.js +99 -0
  67. package/build/lib/domain/punch.js.map +7 -0
  68. package/build/lib/domain/target.js +89 -0
  69. package/build/lib/domain/target.js.map +7 -0
  70. package/build/lib/errors.js +56 -0
  71. package/build/lib/errors.js.map +7 -0
  72. package/build/lib/reports/labels.js +358 -0
  73. package/build/lib/reports/labels.js.map +7 -0
  74. package/build/lib/reports/pdf.js +308 -0
  75. package/build/lib/reports/pdf.js.map +7 -0
  76. package/build/lib/reports/types.js +32 -0
  77. package/build/lib/reports/types.js.map +7 -0
  78. package/build/lib/reports/xls.js +211 -0
  79. package/build/lib/reports/xls.js.map +7 -0
  80. package/build/lib/services/aggregation.js +495 -0
  81. package/build/lib/services/aggregation.js.map +7 -0
  82. package/build/lib/services/auth.js +381 -0
  83. package/build/lib/services/auth.js.map +7 -0
  84. package/build/lib/services/backup.js +372 -0
  85. package/build/lib/services/backup.js.map +7 -0
  86. package/build/lib/services/closing.js +106 -0
  87. package/build/lib/services/closing.js.map +7 -0
  88. package/build/lib/services/sessionSecret.js +100 -0
  89. package/build/lib/services/sessionSecret.js.map +7 -0
  90. package/build/lib/services/sync.js +278 -0
  91. package/build/lib/services/sync.js.map +7 -0
  92. package/build/lib/util/time.js +125 -0
  93. package/build/lib/util/time.js.map +7 -0
  94. package/build/lib/web/api.js +2589 -0
  95. package/build/lib/web/api.js.map +7 -0
  96. package/build/lib/web/cookies.js +80 -0
  97. package/build/lib/web/cookies.js.map +7 -0
  98. package/build/lib/web/events.js +50 -0
  99. package/build/lib/web/events.js.map +7 -0
  100. package/build/lib/web/pin-guard.js +86 -0
  101. package/build/lib/web/pin-guard.js.map +7 -0
  102. package/build/lib/web/problem.js +129 -0
  103. package/build/lib/web/problem.js.map +7 -0
  104. package/build/lib/web/rate-limit.js +65 -0
  105. package/build/lib/web/rate-limit.js.map +7 -0
  106. package/build/lib/web/router.js +274 -0
  107. package/build/lib/web/router.js.map +7 -0
  108. package/build/lib/web/server.js +189 -0
  109. package/build/lib/web/server.js.map +7 -0
  110. package/build/lib/web/static.js +151 -0
  111. package/build/lib/web/static.js.map +7 -0
  112. package/build/lib/web/stream.js +135 -0
  113. package/build/lib/web/stream.js.map +7 -0
  114. package/build/main.js +986 -0
  115. package/build/main.js.map +7 -0
  116. package/io-package.json +221 -0
  117. package/package.json +131 -0
  118. package/src-pwa/src/i18n/de.json +359 -0
  119. package/src-pwa/src/i18n/en.json +359 -0
  120. package/src-pwa/src/i18n/es.json +359 -0
  121. package/src-pwa/src/i18n/fr.json +359 -0
  122. package/src-pwa/src/i18n/index.ts +96 -0
  123. package/src-pwa/src/i18n/it.json +359 -0
  124. package/src-pwa/src/i18n/nl.json +359 -0
  125. package/src-pwa/src/i18n/pl.json +359 -0
  126. package/src-pwa/src/i18n/pt.json +359 -0
  127. package/src-pwa/src/i18n/ru.json +359 -0
  128. package/src-pwa/src/i18n/uk.json +359 -0
  129. package/src-pwa/src/i18n/zh-cn.json +359 -0
  130. package/www/assets/index-QI3wrEvW.js +119 -0
  131. package/www/assets/index-QI3wrEvW.js.map +1 -0
  132. package/www/assets/workbox-window.prod.es5-Bd17z0YL.js +3 -0
  133. package/www/assets/workbox-window.prod.es5-Bd17z0YL.js.map +1 -0
  134. package/www/favicon.svg +16 -0
  135. package/www/icon-192.png +0 -0
  136. package/www/icon-512.png +0 -0
  137. package/www/index.html +38 -0
  138. package/www/manifest.webmanifest +1 -0
  139. package/www/person.png +0 -0
  140. package/www/sw.js +3 -0
  141. package/www/sw.js.map +1 -0
  142. package/www/workbox-9c191d2f.js +3 -0
  143. package/www/workbox-9c191d2f.js.map +1 -0
@@ -0,0 +1,359 @@
1
+ {
2
+ "absences.create": "Прохання про відсутність",
3
+ "absences.created": "Прохання про відсутність.",
4
+ "absences.empty": "Жодних пропусків у цьому році.",
5
+ "absences.from": "Від",
6
+ "absences.portion": "Частка дня",
7
+ "absences.status": "Статус",
8
+ "absences.title": "Прогули",
9
+ "absences.to": "до",
10
+ "absences.type": "Тип",
11
+ "absences.typeHint": "Код типу відсутності, напр. F для відпустки",
12
+ "admin.backup": "Резервні копії",
13
+ "admin.backup.create": "Створіть резервну копію зараз",
14
+ "admin.backup.upload": "Завантажити резервну копію",
15
+ "admin.backup.uploadHint": "Виберіть завантажену копію (.sqlite) - вона буде перевірена та застосована при наступному запуску.",
16
+ "admin.backup.delete": "Видалити",
17
+ "admin.backup.deleteTitle": "Видалити резервну копію",
18
+ "admin.backup.deleteConfirm": "Копію {{name}} буде видалено. Це не можна скасувати.",
19
+ "admin.backup.done": "Резервну копію {{name}} створено, {{removed}} старих файлів видалено.",
20
+ "admin.backup.empty": "Резервних копій ще немає.",
21
+ "admin.backup.retention": "Резервні копії, старші за {{days}} днів, видаляються, найновіша завжди зберігається.",
22
+ "admin.forbidden": "Вам заборонено відкривати адміністрацію.",
23
+ "admin.title": "Адміністрація",
24
+ "admin.user.active": "Активний",
25
+ "admin.user.create": "Додати співробітника",
26
+ "admin.user.empty": "Ще немає працівників.",
27
+ "admin.user.inactive": "Деактивовано",
28
+ "admin.user.login": "Логін",
29
+ "admin.user.name": "Ім'я",
30
+ "admin.user.newPin": "Новий PIN-код",
31
+ "admin.user.password": "Пароль",
32
+ "admin.user.passwordHint": "Мінімум 8 символів у верхньому та нижньому регістрах, а також цифри.",
33
+ "admin.user.pin": "PIN-код",
34
+ "admin.user.pinHint": "Від 4 до 8 цифр для терміналу",
35
+ "admin.user.pinTitle": "PIN-код перепустки для {{name}}",
36
+ "admin.user.roles": "Ролі",
37
+ "admin.users": "Співробітники",
38
+ "app.offline": "Offline – відмітки в черзі",
39
+ "app.online": "Підключено",
40
+ "app.title": "Відстеження часу",
41
+ "common.cancel": "Скасувати",
42
+ "common.close": "Закрити",
43
+ "common.loading": "Завантаження…",
44
+ "common.none": "–",
45
+ "common.refresh": "Оновити",
46
+ "common.retry": "Повторіть спробу",
47
+ "common.save": "зберегти",
48
+ "error.bad_request": "Вхід не прийнято.",
49
+ "error.conflict": "Зміна суперечить наявним даним.",
50
+ "error.csrf_rejected": "Запит відхилено з міркувань безпеки, повторіть спробу.",
51
+ "error.invalid_credentials": "Ім'я користувача або пароль неправильні.",
52
+ "error.locked_out": "Забагато невдалих спроб. Спробуйте пізніше.",
53
+ "error.network_error": "Сервер недоступний.",
54
+ "error.no_session": "Ваш сеанс закінчився, увійдіть знову.",
55
+ "error.not_found": "Не знайдено.",
56
+ "error.permission_denied": "Вам заборонено це робити.",
57
+ "error.report_font_missing": "Для цього звіту потрібен шрифт Unicode (report_font_path).",
58
+ "error.revision_conflict": "Перфорацію тим часом було змінено, перезавантажте.",
59
+ "error.session_expired": "Ваш сеанс закінчився, увійдіть знову.",
60
+ "error.unknown_error": "Несподівана помилка.",
61
+ "error.user_inactive": "Цей обліковий запис дезактивовано.",
62
+ "login.failed": "Помилка входу",
63
+ "login.login": "Ім'я користувача",
64
+ "login.password": "Пароль",
65
+ "login.submit": "Увійдіть",
66
+ "login.title": "Увійдіть",
67
+ "month.absence": "Відсутність",
68
+ "month.balance": "Баланс",
69
+ "error.edit_window_closed": "Поза вікном редагування",
70
+ "admin.profile.pauseRules": "Власні правила перерв",
71
+ "admin.profile.pauseRulesHint": "Правила лише для цього працівника: вони замінюють правило компанії з тим самим «з хвилин». Без власних правил діє шкала компанії.",
72
+ "report.csv": "Початкові дані (CSV)",
73
+ "month.edit": "Виправити",
74
+ "month.editTitle": "Виправити відбиття · {{date}}",
75
+ "month.editHint": "Лише всередині вікна редагування - старші дні змінює адміністрація.",
76
+ "month.time": "Час",
77
+ "month.direction": "Напрямок",
78
+ "month.directionIn": "Прихід",
79
+ "month.directionOut": "Вихід",
80
+ "month.addPunch": "Додати відбиття",
81
+ "month.pause": "Перерва",
82
+ "month.paidBreak": "з них оплачено",
83
+ "month.empty": "Немає днів у цьому місяці.",
84
+ "month.holiday": "Свято",
85
+ "month.months": "Місяці року",
86
+ "month.next": "Наступного місяця",
87
+ "month.open": "відкрито",
88
+ "month.previous": "Попередній місяць",
89
+ "month.target": "Цільова",
90
+ "month.title": "місяць",
91
+ "month.worked": "Працювала",
92
+ "nav.absences": "Прогули",
93
+ "nav.dashboard": "Відмітка",
94
+ "nav.logout": "Вийти",
95
+ "nav.menu": "Меню",
96
+ "nav.month": "місяць",
97
+ "nav.profile": "Профіль",
98
+ "nav.reports": "Звіти",
99
+ "nav.sync": "Синхронізація",
100
+ "profile.changePassword": "Змінити пароль",
101
+ "profile.changed": "Пароль змінено, увійдіть знову.",
102
+ "profile.language": "Мова",
103
+ "profile.newPassword": "Новий пароль",
104
+ "profile.roles": "Дозволи",
105
+ "profile.title": "Профіль",
106
+ "profile.user": "Користувач",
107
+ "punch.balance": "Сальдо сьогодні",
108
+ "punch.closed": "Немає відмітки",
109
+ "punch.in": "Прихід",
110
+ "punch.last": "Остання відмітка {{time}}",
111
+ "punch.note": "Примітка",
112
+ "punch.now": "Відмітитися",
113
+ "punch.open": "Відмітка з {{time}}",
114
+ "punch.out": "Вихід",
115
+ "punch.queued": "Збережено офлайн – буде надіслано автоматично",
116
+ "punch.quick": "Швидка відмітка",
117
+ "punch.sent": "Відмітку збережено ({{time}})",
118
+ "punch.target": "План сьогодні",
119
+ "punch.worked": "Відпрацьовано сьогодні",
120
+ "report.failed": "Не вдалося створити заяву.",
121
+ "report.pdf": "PDF",
122
+ "report.xls": "Excel",
123
+ "reports.empty": "Немає даних за цей період.",
124
+ "reports.monthTotals": "Підсумки за місяць",
125
+ "reports.overtime": "Понаднормова робота",
126
+ "reports.paidOut": "Виплачено: {{minutes}}",
127
+ "reports.title": "Звіти",
128
+ "reports.vacation": "Відпустка (взята / право)",
129
+ "reports.year": "рік",
130
+ "reports.yearTotals": "Підсумки року",
131
+ "sync.accept": "Зберігайте значення сервера",
132
+ "sync.conflictOf": "{{date}} · {{time}}",
133
+ "sync.conflicts": "Відкриті конфлікти",
134
+ "sync.dismiss": "Відкинути",
135
+ "sync.done": "Надіслано: {{accepted}}, дублікатів: {{duplicates}}, конфліктів: {{conflicts}}",
136
+ "sync.empty": "Без відкритих конфліктів.",
137
+ "sync.flush": "Надішліть зараз",
138
+ "sync.none": "Немає надсилати.",
139
+ "sync.pending": "{{count}} відміток у черзі",
140
+ "sync.permission": "Вам заборонено вирішувати конфлікти.",
141
+ "sync.resolved": "Конфлікт вирішено.",
142
+ "sync.title": "Синхронізація",
143
+ "terminal.title": "Термінал",
144
+ "terminal.deviceToken": "Токен пристрою",
145
+ "terminal.connect": "Підключити",
146
+ "terminal.badge": "Перепустка",
147
+ "terminal.noPin": "На цьому терміналі PIN не потрібен.",
148
+ "terminal.pin": "PIN-код",
149
+ "terminal.select": "Виберіть ім'я",
150
+ "terminal.disabled": "Термінал вимкнено в налаштуваннях адаптера.",
151
+ "admin.terminals": "Термінали",
152
+ "admin.terminal.name": "Назва",
153
+ "admin.terminal.location": "Розташування",
154
+ "admin.terminal.pinRequired": "Працівникам потрібен їхній PIN-код",
155
+ "admin.terminal.create": "Створити термінал",
156
+ "admin.terminal.tokenOnce": "Скопіюйте токен пристрою зараз — він зберігається лише як хеш і показується один раз:",
157
+ "admin.terminal.url": "Відкрийте цю адресу на пристрої кіоску:",
158
+ "admin.terminal.revoke": "Відкликати",
159
+ "admin.terminal.revoked": "відкликано",
160
+ "admin.terminal.users": "Співробітники",
161
+ "admin.terminal.usersHint": "Якщо нічого не вибрати, термінал показує всіх співробітників.",
162
+ "admin.terminal.usersAll": "усі співробітники",
163
+ "admin.terminal.empty": "Термінал ще не створено.",
164
+ "admin.terminal.confirmRevoke": "Відкликати «{{name}}»? Токен пристрою перестане працювати негайно.",
165
+ "admin.settings": "Налаштування",
166
+ "admin.settings.fontPath": "Файл шрифту Unicode для PDF-звітів (.ttf/.otf)",
167
+ "admin.user.profile": "Робочий профіль",
168
+ "admin.user.profileTitle": "Робочий профіль · {{name}}",
169
+ "admin.profile.percent": "Зайнятість (%)",
170
+ "admin.profile.weeklyHours": "Годин на тиждень при 100 %",
171
+ "admin.profile.workdays": "Робочі дні",
172
+ "admin.profile.overtimeModel": "Модель надурочних",
173
+ "admin.profile.model.monthly": "Щомісяця",
174
+ "admin.profile.model.yearly": "За рік",
175
+ "admin.profile.model.cumulative": "Накопичувально",
176
+ "admin.profile.vacationPerYear": "Днів відпустки на рік",
177
+ "admin.profile.vacationCarryover": "Перенесення відпустки (дні)",
178
+ "admin.profile.overtimeCarryover": "Перенесення надурочних (години)",
179
+ "admin.profile.vorholzeitPerYear": "«Vorholzeit» на рік (години)",
180
+ "admin.profile.pausePaid": "Оплачуваних хвилин перерви на день",
181
+ "admin.profile.pausePaidHint": "Стільки хвилин перерви входять у робочий час (0 = перерва не оплачується).",
182
+ "admin.settings.pauseMode": "Перерви",
183
+ "admin.settings.pauseModeTitle": "Правило перерв",
184
+ "admin.settings.pauseModeHint": "Як визначається перерва за день.",
185
+ "admin.settings.pauseRules": "Шкала перерв",
186
+ "admin.settings.pauseRulesHint": "Діє для днів без відбитої перерви: починаючи з указаної довжини блоку (від першого до останнього відбиття в блоці) хвилини віднімаються.",
187
+ "admin.settings.pauseFrom": "з хвилин",
188
+ "admin.settings.pauseTo": "до хвилин (порожньо = без обмеження)",
189
+ "admin.settings.pauseMinutes": "хвилин перерви",
190
+ "admin.settings.pauseActive": "Правило активне",
191
+ "admin.settings.pauseAdd": "Додати правило",
192
+ "admin.settings.pauseSave": "Зберегти шкалу перерв",
193
+ "admin.settings.pauseMode.auto": "Відбита перерва, інакше шкала",
194
+ "admin.settings.pauseMode.punched": "Лише відбиті перерви",
195
+ "admin.settings.pauseMode.staffel": "Лише шкала перерв",
196
+ "admin.settings.fontPathHint": "Потрібен для російської, української та китайської; порожньо = вбудовані шрифти, що покривають лише Latin-1.",
197
+ "admin.settings.advanced": "Усі налаштування екземпляра (технічні назви, 1/0 для перемикачів)",
198
+ "admin.settings.setting.edit_window_days": "Вікно редагування (днів)",
199
+ "admin.settings.setting.quick_round_minutes": "Округлення (хв)",
200
+ "admin.settings.setting.absence_calc_until_today": "Відсутності до сьогодні",
201
+ "admin.settings.setting.absence_deduct_worktime": "Відрахувати відсутності",
202
+ "admin.settings.setting.print_limit_days": "Ліміт друку (днів)",
203
+ "admin.settings.setting.holiday_country": "Країна свят",
204
+ "admin.settings.setting.default_language": "Мова за замовчуванням",
205
+ "admin.settings.setting.session_ttl_minutes": "Сесія (хвилини)",
206
+ "admin.settings.setting.backup_retention_days": "Копії (днів)",
207
+ "admin.settings.setting.attendance_list_visible": "Список присутності",
208
+ "admin.settings.setting.timezone": "Часовий пояс",
209
+ "admin.settings.saved": "Налаштування збережено.",
210
+ "admin.holidays": "Святкові дні",
211
+ "admin.holiday.date": "Дата (РРРР-ММ-ДД)",
212
+ "admin.holiday.name": "Назва",
213
+ "holiday.newYear": "Новий рік",
214
+ "holiday.epiphany": "Богоявлення",
215
+ "holiday.goodFriday": "Страсна п'ятниця",
216
+ "holiday.easterMonday": "Великодній понеділок",
217
+ "holiday.labourDay": "День праці",
218
+ "holiday.ascension": "Вознесіння",
219
+ "holiday.whitMonday": "Другий день Трійці",
220
+ "holiday.corpusChristi": "Свято Тіла Христового",
221
+ "holiday.nationalDay": "Національне свято",
222
+ "holiday.germanUnity": "День німецької єдності",
223
+ "holiday.assumption": "Успіння Богородиці",
224
+ "holiday.allSaints": "День усіх святих",
225
+ "holiday.immaculateConception": "Непорочне зачаття",
226
+ "holiday.christmas": "Різдво",
227
+ "holiday.boxingDay": "Другий день Різдва",
228
+ "admin.holiday.add": "Додати святковий день",
229
+ "admin.holiday.year": "Рік",
230
+ "admin.holiday.region": "Регіон (необов'язково)",
231
+ "admin.holiday.empty": "За цей рік святкові дні не внесено.",
232
+ "admin.tags": "Перепустки (RFID/NFC)",
233
+ "admin.tag.label": "Мітка",
234
+ "admin.tag.user": "Працівник",
235
+ "admin.tag.create": "Створити перепустку",
236
+ "admin.tag.linkOnce": "Запишіть це посилання на мітку або відкрийте його на телефоні:",
237
+ "admin.tag.delete": "Видалити",
238
+ "admin.tag.active": "активний",
239
+ "admin.tag.expired": "прострочений",
240
+ "admin.tag.revoked": "відкликано",
241
+ "admin.tag.lastUsed": "останнє використання",
242
+ "admin.tag.remove": "Видалити остаточно",
243
+ "admin.tag.edit": "Змінити",
244
+ "admin.tag.reissue": "Нове посилання",
245
+ "admin.tag.editTitle": "Зміна перепустки",
246
+ "admin.tag.editHint": "Інший працівник або нова тривалість дії видає нове посилання — видане раніше посилання одразу перестає працювати.",
247
+ "admin.tag.validityDays": "Термін дії (днів)",
248
+ "admin.tag.oldLinkDead": "Видане раніше посилання більше не працює.",
249
+ "admin.tag.qrAlt": "QR-код посилання перепустки",
250
+ "admin.tag.empty": "Перепустку ще не створено.",
251
+ "nav.statistics": "Статистика",
252
+ "statistics.from": "З",
253
+ "statistics.to": "До",
254
+ "statistics.employee": "Працівник",
255
+ "statistics.worked": "Відпрацьовано",
256
+ "statistics.target": "План",
257
+ "statistics.balance": "Баланс",
258
+ "statistics.openDays": "Відкриті дні",
259
+ "statistics.totals": "Усі працівники",
260
+ "scan.title": "Перепустка",
261
+ "scan.done": "Відмітку для {{name}} о {{time}}",
262
+ "scan.failed": "Перепустку не вдалося використати: {{reason}}",
263
+ "presence.title": "Присутність",
264
+ "presence.present": "На робочому місці",
265
+ "presence.absent": "Відсутній",
266
+ "presence.tapPin": "Введіть PIN-код, щоб відмітитися",
267
+ "presence.cancel": "Скасувати",
268
+ "presence.updated": "{{name}} тепер {{state}}",
269
+ "presence.disabled": "Кіоск-термінал вимкнено в налаштуваннях екземпляра.",
270
+ "admin.user.photo": "Фото",
271
+ "admin.user.photoTitle": "Фото {{name}}",
272
+ "admin.user.photoChoose": "Вибрати зображення",
273
+ "admin.user.photoRemove": "Видалити зображення",
274
+ "admin.user.photoHint": "PNG, JPEG, WEBP або GIF до 256 КБ. Без зображення показується заповнювач.",
275
+ "admin.corrections": "Коригування часу",
276
+ "corrections.employee": "Співробітник",
277
+ "corrections.previous": "Попередній місяць",
278
+ "corrections.next": "Наступний місяць",
279
+ "corrections.reason": "Причина",
280
+ "corrections.reasonHint": "Зберігається в журналі (аудиті)",
281
+ "corrections.add": "Додати відмітку або день",
282
+ "corrections.addTitle": "Додати відмітку",
283
+ "corrections.addHint": "Залиште «вихід» порожнім, якщо бракує однієї відмітки",
284
+ "corrections.editTitle": "Змінити відмітку",
285
+ "corrections.remove": "Видалити відмітку",
286
+ "corrections.date": "Дата",
287
+ "corrections.from": "Прихід",
288
+ "corrections.to": "Вихід",
289
+ "corrections.direction": "Напрямок",
290
+ "corrections.note": "Нотатка",
291
+ "corrections.empty": "У цьому місяці відміток немає",
292
+ "corrections.byAdmin": "додано адміністрацією",
293
+ "corrections.history": "Історія",
294
+ "corrections.actor": "Хто",
295
+ "corrections.actionCreate": "Додано",
296
+ "corrections.actionUpdate": "Змінено",
297
+ "corrections.actionDelete": "Видалено",
298
+ "keypad.backspace": "Видалити",
299
+ "admin.settings.branding": "Брендинг компанії",
300
+ "admin.settings.brandingHint": "Логотип, фонове зображення та колір фону цієї інсталяції. Екран входу та екрани кіоску також їх показують.",
301
+ "admin.settings.brandLogo": "Вибрати логотип",
302
+ "admin.settings.brandBackground": "Вибрати фон",
303
+ "admin.brand.imageResized": "Зменшено для відображення ({{size}}).",
304
+ "admin.brand.imageTooLarge": "Навіть у зменшеному вигляді зображення завелике.",
305
+ "admin.brand.imageType": "Можливі лише PNG, JPEG, WEBP або GIF.",
306
+ "admin.brand.imageUnreadable": "Не вдалося прочитати зображення.",
307
+ "admin.settings.brandColor": "Колір фону",
308
+ "admin.settings.brandColorHint": "Значення у форматі Hex, наприклад #1a2b3c; порожньо — типове значення",
309
+ "admin.settings.brandColorPresets": "Готові кольори",
310
+ "admin.settings.brandColorDefault": "За замовчуванням",
311
+ "admin.backup.download": "Завантажити",
312
+ "admin.backup.restore": "Відновити",
313
+ "admin.backup.restoreTitle": "Відновити резервну копію",
314
+ "admin.backup.restoreConfirm": "Резервну копію {{name}} буде застосовано під час наступного запуску адаптера; поточна база даних залишиться поруч як файл. Після цього перезапустіть інстанс.",
315
+ "admin.backup.pendingHint": "{{name}} буде застосовано під час наступного запуску ({{users}} співробітників, {{entries}} відміток) - перезапустіть інстанс.",
316
+ "error.backup_invalid": "Цей файл не є резервною копією цього адаптера.",
317
+ "admin.settings.brandImageRemove": "Видалити зображення",
318
+ "admin.settings.brandColorDefaultHint": "Скидає колір і зображення фону",
319
+ "admin.triggers": "Дії (ioBroker)",
320
+ "admin.triggersHint": "Стан іншого адаптера відмічає час або встановлює присутність — сканер відбитка, кнопка чи дверний контакт. Спрацьовує лише при зміні значення. У полі значення можна вказати `toggle` — тоді реагує на будь-яку зміну (наприклад, увімкнення та вимкнення).",
321
+ "admin.trigger.label": "Назва",
322
+ "admin.trigger.sourceState": "Стан",
323
+ "admin.trigger.mode": "Умова",
324
+ "admin.trigger.modeCondition": "Стан має значення",
325
+ "admin.trigger.modeUser": "Значення — це працівник",
326
+ "admin.trigger.condition": "Значення",
327
+ "admin.trigger.user": "Працівник",
328
+ "admin.trigger.action": "Дія",
329
+ "admin.trigger.actionPunch": "Відмітитися (вхід або вихід)",
330
+ "admin.trigger.actionQuickPunch": "Відмітитися зі швидким округленням",
331
+ "admin.trigger.actionPresent": "Зробити присутнім",
332
+ "admin.trigger.actionAbsent": "Зробити відсутнім",
333
+ "admin.trigger.cooldown": "Затримка (секунди)",
334
+ "admin.trigger.active": "Активно",
335
+ "admin.trigger.add": "Додати дію",
336
+ "admin.trigger.lastFired": "Останнє спрацювання",
337
+ "admin.trigger.empty": "Дій поки немає.",
338
+ "admin.trigger.conditionHint": "Значення або `toggle`, щоб реагувати на будь-яку зміну",
339
+ "admin.settings.automations": "Правила (автоматика)",
340
+ "admin.settings.automationsHint": "Що адаптер робить сам: відмічає вихід у заданий місцевий час, повідомляє про відсутню відмітку виходу або нагадує про паузу після занадто довгої роботи. Правило спрацьовує щонайбільше раз на день на працівника.",
341
+ "admin.automation.kind": "Тип",
342
+ "admin.automation.kindClockIn": "Автоматично відмітити прихід",
343
+ "admin.automation.kindClockOut": "Автоматично відмітити вихід",
344
+ "admin.automation.kindMissingPunch": "Повідомити про відсутній вихід",
345
+ "admin.automation.kindBreakReminder": "Нагадування про паузу",
346
+ "admin.automation.at": "Час",
347
+ "admin.automation.atHint": "Місцевий час працівника",
348
+ "admin.automation.after": "Через (хвилини)",
349
+ "admin.automation.user": "Працівник",
350
+ "admin.automation.allUsers": "усі працівники",
351
+ "admin.automation.add": "Додати правило",
352
+ "admin.automation.empty": "Правил поки немає.",
353
+ "admin.automation.runs": "Останні спрацювання",
354
+ "admin.automation.weekdays": "Дні тижня",
355
+ "admin.automation.repeat": "Повторення",
356
+ "admin.automation.repeatDay": "раз на день",
357
+ "admin.automation.repeatWeek": "раз на тиждень",
358
+ "admin.settings.setting.report_font_path": "Шрифт для PDF"
359
+ }