iobroker.time-tracker 0.4.4 → 0.5.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/README.md +9 -8
- package/build/lib/db/migrations.js +11 -0
- package/build/lib/db/migrations.js.map +2 -2
- package/build/lib/db/repositories/users.js +35 -1
- package/build/lib/db/repositories/users.js.map +2 -2
- package/build/lib/web/api.js +80 -0
- package/build/lib/web/api.js.map +2 -2
- package/io-package.json +14 -14
- package/package.json +1 -1
- package/src-pwa/src/i18n/de.json +10 -1
- package/src-pwa/src/i18n/en.json +10 -1
- package/src-pwa/src/i18n/es.json +10 -1
- package/src-pwa/src/i18n/fr.json +10 -1
- package/src-pwa/src/i18n/it.json +10 -1
- package/src-pwa/src/i18n/nl.json +10 -1
- package/src-pwa/src/i18n/pl.json +10 -1
- package/src-pwa/src/i18n/pt.json +10 -1
- package/src-pwa/src/i18n/ru.json +10 -1
- package/src-pwa/src/i18n/uk.json +10 -1
- package/src-pwa/src/i18n/zh-cn.json +10 -1
- package/www/assets/{index-B_bqnMkf.js → index-CAZSELh4.js} +2 -2
- package/www/assets/index-CAZSELh4.js.map +1 -0
- package/www/index.html +1 -1
- package/www/sw.js +1 -1
- package/www/sw.js.map +1 -1
- package/www/assets/index-B_bqnMkf.js.map +0 -1
package/io-package.json
CHANGED
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "time-tracker",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.5.0",
|
|
5
5
|
"nogit": true,
|
|
6
6
|
"news": {
|
|
7
|
+
"0.5.0": {
|
|
8
|
+
"en": "new: the own absences can be subscribed in any calendar app. POST /calendar/token hands out a personal link (GET /calendar.ics?token=…, public and rate limited) whose token can be rotated — that makes the old link invalid. The feed is proper iCalendar: DTEND is exclusive so no event loses its last day, half days carry their portion in the summary, a request that waits for its decision is TENTATIVE, and the approval state travels in STATUS. On top the administration finds a year overview in the absence tab: approved days per employee and month",
|
|
9
|
+
"de": "neu: die eigenen Abwesenheiten lassen sich in jeder Kalender-App abonnieren. POST /calendar/token gibt einen persönlichen Link aus (GET /calendar.ics?token=…, öffentlich und mengenbegrenzt), dessen Token sich erneuern lässt — damit wird der alte Link ungültig. Der Feed ist echtes iCalendar: DTEND ist exklusiv, damit kein Termin seinen letzten Tag verliert, halbe Tage tragen ihren Anteil in der Zusammenfassung, ein Antrag, der noch auf seine Entscheidung wartet, ist TENTATIVE, und der Genehmigungsstand reist in STATUS mit. Zusätzlich findet die Verwaltung im Reiter Abwesenheiten eine Jahresübersicht: genehmigte Tage je Mitarbeiter und Monat",
|
|
10
|
+
"ru": "новое: свои отсутствия можно подписать в любом календаре. POST /calendar/token выдаёт личную ссылку (GET /calendar.ics?token=…, публичную и с ограничением частоты), токен которой можно обновить — тогда старая ссылка перестаёт работать. Поток — настоящий iCalendar: DTEND исключающий, чтобы ни одно событие не теряло последний день, половинные дни несут свою долю в описании, заявка, ждущая решения, помечена TENTATIVE, а состояние одобрения передаётся в STATUS. Дополнительно в разделе «Отсутствия» администрация находит обзор года: одобренные дни по сотрудникам и месяцам",
|
|
11
|
+
"pt": "novo: as próprias ausências podem ser subscritas em qualquer aplicação de calendário. POST /calendar/token entrega um link pessoal (GET /calendar.ics?token=…, público e com limite de frequência) cujo token pode ser renovado — assim o link antigo deixa de funcionar. O feed é iCalendar a sério: DTEND é exclusivo para nenhum evento perder o último dia, meios dias levam a sua fração no resumo, um pedido à espera de decisão é TENTATIVE e o estado de aprovação viaja em STATUS. Além disso a administração encontra uma visão do ano no separador das ausências: dias aprovados por funcionário e mês",
|
|
12
|
+
"nl": "nieuw: de eigen afwezigheden zijn te abonneren in elke agenda-app. POST /calendar/token geeft een persoonlijke link uit (GET /calendar.ics?token=…, openbaar en met limiet) waarvan het token vernieuwd kan worden — daarmee vervalt de oude link. De feed is echte iCalendar: DTEND is exclusief zodat geen afspraak zijn laatste dag verliest, halve dagen dragen hun deel in de samenvatting, een aanvraag die op een beslissing wacht is TENTATIVE en de goedkeuring reist mee in STATUS. Daarnaast vindt het beheer een jaaroverzicht in het tabblad afwezigheden: goedgekeurde dagen per medewerker en maand",
|
|
13
|
+
"fr": "nouveau : ses propres absences s'abonnent dans n'importe quelle application de calendrier. POST /calendar/token délivre un lien personnel (GET /calendar.ics?token=…, public et limité en fréquence) dont le jeton peut être renouvelé — l'ancien lien devient alors invalide. Le flux est du vrai iCalendar : DTEND est exclusif pour qu'aucun événement ne perde son dernier jour, les demi-journées portent leur part dans le résumé, une demande en attente de décision est TENTATIVE et l'état d'approbation voyage dans STATUS. En plus, l'administration trouve une vue de l'année dans l'onglet des absences : jours approuvés par employé et par mois",
|
|
14
|
+
"it": "novità: le proprie assenze si possono abbonare in qualsiasi app di calendario. POST /calendar/token rilascia un link personale (GET /calendar.ics?token=…, pubblico e con limite di frequenza) il cui token si può rinnovare — così il vecchio link non vale più. Il feed è vero iCalendar: DTEND è esclusivo perché nessun evento perda l'ultimo giorno, le mezze giornate portano la loro quota nel riepilogo, una richiesta in attesa di decisione è TENTATIVE e lo stato di approvazione viaggia in STATUS. Inoltre l'amministrazione trova una panoramica dell'anno nella scheda delle assenze: giorni approvati per dipendente e mese",
|
|
15
|
+
"es": "novedad: las propias ausencias se pueden suscribir en cualquier aplicación de calendario. POST /calendar/token entrega un enlace personal (GET /calendar.ics?token=…, público y con límite de frecuencia) cuyo token se puede renovar — así el enlace antiguo deja de valer. El feed es iCalendar de verdad: DTEND es exclusivo para que ningún evento pierda su último día, los medios días llevan su parte en el resumen, una solicitud que espera decisión es TENTATIVE y el estado de aprobación viaja en STATUS. Además la administración encuentra una visión del año en la pestaña de ausencias: días aprobados por empleado y mes",
|
|
16
|
+
"pl": "nowość: własne nieobecności można zaprenumerować w dowolnej aplikacji kalendarza. POST /calendar/token wydaje osobisty link (GET /calendar.ics?token=…, publiczny i z limitem częstości), którego token można odświeżyć — stary link przestaje wtedy działać. Kanał to prawdziwy iCalendar: DTEND jest wyłączny, aby żadne wydarzenie nie traciło ostatniego dnia, pół dnia niesie swój udział w podsumowaniu, wniosek czekający na decyzję jest TENTATIVE, a stan zatwierdzenia jedzie w STATUS. Dodatkowo administracja znajdzie przegląd roku na karcie nieobecności: zatwierdzone dni według pracownika i miesiąca",
|
|
17
|
+
"uk": "новинка: власні відсутності можна підписати в будь-якому календарі. POST /calendar/token видає особисте посилання (GET /calendar.ics?token=…, публічне й з обмеженням частоти), токен якого можна оновити — тоді старе посилання перестає працювати. Потік — справжній iCalendar: DTEND виключний, щоб жодна подія не втрачала останній день, половинні дні несуть свою частку в описі, заявка, що чекає рішення, позначена TENTATIVE, а стан схвалення передається в STATUS. Додатково адміністрація знаходить огляд року на вкладці відсутностей: схвалені дні за працівниками й місяцями",
|
|
18
|
+
"zh-cn": "新功能:自己的缺勤可在任意日历应用中订阅。POST /calendar/token 发放个人链接(GET /calendar.ics?token=…,公开且限流),其令牌可更新 —— 旧链接随之失效。该订阅是标准 iCalendar:DTEND 为排他值,任何事件都不会丢掉最后一天;半天会在摘要中带上份额;等待决定的申请标记为 TENTATIVE;审批状态通过 STATUS 传递。此外管理员在缺勤标签页中可看到年度总览:按员工与月份统计的已批准天数"
|
|
19
|
+
},
|
|
7
20
|
"0.4.4": {
|
|
8
21
|
"en": "fix: the browser tests moved from e2e/ to test/e2e/. The repository checker looks at the packages the sources import and skips the test directory only, so it saw @playwright/test — a dev dependency of the specs — as used but not declared. The Playwright config, the e2e workflow and the docs follow the new path, and the test server points at the repository root one level deeper",
|
|
9
22
|
"de": "fix: die Browser-Tests sind von e2e/ nach test/e2e/ umgezogen. Der Repository-Checker prüft die Pakete, die die Quellen importieren, und überspringt nur das test-Verzeichnis — deshalb sah er @playwright/test (eine dev-Abhängigkeit der Specs) als benutzt, aber nicht deklariert. Playwright-Konfiguration, e2e-Workflow und Doku folgen dem neuen Pfad, und der Testserver zeigt eine Ebene tiefer auf die Repository-Wurzel",
|
|
@@ -81,19 +94,6 @@
|
|
|
81
94
|
"pl": "nowość: rodzajami nieobecności można teraz zarządzać w administracji — kod, nazwa, płatne, współczynnik i potrącenie urlopu, po jednym wierszu na rodzaj z formularzem w oknie dialogowym. Rodzaj zużywający limit urlopu jest oznaczony na listach i na liście wyboru, więc «F – Ferien» od razu czyta się jako urlop",
|
|
82
95
|
"uk": "новинка: видами відсутності тепер можна керувати в адмініструванні — код, назва, оплата, коефіцієнт і відрахування відпустки, по рядку на вид із формою в діалозі. Вид, що витрачає ліміт відпустки, позначено у списках і у виборі, тож «F – Ferien» одразу читається як відпустка",
|
|
83
96
|
"zh-cn": "新功能:现在可在管理中维护缺勤类型 —— 代号、名称、带薪、系数与休假扣减,每种类型一行,表单在对话框中。会消耗休假额度的类型会在列表和选择中标记,因此「F – Ferien」一眼即可看出是休假"
|
|
84
|
-
},
|
|
85
|
-
"0.3.3": {
|
|
86
|
-
"en": "fix: the installation chapter of the README no longer points to the adapter dialog for a URL — the repository checker reports that as E6013. It now describes the normal way through the adapter list of the ioBroker admin (and names the registry for machines without the admin); the build steps for work on the sources are a separate note",
|
|
87
|
-
"de": "fix: das Installationskapitel der README verweist nicht mehr auf den Adapter-Dialog für eine URL — der Repository-Checker meldet das als E6013. Es beschreibt jetzt den normalen Weg über die Adapterliste des ioBroker-Admin (und nennt die Registry für Rechner ohne Admin); die Build-Schritte für die Arbeit an den Quellen stehen in einem eigenen Hinweis",
|
|
88
|
-
"ru": "исправление: раздел установки в README больше не ссылается на диалог адаптера для URL — проверка репозитория сообщает об этом как E6013. Теперь описан обычный путь через список адаптеров ioBroker-Admin (и назван реестр для машин без админа); шаги сборки для работы с исходниками выделены отдельно",
|
|
89
|
-
"pt": "correção: o capítulo de instalação do README já não aponta para a caixa de diálogo do adaptador para um URL — o verificador do repositório assinala isso como E6013. Agora descreve o caminho normal através da lista de adaptadores do ioBroker admin (e nomeia o registo para máquinas sem admin); os passos de compilação para trabalhar nos fontes ficam numa nota separada",
|
|
90
|
-
"nl": "fix: het installatiehoofdstuk van de README verwijst niet meer naar het adaptervenster voor een URL - de repositorychecker meldt dat als E6013. Het beschrijft nu de normale weg via de adapterlijst van de ioBroker-admin (en noemt het register voor machines zonder admin); de buildstappen voor werk aan de bron staan in een aparte noot",
|
|
91
|
-
"fr": "correctif : le chapitre d'installation du README ne renvoie plus à la boîte de dialogue d'adaptateur pour une URL - le vérificateur du dépôt le signale comme E6013. Il décrit désormais la voie normale via la liste des adaptateurs de l'admin ioBroker (et nomme le registre pour les machines sans admin) ; les étapes de compilation pour travailler sur les sources sont une note à part",
|
|
92
|
-
"it": "correzione: il capitolo di installazione del README non rimanda più alla finestra dell'adattatore per un URL - il verificatore del repository lo segnala come E6013. Ora descrive il percorso normale tramite l'elenco degli adattatori dell'admin ioBroker (e indica il registro per le macchine senza admin); i passaggi di build per lavorare sui sorgenti sono una nota separata",
|
|
93
|
-
"es": "corrección: el capítulo de instalación del README ya no remite al diálogo del adaptador para una URL - el verificador del repositorio lo señala como E6013. Ahora describe la vía normal a través de la lista de adaptadores del admin de ioBroker (y nombra el registro para máquinas sin admin); los pasos de compilación para trabajar en las fuentes son una nota aparte",
|
|
94
|
-
"pl": "poprawka: rozdział instalacji w README nie odsyła już do okna adaptera dla URL - weryfikator repozytorium zgłasza to jako E6013. Teraz opisuje zwykłą drogę przez listę adapterów ioBroker admin (i podaje rejestr dla maszyn bez admina); kroki budowania do pracy nad źródłami są osobną uwagą",
|
|
95
|
-
"uk": "виправлення: розділ встановлення в README більше не посилається на діалог адаптера для URL — перевірка репозиторію позначає це як E6013. Тепер описано звичайний шлях через список адаптерів ioBroker admin (і названо реєстр для машин без адміна); кроки збірки для роботи з джерелами виділено окремо",
|
|
96
|
-
"zh-cn": "修复:README 的安装章节不再指向“通过 URL 安装适配器”的对话框 —— 仓库检查器会将其报告为 E6013。现在描述通过 ioBroker admin 适配器列表的正常方式(并说明没有 admin 时使用注册表);针对源码开发的构建步骤单独说明"
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
99
|
"titleLang": {
|
package/package.json
CHANGED
package/src-pwa/src/i18n/de.json
CHANGED
|
@@ -408,5 +408,14 @@
|
|
|
408
408
|
"role.employee": "Mitarbeiter",
|
|
409
409
|
"admin.absenceTypes.remove": "Löschen",
|
|
410
410
|
"admin.absenceTypes.removeTitle": "Art löschen",
|
|
411
|
-
"admin.absenceTypes.removeConfirm": "„{{name}}“ wirklich entfernen? Abwesenheiten, die diese Art noch nutzen, müssen zuerst gelöscht oder umgestellt werden."
|
|
411
|
+
"admin.absenceTypes.removeConfirm": "„{{name}}“ wirklich entfernen? Abwesenheiten, die diese Art noch nutzen, müssen zuerst gelöscht oder umgestellt werden.",
|
|
412
|
+
"absences.calendar": "Kalender",
|
|
413
|
+
"absences.calendarHint": "Abonniere deine Abwesenheiten in Google, Outlook oder Apple Kalender. Der Link ist ein Geheimnis — wer ihn hat, sieht deine Abwesenheiten.",
|
|
414
|
+
"absences.calendarShow": "Kalender-Link anzeigen",
|
|
415
|
+
"absences.calendarReload": "Link erneut anzeigen",
|
|
416
|
+
"absences.calendarCopy": "Kopieren",
|
|
417
|
+
"absences.calendarCopied": "Kopiert",
|
|
418
|
+
"absences.calendarRotate": "Link erneuern",
|
|
419
|
+
"admin.absences.year": "Jahresübersicht {{year}}",
|
|
420
|
+
"admin.absences.yearHint": "Genehmigte Abwesenheitstage je Monat und Mitarbeiter. Beantragte Tage erscheinen hier erst nach der Entscheidung."
|
|
412
421
|
}
|
package/src-pwa/src/i18n/en.json
CHANGED
|
@@ -408,5 +408,14 @@
|
|
|
408
408
|
"role.employee": "Employee",
|
|
409
409
|
"admin.absenceTypes.remove": "Delete",
|
|
410
410
|
"admin.absenceTypes.removeTitle": "Delete the type",
|
|
411
|
-
"admin.absenceTypes.removeConfirm": "Really remove “{{name}}”? Absences that still use this type have to be deleted or changed first."
|
|
411
|
+
"admin.absenceTypes.removeConfirm": "Really remove “{{name}}”? Absences that still use this type have to be deleted or changed first.",
|
|
412
|
+
"absences.calendar": "Calendar",
|
|
413
|
+
"absences.calendarHint": "Subscribe to your absences in Google, Outlook or Apple Calendar. The link is a secret — whoever has it sees your absences.",
|
|
414
|
+
"absences.calendarShow": "Show the calendar link",
|
|
415
|
+
"absences.calendarReload": "Show the link again",
|
|
416
|
+
"absences.calendarCopy": "Copy",
|
|
417
|
+
"absences.calendarCopied": "Copied",
|
|
418
|
+
"absences.calendarRotate": "Renew the link",
|
|
419
|
+
"admin.absences.year": "Year overview {{year}}",
|
|
420
|
+
"admin.absences.yearHint": "Approved absence days per month and employee. Requested days appear here only after the decision."
|
|
412
421
|
}
|
package/src-pwa/src/i18n/es.json
CHANGED
|
@@ -408,5 +408,14 @@
|
|
|
408
408
|
"role.employee": "Empleado",
|
|
409
409
|
"admin.absenceTypes.remove": "Eliminar",
|
|
410
410
|
"admin.absenceTypes.removeTitle": "Eliminar el tipo",
|
|
411
|
-
"admin.absenceTypes.removeConfirm": "¿Eliminar «{{name}}» de verdad? Las ausencias que aún usan este tipo deben borrarse o cambiarse primero."
|
|
411
|
+
"admin.absenceTypes.removeConfirm": "¿Eliminar «{{name}}» de verdad? Las ausencias que aún usan este tipo deben borrarse o cambiarse primero.",
|
|
412
|
+
"absences.calendar": "Calendario",
|
|
413
|
+
"absences.calendarHint": "Suscríbete a tus ausencias en Google, Outlook o Apple Calendario. El enlace es un secreto: quien lo tenga verá tus ausencias.",
|
|
414
|
+
"absences.calendarShow": "Mostrar el enlace del calendario",
|
|
415
|
+
"absences.calendarReload": "Mostrar el enlace de nuevo",
|
|
416
|
+
"absences.calendarCopy": "Copiar",
|
|
417
|
+
"absences.calendarCopied": "Copiado",
|
|
418
|
+
"absences.calendarRotate": "Renovar el enlace",
|
|
419
|
+
"admin.absences.year": "Visión del año {{year}}",
|
|
420
|
+
"admin.absences.yearHint": "Días de ausencia aprobados por mes y empleado. Los días solicitados solo aparecen aquí tras la decisión."
|
|
412
421
|
}
|
package/src-pwa/src/i18n/fr.json
CHANGED
|
@@ -408,5 +408,14 @@
|
|
|
408
408
|
"role.employee": "Employé",
|
|
409
409
|
"admin.absenceTypes.remove": "Supprimer",
|
|
410
410
|
"admin.absenceTypes.removeTitle": "Supprimer le type",
|
|
411
|
-
"admin.absenceTypes.removeConfirm": "Vraiment supprimer « {{name}} » ? Les absences qui utilisent encore ce type doivent d'abord être supprimées ou modifiées."
|
|
411
|
+
"admin.absenceTypes.removeConfirm": "Vraiment supprimer « {{name}} » ? Les absences qui utilisent encore ce type doivent d'abord être supprimées ou modifiées.",
|
|
412
|
+
"absences.calendar": "Calendrier",
|
|
413
|
+
"absences.calendarHint": "Abonnez-vous à vos absences dans Google, Outlook ou Apple Calendrier. Le lien est un secret — qui l'a voit vos absences.",
|
|
414
|
+
"absences.calendarShow": "Afficher le lien du calendrier",
|
|
415
|
+
"absences.calendarReload": "Afficher le lien à nouveau",
|
|
416
|
+
"absences.calendarCopy": "Copier",
|
|
417
|
+
"absences.calendarCopied": "Copié",
|
|
418
|
+
"absences.calendarRotate": "Renouveler le lien",
|
|
419
|
+
"admin.absences.year": "Vue de l'année {{year}}",
|
|
420
|
+
"admin.absences.yearHint": "Jours d'absence approuvés par mois et par employé. Les jours demandés n'apparaissent ici qu'après la décision."
|
|
412
421
|
}
|
package/src-pwa/src/i18n/it.json
CHANGED
|
@@ -408,5 +408,14 @@
|
|
|
408
408
|
"role.employee": "Dipendente",
|
|
409
409
|
"admin.absenceTypes.remove": "Elimina",
|
|
410
410
|
"admin.absenceTypes.removeTitle": "Elimina il tipo",
|
|
411
|
-
"admin.absenceTypes.removeConfirm": "Rimuovere davvero «{{name}}»? Le assenze che usano ancora questo tipo devono prima essere eliminate o modificate."
|
|
411
|
+
"admin.absenceTypes.removeConfirm": "Rimuovere davvero «{{name}}»? Le assenze che usano ancora questo tipo devono prima essere eliminate o modificate.",
|
|
412
|
+
"absences.calendar": "Calendario",
|
|
413
|
+
"absences.calendarHint": "Abbonati alle tue assenze in Google, Outlook o Apple Calendario. Il link è un segreto — chi lo ha vede le tue assenze.",
|
|
414
|
+
"absences.calendarShow": "Mostra il link del calendario",
|
|
415
|
+
"absences.calendarReload": "Mostra di nuovo il link",
|
|
416
|
+
"absences.calendarCopy": "Copia",
|
|
417
|
+
"absences.calendarCopied": "Copiato",
|
|
418
|
+
"absences.calendarRotate": "Rinnova il link",
|
|
419
|
+
"admin.absences.year": "Panoramica dell'anno {{year}}",
|
|
420
|
+
"admin.absences.yearHint": "Giorni di assenza approvati per mese e dipendente. I giorni richiesti compaiono qui solo dopo la decisione."
|
|
412
421
|
}
|
package/src-pwa/src/i18n/nl.json
CHANGED
|
@@ -408,5 +408,14 @@
|
|
|
408
408
|
"role.employee": "Medewerker",
|
|
409
409
|
"admin.absenceTypes.remove": "Verwijderen",
|
|
410
410
|
"admin.absenceTypes.removeTitle": "Het type verwijderen",
|
|
411
|
-
"admin.absenceTypes.removeConfirm": "“{{name}}” echt verwijderen? Afwezigheden die dit type nog gebruiken moeten eerst worden verwijderd of gewijzigd."
|
|
411
|
+
"admin.absenceTypes.removeConfirm": "“{{name}}” echt verwijderen? Afwezigheden die dit type nog gebruiken moeten eerst worden verwijderd of gewijzigd.",
|
|
412
|
+
"absences.calendar": "Agenda",
|
|
413
|
+
"absences.calendarHint": "Abonneer je op je afwezigheden in Google, Outlook of Apple Agenda. De link is een geheim — wie hem heeft ziet jouw afwezigheden.",
|
|
414
|
+
"absences.calendarShow": "Agendalink tonen",
|
|
415
|
+
"absences.calendarReload": "Link opnieuw tonen",
|
|
416
|
+
"absences.calendarCopy": "Kopiëren",
|
|
417
|
+
"absences.calendarCopied": "Gekopieerd",
|
|
418
|
+
"absences.calendarRotate": "Link vernieuwen",
|
|
419
|
+
"admin.absences.year": "Jaaroverzicht {{year}}",
|
|
420
|
+
"admin.absences.yearHint": "Goedgekeurde afwezigheidsdagen per maand en medewerker. Aangevraagde dagen verschijnen hier pas na de beslissing."
|
|
412
421
|
}
|
package/src-pwa/src/i18n/pl.json
CHANGED
|
@@ -408,5 +408,14 @@
|
|
|
408
408
|
"role.employee": "Pracownik",
|
|
409
409
|
"admin.absenceTypes.remove": "Usuń",
|
|
410
410
|
"admin.absenceTypes.removeTitle": "Usuń rodzaj",
|
|
411
|
-
"admin.absenceTypes.removeConfirm": "Naprawdę usunąć „{{name}}”? Nieobecności, które nadal używają tego rodzaju, trzeba najpierw usunąć lub zmienić."
|
|
411
|
+
"admin.absenceTypes.removeConfirm": "Naprawdę usunąć „{{name}}”? Nieobecności, które nadal używają tego rodzaju, trzeba najpierw usunąć lub zmienić.",
|
|
412
|
+
"absences.calendar": "Kalendarz",
|
|
413
|
+
"absences.calendarHint": "Zaprenumeruj swoje nieobecności w Kalendarzu Google, Outlook lub Apple. Link jest tajemnicą — kto go ma, widzi twoje nieobecności.",
|
|
414
|
+
"absences.calendarShow": "Pokaż link kalendarza",
|
|
415
|
+
"absences.calendarReload": "Pokaż link ponownie",
|
|
416
|
+
"absences.calendarCopy": "Kopiuj",
|
|
417
|
+
"absences.calendarCopied": "Skopiowano",
|
|
418
|
+
"absences.calendarRotate": "Odśwież link",
|
|
419
|
+
"admin.absences.year": "Przegląd roku {{year}}",
|
|
420
|
+
"admin.absences.yearHint": "Zatwierdzone dni nieobecności według miesiąca i pracownika. Złożone dni pojawiają się tu dopiero po decyzji."
|
|
412
421
|
}
|
package/src-pwa/src/i18n/pt.json
CHANGED
|
@@ -408,5 +408,14 @@
|
|
|
408
408
|
"role.employee": "Funcionário",
|
|
409
409
|
"admin.absenceTypes.remove": "Eliminar",
|
|
410
410
|
"admin.absenceTypes.removeTitle": "Eliminar o tipo",
|
|
411
|
-
"admin.absenceTypes.removeConfirm": "Remover «{{name}}» mesmo? As ausências que ainda usam este tipo têm de ser eliminadas ou alteradas primeiro."
|
|
411
|
+
"admin.absenceTypes.removeConfirm": "Remover «{{name}}» mesmo? As ausências que ainda usam este tipo têm de ser eliminadas ou alteradas primeiro.",
|
|
412
|
+
"absences.calendar": "Calendário",
|
|
413
|
+
"absences.calendarHint": "Subscreva as suas ausências no Google, Outlook ou Apple Calendário. O link é um segredo — quem o tem vê as suas ausências.",
|
|
414
|
+
"absences.calendarShow": "Mostrar o link do calendário",
|
|
415
|
+
"absences.calendarReload": "Mostrar o link de novo",
|
|
416
|
+
"absences.calendarCopy": "Copiar",
|
|
417
|
+
"absences.calendarCopied": "Copiado",
|
|
418
|
+
"absences.calendarRotate": "Renovar o link",
|
|
419
|
+
"admin.absences.year": "Visão do ano {{year}}",
|
|
420
|
+
"admin.absences.yearHint": "Dias de ausência aprovados por mês e funcionário. Dias pedidos aparecem aqui só depois da decisão."
|
|
412
421
|
}
|
package/src-pwa/src/i18n/ru.json
CHANGED
|
@@ -408,5 +408,14 @@
|
|
|
408
408
|
"role.employee": "Сотрудник",
|
|
409
409
|
"admin.absenceTypes.remove": "Удалить",
|
|
410
410
|
"admin.absenceTypes.removeTitle": "Удалить вид",
|
|
411
|
-
"admin.absenceTypes.removeConfirm": "Действительно удалить «{{name}}»? Отсутствия, которые ещё используют этот вид, нужно сначала удалить или изменить."
|
|
411
|
+
"admin.absenceTypes.removeConfirm": "Действительно удалить «{{name}}»? Отсутствия, которые ещё используют этот вид, нужно сначала удалить или изменить.",
|
|
412
|
+
"absences.calendar": "Календарь",
|
|
413
|
+
"absences.calendarHint": "Подпишитесь на свои отсутствия в Google, Outlook или Apple Календаре. Ссылка — секрет: у кого она есть, тот видит ваши отсутствия.",
|
|
414
|
+
"absences.calendarShow": "Показать ссылку календаря",
|
|
415
|
+
"absences.calendarReload": "Показать ссылку снова",
|
|
416
|
+
"absences.calendarCopy": "Копировать",
|
|
417
|
+
"absences.calendarCopied": "Скопировано",
|
|
418
|
+
"absences.calendarRotate": "Обновить ссылку",
|
|
419
|
+
"admin.absences.year": "Обзор года {{year}}",
|
|
420
|
+
"admin.absences.yearHint": "Одобренные дни отсутствия по месяцам и сотрудникам. Запрошенные дни появляются здесь только после решения."
|
|
412
421
|
}
|
package/src-pwa/src/i18n/uk.json
CHANGED
|
@@ -408,5 +408,14 @@
|
|
|
408
408
|
"role.employee": "Працівник",
|
|
409
409
|
"admin.absenceTypes.remove": "Видалити",
|
|
410
410
|
"admin.absenceTypes.removeTitle": "Видалити вид",
|
|
411
|
-
"admin.absenceTypes.removeConfirm": "Справді видалити «{{name}}»? Відсутності, які ще використовують цей вид, потрібно спочатку видалити або змінити."
|
|
411
|
+
"admin.absenceTypes.removeConfirm": "Справді видалити «{{name}}»? Відсутності, які ще використовують цей вид, потрібно спочатку видалити або змінити.",
|
|
412
|
+
"absences.calendar": "Календар",
|
|
413
|
+
"absences.calendarHint": "Підпишіться на свої відсутності в Google, Outlook або Apple Календарі. Посилання — це таємниця: хто його має, той бачить ваші відсутності.",
|
|
414
|
+
"absences.calendarShow": "Показати посилання календаря",
|
|
415
|
+
"absences.calendarReload": "Показати посилання знову",
|
|
416
|
+
"absences.calendarCopy": "Копіювати",
|
|
417
|
+
"absences.calendarCopied": "Скопійовано",
|
|
418
|
+
"absences.calendarRotate": "Оновити посилання",
|
|
419
|
+
"admin.absences.year": "Огляд року {{year}}",
|
|
420
|
+
"admin.absences.yearHint": "Схвалені дні відсутності за місяцями й працівниками. Запитані дні з'являються тут лише після рішення."
|
|
412
421
|
}
|
|
@@ -408,5 +408,14 @@
|
|
|
408
408
|
"role.employee": "员工",
|
|
409
409
|
"admin.absenceTypes.remove": "删除",
|
|
410
410
|
"admin.absenceTypes.removeTitle": "删除类型",
|
|
411
|
-
"admin.absenceTypes.removeConfirm": "确实要删除「{{name}}」吗?仍在使用该类型的缺勤必须先删除或更改。"
|
|
411
|
+
"admin.absenceTypes.removeConfirm": "确实要删除「{{name}}」吗?仍在使用该类型的缺勤必须先删除或更改。",
|
|
412
|
+
"absences.calendar": "日历",
|
|
413
|
+
"absences.calendarHint": "在 Google、Outlook 或 Apple 日历中订阅你的缺勤。该链接是秘密 —— 谁拥有它,谁就能看到你的缺勤。",
|
|
414
|
+
"absences.calendarShow": "显示日历链接",
|
|
415
|
+
"absences.calendarReload": "再次显示链接",
|
|
416
|
+
"absences.calendarCopy": "复制",
|
|
417
|
+
"absences.calendarCopied": "已复制",
|
|
418
|
+
"absences.calendarRotate": "更新链接",
|
|
419
|
+
"admin.absences.year": "{{year}} 年度总览",
|
|
420
|
+
"admin.absences.yearHint": "按月份与员工显示的已批准缺勤天数。已申请的日期只有在决定之后才会出现在这里。"
|
|
412
421
|
}
|