iobroker.time-tracker 0.7.7 → 0.7.9

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/io-package.json CHANGED
@@ -1,9 +1,35 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "time-tracker",
4
- "version": "0.7.7",
4
+ "version": "0.7.9",
5
5
  "nogit": true,
6
6
  "news": {
7
+ "0.7.9": {
8
+ "en": "fix: “Feiertag hinzufügen” stayed grey as long as the day had to be typed as text — it comes from the date field of the browser now, and the label no longer names a format. A holiday entered without a region belongs to the country of the instance instead of always “DE”, the list shows the days of every region of the year, and a day of the next year takes the shown year along. “Abbrechen” closes the form of an absence while it is being changed as well.",
9
+ "de": "fix: „Feiertag hinzufügen“ blieb grau, solange der Tag als Text eingetippt werden musste – jetzt kommt er aus dem Datumsfeld des Browsers, und die Beschriftung nennt kein Format mehr. Ein ohne Region erfasster Feiertag gehört dem Land der Instanz statt immer „DE“, die Liste zeigt die Tage aller Regionen des Jahres, und ein Tag des nächsten Jahres holt das angezeigte Jahr mit. „Abbrechen“ schließt auch das Fenster einer Änderung.",
10
+ "ru": "исправление: «Feiertag hinzufügen» оставалась серой, пока день нужно было вводить текстом — теперь он приходит из поля даты браузера, и подпись больше не называет формат. Праздник, добавленный без региона, принадлежит стране экземпляра, а не всегда «DE», список показывает дни всех регионов года, а день следующего года тянет за собой показанный год. «Abbrechen» закрывает и окно изменения.",
11
+ "pt": "correção: «Feiertag hinzufügen» ficava cinzento enquanto o dia tinha de ser escrito como texto — agora vem do campo de data do navegador, e a etiqueta já não indica um formato. Um feriado registado sem região pertence ao país da instância em vez de sempre «DE», a lista mostra os dias de todas as regiões do ano, e um dia do ano seguinte traz consigo o ano apresentado. «Abbrechen» fecha também a janela de uma alteração.",
12
+ "nl": "fix: ‘Feiertag hinzufügen’ bleef grijs zolang de dag als tekst getypt moest worden — hij komt nu uit het datumveld van de browser, en het label noemt geen formaat meer. Een feestdag zonder regio hoort bij het land van de instantie in plaats van altijd ‘DE’, de lijst toont de dagen van alle regio's van het jaar, en een dag van het volgende jaar neemt het getoonde jaar mee. ‘Abbrechen’ sluit ook het venster van een wijziging.",
13
+ "fr": "correctif : « Feiertag hinzufügen » restait grisé tant que le jour devait être saisi comme texte — il vient désormais du champ de date du navigateur, et le libellé ne nomme plus de format. Un jour férié saisi sans région appartient au pays de l'instance au lieu de toujours « DE », la liste affiche les jours de toutes les régions de l'année, et un jour de l'année suivante entraîne l'année affichée. « Abbrechen » ferme aussi la fenêtre d'une modification.",
14
+ "it": "correzione: «Feiertag hinzufügen» restava grigio finché il giorno andava digitato come testo — ora arriva dal campo data del browser, e l'etichetta non indica più un formato. Una festività inserita senza regione appartiene al paese dell'istanza invece che sempre «DE», l'elenco mostra i giorni di tutte le regioni dell'anno, e un giorno dell'anno successivo porta con sé l'anno mostrato. «Abbrechen» chiude anche la finestra di una modifica.",
15
+ "es": "corrección: «Feiertag hinzufügen» seguía gris mientras el día hubiera que escribirlo como texto — ahora viene del campo de fecha del navegador, y la etiqueta ya no indica un formato. Un festivo introducido sin región pertenece al país de la instancia en lugar de siempre «DE», la lista muestra los días de todas las regiones del año, y un día del año siguiente trae consigo el año mostrado. «Abbrechen» también cierra la ventana de una modificación.",
16
+ "pl": "poprawka: „Feiertag hinzufügen” był wyszarzony, dopóki dzień trzeba było wpisywać jako tekst — teraz pochodzi z pola daty przeglądarki, a etykieta nie podaje już formatu. Święto dodane bez regionu należy do kraju instancji, a nie zawsze do „DE”, lista pokazuje dni wszystkich regionów roku, a dzień następnego roku pociąga za sobą wyświetlany rok. „Abbrechen” zamyka też okno zmiany.",
17
+ "uk": "виправлення: «Feiertag hinzufügen» залишалася сірою, доки день потрібно було вводити текстом — тепер він надходить із поля дати браузера, і підпис більше не називає формат. Свято, додане без регіону, належить країні екземпляра, а не завжди «DE», список показує дні всіх регіонів року, а день наступного року тягне за собою показаний рік. «Abbrechen» закриває й вікно зміни.",
18
+ "zh-cn": "修复:“Feiertag hinzufügen”在必须以文本输入日期时一直是灰色——现在日期来自浏览器的日期字段,标签也不再说明格式。未填写地区的节日属于实例所在国家,而不再固定为“DE”,列表会显示该年度所有地区的日期,下一年度的日期会一并切换显示的年份。“Abbrechen”也会关闭修改窗口。"
19
+ },
20
+ "0.7.8": {
21
+ "en": "new: an absence can be taken back — an employee withdraws an open request, and for an approved absence he asks for the cancellation (with a reason); the days keep counting until the administration accepts or declines it. The administration changes and deletes absences in the app, the rules name their newest run in their own row, and a hint beside “Save rules” says that the table is saved as a whole.",
22
+ "de": "neu: Eine Abwesenheit lässt sich zurücknehmen – ein offener Antrag wird zurückgezogen, und für eine genehmigte Abwesenheit wird das Storno beantragt (mit Grund); die Tage zählen weiter, bis die Verwaltung annimmt oder ablehnt. Die Verwaltung ändert und löscht Abwesenheiten in der App, die Regeln nennen ihre neueste Ausführung in einer eigenen Zeile, und ein Hinweis neben „Regeln speichern“ sagt, dass die Tabelle als Ganzes gespeichert wird.",
23
+ "ru": "new: отсутствие можно отозвать — открытая заявка отзывается, а для одобренного отсутствия запрашивается отмена (с причиной); дни продолжают учитываться, пока администрация не примет или не отклонит запрос. Администрация изменяет и удаляет отсутствия в приложении, правила показывают последний запуск в отдельной строке, а подсказка рядом с «Сохранить правила» напоминает, что таблица сохраняется целиком.",
24
+ "pt": "new: uma ausência pode ser retirada — um pedido aberto é retirado e, para uma ausência aprovada, pede-se o cancelamento (com motivo); os dias continuam a contar até a administração aceitar ou rejeitar. A administração altera e elimina ausências na aplicação, as regras mostram a sua última execução numa linha própria e uma indicação junto a «Guardar regras» diz que a tabela é guardada como um todo.",
25
+ "nl": "new: een afwezigheid kan worden ingetrokken — een openstaande aanvraag wordt ingetrokken en voor een goedgekeurde afwezigheid wordt de annulering aangevraagd (met reden); de dagen blijven tellen tot de administratie accepteert of afwijst. De administratie bewerkt en verwijdert afwezigheden in de app, de regels noemen hun laatste uitvoering in een eigen regel en een hint bij „Regels opslaan” zegt dat de tabel als geheel wordt opgeslagen.",
26
+ "fr": "new: une absence peut être retirée — une demande ouverte est retirée et, pour une absence approuvée, l'annulation est demandée (avec un motif) ; les jours continuent de compter jusqu'à ce que l'administration accepte ou refuse. L'administration modifie et supprime les absences dans l'application, les règles indiquent leur dernière exécution sur une ligne propre et une indication près de « Enregistrer les règles » rappelle que le tableau est enregistré en entier.",
27
+ "it": "new: un'assenza può essere ritirata — una richiesta aperta viene ritirata e per un'assenza approvata si chiede la cancellazione (con motivo); i giorni continuano a contare finché l'amministrazione accetta o rifiuta. L'amministrazione modifica ed elimina le assenze nell'app, le regole indicano la loro ultima esecuzione in una riga propria e un suggerimento accanto a «Salva regole» ricorda che la tabella viene salvata nel suo insieme.",
28
+ "es": "new: una ausencia se puede retirar — una solicitud abierta se retira y, para una ausencia aprobada, se pide la cancelación (con motivo); los días siguen contando hasta que la administración acepte o rechace. La administración edita y elimina ausencias en la aplicación, las reglas indican su última ejecución en una línea propia y un aviso junto a «Guardar reglas» recuerda que la tabla se guarda entera.",
29
+ "pl": "new: nieobecność można wycofać — otwarty wniosek jest wycofywany, a dla zatwierdzonej nieobecności zgłaszane jest anulowanie (z powodem); dni liczą się dalej, dopóki administracja nie przyjmie lub nie odrzuci. Administracja edytuje i usuwa nieobecności w aplikacji, reguły podają swoją ostatnią realizację w osobnym wierszu, a podpowiedź obok „Zapisz reguły” mówi, że tabela zapisuje się w całości.",
30
+ "uk": "new: відсутність можна відкликати — відкриту заявку відкликають, а для схваленої відсутності запитують скасування (із причиною); дні рахуються далі, доки адміністрація не прийме або не відхилить. Адміністрація змінює та видаляє відсутності в застосунку, правила показують останній запуск в окремому рядку, а підказка біля «Зберегти правила» нагадує, що таблиця зберігається повністю.",
31
+ "zh-cn": "new: 缺勤可以被撤回——开放的申请会被撤回,已批准的缺勤可以申请撤销(可填写原因);在管理部门接受或拒绝之前,这些天仍然计算。管理部门可以在应用中编辑和删除缺勤,规则会在单独一行显示最近一次执行,而“保存规则”旁的提示说明整张表会一起保存。"
32
+ },
7
33
  "0.7.7": {
8
34
  "en": "change: the rule dialog keeps “Aktiv” beside “Wiederholung”, and the validity dates (“Gültig ab” and “Gültig bis”) stand in a row of their own below it — the two date fields no longer wrap around the button.",
9
35
  "de": "change: Im Regel-Dialog bleibt „Aktiv“ neben „Wiederholung“, und die Gültigkeitsfelder „Gültig ab“ und „Gültig bis“ stehen in einer eigenen Zeile darunter – die beiden Datumsfelder umfließen den Knopf nicht mehr.",
@@ -68,32 +94,6 @@
68
94
  "pl": "nowość: kalendarz trafia do ioBroker. Adapter zapisuje `calendar.ics` w folderze swojej instancji — adapter `ical` czyta go jako plik lokalny, bez URL, tokenu i sieci — i publikuje link subskrypcji firmy w `calendar.feedUrl` oraz te same dni jako JSON w `calendar.absences` (`calendar.updatedAt` mówi, jak świeże są). Ten link otwiera nieobecności wszystkich pracowników, więc nic nie dzieje się samo: `commands.rotateCalendarToken` tworzy token i zastępuje go przy każdym kolejnym wywołaniu, co natychmiast unieważnia stary link. Dodatkowo usunięto kontrolę `requireInsideEditWindow`: była nieosiągalna od czasu „czas należy do administracji” (`edit_window_days` zasila tylko kolejkę offline).",
69
95
  "uk": "новинка: календар передається в ioBroker. Адаптер пише `calendar.ics` у папці свого екземпляра — адаптер `ical` читає його як локальний файл, без URL, токена й мережі — і публікує посилання підписки компанії в `calendar.feedUrl`, а ті самі дні як JSON — у `calendar.absences` (`calendar.updatedAt` показує, наскільки вони свіжі). Це посилання відкриває відсутності всіх працівників, тому нічого не відбувається саме собою: `commands.rotateCalendarToken` створює токен і замінює його за кожного наступного виклику, від чого старе посилання одразу перестає працювати. Крім того, прибрано перевірку `requireInsideEditWindow`: вона була недосяжною відколи «час належить адміністрації» (`edit_window_days` живить лише офлайн-чергу).",
70
96
  "zh-cn": "新增:日历接入 ioBroker。适配器把 `calendar.ics` 写入其实例文件夹 —— `ical` 适配器可将其作为本地文件读取,无需网址、令牌或网络 —— 并把公司的订阅链接发布在 `calendar.feedUrl`,同样的日期以 JSON 形式发布在 `calendar.absences`(`calendar.updatedAt` 显示其新鲜度)。该链接会打开所有员工的缺勤,因此不会自动生成:`commands.rotateCalendarToken` 创建令牌,并在之后每次调用时替换它,旧链接立即失效。此外移除了 `requireInsideEditWindow` 检查:自「时间属于管理方」以来它已无法触发(`edit_window_days` 现在只影响离线队列)。"
71
- },
72
- "0.7.2": {
73
- "en": "security: the administration cannot lock itself out any more. Deactivating or taking the admin role away from the last active administrator is refused (409 `last_administrator`), and the web app warns before it is tried on the own account — the switch of the own account explains why an account cannot deactivate itself. The PDF statement writes the absences left aligned on lines of their own, and the list of the absence types shows “visible for everybody” on a line of its own so that “reduces vacation” cannot push it out of the row any more.",
74
- "de": "Sicherheit: Die Verwaltung kann sich nicht mehr aussperren – das Deaktivieren und das Entziehen der Administrator-Rolle wird abgelehnt, wenn es den letzten aktiven Administrator treffen würde (409 `last_administrator`), und die App warnt, wenn man es beim eigenen Konto versucht – der Schalter des eigenen Kontos erklärt, warum ein Konto sich nicht selbst deaktivieren kann. Der PDF-Stundennachweis schreibt die Abwesenheiten linksbündig in eigenen Zeilen, und die Liste der Abwesenheitsarten zeigt „Für alle sichtbar“ in einer eigenen Zeile, damit „Zieht vom Urlaub ab“ sie nicht mehr aus der Zeile drängt.",
75
- "ru": "безопасность: администрация больше не может запереть себя — деактивация или снятие роли администратора отклоняется, если это последний активный администратор (409 `last_administrator`), а приложение предупреждает при попытке сделать это со своей учётной записью — переключатель своей учётной записи объясняет, почему она не может деактивировать себя сама. PDF-отчёт пишет отсутствия с выравниванием по левому краю отдельными строками, а список видов отсутствия показывает «видно всем» отдельной строкой, чтобы «уменьшает отпуск» больше не вытеснял её из строки.",
76
- "pt": "segurança: a administração já não se pode bloquear — desativar ou retirar o papel de administrador ao último administrador ativo é recusado (409 `last_administrator`) e a aplicação avisa antes de o tentar na própria conta — o interruptor da própria conta explica porque é que ela não se pode desativar a si mesma. O extrato em PDF escreve as ausências alinhadas à esquerda em linhas próprias, e a lista dos tipos de ausência mostra «visível para todos» numa linha própria, para que «reduz as férias» já não a empurre para fora da linha.",
77
- "nl": "veiligheid: de administratie kan zichzelf niet meer buitensluiten — het deactiveren of afnemen van de beheerdersrol wordt geweigerd als het de laatste actieve beheerder zou treffen (409 `last_administrator`), en de app waarschuwt voordat het op het eigen account wordt geprobeerd — de schakelaar van het eigen account legt uit waarom een account zichzelf niet kan deactiveren. De PDF-afrekening schrijft de afwezigheden links uitgelijnd in eigen regels, en de lijst met afwezigheidstypes toont „zichtbaar voor iedereen“ op een eigen regel, zodat „trekt vakantie af“ die niet meer uit de regel duwt.",
78
- "fr": "sécurité : l'administration ne peut plus se verrouiller — la désactivation ou le retrait du rôle d'administrateur est refusé s'il touche le dernier administrateur actif (409 `last_administrator`), et l'application avertit avant de l'essayer sur le propre compte — l'interrupteur du propre compte explique pourquoi un compte ne peut pas se désactiver lui-même. Le relevé PDF écrit les absences alignées à gauche sur des lignes propres, et la liste des types d'absence affiche « visible pour tout le monde » sur une ligne à part, pour que « déduit des vacances » ne la repousse plus hors de la ligne.",
79
- "it": "sicurezza: l'amministrazione non può più chiudersi fuori — la disattivazione o la rimozione del ruolo di amministratore viene rifiutata se riguarda l'ultimo amministratore attivo (409 `last_administrator`) e l'app avvisa prima di provarla sul proprio account — l'interruttore del proprio account spiega perché un account non può disattivarsi da solo. Il rendiconto PDF scrive le assenze allineate a sinistra su righe proprie, e l'elenco dei tipi di assenza mostra «visibile a tutti» su una riga propria, così «riduce le ferie» non la spinge più fuori riga.",
80
- "es": "seguridad: la administración ya no puede bloquearse a sí misma — desactivar o retirar el rol de administrador se rechaza si afecta al último administrador activo (409 `last_administrator`), y la aplicación avisa antes de intentarlo en la cuenta propia — el interruptor de la cuenta propia explica por qué una cuenta no puede desactivarse a sí misma. El extracto en PDF escribe las ausencias alineadas a la izquierda en líneas propias, y la lista de tipos de ausencia muestra «visible para todos» en una línea propia, para que «descuenta vacaciones» no la empuje fuera de la línea.",
81
- "pl": "bezpieczeństwo: administracja nie może już sama się zablokować — dezaktywacja lub odebranie roli administratora jest odrzucane, jeśli dotyczy ostatniego aktywnego administratora (409 `last_administrator`), a aplikacja ostrzega przed próbą wykonania tego na własnym koncie — przełącznik własnego konta wyjaśnia, dlaczego nie może się ono samo dezaktywować. Zestawienie PDF zapisuje nieobecności wyrównane do lewej w osobnych wierszach, a lista typów nieobecności pokazuje „widoczne dla wszystkich” w osobnym wierszu, aby „odejmuje urlop” nie wypychało jej z wiersza.",
82
- "uk": "безпека: адміністрація більше не може заблокувати себе — деактивацію або позбавлення ролі адміністратора відхилено, якщо це останній активний адміністратор (409 `last_administrator`), а застосунок попереджає перед спробою зробити це з власним обліковим записом — перемикач власного облікового запису пояснює, чому він не може деактивувати себе сам. PDF-звіт пише відсутності з вирівнюванням ліворуч окремими рядками, а список видів відсутності показує «видно всім» окремим рядком, щоб «зменшує відпустку» не витісняло його з рядка.",
83
- "zh-cn": "安全:管理方不会再把自己锁在外面 —— 若涉及最后一位在职管理员,停用或移除管理员角色会被拒绝(409 `last_administrator`),而应用在自己的账户上尝试时也会先提示 —— 自己的账户开关会说明为什么账户无法停用自己。PDF 报表将缺勤改为左对齐、独立成行;缺勤类型列表把「所有人可见」单独放在一行,因此「扣减假期」不会再把它挤出该行。"
84
- },
85
- "0.7.1": {
86
- "en": "fix and change: the day dialog in the month view of an employee shows and changes his punches - before it acted on the own account, so a punch added there went to the wrong person. Times belong to the administration: an employee no longer changes own times but leaves a note for the day (forgot to clock out), which the office books and marks as handled. The administrator account belongs to nobody and does not punch any more. The list of the absence types writes “visible for everybody” at the types the employees may really pick.",
87
- "de": "Korrektur und Änderung: Der Tages-Dialog im Monat eines Mitarbeiters zeigt und ändert dessen Stempel – vorher arbeitete er auf dem eigenen Konto, ein dort ergänzter Stempel landete bei der falschen Person. Zeiten gehören der Verwaltung: Ein Mitarbeiter ändert keine eigenen Zeiten mehr, sondern hinterlässt eine Notiz zum Tag („An-/Ausstempeln vergessen“), die die Verwaltung bucht und als erledigt abhakt. Das Administrator-Konto gehört niemandem und stempelt nicht mehr. Die Liste der Abwesenheitsarten schreibt „Für alle sichtbar“ nur noch an den Arten, die die Mitarbeiter wirklich wählen dürfen.",
88
- "ru": "исправление и изменение: диалог дня в месяце сотрудника показывает и изменяет его отметки — раньше он работал с собственной учётной записью, и добавленная там отметка попадала не к тому человеку. Время принадлежит администрации: сотрудник больше не меняет собственные времена, а оставляет заметку к дню («забыл отметиться»), которую администрация оформляет и отмечает как обработанную. Учётная запись администратора не принадлежит никому и больше не отмечается. Список видов отсутствия пишет «видно всем» только у тех видов, которые сотрудники действительно могут выбрать.",
89
- "pt": "correção e alteração: o diálogo do dia no mês de um funcionário mostra e altera os registos dele — antes atuava na própria conta, pelo que um registo aí acrescentado ia para a pessoa errada. Os tempos pertencem à administração: o funcionário já não altera os seus próprios tempos, mas deixa uma nota para o dia («esqueci-me de registar»), que a administração regista e marca como resolvida. A conta de administrador não pertence a ninguém e já não regista. A lista dos tipos de ausência escreve «visível para todos» apenas nos tipos que os funcionários podem realmente escolher.",
90
- "nl": "correctie en wijziging: het dagvenster in de maand van een medewerker toont en wijzigt zijn stempels — eerder werkte het op het eigen account, waardoor een daar toegevoegde stempel bij de verkeerde persoon terechtkwam. Tijden zijn van de administratie: een medewerker wijzigt zijn eigen tijden niet meer, maar laat een notitie bij de dag achter („vergeten te stempelen“), die de administratie boekt en als afgehandeld markeert. Het beheerdersaccount hoort bij niemand en stempelt niet meer. De lijst met afwezigheidstypes vermeldt „zichtbaar voor iedereen“ alleen bij de types die medewerkers echt kunnen kiezen.",
91
- "fr": "correction et changement : la fenêtre du jour dans le mois d'un employé affiche et modifie ses pointages — auparavant elle agissait sur le propre compte, si bien qu'un pointage ajouté là allait à la mauvaise personne. Les horaires appartiennent à l'administration : un employé ne modifie plus ses propres horaires mais laisse une note du jour (« oubli de pointage »), que l'administration saisit et marque comme traitée. Le compte administrateur n'appartient à personne et ne pointe plus. La liste des types d'absence n'affiche « visible pour tout le monde » que pour les types que les employés peuvent réellement choisir.",
92
- "it": "correzione e modifica: la finestra del giorno nel mese di un dipendente mostra e modifica le sue timbrature — prima agiva sul proprio account, quindi una timbratura aggiunta lì finiva alla persona sbagliata. Gli orari appartengono all'amministrazione: un dipendente non modifica più i propri orari ma lascia una nota del giorno («dimenticato di timbrare»), che l'amministrazione registra e segna come gestita. L'account amministratore non appartiene a nessuno e non timbra più. L'elenco dei tipi di assenza scrive «visibile a tutti» solo per i tipi che i dipendenti possono davvero scegliere.",
93
- "es": "corrección y cambio: el diálogo del día en el mes de un empleado muestra y modifica sus fichajes — antes actuaba sobre la propia cuenta, así que un fichaje añadido allí iba a la persona equivocada. Los horarios pertenecen a la administración: el empleado ya no cambia sus propios horarios, sino que deja una nota del día («olvidé fichar»), que la administración registra y marca como resuelta. La cuenta de administrador no pertenece a nadie y ya no ficha. La lista de los tipos de ausencia escribe «visible para todos» solo en los tipos que los empleados pueden elegir de verdad.",
94
- "pl": "poprawka i zmiana: okno dnia w miesiącu pracownika pokazuje i zmienia jego stemple — wcześniej działało na własnym koncie, więc dodany tam stempel trafiał do niewłaściwej osoby. Czasy należą do administracji: pracownik nie zmienia już własnych czasów, lecz zostawia notatkę do dnia („zapomniałem się zastemplować”), którą administracja księguje i oznacza jako załatwioną. Konto administratora nie należy do nikogo i nie stempluje. Lista rodzajów nieobecności zapisuje „widoczne dla wszystkich” tylko przy tych rodzajach, które pracownicy naprawdę mogą wybrać.",
95
- "uk": "виправлення та зміна: вікно дня в місяці працівника показує та змінює його відмітки — раніше воно працювало з власним обліковим записом, тож додана там відмітка потрапляла не тій людині. Час належить адміністрації: працівник більше не змінює власний час, а залишає нотатку до дня («забув відмітитися»), яку адміністрація проводить і позначає як опрацьовану. Обліковий запис адміністратора нікому не належить і більше не відмічається. Список видів відсутності пише «видно всім» лише для тих видів, які працівники справді можуть обрати.",
96
- "zh-cn": "修复与变更:员工月份中的当日窗口现在显示并修改该员工的打卡记录——此前它作用于自己的账户,因此在那里补的打卡会记到错误的人名下。时间归管理层负责:员工不再修改自己的时间,而是为当天留下备注(“忘记打卡”),由管理层入账并标记为已处理。管理员账户不属于任何人,不再打卡。缺勤类型列表只在员工真正可以选择的类型上写出「所有人可见」。"
97
97
  }
98
98
  },
99
99
  "titleLang": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.time-tracker",
3
- "version": "0.7.7",
3
+ "version": "0.7.9",
4
4
  "description": "Time tracking (clock-in/out) for ioBroker with web app, badge terminal and reports",
5
5
  "author": {
6
6
  "name": "Alex",
@@ -98,6 +98,14 @@
98
98
  "absences.create": "Abwesenheit beantragen",
99
99
  "absences.created": "Abwesenheit beantragt.",
100
100
  "absences.empty": "Keine Abwesenheiten in diesem Jahr.",
101
+ "absences.withdraw": "Zurückziehen",
102
+ "absences.withdrawTitle": "Antrag zurückziehen",
103
+ "absences.cancelAsk": "Stornierung beantragen",
104
+ "absences.cancelTitle": "Stornierung beantragen",
105
+ "absences.cancelNote": "Grund (optional)",
106
+ "absences.cancelPending": "Stornierung beantragt",
107
+ "absences.cancelWithdraw": "Storno zurückziehen",
108
+ "absences.cancelWithdrawTitle": "Storno zurückziehen",
101
109
  "sync.title": "Abgleich",
102
110
  "sync.pending": "{{count}} Stempel wartend",
103
111
  "sync.none": "Nichts zu senden.",
@@ -222,7 +230,7 @@
222
230
  "admin.settings.setting.timezone": "Zeitzone",
223
231
  "admin.settings.saved": "Einstellungen gespeichert.",
224
232
  "admin.holidays": "Feiertage",
225
- "admin.holiday.date": "Datum (JJJJ-MM-TT)",
233
+ "admin.holiday.date": "Datum",
226
234
  "admin.holiday.name": "Bezeichnung",
227
235
  "holiday.newYear": "Neujahr",
228
236
  "holiday.epiphany": "Heilige Drei Könige",
@@ -365,6 +373,7 @@
365
373
  "admin.automation.add": "Regel hinzufügen",
366
374
  "admin.automation.empty": "Noch keine Regel angelegt.",
367
375
  "admin.automation.runs": "Letzte Ausführungen",
376
+ "admin.automation.neverRun": "noch nie ausgeführt",
368
377
  "admin.automation.weekdays": "Wochentage",
369
378
  "admin.automation.repeat": "Wiederholung",
370
379
  "admin.automation.repeatDay": "einmal pro Tag",
@@ -381,6 +390,7 @@
381
390
  "admin.user.workedTime": "Arbeitszeit auf der Anwesenheitskarte",
382
391
  "admin.user.workedTimeHint": "Zeigt auf der Anwesenheitskarte die heute geleistete Arbeitszeit (z. B. 1:23). Ohne Stempel steht dort 0:00; ohne diese Freigabe bleibt die Karte bei Anwesend/Abwesend und dem Namen.",
383
392
  "admin.automation.save": "Regeln speichern",
393
+ "admin.automation.saveHint": "Änderungen an den Regeln werden erst mit „Regeln speichern“ übernommen.",
384
394
  "admin.automation.edit": "Bearbeiten",
385
395
  "admin.automation.editTitle": "Regel bearbeiten",
386
396
  "admin.automation.newTitle": "Neue Regel",
@@ -420,6 +430,19 @@
420
430
  "admin.absences.all": "Alle Abwesenheiten",
421
431
  "admin.absences.allEmpty": "Keine Abwesenheiten im Zeitraum.",
422
432
  "admin.absences.portion": "Anteil: {{portion}}",
433
+ "admin.absences.edit": "Ändern",
434
+ "admin.absences.editTitle": "Abwesenheit ändern",
435
+ "admin.absences.employeeHint": "Der Mitarbeiter gehört zur Abwesenheit und lässt sich nachträglich nicht ändern.",
436
+ "admin.absences.remove": "Löschen",
437
+ "admin.absences.removeTitle": "Abwesenheit löschen",
438
+ "admin.absences.removeConfirm": "Abwesenheit von {{name}} löschen?",
439
+ "admin.absences.cancelRequests": "Storno-Anträge",
440
+ "admin.absences.cancelRequestsEmpty": "Kein Storno offen.",
441
+ "admin.absences.cancelAccept": "Storno annehmen",
442
+ "admin.absences.cancelAcceptTitle": "Storno annehmen",
443
+ "admin.absences.cancelAcceptHint": "Die Abwesenheit wird gelöscht — die Tage zählen wieder als Arbeitstage.",
444
+ "admin.absences.cancelDecline": "Storno ablehnen",
445
+ "admin.absences.cancelDeclineTitle": "Storno ablehnen",
423
446
  "absences.state.requested": "beantragt",
424
447
  "absences.state.approved": "genehmigt",
425
448
  "absences.state.rejected": "abgelehnt",
@@ -98,6 +98,14 @@
98
98
  "absences.create": "Request absence",
99
99
  "absences.created": "Absence requested.",
100
100
  "absences.empty": "No absences in this year.",
101
+ "absences.withdraw": "Withdraw",
102
+ "absences.withdrawTitle": "Withdraw the request",
103
+ "absences.cancelAsk": "Ask for cancellation",
104
+ "absences.cancelTitle": "Ask for cancellation",
105
+ "absences.cancelNote": "Reason (optional)",
106
+ "absences.cancelPending": "cancellation requested",
107
+ "absences.cancelWithdraw": "Withdraw the cancellation",
108
+ "absences.cancelWithdrawTitle": "Withdraw the cancellation request",
101
109
  "sync.title": "Synchronisation",
102
110
  "sync.pending": "{{count}} punch(es) waiting",
103
111
  "sync.none": "Nothing to send.",
@@ -222,7 +230,7 @@
222
230
  "admin.settings.setting.timezone": "Time zone",
223
231
  "admin.settings.saved": "Settings saved.",
224
232
  "admin.holidays": "Public holidays",
225
- "admin.holiday.date": "Date (YYYY-MM-DD)",
233
+ "admin.holiday.date": "Date",
226
234
  "admin.holiday.name": "Name",
227
235
  "holiday.newYear": "New Year",
228
236
  "holiday.epiphany": "Epiphany",
@@ -365,6 +373,7 @@
365
373
  "admin.automation.add": "Add rule",
366
374
  "admin.automation.empty": "No rule yet.",
367
375
  "admin.automation.runs": "Last runs",
376
+ "admin.automation.neverRun": "never ran",
368
377
  "admin.automation.weekdays": "Days of the week",
369
378
  "admin.automation.repeat": "Repeat",
370
379
  "admin.automation.repeatDay": "once a day",
@@ -381,6 +390,7 @@
381
390
  "admin.user.workedTime": "Working time on the presence card",
382
391
  "admin.user.workedTimeHint": "Shows the time worked today on the presence card (for example 1:23). Without a punch it reads 0:00; without this permission the card keeps present/absent and the name only.",
383
392
  "admin.automation.save": "Save rules",
393
+ "admin.automation.saveHint": "Changes to the rules are kept only by “Save rules”.",
384
394
  "admin.automation.edit": "Edit",
385
395
  "admin.automation.editTitle": "Edit rule",
386
396
  "admin.automation.newTitle": "New rule",
@@ -420,6 +430,19 @@
420
430
  "admin.absences.all": "All absences",
421
431
  "admin.absences.allEmpty": "No absences in that period.",
422
432
  "admin.absences.portion": "Portion: {{portion}}",
433
+ "admin.absences.edit": "Change",
434
+ "admin.absences.editTitle": "Change the absence",
435
+ "admin.absences.employeeHint": "The employee belongs to the absence and cannot be changed afterwards.",
436
+ "admin.absences.remove": "Delete",
437
+ "admin.absences.removeTitle": "Delete the absence",
438
+ "admin.absences.removeConfirm": "Delete the absence of {{name}}?",
439
+ "admin.absences.cancelRequests": "Cancellation requests",
440
+ "admin.absences.cancelRequestsEmpty": "No cancellation is waiting.",
441
+ "admin.absences.cancelAccept": "Accept cancellation",
442
+ "admin.absences.cancelAcceptTitle": "Accept the cancellation",
443
+ "admin.absences.cancelAcceptHint": "The absence is deleted — the days count as working days again.",
444
+ "admin.absences.cancelDecline": "Decline cancellation",
445
+ "admin.absences.cancelDeclineTitle": "Decline the cancellation",
423
446
  "absences.state.requested": "requested",
424
447
  "absences.state.approved": "approved",
425
448
  "absences.state.rejected": "rejected",
@@ -2,6 +2,14 @@
2
2
  "absences.create": "Solicitar ausencia",
3
3
  "absences.created": "Ausencia solicitada.",
4
4
  "absences.empty": "No hay ausencias en este año.",
5
+ "absences.withdraw": "Retirar",
6
+ "absences.withdrawTitle": "Retirar la solicitud",
7
+ "absences.cancelAsk": "Pedir la cancelación",
8
+ "absences.cancelTitle": "Pedir la cancelación",
9
+ "absences.cancelNote": "Motivo (opcional)",
10
+ "absences.cancelPending": "cancelación solicitada",
11
+ "absences.cancelWithdraw": "Retirar la cancelación",
12
+ "absences.cancelWithdrawTitle": "Retirar la solicitud de cancelación",
5
13
  "absences.from": "De",
6
14
  "absences.portion": "Parte del día",
7
15
  "absences.status": "Estado",
@@ -222,7 +230,7 @@
222
230
  "admin.settings.setting.timezone": "Zona horaria",
223
231
  "admin.settings.saved": "Ajustes guardados.",
224
232
  "admin.holidays": "Días festivos",
225
- "admin.holiday.date": "Fecha (AAAA-MM-DD)",
233
+ "admin.holiday.date": "Fecha",
226
234
  "admin.holiday.name": "Nombre",
227
235
  "holiday.newYear": "Año Nuevo",
228
236
  "holiday.epiphany": "Epifanía",
@@ -365,6 +373,7 @@
365
373
  "admin.automation.add": "Añadir regla",
366
374
  "admin.automation.empty": "Todavía no hay reglas.",
367
375
  "admin.automation.runs": "Últimas ejecuciones",
376
+ "admin.automation.neverRun": "nunca ejecutada",
368
377
  "admin.automation.weekdays": "Días de la semana",
369
378
  "admin.automation.repeat": "Repetición",
370
379
  "admin.automation.repeatDay": "una vez al día",
@@ -381,6 +390,7 @@
381
390
  "admin.user.workedTime": "Tiempo de trabajo en la tarjeta de presencia",
382
391
  "admin.user.workedTimeHint": "Muestra en la tarjeta de presencia el tiempo trabajado hoy (por ejemplo, 1:23). Sin fichaje pone 0:00; sin esta autorización la tarjeta se queda en presente/ausente y el nombre.",
383
392
  "admin.automation.save": "Guardar reglas",
393
+ "admin.automation.saveHint": "Los cambios en las reglas solo se guardan con «Guardar reglas».",
384
394
  "admin.automation.edit": "Editar",
385
395
  "admin.automation.editTitle": "Editar regla",
386
396
  "admin.automation.newTitle": "Nueva regla",
@@ -420,6 +430,19 @@
420
430
  "admin.absences.all": "Todas las ausencias",
421
431
  "admin.absences.allEmpty": "No hay ausencias en ese periodo.",
422
432
  "admin.absences.portion": "Parte: {{portion}}",
433
+ "admin.absences.edit": "Editar",
434
+ "admin.absences.editTitle": "Editar la ausencia",
435
+ "admin.absences.employeeHint": "El empleado pertenece a la ausencia y no se puede cambiar después.",
436
+ "admin.absences.remove": "Eliminar",
437
+ "admin.absences.removeTitle": "Eliminar la ausencia",
438
+ "admin.absences.removeConfirm": "¿Eliminar la ausencia de {{name}}?",
439
+ "admin.absences.cancelRequests": "Solicitudes de cancelación",
440
+ "admin.absences.cancelRequestsEmpty": "No hay ninguna cancelación pendiente.",
441
+ "admin.absences.cancelAccept": "Aceptar la cancelación",
442
+ "admin.absences.cancelAcceptTitle": "Aceptar la cancelación",
443
+ "admin.absences.cancelAcceptHint": "La ausencia se elimina: los días vuelven a contar como días laborables.",
444
+ "admin.absences.cancelDecline": "Rechazar la cancelación",
445
+ "admin.absences.cancelDeclineTitle": "Rechazar la cancelación",
423
446
  "absences.state.requested": "solicitado",
424
447
  "absences.state.approved": "aprobado",
425
448
  "absences.state.rejected": "rechazado",
@@ -2,6 +2,14 @@
2
2
  "absences.create": "Demander une absence",
3
3
  "absences.created": "Absence demandée.",
4
4
  "absences.empty": "Aucune absence cette année.",
5
+ "absences.withdraw": "Retirer",
6
+ "absences.withdrawTitle": "Retirer la demande",
7
+ "absences.cancelAsk": "Demander l'annulation",
8
+ "absences.cancelTitle": "Demander l'annulation",
9
+ "absences.cancelNote": "Motif (facultatif)",
10
+ "absences.cancelPending": "annulation demandée",
11
+ "absences.cancelWithdraw": "Retirer l'annulation",
12
+ "absences.cancelWithdrawTitle": "Retirer la demande d'annulation",
5
13
  "absences.from": "Depuis",
6
14
  "absences.portion": "Part du jour",
7
15
  "absences.status": "Statut",
@@ -222,7 +230,7 @@
222
230
  "admin.settings.setting.timezone": "Fuseau horaire",
223
231
  "admin.settings.saved": "Paramètres enregistrés.",
224
232
  "admin.holidays": "Jours fériés",
225
- "admin.holiday.date": "Date (AAAA-MM-JJ)",
233
+ "admin.holiday.date": "Date",
226
234
  "admin.holiday.name": "Nom",
227
235
  "holiday.newYear": "Nouvel An",
228
236
  "holiday.epiphany": "Épiphanie",
@@ -365,6 +373,7 @@
365
373
  "admin.automation.add": "Ajouter une règle",
366
374
  "admin.automation.empty": "Aucune règle pour l'instant.",
367
375
  "admin.automation.runs": "Dernières exécutions",
376
+ "admin.automation.neverRun": "jamais exécutée",
368
377
  "admin.automation.weekdays": "Jours de la semaine",
369
378
  "admin.automation.repeat": "Répétition",
370
379
  "admin.automation.repeatDay": "une fois par jour",
@@ -381,6 +390,7 @@
381
390
  "admin.user.workedTime": "Temps de travail sur la carte de présence",
382
391
  "admin.user.workedTimeHint": "Affiche sur la carte de présence le temps travaillé aujourd'hui (par exemple 1:23). Sans pointage, il y a 0:00 ; sans cette autorisation, la carte reste sur présent/absent et le nom.",
383
392
  "admin.automation.save": "Enregistrer les règles",
393
+ "admin.automation.saveHint": "Les modifications des règles ne sont reprises qu'avec « Enregistrer les règles ».",
384
394
  "admin.automation.edit": "Modifier",
385
395
  "admin.automation.editTitle": "Modifier la règle",
386
396
  "admin.automation.newTitle": "Nouvelle règle",
@@ -420,6 +430,19 @@
420
430
  "admin.absences.all": "Toutes les absences",
421
431
  "admin.absences.allEmpty": "Aucune absence sur cette période.",
422
432
  "admin.absences.portion": "Part : {{portion}}",
433
+ "admin.absences.edit": "Modifier",
434
+ "admin.absences.editTitle": "Modifier l'absence",
435
+ "admin.absences.employeeHint": "L'employé fait partie de l'absence et ne peut plus être modifié par la suite.",
436
+ "admin.absences.remove": "Supprimer",
437
+ "admin.absences.removeTitle": "Supprimer l'absence",
438
+ "admin.absences.removeConfirm": "Supprimer l'absence de {{name}} ?",
439
+ "admin.absences.cancelRequests": "Demandes d'annulation",
440
+ "admin.absences.cancelRequestsEmpty": "Aucune annulation en attente.",
441
+ "admin.absences.cancelAccept": "Accepter l'annulation",
442
+ "admin.absences.cancelAcceptTitle": "Accepter l'annulation",
443
+ "admin.absences.cancelAcceptHint": "L'absence est supprimée — les jours comptent à nouveau comme jours travaillés.",
444
+ "admin.absences.cancelDecline": "Refuser l'annulation",
445
+ "admin.absences.cancelDeclineTitle": "Refuser l'annulation",
423
446
  "absences.state.requested": "demandé",
424
447
  "absences.state.approved": "approuvé",
425
448
  "absences.state.rejected": "refusé",
@@ -2,6 +2,14 @@
2
2
  "absences.create": "Richiesta assenza",
3
3
  "absences.created": "Assenza richiesta.",
4
4
  "absences.empty": "Nessuna assenza quest'anno.",
5
+ "absences.withdraw": "Ritira",
6
+ "absences.withdrawTitle": "Ritira la richiesta",
7
+ "absences.cancelAsk": "Chiedi la cancellazione",
8
+ "absences.cancelTitle": "Chiedi la cancellazione",
9
+ "absences.cancelNote": "Motivo (facoltativo)",
10
+ "absences.cancelPending": "cancellazione richiesta",
11
+ "absences.cancelWithdraw": "Ritira la cancellazione",
12
+ "absences.cancelWithdrawTitle": "Ritira la richiesta di cancellazione",
5
13
  "absences.from": "Da",
6
14
  "absences.portion": "Quota del giorno",
7
15
  "absences.status": "Stato",
@@ -222,7 +230,7 @@
222
230
  "admin.settings.setting.timezone": "Fuso orario",
223
231
  "admin.settings.saved": "Impostazioni salvate.",
224
232
  "admin.holidays": "Giorni festivi",
225
- "admin.holiday.date": "Data (AAAA-MM-GG)",
233
+ "admin.holiday.date": "Data",
226
234
  "admin.holiday.name": "Nome",
227
235
  "holiday.newYear": "Capodanno",
228
236
  "holiday.epiphany": "Epifania",
@@ -365,6 +373,7 @@
365
373
  "admin.automation.add": "Aggiungi regola",
366
374
  "admin.automation.empty": "Nessuna regola per ora.",
367
375
  "admin.automation.runs": "Ultime esecuzioni",
376
+ "admin.automation.neverRun": "mai eseguita",
368
377
  "admin.automation.weekdays": "Giorni della settimana",
369
378
  "admin.automation.repeat": "Ripetizione",
370
379
  "admin.automation.repeatDay": "una volta al giorno",
@@ -381,6 +390,7 @@
381
390
  "admin.user.workedTime": "Tempo di lavoro sulla scheda di presenza",
382
391
  "admin.user.workedTimeHint": "Mostra sulla scheda di presenza il tempo lavorato oggi (per esempio 1:23). Senza timbratura c'è 0:00; senza questa autorizzazione la scheda resta con presente/assente e il nome.",
383
392
  "admin.automation.save": "Salva regole",
393
+ "admin.automation.saveHint": "Le modifiche alle regole si salvano solo con «Salva regole».",
384
394
  "admin.automation.edit": "Modifica",
385
395
  "admin.automation.editTitle": "Modifica regola",
386
396
  "admin.automation.newTitle": "Nuova regola",
@@ -420,6 +430,19 @@
420
430
  "admin.absences.all": "Tutte le assenze",
421
431
  "admin.absences.allEmpty": "Nessuna assenza nel periodo.",
422
432
  "admin.absences.portion": "Quota: {{portion}}",
433
+ "admin.absences.edit": "Modifica",
434
+ "admin.absences.editTitle": "Modifica l'assenza",
435
+ "admin.absences.employeeHint": "Il dipendente appartiene all'assenza e non può essere cambiato in seguito.",
436
+ "admin.absences.remove": "Elimina",
437
+ "admin.absences.removeTitle": "Elimina l'assenza",
438
+ "admin.absences.removeConfirm": "Eliminare l'assenza di {{name}}?",
439
+ "admin.absences.cancelRequests": "Richieste di cancellazione",
440
+ "admin.absences.cancelRequestsEmpty": "Nessuna cancellazione in attesa.",
441
+ "admin.absences.cancelAccept": "Accetta la cancellazione",
442
+ "admin.absences.cancelAcceptTitle": "Accetta la cancellazione",
443
+ "admin.absences.cancelAcceptHint": "L'assenza viene eliminata: i giorni contano di nuovo come giorni lavorativi.",
444
+ "admin.absences.cancelDecline": "Rifiuta la cancellazione",
445
+ "admin.absences.cancelDeclineTitle": "Rifiuta la cancellazione",
423
446
  "absences.state.requested": "richiesto",
424
447
  "absences.state.approved": "approvato",
425
448
  "absences.state.rejected": "rifiutato",
@@ -2,6 +2,14 @@
2
2
  "absences.create": "Afwezigheid aanvragen",
3
3
  "absences.created": "Afwezigheid aangevraagd.",
4
4
  "absences.empty": "Geen afwezigheden dit jaar.",
5
+ "absences.withdraw": "Intrekken",
6
+ "absences.withdrawTitle": "De aanvraag intrekken",
7
+ "absences.cancelAsk": "Annulering aanvragen",
8
+ "absences.cancelTitle": "Annulering aanvragen",
9
+ "absences.cancelNote": "Reden (optioneel)",
10
+ "absences.cancelPending": "annulering aangevraagd",
11
+ "absences.cancelWithdraw": "Annulering intrekken",
12
+ "absences.cancelWithdrawTitle": "De annulering intrekken",
5
13
  "absences.from": "Van",
6
14
  "absences.portion": "Deel van de dag",
7
15
  "absences.status": "Status",
@@ -222,7 +230,7 @@
222
230
  "admin.settings.setting.timezone": "Tijdzone",
223
231
  "admin.settings.saved": "Instellingen opgeslagen.",
224
232
  "admin.holidays": "Feestdagen",
225
- "admin.holiday.date": "Datum (JJJJ-MM-DD)",
233
+ "admin.holiday.date": "Datum",
226
234
  "admin.holiday.name": "Naam",
227
235
  "holiday.newYear": "Nieuwjaar",
228
236
  "holiday.epiphany": "Driekoningen",
@@ -365,6 +373,7 @@
365
373
  "admin.automation.add": "Regel toevoegen",
366
374
  "admin.automation.empty": "Nog geen regels.",
367
375
  "admin.automation.runs": "Laatste uitvoeringen",
376
+ "admin.automation.neverRun": "nooit uitgevoerd",
368
377
  "admin.automation.weekdays": "Dagen van de week",
369
378
  "admin.automation.repeat": "Herhaling",
370
379
  "admin.automation.repeatDay": "één keer per dag",
@@ -381,6 +390,7 @@
381
390
  "admin.user.workedTime": "Werktijd op de aanwezigheidskaart",
382
391
  "admin.user.workedTimeHint": "Toont op de aanwezigheidskaart de vandaag gewerkte tijd (bijvoorbeeld 1:23). Zonder stempeling staat er 0:00; zonder deze vrijgave blijft de kaart bij aanwezig/afwezig en de naam.",
383
392
  "admin.automation.save": "Regels opslaan",
393
+ "admin.automation.saveHint": "Wijzigingen aan de regels worden pas met „Regels opslaan” bewaard.",
384
394
  "admin.automation.edit": "Bewerken",
385
395
  "admin.automation.editTitle": "Regel bewerken",
386
396
  "admin.automation.newTitle": "Nieuwe regel",
@@ -420,6 +430,19 @@
420
430
  "admin.absences.all": "Alle afwezigheden",
421
431
  "admin.absences.allEmpty": "Geen afwezigheden in die periode.",
422
432
  "admin.absences.portion": "Deel: {{portion}}",
433
+ "admin.absences.edit": "Bewerken",
434
+ "admin.absences.editTitle": "De afwezigheid bewerken",
435
+ "admin.absences.employeeHint": "De medewerker hoort bij de afwezigheid en kan later niet worden gewijzigd.",
436
+ "admin.absences.remove": "Verwijderen",
437
+ "admin.absences.removeTitle": "De afwezigheid verwijderen",
438
+ "admin.absences.removeConfirm": "De afwezigheid van {{name}} verwijderen?",
439
+ "admin.absences.cancelRequests": "Annuleringsaanvragen",
440
+ "admin.absences.cancelRequestsEmpty": "Er wacht geen annulering.",
441
+ "admin.absences.cancelAccept": "Annulering accepteren",
442
+ "admin.absences.cancelAcceptTitle": "De annulering accepteren",
443
+ "admin.absences.cancelAcceptHint": "De afwezigheid wordt verwijderd — de dagen tellen weer als werkdagen.",
444
+ "admin.absences.cancelDecline": "Annulering afwijzen",
445
+ "admin.absences.cancelDeclineTitle": "De annulering afwijzen",
423
446
  "absences.state.requested": "aangevraagd",
424
447
  "absences.state.approved": "goedgekeurd",
425
448
  "absences.state.rejected": "afgewezen",
@@ -2,6 +2,14 @@
2
2
  "absences.create": "Poproś o nieobecność",
3
3
  "absences.created": "Zgłoszono nieobecność.",
4
4
  "absences.empty": "Brak nieobecności w tym roku.",
5
+ "absences.withdraw": "Wycofaj",
6
+ "absences.withdrawTitle": "Wycofaj wniosek",
7
+ "absences.cancelAsk": "Poproś o anulowanie",
8
+ "absences.cancelTitle": "Poproś o anulowanie",
9
+ "absences.cancelNote": "Powód (opcjonalnie)",
10
+ "absences.cancelPending": "anulowanie zgłoszone",
11
+ "absences.cancelWithdraw": "Wycofaj anulowanie",
12
+ "absences.cancelWithdrawTitle": "Wycofaj wniosek o anulowanie",
5
13
  "absences.from": "Z",
6
14
  "absences.portion": "Udział dnia",
7
15
  "absences.status": "Status",
@@ -222,7 +230,7 @@
222
230
  "admin.settings.setting.timezone": "Strefa czasowa",
223
231
  "admin.settings.saved": "Ustawienia zapisane.",
224
232
  "admin.holidays": "Dni świąteczne",
225
- "admin.holiday.date": "Data (RRRR-MM-DD)",
233
+ "admin.holiday.date": "Data",
226
234
  "admin.holiday.name": "Nazwa",
227
235
  "holiday.newYear": "Nowy Rok",
228
236
  "holiday.epiphany": "Trzech Króli",
@@ -365,6 +373,7 @@
365
373
  "admin.automation.add": "Dodaj regułę",
366
374
  "admin.automation.empty": "Nie ma jeszcze reguł.",
367
375
  "admin.automation.runs": "Ostatnie wykonania",
376
+ "admin.automation.neverRun": "nigdy nie uruchamiano",
368
377
  "admin.automation.weekdays": "Dni tygodnia",
369
378
  "admin.automation.repeat": "Powtarzanie",
370
379
  "admin.automation.repeatDay": "raz dziennie",
@@ -381,6 +390,7 @@
381
390
  "admin.user.workedTime": "Czas pracy na karcie obecności",
382
391
  "admin.user.workedTimeHint": "Pokazuje na karcie obecności czas przepracowany dzisiaj (np. 1:23). Bez rejestracji jest tam 0:00; bez tej zgody karta pozostaje przy obecny/nieobecny i nazwisku.",
383
392
  "admin.automation.save": "Zapisz reguły",
393
+ "admin.automation.saveHint": "Zmiany w regułach zapisuje dopiero „Zapisz reguły”.",
384
394
  "admin.automation.edit": "Edytuj",
385
395
  "admin.automation.editTitle": "Edytuj regułę",
386
396
  "admin.automation.newTitle": "Nowa reguła",
@@ -420,6 +430,19 @@
420
430
  "admin.absences.all": "Wszystkie nieobecności",
421
431
  "admin.absences.allEmpty": "Brak nieobecności w tym okresie.",
422
432
  "admin.absences.portion": "Część: {{portion}}",
433
+ "admin.absences.edit": "Edytuj",
434
+ "admin.absences.editTitle": "Edytuj nieobecność",
435
+ "admin.absences.employeeHint": "Pracownik należy do nieobecności i nie można go później zmienić.",
436
+ "admin.absences.remove": "Usuń",
437
+ "admin.absences.removeTitle": "Usuń nieobecność",
438
+ "admin.absences.removeConfirm": "Usunąć nieobecność {{name}}?",
439
+ "admin.absences.cancelRequests": "Wnioski o anulowanie",
440
+ "admin.absences.cancelRequestsEmpty": "Brak oczekujących anulowań.",
441
+ "admin.absences.cancelAccept": "Przyjmij anulowanie",
442
+ "admin.absences.cancelAcceptTitle": "Przyjmij anulowanie",
443
+ "admin.absences.cancelAcceptHint": "Nieobecność zostanie usunięta — dni znów liczą się jako dni pracy.",
444
+ "admin.absences.cancelDecline": "Odrzuć anulowanie",
445
+ "admin.absences.cancelDeclineTitle": "Odrzuć anulowanie",
423
446
  "absences.state.requested": "złożony",
424
447
  "absences.state.approved": "zatwierdzony",
425
448
  "absences.state.rejected": "odrzucony",
@@ -2,6 +2,14 @@
2
2
  "absences.create": "Solicitar ausência",
3
3
  "absences.created": "Ausência solicitada.",
4
4
  "absences.empty": "Não houve ausências neste ano.",
5
+ "absences.withdraw": "Retirar",
6
+ "absences.withdrawTitle": "Retirar o pedido",
7
+ "absences.cancelAsk": "Pedir o cancelamento",
8
+ "absences.cancelTitle": "Pedir o cancelamento",
9
+ "absences.cancelNote": "Motivo (opcional)",
10
+ "absences.cancelPending": "cancelamento pedido",
11
+ "absences.cancelWithdraw": "Retirar o cancelamento",
12
+ "absences.cancelWithdrawTitle": "Retirar o pedido de cancelamento",
5
13
  "absences.from": "De",
6
14
  "absences.portion": "Fração do dia",
7
15
  "absences.status": "Status",
@@ -222,7 +230,7 @@
222
230
  "admin.settings.setting.timezone": "Fuso horário",
223
231
  "admin.settings.saved": "Configurações guardadas.",
224
232
  "admin.holidays": "Feriados",
225
- "admin.holiday.date": "Data (AAAA-MM-DD)",
233
+ "admin.holiday.date": "Data",
226
234
  "admin.holiday.name": "Nome",
227
235
  "holiday.newYear": "Ano Novo",
228
236
  "holiday.epiphany": "Dia de Reis",
@@ -365,6 +373,7 @@
365
373
  "admin.automation.add": "Adicionar regra",
366
374
  "admin.automation.empty": "Ainda não há regras.",
367
375
  "admin.automation.runs": "Últimas execuções",
376
+ "admin.automation.neverRun": "nunca executado",
368
377
  "admin.automation.weekdays": "Dias da semana",
369
378
  "admin.automation.repeat": "Repetição",
370
379
  "admin.automation.repeatDay": "uma vez por dia",
@@ -381,6 +390,7 @@
381
390
  "admin.user.workedTime": "Tempo de trabalho no cartão de presença",
382
391
  "admin.user.workedTimeHint": "Mostra no cartão de presença o tempo trabalhado hoje (por exemplo, 1:23). Sem marcação lê-se 0:00; sem esta permissão o cartão mantém presente/ausente e o nome.",
383
392
  "admin.automation.save": "Guardar regras",
393
+ "admin.automation.saveHint": "As alterações às regras só são guardadas com «Guardar regras».",
384
394
  "admin.automation.edit": "Editar",
385
395
  "admin.automation.editTitle": "Editar regra",
386
396
  "admin.automation.newTitle": "Nova regra",
@@ -420,6 +430,19 @@
420
430
  "admin.absences.all": "Todas as ausências",
421
431
  "admin.absences.allEmpty": "Sem ausências nesse período.",
422
432
  "admin.absences.portion": "Fração: {{portion}}",
433
+ "admin.absences.edit": "Editar",
434
+ "admin.absences.editTitle": "Editar a ausência",
435
+ "admin.absences.employeeHint": "O funcionário pertence à ausência e não pode ser alterado depois.",
436
+ "admin.absences.remove": "Eliminar",
437
+ "admin.absences.removeTitle": "Eliminar a ausência",
438
+ "admin.absences.removeConfirm": "Eliminar a ausência de {{name}}?",
439
+ "admin.absences.cancelRequests": "Pedidos de cancelamento",
440
+ "admin.absences.cancelRequestsEmpty": "Não há cancelamento pendente.",
441
+ "admin.absences.cancelAccept": "Aceitar o cancelamento",
442
+ "admin.absences.cancelAcceptTitle": "Aceitar o cancelamento",
443
+ "admin.absences.cancelAcceptHint": "A ausência é eliminada — os dias voltam a contar como dias de trabalho.",
444
+ "admin.absences.cancelDecline": "Rejeitar o cancelamento",
445
+ "admin.absences.cancelDeclineTitle": "Rejeitar o cancelamento",
423
446
  "absences.state.requested": "pedido",
424
447
  "absences.state.approved": "aprovado",
425
448
  "absences.state.rejected": "rejeitado",