iobroker.time-tracker 0.4.4 → 0.6.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 +16 -13
- 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 +27 -27
- package/package.json +1 -1
- package/src-pwa/src/i18n/de.json +12 -1
- package/src-pwa/src/i18n/en.json +12 -1
- package/src-pwa/src/i18n/es.json +12 -1
- package/src-pwa/src/i18n/fr.json +12 -1
- package/src-pwa/src/i18n/it.json +12 -1
- package/src-pwa/src/i18n/nl.json +12 -1
- package/src-pwa/src/i18n/pl.json +12 -1
- package/src-pwa/src/i18n/pt.json +12 -1
- package/src-pwa/src/i18n/ru.json +12 -1
- package/src-pwa/src/i18n/uk.json +12 -1
- package/src-pwa/src/i18n/zh-cn.json +12 -1
- package/www/assets/index-DtdFg3O-.js +119 -0
- package/www/assets/index-DtdFg3O-.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 +0 -119
- package/www/assets/index-B_bqnMkf.js.map +0 -1
package/io-package.json
CHANGED
|
@@ -1,9 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "time-tracker",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.6.0",
|
|
5
5
|
"nogit": true,
|
|
6
6
|
"news": {
|
|
7
|
+
"0.6.0": {
|
|
8
|
+
"en": "change: the year overview of the absence tab became a calendar. The month stands as a grid (Monday first) with the name of every absent employee on the day — approved days green, requested ones grey, public holidays in bold. A year dropdown (three years back and ahead) and month arrows make the past and the future reachable",
|
|
9
|
+
"de": "Änderung: die Jahresübersicht im Reiter Abwesenheiten ist jetzt ein Kalender. Der Monat steht als Raster (Montag zuerst) mit dem Namen jedes abwesenden Mitarbeiters am jeweiligen Tag — genehmigte Tage grün, beantragte grau, Feiertage fett. Eine Jahresauswahl (drei Jahre zurück und voraus) und Monatspfeile machen Vergangenheit und Zukunft erreichbar",
|
|
10
|
+
"ru": "изменение: обзор года на вкладке отсутствий стал календарём. Месяц показан сеткой (с понедельника) с именем каждого отсутствующего сотрудника в соответствующем дне — одобренные дни зелёные, запрошенные серые, праздники жирным. Выбор года (три года назад и вперёд) и стрелки месяцев делают доступным прошлое и будущее",
|
|
11
|
+
"pt": "alteração: a visão do ano no separador das ausências passou a ser um calendário. O mês aparece como grelha (segunda-feira primeiro) com o nome de cada funcionário ausente no respetivo dia — dias aprovados a verde, pedidos a cinzento, feriados a negrito. Um seletor de ano (três anos para trás e para a frente) e setas de mês tornam passado e futuro acessíveis",
|
|
12
|
+
"nl": "wijziging: het jaaroverzicht in het tabblad afwezigheden is nu een kalender. De maand staat als raster (maandag eerst) met de naam van elke afwezige medewerker op de dag — goedgekeurde dagen groen, aangevraagde grijs, feestdagen vet. Een jaarkeuze (drie jaar terug en vooruit) en maandpijlen maken verleden en toekomst bereikbaar",
|
|
13
|
+
"fr": "changement : la vue de l'année dans l'onglet des absences est devenue un calendrier. Le mois apparaît en grille (lundi en premier) avec le nom de chaque employé absent sur le jour — jours approuvés en vert, demandés en gris, jours fériés en gras. Un choix d'année (trois ans en arrière et en avant) et des flèches de mois rendent le passé et le futur accessibles",
|
|
14
|
+
"it": "modifica: la panoramica dell'anno nella scheda delle assenze è diventata un calendario. Il mese appare come griglia (lunedì per primo) con il nome di ogni dipendente assente nel giorno — giorni approvati in verde, richiesti in grigio, festivi in grassetto. Una scelta dell'anno (tre anni indietro e avanti) e le frecce del mese rendono passato e futuro raggiungibili",
|
|
15
|
+
"es": "cambio: la visión del año en la pestaña de ausencias ahora es un calendario. El mes aparece como cuadrícula (lunes primero) con el nombre de cada empleado ausente en el día — días aprobados en verde, solicitados en gris, festivos en negrita. Un selector de año (tres años atrás y adelante) y flechas de mes hacen accesibles el pasado y el futuro",
|
|
16
|
+
"pl": "zmiana: przegląd roku na karcie nieobecności stał się kalendarzem. Miesiąc pokazano jako siatkę (poniedziałek pierwszy) z nazwiskiem każdego nieobecnego pracownika w danym dniu — dni zatwierdzone na zielono, złożone na szaro, święta pogrubione. Wybór roku (trzy lata wstecz i w przód) oraz strzałki miesięcy udostępniają przeszłość i przyszłość",
|
|
17
|
+
"uk": "зміна: огляд року на вкладці відсутностей став календарем. Місяць показано сіткою (з понеділка) з іменем кожного відсутнього працівника у відповідному дні — схвалені дні зелені, запитані сірі, свята жирним. Вибір року (три роки назад і вперед) і стрілки місяців роблять доступним минуле й майбутнє",
|
|
18
|
+
"zh-cn": "变更:缺勤标签页的年度总览已改为日历。月份以网格显示(周一在前),每个缺勤员工的名字出现在对应日期 —— 已批准为绿色,已申请为灰色,节假日为粗体。年份选择(前后各三年)与月份箭头让过去与未来都可查看"
|
|
19
|
+
},
|
|
20
|
+
"0.5.0": {
|
|
21
|
+
"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",
|
|
22
|
+
"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",
|
|
23
|
+
"ru": "новое: свои отсутствия можно подписать в любом календаре. POST /calendar/token выдаёт личную ссылку (GET /calendar.ics?token=…, публичную и с ограничением частоты), токен которой можно обновить — тогда старая ссылка перестаёт работать. Поток — настоящий iCalendar: DTEND исключающий, чтобы ни одно событие не теряло последний день, половинные дни несут свою долю в описании, заявка, ждущая решения, помечена TENTATIVE, а состояние одобрения передаётся в STATUS. Дополнительно в разделе «Отсутствия» администрация находит обзор года: одобренные дни по сотрудникам и месяцам",
|
|
24
|
+
"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",
|
|
25
|
+
"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",
|
|
26
|
+
"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",
|
|
27
|
+
"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",
|
|
28
|
+
"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",
|
|
29
|
+
"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",
|
|
30
|
+
"uk": "новинка: власні відсутності можна підписати в будь-якому календарі. POST /calendar/token видає особисте посилання (GET /calendar.ics?token=…, публічне й з обмеженням частоти), токен якого можна оновити — тоді старе посилання перестає працювати. Потік — справжній iCalendar: DTEND виключний, щоб жодна подія не втрачала останній день, половинні дні несуть свою частку в описі, заявка, що чекає рішення, позначена TENTATIVE, а стан схвалення передається в STATUS. Додатково адміністрація знаходить огляд року на вкладці відсутностей: схвалені дні за працівниками й місяцями",
|
|
31
|
+
"zh-cn": "新功能:自己的缺勤可在任意日历应用中订阅。POST /calendar/token 发放个人链接(GET /calendar.ics?token=…,公开且限流),其令牌可更新 —— 旧链接随之失效。该订阅是标准 iCalendar:DTEND 为排他值,任何事件都不会丢掉最后一天;半天会在摘要中带上份额;等待决定的申请标记为 TENTATIVE;审批状态通过 STATUS 传递。此外管理员在缺勤标签页中可看到年度总览:按员工与月份统计的已批准天数"
|
|
32
|
+
},
|
|
7
33
|
"0.4.4": {
|
|
8
34
|
"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
35
|
"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",
|
|
@@ -68,32 +94,6 @@
|
|
|
68
94
|
"pl": "nowość: administracja decyduje teraz o nieobecnościach. Wniosek pracownika czeka jako „złożony” i nic nie znaczy, dopóki ktoś go nie zatwierdzi lub nie odrzuci — nowa karta „Nieobecności” pokazuje otwarte wnioski z powodem decyzji, pozwala administracji wpisać daty dla pracownika (od razu zatwierdzone) i odpowiada „kto jest nieobecny”. Tylko zatwierdzone dni trafiają do czasu pracy i salda urlopu, a odrzucony wniosek zwraca pracownikowi swój powód (migracja 21)",
|
|
69
95
|
"uk": "новинка: адміністрація тепер вирішує щодо відсутностей. Заявка працівника чекає як «запитано» і нічого не значить, доки хтось не схвалить або не відхилить її — нова вкладка «Відсутності» показує відкриті заявки з причиною рішення, дає адміністрації внести дати для працівника (схвалено одразу) і відповідає «хто відсутній». Лише схвалені дні потрапляють до робочого часу й балансу відпустки, а відхилена заявка повертає працівникові свою причину (міграція 21)",
|
|
70
96
|
"zh-cn": "新功能:现在由管理方审批缺勤。员工的申请以「已申请」等待,在有人批准或拒绝之前不计入任何数值 —— 新的「缺勤」标签页显示待审批申请并可填写决定原因,允许管理方为员工登记日期(立即批准),并回答「谁缺勤」。只有已批准的日期才计入工作时间与休假余额,被拒绝的申请会把原因带回给员工(迁移 21)"
|
|
71
|
-
},
|
|
72
|
-
"0.3.4": {
|
|
73
|
-
"en": "feat: the absence types can be maintained in the administration now — code, name, paid, factor and the vacation deduction, as a row per type with the form in a dialog. The type that uses up the vacation allowance is marked in the lists and in the picker, so “F – Ferien” reads as vacation at one glance",
|
|
74
|
-
"de": "feat: die Abwesenheitsarten lassen sich jetzt in der Verwaltung pflegen — Kürzel, Bezeichnung, bezahlt, Faktor und Urlaubsabzug, als Zeile je Art mit dem Formular in einem Dialog. Die Art, die vom Urlaubskontingent abzieht, ist in den Listen und in der Auswahl gekennzeichnet, sodass „F – Ferien“ auf einen Blick als Urlaub lesbar ist",
|
|
75
|
-
"ru": "новое: видами отсутствия теперь можно управлять в администрировании — код, название, оплата, коэффициент и вычет отпуска, по строке на вид с формой в диалоге. Вид, расходующий отпускной лимит, отмечен в списках и в выборе, поэтому «F – Ferien» сразу читается как отпуск",
|
|
76
|
-
"pt": "novo: os tipos de ausência podem agora ser mantidos na administração — código, designação, pagamento, fator e dedução de férias, uma linha por tipo com o formulário numa caixa de diálogo. O tipo que consome o direito a férias está marcado nas listas e na escolha, por isso «F – Ferien» lê-se logo como férias",
|
|
77
|
-
"nl": "nieuw: de afwezigheidstypes kunnen nu in het beheer worden onderhouden — code, naam, betaald, factor en vakantieaftrek, één regel per type met het formulier in een dialoog. Het type dat het vakantietegoed opgebruikt, is gemarkeerd in de lijsten en in de keuzelijst, zodat „F – Ferien“ in één oogopslag als vakantie leesbaar is",
|
|
78
|
-
"fr": "nouveau : les types d'absence peuvent désormais être gérés dans l'administration — code, libellé, payé, facteur et déduction de vacances, une ligne par type avec le formulaire dans une boîte de dialogue. Le type qui consomme le droit aux vacances est marqué dans les listes et dans le choix, si bien que « F – Ferien » se lit comme vacances d'un coup d'œil",
|
|
79
|
-
"it": "novità: i tipi di assenza possono ora essere gestiti nell'amministrazione — codice, denominazione, pagato, fattore e deduzione ferie, una riga per tipo con il modulo in una finestra di dialogo. Il tipo che consuma il diritto alle ferie è contrassegnato negli elenchi e nella scelta, così «F – Ferien» si legge come ferie a colpo d'occhio",
|
|
80
|
-
"es": "novedad: los tipos de ausencia se pueden mantener ahora en la administración — código, denominación, pagado, factor y deducción de vacaciones, una fila por tipo con el formulario en un diálogo. El tipo que consume el derecho a vacaciones está marcado en las listas y en la elección, así que «F – Ferien» se lee como vacaciones de un vistazo",
|
|
81
|
-
"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
|
-
"uk": "новинка: видами відсутності тепер можна керувати в адмініструванні — код, назва, оплата, коефіцієнт і відрахування відпустки, по рядку на вид із формою в діалозі. Вид, що витрачає ліміт відпустки, позначено у списках і у виборі, тож «F – Ferien» одразу читається як відпустка",
|
|
83
|
-
"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,16 @@
|
|
|
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.yearHint": "Genehmigte Abwesenheiten erscheinen grün, beantragte grau. Kur Tage eines Feiertags sind fett.",
|
|
420
|
+
"admin.absences.yearLabel": "Jahr",
|
|
421
|
+
"absences.previousMonth": "Voriger Monat",
|
|
422
|
+
"absences.nextMonth": "Nächster Monat"
|
|
412
423
|
}
|
package/src-pwa/src/i18n/en.json
CHANGED
|
@@ -408,5 +408,16 @@
|
|
|
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.yearHint": "Approved absences are green, requested ones grey. Day numbers of a public holiday are bold.",
|
|
420
|
+
"admin.absences.yearLabel": "Year",
|
|
421
|
+
"absences.previousMonth": "Previous month",
|
|
422
|
+
"absences.nextMonth": "Next month"
|
|
412
423
|
}
|
package/src-pwa/src/i18n/es.json
CHANGED
|
@@ -408,5 +408,16 @@
|
|
|
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.yearHint": "Las ausencias aprobadas son verdes, las solicitadas grises. Los días festivos van en negrita.",
|
|
420
|
+
"admin.absences.yearLabel": "Año",
|
|
421
|
+
"absences.previousMonth": "Mes anterior",
|
|
422
|
+
"absences.nextMonth": "Mes siguiente"
|
|
412
423
|
}
|
package/src-pwa/src/i18n/fr.json
CHANGED
|
@@ -408,5 +408,16 @@
|
|
|
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.yearHint": "Les absences approuvées sont vertes, les demandées grises. Les jours fériés sont en gras.",
|
|
420
|
+
"admin.absences.yearLabel": "Année",
|
|
421
|
+
"absences.previousMonth": "Mois précédent",
|
|
422
|
+
"absences.nextMonth": "Mois suivant"
|
|
412
423
|
}
|
package/src-pwa/src/i18n/it.json
CHANGED
|
@@ -408,5 +408,16 @@
|
|
|
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.yearHint": "Le assenze approvate sono verdi, quelle richieste grigie. I giorni festivi sono in grassetto.",
|
|
420
|
+
"admin.absences.yearLabel": "Anno",
|
|
421
|
+
"absences.previousMonth": "Mese precedente",
|
|
422
|
+
"absences.nextMonth": "Mese successivo"
|
|
412
423
|
}
|
package/src-pwa/src/i18n/nl.json
CHANGED
|
@@ -408,5 +408,16 @@
|
|
|
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.yearHint": "Goedgekeurde afwezigheden zijn groen, aangevraagde grijs. Dagcijfers van een feestdag zijn vet.",
|
|
420
|
+
"admin.absences.yearLabel": "Jaar",
|
|
421
|
+
"absences.previousMonth": "Vorige maand",
|
|
422
|
+
"absences.nextMonth": "Volgende maand"
|
|
412
423
|
}
|
package/src-pwa/src/i18n/pl.json
CHANGED
|
@@ -408,5 +408,16 @@
|
|
|
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.yearHint": "Zatwierdzone nieobecności są zielone, złożone szare. Dni świąt są pogrubione.",
|
|
420
|
+
"admin.absences.yearLabel": "Rok",
|
|
421
|
+
"absences.previousMonth": "Poprzedni miesiąc",
|
|
422
|
+
"absences.nextMonth": "Następny miesiąc"
|
|
412
423
|
}
|
package/src-pwa/src/i18n/pt.json
CHANGED
|
@@ -408,5 +408,16 @@
|
|
|
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.yearHint": "Ausências aprovadas a verde, pedidas a cinzento. Os números de dias feriados estão a negrito.",
|
|
420
|
+
"admin.absences.yearLabel": "Ano",
|
|
421
|
+
"absences.previousMonth": "Mês anterior",
|
|
422
|
+
"absences.nextMonth": "Mês seguinte"
|
|
412
423
|
}
|
package/src-pwa/src/i18n/ru.json
CHANGED
|
@@ -408,5 +408,16 @@
|
|
|
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.yearHint": "Одобренные отсутствия зелёные, запрошенные серые. Числа праздничных дней выделены жирным.",
|
|
420
|
+
"admin.absences.yearLabel": "Год",
|
|
421
|
+
"absences.previousMonth": "Предыдущий месяц",
|
|
422
|
+
"absences.nextMonth": "Следующий месяц"
|
|
412
423
|
}
|
package/src-pwa/src/i18n/uk.json
CHANGED
|
@@ -408,5 +408,16 @@
|
|
|
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.yearHint": "Схвалені відсутності зелені, запитані сірі. Числа святкових днів виділені жирним.",
|
|
420
|
+
"admin.absences.yearLabel": "Рік",
|
|
421
|
+
"absences.previousMonth": "Попередній місяць",
|
|
422
|
+
"absences.nextMonth": "Наступний місяць"
|
|
412
423
|
}
|
|
@@ -408,5 +408,16 @@
|
|
|
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.yearHint": "已批准的缺勤显示为绿色,已申请的为灰色。节假日日期为粗体。",
|
|
420
|
+
"admin.absences.yearLabel": "年份",
|
|
421
|
+
"absences.previousMonth": "上个月",
|
|
422
|
+
"absences.nextMonth": "下个月"
|
|
412
423
|
}
|