updated apps
This commit is contained in:
Binary file not shown.
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "Po počtu opakování",
|
||||
"series_end_until": "K datu",
|
||||
"series_end_count_label": "Počet opakování",
|
||||
"series_end_until_label": "Datum konce"
|
||||
"series_end_until_label": "Datum konce",
|
||||
"parts_section": "Díly a spotřební materiál",
|
||||
"part_add": "Přidat díl",
|
||||
"part_name": "Název",
|
||||
"part_vendor": "Výrobce",
|
||||
"part_storage_location": "Místo uložení",
|
||||
"part_product_url": "URL produktu",
|
||||
"part_unit": "Jednotka",
|
||||
"part_cost": "Cena za kus",
|
||||
"part_stock": "Zásoba",
|
||||
"part_reorder_threshold": "Práh doobjednání",
|
||||
"part_restock_quantity": "Množství doplnění",
|
||||
"part_auto_buy": "Úkol nákupu při nízké zásobě",
|
||||
"part_restock": "Upravit zásobu",
|
||||
"restock_quantity_label": "Zakoupené množství",
|
||||
"consumes_parts_label": "Spotřebovává díly",
|
||||
"parts_load_failed": "Nepodařilo se načíst díly tohoto objektu — možnosti spotřeby dílů nyní nejsou k dispozici.",
|
||||
"settings_export_selection": "Omezit na vybrané objekty (volitelné)",
|
||||
"settings_docs_archive": "Archiv dokumentů (se soubory)",
|
||||
"settings_docs_archive_hint": "Exporty JSON/YAML/CSV obsahují jen nastavení. Tento ZIP obsahuje obsah nahraných souborů, aby obnovení bylo úplné.",
|
||||
"settings_docs_export_btn": "Stáhnout ZIP dokumentů",
|
||||
"settings_docs_import_btn": "Obnovit ZIP dokumentů",
|
||||
"settings_docs_import_success": "Obnoveno: {blobs} souborů, {docs} dokumentů",
|
||||
"adopt_problem_button": "Převzít senzory problémů",
|
||||
"adopt_problem_title": "Převzít senzory problémů",
|
||||
"adopt_problem_hint": "Změní senzory problémů HA (chyby tiskárny, upozornění filtru, slabá baterie) na úkoly údržby, které se spustí, dokud je problém aktivní, a samy se dokončí, když se vyřeší.",
|
||||
"adopt_problem_none": "Nebyly nalezeny žádné dosud nesledované senzory problémů.",
|
||||
"adopt_problem_active": "aktivní",
|
||||
"adopt_problem_ok": "ok",
|
||||
"adopt_problem_new_object": "(nový)",
|
||||
"adopt_problem_adopt": "Převzít vybrané",
|
||||
"adopt_problem_done": "Převzato {tasks} senzorů problémů",
|
||||
"views_label": "Zobrazení",
|
||||
"views_none": "— Žádné zobrazení —",
|
||||
"views_manage": "Uložit / spravovat zobrazení",
|
||||
"views_dialog_title": "Uložená zobrazení",
|
||||
"views_dialog_hint": "Uložte aktuální filtry jako pojmenované zobrazení, které může použít každý.",
|
||||
"views_name_placeholder": "Název zobrazení",
|
||||
"views_save_current": "Uložit aktuální filtry",
|
||||
"views_none_yet": "Zatím žádná uložená zobrazení.",
|
||||
"close": "Zavřít",
|
||||
"trigger_hint_now": "Senzor nyní ukazuje {value}.",
|
||||
"trigger_hint_above": "Úkol se spustí, jakmile hodnota překročí {target}.",
|
||||
"trigger_hint_below": "Spustí se, jakmile hodnota klesne pod {target}.",
|
||||
"trigger_hint_counter_delta": "Počítá od aktuální hodnoty ({value}): splatné při {due} (+{target}); počítadlo se po každém dokončení restartuje.",
|
||||
"trigger_hint_counter_delta_edit": "Počítá spotřebu od posledního dokončení: splatné po +{target}; počítadlo se po každém dokončení restartuje.",
|
||||
"trigger_hint_counter_abs": "Úkol bude splatný, jakmile senzor dosáhne {target}.",
|
||||
"trigger_hint_runtime": "Úkol bude splatný po {hours} h nasčítaného provozu; počítadlo se po každém dokončení restartuje.",
|
||||
"trigger_hint_state_change": "Úkol bude splatný po {count} změně/změnách stavu.",
|
||||
"trigger_hint_state_change_to": "Úkol bude splatný po {count} změně/změnách na „{state}“.",
|
||||
"trigger_hint_state_now": "Aktuální stav: {value}.",
|
||||
"adopt_problem_part": "Používá díl: {name}",
|
||||
"label_filter": "Štítek",
|
||||
"all_labels": "Všechny štítky",
|
||||
"settings_notify_scope": "Upozorňovat jen pro zobrazení",
|
||||
"settings_notify_scope_all": "Všechny úkoly",
|
||||
"settings_notify_scope_hint": "Připomenutí posílají jen úkoly odpovídající filtrům štítku/uživatele zvoleného zobrazení. Stav, řazení a seskupení zobrazení se zde ignorují.",
|
||||
"card_saved_view": "Uložené zobrazení",
|
||||
"card_saved_view_none": "Žádné",
|
||||
"card_saved_view_help": "Použije filtry stavu, uživatele a štítku zobrazení navíc k výše uvedeným filtrům. Řazení a seskupení zobrazení jsou nastavení panelu a na kartě se nepoužijí.",
|
||||
"doc_part_none": "K tomuto dílu nejsou připojeny žádné dokumenty."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "Efter et antal gange",
|
||||
"series_end_until": "På en dato",
|
||||
"series_end_count_label": "Antal gange",
|
||||
"series_end_until_label": "Slutdato"
|
||||
"series_end_until_label": "Slutdato",
|
||||
"parts_section": "Dele & forbrugsvarer",
|
||||
"part_add": "Tilføj del",
|
||||
"part_name": "Navn",
|
||||
"part_vendor": "Producent",
|
||||
"part_storage_location": "Opbevaringssted",
|
||||
"part_product_url": "Produkt-URL",
|
||||
"part_unit": "Enhed",
|
||||
"part_cost": "Stykpris",
|
||||
"part_stock": "Lager",
|
||||
"part_reorder_threshold": "Genbestillingsgrænse",
|
||||
"part_restock_quantity": "Genopfyldningsmængde",
|
||||
"part_auto_buy": "Købsopgave ved lav beholdning",
|
||||
"part_restock": "Justér lager",
|
||||
"restock_quantity_label": "Købt mængde",
|
||||
"consumes_parts_label": "Forbruger dele",
|
||||
"parts_load_failed": "Kunne ikke indlæse objektets reservedele — forbrugsindstillingerne er ikke tilgængelige lige nu.",
|
||||
"settings_export_selection": "Begræns til valgte objekter (valgfrit)",
|
||||
"settings_docs_archive": "Dokumentarkiv (med filer)",
|
||||
"settings_docs_archive_hint": "JSON/YAML/CSV-eksporter indeholder kun indstillinger. Denne ZIP indeholder de uploadede filers indhold, så en gendannelse er fuldstændig.",
|
||||
"settings_docs_export_btn": "Download dokument-ZIP",
|
||||
"settings_docs_import_btn": "Gendan dokument-ZIP",
|
||||
"settings_docs_import_success": "Gendannet: {blobs} filer, {docs} dokumenter",
|
||||
"adopt_problem_button": "Adopter problemsensorer",
|
||||
"adopt_problem_title": "Adopter problemsensorer",
|
||||
"adopt_problem_hint": "Gør HA-problemsensorer (printerfejl, filteradvarsler, lavt batteri) til vedligeholdelsesopgaver, der udløses, mens problemet er aktivt, og afsluttes selv, når det er løst.",
|
||||
"adopt_problem_none": "Ingen problemsensorer fundet, der ikke allerede spores.",
|
||||
"adopt_problem_active": "aktiv",
|
||||
"adopt_problem_ok": "ok",
|
||||
"adopt_problem_new_object": "(ny)",
|
||||
"adopt_problem_adopt": "Adopter valgte",
|
||||
"adopt_problem_done": "Adopterede {tasks} problemsensor(er)",
|
||||
"views_label": "Visninger",
|
||||
"views_none": "— Ingen visning —",
|
||||
"views_manage": "Gem / administrer visninger",
|
||||
"views_dialog_title": "Gemte visninger",
|
||||
"views_dialog_hint": "Gem de aktuelle filtre som en navngiven visning, som alle kan genbruge.",
|
||||
"views_name_placeholder": "Visningsnavn",
|
||||
"views_save_current": "Gem aktuelle filtre",
|
||||
"views_none_yet": "Ingen gemte visninger endnu.",
|
||||
"close": "Luk",
|
||||
"trigger_hint_now": "Sensoren viser {value} lige nu.",
|
||||
"trigger_hint_above": "Opgaven udløses, når værdien stiger over {target}.",
|
||||
"trigger_hint_below": "Den udløses, når værdien falder under {target}.",
|
||||
"trigger_hint_counter_delta": "Tæller fra den aktuelle aflæsning ({value}): forfalder ved {due} (+{target}); tælleren starter forfra efter hver fuldførelse.",
|
||||
"trigger_hint_counter_delta_edit": "Tæller forbruget siden sidste fuldførelse: forfalder efter +{target}; tælleren starter forfra efter hver fuldførelse.",
|
||||
"trigger_hint_counter_abs": "Opgaven forfalder, når sensoren når {target}.",
|
||||
"trigger_hint_runtime": "Opgaven forfalder efter {hours} t akkumuleret driftstid; tælleren starter forfra efter hver fuldførelse.",
|
||||
"trigger_hint_state_change": "Opgaven forfalder efter {count} tilstandsskift.",
|
||||
"trigger_hint_state_change_to": "Opgaven forfalder efter {count} skift til ”{state}”.",
|
||||
"trigger_hint_state_now": "Aktuel tilstand: {value}.",
|
||||
"adopt_problem_part": "Bruger reservedel: {name}",
|
||||
"label_filter": "Etiket",
|
||||
"all_labels": "Alle etiketter",
|
||||
"settings_notify_scope": "Underret kun for visning",
|
||||
"settings_notify_scope_all": "Alle opgaver",
|
||||
"settings_notify_scope_hint": "Kun opgaver, der matcher den valgte visnings etiket-/brugerfiltre, sender påmindelser. Visningens status, sortering og gruppering ignoreres her.",
|
||||
"card_saved_view": "Gemt visning",
|
||||
"card_saved_view_none": "Ingen",
|
||||
"card_saved_view_help": "Anvender visningens status-, bruger- og etiketfiltre oven på filtrene ovenfor. Visningens sortering og gruppering er panelvisningsindstillinger og anvendes ikke på kortet.",
|
||||
"doc_part_none": "Ingen dokumenter knyttet til denne del."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "Nach Anzahl",
|
||||
"series_end_until": "An einem Datum",
|
||||
"series_end_count_label": "Anzahl",
|
||||
"series_end_until_label": "Enddatum"
|
||||
"series_end_until_label": "Enddatum",
|
||||
"parts_section": "Teile & Verbrauchsmaterial",
|
||||
"part_add": "Teil hinzufügen",
|
||||
"part_name": "Name",
|
||||
"part_vendor": "Hersteller",
|
||||
"part_storage_location": "Lagerort",
|
||||
"part_product_url": "Produkt-URL",
|
||||
"part_unit": "Einheit",
|
||||
"part_cost": "Stückpreis",
|
||||
"part_stock": "Bestand",
|
||||
"part_reorder_threshold": "Nachkauf-Schwelle",
|
||||
"part_restock_quantity": "Auffüllmenge",
|
||||
"part_auto_buy": "Kauf-Task bei Niedrigbestand",
|
||||
"part_restock": "Bestand anpassen",
|
||||
"restock_quantity_label": "Gekaufte Menge",
|
||||
"consumes_parts_label": "Verbraucht Teile",
|
||||
"parts_load_failed": "Die Teile dieses Objekts konnten nicht geladen werden — die Teileverbrauch-Optionen sind gerade nicht verfügbar.",
|
||||
"settings_export_selection": "Auf ausgewählte Objekte beschränken (optional)",
|
||||
"settings_docs_archive": "Dokumentenarchiv (mit Dateien)",
|
||||
"settings_docs_archive_hint": "Die JSON/YAML/CSV-Exporte enthalten nur Einstellungen. Dieses ZIP enthält die hochgeladenen Dateiinhalte, sodass eine Wiederherstellung vollständig ist.",
|
||||
"settings_docs_export_btn": "Dokumente-ZIP herunterladen",
|
||||
"settings_docs_import_btn": "Dokumente-ZIP wiederherstellen",
|
||||
"settings_docs_import_success": "Wiederhergestellt: {blobs} Dateien, {docs} Dokumente",
|
||||
"adopt_problem_button": "Problem-Sensoren übernehmen",
|
||||
"adopt_problem_title": "Problem-Sensoren übernehmen",
|
||||
"adopt_problem_hint": "Verwandelt HA-Problem-Sensoren (Druckerfehler, Filterwarnungen, schwache Batterie) in Wartungsaufgaben, die auslösen, solange das Problem aktiv ist, und sich selbst erledigen, wenn es behoben ist.",
|
||||
"adopt_problem_none": "Keine noch nicht erfassten Problem-Sensoren gefunden.",
|
||||
"adopt_problem_active": "aktiv",
|
||||
"adopt_problem_ok": "ok",
|
||||
"adopt_problem_new_object": "(neu)",
|
||||
"adopt_problem_adopt": "Auswahl übernehmen",
|
||||
"adopt_problem_done": "{tasks} Problem-Sensor(en) übernommen",
|
||||
"views_label": "Ansichten",
|
||||
"views_none": "— Keine Ansicht —",
|
||||
"views_manage": "Ansichten speichern/verwalten",
|
||||
"views_dialog_title": "Gespeicherte Ansichten",
|
||||
"views_dialog_hint": "Aktuelle Filter als benannte Ansicht speichern, die alle nutzen können.",
|
||||
"views_name_placeholder": "Name der Ansicht",
|
||||
"views_save_current": "Aktuelle Filter speichern",
|
||||
"views_none_yet": "Noch keine gespeicherten Ansichten.",
|
||||
"close": "Schließen",
|
||||
"trigger_hint_now": "Der Sensor zeigt aktuell {value}.",
|
||||
"trigger_hint_above": "Die Aufgabe wird ausgelöst, sobald der Wert über {target} steigt.",
|
||||
"trigger_hint_below": "Sie wird ausgelöst, sobald der Wert unter {target} fällt.",
|
||||
"trigger_hint_counter_delta": "Zählt ab dem aktuellen Stand ({value}): fällig bei {due} (+{target}); der Zähler startet nach jedem Abschluss neu.",
|
||||
"trigger_hint_counter_delta_edit": "Zählt den Verbrauch seit dem letzten Abschluss: fällig nach +{target}; der Zähler startet nach jedem Abschluss neu.",
|
||||
"trigger_hint_counter_abs": "Die Aufgabe wird fällig, sobald der Sensor {target} erreicht.",
|
||||
"trigger_hint_runtime": "Die Aufgabe wird nach {hours} h aufsummierter Laufzeit fällig; der Zähler startet nach jedem Abschluss neu.",
|
||||
"trigger_hint_state_change": "Die Aufgabe wird nach {count} Zustandswechsel(n) fällig.",
|
||||
"trigger_hint_state_change_to": "Die Aufgabe wird nach {count} Wechsel(n) zu „{state}“ fällig.",
|
||||
"trigger_hint_state_now": "Aktueller Zustand: {value}.",
|
||||
"adopt_problem_part": "Nutzt Ersatzteil: {name}",
|
||||
"label_filter": "Label",
|
||||
"all_labels": "Alle Labels",
|
||||
"settings_notify_scope": "Nur benachrichtigen für Ansicht",
|
||||
"settings_notify_scope_all": "Alle Aufgaben",
|
||||
"settings_notify_scope_hint": "Nur Aufgaben, die zu den Label-/Nutzer-Filtern der gewählten Ansicht passen, senden Erinnerungen. Status, Sortierung und Gruppierung der Ansicht werden hier ignoriert.",
|
||||
"card_saved_view": "Gespeicherte Ansicht",
|
||||
"card_saved_view_none": "Keine",
|
||||
"card_saved_view_help": "Wendet die Status-, Nutzer- und Label-Filter der Ansicht zusätzlich zu den obigen Filtern an. Sortierung und Gruppierung der Ansicht sind Panel-Darstellung und werden auf der Karte nicht angewendet.",
|
||||
"doc_part_none": "Keine Dokumente mit diesem Ersatzteil verknüpft."
|
||||
}
|
||||
|
||||
@@ -476,6 +476,12 @@
|
||||
"settings_export_success": "Export downloaded.",
|
||||
"settings_saved": "Setting saved.",
|
||||
"settings_include_history": "Include history",
|
||||
"settings_export_selection": "Limit to selected objects (optional)",
|
||||
"settings_docs_archive": "Documents archive (with files)",
|
||||
"settings_docs_archive_hint": "The JSON/YAML/CSV exports carry settings only. This ZIP includes the uploaded file contents so a restore is complete.",
|
||||
"settings_docs_export_btn": "Download documents ZIP",
|
||||
"settings_docs_import_btn": "Restore documents ZIP",
|
||||
"settings_docs_import_success": "Restored: {blobs} files, {docs} documents",
|
||||
"sort_alphabetical": "Alphabetical",
|
||||
"sort_due_soonest": "Due soonest",
|
||||
"sort_task_count": "Task count",
|
||||
@@ -706,5 +712,59 @@
|
||||
"series_end_after_count": "After a number of times",
|
||||
"series_end_until": "On a date",
|
||||
"series_end_count_label": "Number of times",
|
||||
"series_end_until_label": "End date"
|
||||
"series_end_until_label": "End date",
|
||||
"parts_section": "Parts & consumables",
|
||||
"part_add": "Add part",
|
||||
"part_name": "Name",
|
||||
"part_vendor": "Manufacturer",
|
||||
"part_storage_location": "Storage location",
|
||||
"part_product_url": "Product URL",
|
||||
"part_unit": "Unit",
|
||||
"part_cost": "Unit price",
|
||||
"part_stock": "Stock",
|
||||
"part_reorder_threshold": "Reorder at",
|
||||
"part_restock_quantity": "Restock quantity",
|
||||
"part_auto_buy": "Auto-create buy task when low",
|
||||
"part_restock": "Adjust stock",
|
||||
"restock_quantity_label": "Quantity bought",
|
||||
"consumes_parts_label": "Consumes parts",
|
||||
"parts_load_failed": "Couldn't load this object's parts — the consumes-parts options are unavailable right now.",
|
||||
"adopt_problem_button": "Adopt problem sensors",
|
||||
"adopt_problem_title": "Adopt problem sensors",
|
||||
"adopt_problem_hint": "Turn HA problem sensors (printer errors, filter warnings, low battery) into maintenance tasks that trigger while the problem is active and clear themselves when it resolves.",
|
||||
"adopt_problem_none": "No problem sensors found that aren't already tracked.",
|
||||
"adopt_problem_active": "active",
|
||||
"adopt_problem_ok": "ok",
|
||||
"adopt_problem_new_object": "(new)",
|
||||
"adopt_problem_adopt": "Adopt selected",
|
||||
"adopt_problem_done": "Adopted {tasks} problem sensor(s)",
|
||||
"views_label": "Views",
|
||||
"views_none": "— No view —",
|
||||
"views_manage": "Save / manage views",
|
||||
"views_dialog_title": "Saved views",
|
||||
"views_dialog_hint": "Save the current filters as a named view everyone can reuse.",
|
||||
"views_name_placeholder": "View name",
|
||||
"views_save_current": "Save current filters",
|
||||
"views_none_yet": "No saved views yet.",
|
||||
"close": "Close",
|
||||
"trigger_hint_now": "The sensor reads {value} right now.",
|
||||
"trigger_hint_above": "The task triggers once it rises above {target}.",
|
||||
"trigger_hint_below": "It triggers once it falls below {target}.",
|
||||
"trigger_hint_counter_delta": "Counts from the current reading ({value}): due at {due} (+{target}), and the count restarts after each completion.",
|
||||
"trigger_hint_counter_delta_edit": "Counts usage since the last completion: due after +{target}; the count restarts after each completion.",
|
||||
"trigger_hint_counter_abs": "The task becomes due once the sensor reaches {target}.",
|
||||
"trigger_hint_runtime": "The task becomes due after {hours} h of accumulated on-time; the counter restarts after each completion.",
|
||||
"trigger_hint_state_change": "The task becomes due after {count} state change(s).",
|
||||
"trigger_hint_state_change_to": "The task becomes due after {count} change(s) to “{state}”.",
|
||||
"trigger_hint_state_now": "Current state: {value}.",
|
||||
"adopt_problem_part": "Uses part: {name}",
|
||||
"label_filter": "Label",
|
||||
"all_labels": "All labels",
|
||||
"settings_notify_scope": "Notify only for view",
|
||||
"settings_notify_scope_all": "All tasks",
|
||||
"settings_notify_scope_hint": "Only tasks matching the selected saved view's label/user filters send reminders. Status, sorting and grouping of the view are ignored here.",
|
||||
"card_saved_view": "Saved view",
|
||||
"card_saved_view_none": "None",
|
||||
"card_saved_view_help": "Applies the view's status, user and label filters on top of the filters above. The view's sorting and grouping are panel display settings and are not applied on the card.",
|
||||
"doc_part_none": "No documents linked to this part."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "Tras un número de veces",
|
||||
"series_end_until": "En una fecha",
|
||||
"series_end_count_label": "Número de veces",
|
||||
"series_end_until_label": "Fecha de fin"
|
||||
"series_end_until_label": "Fecha de fin",
|
||||
"parts_section": "Piezas y consumibles",
|
||||
"part_add": "Añadir pieza",
|
||||
"part_name": "Nombre",
|
||||
"part_vendor": "Fabricante",
|
||||
"part_storage_location": "Ubicación de almacenaje",
|
||||
"part_product_url": "URL del producto",
|
||||
"part_unit": "Unidad",
|
||||
"part_cost": "Precio unitario",
|
||||
"part_stock": "Existencias",
|
||||
"part_reorder_threshold": "Umbral de reposición",
|
||||
"part_restock_quantity": "Cantidad de reposición",
|
||||
"part_auto_buy": "Crear tarea de compra si bajo",
|
||||
"part_restock": "Ajustar existencias",
|
||||
"restock_quantity_label": "Cantidad comprada",
|
||||
"consumes_parts_label": "Consume piezas",
|
||||
"parts_load_failed": "No se pudieron cargar las piezas de este objeto — las opciones de consumo de piezas no están disponibles ahora.",
|
||||
"settings_export_selection": "Limitar a los objetos seleccionados (opcional)",
|
||||
"settings_docs_archive": "Archivo de documentos (con archivos)",
|
||||
"settings_docs_archive_hint": "Las exportaciones JSON/YAML/CSV solo contienen la configuración. Este ZIP incluye el contenido de los archivos subidos para una restauración completa.",
|
||||
"settings_docs_export_btn": "Descargar ZIP de documentos",
|
||||
"settings_docs_import_btn": "Restaurar ZIP de documentos",
|
||||
"settings_docs_import_success": "Restaurado: {blobs} archivos, {docs} documentos",
|
||||
"adopt_problem_button": "Adoptar sensores de problema",
|
||||
"adopt_problem_title": "Adoptar sensores de problema",
|
||||
"adopt_problem_hint": "Convierte los sensores de problema de HA (errores de impresora, avisos de filtro, batería baja) en tareas de mantenimiento que se activan mientras el problema está activo y se completan cuando se resuelve.",
|
||||
"adopt_problem_none": "No se encontraron sensores de problema que no estén ya rastreados.",
|
||||
"adopt_problem_active": "activo",
|
||||
"adopt_problem_ok": "ok",
|
||||
"adopt_problem_new_object": "(nuevo)",
|
||||
"adopt_problem_adopt": "Adoptar seleccionados",
|
||||
"adopt_problem_done": "{tasks} sensor(es) de problema adoptado(s)",
|
||||
"views_label": "Vistas",
|
||||
"views_none": "— Sin vista —",
|
||||
"views_manage": "Guardar / gestionar vistas",
|
||||
"views_dialog_title": "Vistas guardadas",
|
||||
"views_dialog_hint": "Guarda los filtros actuales como una vista con nombre que todos pueden reutilizar.",
|
||||
"views_name_placeholder": "Nombre de la vista",
|
||||
"views_save_current": "Guardar filtros actuales",
|
||||
"views_none_yet": "Aún no hay vistas guardadas.",
|
||||
"close": "Cerrar",
|
||||
"trigger_hint_now": "El sensor marca {value} ahora mismo.",
|
||||
"trigger_hint_above": "La tarea se activa cuando supere {target}.",
|
||||
"trigger_hint_below": "Se activa cuando baje de {target}.",
|
||||
"trigger_hint_counter_delta": "Cuenta desde la lectura actual ({value}): vence en {due} (+{target}); el contador se reinicia tras cada finalización.",
|
||||
"trigger_hint_counter_delta_edit": "Cuenta el uso desde la última finalización: vence tras +{target}; el contador se reinicia tras cada finalización.",
|
||||
"trigger_hint_counter_abs": "La tarea vence cuando el sensor alcance {target}.",
|
||||
"trigger_hint_runtime": "La tarea vence tras {hours} h de funcionamiento acumulado; el contador se reinicia tras cada finalización.",
|
||||
"trigger_hint_state_change": "La tarea vence tras {count} cambio(s) de estado.",
|
||||
"trigger_hint_state_change_to": "La tarea vence tras {count} cambio(s) a «{state}».",
|
||||
"trigger_hint_state_now": "Estado actual: {value}.",
|
||||
"adopt_problem_part": "Usa la pieza: {name}",
|
||||
"label_filter": "Etiqueta",
|
||||
"all_labels": "Todas las etiquetas",
|
||||
"settings_notify_scope": "Notificar solo para la vista",
|
||||
"settings_notify_scope_all": "Todas las tareas",
|
||||
"settings_notify_scope_hint": "Solo las tareas que coinciden con los filtros de etiqueta/usuario de la vista seleccionada envían recordatorios. El estado, el orden y la agrupación de la vista se ignoran aquí.",
|
||||
"card_saved_view": "Vista guardada",
|
||||
"card_saved_view_none": "Ninguna",
|
||||
"card_saved_view_help": "Aplica los filtros de estado, usuario y etiqueta de la vista además de los filtros anteriores. El orden y la agrupación de la vista son ajustes de visualización del panel y no se aplican en la tarjeta.",
|
||||
"doc_part_none": "No hay documentos vinculados a esta pieza."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "Tietyn kertamäärän jälkeen",
|
||||
"series_end_until": "Päivämääränä",
|
||||
"series_end_count_label": "Kertojen määrä",
|
||||
"series_end_until_label": "Päättymispäivä"
|
||||
"series_end_until_label": "Päättymispäivä",
|
||||
"parts_section": "Osat ja tarvikkeet",
|
||||
"part_add": "Lisää osa",
|
||||
"part_name": "Nimi",
|
||||
"part_vendor": "Valmistaja",
|
||||
"part_storage_location": "Säilytyspaikka",
|
||||
"part_product_url": "Tuotteen URL",
|
||||
"part_unit": "Yksikkö",
|
||||
"part_cost": "Yksikköhinta",
|
||||
"part_stock": "Varasto",
|
||||
"part_reorder_threshold": "Tilausraja",
|
||||
"part_restock_quantity": "Täydennysmäärä",
|
||||
"part_auto_buy": "Ostotehtävä kun vähissä",
|
||||
"part_restock": "Muuta varastoa",
|
||||
"restock_quantity_label": "Ostettu määrä",
|
||||
"consumes_parts_label": "Kuluttaa osia",
|
||||
"parts_load_failed": "Kohteen osia ei voitu ladata — osien kulutusvalinnat eivät ole juuri nyt käytettävissä.",
|
||||
"settings_export_selection": "Rajaa valittuihin kohteisiin (valinnainen)",
|
||||
"settings_docs_archive": "Asiakirja-arkisto (tiedostoineen)",
|
||||
"settings_docs_archive_hint": "JSON/YAML/CSV-viennit sisältävät vain asetukset. Tämä ZIP sisältää ladattujen tiedostojen sisällön, joten palautus on täydellinen.",
|
||||
"settings_docs_export_btn": "Lataa asiakirjojen ZIP",
|
||||
"settings_docs_import_btn": "Palauta asiakirjojen ZIP",
|
||||
"settings_docs_import_success": "Palautettu: {blobs} tiedostoa, {docs} asiakirjaa",
|
||||
"adopt_problem_button": "Ota ongelma-anturit käyttöön",
|
||||
"adopt_problem_title": "Ota ongelma-anturit käyttöön",
|
||||
"adopt_problem_hint": "Muuttaa HA:n ongelma-anturit (tulostinvirheet, suodatinvaroitukset, heikko akku) huoltotehtäviksi, jotka laukeavat ongelman ollessa aktiivinen ja päättyvät itsestään, kun se ratkeaa.",
|
||||
"adopt_problem_none": "Ei löytynyt ongelma-antureita, joita ei jo seurata.",
|
||||
"adopt_problem_active": "aktiivinen",
|
||||
"adopt_problem_ok": "ok",
|
||||
"adopt_problem_new_object": "(uusi)",
|
||||
"adopt_problem_adopt": "Ota valitut käyttöön",
|
||||
"adopt_problem_done": "Otettiin käyttöön {tasks} ongelma-anturia",
|
||||
"views_label": "Näkymät",
|
||||
"views_none": "— Ei näkymää —",
|
||||
"views_manage": "Tallenna / hallitse näkymiä",
|
||||
"views_dialog_title": "Tallennetut näkymät",
|
||||
"views_dialog_hint": "Tallenna nykyiset suodattimet nimettynä näkymänä, jota kaikki voivat käyttää.",
|
||||
"views_name_placeholder": "Näkymän nimi",
|
||||
"views_save_current": "Tallenna nykyiset suodattimet",
|
||||
"views_none_yet": "Ei tallennettuja näkymiä vielä.",
|
||||
"close": "Sulje",
|
||||
"trigger_hint_now": "Anturi näyttää nyt {value}.",
|
||||
"trigger_hint_above": "Tehtävä laukeaa, kun arvo ylittää {target}.",
|
||||
"trigger_hint_below": "Se laukeaa, kun arvo alittaa {target}.",
|
||||
"trigger_hint_counter_delta": "Laskee nykyisestä lukemasta ({value}): erääntyy kohdassa {due} (+{target}); laskuri alkaa alusta jokaisen suorituksen jälkeen.",
|
||||
"trigger_hint_counter_delta_edit": "Laskee käytön viime suorituksesta: erääntyy +{target} jälkeen; laskuri alkaa alusta jokaisen suorituksen jälkeen.",
|
||||
"trigger_hint_counter_abs": "Tehtävä erääntyy, kun anturi saavuttaa {target}.",
|
||||
"trigger_hint_runtime": "Tehtävä erääntyy {hours} h kertyneen käyntiajan jälkeen; laskuri alkaa alusta jokaisen suorituksen jälkeen.",
|
||||
"trigger_hint_state_change": "Tehtävä erääntyy {count} tilanmuutoksen jälkeen.",
|
||||
"trigger_hint_state_change_to": "Tehtävä erääntyy {count} muutoksen jälkeen tilaan ”{state}”.",
|
||||
"trigger_hint_state_now": "Nykyinen tila: {value}.",
|
||||
"adopt_problem_part": "Käyttää varaosaa: {name}",
|
||||
"label_filter": "Tunniste",
|
||||
"all_labels": "Kaikki tunnisteet",
|
||||
"settings_notify_scope": "Ilmoita vain näkymälle",
|
||||
"settings_notify_scope_all": "Kaikki tehtävät",
|
||||
"settings_notify_scope_hint": "Vain valitun näkymän tunniste-/käyttäjäsuodattimiin osuvat tehtävät lähettävät muistutuksia. Näkymän tila, lajittelu ja ryhmittely ohitetaan tässä.",
|
||||
"card_saved_view": "Tallennettu näkymä",
|
||||
"card_saved_view_none": "Ei mitään",
|
||||
"card_saved_view_help": "Soveltaa näkymän tila-, käyttäjä- ja tunnistesuodattimet yllä olevien suodattimien lisäksi. Näkymän lajittelu ja ryhmittely ovat paneelin näyttöasetuksia eivätkä vaikuta korttiin.",
|
||||
"doc_part_none": "Tähän osaan ei ole linkitetty asiakirjoja."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "Après un nombre de fois",
|
||||
"series_end_until": "À une date",
|
||||
"series_end_count_label": "Nombre de fois",
|
||||
"series_end_until_label": "Date de fin"
|
||||
"series_end_until_label": "Date de fin",
|
||||
"parts_section": "Pièces & consommables",
|
||||
"part_add": "Ajouter une pièce",
|
||||
"part_name": "Nom",
|
||||
"part_vendor": "Fabricant",
|
||||
"part_storage_location": "Lieu de stockage",
|
||||
"part_product_url": "URL du produit",
|
||||
"part_unit": "Unité",
|
||||
"part_cost": "Prix unitaire",
|
||||
"part_stock": "Stock",
|
||||
"part_reorder_threshold": "Seuil de réappro",
|
||||
"part_restock_quantity": "Quantité de réappro",
|
||||
"part_auto_buy": "Tâche d'achat auto si bas",
|
||||
"part_restock": "Ajuster le stock",
|
||||
"restock_quantity_label": "Quantité achetée",
|
||||
"consumes_parts_label": "Consomme des pièces",
|
||||
"parts_load_failed": "Impossible de charger les pièces de cet objet — les options de consommation de pièces sont indisponibles pour le moment.",
|
||||
"settings_export_selection": "Limiter aux objets sélectionnés (facultatif)",
|
||||
"settings_docs_archive": "Archive de documents (avec fichiers)",
|
||||
"settings_docs_archive_hint": "Les exports JSON/YAML/CSV ne contiennent que les réglages. Ce ZIP inclut le contenu des fichiers téléversés pour une restauration complète.",
|
||||
"settings_docs_export_btn": "Télécharger le ZIP des documents",
|
||||
"settings_docs_import_btn": "Restaurer le ZIP des documents",
|
||||
"settings_docs_import_success": "Restauré : {blobs} fichiers, {docs} documents",
|
||||
"adopt_problem_button": "Adopter les capteurs de problème",
|
||||
"adopt_problem_title": "Adopter les capteurs de problème",
|
||||
"adopt_problem_hint": "Transforme les capteurs de problème HA (erreurs d'imprimante, alertes de filtre, batterie faible) en tâches de maintenance qui se déclenchent tant que le problème est actif et se terminent lorsqu'il est résolu.",
|
||||
"adopt_problem_none": "Aucun capteur de problème non encore suivi n'a été trouvé.",
|
||||
"adopt_problem_active": "actif",
|
||||
"adopt_problem_ok": "ok",
|
||||
"adopt_problem_new_object": "(nouveau)",
|
||||
"adopt_problem_adopt": "Adopter la sélection",
|
||||
"adopt_problem_done": "{tasks} capteur(s) de problème adopté(s)",
|
||||
"views_label": "Vues",
|
||||
"views_none": "— Aucune vue —",
|
||||
"views_manage": "Enregistrer / gérer les vues",
|
||||
"views_dialog_title": "Vues enregistrées",
|
||||
"views_dialog_hint": "Enregistrez les filtres actuels comme une vue nommée réutilisable par tous.",
|
||||
"views_name_placeholder": "Nom de la vue",
|
||||
"views_save_current": "Enregistrer les filtres actuels",
|
||||
"views_none_yet": "Aucune vue enregistrée pour l'instant.",
|
||||
"close": "Fermer",
|
||||
"trigger_hint_now": "Le capteur indique {value} en ce moment.",
|
||||
"trigger_hint_above": "La tâche se déclenche dès que la valeur dépasse {target}.",
|
||||
"trigger_hint_below": "Elle se déclenche dès que la valeur passe sous {target}.",
|
||||
"trigger_hint_counter_delta": "Compte à partir de la valeur actuelle ({value}) : échéance à {due} (+{target}) ; le compteur repart après chaque exécution.",
|
||||
"trigger_hint_counter_delta_edit": "Compte l'usage depuis la dernière exécution : échéance après +{target} ; le compteur repart après chaque exécution.",
|
||||
"trigger_hint_counter_abs": "La tâche devient due dès que le capteur atteint {target}.",
|
||||
"trigger_hint_runtime": "La tâche devient due après {hours} h de fonctionnement cumulé ; le compteur repart après chaque exécution.",
|
||||
"trigger_hint_state_change": "La tâche devient due après {count} changement(s) d'état.",
|
||||
"trigger_hint_state_change_to": "La tâche devient due après {count} passage(s) à « {state} ».",
|
||||
"trigger_hint_state_now": "État actuel : {value}.",
|
||||
"adopt_problem_part": "Utilise la pièce : {name}",
|
||||
"label_filter": "Étiquette",
|
||||
"all_labels": "Toutes les étiquettes",
|
||||
"settings_notify_scope": "Notifier uniquement pour la vue",
|
||||
"settings_notify_scope_all": "Toutes les tâches",
|
||||
"settings_notify_scope_hint": "Seules les tâches correspondant aux filtres étiquette/utilisateur de la vue choisie envoient des rappels. Le statut, le tri et le regroupement de la vue sont ignorés ici.",
|
||||
"card_saved_view": "Vue enregistrée",
|
||||
"card_saved_view_none": "Aucune",
|
||||
"card_saved_view_help": "Applique les filtres statut, utilisateur et étiquette de la vue en plus des filtres ci-dessus. Le tri et le regroupement de la vue sont des réglages d'affichage du panneau et ne s'appliquent pas à la carte.",
|
||||
"doc_part_none": "Aucun document lié à cette pièce."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "कुछ बार के बाद",
|
||||
"series_end_until": "एक तिथि पर",
|
||||
"series_end_count_label": "कितनी बार",
|
||||
"series_end_until_label": "समाप्ति तिथि"
|
||||
"series_end_until_label": "समाप्ति तिथि",
|
||||
"parts_section": "पुर्ज़े और उपभोग्य",
|
||||
"part_add": "पुर्ज़ा जोड़ें",
|
||||
"part_name": "नाम",
|
||||
"part_vendor": "निर्माता",
|
||||
"part_storage_location": "भंडारण स्थान",
|
||||
"part_product_url": "उत्पाद URL",
|
||||
"part_unit": "इकाई",
|
||||
"part_cost": "इकाई मूल्य",
|
||||
"part_stock": "स्टॉक",
|
||||
"part_reorder_threshold": "पुनः ऑर्डर सीमा",
|
||||
"part_restock_quantity": "पुनःपूर्ति मात्रा",
|
||||
"part_auto_buy": "कम होने पर खरीद कार्य",
|
||||
"part_restock": "स्टॉक समायोजित करें",
|
||||
"restock_quantity_label": "खरीदी गई मात्रा",
|
||||
"consumes_parts_label": "पुर्ज़े खपत",
|
||||
"parts_load_failed": "इस ऑब्जेक्ट के पुर्ज़े लोड नहीं हो सके — पुर्ज़ा-खपत विकल्प अभी उपलब्ध नहीं हैं।",
|
||||
"settings_export_selection": "चयनित ऑब्जेक्ट तक सीमित करें (वैकल्पिक)",
|
||||
"settings_docs_archive": "दस्तावेज़ संग्रह (फ़ाइलों सहित)",
|
||||
"settings_docs_archive_hint": "JSON/YAML/CSV निर्यात केवल सेटिंग्स रखते हैं। इस ZIP में अपलोड की गई फ़ाइल सामग्री शामिल है ताकि पुनर्स्थापना पूर्ण हो।",
|
||||
"settings_docs_export_btn": "दस्तावेज़ ZIP डाउनलोड करें",
|
||||
"settings_docs_import_btn": "दस्तावेज़ ZIP पुनर्स्थापित करें",
|
||||
"settings_docs_import_success": "पुनर्स्थापित: {blobs} फ़ाइलें, {docs} दस्तावेज़",
|
||||
"adopt_problem_button": "समस्या सेंसर अपनाएँ",
|
||||
"adopt_problem_title": "समस्या सेंसर अपनाएँ",
|
||||
"adopt_problem_hint": "HA समस्या सेंसर (प्रिंटर त्रुटियाँ, फ़िल्टर चेतावनियाँ, कम बैटरी) को रखरखाव कार्यों में बदलें जो समस्या सक्रिय रहने तक ट्रिगर होते हैं और हल होने पर स्वयं पूरे हो जाते हैं।",
|
||||
"adopt_problem_none": "ऐसा कोई समस्या सेंसर नहीं मिला जो पहले से ट्रैक न हो।",
|
||||
"adopt_problem_active": "सक्रिय",
|
||||
"adopt_problem_ok": "ठीक",
|
||||
"adopt_problem_new_object": "(नया)",
|
||||
"adopt_problem_adopt": "चयनित अपनाएँ",
|
||||
"adopt_problem_done": "{tasks} समस्या सेंसर अपनाए गए",
|
||||
"views_label": "व्यू",
|
||||
"views_none": "— कोई व्यू नहीं —",
|
||||
"views_manage": "व्यू सहेजें / प्रबंधित करें",
|
||||
"views_dialog_title": "सहेजे गए व्यू",
|
||||
"views_dialog_hint": "वर्तमान फ़िल्टर को एक नामित व्यू के रूप में सहेजें जिसे सभी उपयोग कर सकें।",
|
||||
"views_name_placeholder": "व्यू का नाम",
|
||||
"views_save_current": "वर्तमान फ़िल्टर सहेजें",
|
||||
"views_none_yet": "अभी तक कोई सहेजा गया व्यू नहीं।",
|
||||
"close": "बंद करें",
|
||||
"trigger_hint_now": "सेंसर अभी {value} दिखा रहा है।",
|
||||
"trigger_hint_above": "मान {target} से ऊपर जाते ही कार्य ट्रिगर होगा।",
|
||||
"trigger_hint_below": "मान {target} से नीचे आते ही यह ट्रिगर होगा।",
|
||||
"trigger_hint_counter_delta": "वर्तमान रीडिंग ({value}) से गिनती: {due} पर देय (+{target}); हर पूर्णता के बाद गिनती फिर से शुरू होती है।",
|
||||
"trigger_hint_counter_delta_edit": "पिछली पूर्णता से उपयोग गिनता है: +{target} के बाद देय; हर पूर्णता के बाद गिनती फिर से शुरू होती है।",
|
||||
"trigger_hint_counter_abs": "सेंसर {target} तक पहुँचते ही कार्य देय होगा।",
|
||||
"trigger_hint_runtime": "{hours} घंटे की संचित चालू-अवधि के बाद कार्य देय होगा; हर पूर्णता के बाद गिनती फिर से शुरू होती है।",
|
||||
"trigger_hint_state_change": "{count} स्थिति परिवर्तन(ों) के बाद कार्य देय होगा।",
|
||||
"trigger_hint_state_change_to": "“{state}” में {count} परिवर्तन(ों) के बाद कार्य देय होगा।",
|
||||
"trigger_hint_state_now": "वर्तमान स्थिति: {value}।",
|
||||
"adopt_problem_part": "पुर्ज़ा उपयोग करता है: {name}",
|
||||
"label_filter": "लेबल",
|
||||
"all_labels": "सभी लेबल",
|
||||
"settings_notify_scope": "केवल इस व्यू के लिए सूचित करें",
|
||||
"settings_notify_scope_all": "सभी कार्य",
|
||||
"settings_notify_scope_hint": "केवल वे कार्य अनुस्मारक भेजते हैं जो चुने गए व्यू के लेबल/उपयोगकर्ता फ़िल्टर से मेल खाते हैं। व्यू की स्थिति, क्रम और समूहन यहाँ अनदेखे रहते हैं।",
|
||||
"card_saved_view": "सहेजा गया व्यू",
|
||||
"card_saved_view_none": "कोई नहीं",
|
||||
"card_saved_view_help": "ऊपर दिए फ़िल्टरों के अतिरिक्त व्यू के स्थिति, उपयोगकर्ता और लेबल फ़िल्टर लागू करता है। व्यू का क्रम और समूहन पैनल की प्रदर्शन सेटिंग हैं और कार्ड पर लागू नहीं होते।",
|
||||
"doc_part_none": "इस पुर्ज़े से कोई दस्तावेज़ जुड़ा नहीं है।"
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "Dopo un numero di volte",
|
||||
"series_end_until": "In una data",
|
||||
"series_end_count_label": "Numero di volte",
|
||||
"series_end_until_label": "Data di fine"
|
||||
"series_end_until_label": "Data di fine",
|
||||
"parts_section": "Ricambi e consumabili",
|
||||
"part_add": "Aggiungi ricambio",
|
||||
"part_name": "Nome",
|
||||
"part_vendor": "Produttore",
|
||||
"part_storage_location": "Luogo di conservazione",
|
||||
"part_product_url": "URL del prodotto",
|
||||
"part_unit": "Unità",
|
||||
"part_cost": "Prezzo unitario",
|
||||
"part_stock": "Scorta",
|
||||
"part_reorder_threshold": "Soglia riordino",
|
||||
"part_restock_quantity": "Quantità di riordino",
|
||||
"part_auto_buy": "Task d'acquisto se scarso",
|
||||
"part_restock": "Correggi scorta",
|
||||
"restock_quantity_label": "Quantità acquistata",
|
||||
"consumes_parts_label": "Consuma ricambi",
|
||||
"parts_load_failed": "Impossibile caricare i ricambi di questo oggetto — le opzioni di consumo ricambi non sono al momento disponibili.",
|
||||
"settings_export_selection": "Limita agli oggetti selezionati (facoltativo)",
|
||||
"settings_docs_archive": "Archivio documenti (con file)",
|
||||
"settings_docs_archive_hint": "Gli export JSON/YAML/CSV contengono solo le impostazioni. Questo ZIP include il contenuto dei file caricati per un ripristino completo.",
|
||||
"settings_docs_export_btn": "Scarica ZIP dei documenti",
|
||||
"settings_docs_import_btn": "Ripristina ZIP dei documenti",
|
||||
"settings_docs_import_success": "Ripristinati: {blobs} file, {docs} documenti",
|
||||
"adopt_problem_button": "Adotta sensori di problema",
|
||||
"adopt_problem_title": "Adotta sensori di problema",
|
||||
"adopt_problem_hint": "Trasforma i sensori di problema di HA (errori stampante, avvisi filtro, batteria scarica) in attività di manutenzione che si attivano finché il problema è attivo e si completano quando si risolve.",
|
||||
"adopt_problem_none": "Nessun sensore di problema non ancora monitorato trovato.",
|
||||
"adopt_problem_active": "attivo",
|
||||
"adopt_problem_ok": "ok",
|
||||
"adopt_problem_new_object": "(nuovo)",
|
||||
"adopt_problem_adopt": "Adotta selezionati",
|
||||
"adopt_problem_done": "{tasks} sensore/i di problema adottato/i",
|
||||
"views_label": "Viste",
|
||||
"views_none": "— Nessuna vista —",
|
||||
"views_manage": "Salva / gestisci viste",
|
||||
"views_dialog_title": "Viste salvate",
|
||||
"views_dialog_hint": "Salva i filtri attuali come vista con nome riutilizzabile da tutti.",
|
||||
"views_name_placeholder": "Nome della vista",
|
||||
"views_save_current": "Salva filtri attuali",
|
||||
"views_none_yet": "Nessuna vista salvata.",
|
||||
"close": "Chiudi",
|
||||
"trigger_hint_now": "Il sensore indica {value} in questo momento.",
|
||||
"trigger_hint_above": "L'attività scatta quando supera {target}.",
|
||||
"trigger_hint_below": "Scatta quando scende sotto {target}.",
|
||||
"trigger_hint_counter_delta": "Conta dalla lettura attuale ({value}): scade a {due} (+{target}); il conteggio riparte dopo ogni completamento.",
|
||||
"trigger_hint_counter_delta_edit": "Conta l'uso dall'ultimo completamento: scade dopo +{target}; il conteggio riparte dopo ogni completamento.",
|
||||
"trigger_hint_counter_abs": "L'attività scade quando il sensore raggiunge {target}.",
|
||||
"trigger_hint_runtime": "L'attività scade dopo {hours} h di funzionamento accumulato; il conteggio riparte dopo ogni completamento.",
|
||||
"trigger_hint_state_change": "L'attività scade dopo {count} cambi(o) di stato.",
|
||||
"trigger_hint_state_change_to": "L'attività scade dopo {count} passaggi(o) a «{state}».",
|
||||
"trigger_hint_state_now": "Stato attuale: {value}.",
|
||||
"adopt_problem_part": "Usa il ricambio: {name}",
|
||||
"label_filter": "Etichetta",
|
||||
"all_labels": "Tutte le etichette",
|
||||
"settings_notify_scope": "Notifica solo per la vista",
|
||||
"settings_notify_scope_all": "Tutte le attività",
|
||||
"settings_notify_scope_hint": "Solo le attività che corrispondono ai filtri etichetta/utente della vista scelta inviano promemoria. Stato, ordinamento e raggruppamento della vista qui vengono ignorati.",
|
||||
"card_saved_view": "Vista salvata",
|
||||
"card_saved_view_none": "Nessuna",
|
||||
"card_saved_view_help": "Applica i filtri stato, utente ed etichetta della vista in aggiunta ai filtri sopra. Ordinamento e raggruppamento della vista sono impostazioni di visualizzazione del pannello e non si applicano alla scheda.",
|
||||
"doc_part_none": "Nessun documento collegato a questo ricambio."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "回数の後",
|
||||
"series_end_until": "日付で",
|
||||
"series_end_count_label": "回数",
|
||||
"series_end_until_label": "終了日"
|
||||
"series_end_until_label": "終了日",
|
||||
"parts_section": "部品・消耗品",
|
||||
"part_add": "部品を追加",
|
||||
"part_name": "名前",
|
||||
"part_vendor": "メーカー",
|
||||
"part_storage_location": "保管場所",
|
||||
"part_product_url": "製品URL",
|
||||
"part_unit": "単位",
|
||||
"part_cost": "単価",
|
||||
"part_stock": "在庫",
|
||||
"part_reorder_threshold": "再注文しきい値",
|
||||
"part_restock_quantity": "補充数量",
|
||||
"part_auto_buy": "在庫少で購入タスク",
|
||||
"part_restock": "在庫を調整",
|
||||
"restock_quantity_label": "購入数量",
|
||||
"consumes_parts_label": "部品を消費",
|
||||
"parts_load_failed": "このオブジェクトの部品を読み込めませんでした — 部品消費オプションは現在利用できません。",
|
||||
"settings_export_selection": "選択したオブジェクトに限定(任意)",
|
||||
"settings_docs_archive": "ドキュメントアーカイブ(ファイル付き)",
|
||||
"settings_docs_archive_hint": "JSON/YAML/CSV エクスポートには設定のみが含まれます。この ZIP にはアップロードしたファイルの内容が含まれ、復元が完全になります。",
|
||||
"settings_docs_export_btn": "ドキュメント ZIP をダウンロード",
|
||||
"settings_docs_import_btn": "ドキュメント ZIP を復元",
|
||||
"settings_docs_import_success": "復元: {blobs} 個のファイル、{docs} 件のドキュメント",
|
||||
"adopt_problem_button": "問題センサーを取り込む",
|
||||
"adopt_problem_title": "問題センサーを取り込む",
|
||||
"adopt_problem_hint": "HA の問題センサー(プリンターエラー、フィルター警告、バッテリー低下)を、問題が続く間トリガーされ、解消すると自動的に完了するメンテナンスタスクに変換します。",
|
||||
"adopt_problem_none": "まだ追跡されていない問題センサーは見つかりませんでした。",
|
||||
"adopt_problem_active": "発生中",
|
||||
"adopt_problem_ok": "正常",
|
||||
"adopt_problem_new_object": "(新規)",
|
||||
"adopt_problem_adopt": "選択を取り込む",
|
||||
"adopt_problem_done": "{tasks} 件の問題センサーを取り込みました",
|
||||
"views_label": "ビュー",
|
||||
"views_none": "— ビューなし —",
|
||||
"views_manage": "ビューを保存/管理",
|
||||
"views_dialog_title": "保存済みビュー",
|
||||
"views_dialog_hint": "現在のフィルターを、全員が再利用できる名前付きビューとして保存します。",
|
||||
"views_name_placeholder": "ビュー名",
|
||||
"views_save_current": "現在のフィルターを保存",
|
||||
"views_none_yet": "保存済みのビューはまだありません。",
|
||||
"close": "閉じる",
|
||||
"trigger_hint_now": "センサーは現在 {value} を示しています。",
|
||||
"trigger_hint_above": "値が {target} を上回るとタスクが発動します。",
|
||||
"trigger_hint_below": "値が {target} を下回ると発動します。",
|
||||
"trigger_hint_counter_delta": "現在の読み値({value})から数えます: {due}(+{target})で期限になり、完了のたびにカウントはやり直しになります。",
|
||||
"trigger_hint_counter_delta_edit": "前回の完了からの使用量を数えます: +{target} で期限になり、完了のたびにカウントはやり直しになります。",
|
||||
"trigger_hint_counter_abs": "センサーが {target} に達するとタスクが期限になります。",
|
||||
"trigger_hint_runtime": "累積稼働 {hours} 時間でタスクが期限になります。完了のたびにカウントはやり直しになります。",
|
||||
"trigger_hint_state_change": "{count} 回の状態変化でタスクが期限になります。",
|
||||
"trigger_hint_state_change_to": "「{state}」への {count} 回の変化でタスクが期限になります。",
|
||||
"trigger_hint_state_now": "現在の状態: {value}。",
|
||||
"adopt_problem_part": "使用する部品: {name}",
|
||||
"label_filter": "ラベル",
|
||||
"all_labels": "すべてのラベル",
|
||||
"settings_notify_scope": "このビューのみ通知",
|
||||
"settings_notify_scope_all": "すべてのタスク",
|
||||
"settings_notify_scope_hint": "選択した保存済みビューのラベル/ユーザーフィルターに一致するタスクのみがリマインダーを送信します。ビューのステータス・並び順・グループ化はここでは無視されます。",
|
||||
"card_saved_view": "保存済みビュー",
|
||||
"card_saved_view_none": "なし",
|
||||
"card_saved_view_help": "上記のフィルターに加えて、ビューのステータス・ユーザー・ラベルのフィルターを適用します。ビューの並び順とグループ化はパネルの表示設定であり、カードには適用されません。",
|
||||
"doc_part_none": "この部品にリンクされた文書はありません。"
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "Etter et antall ganger",
|
||||
"series_end_until": "På en dato",
|
||||
"series_end_count_label": "Antall ganger",
|
||||
"series_end_until_label": "Sluttdato"
|
||||
"series_end_until_label": "Sluttdato",
|
||||
"parts_section": "Deler & forbruksvarer",
|
||||
"part_add": "Legg til del",
|
||||
"part_name": "Navn",
|
||||
"part_vendor": "Produsent",
|
||||
"part_storage_location": "Lagringssted",
|
||||
"part_product_url": "Produkt-URL",
|
||||
"part_unit": "Enhet",
|
||||
"part_cost": "Stykkpris",
|
||||
"part_stock": "Lager",
|
||||
"part_reorder_threshold": "Bestillingsgrense",
|
||||
"part_restock_quantity": "Påfyllingsmengde",
|
||||
"part_auto_buy": "Kjøpsoppgave ved lavt lager",
|
||||
"part_restock": "Juster lager",
|
||||
"restock_quantity_label": "Kjøpt mengde",
|
||||
"consumes_parts_label": "Forbruker deler",
|
||||
"parts_load_failed": "Kunne ikke laste objektets deler — forbruksvalgene er ikke tilgjengelige nå.",
|
||||
"settings_export_selection": "Begrens til valgte objekter (valgfritt)",
|
||||
"settings_docs_archive": "Dokumentarkiv (med filer)",
|
||||
"settings_docs_archive_hint": "JSON/YAML/CSV-eksportene inneholder bare innstillinger. Denne ZIP-en inkluderer innholdet i de opplastede filene, slik at gjenoppretting blir fullstendig.",
|
||||
"settings_docs_export_btn": "Last ned dokument-ZIP",
|
||||
"settings_docs_import_btn": "Gjenopprett dokument-ZIP",
|
||||
"settings_docs_import_success": "Gjenopprettet: {blobs} filer, {docs} dokumenter",
|
||||
"adopt_problem_button": "Ta i bruk problemsensorer",
|
||||
"adopt_problem_title": "Ta i bruk problemsensorer",
|
||||
"adopt_problem_hint": "Gjør HA-problemsensorer (skriverfeil, filteradvarsler, lavt batteri) om til vedlikeholdsoppgaver som utløses mens problemet er aktivt og fullføres selv når det løses.",
|
||||
"adopt_problem_none": "Fant ingen problemsensorer som ikke allerede spores.",
|
||||
"adopt_problem_active": "aktiv",
|
||||
"adopt_problem_ok": "ok",
|
||||
"adopt_problem_new_object": "(ny)",
|
||||
"adopt_problem_adopt": "Ta i bruk valgte",
|
||||
"adopt_problem_done": "Tok i bruk {tasks} problemsensor(er)",
|
||||
"views_label": "Visninger",
|
||||
"views_none": "— Ingen visning —",
|
||||
"views_manage": "Lagre / administrer visninger",
|
||||
"views_dialog_title": "Lagrede visninger",
|
||||
"views_dialog_hint": "Lagre gjeldende filtre som en navngitt visning alle kan bruke.",
|
||||
"views_name_placeholder": "Visningsnavn",
|
||||
"views_save_current": "Lagre gjeldende filtre",
|
||||
"views_none_yet": "Ingen lagrede visninger ennå.",
|
||||
"close": "Lukk",
|
||||
"trigger_hint_now": "Sensoren viser {value} akkurat nå.",
|
||||
"trigger_hint_above": "Oppgaven utløses når verdien stiger over {target}.",
|
||||
"trigger_hint_below": "Den utløses når verdien faller under {target}.",
|
||||
"trigger_hint_counter_delta": "Teller fra gjeldende avlesning ({value}): forfaller ved {due} (+{target}); telleren starter på nytt etter hver fullføring.",
|
||||
"trigger_hint_counter_delta_edit": "Teller forbruket siden forrige fullføring: forfaller etter +{target}; telleren starter på nytt etter hver fullføring.",
|
||||
"trigger_hint_counter_abs": "Oppgaven forfaller når sensoren når {target}.",
|
||||
"trigger_hint_runtime": "Oppgaven forfaller etter {hours} t akkumulert driftstid; telleren starter på nytt etter hver fullføring.",
|
||||
"trigger_hint_state_change": "Oppgaven forfaller etter {count} tilstandsendring(er).",
|
||||
"trigger_hint_state_change_to": "Oppgaven forfaller etter {count} endring(er) til “{state}”.",
|
||||
"trigger_hint_state_now": "Gjeldende tilstand: {value}.",
|
||||
"adopt_problem_part": "Bruker del: {name}",
|
||||
"label_filter": "Etikett",
|
||||
"all_labels": "Alle etiketter",
|
||||
"settings_notify_scope": "Varsle kun for visning",
|
||||
"settings_notify_scope_all": "Alle oppgaver",
|
||||
"settings_notify_scope_hint": "Bare oppgaver som matcher etikett-/brukerfiltrene til valgt visning sender påminnelser. Visningens status, sortering og gruppering ignoreres her.",
|
||||
"card_saved_view": "Lagret visning",
|
||||
"card_saved_view_none": "Ingen",
|
||||
"card_saved_view_help": "Bruker visningens status-, bruker- og etikettfiltre i tillegg til filtrene over. Visningens sortering og gruppering er panelvisningsinnstillinger og brukes ikke på kortet.",
|
||||
"doc_part_none": "Ingen dokumenter knyttet til denne delen."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "Na een aantal keer",
|
||||
"series_end_until": "Op een datum",
|
||||
"series_end_count_label": "Aantal keer",
|
||||
"series_end_until_label": "Einddatum"
|
||||
"series_end_until_label": "Einddatum",
|
||||
"parts_section": "Onderdelen & verbruiksartikelen",
|
||||
"part_add": "Onderdeel toevoegen",
|
||||
"part_name": "Naam",
|
||||
"part_vendor": "Fabrikant",
|
||||
"part_storage_location": "Opslaglocatie",
|
||||
"part_product_url": "Product-URL",
|
||||
"part_unit": "Eenheid",
|
||||
"part_cost": "Stukprijs",
|
||||
"part_stock": "Voorraad",
|
||||
"part_reorder_threshold": "Bestelgrens",
|
||||
"part_restock_quantity": "Aanvulhoeveelheid",
|
||||
"part_auto_buy": "Kooptaak bij lage voorraad",
|
||||
"part_restock": "Voorraad aanpassen",
|
||||
"restock_quantity_label": "Gekochte hoeveelheid",
|
||||
"consumes_parts_label": "Verbruikt onderdelen",
|
||||
"parts_load_failed": "Kon de onderdelen van dit object niet laden — de verbruiksopties zijn nu niet beschikbaar.",
|
||||
"settings_export_selection": "Beperken tot geselecteerde objecten (optioneel)",
|
||||
"settings_docs_archive": "Documentenarchief (met bestanden)",
|
||||
"settings_docs_archive_hint": "De JSON/YAML/CSV-exports bevatten alleen instellingen. Deze ZIP bevat de geüploade bestandsinhoud voor een volledig herstel.",
|
||||
"settings_docs_export_btn": "Documenten-ZIP downloaden",
|
||||
"settings_docs_import_btn": "Documenten-ZIP herstellen",
|
||||
"settings_docs_import_success": "Hersteld: {blobs} bestanden, {docs} documenten",
|
||||
"adopt_problem_button": "Probleemsensoren overnemen",
|
||||
"adopt_problem_title": "Probleemsensoren overnemen",
|
||||
"adopt_problem_hint": "Zet HA-probleemsensoren (printerfouten, filterwaarschuwingen, lege batterij) om in onderhoudstaken die triggeren zolang het probleem actief is en zichzelf afronden wanneer het is opgelost.",
|
||||
"adopt_problem_none": "Geen probleemsensoren gevonden die nog niet worden gevolgd.",
|
||||
"adopt_problem_active": "actief",
|
||||
"adopt_problem_ok": "ok",
|
||||
"adopt_problem_new_object": "(nieuw)",
|
||||
"adopt_problem_adopt": "Selectie overnemen",
|
||||
"adopt_problem_done": "{tasks} probleemsensor(en) overgenomen",
|
||||
"views_label": "Weergaven",
|
||||
"views_none": "— Geen weergave —",
|
||||
"views_manage": "Weergaven opslaan/beheren",
|
||||
"views_dialog_title": "Opgeslagen weergaven",
|
||||
"views_dialog_hint": "Sla de huidige filters op als een benoemde weergave die iedereen kan gebruiken.",
|
||||
"views_name_placeholder": "Naam weergave",
|
||||
"views_save_current": "Huidige filters opslaan",
|
||||
"views_none_yet": "Nog geen opgeslagen weergaven.",
|
||||
"close": "Sluiten",
|
||||
"trigger_hint_now": "De sensor staat nu op {value}.",
|
||||
"trigger_hint_above": "De taak wordt geactiveerd zodra de waarde boven {target} komt.",
|
||||
"trigger_hint_below": "Hij wordt geactiveerd zodra de waarde onder {target} zakt.",
|
||||
"trigger_hint_counter_delta": "Telt vanaf de huidige stand ({value}): vervalt bij {due} (+{target}); de teller herstart na elke afronding.",
|
||||
"trigger_hint_counter_delta_edit": "Telt het gebruik sinds de laatste afronding: vervalt na +{target}; de teller herstart na elke afronding.",
|
||||
"trigger_hint_counter_abs": "De taak vervalt zodra de sensor {target} bereikt.",
|
||||
"trigger_hint_runtime": "De taak vervalt na {hours} u opgetelde draaitijd; de teller herstart na elke afronding.",
|
||||
"trigger_hint_state_change": "De taak vervalt na {count} statuswijziging(en).",
|
||||
"trigger_hint_state_change_to": "De taak vervalt na {count} wijziging(en) naar “{state}”.",
|
||||
"trigger_hint_state_now": "Huidige status: {value}.",
|
||||
"adopt_problem_part": "Gebruikt onderdeel: {name}",
|
||||
"label_filter": "Label",
|
||||
"all_labels": "Alle labels",
|
||||
"settings_notify_scope": "Alleen melden voor weergave",
|
||||
"settings_notify_scope_all": "Alle taken",
|
||||
"settings_notify_scope_hint": "Alleen taken die overeenkomen met de label-/gebruikersfilters van de gekozen weergave sturen herinneringen. Status, sortering en groepering van de weergave worden hier genegeerd.",
|
||||
"card_saved_view": "Opgeslagen weergave",
|
||||
"card_saved_view_none": "Geen",
|
||||
"card_saved_view_help": "Past de status-, gebruikers- en labelfilters van de weergave toe bovenop de bovenstaande filters. Sortering en groepering van de weergave zijn paneelweergave-instellingen en gelden niet voor de kaart.",
|
||||
"doc_part_none": "Geen documenten gekoppeld aan dit onderdeel."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "Po liczbie razy",
|
||||
"series_end_until": "W dniu",
|
||||
"series_end_count_label": "Liczba razy",
|
||||
"series_end_until_label": "Data końcowa"
|
||||
"series_end_until_label": "Data końcowa",
|
||||
"parts_section": "Części i materiały",
|
||||
"part_add": "Dodaj część",
|
||||
"part_name": "Nazwa",
|
||||
"part_vendor": "Producent",
|
||||
"part_storage_location": "Miejsce przechowywania",
|
||||
"part_product_url": "Adres URL produktu",
|
||||
"part_unit": "Jednostka",
|
||||
"part_cost": "Cena jednostkowa",
|
||||
"part_stock": "Stan",
|
||||
"part_reorder_threshold": "Próg zamówienia",
|
||||
"part_restock_quantity": "Ilość uzupełnienia",
|
||||
"part_auto_buy": "Zadanie zakupu przy niskim stanie",
|
||||
"part_restock": "Koryguj stan",
|
||||
"restock_quantity_label": "Kupiona ilość",
|
||||
"consumes_parts_label": "Zużywa części",
|
||||
"parts_load_failed": "Nie udało się wczytać części tego obiektu — opcje zużycia części są teraz niedostępne.",
|
||||
"settings_export_selection": "Ogranicz do wybranych obiektów (opcjonalnie)",
|
||||
"settings_docs_archive": "Archiwum dokumentów (z plikami)",
|
||||
"settings_docs_archive_hint": "Eksporty JSON/YAML/CSV zawierają tylko ustawienia. To ZIP zawiera treść przesłanych plików, aby przywracanie było kompletne.",
|
||||
"settings_docs_export_btn": "Pobierz ZIP dokumentów",
|
||||
"settings_docs_import_btn": "Przywróć ZIP dokumentów",
|
||||
"settings_docs_import_success": "Przywrócono: {blobs} plików, {docs} dokumentów",
|
||||
"adopt_problem_button": "Przejmij czujniki problemów",
|
||||
"adopt_problem_title": "Przejmij czujniki problemów",
|
||||
"adopt_problem_hint": "Zamienia czujniki problemów HA (błędy drukarki, ostrzeżenia filtra, niski poziom baterii) w zadania konserwacji, które uruchamiają się, gdy problem jest aktywny, i kończą się po jego rozwiązaniu.",
|
||||
"adopt_problem_none": "Nie znaleziono czujników problemów, które nie są już śledzone.",
|
||||
"adopt_problem_active": "aktywny",
|
||||
"adopt_problem_ok": "ok",
|
||||
"adopt_problem_new_object": "(nowy)",
|
||||
"adopt_problem_adopt": "Przejmij zaznaczone",
|
||||
"adopt_problem_done": "Przejęto {tasks} czujnik(ów) problemów",
|
||||
"views_label": "Widoki",
|
||||
"views_none": "— Brak widoku —",
|
||||
"views_manage": "Zapisz / zarządzaj widokami",
|
||||
"views_dialog_title": "Zapisane widoki",
|
||||
"views_dialog_hint": "Zapisz bieżące filtry jako nazwany widok, którego każdy może użyć.",
|
||||
"views_name_placeholder": "Nazwa widoku",
|
||||
"views_save_current": "Zapisz bieżące filtry",
|
||||
"views_none_yet": "Brak zapisanych widoków.",
|
||||
"close": "Zamknij",
|
||||
"trigger_hint_now": "Czujnik wskazuje teraz {value}.",
|
||||
"trigger_hint_above": "Zadanie uruchomi się, gdy wartość przekroczy {target}.",
|
||||
"trigger_hint_below": "Uruchomi się, gdy wartość spadnie poniżej {target}.",
|
||||
"trigger_hint_counter_delta": "Liczy od bieżącego odczytu ({value}): termin przy {due} (+{target}); licznik startuje od nowa po każdym ukończeniu.",
|
||||
"trigger_hint_counter_delta_edit": "Liczy zużycie od ostatniego ukończenia: termin po +{target}; licznik startuje od nowa po każdym ukończeniu.",
|
||||
"trigger_hint_counter_abs": "Zadanie staje się wymagalne, gdy czujnik osiągnie {target}.",
|
||||
"trigger_hint_runtime": "Zadanie staje się wymagalne po {hours} h łącznej pracy; licznik startuje od nowa po każdym ukończeniu.",
|
||||
"trigger_hint_state_change": "Zadanie staje się wymagalne po {count} zmianie/zmianach stanu.",
|
||||
"trigger_hint_state_change_to": "Zadanie staje się wymagalne po {count} zmianie/zmianach na „{state}”.",
|
||||
"trigger_hint_state_now": "Bieżący stan: {value}.",
|
||||
"adopt_problem_part": "Używa części: {name}",
|
||||
"label_filter": "Etykieta",
|
||||
"all_labels": "Wszystkie etykiety",
|
||||
"settings_notify_scope": "Powiadamiaj tylko dla widoku",
|
||||
"settings_notify_scope_all": "Wszystkie zadania",
|
||||
"settings_notify_scope_hint": "Przypomnienia wysyłają tylko zadania pasujące do filtrów etykiety/użytkownika wybranego widoku. Status, sortowanie i grupowanie widoku są tu ignorowane.",
|
||||
"card_saved_view": "Zapisany widok",
|
||||
"card_saved_view_none": "Brak",
|
||||
"card_saved_view_help": "Stosuje filtry statusu, użytkownika i etykiety widoku oprócz powyższych filtrów. Sortowanie i grupowanie widoku to ustawienia wyświetlania panelu i nie są stosowane na karcie.",
|
||||
"doc_part_none": "Brak dokumentów powiązanych z tą częścią."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "Após um número de vezes",
|
||||
"series_end_until": "Numa data",
|
||||
"series_end_count_label": "Número de vezes",
|
||||
"series_end_until_label": "Data final"
|
||||
"series_end_until_label": "Data final",
|
||||
"parts_section": "Peças e consumíveis",
|
||||
"part_add": "Adicionar peça",
|
||||
"part_name": "Nome",
|
||||
"part_vendor": "Fabricante",
|
||||
"part_storage_location": "Local de armazenamento",
|
||||
"part_product_url": "URL do produto",
|
||||
"part_unit": "Unidade",
|
||||
"part_cost": "Preço unitário",
|
||||
"part_stock": "Estoque",
|
||||
"part_reorder_threshold": "Limite de reposição",
|
||||
"part_restock_quantity": "Quantidade de reposição",
|
||||
"part_auto_buy": "Tarefa de compra se baixo",
|
||||
"part_restock": "Ajustar estoque",
|
||||
"restock_quantity_label": "Quantidade comprada",
|
||||
"consumes_parts_label": "Consome peças",
|
||||
"parts_load_failed": "Não foi possível carregar as peças deste objeto — as opções de consumo de peças estão indisponíveis.",
|
||||
"settings_export_selection": "Limitar aos objetos selecionados (opcional)",
|
||||
"settings_docs_archive": "Arquivo de documentos (com ficheiros)",
|
||||
"settings_docs_archive_hint": "As exportações JSON/YAML/CSV contêm apenas as definições. Este ZIP inclui o conteúdo dos ficheiros carregados para uma restauração completa.",
|
||||
"settings_docs_export_btn": "Descarregar ZIP de documentos",
|
||||
"settings_docs_import_btn": "Restaurar ZIP de documentos",
|
||||
"settings_docs_import_success": "Restaurado: {blobs} ficheiros, {docs} documentos",
|
||||
"adopt_problem_button": "Adotar sensores de problema",
|
||||
"adopt_problem_title": "Adotar sensores de problema",
|
||||
"adopt_problem_hint": "Transforma os sensores de problema do HA (erros de impressora, avisos de filtro, bateria fraca) em tarefas de manutenção que são acionadas enquanto o problema está ativo e se concluem quando é resolvido.",
|
||||
"adopt_problem_none": "Não foram encontrados sensores de problema que ainda não estejam a ser acompanhados.",
|
||||
"adopt_problem_active": "ativo",
|
||||
"adopt_problem_ok": "ok",
|
||||
"adopt_problem_new_object": "(novo)",
|
||||
"adopt_problem_adopt": "Adotar selecionados",
|
||||
"adopt_problem_done": "{tasks} sensor(es) de problema adotado(s)",
|
||||
"views_label": "Vistas",
|
||||
"views_none": "— Sem vista —",
|
||||
"views_manage": "Guardar / gerir vistas",
|
||||
"views_dialog_title": "Vistas guardadas",
|
||||
"views_dialog_hint": "Guarde os filtros atuais como uma vista nomeada que todos podem reutilizar.",
|
||||
"views_name_placeholder": "Nome da vista",
|
||||
"views_save_current": "Guardar filtros atuais",
|
||||
"views_none_yet": "Ainda não há vistas guardadas.",
|
||||
"close": "Fechar",
|
||||
"trigger_hint_now": "O sensor marca {value} neste momento.",
|
||||
"trigger_hint_above": "A tarefa dispara quando ultrapassar {target}.",
|
||||
"trigger_hint_below": "Dispara quando descer abaixo de {target}.",
|
||||
"trigger_hint_counter_delta": "Conta a partir da leitura atual ({value}): vence em {due} (+{target}); a contagem recomeça após cada conclusão.",
|
||||
"trigger_hint_counter_delta_edit": "Conta o uso desde a última conclusão: vence após +{target}; a contagem recomeça após cada conclusão.",
|
||||
"trigger_hint_counter_abs": "A tarefa vence quando o sensor atingir {target}.",
|
||||
"trigger_hint_runtime": "A tarefa vence após {hours} h de funcionamento acumulado; a contagem recomeça após cada conclusão.",
|
||||
"trigger_hint_state_change": "A tarefa vence após {count} mudança(s) de estado.",
|
||||
"trigger_hint_state_change_to": "A tarefa vence após {count} mudança(s) para «{state}».",
|
||||
"trigger_hint_state_now": "Estado atual: {value}.",
|
||||
"adopt_problem_part": "Usa a peça: {name}",
|
||||
"label_filter": "Etiqueta",
|
||||
"all_labels": "Todas as etiquetas",
|
||||
"settings_notify_scope": "Notificar apenas para a vista",
|
||||
"settings_notify_scope_all": "Todas as tarefas",
|
||||
"settings_notify_scope_hint": "Apenas as tarefas que correspondem aos filtros de etiqueta/utilizador da vista escolhida enviam lembretes. O estado, a ordenação e o agrupamento da vista são ignorados aqui.",
|
||||
"card_saved_view": "Vista guardada",
|
||||
"card_saved_view_none": "Nenhuma",
|
||||
"card_saved_view_help": "Aplica os filtros de estado, utilizador e etiqueta da vista além dos filtros acima. A ordenação e o agrupamento da vista são definições de apresentação do painel e não se aplicam ao cartão.",
|
||||
"doc_part_none": "Nenhum documento associado a esta peça."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "После числа раз",
|
||||
"series_end_until": "В дату",
|
||||
"series_end_count_label": "Число раз",
|
||||
"series_end_until_label": "Дата окончания"
|
||||
"series_end_until_label": "Дата окончания",
|
||||
"parts_section": "Детали и расходники",
|
||||
"part_add": "Добавить деталь",
|
||||
"part_name": "Название",
|
||||
"part_vendor": "Производитель",
|
||||
"part_storage_location": "Место хранения",
|
||||
"part_product_url": "Ссылка на товар",
|
||||
"part_unit": "Ед. изм.",
|
||||
"part_cost": "Цена за шт.",
|
||||
"part_stock": "Запас",
|
||||
"part_reorder_threshold": "Порог дозаказа",
|
||||
"part_restock_quantity": "Количество пополнения",
|
||||
"part_auto_buy": "Задача покупки при малом запасе",
|
||||
"part_restock": "Изменить запас",
|
||||
"restock_quantity_label": "Куплено, шт.",
|
||||
"consumes_parts_label": "Расходует детали",
|
||||
"parts_load_failed": "Не удалось загрузить запчасти этого объекта — параметры расхода запчастей сейчас недоступны.",
|
||||
"settings_export_selection": "Ограничить выбранными объектами (необязательно)",
|
||||
"settings_docs_archive": "Архив документов (с файлами)",
|
||||
"settings_docs_archive_hint": "Экспорты JSON/YAML/CSV содержат только настройки. Этот ZIP включает содержимое загруженных файлов, чтобы восстановление было полным.",
|
||||
"settings_docs_export_btn": "Скачать ZIP документов",
|
||||
"settings_docs_import_btn": "Восстановить ZIP документов",
|
||||
"settings_docs_import_success": "Восстановлено: {blobs} файлов, {docs} документов",
|
||||
"adopt_problem_button": "Принять сенсоры проблем",
|
||||
"adopt_problem_title": "Принять сенсоры проблем",
|
||||
"adopt_problem_hint": "Превращает сенсоры проблем HA (ошибки принтера, предупреждения фильтра, низкий заряд) в задачи обслуживания, которые срабатывают, пока проблема активна, и завершаются сами при её устранении.",
|
||||
"adopt_problem_none": "Не найдено сенсоров проблем, которые ещё не отслеживаются.",
|
||||
"adopt_problem_active": "активна",
|
||||
"adopt_problem_ok": "норма",
|
||||
"adopt_problem_new_object": "(новый)",
|
||||
"adopt_problem_adopt": "Принять выбранные",
|
||||
"adopt_problem_done": "Принято сенсоров проблем: {tasks}",
|
||||
"views_label": "Представления",
|
||||
"views_none": "— Без представления —",
|
||||
"views_manage": "Сохранить / управлять представлениями",
|
||||
"views_dialog_title": "Сохранённые представления",
|
||||
"views_dialog_hint": "Сохраните текущие фильтры как именованное представление, доступное всем.",
|
||||
"views_name_placeholder": "Название представления",
|
||||
"views_save_current": "Сохранить текущие фильтры",
|
||||
"views_none_yet": "Пока нет сохранённых представлений.",
|
||||
"close": "Закрыть",
|
||||
"trigger_hint_now": "Сейчас датчик показывает {value}.",
|
||||
"trigger_hint_above": "Задача сработает, когда значение поднимется выше {target}.",
|
||||
"trigger_hint_below": "Она сработает, когда значение опустится ниже {target}.",
|
||||
"trigger_hint_counter_delta": "Отсчёт от текущего показания ({value}): срок при {due} (+{target}); счётчик начинается заново после каждого выполнения.",
|
||||
"trigger_hint_counter_delta_edit": "Считает расход с последнего выполнения: срок после +{target}; счётчик начинается заново после каждого выполнения.",
|
||||
"trigger_hint_counter_abs": "Задача наступит, когда датчик достигнет {target}.",
|
||||
"trigger_hint_runtime": "Задача наступит после {hours} ч суммарной наработки; счётчик начинается заново после каждого выполнения.",
|
||||
"trigger_hint_state_change": "Задача наступит после {count} изменения(й) состояния.",
|
||||
"trigger_hint_state_change_to": "Задача наступит после {count} перехода(ов) в «{state}».",
|
||||
"trigger_hint_state_now": "Текущее состояние: {value}.",
|
||||
"adopt_problem_part": "Использует деталь: {name}",
|
||||
"label_filter": "Метка",
|
||||
"all_labels": "Все метки",
|
||||
"settings_notify_scope": "Уведомлять только для представления",
|
||||
"settings_notify_scope_all": "Все задачи",
|
||||
"settings_notify_scope_hint": "Напоминания отправляют только задачи, совпадающие с фильтрами метки/пользователя выбранного представления. Статус, сортировка и группировка представления здесь игнорируются.",
|
||||
"card_saved_view": "Сохранённое представление",
|
||||
"card_saved_view_none": "Нет",
|
||||
"card_saved_view_help": "Применяет фильтры статуса, пользователя и метки представления в дополнение к фильтрам выше. Сортировка и группировка представления — настройки отображения панели и на карточке не применяются.",
|
||||
"doc_part_none": "К этой запчасти не привязаны документы."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "Efter ett antal gånger",
|
||||
"series_end_until": "På ett datum",
|
||||
"series_end_count_label": "Antal gånger",
|
||||
"series_end_until_label": "Slutdatum"
|
||||
"series_end_until_label": "Slutdatum",
|
||||
"parts_section": "Delar & förbrukning",
|
||||
"part_add": "Lägg till del",
|
||||
"part_name": "Namn",
|
||||
"part_vendor": "Tillverkare",
|
||||
"part_storage_location": "Förvaringsplats",
|
||||
"part_product_url": "Produkt-URL",
|
||||
"part_unit": "Enhet",
|
||||
"part_cost": "Styckpris",
|
||||
"part_stock": "Lager",
|
||||
"part_reorder_threshold": "Beställningsgräns",
|
||||
"part_restock_quantity": "Påfyllningsantal",
|
||||
"part_auto_buy": "Köpuppgift vid lågt lager",
|
||||
"part_restock": "Justera lager",
|
||||
"restock_quantity_label": "Köpt antal",
|
||||
"consumes_parts_label": "Förbrukar delar",
|
||||
"parts_load_failed": "Kunde inte läsa in objektets delar — förbrukningsalternativen är inte tillgängliga just nu.",
|
||||
"settings_export_selection": "Begränsa till valda objekt (valfritt)",
|
||||
"settings_docs_archive": "Dokumentarkiv (med filer)",
|
||||
"settings_docs_archive_hint": "JSON/YAML/CSV-exporterna innehåller bara inställningar. Denna ZIP innehåller de uppladdade filernas innehåll så att en återställning blir fullständig.",
|
||||
"settings_docs_export_btn": "Ladda ner dokument-ZIP",
|
||||
"settings_docs_import_btn": "Återställ dokument-ZIP",
|
||||
"settings_docs_import_success": "Återställt: {blobs} filer, {docs} dokument",
|
||||
"adopt_problem_button": "Anta problemsensorer",
|
||||
"adopt_problem_title": "Anta problemsensorer",
|
||||
"adopt_problem_hint": "Gör HA:s problemsensorer (skrivarfel, filtervarningar, lågt batteri) till underhållsuppgifter som utlöses medan problemet är aktivt och avslutas själva när det löses.",
|
||||
"adopt_problem_none": "Inga problemsensorer hittades som inte redan spåras.",
|
||||
"adopt_problem_active": "aktiv",
|
||||
"adopt_problem_ok": "ok",
|
||||
"adopt_problem_new_object": "(ny)",
|
||||
"adopt_problem_adopt": "Anta valda",
|
||||
"adopt_problem_done": "Antog {tasks} problemsensor(er)",
|
||||
"views_label": "Vyer",
|
||||
"views_none": "— Ingen vy —",
|
||||
"views_manage": "Spara / hantera vyer",
|
||||
"views_dialog_title": "Sparade vyer",
|
||||
"views_dialog_hint": "Spara de aktuella filtren som en namngiven vy som alla kan återanvända.",
|
||||
"views_name_placeholder": "Vynamn",
|
||||
"views_save_current": "Spara aktuella filter",
|
||||
"views_none_yet": "Inga sparade vyer ännu.",
|
||||
"close": "Stäng",
|
||||
"trigger_hint_now": "Sensorn visar {value} just nu.",
|
||||
"trigger_hint_above": "Uppgiften utlöses när värdet stiger över {target}.",
|
||||
"trigger_hint_below": "Den utlöses när värdet faller under {target}.",
|
||||
"trigger_hint_counter_delta": "Räknar från den aktuella avläsningen ({value}): förfaller vid {due} (+{target}); räknaren börjar om efter varje slutförande.",
|
||||
"trigger_hint_counter_delta_edit": "Räknar förbrukningen sedan senaste slutförandet: förfaller efter +{target}; räknaren börjar om efter varje slutförande.",
|
||||
"trigger_hint_counter_abs": "Uppgiften förfaller när sensorn når {target}.",
|
||||
"trigger_hint_runtime": "Uppgiften förfaller efter {hours} h ackumulerad drifttid; räknaren börjar om efter varje slutförande.",
|
||||
"trigger_hint_state_change": "Uppgiften förfaller efter {count} tillståndsändring(ar).",
|
||||
"trigger_hint_state_change_to": "Uppgiften förfaller efter {count} ändring(ar) till ”{state}”.",
|
||||
"trigger_hint_state_now": "Aktuellt tillstånd: {value}.",
|
||||
"adopt_problem_part": "Använder reservdel: {name}",
|
||||
"label_filter": "Etikett",
|
||||
"all_labels": "Alla etiketter",
|
||||
"settings_notify_scope": "Avisera endast för vy",
|
||||
"settings_notify_scope_all": "Alla uppgifter",
|
||||
"settings_notify_scope_hint": "Endast uppgifter som matchar den valda vyns etikett-/användarfilter skickar påminnelser. Vyns status, sortering och gruppering ignoreras här.",
|
||||
"card_saved_view": "Sparad vy",
|
||||
"card_saved_view_none": "Ingen",
|
||||
"card_saved_view_help": "Tillämpar vyns status-, användar- och etikettfilter utöver filtren ovan. Vyns sortering och gruppering är panelvisningsinställningar och tillämpas inte på kortet.",
|
||||
"doc_part_none": "Inga dokument länkade till denna del."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "Після кількості разів",
|
||||
"series_end_until": "У дату",
|
||||
"series_end_count_label": "Кількість разів",
|
||||
"series_end_until_label": "Дата завершення"
|
||||
"series_end_until_label": "Дата завершення",
|
||||
"parts_section": "Деталі та витратні матеріали",
|
||||
"part_add": "Додати деталь",
|
||||
"part_name": "Назва",
|
||||
"part_vendor": "Виробник",
|
||||
"part_storage_location": "Місце зберігання",
|
||||
"part_product_url": "Посилання на товар",
|
||||
"part_unit": "Одиниця",
|
||||
"part_cost": "Ціна за од.",
|
||||
"part_stock": "Запас",
|
||||
"part_reorder_threshold": "Поріг замовлення",
|
||||
"part_restock_quantity": "Кількість поповнення",
|
||||
"part_auto_buy": "Завдання купівлі при малому запасі",
|
||||
"part_restock": "Змінити запас",
|
||||
"restock_quantity_label": "Куплена кількість",
|
||||
"consumes_parts_label": "Витрачає деталі",
|
||||
"parts_load_failed": "Не вдалося завантажити запчастини цього об'єкта — параметри витрати запчастин зараз недоступні.",
|
||||
"settings_export_selection": "Обмежити вибраними об'єктами (необов'язково)",
|
||||
"settings_docs_archive": "Архів документів (з файлами)",
|
||||
"settings_docs_archive_hint": "Експорти JSON/YAML/CSV містять лише налаштування. Цей ZIP містить вміст завантажених файлів, щоб відновлення було повним.",
|
||||
"settings_docs_export_btn": "Завантажити ZIP документів",
|
||||
"settings_docs_import_btn": "Відновити ZIP документів",
|
||||
"settings_docs_import_success": "Відновлено: {blobs} файлів, {docs} документів",
|
||||
"adopt_problem_button": "Прийняти сенсори проблем",
|
||||
"adopt_problem_title": "Прийняти сенсори проблем",
|
||||
"adopt_problem_hint": "Перетворює сенсори проблем HA (помилки принтера, попередження фільтра, низький заряд) на завдання обслуговування, які спрацьовують, поки проблема активна, і завершуються самі після її усунення.",
|
||||
"adopt_problem_none": "Не знайдено сенсорів проблем, які ще не відстежуються.",
|
||||
"adopt_problem_active": "активна",
|
||||
"adopt_problem_ok": "норма",
|
||||
"adopt_problem_new_object": "(новий)",
|
||||
"adopt_problem_adopt": "Прийняти вибрані",
|
||||
"adopt_problem_done": "Прийнято сенсорів проблем: {tasks}",
|
||||
"views_label": "Подання",
|
||||
"views_none": "— Без подання —",
|
||||
"views_manage": "Зберегти / керувати поданнями",
|
||||
"views_dialog_title": "Збережені подання",
|
||||
"views_dialog_hint": "Збережіть поточні фільтри як іменоване подання, доступне всім.",
|
||||
"views_name_placeholder": "Назва подання",
|
||||
"views_save_current": "Зберегти поточні фільтри",
|
||||
"views_none_yet": "Ще немає збережених подань.",
|
||||
"close": "Закрити",
|
||||
"trigger_hint_now": "Зараз датчик показує {value}.",
|
||||
"trigger_hint_above": "Завдання спрацює, коли значення підніметься вище {target}.",
|
||||
"trigger_hint_below": "Воно спрацює, коли значення опуститься нижче {target}.",
|
||||
"trigger_hint_counter_delta": "Відлік від поточного показника ({value}): термін при {due} (+{target}); лічильник починається заново після кожного виконання.",
|
||||
"trigger_hint_counter_delta_edit": "Рахує використання з останнього виконання: термін після +{target}; лічильник починається заново після кожного виконання.",
|
||||
"trigger_hint_counter_abs": "Завдання настане, коли датчик досягне {target}.",
|
||||
"trigger_hint_runtime": "Завдання настане після {hours} год сумарного напрацювання; лічильник починається заново після кожного виконання.",
|
||||
"trigger_hint_state_change": "Завдання настане після {count} зміни(-) стану.",
|
||||
"trigger_hint_state_change_to": "Завдання настане після {count} переходу(-ів) у «{state}».",
|
||||
"trigger_hint_state_now": "Поточний стан: {value}.",
|
||||
"adopt_problem_part": "Використовує деталь: {name}",
|
||||
"label_filter": "Мітка",
|
||||
"all_labels": "Усі мітки",
|
||||
"settings_notify_scope": "Сповіщати лише для подання",
|
||||
"settings_notify_scope_all": "Усі завдання",
|
||||
"settings_notify_scope_hint": "Нагадування надсилають лише завдання, що відповідають фільтрам мітки/користувача обраного подання. Статус, сортування та групування подання тут ігноруються.",
|
||||
"card_saved_view": "Збережене подання",
|
||||
"card_saved_view_none": "Немає",
|
||||
"card_saved_view_help": "Застосовує фільтри статусу, користувача та мітки подання додатково до фільтрів вище. Сортування та групування подання — налаштування відображення панелі й на картці не застосовуються.",
|
||||
"doc_part_none": "До цієї запчастини не прив'язано документів."
|
||||
}
|
||||
|
||||
@@ -706,5 +706,65 @@
|
||||
"series_end_after_count": "达到次数后",
|
||||
"series_end_until": "在某日期",
|
||||
"series_end_count_label": "次数",
|
||||
"series_end_until_label": "结束日期"
|
||||
"series_end_until_label": "结束日期",
|
||||
"parts_section": "配件与耗材",
|
||||
"part_add": "添加配件",
|
||||
"part_name": "名称",
|
||||
"part_vendor": "制造商",
|
||||
"part_storage_location": "存放位置",
|
||||
"part_product_url": "商品链接",
|
||||
"part_unit": "单位",
|
||||
"part_cost": "单价",
|
||||
"part_stock": "库存",
|
||||
"part_reorder_threshold": "补货阈值",
|
||||
"part_restock_quantity": "补货数量",
|
||||
"part_auto_buy": "库存低时自动建购买任务",
|
||||
"part_restock": "调整库存",
|
||||
"restock_quantity_label": "购买数量",
|
||||
"consumes_parts_label": "消耗配件",
|
||||
"parts_load_failed": "无法加载此对象的配件 — 配件消耗选项暂时不可用。",
|
||||
"settings_export_selection": "仅限所选对象(可选)",
|
||||
"settings_docs_archive": "文档存档(含文件)",
|
||||
"settings_docs_archive_hint": "JSON/YAML/CSV 导出仅包含设置。此 ZIP 包含已上传的文件内容,以便完整恢复。",
|
||||
"settings_docs_export_btn": "下载文档 ZIP",
|
||||
"settings_docs_import_btn": "恢复文档 ZIP",
|
||||
"settings_docs_import_success": "已恢复:{blobs} 个文件,{docs} 个文档",
|
||||
"adopt_problem_button": "采用问题传感器",
|
||||
"adopt_problem_title": "采用问题传感器",
|
||||
"adopt_problem_hint": "将 HA 问题传感器(打印机错误、滤网警告、电量低)转换为维护任务:问题存在时触发,问题解决后自动完成。",
|
||||
"adopt_problem_none": "未找到尚未跟踪的问题传感器。",
|
||||
"adopt_problem_active": "存在",
|
||||
"adopt_problem_ok": "正常",
|
||||
"adopt_problem_new_object": "(新建)",
|
||||
"adopt_problem_adopt": "采用所选",
|
||||
"adopt_problem_done": "已采用 {tasks} 个问题传感器",
|
||||
"views_label": "视图",
|
||||
"views_none": "— 无视图 —",
|
||||
"views_manage": "保存/管理视图",
|
||||
"views_dialog_title": "已保存的视图",
|
||||
"views_dialog_hint": "将当前筛选保存为所有人都可复用的命名视图。",
|
||||
"views_name_placeholder": "视图名称",
|
||||
"views_save_current": "保存当前筛选",
|
||||
"views_none_yet": "尚无已保存的视图。",
|
||||
"close": "关闭",
|
||||
"trigger_hint_now": "传感器当前读数为 {value}。",
|
||||
"trigger_hint_above": "当数值升到 {target} 以上时任务触发。",
|
||||
"trigger_hint_below": "当数值降到 {target} 以下时任务触发。",
|
||||
"trigger_hint_counter_delta": "从当前读数({value})开始计数:到 {due}(+{target})时到期;每次完成后重新计数。",
|
||||
"trigger_hint_counter_delta_edit": "从上次完成开始计算用量:+{target} 后到期;每次完成后重新计数。",
|
||||
"trigger_hint_counter_abs": "当传感器达到 {target} 时任务到期。",
|
||||
"trigger_hint_runtime": "累计运行 {hours} 小时后任务到期;每次完成后重新计数。",
|
||||
"trigger_hint_state_change": "经过 {count} 次状态变化后任务到期。",
|
||||
"trigger_hint_state_change_to": "变为“{state}”共 {count} 次后任务到期。",
|
||||
"trigger_hint_state_now": "当前状态:{value}。",
|
||||
"adopt_problem_part": "使用配件:{name}",
|
||||
"label_filter": "标签",
|
||||
"all_labels": "所有标签",
|
||||
"settings_notify_scope": "仅为该视图发送通知",
|
||||
"settings_notify_scope_all": "所有任务",
|
||||
"settings_notify_scope_hint": "只有匹配所选视图的标签/用户筛选的任务才会发送提醒。视图的状态、排序和分组在此处被忽略。",
|
||||
"card_saved_view": "已保存的视图",
|
||||
"card_saved_view_none": "无",
|
||||
"card_saved_view_help": "在上述筛选之外再应用该视图的状态、用户和标签筛选。视图的排序和分组属于面板显示设置,不会应用到卡片上。",
|
||||
"doc_part_none": "此部件没有关联的文档。"
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
import{a as f}from"./chunk-SHU63LHK.js";import{a as h,b as o,d as b,e as m,f as g,g as n,h as _,j as a,l as v,s as p}from"./chunk-GKOWV2CF.js";import{a as i}from"./chunk-LO2NM3CE.js";var s=class extends m{constructor(){super(...arguments);this._config={type:""};this._status=null;this._busy=!1;this._error="";this._localMonthly="";this._localYearly="";this._dirty=!1;this._loaded=!1}setConfig(t){this._config=t}getCardSize(){return 2}get _lang(){return this.hass?.language||"en"}get _isAdmin(){return this.hass?.user?.is_admin??!0}updated(t){super.updated(t),t.has("hass")&&this.hass&&!this._loaded&&(this._loaded=!0,this._load(),v(this._lang).then(()=>this.requestUpdate()))}async _load(){try{let t=await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/budget_status"});this._status=t,this._localMonthly=t.monthly_budget?String(t.monthly_budget):"",this._localYearly=t.yearly_budget?String(t.yearly_budget):"",this._dirty=!1}catch(t){this._error=p(t,this._lang)}}async _save(){if(this._isAdmin){this._busy=!0,this._error="";try{let t=parseFloat(this._localMonthly),e=parseFloat(this._localYearly),r={};!isNaN(t)&&t>=0&&(r.budget_monthly=t),!isNaN(e)&&e>=0&&(r.budget_yearly=e),await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/global/update",settings:r}),await this._load()}catch(t){this._error=p(t,this._lang)}finally{this._busy=!1}}}_onDeepLink(){history.pushState(null,"","/maintenance-supporter?ms_action=open_budget"),window.dispatchEvent(new CustomEvent("location-changed"))}render(){let t=this._lang,e=this._status;if(!e)return o`<ha-card><div class="loading">${a("loading",t)||"Loading\u2026"}</div></ha-card>`;let r=e.currency_symbol||_,l=e.monthly_budget?Math.min(100,(e.monthly_spent||0)/e.monthly_budget*100):0,d=e.yearly_budget?Math.min(100,(e.yearly_spent||0)/e.yearly_budget*100):0,u=l>=100?"danger":l>=80?"warning":"ok",y=d>=100?"danger":d>=80?"warning":"ok";return o`
|
||||
import{a as f}from"./chunk-ELFU7VML.js";import{a as h,b as o,d as b,e as m,f as g,g as n,h as _,i as a,k as v,s as p}from"./chunk-K74DD3QA.js";import{a as i}from"./chunk-PEGRBZWY.js";var s=class extends m{constructor(){super(...arguments);this._config={type:""};this._status=null;this._busy=!1;this._error="";this._localMonthly="";this._localYearly="";this._dirty=!1;this._loaded=!1}setConfig(t){this._config=t}getCardSize(){return 2}get _lang(){return this.hass?.language||"en"}get _isAdmin(){return this.hass?.user?.is_admin??!0}updated(t){super.updated(t),t.has("hass")&&this.hass&&!this._loaded&&(this._loaded=!0,this._load(),v(this._lang).then(()=>this.requestUpdate()))}async _load(){try{let t=await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/budget_status"});this._status=t,this._localMonthly=t.monthly_budget?String(t.monthly_budget):"",this._localYearly=t.yearly_budget?String(t.yearly_budget):"",this._dirty=!1}catch(t){this._error=p(t,this._lang)}}async _save(){if(this._isAdmin){this._busy=!0,this._error="";try{let t=parseFloat(this._localMonthly),e=parseFloat(this._localYearly),r={};!isNaN(t)&&t>=0&&(r.budget_monthly=t),!isNaN(e)&&e>=0&&(r.budget_yearly=e),await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/global/update",settings:r}),await this._load()}catch(t){this._error=p(t,this._lang)}finally{this._busy=!1}}}_onDeepLink(){history.pushState(null,"","/maintenance-supporter?ms_action=open_budget"),window.dispatchEvent(new CustomEvent("location-changed"))}render(){let t=this._lang,e=this._status;if(!e)return o`<ha-card><div class="loading">${a("loading",t)||"Loading\u2026"}</div></ha-card>`;let r=e.currency_symbol||_,l=e.monthly_budget?Math.min(100,(e.monthly_spent||0)/e.monthly_budget*100):0,d=e.yearly_budget?Math.min(100,(e.yearly_spent||0)/e.yearly_budget*100):0,u=l>=100?"danger":l>=80?"warning":"ok",y=d>=100?"danger":d>=80?"warning":"ok";return o`
|
||||
<ha-card>
|
||||
<div class="card-content">
|
||||
<div class="header">
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import{a as r}from"./chunk-GKOWV2CF.js";var a=r`
|
||||
import{a as r}from"./chunk-K74DD3QA.js";var a=r`
|
||||
ha-card { overflow: hidden; }
|
||||
.card-content {
|
||||
padding: 16px;
|
||||
+25
-9
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
var h=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var j=(g,b,d,c)=>{for(var a=c>1?void 0:c?i(b,d):b,e=g.length-1,f;e>=0;e--)(f=g[e])&&(a=(c?f(b,d,a):f(a))||a);return c&&a&&h(b,d,a),a};export{j as a};
|
||||
@@ -0,0 +1 @@
|
||||
var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var t=(a,r,c,o)=>{for(var e=o>1?void 0:o?l(r,c):r,i=a.length-1,d;i>=0;i--)(d=a[i])&&(e=(o?d(r,c,e):d(e))||e);return o&&e&&s(r,c,e),e};var m={ok:"var(--success-color, #4caf50)",due_soon:"var(--warning-color, #ff9800)",overdue:"var(--error-color, #f44336)",triggered:"var(--deep-orange-color, #ff5722)",archived:"var(--disabled-color, #9e9e9e)",paused:"var(--info-color, #2196f3)"},v={ok:"mdi:check-circle",due_soon:"mdi:alert-circle",overdue:"mdi:alert-octagon",triggered:"mdi:bell-alert",archived:"mdi:archive-outline",paused:"mdi:pause-circle-outline",completed:"mdi:check-circle",skipped:"mdi:skip-next",missed:"mdi:calendar-remove",reset:"mdi:refresh"};export{t as a,m as b,v as c};
|
||||
+234
-175
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
import{a as m}from"./chunk-SHU63LHK.js";import{a as u,b as s,d as l,e as h,f as g,g as o,j as i,l as _,s as p}from"./chunk-GKOWV2CF.js";import{a}from"./chunk-LO2NM3CE.js";var e=class extends h{constructor(){super(...arguments);this._config={type:""};this._groups={};this._loaded=!1;this._busy=!1;this._error="";this._newName="";this._editingId=null;this._editingName="";this._hasInitiallyLoaded=!1}setConfig(t){this._config=t}getCardSize(){return 2}get _lang(){return this.hass?.language||"en"}get _isAdmin(){return this.hass?.user?.is_admin??!0}updated(t){super.updated(t),t.has("hass")&&this.hass&&!this._hasInitiallyLoaded&&(this._hasInitiallyLoaded=!0,this._load(),_(this._lang).then(()=>this.requestUpdate()))}async _load(){try{let t=await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/groups"});this._groups=t.groups||{},this._loaded=!0}catch(t){this._error=p(t,this._lang)}}async _addGroup(){if(!this._isAdmin)return;let t=this._newName.trim();if(t){this._busy=!0,this._error="";try{await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/group/create",name:t}),this._newName="",await this._load()}catch(r){this._error=p(r,this._lang)}finally{this._busy=!1}}}_startEdit(t){this._editingId=t,this._editingName=this._groups[t]?.name||""}async _saveEdit(){if(!this._isAdmin||!this._editingId)return;let t=this._editingName.trim();if(t){this._busy=!0,this._error="";try{await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/group/update",group_id:this._editingId,name:t}),this._editingId=null,this._editingName="",await this._load()}catch(r){this._error=p(r,this._lang)}finally{this._busy=!1}}}async _deleteGroup(t,r){if(!this._isAdmin)return;let n=(i("group_delete_confirm",this._lang)||'Delete group "{name}"?').replace("{name}",r);if(window.confirm(n)){this._busy=!0;try{await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/group/delete",group_id:t}),await this._load()}catch(d){this._error=p(d,this._lang)}finally{this._busy=!1}}}_onDeepLink(){history.pushState(null,"","/maintenance-supporter?ms_action=open_groups"),window.dispatchEvent(new CustomEvent("location-changed"))}_onKeyDown(t,r){t.key==="Enter"?(t.preventDefault(),r()):t.key==="Escape"&&(t.preventDefault(),this._editingId=null,this._editingName="")}render(){let t=this._lang;if(!this._loaded)return s`<ha-card><div class="loading">${i("loading",t)||"Loading\u2026"}</div></ha-card>`;let r=Object.keys(this._groups);return s`
|
||||
import{a as m}from"./chunk-ELFU7VML.js";import{a as u,b as s,d as l,e as h,f as g,g as o,i,k as _,s as p}from"./chunk-K74DD3QA.js";import{a}from"./chunk-PEGRBZWY.js";var e=class extends h{constructor(){super(...arguments);this._config={type:""};this._groups={};this._loaded=!1;this._busy=!1;this._error="";this._newName="";this._editingId=null;this._editingName="";this._hasInitiallyLoaded=!1}setConfig(t){this._config=t}getCardSize(){return 2}get _lang(){return this.hass?.language||"en"}get _isAdmin(){return this.hass?.user?.is_admin??!0}updated(t){super.updated(t),t.has("hass")&&this.hass&&!this._hasInitiallyLoaded&&(this._hasInitiallyLoaded=!0,this._load(),_(this._lang).then(()=>this.requestUpdate()))}async _load(){try{let t=await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/groups"});this._groups=t.groups||{},this._loaded=!0}catch(t){this._error=p(t,this._lang)}}async _addGroup(){if(!this._isAdmin)return;let t=this._newName.trim();if(t){this._busy=!0,this._error="";try{await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/group/create",name:t}),this._newName="",await this._load()}catch(r){this._error=p(r,this._lang)}finally{this._busy=!1}}}_startEdit(t){this._editingId=t,this._editingName=this._groups[t]?.name||""}async _saveEdit(){if(!this._isAdmin||!this._editingId)return;let t=this._editingName.trim();if(t){this._busy=!0,this._error="";try{await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/group/update",group_id:this._editingId,name:t}),this._editingId=null,this._editingName="",await this._load()}catch(r){this._error=p(r,this._lang)}finally{this._busy=!1}}}async _deleteGroup(t,r){if(!this._isAdmin)return;let n=(i("group_delete_confirm",this._lang)||'Delete group "{name}"?').replace("{name}",r);if(window.confirm(n)){this._busy=!0;try{await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/group/delete",group_id:t}),await this._load()}catch(d){this._error=p(d,this._lang)}finally{this._busy=!1}}}_onDeepLink(){history.pushState(null,"","/maintenance-supporter?ms_action=open_groups"),window.dispatchEvent(new CustomEvent("location-changed"))}_onKeyDown(t,r){t.key==="Enter"?(t.preventDefault(),r()):t.key==="Escape"&&(t.preventDefault(),this._editingId=null,this._editingName="")}render(){let t=this._lang;if(!this._loaded)return s`<ha-card><div class="loading">${i("loading",t)||"Loading\u2026"}</div></ha-card>`;let r=Object.keys(this._groups);return s`
|
||||
<ha-card>
|
||||
<div class="card-content">
|
||||
<div class="header">
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import{a as m}from"./chunk-SHU63LHK.js";import{a as h,b as n,d as c,e as _,f as v,g as r,j as e,l as f,s as l}from"./chunk-GKOWV2CF.js";import{a as i}from"./chunk-LO2NM3CE.js";var a=class extends _{constructor(){super(...arguments);this._config={type:""};this._state=null;this._busy=!1;this._error="";this._localStart="";this._localEnd="";this._localBuffer=7;this._dirty=!1;this._loaded=!1}setConfig(t){this._config=t}getCardSize(){return 2}get _lang(){return this.hass?.language||"en"}get _isAdmin(){return this.hass?.user?.is_admin??!0}updated(t){super.updated(t),t.has("hass")&&this.hass&&!this._loaded&&(this._loaded=!0,this._load(),f(this._lang).then(()=>this.requestUpdate()))}async _load(){try{let t=await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/vacation/state"});this._state=t,this._localStart=t.start||"",this._localEnd=t.end||"",this._localBuffer=t.buffer_days??7,this._dirty=!1}catch(t){this._error=l(t,this._lang)}}async _toggleEnabled(t){this._busy=!0,this._error="";try{let s=await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/vacation/update",enabled:t});this._state=s}catch(s){this._error=l(s,this._lang)}finally{this._busy=!1}}async _save(){if(this._isAdmin){this._busy=!0,this._error="";try{let t=await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/vacation/update",start:this._localStart||null,end:this._localEnd||null,buffer_days:this._localBuffer});this._state=t,this._dirty=!1}catch(t){this._error=l(t,this._lang)}finally{this._busy=!1}}}async _endNow(){if(this._isAdmin&&window.confirm(e("vacation_end_now_confirm",this._lang)||"End vacation immediately?")){this._busy=!0;try{let t=await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/vacation/end_now"});this._state=t,this._localStart=t.start||"",this._localEnd=t.end||""}catch(t){this._error=l(t,this._lang)}finally{this._busy=!1}}}_onDeepLink(){history.pushState(null,"","/maintenance-supporter?ms_action=open_vacation"),window.dispatchEvent(new CustomEvent("location-changed"))}render(){let t=this._lang,s=this._state;if(!s)return n`<ha-card><div class="loading">${e("loading",t)||"Loading\u2026"}</div></ha-card>`;let p=s.is_active===!0,d=s.enabled===!0,u=s.exempt_task_ids?.length??0,b=p?e("vacation_status_active",t)||"Active now":d?e("vacation_status_scheduled",t)||"Scheduled":e("vacation_status_inactive",t)||"Inactive",g=p?"active":d?"scheduled":"inactive";return n`
|
||||
import{a as m}from"./chunk-ELFU7VML.js";import{a as h,b as n,d as c,e as _,f as v,g as r,i as e,k as f,s as l}from"./chunk-K74DD3QA.js";import{a as i}from"./chunk-PEGRBZWY.js";var a=class extends _{constructor(){super(...arguments);this._config={type:""};this._state=null;this._busy=!1;this._error="";this._localStart="";this._localEnd="";this._localBuffer=7;this._dirty=!1;this._loaded=!1}setConfig(t){this._config=t}getCardSize(){return 2}get _lang(){return this.hass?.language||"en"}get _isAdmin(){return this.hass?.user?.is_admin??!0}updated(t){super.updated(t),t.has("hass")&&this.hass&&!this._loaded&&(this._loaded=!0,this._load(),f(this._lang).then(()=>this.requestUpdate()))}async _load(){try{let t=await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/vacation/state"});this._state=t,this._localStart=t.start||"",this._localEnd=t.end||"",this._localBuffer=t.buffer_days??7,this._dirty=!1}catch(t){this._error=l(t,this._lang)}}async _toggleEnabled(t){this._busy=!0,this._error="";try{let s=await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/vacation/update",enabled:t});this._state=s}catch(s){this._error=l(s,this._lang)}finally{this._busy=!1}}async _save(){if(this._isAdmin){this._busy=!0,this._error="";try{let t=await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/vacation/update",start:this._localStart||null,end:this._localEnd||null,buffer_days:this._localBuffer});this._state=t,this._dirty=!1}catch(t){this._error=l(t,this._lang)}finally{this._busy=!1}}}async _endNow(){if(this._isAdmin&&window.confirm(e("vacation_end_now_confirm",this._lang)||"End vacation immediately?")){this._busy=!0;try{let t=await this.hass.connection.sendMessagePromise({type:"maintenance_supporter/vacation/end_now"});this._state=t,this._localStart=t.start||"",this._localEnd=t.end||""}catch(t){this._error=l(t,this._lang)}finally{this._busy=!1}}}_onDeepLink(){history.pushState(null,"","/maintenance-supporter?ms_action=open_vacation"),window.dispatchEvent(new CustomEvent("location-changed"))}render(){let t=this._lang,s=this._state;if(!s)return n`<ha-card><div class="loading">${e("loading",t)||"Loading\u2026"}</div></ha-card>`;let p=s.is_active===!0,d=s.enabled===!0,u=s.exempt_task_ids?.length??0,b=p?e("vacation_status_active",t)||"Active now":d?e("vacation_status_scheduled",t)||"Scheduled":e("vacation_status_inactive",t)||"Inactive",g=p?"active":d?"scheduled":"inactive";return n`
|
||||
<ha-card>
|
||||
<div class="card-content">
|
||||
<div class="header">
|
||||
+2
-2
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user