New apps Added
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
"""Frontend module registration for the Maintenance Supporter integration."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
from pathlib import Path
|
||||
|
||||
from homeassistant.components.http import StaticPathConfig
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
||||
from ..const import (
|
||||
CALENDAR_CARD_URL,
|
||||
CARD_URL,
|
||||
DOMAIN,
|
||||
LOCALES_URL,
|
||||
STRATEGY_CHUNKS_URL,
|
||||
STRATEGY_SHIM_URL,
|
||||
STRATEGY_URL,
|
||||
VENDOR_URL,
|
||||
)
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
DATA_EXTRA_MODULE_URL = "frontend_extra_module_url"
|
||||
|
||||
# Survives the hass.data[DOMAIN] pop on last-entry unload (see docstring).
|
||||
_CARD_REGISTERED_KEY = f"{DOMAIN}_card_registered"
|
||||
|
||||
|
||||
async def async_register_card(hass: HomeAssistant) -> None:
|
||||
"""Register the Lovelace card + dashboard strategy JS modules.
|
||||
|
||||
Card: works on every supported HA version.
|
||||
Strategy: HA 2026.5+ picks it up via ``window.customStrategies``; on older
|
||||
versions the registration is a silent no-op. We ship both unconditionally
|
||||
so users on any version get the card and 2026.5+ users additionally get
|
||||
the auto-generated dashboard in the "Add Dashboard" picker.
|
||||
|
||||
The already-registered guard lives OUTSIDE hass.data[DOMAIN]: that dict is
|
||||
popped when the last entry unloads, but the static paths stay mounted on
|
||||
the HTTP app — re-registering them after an uninstall → reinstall in the
|
||||
same HA run would raise on the duplicate routes (journey O1).
|
||||
"""
|
||||
if hass.data.get(_CARD_REGISTERED_KEY):
|
||||
return
|
||||
|
||||
frontend_dir = Path(__file__).parent
|
||||
# v2.3.4 (issue #52): the strategy is a multi-file split bundle living
|
||||
# in frontend/strategy/. Mount the directory under STRATEGY_DIR_URL so
|
||||
# the entry's relative ./chunks/* dynamic imports resolve without per-
|
||||
# chunk URL registration. The entry file URL stays STRATEGY_URL so the
|
||||
# frontend_extra_module_url registration that HA serves to the browser
|
||||
# doesn't need to know about the chunk layout.
|
||||
static_paths = [
|
||||
StaticPathConfig(CARD_URL, str(frontend_dir / "maintenance-card.js"), False),
|
||||
# The shim (tiny, zero-import) is the frontend extra-module-url; it
|
||||
# lazy-imports the full strategy bundle below on first use.
|
||||
StaticPathConfig(
|
||||
STRATEGY_SHIM_URL,
|
||||
str(frontend_dir / "maintenance-strategy-shim.js"),
|
||||
False,
|
||||
),
|
||||
StaticPathConfig(
|
||||
STRATEGY_URL,
|
||||
str(frontend_dir / "strategy" / "maintenance-dashboard-strategy.js"),
|
||||
False,
|
||||
),
|
||||
StaticPathConfig(
|
||||
STRATEGY_CHUNKS_URL,
|
||||
str(frontend_dir / "strategy" / "chunks"),
|
||||
False,
|
||||
),
|
||||
StaticPathConfig(
|
||||
CALENDAR_CARD_URL,
|
||||
str(frontend_dir / "maintenance-calendar-card.js"),
|
||||
False,
|
||||
),
|
||||
# Runtime-loaded UI translations: a directory of <lang>.json fetched by
|
||||
# the panel/card on demand (only EN is bundled into the JS). cache=False
|
||||
# so a translation edit shows up on reload without a version bump.
|
||||
StaticPathConfig(LOCALES_URL, str(frontend_dir / "locales"), False),
|
||||
# v2.21: pdf.js for the work sheet's inline manual excerpt (cache=True —
|
||||
# versioned by release like the JS bundles).
|
||||
StaticPathConfig(VENDOR_URL, str(frontend_dir / "vendor"), True),
|
||||
]
|
||||
await hass.http.async_register_static_paths(static_paths)
|
||||
|
||||
# Add to extra module URLs so HA auto-loads them in the frontend.
|
||||
# IMPORTANT: register the SHIM, not the heavy strategy bundle — the shim
|
||||
# defines the dashboard-strategy element synchronously so it wins HA's 5 s
|
||||
# whenDefined race even under heavy HACS plugin load (the bundle is loaded
|
||||
# lazily by the shim). The heavy bundle's static path stays mounted above
|
||||
# so the shim's import() can fetch it on demand.
|
||||
extra = hass.data.setdefault(DATA_EXTRA_MODULE_URL, set())
|
||||
extra.add(CARD_URL)
|
||||
extra.add(STRATEGY_SHIM_URL)
|
||||
extra.add(CALENDAR_CARD_URL)
|
||||
|
||||
hass.data[_CARD_REGISTERED_KEY] = True
|
||||
_LOGGER.debug(
|
||||
"Maintenance Supporter frontend resources registered: card=%s, strategy=%s, calendar=%s",
|
||||
CARD_URL,
|
||||
STRATEGY_URL,
|
||||
CALENDAR_CARD_URL,
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Údržba",
|
||||
"objects": "Objekty",
|
||||
"tasks": "Úkoly",
|
||||
"overdue": "Po termínu",
|
||||
"due_soon": "Brzy",
|
||||
"triggered": "Spuštěno",
|
||||
"ok": "OK",
|
||||
"all": "Vše",
|
||||
"new_object": "+ Nový objekt",
|
||||
"templates_from": "Ze šablony",
|
||||
"templates_title": "Začít ze šablony",
|
||||
"templates_task_count": "{n} úkolů",
|
||||
"template_created": "Vytvořeno ze šablony",
|
||||
"onboard_hint": "Přidejte první objekt a začněte sledovat údržbu.",
|
||||
"edit": "Upravit",
|
||||
"duplicate": "Duplikovat",
|
||||
"task_duplicated": "Úkol duplikován",
|
||||
"object_duplicated": "Objekt duplikován",
|
||||
"delete": "Smazat",
|
||||
"add_task": "+ Přidat úkol",
|
||||
"complete": "Dokončit",
|
||||
"completed": "Dokončeno",
|
||||
"skip": "Přeskočit",
|
||||
"skipped": "Přeskočeno",
|
||||
"missed": "Missed",
|
||||
"reset": "Reset",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Zrušit",
|
||||
"bulk_select": "Vybrat",
|
||||
"bulk_select_all": "Vybrat vše",
|
||||
"bulk_n_selected": "{n} vybráno",
|
||||
"bulk_completed": "Dokončeno {n} úkolů",
|
||||
"bulk_archived": "Archivováno {n} úkolů",
|
||||
"completing": "Dokončování…",
|
||||
"interval": "Interval",
|
||||
"warning": "Upozornění",
|
||||
"last_performed": "Naposledy provedeno",
|
||||
"next_due": "Další termín",
|
||||
"days_until_due": "Dnů do termínu",
|
||||
"avg_duration": "Prům. trvání",
|
||||
"trigger": "Spouštěč",
|
||||
"trigger_type": "Typ spouštěče",
|
||||
"threshold_above": "Horní limit",
|
||||
"threshold_below": "Dolní limit",
|
||||
"threshold": "Práh",
|
||||
"counter": "Čítač",
|
||||
"state_change": "Změna stavu",
|
||||
"runtime": "Doba běhu",
|
||||
"runtime_hours": "Cílová doba běhu (hodiny)",
|
||||
"target_value": "Cílová hodnota",
|
||||
"baseline": "Základní hodnota",
|
||||
"target_changes": "Cílový počet změn",
|
||||
"for_minutes": "Po dobu (minut)",
|
||||
"time_based": "Časový",
|
||||
"sensor_based": "Založený na senzoru",
|
||||
"manual": "Manuální",
|
||||
"one_time": "Jednorázově",
|
||||
"weekdays": "Dny v týdnu",
|
||||
"nth_weekday": "N-tý den v týdnu v měsíci",
|
||||
"day_of_month": "Den v měsíci",
|
||||
"recurrence_on_days": "Opakovat v",
|
||||
"recurrence_occurrence": "Výskyt",
|
||||
"recurrence_weekday": "Den v týdnu",
|
||||
"recurrence_day": "Den v měsíci (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1.",
|
||||
"ord_2": "2.",
|
||||
"ord_3": "3.",
|
||||
"ord_4": "4.",
|
||||
"ord_5": "5.",
|
||||
"ord_last": "Poslední",
|
||||
"day_word": "Den",
|
||||
"interval_value": "Interval",
|
||||
"interval_unit": "Jednotka",
|
||||
"unit_days": "Dny",
|
||||
"unit_weeks": "Týdny",
|
||||
"unit_months": "Měsíce",
|
||||
"unit_years": "Roky",
|
||||
"due_date": "Datum splnění",
|
||||
"cleaning": "Čištění",
|
||||
"inspection": "Inspekce",
|
||||
"replacement": "Výměna",
|
||||
"calibration": "Kalibrace",
|
||||
"service": "Servis",
|
||||
"reading": "Odečet",
|
||||
"custom": "Vlastní",
|
||||
"history": "Historie",
|
||||
"cost": "Náklady",
|
||||
"report_button": "Zpráva",
|
||||
"report_title": "Zpráva o údržbě",
|
||||
"report_generated": "Vytvořeno",
|
||||
"report_times_done": "Provedeno",
|
||||
"report_total_cost": "Celkové náklady",
|
||||
"report_every": "každých {n} {unit}",
|
||||
"report_notes": "Poznámky",
|
||||
"report_col_type": "Typ",
|
||||
"report_col_status": "Stav",
|
||||
"report_col_schedule": "Plán",
|
||||
"duration": "Doba trvání",
|
||||
"both": "Obojí",
|
||||
"trigger_val": "Hodnota spouštěče",
|
||||
"complete_title": "Dokončit: ",
|
||||
"checklist": "Kontrolní seznam",
|
||||
"checklist_steps_optional": "Kroky kontrolního seznamu (volitelné)",
|
||||
"checklist_placeholder": "Vyčistit filtr\nVyměnit těsnění\nOtestovat tlak",
|
||||
"checklist_help": "Jeden krok na řádek. Max 100 položek.",
|
||||
"err_too_long": "{field}: příliš dlouhé (max {n} znaků)",
|
||||
"err_too_short": "{field}: příliš krátké (min {n} znaků)",
|
||||
"err_value_too_high": "{field}: příliš velké (max {n})",
|
||||
"err_value_too_low": "{field}: příliš malé (min {n})",
|
||||
"err_required": "{field}: povinné",
|
||||
"err_wrong_type": "{field}: špatný typ (očekáván: {type})",
|
||||
"err_invalid_choice": "{field}: nepovolená hodnota",
|
||||
"err_invalid_value": "{field}: neplatná hodnota",
|
||||
"feat_schedule_time": "Plánování podle denní doby",
|
||||
"feat_schedule_time_desc": "Úkoly se stanou po termínu v určenou denní dobu místo o půlnoci.",
|
||||
"schedule_time_optional": "Termín v čase (volitelné, HH:MM)",
|
||||
"schedule_time_help": "Prázdné = půlnoc (výchozí). Časové pásmo HA.",
|
||||
"at_time": "v",
|
||||
"notes_optional": "Poznámky (volitelné)",
|
||||
"cost_optional": "Náklady (volitelné)",
|
||||
"duration_minutes": "Doba trvání v minutách (volitelné)",
|
||||
"days": "dní",
|
||||
"day": "den",
|
||||
"today": "Dnes",
|
||||
"d_overdue": "d po termínu",
|
||||
"no_tasks": "Zatím žádné úkoly údržby. Vytvořte objekt pro začátek.",
|
||||
"no_tasks_short": "Žádné úkoly",
|
||||
"no_history": "Zatím žádné záznamy historie.",
|
||||
"show_all": "Zobrazit vše",
|
||||
"cost_duration_chart": "Náklady a doba trvání",
|
||||
"installed": "Nainstalováno",
|
||||
"confirm_delete_object": "Smazat tento objekt a všechny jeho úkoly?",
|
||||
"confirm_delete_task": "Smazat tento úkol?",
|
||||
"min": "Min",
|
||||
"max": "Max",
|
||||
"save": "Uložit",
|
||||
"saving": "Ukládání…",
|
||||
"edit_task": "Upravit úkol",
|
||||
"new_task": "Nový úkol údržby",
|
||||
"task_name": "Název úkolu",
|
||||
"maintenance_type": "Typ údržby",
|
||||
"priority": "Priorita",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Nízká",
|
||||
"priority_normal": "Normální",
|
||||
"priority_high": "Vysoká",
|
||||
"schedule_type": "Typ rozvrhu",
|
||||
"interval_days": "Interval (dny)",
|
||||
"warning_days": "Dny upozornění",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "Naposledy provedeno (volitelné)",
|
||||
"interval_anchor": "Ukotvení intervalu",
|
||||
"anchor_completion": "Od data dokončení",
|
||||
"anchor_planned": "Od plánovaného data (bez posunu)",
|
||||
"edit_object": "Upravit objekt",
|
||||
"name": "Název",
|
||||
"manufacturer_optional": "Výrobce (volitelné)",
|
||||
"model_optional": "Model (volitelné)",
|
||||
"serial_number_optional": "Sériové číslo (volitelné)",
|
||||
"serial_number_label": "S/N",
|
||||
"documentation_url_label": "Návod",
|
||||
"object_notes_label": "Poznámky",
|
||||
"sort_due_date": "Termín",
|
||||
"sort_object": "Název objektu",
|
||||
"sort_type": "Typ",
|
||||
"sort_task_name": "Název úkolu",
|
||||
"all_objects": "Všechny objekty",
|
||||
"tasks_lower": "úkolů",
|
||||
"no_tasks_yet": "Zatím žádné úkoly",
|
||||
"add_first_task": "Přidat první úkol",
|
||||
"trigger_configuration": "Konfigurace spouštěče",
|
||||
"entity_id": "ID entity",
|
||||
"comma_separated": "oddělené čárkami",
|
||||
"entity_logic": "Logika entit",
|
||||
"entity_logic_any": "Spustí libovolná entita",
|
||||
"entity_logic_all": "Všechny entity musí spustit",
|
||||
"entities": "entity",
|
||||
"attribute_optional": "Atribut (volitelný, prázdný = stav)",
|
||||
"use_entity_state": "Použít stav entity (bez atributu)",
|
||||
"trigger_above": "Spustit nad",
|
||||
"trigger_below": "Spustit pod",
|
||||
"for_at_least_minutes": "Po dobu alespoň (minut)",
|
||||
"safety_interval_days": "Bezpečnostní interval (dny, volitelný)",
|
||||
"safety_interval": "Bezpečnostní interval (volitelný)",
|
||||
"delta_mode": "Režim delta",
|
||||
"from_state_optional": "Ze stavu (volitelné)",
|
||||
"to_state_optional": "Do stavu (volitelné)",
|
||||
"documentation_url_optional": "URL dokumentace (volitelné)",
|
||||
"object_notes_optional": "Poznámky (volitelné)",
|
||||
"nfc_tag_id_optional": "ID NFC tagu (volitelné)",
|
||||
"nfc_tags_empty_help": "V Home Assistant zatím nejsou registrovány žádné NFC tagy.",
|
||||
"nfc_tags_open_settings": "Otevřít nastavení tagů",
|
||||
"nfc_tags_refresh": "Obnovit",
|
||||
"environmental_entity_optional": "Senzor prostředí (volitelný)",
|
||||
"environmental_entity_helper": "např. sensor.outdoor_temperature — upravuje interval podle podmínek prostředí",
|
||||
"environmental_attribute_optional": "Atribut prostředí (volitelný)",
|
||||
"nfc_tag_id": "ID NFC tagu",
|
||||
"nfc_linked": "NFC tag propojen",
|
||||
"nfc_link_hint": "Klikněte pro propojení NFC tagu",
|
||||
"responsible_user": "Zodpovědný uživatel",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(Žádný uživatel přiřazen)",
|
||||
"all_users": "Všichni uživatelé",
|
||||
"my_tasks": "Moje úkoly",
|
||||
"tab_calendar": "Kalendář",
|
||||
"cal_no_events": "Bez údržby",
|
||||
"cal_window_7": "7 dní",
|
||||
"cal_window_14": "14 dní",
|
||||
"cal_window_30": "30 dní",
|
||||
"cal_window_365": "1 rok",
|
||||
"cal_every_n_days": "každých {n} dní",
|
||||
"cal_source_time": "Čas",
|
||||
"cal_source_time_adaptive": "Čas (adaptivní)",
|
||||
"cal_source_sensor": "Senzor",
|
||||
"cal_predicted": "predikce",
|
||||
"cal_confidence_high": "vysoká přesnost",
|
||||
"cal_confidence_medium": "střední přesnost",
|
||||
"cal_confidence_low": "nízká přesnost",
|
||||
"budget_monthly": "Měsíční rozpočet",
|
||||
"budget_yearly": "Roční rozpočet",
|
||||
"groups": "Skupiny",
|
||||
"new_group": "Nová skupina",
|
||||
"edit_group": "Upravit skupinu",
|
||||
"no_groups": "Zatím žádné skupiny",
|
||||
"delete_group": "Smazat skupinu",
|
||||
"delete_group_confirm": "Smazat skupinu '{name}'?",
|
||||
"group_select_tasks": "Vybrat úkoly",
|
||||
"group_name_required": "Název je povinný",
|
||||
"description_optional": "Popis (volitelný)",
|
||||
"selected": "Vybráno",
|
||||
"loading_chart": "Načítání dat grafu...",
|
||||
"hide_outliers": "Skrýt odlehlé hodnoty (chyby čidla)",
|
||||
"was_maintenance_needed": "Byla tato údržba potřeba?",
|
||||
"feedback_needed": "Potřebná",
|
||||
"feedback_not_needed": "Nepotřebná",
|
||||
"feedback_not_sure": "Nejsem si jistý",
|
||||
"suggested_interval": "Navrhovaný interval",
|
||||
"apply_suggestion": "Použít",
|
||||
"reanalyze": "Znovu analyzovat",
|
||||
"reanalyze_result": "Nová analýza",
|
||||
"reanalyze_insufficient_data": "Nedostatek dat pro vytvoření doporučení",
|
||||
"data_points": "datových bodů",
|
||||
"dismiss_suggestion": "Zavřít",
|
||||
"confidence_low": "Nízká",
|
||||
"confidence_medium": "Střední",
|
||||
"confidence_high": "Vysoká",
|
||||
"recommended": "doporučeno",
|
||||
"seasonal_awareness": "Sezónní povědomí",
|
||||
"edit_seasonal_overrides": "Upravit sezónní faktory",
|
||||
"seasonal_overrides_title": "Sezónní faktory (přepsání)",
|
||||
"seasonal_overrides_hint": "Faktor na měsíc (0.1–5.0). Prázdné = naučeno automaticky.",
|
||||
"seasonal_override_invalid": "Neplatná hodnota",
|
||||
"seasonal_override_range": "Faktor musí být mezi 0.1 a 5.0",
|
||||
"clear_all": "Vymazat vše",
|
||||
"seasonal_chart_title": "Sezónní faktory",
|
||||
"seasonal_learned": "Naučené",
|
||||
"seasonal_manual": "Manuální",
|
||||
"month_jan": "Led",
|
||||
"month_feb": "Úno",
|
||||
"month_mar": "Bře",
|
||||
"month_apr": "Dub",
|
||||
"month_may": "Kvě",
|
||||
"month_jun": "Čer",
|
||||
"month_jul": "Čvc",
|
||||
"month_aug": "Srp",
|
||||
"month_sep": "Zář",
|
||||
"month_oct": "Říj",
|
||||
"month_nov": "Lis",
|
||||
"month_dec": "Pro",
|
||||
"sensor_prediction": "Predikce senzoru",
|
||||
"degradation_trend": "Trend",
|
||||
"trend_rising": "Rostoucí",
|
||||
"trend_falling": "Klesající",
|
||||
"trend_stable": "Stabilní",
|
||||
"trend_insufficient_data": "Nedostatek dat",
|
||||
"days_until_threshold": "Dnů do prahu",
|
||||
"threshold_exceeded": "Práh překročen",
|
||||
"environmental_adjustment": "Faktor prostředí",
|
||||
"sensor_prediction_urgency": "Senzor předpovídá práh za ~{days} dní",
|
||||
"day_short": "d",
|
||||
"weibull_reliability_curve": "Křivka spolehlivosti",
|
||||
"weibull_failure_probability": "Pravděpodobnost selhání",
|
||||
"weibull_r_squared": "Shoda R²",
|
||||
"beta_early_failures": "Časná selhání",
|
||||
"beta_random_failures": "Náhodná selhání",
|
||||
"beta_wear_out": "Opotřebení",
|
||||
"beta_highly_predictable": "Vysoce předvídatelné",
|
||||
"confidence_interval": "Interval spolehlivosti",
|
||||
"confidence_conservative": "Konzervativní",
|
||||
"confidence_aggressive": "Optimistický",
|
||||
"current_interval_marker": "Aktuální interval",
|
||||
"recommended_marker": "Doporučený",
|
||||
"characteristic_life": "Charakteristická životnost",
|
||||
"chart_mini_sparkline": "Graf trendu",
|
||||
"chart_history": "Historie nákladů a doby trvání",
|
||||
"chart_seasonal": "Sezónní faktory, 12 měsíců",
|
||||
"chart_weibull": "Weibullova křivka spolehlivosti",
|
||||
"chart_sparkline": "Graf hodnoty spouštěče senzoru",
|
||||
"days_progress": "Postup dnů",
|
||||
"qr_code": "QR kód",
|
||||
"qr_generating": "Generování QR kódu…",
|
||||
"qr_error": "Nepodařilo se vygenerovat QR kód.",
|
||||
"qr_error_no_url": "Není nakonfigurováno URL HA. Nastavte externí nebo interní URL v Nastavení → Systém → Síť.",
|
||||
"save_error": "Nepodařilo se uložit. Zkuste to znovu.",
|
||||
"qr_print": "Tisk",
|
||||
"qr_download": "Stáhnout SVG",
|
||||
"qr_action": "Akce při skenování",
|
||||
"qr_action_view": "Zobrazit informace o údržbě",
|
||||
"qr_action_complete": "Označit údržbu jako dokončenou",
|
||||
"qr_url_mode": "Typ odkazu",
|
||||
"qr_mode_companion": "Companion App",
|
||||
"qr_mode_local": "Lokální (mDNS)",
|
||||
"qr_mode_server": "URL serveru",
|
||||
"overview": "Přehled",
|
||||
"analysis": "Analýza",
|
||||
"recent_activities": "Nedávné aktivity",
|
||||
"search_notes": "Hledat v poznámkách",
|
||||
"avg_cost": "Prům. náklady",
|
||||
"no_advanced_features": "Žádné pokročilé funkce nejsou povoleny",
|
||||
"no_advanced_features_hint": "Povolte „Adaptivní intervaly” nebo „Sezónní vzory” v nastavení integrace pro zobrazení analytických dat.",
|
||||
"analysis_not_enough_data": "Zatím nedostatek dat pro analýzu.",
|
||||
"analysis_not_enough_data_hint": "Weibullova analýza vyžaduje alespoň 5 dokončených údržeb; sezónní vzory se stanou viditelné po 6+ datových bodech na měsíc.",
|
||||
"analysis_manual_task_hint": "Manuální úkoly bez intervalu negenerují analytická data.",
|
||||
"completions": "dokončení",
|
||||
"current": "Aktuální",
|
||||
"shorter": "Kratší",
|
||||
"longer": "Delší",
|
||||
"normal": "Normální",
|
||||
"disabled": "Zakázáno",
|
||||
"compound_logic": "Složená logika",
|
||||
"compound": "Složené (více podmínek)",
|
||||
"compound_logic_and": "A — musí platit všechny podmínky",
|
||||
"compound_logic_or": "NEBO — stačí libovolná podmínka",
|
||||
"compound_help": "Zkombinujte několik podmínek senzorů do jednoho spouštěče.",
|
||||
"compound_no_conditions": "Zatím žádné podmínky — přidejte alespoň jednu.",
|
||||
"compound_add_condition": "Přidat podmínku",
|
||||
"compound_condition": "Podmínka",
|
||||
"compound_remove_condition": "Odebrat podmínku",
|
||||
"card_title": "Název",
|
||||
"card_show_header": "Zobrazit záhlaví se statistikami",
|
||||
"card_show_actions": "Zobrazit tlačítka akcí",
|
||||
"card_compact": "Kompaktní režim",
|
||||
"card_max_items": "Max položek (0 = vše)",
|
||||
"card_filter_status": "Filtrovat podle stavu",
|
||||
"card_filter_status_help": "Prázdné = zobrazit všechny stavy.",
|
||||
"card_filter_objects": "Filtrovat podle objektů",
|
||||
"card_filter_objects_help": "Prázdné = zobrazit všechny objekty.",
|
||||
"card_filter_entities": "Filtrovat podle entit (entity_ids)",
|
||||
"card_filter_entities_help": "Vyberte entity sensor / binary_sensor z této integrace. Prázdné = všechny.",
|
||||
"card_loading_objects": "Načítání objektů…",
|
||||
"card_load_error": "Nepodařilo se načíst objekty — zkontrolujte WebSocket spojení.",
|
||||
"card_no_tasks_title": "Zatím žádné úkoly údržby",
|
||||
"card_no_tasks_cta": "→ Vytvořte v panelu Maintenance",
|
||||
"no_objects": "Zatím žádné objekty.",
|
||||
"action_error": "Akce se nezdařila. Zkuste to znovu.",
|
||||
"area_id_optional": "Oblast (volitelná)",
|
||||
"installation_date_optional": "Datum instalace (volitelné)",
|
||||
"warranty_expiry_optional": "Konec záruky (volitelné)",
|
||||
"warranty": "Záruka",
|
||||
"warranty_valid_until": "platná do {date}",
|
||||
"warranty_expires_in": "vyprší za {days} dní",
|
||||
"warranty_expired": "vypršela",
|
||||
"cal_past_windows": "Minulá okna",
|
||||
"cal_forward_windows": "Budoucí okna",
|
||||
"history_edit_title": "Upravit záznam historie",
|
||||
"history_edit_timestamp": "Časové razítko",
|
||||
"manufacturer": "Výrobce",
|
||||
"model": "Model",
|
||||
"area": "Oblast",
|
||||
"actions": "Akce",
|
||||
"view_mode_label": "Zobrazení",
|
||||
"view_cards": "Zobrazení karet",
|
||||
"view_table": "Zobrazení tabulky",
|
||||
"objects_table_columns_label": "Sloupce tabulky objektů",
|
||||
"objects_table_columns_hint": "Vyberte, které sloupce se zobrazí v tabulkovém zobrazení objektů.",
|
||||
"custom_icon_optional": "Ikona (volitelná, např. mdi:wrench)",
|
||||
"task_enabled": "Úkol povolen",
|
||||
"skip_reason_prompt": "Přeskočit tento úkol?",
|
||||
"reason_optional": "Důvod (volitelný)",
|
||||
"reset_date_prompt": "Označit úkol jako provedený?",
|
||||
"reset_date_optional": "Datum posledního provedení (volitelné, výchozí dnes)",
|
||||
"notes_label": "Poznámky",
|
||||
"documentation_label": "Dokumentace",
|
||||
"no_nfc_tag": "— Žádný tag —",
|
||||
"dashboard": "Přehled",
|
||||
"tab_today": "Dnes",
|
||||
"palette_placeholder": "Hledat objekty a úkoly…",
|
||||
"palette_no_results": "Žádné výsledky",
|
||||
"palette_hint": "↑↓ pohyb · Enter otevřít · Esc zavřít",
|
||||
"today_all_caught_up": "Vše hotovo! Tento týden nic nezbývá.",
|
||||
"today_overdue": "Po termínu",
|
||||
"today_due_today": "Dnes",
|
||||
"today_this_week": "Tento týden",
|
||||
"settings": "Nastavení",
|
||||
"settings_features": "Pokročilé funkce",
|
||||
"settings_features_desc": "Povolte nebo zakažte pokročilé funkce. Zakázání je skryje z UI, ale nesmaže data.",
|
||||
"feat_adaptive": "Adaptivní plánování",
|
||||
"feat_adaptive_desc": "Učte se optimální intervaly z historie údržby",
|
||||
"feat_predictions": "Predikce senzorů",
|
||||
"feat_predictions_desc": "Předpovídejte termíny spouštění z degradace senzoru",
|
||||
"feat_seasonal": "Sezónní úpravy",
|
||||
"feat_seasonal_desc": "Upravte intervaly podle sezónních vzorů",
|
||||
"feat_environmental": "Korelace s prostředím",
|
||||
"feat_environmental_desc": "Korelujte intervaly s teplotou/vlhkostí",
|
||||
"feat_budget": "Sledování rozpočtu",
|
||||
"feat_budget_desc": "Sledujte měsíční a roční výdaje na údržbu",
|
||||
"feat_groups": "Skupiny úkolů",
|
||||
"feat_groups_desc": "Organizujte úkoly do logických skupin",
|
||||
"feat_checklists": "Kontrolní seznamy",
|
||||
"feat_checklists_desc": "Vícestupňové procedury pro dokončení úkolu",
|
||||
"settings_general": "Obecné",
|
||||
"settings_default_warning": "Výchozí dny upozornění",
|
||||
"settings_panel_enabled": "Boční panel",
|
||||
"settings_panel_title": "Název panelu",
|
||||
"settings_notifications": "Oznámení",
|
||||
"settings_notify_service": "Služba oznámení",
|
||||
"test_notification": "Testovací oznámení",
|
||||
"send_test": "Odeslat test",
|
||||
"testing": "Odesílání…",
|
||||
"test_notification_success": "Testovací oznámení odesláno",
|
||||
"test_notification_failed": "Testovací oznámení se nezdařilo",
|
||||
"settings_notify_due_soon": "Oznámit když brzy",
|
||||
"settings_notify_overdue": "Oznámit když po termínu",
|
||||
"settings_notify_triggered": "Oznámit když spuštěno",
|
||||
"settings_interval_hours": "Interval opakování (hodiny, 0 = jednou)",
|
||||
"settings_quiet_hours": "Tiché hodiny",
|
||||
"settings_quiet_start": "Začátek",
|
||||
"settings_quiet_end": "Konec",
|
||||
"settings_max_per_day": "Max oznámení denně (0 = bez limitu)",
|
||||
"settings_bundling": "Seskupit oznámení",
|
||||
"settings_bundle_threshold": "Práh seskupení",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Mobilní akční tlačítka",
|
||||
"settings_action_complete": "Zobrazit tlačítko 'Dokončit'",
|
||||
"settings_action_skip": "Zobrazit tlačítko 'Přeskočit'",
|
||||
"settings_action_snooze": "Zobrazit tlačítko 'Odložit'",
|
||||
"settings_weekly_digest": "Týdenní přehled",
|
||||
"settings_weekly_digest_hint": "Jedno souhrnné oznámení v pondělí ráno, když jsou úkoly.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Doba odložení (hodiny)",
|
||||
"settings_budget": "Rozpočet",
|
||||
"settings_currency": "Měna",
|
||||
"settings_budget_monthly": "Měsíční rozpočet",
|
||||
"settings_budget_yearly": "Roční rozpočet",
|
||||
"settings_budget_alerts": "Rozpočtová upozornění",
|
||||
"settings_budget_threshold": "Práh upozornění (%)",
|
||||
"settings_import_export": "Import / Export",
|
||||
"settings_export_json": "Exportovat JSON",
|
||||
"settings_export_yaml": "Exportovat YAML",
|
||||
"settings_export_csv": "Exportovat CSV",
|
||||
"settings_import_csv": "Importovat CSV",
|
||||
"settings_import_placeholder": "Vložte sem obsah JSON nebo CSV…",
|
||||
"settings_import_btn": "Importovat",
|
||||
"settings_import_success": "{count} objektů úspěšně importováno.",
|
||||
"settings_export_success": "Export stažen.",
|
||||
"settings_saved": "Nastavení uloženo.",
|
||||
"settings_include_history": "Zahrnout historii",
|
||||
"sort_alphabetical": "Abecedně",
|
||||
"sort_due_soonest": "Nejbližší termín",
|
||||
"sort_task_count": "Počet úkolů",
|
||||
"sort_area": "Oblast",
|
||||
"sort_assigned_user": "Přiřazený uživatel",
|
||||
"sort_group": "Skupina",
|
||||
"groupby_none": "Bez seskupení",
|
||||
"groupby_area": "Podle oblasti",
|
||||
"groupby_group": "Podle skupiny",
|
||||
"groupby_user": "Podle uživatele",
|
||||
"filter_label": "Filtr",
|
||||
"user_label": "Uživatel",
|
||||
"sort_label": "Řazení",
|
||||
"group_by_label": "Seskupit podle",
|
||||
"state_value_help": "Použijte hodnotu stavu HA (obvykle malými písmeny, např. \"on\"/\"off\"). Velikost písmen se při uložení normalizuje.",
|
||||
"target_changes_help": "Počet odpovídajících přechodů, po kterých se trigger spustí (výchozí: 1).",
|
||||
"qr_print_title": "Tisk QR kódů",
|
||||
"qr_print_desc": "Vygeneruj tiskovou stránku s QR kódy k vystřižení a nalepení na zařízení.",
|
||||
"qr_print_load": "Načíst objekty",
|
||||
"qr_print_filter": "Filtr",
|
||||
"qr_print_objects": "Objekty",
|
||||
"qr_print_actions": "Akce",
|
||||
"qr_print_url_mode": "Typ odkazu",
|
||||
"qr_print_estimate": "Odhad QR kódů",
|
||||
"qr_print_over_limit": "limit 200, zužte filtr",
|
||||
"qr_print_generate": "Vygenerovat QR kódy",
|
||||
"qr_print_generating": "Generování…",
|
||||
"qr_print_ready": "QR kódy připraveny",
|
||||
"qr_print_print_button": "Tisk",
|
||||
"qr_print_empty": "Nic k vygenerování",
|
||||
"qr_action_skip": "Přeskočit",
|
||||
"vacation_title": "Režim dovolené",
|
||||
"vacation_active": "aktivní",
|
||||
"vacation_ended": "ukončeno",
|
||||
"vacation_desc": "Naplánuj dovolenou: oznámení jsou pozastavena během období plus dny rezervy. Lze definovat výjimky pro jednotlivé úkoly.",
|
||||
"vacation_enable": "Zapnout režim dovolené",
|
||||
"vacation_start": "Začátek",
|
||||
"vacation_end": "Konec",
|
||||
"vacation_buffer": "Rezerva (dnů)",
|
||||
"vacation_exempt_title": "Upozorňovat i přes dovolenou",
|
||||
"vacation_exempt_desc": "Vyber úkoly, které mají upozorňovat i během dovolené (např. kritická chemie bazénu).",
|
||||
"vacation_load_tasks": "Načíst úkoly",
|
||||
"vacation_preview_btn": "Zobrazit náhled",
|
||||
"vacation_preview_affected": "úkolů ovlivněno",
|
||||
"vacation_event_due_soon": "blíží se termín",
|
||||
"vacation_event_overdue": "stane se po termínu",
|
||||
"vacation_event_triggered_est": "možné spuštění senzoru",
|
||||
"vacation_sensor_based": "(senzorové)",
|
||||
"vacation_action_notify": "Přesto upozornit",
|
||||
"vacation_action_unsilence": "Znovu ztlumit",
|
||||
"vacation_marked_complete": "Označeno jako dokončené",
|
||||
"vacation_marked_skip": "Přeskočeno",
|
||||
"vacation_end_now": "Ukončit dovolenou nyní",
|
||||
"unassigned": "Nepřiřazeno",
|
||||
"no_area": "Bez oblasti",
|
||||
"has_overdue": "Má úkoly po termínu",
|
||||
"object": "Objekt",
|
||||
"settings_panel_access": "Přístup k panelu",
|
||||
"settings_panel_access_desc": "Administrátoři mají vždy plný přístup. Chcete-li delegovat vytváření, úpravy a mazání konkrétním uživatelům bez práv administrátora, zapněte tuto možnost a vyberte je níže — ostatní vidí pouze Dokončit a Přeskočit.",
|
||||
"settings_operator_write": "Povolit vybraným uživatelům vytvářet, upravovat a mazat",
|
||||
"settings_operator_write_desc": "Vypnuto: obsah mohou měnit pouze administrátoři. Zapnuto: plný přístup získají i vybraní uživatelé níže.",
|
||||
"no_non_admin_users": "Nenalezeni žádní uživatelé bez admin práv. Přidejte je v Nastavení → Lidé.",
|
||||
"owner_label": "Vlastník",
|
||||
"feat_completion_actions": "Akce při dokončení",
|
||||
"feat_completion_actions_desc": "Akce HA na úlohu při dokončení + QR rychlého dokončení s předvolenými hodnotami.",
|
||||
"on_complete_action_title": "Při dokončení: spustit akci HA (volitelné)",
|
||||
"on_complete_action_desc": "Volá službu HA, když je úloha dokončena — např. resetuje čítač na zařízení.",
|
||||
"on_complete_action_service": "Služba",
|
||||
"on_complete_action_target": "Cílová entita",
|
||||
"on_complete_action_data": "Data (JSON, volitelné)",
|
||||
"on_complete_action_test": "Testovat akci",
|
||||
"on_complete_action_test_success": "Úspěch",
|
||||
"on_complete_action_test_failed": "Selhalo",
|
||||
"quick_complete_defaults_title": "Výchozí hodnoty rychlého dokončení (pro QR skenů, volitelné)",
|
||||
"quick_complete_defaults_desc": "Předvolené hodnoty pro QR rychlého dokončení. Bez nich QR otevře dialog.",
|
||||
"quick_complete_defaults_notes": "Poznámky",
|
||||
"quick_complete_defaults_cost": "Cena",
|
||||
"quick_complete_defaults_duration": "Trvání (minuty)",
|
||||
"quick_complete_defaults_feedback_none": "Bez zpětné vazby",
|
||||
"quick_complete_defaults_feedback_needed": "Bylo potřeba",
|
||||
"quick_complete_defaults_feedback_not_needed": "Nebylo potřeba",
|
||||
"quick_complete_success": "Rychle označeno jako hotové",
|
||||
"trigger_replaced": "Spouštěč nahrazen",
|
||||
"add": "Přidat",
|
||||
"show_stats": "Zobrazit statistiky + grafy",
|
||||
"hide_stats": "Skrýt statistiky",
|
||||
"adaptive_no_data": "Zatím není dostatek historie dokončení pro adaptivní analýzu. Dokončete tento úkol ještě několikrát, abyste odemkli doporučení intervalu a grafy spolehlivosti.",
|
||||
"suggestion_applied": "Navržený interval použit",
|
||||
"vacation_mode": "Režim dovolené",
|
||||
"vacation_status_active": "Nyní aktivní",
|
||||
"vacation_status_scheduled": "Naplánováno",
|
||||
"vacation_status_inactive": "Neaktivní",
|
||||
"vacation_end_now_confirm": "Ukončit dovolenou okamžitě?",
|
||||
"vacation_exempt_count": "vyňato",
|
||||
"vacation_advanced": "Pokročilé…",
|
||||
"vacation_open_panel": "Otevřít v panelu",
|
||||
"enable": "Zapnout",
|
||||
"saved": "Uloženo",
|
||||
"budget_monthly_set": "Nastavit měsíční",
|
||||
"budget_yearly_set": "Nastavit roční",
|
||||
"budget_advanced": "Měna, výstrahy…",
|
||||
"budget_open_panel": "Otevřít v panelu",
|
||||
"groups_empty": "Zatím žádné skupiny.",
|
||||
"group_new_placeholder": "Přidat skupinu…",
|
||||
"group_delete_confirm": "Smazat skupinu „{name}\"?",
|
||||
"groups_manage_tasks": "Spravovat přiřazení úkolů…",
|
||||
"groups_open_panel": "Otevřít v panelu",
|
||||
"on_complete_action_target_hint": "Poznámka: doména entity musí odpovídat službě — např. 'button.press' funguje jen na button.*, 'counter.increment' jen na counter.*, 'input_button.press' jen na input_button.* atd. Při neshodě akce tiše selže (HA zaznamená 'Referenced entities ... missing or not currently available').",
|
||||
"show_all_objects": "Zobrazit všechny objekty",
|
||||
"show_all_tasks": "Vymazat filtr — zobrazit všechny úkoly",
|
||||
"filter_to_overdue": "Filtrovat seznam jen na po termínu",
|
||||
"filter_to_due_soon": "Filtrovat seznam jen na blížící se termín",
|
||||
"filter_to_triggered": "Filtrovat seznam jen na spuštěné",
|
||||
"open_task": "Otevřít úkol",
|
||||
"show_details": "Zobrazit historii + statistiky",
|
||||
"hide_details": "Skrýt podrobnosti",
|
||||
"history_empty": "Zatím žádná historie.",
|
||||
"history_edit_button": "Upravit záznam",
|
||||
"total_cost": "Celkové náklady",
|
||||
"times_performed": "Provedeno",
|
||||
"older_entries": "starší",
|
||||
"open_in_panel": "Otevřít v panelu Údržba",
|
||||
"skip_reason": "Důvod přeskočení (volitelné)",
|
||||
"reset_to_date": "Resetovat poslední provedení na",
|
||||
"delete_task_confirm": "Smazat tento úkol a jeho historii?",
|
||||
"delete_object_confirm": "Smazat tento objekt a všechny jeho úkoly?",
|
||||
"loading": "Načítání…",
|
||||
"archive": "Archivovat",
|
||||
"undo": "Zpět",
|
||||
"task_archived": "Úkol archivován",
|
||||
"object_archived": "Objekt archivován",
|
||||
"unarchive": "Obnovit z archivu",
|
||||
"archived": "Archivováno",
|
||||
"show_archived": "Zobrazit archivované",
|
||||
"hide_archived": "Skrýt archivované",
|
||||
"confirm_archive_object": "Archivovat tento objekt a jeho úkoly? Historie zůstane zachována a lze ji později obnovit.",
|
||||
"settings_archive": "Archiv a uchovávání",
|
||||
"settings_archive_desc": "Odkládejte dokončené jednorázové úkoly bez mazání. Archivované položky jsou skryté a neaktivní, ale zachovávají historii a náklady.",
|
||||
"settings_archive_oneoff_days": "Automaticky archivovat dokončené jednorázové úkoly po (dny, 0 = vypnuto)",
|
||||
"settings_delete_archived_oneoff_days": "Automaticky mazat archivované jednorázové úkoly po (dny, 0 = nikdy)",
|
||||
"archive_object": "Archivovat objekt",
|
||||
"unarchive_object": "Obnovit objekt z archivu",
|
||||
"documents": "Dokumenty",
|
||||
"documents_empty": "Zatím žádné dokumenty.",
|
||||
"doc_upload": "Nahrát soubor",
|
||||
"doc_uploading": "Nahrávání…",
|
||||
"doc_add_link": "Přidat odkaz",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Název (nepovinné)",
|
||||
"doc_open": "Otevřít",
|
||||
"doc_delete_confirm": "Smazat „{name}“?",
|
||||
"doc_too_large": "Soubor je příliš velký (max. 25 MB).",
|
||||
"doc_upload_failed": "Nahrání selhalo.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Již uloženo jinde — sdíleno, bez dalšího místa.",
|
||||
"doc_dup_in_object": "Tento soubor je již připojen k tomuto objektu.",
|
||||
"doc_link_invalid": "Povoleny jsou pouze odkazy http/https.",
|
||||
"doc_cat_manual": "Návod",
|
||||
"doc_cat_warranty": "Záruka",
|
||||
"doc_cat_invoice": "Faktura",
|
||||
"doc_cat_spare_parts": "Náhradní díly",
|
||||
"doc_cat_photo": "Fotografie",
|
||||
"doc_cat_other": "Ostatní",
|
||||
"doc_link_badge": "Odkaz",
|
||||
"doc_storage_title": "Úložiště dokumentů",
|
||||
"doc_storage_saved": "Ušetřeno deduplikací",
|
||||
"doc_storage_refresh": "Obnovit",
|
||||
"doc_download": "Stáhnout",
|
||||
"doc_close": "Zavřít",
|
||||
"doc_camera": "Vyfotit",
|
||||
"doc_drop_hint": "Přetáhněte soubory sem",
|
||||
"doc_task_none": "Žádné dokumenty spojené s tímto úkolem.",
|
||||
"doc_link_existing": "Připojit dokument…",
|
||||
"doc_attach": "Připojit",
|
||||
"doc_unlink": "Odpojit",
|
||||
"doc_page": "Strana",
|
||||
"chart_range_7d": "7d",
|
||||
"chart_range_30d": "30d",
|
||||
"chart_range_90d": "90d",
|
||||
"chart_range_1y": "1r",
|
||||
"chart_since_service": "od poslední údržby",
|
||||
"chart_no_stats": "Pro tuto entitu nejsou dlouhodobé statistiky — zobrazují se pouze hodnoty z údržbových záznamů",
|
||||
"auto_complete_on_recovery": "Automaticky dokončit při zotavení senzoru",
|
||||
"auto_complete_on_recovery_help": "Zaznamená dokončení (nastaví poslední provedení), jakmile se spouštěč sám vyřeší — např. doplněná sůl, vyměněný filtr.",
|
||||
"doc_search": "Hledat dokumenty…",
|
||||
"doc_search_none": "Žádné odpovídající dokumenty",
|
||||
"link_device_optional": "Propojit s existujícím zařízením (volitelné)",
|
||||
"parent_object_optional": "Nadřazený objekt (volitelné)",
|
||||
"parent_none": "(Žádný nadřazený)",
|
||||
"paused": "Pozastaveno",
|
||||
"pause_object": "Pozastavit",
|
||||
"resume_object": "Pokračovat",
|
||||
"pause_until_prompt": "Zmrazit plány tohoto objektu — nic není splatné a nic neupozorňuje, dokud nebude obnoven. Volitelně nastavte datum automatického obnovení.",
|
||||
"pause_until_label": "Pokračovat dne (volitelné)",
|
||||
"object_paused": "Objekt pozastaven",
|
||||
"object_resumed": "Objekt obnoven — plány restartovány",
|
||||
"object_paused_badge": "Pozastaveno",
|
||||
"paused_until_label": "do",
|
||||
"replace_object": "Nahradit…",
|
||||
"replace_object_prompt": "Vyřadit tento objekt a vytvořit nástupce. Historie a náklady zůstávají archivované u starého; úkoly a dokumenty přecházejí na nový, počítadla začínají od nuly.",
|
||||
"replace_name_label": "Název nástupce",
|
||||
"object_replaced": "Objekt nahrazen — nástupce vytvořen",
|
||||
"reading_unit_label": "Jednotka odečtu (např. kWh, m³)",
|
||||
"reading_unit_help": "Zobrazí se vedle zaznamenané hodnoty při dokončení tohoto úkolu.",
|
||||
"reading_value_label": "Hodnota odečtu",
|
||||
"reading_label": "Odečet",
|
||||
"settings_templates_label": "Galerie šablon",
|
||||
"settings_templates_hint": "Odškrtněte šablony, které nikdy nevyužijete — zmizí z výběru „Ze šablony\" (panel i config flow). Nic jiného se nemění; kdykoli je lze znovu zapnout.",
|
||||
"worksheet": "Pracovní list",
|
||||
"worksheet_scan_view": "Naskenujte pro otevření úkolu",
|
||||
"worksheet_scan_complete": "Naskenujte pro dokončení",
|
||||
"worksheet_manual_excerpt": "Výňatek z manuálu",
|
||||
"worksheet_pages": "strany",
|
||||
"worksheet_printed": "Vytištěno",
|
||||
"worksheet_never": "Nikdy"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Vedligeholdelse",
|
||||
"objects": "Objekter",
|
||||
"tasks": "Opgaver",
|
||||
"overdue": "Forfalden",
|
||||
"due_soon": "Snart forfalden",
|
||||
"triggered": "Udløst",
|
||||
"trigger_replaced": "Udløser erstattet",
|
||||
"ok": "OK",
|
||||
"all": "Alle",
|
||||
"new_object": "+ Nyt objekt",
|
||||
"templates_from": "Fra skabelon",
|
||||
"templates_title": "Start fra en skabelon",
|
||||
"templates_task_count": "{n} opgaver",
|
||||
"template_created": "Oprettet fra skabelon",
|
||||
"onboard_hint": "Tilføj dit første objekt for at spore vedligeholdelse.",
|
||||
"edit": "Rediger",
|
||||
"duplicate": "Dupliker",
|
||||
"task_duplicated": "Opgave duplikeret",
|
||||
"object_duplicated": "Objekt duplikeret",
|
||||
"delete": "Slet",
|
||||
"add_task": "+ Tilføj opgave",
|
||||
"complete": "Fuldfør",
|
||||
"completed": "Fuldført",
|
||||
"skip": "Spring over",
|
||||
"skipped": "Sprunget over",
|
||||
"missed": "Missed",
|
||||
"reset": "Nulstil",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Annuller",
|
||||
"bulk_select": "Vælg",
|
||||
"bulk_select_all": "Vælg alle",
|
||||
"bulk_n_selected": "{n} valgt",
|
||||
"bulk_completed": "{n} opgaver fuldført",
|
||||
"bulk_archived": "{n} opgaver arkiveret",
|
||||
"completing": "Fuldfører…",
|
||||
"interval": "Interval",
|
||||
"warning": "Advarsel",
|
||||
"last_performed": "Senest udført",
|
||||
"next_due": "Næste forfald",
|
||||
"days_until_due": "Dage til forfald",
|
||||
"avg_duration": "Gns. varighed",
|
||||
"trigger": "Udløser",
|
||||
"trigger_type": "Udløsertype",
|
||||
"threshold_above": "Øvre grænse",
|
||||
"threshold_below": "Nedre grænse",
|
||||
"threshold": "Tærskel",
|
||||
"counter": "Tæller",
|
||||
"state_change": "Tilstandsændring",
|
||||
"runtime": "Driftstid",
|
||||
"runtime_hours": "Måldriftstid (timer)",
|
||||
"target_value": "Målværdi",
|
||||
"baseline": "Referenceværdi",
|
||||
"target_changes": "Antal målændringer",
|
||||
"for_minutes": "I (minutter)",
|
||||
"time_based": "Tidsbaseret",
|
||||
"sensor_based": "Sensorbaseret",
|
||||
"manual": "Manuel",
|
||||
"one_time": "Engangs",
|
||||
"weekdays": "Ugedage",
|
||||
"nth_weekday": "N'te ugedag i måneden",
|
||||
"day_of_month": "Dag i måneden",
|
||||
"recurrence_on_days": "Gentag på",
|
||||
"recurrence_occurrence": "Forekomst",
|
||||
"recurrence_weekday": "Ugedag",
|
||||
"recurrence_day": "Dag i måneden (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1.",
|
||||
"ord_2": "2.",
|
||||
"ord_3": "3.",
|
||||
"ord_4": "4.",
|
||||
"ord_5": "5.",
|
||||
"ord_last": "Sidste",
|
||||
"day_word": "Dag",
|
||||
"interval_value": "Interval",
|
||||
"interval_unit": "Enhed",
|
||||
"unit_days": "Dage",
|
||||
"unit_weeks": "Uger",
|
||||
"unit_months": "Måneder",
|
||||
"unit_years": "År",
|
||||
"due_date": "Forfaldsdato",
|
||||
"cleaning": "Rengøring",
|
||||
"inspection": "Inspektion",
|
||||
"replacement": "Udskiftning",
|
||||
"calibration": "Kalibrering",
|
||||
"service": "Service",
|
||||
"reading": "Aflæsning",
|
||||
"custom": "Tilpasset",
|
||||
"history": "Historik",
|
||||
"cost": "Omkostning",
|
||||
"report_button": "Rapport",
|
||||
"report_title": "Vedligeholdelsesrapport",
|
||||
"report_generated": "Genereret",
|
||||
"report_times_done": "Udført",
|
||||
"report_total_cost": "Samlede omkostninger",
|
||||
"report_every": "hver {n}. {unit}",
|
||||
"report_notes": "Noter",
|
||||
"report_col_type": "Type",
|
||||
"report_col_status": "Status",
|
||||
"report_col_schedule": "Tidsplan",
|
||||
"duration": "Varighed",
|
||||
"both": "Begge",
|
||||
"trigger_val": "Udløserværdi",
|
||||
"complete_title": "Fuldfør: ",
|
||||
"checklist": "Tjekliste",
|
||||
"checklist_steps_optional": "Tjeklistetrin (valgfrit)",
|
||||
"checklist_placeholder": "Rengør filter\nUdskift pakning\nTest tryk",
|
||||
"checklist_help": "Ét trin pr. linje. Maks. 100 elementer.",
|
||||
"err_too_long": "{field}: for lang (maks. {n} tegn)",
|
||||
"err_too_short": "{field}: for kort (min. {n} tegn)",
|
||||
"err_value_too_high": "{field}: for stor (maks. {n})",
|
||||
"err_value_too_low": "{field}: for lille (min. {n})",
|
||||
"err_required": "{field}: påkrævet",
|
||||
"err_wrong_type": "{field}: forkert type (forventet: {type})",
|
||||
"err_invalid_choice": "{field}: ikke en tilladt værdi",
|
||||
"err_invalid_value": "{field}: ugyldig værdi",
|
||||
"feat_schedule_time": "Planlægning efter tidspunkt på dagen",
|
||||
"feat_schedule_time_desc": "Opgaver bliver forfaldne på et bestemt tidspunkt på dagen i stedet for midnat.",
|
||||
"schedule_time_optional": "Forfalder kl. (valgfrit, TT:MM)",
|
||||
"schedule_time_help": "Tom = midnat (standard). HA-tidszone.",
|
||||
"at_time": "kl.",
|
||||
"notes_optional": "Noter (valgfrit)",
|
||||
"cost_optional": "Omkostning (valgfrit)",
|
||||
"duration_minutes": "Varighed i minutter (valgfrit)",
|
||||
"days": "dage",
|
||||
"day": "dag",
|
||||
"today": "I dag",
|
||||
"d_overdue": "d forsinket",
|
||||
"no_tasks": "Ingen vedligeholdelsesopgaver endnu. Opret et objekt for at komme i gang.",
|
||||
"no_tasks_short": "Ingen opgaver",
|
||||
"no_history": "Ingen historikposter endnu.",
|
||||
"show_all": "Vis alle",
|
||||
"cost_duration_chart": "Omkostning og varighed",
|
||||
"installed": "Installeret",
|
||||
"confirm_delete_object": "Slet dette objekt og alle dets opgaver?",
|
||||
"confirm_delete_task": "Slet denne opgave?",
|
||||
"min": "Min",
|
||||
"max": "Maks",
|
||||
"save": "Gem",
|
||||
"saving": "Gemmer…",
|
||||
"edit_task": "Rediger opgave",
|
||||
"new_task": "Ny vedligeholdelsesopgave",
|
||||
"task_name": "Opgavenavn",
|
||||
"maintenance_type": "Vedligeholdelsestype",
|
||||
"priority": "Prioritet",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Lav",
|
||||
"priority_normal": "Normal",
|
||||
"priority_high": "Høj",
|
||||
"schedule_type": "Planlægningstype",
|
||||
"interval_days": "Interval (dage)",
|
||||
"warning_days": "Advarselsdage",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "Senest udført (valgfrit)",
|
||||
"interval_anchor": "Intervalanker",
|
||||
"anchor_completion": "Fra fuldførelsesdato",
|
||||
"anchor_planned": "Fra planlagt dato (ingen drift)",
|
||||
"edit_object": "Rediger objekt",
|
||||
"name": "Navn",
|
||||
"manufacturer_optional": "Producent (valgfrit)",
|
||||
"model_optional": "Model (valgfrit)",
|
||||
"serial_number_optional": "Serienummer (valgfrit)",
|
||||
"serial_number_label": "S/N",
|
||||
"documentation_url_label": "Manual",
|
||||
"object_notes_label": "Noter",
|
||||
"sort_due_date": "Forfaldsdato",
|
||||
"sort_object": "Objektnavn",
|
||||
"sort_type": "Type",
|
||||
"sort_task_name": "Opgavenavn",
|
||||
"all_objects": "Alle objekter",
|
||||
"tasks_lower": "opgaver",
|
||||
"no_tasks_yet": "Ingen opgaver endnu",
|
||||
"add_first_task": "Tilføj første opgave",
|
||||
"trigger_configuration": "Udløserkonfiguration",
|
||||
"entity_id": "Enheds-ID",
|
||||
"comma_separated": "kommasepareret",
|
||||
"entity_logic": "Enhedslogik",
|
||||
"entity_logic_any": "Enhver enhed udløser",
|
||||
"entity_logic_all": "Alle enheder skal udløse",
|
||||
"entities": "enheder",
|
||||
"attribute_optional": "Attribut (valgfrit, tom = tilstand)",
|
||||
"use_entity_state": "Brug enhedstilstand (ingen attribut)",
|
||||
"trigger_above": "Udløs over",
|
||||
"trigger_below": "Udløs under",
|
||||
"for_at_least_minutes": "I mindst (minutter)",
|
||||
"safety_interval_days": "Sikkerhedsinterval (dage, valgfrit)",
|
||||
"safety_interval": "Sikkerhedsinterval (valgfrit)",
|
||||
"delta_mode": "Delta-tilstand",
|
||||
"from_state_optional": "Fra tilstand (valgfrit)",
|
||||
"to_state_optional": "Til tilstand (valgfrit)",
|
||||
"documentation_url_optional": "Dokumentations-URL (valgfrit)",
|
||||
"object_notes_optional": "Noter (valgfrit)",
|
||||
"nfc_tag_id_optional": "NFC-tag-ID (valgfrit)",
|
||||
"nfc_tags_empty_help": "Ingen NFC-tags registreret i Home Assistant endnu.",
|
||||
"nfc_tags_open_settings": "Åbn tag-indstillinger",
|
||||
"nfc_tags_refresh": "Opdater",
|
||||
"environmental_entity_optional": "Miljøsensor (valgfrit)",
|
||||
"environmental_entity_helper": "f.eks. sensor.outdoor_temperature — justerer intervallet baseret på miljøforhold",
|
||||
"environmental_attribute_optional": "Miljøattribut (valgfrit)",
|
||||
"nfc_tag_id": "NFC-tag-ID",
|
||||
"nfc_linked": "NFC-tag tilknyttet",
|
||||
"nfc_link_hint": "Klik for at tilknytte NFC-tag",
|
||||
"responsible_user": "Ansvarlig bruger",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(Ingen bruger tildelt)",
|
||||
"all_users": "Alle brugere",
|
||||
"my_tasks": "Mine opgaver",
|
||||
"tab_calendar": "Kalender",
|
||||
"cal_no_events": "Ingen vedligeholdelse",
|
||||
"cal_window_7": "7 dage",
|
||||
"cal_window_14": "14 dage",
|
||||
"cal_window_30": "30 dage",
|
||||
"cal_window_365": "1 år",
|
||||
"cal_every_n_days": "hver {n}. dag",
|
||||
"cal_source_time": "Tidsbaseret",
|
||||
"cal_source_time_adaptive": "Tidsbaseret (adaptiv)",
|
||||
"cal_source_sensor": "Sensorbaseret",
|
||||
"cal_predicted": "forudsagt",
|
||||
"cal_confidence_high": "høj sikkerhed",
|
||||
"cal_confidence_medium": "mellem sikkerhed",
|
||||
"cal_confidence_low": "lav sikkerhed",
|
||||
"budget_monthly": "Månedligt budget",
|
||||
"budget_yearly": "Årligt budget",
|
||||
"groups": "Grupper",
|
||||
"new_group": "Ny gruppe",
|
||||
"edit_group": "Rediger gruppe",
|
||||
"no_groups": "Ingen grupper endnu",
|
||||
"delete_group": "Slet gruppe",
|
||||
"delete_group_confirm": "Slet gruppen '{name}'?",
|
||||
"group_select_tasks": "Vælg opgaver",
|
||||
"group_name_required": "Navn er påkrævet",
|
||||
"description_optional": "Beskrivelse (valgfrit)",
|
||||
"selected": "Valgte",
|
||||
"loading_chart": "Indlæser diagramdata...",
|
||||
"hide_outliers": "Skjul outliers (sensorfejl)",
|
||||
"was_maintenance_needed": "Var denne vedligeholdelse nødvendig?",
|
||||
"feedback_needed": "Nødvendig",
|
||||
"feedback_not_needed": "Ikke nødvendig",
|
||||
"feedback_not_sure": "Usikker",
|
||||
"suggested_interval": "Foreslået interval",
|
||||
"apply_suggestion": "Anvend",
|
||||
"reanalyze": "Analyser igen",
|
||||
"reanalyze_result": "Ny analyse",
|
||||
"reanalyze_insufficient_data": "Ikke nok data til at give en anbefaling",
|
||||
"data_points": "datapunkter",
|
||||
"dismiss_suggestion": "Afvis",
|
||||
"confidence_low": "Lav",
|
||||
"confidence_medium": "Mellem",
|
||||
"confidence_high": "Høj",
|
||||
"recommended": "anbefalet",
|
||||
"seasonal_awareness": "Sæsonbevidsthed",
|
||||
"edit_seasonal_overrides": "Rediger sæsonfaktorer",
|
||||
"seasonal_overrides_title": "Sæsonfaktorer (tilsidesæt)",
|
||||
"seasonal_overrides_hint": "Faktor pr. måned (0.1–5.0). Tom = lært automatisk.",
|
||||
"seasonal_override_invalid": "Ugyldig værdi",
|
||||
"seasonal_override_range": "Faktor skal være mellem 0.1 og 5.0",
|
||||
"clear_all": "Ryd alle",
|
||||
"seasonal_chart_title": "Sæsonfaktorer",
|
||||
"seasonal_learned": "Lært",
|
||||
"seasonal_manual": "Manuel",
|
||||
"month_jan": "Jan",
|
||||
"month_feb": "Feb",
|
||||
"month_mar": "Mar",
|
||||
"month_apr": "Apr",
|
||||
"month_may": "Maj",
|
||||
"month_jun": "Jun",
|
||||
"month_jul": "Jul",
|
||||
"month_aug": "Aug",
|
||||
"month_sep": "Sep",
|
||||
"month_oct": "Okt",
|
||||
"month_nov": "Nov",
|
||||
"month_dec": "Dec",
|
||||
"sensor_prediction": "Sensorforudsigelse",
|
||||
"degradation_trend": "Tendens",
|
||||
"trend_rising": "Stigende",
|
||||
"trend_falling": "Faldende",
|
||||
"trend_stable": "Stabil",
|
||||
"trend_insufficient_data": "Utilstrækkelige data",
|
||||
"days_until_threshold": "Dage til tærskel",
|
||||
"threshold_exceeded": "Tærskel overskredet",
|
||||
"environmental_adjustment": "Miljøfaktor",
|
||||
"sensor_prediction_urgency": "Sensor forudsiger tærskel om ~{days} dage",
|
||||
"day_short": "d",
|
||||
"weibull_reliability_curve": "Pålidelighedskurve",
|
||||
"weibull_failure_probability": "Fejlsandsynlighed",
|
||||
"weibull_r_squared": "Tilpasning R²",
|
||||
"beta_early_failures": "Tidlige fejl",
|
||||
"beta_random_failures": "Tilfældige fejl",
|
||||
"beta_wear_out": "Slitage",
|
||||
"beta_highly_predictable": "Meget forudsigelig",
|
||||
"confidence_interval": "Konfidensinterval",
|
||||
"confidence_conservative": "Konservativ",
|
||||
"confidence_aggressive": "Optimistisk",
|
||||
"current_interval_marker": "Nuværende interval",
|
||||
"recommended_marker": "Anbefalet",
|
||||
"characteristic_life": "Karakteristisk levetid",
|
||||
"chart_mini_sparkline": "Tendensdiagram",
|
||||
"chart_history": "Omkostnings- og varighedshistorik",
|
||||
"chart_seasonal": "Sæsonfaktorer, 12 måneder",
|
||||
"chart_weibull": "Weibull-pålidelighedskurve",
|
||||
"chart_sparkline": "Diagram over sensorudløserværdi",
|
||||
"days_progress": "Dagsforløb",
|
||||
"qr_code": "QR-kode",
|
||||
"qr_generating": "Genererer QR-kode…",
|
||||
"qr_error": "Kunne ikke generere QR-kode.",
|
||||
"qr_error_no_url": "Ingen HA-URL konfigureret. Angiv en ekstern eller intern URL under Indstillinger → System → Netværk.",
|
||||
"save_error": "Kunne ikke gemme. Prøv igen.",
|
||||
"qr_print": "Udskriv",
|
||||
"qr_download": "Download SVG",
|
||||
"qr_action": "Handling ved scanning",
|
||||
"qr_action_view": "Vis vedligeholdelsesoplysninger",
|
||||
"qr_action_complete": "Marker vedligeholdelse som fuldført",
|
||||
"qr_url_mode": "Linktype",
|
||||
"qr_mode_companion": "Companion-app",
|
||||
"qr_mode_local": "Lokal (mDNS)",
|
||||
"qr_mode_server": "Server-URL",
|
||||
"overview": "Oversigt",
|
||||
"analysis": "Analyse",
|
||||
"recent_activities": "Seneste aktiviteter",
|
||||
"search_notes": "Søg i noter",
|
||||
"avg_cost": "Gns. omkostning",
|
||||
"no_advanced_features": "Ingen avancerede funktioner aktiveret",
|
||||
"no_advanced_features_hint": "Aktiver „Adaptive intervaller” eller „Sæsonmønstre” i integrationsindstillingerne for at se analysedata her.",
|
||||
"analysis_not_enough_data": "Ikke nok data til analyse endnu.",
|
||||
"analysis_not_enough_data_hint": "Weibull-analyse kræver mindst 5 fuldførte vedligeholdelser; sæsonmønstre bliver synlige efter 6+ datapunkter pr. måned.",
|
||||
"analysis_manual_task_hint": "Manuelle opgaver uden et interval genererer ikke analysedata.",
|
||||
"completions": "fuldførelser",
|
||||
"current": "Nuværende",
|
||||
"shorter": "Kortere",
|
||||
"longer": "Længere",
|
||||
"normal": "Normal",
|
||||
"disabled": "Deaktiveret",
|
||||
"compound_logic": "Sammensat logik",
|
||||
"compound": "Sammensat (flere betingelser)",
|
||||
"compound_logic_and": "OG — alle betingelser skal udløses",
|
||||
"compound_logic_or": "ELLER — en betingelse er nok",
|
||||
"compound_help": "Kombiner flere sensorbetingelser til én udløser.",
|
||||
"compound_no_conditions": "Ingen betingelser endnu — tilføj mindst én.",
|
||||
"compound_add_condition": "Tilføj betingelse",
|
||||
"compound_condition": "Betingelse",
|
||||
"compound_remove_condition": "Fjern betingelse",
|
||||
"card_title": "Titel",
|
||||
"card_show_header": "Vis overskrift med statistik",
|
||||
"card_show_actions": "Vis handlingsknapper",
|
||||
"card_compact": "Kompakt tilstand",
|
||||
"card_max_items": "Maks. elementer (0 = alle)",
|
||||
"card_filter_status": "Filtrer efter status",
|
||||
"card_filter_status_help": "Tom = vis alle statusser.",
|
||||
"card_filter_objects": "Filtrer efter objekter",
|
||||
"card_filter_objects_help": "Tom = vis alle objekter.",
|
||||
"card_filter_entities": "Filtrer efter enheder (entity_ids)",
|
||||
"card_filter_entities_help": "Vælg sensor- / binary_sensor-enheder fra denne integration. Tom = alle.",
|
||||
"card_loading_objects": "Indlæser objekter…",
|
||||
"card_load_error": "Kunne ikke indlæse objekter — tjek WebSocket-forbindelsen.",
|
||||
"card_no_tasks_title": "Ingen vedligeholdelsesopgaver endnu",
|
||||
"card_no_tasks_cta": "→ Opret en i Vedligeholdelse-panelet",
|
||||
"no_objects": "Ingen objekter endnu.",
|
||||
"action_error": "Handlingen mislykkedes. Prøv igen.",
|
||||
"area_id_optional": "Område (valgfrit)",
|
||||
"installation_date_optional": "Installationsdato (valgfrit)",
|
||||
"warranty_expiry_optional": "Garantiens udløb (valgfrit)",
|
||||
"warranty": "Garanti",
|
||||
"warranty_valid_until": "gyldig indtil {date}",
|
||||
"warranty_expires_in": "udløber om {days} dage",
|
||||
"warranty_expired": "udløbet",
|
||||
"cal_past_windows": "Tidligere vinduer",
|
||||
"cal_forward_windows": "Kommende vinduer",
|
||||
"history_edit_title": "Rediger historikpost",
|
||||
"history_edit_timestamp": "Tidsstempel",
|
||||
"manufacturer": "Producent",
|
||||
"model": "Model",
|
||||
"area": "Område",
|
||||
"actions": "Handlinger",
|
||||
"view_mode_label": "Visning",
|
||||
"view_cards": "Kortvisning",
|
||||
"view_table": "Tabelvisning",
|
||||
"objects_table_columns_label": "Kolonner i objekttabel",
|
||||
"objects_table_columns_hint": "Vælg, hvilke kolonner der vises i objekttabelvisningen.",
|
||||
"custom_icon_optional": "Ikon (valgfrit, f.eks. mdi:wrench)",
|
||||
"task_enabled": "Opgave aktiveret",
|
||||
"skip_reason_prompt": "Spring denne opgave over?",
|
||||
"reason_optional": "Årsag (valgfrit)",
|
||||
"reset_date_prompt": "Marker opgave som udført?",
|
||||
"reset_date_optional": "Dato for seneste udførelse (valgfrit, standard er i dag)",
|
||||
"notes_label": "Noter",
|
||||
"documentation_label": "Dokumentation",
|
||||
"no_nfc_tag": "— Intet tag —",
|
||||
"dashboard": "Oversigt",
|
||||
"tab_today": "I dag",
|
||||
"palette_placeholder": "Søg objekter og opgaver…",
|
||||
"palette_no_results": "Ingen match",
|
||||
"palette_hint": "↑↓ naviger · Enter åbn · Esc luk",
|
||||
"today_all_caught_up": "Alt er klaret! Intet forfalder i denne uge.",
|
||||
"today_overdue": "Forfaldne",
|
||||
"today_due_today": "Forfalder i dag",
|
||||
"today_this_week": "Denne uge",
|
||||
"settings": "Indstillinger",
|
||||
"settings_features": "Avancerede funktioner",
|
||||
"settings_features_desc": "Aktiver eller deaktiver avancerede funktioner. Deaktivering skjuler dem fra brugerfladen, men sletter ikke data.",
|
||||
"feat_adaptive": "Adaptiv planlægning",
|
||||
"feat_adaptive_desc": "Lær optimale intervaller fra vedligeholdelseshistorik",
|
||||
"feat_predictions": "Sensorforudsigelser",
|
||||
"feat_predictions_desc": "Forudsig udløsningsdatoer fra sensornedbrydning",
|
||||
"feat_seasonal": "Sæsonjusteringer",
|
||||
"feat_seasonal_desc": "Juster intervaller baseret på sæsonmønstre",
|
||||
"feat_environmental": "Miljøkorrelation",
|
||||
"feat_environmental_desc": "Korreler intervaller med temperatur/luftfugtighed",
|
||||
"feat_budget": "Budgetopfølgning",
|
||||
"feat_budget_desc": "Følg månedlige og årlige vedligeholdelsesudgifter",
|
||||
"feat_groups": "Opgavegrupper",
|
||||
"feat_groups_desc": "Organiser opgaver i logiske grupper",
|
||||
"feat_checklists": "Tjeklister",
|
||||
"feat_checklists_desc": "Procedurer i flere trin til fuldførelse af opgaver",
|
||||
"settings_general": "Generelt",
|
||||
"settings_default_warning": "Standard advarselsdage",
|
||||
"settings_panel_enabled": "Sidepanel",
|
||||
"settings_panel_title": "Sidepanelets titel",
|
||||
"settings_notifications": "Notifikationer",
|
||||
"settings_notify_service": "Notifikationstjeneste",
|
||||
"test_notification": "Testnotifikation",
|
||||
"send_test": "Send test",
|
||||
"testing": "Sender…",
|
||||
"test_notification_success": "Testnotifikation sendt",
|
||||
"test_notification_failed": "Testnotifikation mislykkedes",
|
||||
"settings_notify_due_soon": "Notificer ved snart forfalden",
|
||||
"settings_notify_overdue": "Notificer ved forfalden",
|
||||
"settings_notify_triggered": "Notificer ved udløst",
|
||||
"settings_interval_hours": "Gentagelsesinterval (timer, 0 = én gang)",
|
||||
"settings_quiet_hours": "Stilletimer",
|
||||
"settings_quiet_start": "Start",
|
||||
"settings_quiet_end": "Slut",
|
||||
"settings_max_per_day": "Maks. notifikationer pr. dag (0 = ubegrænset)",
|
||||
"settings_bundling": "Saml notifikationer",
|
||||
"settings_bundle_threshold": "Samlingstærskel",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Mobile handlingsknapper",
|
||||
"settings_action_complete": "Vis 'Fuldfør'-knap",
|
||||
"settings_action_skip": "Vis 'Spring over'-knap",
|
||||
"settings_action_snooze": "Vis 'Udsæt'-knap",
|
||||
"settings_weekly_digest": "Ugentlig oversigt",
|
||||
"settings_weekly_digest_hint": "Én samlet notifikation mandag morgen, når opgaver forfalder.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Udsættelsesvarighed (timer)",
|
||||
"settings_budget": "Budget",
|
||||
"settings_currency": "Valuta",
|
||||
"settings_budget_monthly": "Månedligt budget",
|
||||
"settings_budget_yearly": "Årligt budget",
|
||||
"settings_budget_alerts": "Budgetadvarsler",
|
||||
"settings_budget_threshold": "Advarselstærskel (%)",
|
||||
"settings_import_export": "Import / Eksport",
|
||||
"settings_export_json": "Eksporter JSON",
|
||||
"settings_export_yaml": "Eksporter YAML",
|
||||
"settings_export_csv": "Eksporter CSV",
|
||||
"settings_import_csv": "Importer CSV",
|
||||
"settings_import_placeholder": "Indsæt JSON- eller CSV-indhold her…",
|
||||
"settings_import_btn": "Importer",
|
||||
"settings_import_success": "{count} objekter importeret.",
|
||||
"settings_export_success": "Eksport downloadet.",
|
||||
"settings_saved": "Indstilling gemt.",
|
||||
"settings_include_history": "Inkluder historik",
|
||||
"sort_alphabetical": "Alfabetisk",
|
||||
"sort_due_soonest": "Forfalder først",
|
||||
"sort_task_count": "Antal opgaver",
|
||||
"sort_area": "Område",
|
||||
"sort_assigned_user": "Tildelt bruger",
|
||||
"sort_group": "Gruppe",
|
||||
"groupby_none": "Ingen gruppering",
|
||||
"groupby_area": "Efter område",
|
||||
"groupby_group": "Efter gruppe",
|
||||
"groupby_user": "Efter bruger",
|
||||
"filter_label": "Filter",
|
||||
"user_label": "Bruger",
|
||||
"sort_label": "Sortering",
|
||||
"group_by_label": "Grupper efter",
|
||||
"state_value_help": "Brug HA-tilstandsværdien (normalt med små bogstaver, f.eks. \"on\"/\"off\"). Store/små bogstaver normaliseres ved lagring.",
|
||||
"target_changes_help": "Antal matchende overgange, før udløseren aktiveres (standard: 1).",
|
||||
"qr_print_title": "Udskriv QR-koder",
|
||||
"qr_print_desc": "Generer en udskriftsklar side med QR-koder, der kan klippes ud og sættes på dit udstyr.",
|
||||
"qr_print_load": "Indlæs objekter",
|
||||
"qr_print_filter": "Filter",
|
||||
"qr_print_objects": "Objekter",
|
||||
"qr_print_actions": "Handlinger",
|
||||
"qr_print_url_mode": "Linktype",
|
||||
"qr_print_estimate": "Anslåede QR-koder",
|
||||
"qr_print_over_limit": "grænsen er 200, indsnævr filteret",
|
||||
"qr_print_generate": "Generer QR-koder",
|
||||
"qr_print_generating": "Genererer…",
|
||||
"qr_print_ready": "QR-koder klar",
|
||||
"qr_print_print_button": "Udskriv",
|
||||
"qr_print_empty": "Intet at generere",
|
||||
"qr_action_skip": "Spring over",
|
||||
"vacation_title": "Ferietilstand",
|
||||
"vacation_active": "aktiv",
|
||||
"vacation_ended": "afsluttet",
|
||||
"vacation_desc": "Planlæg en ferie: notifikationer sættes på pause i perioden plus et bufferantal dage. Du kan vælge bestemte opgaver til igen.",
|
||||
"vacation_enable": "Aktiver ferietilstand",
|
||||
"vacation_start": "Start",
|
||||
"vacation_end": "Slut",
|
||||
"vacation_buffer": "Buffer (dage)",
|
||||
"vacation_exempt_title": "Notificer alligevel under ferie",
|
||||
"vacation_exempt_desc": "Vælg opgaver, der stadig skal notificere under ferien (f.eks. kritisk poolkemi).",
|
||||
"vacation_load_tasks": "Indlæs opgaver",
|
||||
"vacation_preview_btn": "Vis forhåndsvisning",
|
||||
"vacation_preview_affected": "opgaver berørt",
|
||||
"vacation_event_due_soon": "bliver snart forfalden",
|
||||
"vacation_event_overdue": "bliver forfalden",
|
||||
"vacation_event_triggered_est": "sensorudløsning mulig",
|
||||
"vacation_sensor_based": "(sensorbaseret)",
|
||||
"vacation_action_notify": "Notificer alligevel",
|
||||
"vacation_action_unsilence": "Dæmp igen",
|
||||
"vacation_marked_complete": "Markeret som fuldført",
|
||||
"vacation_marked_skip": "Sprunget over",
|
||||
"vacation_end_now": "Afslut ferie nu",
|
||||
"add": "Tilføj",
|
||||
"show_stats": "Vis statistik + grafer",
|
||||
"hide_stats": "Skjul statistik",
|
||||
"adaptive_no_data": "Endnu ikke nok fuldførelseshistorik til adaptiv analyse. Fuldfør denne opgave et par gange mere for at låse op for intervalanbefalinger og pålidelighedsdiagrammer.",
|
||||
"suggestion_applied": "Foreslået interval anvendt",
|
||||
"vacation_mode": "Ferietilstand",
|
||||
"vacation_status_active": "Aktiv nu",
|
||||
"vacation_status_scheduled": "Planlagt",
|
||||
"vacation_status_inactive": "Inaktiv",
|
||||
"vacation_end_now_confirm": "Afslut ferie med det samme?",
|
||||
"vacation_exempt_count": "undtaget",
|
||||
"vacation_advanced": "Avanceret…",
|
||||
"vacation_open_panel": "Åbn i panel",
|
||||
"enable": "Aktiver",
|
||||
"saved": "Gemt",
|
||||
"budget_monthly_set": "Angiv måned",
|
||||
"budget_yearly_set": "Angiv år",
|
||||
"budget_advanced": "Valuta, advarsler…",
|
||||
"budget_open_panel": "Åbn i panel",
|
||||
"groups_empty": "Ingen grupper endnu.",
|
||||
"group_new_placeholder": "Tilføj gruppe…",
|
||||
"group_delete_confirm": "Slet gruppen \"{name}\"?",
|
||||
"groups_manage_tasks": "Administrer opgavetildelinger…",
|
||||
"groups_open_panel": "Åbn i panel",
|
||||
"unassigned": "Ikke tildelt",
|
||||
"no_area": "Intet område",
|
||||
"has_overdue": "Har forfaldne opgaver",
|
||||
"object": "Objekt",
|
||||
"settings_panel_access": "Paneladgang",
|
||||
"settings_panel_access_desc": "Administratorer har altid fuld adgang. For at delegere oprettelse, redigering og sletning til bestemte ikke-administratorer skal du slå dette til og vælge dem nedenfor — alle andre ser kun Fuldfør og Spring over.",
|
||||
"settings_operator_write": "Tillad valgte brugere at oprette, redigere og slette",
|
||||
"settings_operator_write_desc": "Fra: kun administratorer kan ændre indhold. Til: de valgte brugere nedenfor får også fuld adgang.",
|
||||
"no_non_admin_users": "Ingen ikke-administratorbrugere fundet. Tilføj nogle under Indstillinger → Personer.",
|
||||
"owner_label": "Ejer",
|
||||
"feat_completion_actions": "Fuldførelseshandlinger",
|
||||
"feat_completion_actions_desc": "HA-handling pr. opgave ved fuldførelse + hurtig-fuldfør-QR med forudindstillede værdier.",
|
||||
"on_complete_action_title": "Ved fuldførelse: udløs HA-handling (valgfrit)",
|
||||
"on_complete_action_desc": "Kalder en HA-tjeneste, når opgaven fuldføres — f.eks. nulstil en tæller på enheden.",
|
||||
"on_complete_action_service": "Tjeneste",
|
||||
"on_complete_action_target": "Målenhed",
|
||||
"on_complete_action_target_hint": "Bemærk: enhedens domæne skal matche tjenesten — f.eks. virker 'button.press' kun på button.*, 'counter.increment' kun på counter.*, 'input_button.press' kun på input_button.* osv. Ved et misforhold mislykkes handlingen lydløst (HA logger 'Referenced entities ... missing or not currently available').",
|
||||
"on_complete_action_data": "Data (JSON, valgfrit)",
|
||||
"on_complete_action_test": "Valider konfiguration",
|
||||
"on_complete_action_test_success": "✓ Konfiguration gyldig (handlingen udløses kun ved fuldførelse af opgaven)",
|
||||
"on_complete_action_test_failed": "Mislykkedes",
|
||||
"quick_complete_defaults_title": "Standardværdier for hurtig-fuldfør (til QR-scanninger, valgfrit)",
|
||||
"quick_complete_defaults_desc": "Forudindstillede værdier til hurtig-fuldfør-QR-scanninger. Uden disse åbner QR-koden fuldfør-dialogen.",
|
||||
"quick_complete_defaults_notes": "Noter",
|
||||
"quick_complete_defaults_cost": "Omkostning",
|
||||
"quick_complete_defaults_duration": "Varighed (minutter)",
|
||||
"quick_complete_defaults_feedback_none": "Ingen feedback",
|
||||
"quick_complete_defaults_feedback_needed": "Var nødvendig",
|
||||
"quick_complete_defaults_feedback_not_needed": "Ikke nødvendig",
|
||||
"quick_complete_success": "Hurtigt markeret som fuldført",
|
||||
"show_all_objects": "Vis alle objekter",
|
||||
"show_all_tasks": "Ryd filter — vis alle opgaver",
|
||||
"filter_to_overdue": "Filtrer opgavelisten til kun forfaldne",
|
||||
"filter_to_due_soon": "Filtrer opgavelisten til kun snart forfaldne",
|
||||
"filter_to_triggered": "Filtrer opgavelisten til kun udløste",
|
||||
"open_task": "Åbn opgave",
|
||||
"show_details": "Vis historik + statistik",
|
||||
"hide_details": "Skjul detaljer",
|
||||
"history_empty": "Ingen historik endnu.",
|
||||
"history_edit_button": "Rediger post",
|
||||
"total_cost": "Samlet omkostning",
|
||||
"times_performed": "Udført",
|
||||
"older_entries": "ældre",
|
||||
"open_in_panel": "Åbn i Vedligeholdelse-panelet",
|
||||
"skip_reason": "Årsag til at springe over (valgfrit)",
|
||||
"reset_to_date": "Nulstil senest udført til",
|
||||
"delete_task_confirm": "Slet denne opgave og dens historik?",
|
||||
"delete_object_confirm": "Slet dette objekt og alle dets opgaver?",
|
||||
"loading": "Indlæser…",
|
||||
"archive": "Arkivér",
|
||||
"undo": "Fortryd",
|
||||
"task_archived": "Opgave arkiveret",
|
||||
"object_archived": "Objekt arkiveret",
|
||||
"unarchive": "Gendan",
|
||||
"archived": "Arkiveret",
|
||||
"show_archived": "Vis arkiverede",
|
||||
"hide_archived": "Skjul arkiverede",
|
||||
"confirm_archive_object": "Arkivér dette objekt og dets opgaver? Historikken bevares og kan gendannes senere.",
|
||||
"settings_archive": "Arkiv og opbevaring",
|
||||
"settings_archive_desc": "Læg færdige engangsopgaver væk uden at slette dem. Arkiverede elementer er skjult og inaktive, men bevarer historik og omkostninger.",
|
||||
"settings_archive_oneoff_days": "Arkivér automatisk færdige engangsopgaver efter (dage, 0 = fra)",
|
||||
"settings_delete_archived_oneoff_days": "Slet automatisk arkiverede engangsopgaver efter (dage, 0 = aldrig)",
|
||||
"archive_object": "Arkivér objekt",
|
||||
"unarchive_object": "Gendan objekt",
|
||||
"documents": "Dokumenter",
|
||||
"documents_empty": "Ingen dokumenter endnu.",
|
||||
"doc_upload": "Upload fil",
|
||||
"doc_uploading": "Uploader…",
|
||||
"doc_add_link": "Tilføj link",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Titel (valgfri)",
|
||||
"doc_open": "Åbn",
|
||||
"doc_delete_confirm": "Slet \"{name}\"?",
|
||||
"doc_too_large": "Filen er for stor (maks. 25 MB).",
|
||||
"doc_upload_failed": "Upload mislykkedes.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Allerede gemt et andet sted — delt, ingen ekstra plads.",
|
||||
"doc_dup_in_object": "Denne fil er allerede vedhæftet dette objekt.",
|
||||
"doc_link_invalid": "Kun http/https-links er tilladt.",
|
||||
"doc_cat_manual": "Vejledning",
|
||||
"doc_cat_warranty": "Garanti",
|
||||
"doc_cat_invoice": "Faktura",
|
||||
"doc_cat_spare_parts": "Reservedele",
|
||||
"doc_cat_photo": "Foto",
|
||||
"doc_cat_other": "Andet",
|
||||
"doc_link_badge": "Link",
|
||||
"doc_storage_title": "Dokumentlager",
|
||||
"doc_storage_saved": "Sparet ved deduplikering",
|
||||
"doc_storage_refresh": "Opdater",
|
||||
"doc_download": "Download",
|
||||
"doc_close": "Luk",
|
||||
"doc_camera": "Tag billede",
|
||||
"doc_drop_hint": "Slip filer her",
|
||||
"doc_task_none": "Ingen dokumenter knyttet til denne opgave.",
|
||||
"doc_link_existing": "Knyt et dokument…",
|
||||
"doc_attach": "Knyt",
|
||||
"doc_unlink": "Fjern kobling",
|
||||
"doc_page": "Side",
|
||||
"chart_range_7d": "7d",
|
||||
"chart_range_30d": "30d",
|
||||
"chart_range_90d": "90d",
|
||||
"chart_range_1y": "1å",
|
||||
"chart_since_service": "siden sidste vedligeholdelse",
|
||||
"chart_no_stats": "Ingen langtidsstatistik for denne enhed — viser kun værdier fra vedligeholdelsesposter",
|
||||
"auto_complete_on_recovery": "Fuldfør automatisk når sensoren retter sig",
|
||||
"auto_complete_on_recovery_help": "Registrerer en fuldførelse (sætter senest udført), når udløseren løser sig selv — f.eks. salt påfyldt, filter udskiftet.",
|
||||
"doc_search": "Søg dokumenter…",
|
||||
"doc_search_none": "Ingen matchende dokumenter",
|
||||
"link_device_optional": "Tilknyt eksisterende enhed (valgfrit)",
|
||||
"parent_object_optional": "Overordnet objekt (valgfrit)",
|
||||
"parent_none": "(Intet overordnet)",
|
||||
"paused": "Sat på pause",
|
||||
"pause_object": "Sæt på pause",
|
||||
"resume_object": "Genoptag",
|
||||
"pause_until_prompt": "Frys objektets planer — intet forfalder og intet notificerer, før det genoptages. Angiv eventuelt en dato for automatisk genoptagelse.",
|
||||
"pause_until_label": "Genoptag den (valgfrit)",
|
||||
"object_paused": "Objekt sat på pause",
|
||||
"object_resumed": "Objekt genoptaget — planer genstartet",
|
||||
"object_paused_badge": "På pause",
|
||||
"paused_until_label": "indtil",
|
||||
"replace_object": "Udskift…",
|
||||
"replace_object_prompt": "Pensioner dette objekt og opret en efterfølger. Historik og omkostninger forbliver arkiveret på det gamle; opgaver og dokumenter følger med til det nye, tællere starter forfra.",
|
||||
"replace_name_label": "Efterfølgerens navn",
|
||||
"object_replaced": "Objekt udskiftet — efterfølger oprettet",
|
||||
"reading_unit_label": "Aflæsningsenhed (f.eks. kWh, m³)",
|
||||
"reading_unit_help": "Vises ved siden af den registrerede værdi, når opgaven fuldføres.",
|
||||
"reading_value_label": "Aflæst værdi",
|
||||
"reading_label": "Aflæsning",
|
||||
"settings_templates_label": "Skabelongalleri",
|
||||
"settings_templates_hint": "Fravælg skabeloner, du aldrig får brug for — de forsvinder fra \"Fra skabelon\"-vælgerne (panel og config flow). Intet andet ændres; kan genaktiveres når som helst.",
|
||||
"worksheet": "Arbejdsark",
|
||||
"worksheet_scan_view": "Scan for at åbne opgaven",
|
||||
"worksheet_scan_complete": "Scan for at fuldføre",
|
||||
"worksheet_manual_excerpt": "Uddrag af manualen",
|
||||
"worksheet_pages": "sider",
|
||||
"worksheet_printed": "Udskrevet",
|
||||
"worksheet_never": "Aldrig"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Wartung",
|
||||
"objects": "Objekte",
|
||||
"tasks": "Aufgaben",
|
||||
"overdue": "Überfällig",
|
||||
"due_soon": "Bald fällig",
|
||||
"triggered": "Ausgelöst",
|
||||
"trigger_replaced": "Auslöser ersetzt",
|
||||
"ok": "OK",
|
||||
"all": "Alle",
|
||||
"new_object": "+ Neues Objekt",
|
||||
"templates_from": "Aus Vorlage",
|
||||
"templates_title": "Mit einer Vorlage starten",
|
||||
"templates_task_count": "{n} Aufgaben",
|
||||
"template_created": "Aus Vorlage erstellt",
|
||||
"onboard_hint": "Füge dein erstes Objekt hinzu, um mit der Wartung zu starten.",
|
||||
"edit": "Bearbeiten",
|
||||
"duplicate": "Duplizieren",
|
||||
"task_duplicated": "Aufgabe dupliziert",
|
||||
"object_duplicated": "Objekt dupliziert",
|
||||
"delete": "Löschen",
|
||||
"add_task": "+ Aufgabe",
|
||||
"complete": "Erledigt",
|
||||
"completed": "Abgeschlossen",
|
||||
"skip": "Überspringen",
|
||||
"skipped": "Übersprungen",
|
||||
"missed": "Verpasst",
|
||||
"reset": "Zurücksetzen",
|
||||
"snooze": "Schlummern",
|
||||
"snoozed": "Schlummert",
|
||||
"cancel": "Abbrechen",
|
||||
"bulk_select": "Auswählen",
|
||||
"bulk_select_all": "Alle auswählen",
|
||||
"bulk_n_selected": "{n} ausgewählt",
|
||||
"bulk_completed": "{n} Aufgaben erledigt",
|
||||
"bulk_archived": "{n} Aufgaben archiviert",
|
||||
"completing": "Wird erledigt…",
|
||||
"interval": "Intervall",
|
||||
"warning": "Vorwarnung",
|
||||
"last_performed": "Zuletzt durchgeführt",
|
||||
"next_due": "Nächste Fälligkeit",
|
||||
"days_until_due": "Tage bis fällig",
|
||||
"avg_duration": "Ø Dauer",
|
||||
"trigger": "Trigger",
|
||||
"trigger_type": "Trigger-Typ",
|
||||
"threshold_above": "Obergrenze",
|
||||
"threshold_below": "Untergrenze",
|
||||
"threshold": "Schwellwert",
|
||||
"counter": "Zähler",
|
||||
"state_change": "Zustandsänderung",
|
||||
"runtime": "Laufzeit",
|
||||
"runtime_hours": "Ziel-Laufzeit (Stunden)",
|
||||
"target_value": "Zielwert",
|
||||
"baseline": "Nulllinie",
|
||||
"target_changes": "Ziel-Änderungen",
|
||||
"for_minutes": "Für (Minuten)",
|
||||
"time_based": "Zeitbasiert",
|
||||
"sensor_based": "Sensorbasiert",
|
||||
"manual": "Manuell",
|
||||
"one_time": "Einmalig",
|
||||
"weekdays": "Wochentage",
|
||||
"nth_weekday": "N-ter Wochentag im Monat",
|
||||
"day_of_month": "Tag im Monat",
|
||||
"recurrence_on_days": "Wiederholen an",
|
||||
"recurrence_occurrence": "Vorkommen",
|
||||
"recurrence_weekday": "Wochentag",
|
||||
"recurrence_day": "Tag im Monat (1–31)",
|
||||
"recurrence_last_day": "Letzter Tag des Monats",
|
||||
"recurrence_business_day": "Nur Werktage (vom Wochenende vorziehen)",
|
||||
"recurrence_offset": "Versatz (Tage, ±)",
|
||||
"recurrence_offset_help": "Verschiebt das Datum um ±N Tage, z. B. -2 = zwei Tage davor.",
|
||||
"last_day_month": "Letzter Tag des Monats",
|
||||
"last_business_day_month": "Letzter Werktag",
|
||||
"ord_1": "1.",
|
||||
"ord_2": "2.",
|
||||
"ord_3": "3.",
|
||||
"ord_4": "4.",
|
||||
"ord_5": "5.",
|
||||
"ord_last": "Letzter",
|
||||
"day_word": "Tag",
|
||||
"interval_value": "Intervall",
|
||||
"interval_unit": "Einheit",
|
||||
"unit_days": "Tage",
|
||||
"unit_weeks": "Wochen",
|
||||
"unit_months": "Monate",
|
||||
"unit_years": "Jahre",
|
||||
"due_date": "Fälligkeitsdatum",
|
||||
"cleaning": "Reinigung",
|
||||
"inspection": "Inspektion",
|
||||
"replacement": "Austausch",
|
||||
"calibration": "Kalibrierung",
|
||||
"service": "Service",
|
||||
"reading": "Ablesung",
|
||||
"custom": "Benutzerdefiniert",
|
||||
"history": "Verlauf",
|
||||
"cost": "Kosten",
|
||||
"report_button": "Bericht",
|
||||
"report_title": "Wartungsbericht",
|
||||
"report_generated": "Erstellt",
|
||||
"report_times_done": "Erledigt",
|
||||
"report_total_cost": "Gesamtkosten",
|
||||
"report_every": "alle {n} {unit}",
|
||||
"report_notes": "Notizen",
|
||||
"report_col_type": "Typ",
|
||||
"report_col_status": "Status",
|
||||
"report_col_schedule": "Zeitplan",
|
||||
"duration": "Dauer",
|
||||
"both": "Beides",
|
||||
"trigger_val": "Trigger-Wert",
|
||||
"complete_title": "Erledigt: ",
|
||||
"checklist": "Checkliste",
|
||||
"checklist_steps_optional": "Checkliste-Schritte (optional)",
|
||||
"checklist_placeholder": "Filter reinigen\nDichtung ersetzen\nDruck testen",
|
||||
"checklist_help": "Ein Schritt pro Zeile. Max. 100 Einträge.",
|
||||
"err_too_long": "{field}: zu lang (max. {n} Zeichen)",
|
||||
"err_too_short": "{field}: zu kurz (min. {n} Zeichen)",
|
||||
"err_value_too_high": "{field}: zu groß (max. {n})",
|
||||
"err_value_too_low": "{field}: zu klein (min. {n})",
|
||||
"err_required": "{field}: Pflichtfeld",
|
||||
"err_wrong_type": "{field}: falscher Typ (erwartet: {type})",
|
||||
"err_invalid_choice": "{field}: nicht erlaubter Wert",
|
||||
"err_invalid_value": "{field}: ungültiger Wert",
|
||||
"feat_schedule_time": "Uhrzeit-Scheduling",
|
||||
"feat_schedule_time_desc": "Tasks werden zu einer festen Uhrzeit fällig statt um Mitternacht.",
|
||||
"schedule_time_optional": "Fällig um (optional, HH:MM)",
|
||||
"schedule_time_help": "Leer = Mitternacht (Default). HA-Zeitzone.",
|
||||
"at_time": "um",
|
||||
"notes_optional": "Notizen (optional)",
|
||||
"cost_optional": "Kosten (optional)",
|
||||
"duration_minutes": "Dauer in Minuten (optional)",
|
||||
"days": "Tage",
|
||||
"day": "Tag",
|
||||
"today": "Heute",
|
||||
"d_overdue": "T überfällig",
|
||||
"no_tasks": "Keine Wartungsaufgaben vorhanden. Erstellen Sie ein Objekt um zu beginnen.",
|
||||
"no_tasks_short": "Keine Aufgaben",
|
||||
"no_history": "Noch keine Verlaufseinträge.",
|
||||
"show_all": "Alle anzeigen",
|
||||
"cost_duration_chart": "Kosten & Dauer",
|
||||
"installed": "Installiert",
|
||||
"confirm_delete_object": "Dieses Objekt und alle zugehörigen Aufgaben löschen?",
|
||||
"confirm_delete_task": "Diese Aufgabe wirklich löschen?",
|
||||
"min": "Min",
|
||||
"max": "Max",
|
||||
"save": "Speichern",
|
||||
"saving": "Speichern…",
|
||||
"edit_task": "Aufgabe bearbeiten",
|
||||
"new_task": "Neue Wartungsaufgabe",
|
||||
"task_name": "Aufgabenname",
|
||||
"maintenance_type": "Wartungstyp",
|
||||
"priority": "Priorität",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "z. B. Sicherheit, Saison, Mieter-sichtbar",
|
||||
"labels_help": "Kommagetrennte Tags zum Filtern und für Berichte.",
|
||||
"priority_low": "Niedrig",
|
||||
"priority_normal": "Normal",
|
||||
"priority_high": "Hoch",
|
||||
"schedule_type": "Planungsart",
|
||||
"interval_days": "Intervall (Tage)",
|
||||
"warning_days": "Warntage",
|
||||
"earliest_completion_days": "Frühester Abschluss (Tage vor Fälligkeit)",
|
||||
"earliest_completion_days_help": "Leer lassen, um jederzeit abschließen zu können. 0 = erst am/nach dem Fälligkeitstag.",
|
||||
"last_performed_optional": "Zuletzt durchgeführt (optional)",
|
||||
"interval_anchor": "Intervall-Anker",
|
||||
"anchor_completion": "Ab Erledigung",
|
||||
"anchor_planned": "Ab geplantem Datum (kein Drift)",
|
||||
"edit_object": "Objekt bearbeiten",
|
||||
"name": "Name",
|
||||
"manufacturer_optional": "Hersteller (optional)",
|
||||
"model_optional": "Modell (optional)",
|
||||
"serial_number_optional": "Seriennummer (optional)",
|
||||
"serial_number_label": "S/N",
|
||||
"documentation_url_label": "Handbuch",
|
||||
"object_notes_label": "Notizen",
|
||||
"sort_due_date": "Fälligkeit",
|
||||
"sort_object": "Objekt-Name",
|
||||
"sort_type": "Typ",
|
||||
"sort_task_name": "Aufgaben-Name",
|
||||
"all_objects": "Alle Objekte",
|
||||
"tasks_lower": "Aufgaben",
|
||||
"no_tasks_yet": "Noch keine Aufgaben",
|
||||
"add_first_task": "Erste Aufgabe hinzufügen",
|
||||
"trigger_configuration": "Trigger-Konfiguration",
|
||||
"entity_id": "Entitäts-ID",
|
||||
"comma_separated": "kommagetrennt",
|
||||
"entity_logic": "Entitäts-Logik",
|
||||
"entity_logic_any": "Beliebige Entität löst aus",
|
||||
"entity_logic_all": "Alle Entitäten müssen auslösen",
|
||||
"entities": "Entitäten",
|
||||
"attribute_optional": "Attribut (optional, leer = Zustand)",
|
||||
"use_entity_state": "Entitäts-Zustand verwenden (kein Attribut)",
|
||||
"trigger_above": "Auslösen wenn über",
|
||||
"trigger_below": "Auslösen wenn unter",
|
||||
"for_at_least_minutes": "Für mindestens (Minuten)",
|
||||
"safety_interval_days": "Sicherheitsintervall (Tage, optional)",
|
||||
"safety_interval": "Sicherheitsintervall (optional)",
|
||||
"delta_mode": "Delta-Modus",
|
||||
"from_state_optional": "Von Zustand (optional)",
|
||||
"to_state_optional": "Zu Zustand (optional)",
|
||||
"documentation_url_optional": "Dokumentation URL (optional)",
|
||||
"object_notes_optional": "Notizen (optional)",
|
||||
"nfc_tag_id_optional": "NFC-Tag-ID (optional)",
|
||||
"nfc_tags_empty_help": "Noch keine NFC-Tags in Home Assistant registriert.",
|
||||
"nfc_tags_open_settings": "Tag-Einstellungen öffnen",
|
||||
"nfc_tags_refresh": "Aktualisieren",
|
||||
"environmental_entity_optional": "Umgebungs-Sensor (optional)",
|
||||
"environmental_entity_helper": "z.B. sensor.aussentemperatur — passt das Intervall an Umgebungswerte an",
|
||||
"environmental_attribute_optional": "Umgebungs-Attribut (optional)",
|
||||
"nfc_tag_id": "NFC-Tag-ID",
|
||||
"nfc_linked": "NFC-Tag verknüpft",
|
||||
"nfc_link_hint": "Klicken um NFC-Tag zu verknüpfen",
|
||||
"responsible_user": "Verantwortlicher Benutzer",
|
||||
"shared_with": "Geteilt mit (Rotation)",
|
||||
"shared_with_help": "Mehrere Personen auswählen, die sich diese Aufgabe teilen; der/die Verantwortliche wechselt bei jedem Abschluss.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "Keine Rotation",
|
||||
"rotation_round_robin": "Reihum",
|
||||
"rotation_least_completed": "Am wenigsten erledigt",
|
||||
"rotation_random": "Zufällig",
|
||||
"no_user_assigned": "(Kein Benutzer zugewiesen)",
|
||||
"all_users": "Alle Benutzer",
|
||||
"my_tasks": "Meine Aufgaben",
|
||||
"tab_calendar": "Kalender",
|
||||
"cal_no_events": "Keine Wartung",
|
||||
"cal_window_7": "7 Tage",
|
||||
"cal_window_14": "14 Tage",
|
||||
"cal_window_30": "30 Tage",
|
||||
"cal_window_365": "1 Jahr",
|
||||
"cal_every_n_days": "alle {n} Tage",
|
||||
"cal_source_time": "Zeit-basiert",
|
||||
"cal_source_time_adaptive": "Zeit-basiert (adaptiv)",
|
||||
"cal_source_sensor": "Sensor-basiert",
|
||||
"cal_predicted": "vorhergesagt",
|
||||
"cal_confidence_high": "hohe Genauigkeit",
|
||||
"cal_confidence_medium": "mittlere Genauigkeit",
|
||||
"cal_confidence_low": "niedrige Genauigkeit",
|
||||
"budget_monthly": "Monatsbudget",
|
||||
"budget_yearly": "Jahresbudget",
|
||||
"groups": "Gruppen",
|
||||
"new_group": "Neue Gruppe",
|
||||
"edit_group": "Gruppe bearbeiten",
|
||||
"no_groups": "Keine Gruppen vorhanden",
|
||||
"delete_group": "Gruppe löschen",
|
||||
"delete_group_confirm": "Gruppe '{name}' wirklich löschen?",
|
||||
"group_select_tasks": "Aufgaben auswählen",
|
||||
"group_name_required": "Name erforderlich",
|
||||
"description_optional": "Beschreibung (optional)",
|
||||
"selected": "Ausgewählt",
|
||||
"loading_chart": "Daten werden geladen...",
|
||||
"hide_outliers": "Ausreißer ausblenden (Messfehler)",
|
||||
"was_maintenance_needed": "War diese Wartung nötig?",
|
||||
"feedback_needed": "Nötig",
|
||||
"feedback_not_needed": "Nicht nötig",
|
||||
"feedback_not_sure": "Unsicher",
|
||||
"suggested_interval": "Empfohlenes Intervall",
|
||||
"apply_suggestion": "Übernehmen",
|
||||
"reanalyze": "Neu analysieren",
|
||||
"reanalyze_result": "Neue Analyse",
|
||||
"reanalyze_insufficient_data": "Nicht genügend Daten für eine Empfehlung",
|
||||
"data_points": "Datenpunkte",
|
||||
"dismiss_suggestion": "Verwerfen",
|
||||
"confidence_low": "Niedrig",
|
||||
"confidence_medium": "Mittel",
|
||||
"confidence_high": "Hoch",
|
||||
"recommended": "empfohlen",
|
||||
"seasonal_awareness": "Saisonale Anpassung",
|
||||
"edit_seasonal_overrides": "Saison-Faktoren bearbeiten",
|
||||
"seasonal_overrides_title": "Saisonale Faktoren (Override)",
|
||||
"seasonal_overrides_hint": "Faktor pro Monat (0.1–5.0). Leer = automatisch gelernt.",
|
||||
"seasonal_override_invalid": "Ungültiger Wert",
|
||||
"seasonal_override_range": "Faktor muss zwischen 0.1 und 5.0 liegen",
|
||||
"clear_all": "Alle zurücksetzen",
|
||||
"seasonal_chart_title": "Saisonale Faktoren",
|
||||
"seasonal_learned": "Gelernt",
|
||||
"seasonal_manual": "Manuell",
|
||||
"month_jan": "Jan",
|
||||
"month_feb": "Feb",
|
||||
"month_mar": "Mär",
|
||||
"month_apr": "Apr",
|
||||
"month_may": "Mai",
|
||||
"month_jun": "Jun",
|
||||
"month_jul": "Jul",
|
||||
"month_aug": "Aug",
|
||||
"month_sep": "Sep",
|
||||
"month_oct": "Okt",
|
||||
"month_nov": "Nov",
|
||||
"month_dec": "Dez",
|
||||
"sensor_prediction": "Sensorvorhersage",
|
||||
"degradation_trend": "Trend",
|
||||
"trend_rising": "Steigend",
|
||||
"trend_falling": "Fallend",
|
||||
"trend_stable": "Stabil",
|
||||
"trend_insufficient_data": "Unzureichende Daten",
|
||||
"days_until_threshold": "Tage bis Schwellwert",
|
||||
"threshold_exceeded": "Schwellwert überschritten",
|
||||
"environmental_adjustment": "Umgebungsfaktor",
|
||||
"sensor_prediction_urgency": "Sensor prognostiziert Schwellwert in ~{days} Tagen",
|
||||
"day_short": "Tag",
|
||||
"weibull_reliability_curve": "Zuverlässigkeitskurve",
|
||||
"weibull_failure_probability": "Ausfallwahrscheinlichkeit",
|
||||
"weibull_r_squared": "Güte R²",
|
||||
"beta_early_failures": "Frühausfälle",
|
||||
"beta_random_failures": "Zufällige Ausfälle",
|
||||
"beta_wear_out": "Verschleiß",
|
||||
"beta_highly_predictable": "Hochvorhersagbar",
|
||||
"confidence_interval": "Konfidenzintervall",
|
||||
"confidence_conservative": "Konservativ",
|
||||
"confidence_aggressive": "Optimistisch",
|
||||
"current_interval_marker": "Aktuelles Intervall",
|
||||
"recommended_marker": "Empfohlen",
|
||||
"characteristic_life": "Charakteristische Lebensdauer",
|
||||
"chart_mini_sparkline": "Trend-Sparkline",
|
||||
"chart_history": "Kosten- und Dauer-Verlauf",
|
||||
"chart_seasonal": "Saisonfaktoren, 12 Monate",
|
||||
"chart_weibull": "Weibull-Zuverlässigkeitskurve",
|
||||
"chart_sparkline": "Sensor-Triggerwert-Verlauf",
|
||||
"days_progress": "Tagesfortschritt",
|
||||
"qr_code": "QR-Code",
|
||||
"qr_generating": "QR-Code wird generiert…",
|
||||
"qr_error": "QR-Code konnte nicht generiert werden.",
|
||||
"qr_error_no_url": "Keine HA-URL konfiguriert. Bitte unter Einstellungen → System → Netzwerk eine externe oder interne URL setzen.",
|
||||
"save_error": "Fehler beim Speichern. Bitte erneut versuchen.",
|
||||
"qr_print": "Drucken",
|
||||
"qr_download": "SVG herunterladen",
|
||||
"qr_action": "Aktion beim Scannen",
|
||||
"qr_action_view": "Wartungsinfo anzeigen",
|
||||
"qr_action_complete": "Wartung als erledigt markieren",
|
||||
"qr_url_mode": "Link-Typ",
|
||||
"qr_mode_companion": "Companion App",
|
||||
"qr_mode_local": "Lokal (mDNS)",
|
||||
"qr_mode_server": "Server-URL",
|
||||
"overview": "Übersicht",
|
||||
"analysis": "Analyse",
|
||||
"recent_activities": "Letzte Aktivitäten",
|
||||
"search_notes": "Notizen durchsuchen",
|
||||
"avg_cost": "Ø Kosten",
|
||||
"no_advanced_features": "Keine erweiterten Funktionen aktiviert",
|
||||
"no_advanced_features_hint": "Aktiviere „Adaptive Intervalle“ oder „Saisonale Muster“ in den Integrationseinstellungen, um hier Analysedaten zu sehen.",
|
||||
"analysis_not_enough_data": "Noch nicht genügend Daten für die Analyse vorhanden.",
|
||||
"analysis_not_enough_data_hint": "Die Weibull-Analyse benötigt mindestens 5 abgeschlossene Wartungen, saisonale Muster werden nach 6+ Datenpunkten pro Monat sichtbar.",
|
||||
"analysis_manual_task_hint": "Manuelle Aufgaben ohne Intervall erzeugen keine Analysedaten.",
|
||||
"completions": "Abschlüsse",
|
||||
"current": "Aktuell",
|
||||
"shorter": "Kürzer",
|
||||
"longer": "Länger",
|
||||
"normal": "Normal",
|
||||
"disabled": "Deaktiviert",
|
||||
"compound_logic": "Verknüpfungslogik",
|
||||
"compound": "Verknüpft (mehrere Bedingungen)",
|
||||
"compound_logic_and": "UND — alle Bedingungen müssen auslösen",
|
||||
"compound_logic_or": "ODER — eine Bedingung genügt",
|
||||
"compound_help": "Mehrere Sensor-Bedingungen zu einem Auslöser kombinieren.",
|
||||
"compound_no_conditions": "Noch keine Bedingungen — mindestens eine hinzufügen.",
|
||||
"compound_add_condition": "Bedingung hinzufügen",
|
||||
"compound_condition": "Bedingung",
|
||||
"compound_remove_condition": "Bedingung entfernen",
|
||||
"card_title": "Titel",
|
||||
"card_show_header": "Kopfzeile mit Statistiken anzeigen",
|
||||
"card_show_actions": "Aktionsbuttons anzeigen",
|
||||
"card_compact": "Kompaktmodus",
|
||||
"card_max_items": "Max. Einträge (0 = alle)",
|
||||
"card_filter_status": "Nach Status filtern",
|
||||
"card_filter_status_help": "Leer = alle Status zeigen.",
|
||||
"card_filter_objects": "Nach Objekten filtern",
|
||||
"card_filter_objects_help": "Leer = alle Objekte zeigen.",
|
||||
"card_filter_entities": "Nach Entitäten filtern (entity_ids)",
|
||||
"card_filter_entities_help": "Wähle Sensor-/Binary-Sensor-Entitäten dieser Integration. Leer = alle.",
|
||||
"card_loading_objects": "Lade Objekte…",
|
||||
"card_load_error": "Objekte konnten nicht geladen werden — bitte WS-Verbindung prüfen.",
|
||||
"card_no_tasks_title": "Noch keine Wartungsaufgaben",
|
||||
"card_no_tasks_cta": "→ Im Maintenance-Panel anlegen",
|
||||
"no_objects": "Keine Objekte vorhanden.",
|
||||
"action_error": "Aktion fehlgeschlagen. Bitte erneut versuchen.",
|
||||
"area_id_optional": "Bereich (optional)",
|
||||
"installation_date_optional": "Installationsdatum (optional)",
|
||||
"warranty_expiry_optional": "Garantie-Ablauf (optional)",
|
||||
"warranty": "Garantie",
|
||||
"warranty_valid_until": "gültig bis {date}",
|
||||
"warranty_expires_in": "läuft in {days} Tagen ab",
|
||||
"warranty_expired": "abgelaufen",
|
||||
"cal_past_windows": "Vergangene Fenster",
|
||||
"cal_forward_windows": "Zukünftige Fenster",
|
||||
"history_edit_title": "Verlaufseintrag bearbeiten",
|
||||
"history_edit_timestamp": "Zeitstempel",
|
||||
"manufacturer": "Hersteller",
|
||||
"model": "Modell",
|
||||
"area": "Bereich",
|
||||
"actions": "Aktionen",
|
||||
"view_mode_label": "Ansicht",
|
||||
"view_cards": "Kartenansicht",
|
||||
"view_table": "Tabellenansicht",
|
||||
"objects_table_columns_label": "Spalten der Objekt-Tabelle",
|
||||
"objects_table_columns_hint": "Wähle die Spalten für die Tabellenansicht der Objektübersicht.",
|
||||
"custom_icon_optional": "Icon (optional, z.B. mdi:wrench)",
|
||||
"task_enabled": "Aufgabe aktiviert",
|
||||
"skip_reason_prompt": "Aufgabe überspringen?",
|
||||
"reason_optional": "Grund (optional)",
|
||||
"reset_date_prompt": "Aufgabe als ausgeführt markieren?",
|
||||
"reset_date_optional": "Letztes Erledigungs-Datum (optional, Standard: heute)",
|
||||
"notes_label": "Notizen",
|
||||
"documentation_label": "Dokumentation",
|
||||
"no_nfc_tag": "— Kein Tag —",
|
||||
"dashboard": "Dashboard",
|
||||
"tab_today": "Heute",
|
||||
"palette_placeholder": "Objekte und Aufgaben suchen…",
|
||||
"palette_no_results": "Keine Treffer",
|
||||
"palette_hint": "↑↓ Navigieren · Enter Öffnen · Esc Schließen",
|
||||
"today_all_caught_up": "Alles erledigt! Diese Woche steht nichts an.",
|
||||
"today_overdue": "Überfällig",
|
||||
"today_due_today": "Heute fällig",
|
||||
"today_this_week": "Diese Woche",
|
||||
"settings": "Einstellungen",
|
||||
"settings_features": "Erweiterte Funktionen",
|
||||
"settings_features_desc": "Erweiterte Funktionen ein- oder ausschalten. Deaktivieren blendet sie in der Oberfläche aus, löscht aber keine Daten.",
|
||||
"feat_adaptive": "Adaptive Intervalle",
|
||||
"feat_adaptive_desc": "Optimale Intervalle aus Wartungshistorie lernen",
|
||||
"feat_predictions": "Sensorvorhersagen",
|
||||
"feat_predictions_desc": "Trigger-Datum anhand von Sensordegradation vorhersagen",
|
||||
"feat_seasonal": "Saisonale Anpassungen",
|
||||
"feat_seasonal_desc": "Intervalle basierend auf saisonalen Mustern anpassen",
|
||||
"feat_environmental": "Umgebungskorrelation",
|
||||
"feat_environmental_desc": "Intervalle mit Temperatur/Luftfeuchtigkeit korrelieren",
|
||||
"feat_budget": "Budgetverfolgung",
|
||||
"feat_budget_desc": "Monatliche und jährliche Wartungsausgaben verfolgen",
|
||||
"feat_groups": "Aufgabengruppen",
|
||||
"feat_groups_desc": "Aufgaben in logische Gruppen organisieren",
|
||||
"feat_checklists": "Checklisten",
|
||||
"feat_checklists_desc": "Mehrstufige Verfahren zur Aufgabenerlediung",
|
||||
"settings_general": "Allgemein",
|
||||
"settings_default_warning": "Standard-Warntage",
|
||||
"settings_panel_enabled": "Seitenleisten-Panel",
|
||||
"settings_panel_title": "Panel-Titel",
|
||||
"settings_notifications": "Benachrichtigungen",
|
||||
"settings_notify_service": "Benachrichtigungsdienst",
|
||||
"test_notification": "Test-Benachrichtigung",
|
||||
"send_test": "Test senden",
|
||||
"testing": "Sende…",
|
||||
"test_notification_success": "Test-Benachrichtigung gesendet",
|
||||
"test_notification_failed": "Test-Benachrichtigung fehlgeschlagen",
|
||||
"settings_notify_due_soon": "Bei baldiger Fälligkeit benachrichtigen",
|
||||
"settings_notify_overdue": "Bei Überfälligkeit benachrichtigen",
|
||||
"settings_notify_triggered": "Bei Auslösung benachrichtigen",
|
||||
"settings_interval_hours": "Wiederholungsintervall (Stunden, 0 = einmalig)",
|
||||
"settings_quiet_hours": "Ruhezeiten",
|
||||
"settings_quiet_start": "Beginn",
|
||||
"settings_quiet_end": "Ende",
|
||||
"settings_max_per_day": "Max. Benachrichtigungen pro Tag (0 = unbegrenzt)",
|
||||
"settings_bundling": "Benachrichtigungen bündeln",
|
||||
"settings_bundle_threshold": "Bündelungsschwelle",
|
||||
"settings_reminder_leads": "Zusätzliche Erinnerungen (Tage vor Fälligkeit)",
|
||||
"settings_reminder_leads_hint": "Kommagetrennte Vorlaufzeiten, z. B. 14, 3, 0 — am jeweiligen Tag wird eine zusätzliche Erinnerung gesendet. Leer = aus.",
|
||||
"settings_actions": "Mobile Aktionsbuttons",
|
||||
"settings_action_complete": "\"Erledigt\"-Button anzeigen",
|
||||
"settings_action_skip": "\"Überspringen\"-Button anzeigen",
|
||||
"settings_action_snooze": "\"Schlummern\"-Button anzeigen",
|
||||
"settings_weekly_digest": "Wöchentliche Zusammenfassung",
|
||||
"settings_weekly_digest_hint": "Eine Zusammenfassungs-Benachrichtigung am Montagmorgen, wenn Aufgaben anstehen.",
|
||||
"settings_warranty_reminder": "Garantie-Ablauf-Erinnerung",
|
||||
"settings_warranty_reminder_days": "Tage vor Ablauf",
|
||||
"settings_warranty_reminder_hint": "Einmal benachrichtigen, wenn die Garantie eines Objekts so viele Tage vor Ablauf steht.",
|
||||
"settings_snooze_hours": "Schlummerdauer (Stunden)",
|
||||
"settings_budget": "Budget",
|
||||
"settings_currency": "Währung",
|
||||
"settings_budget_monthly": "Monatsbudget",
|
||||
"settings_budget_yearly": "Jahresbudget",
|
||||
"settings_budget_alerts": "Budget-Warnungen",
|
||||
"settings_budget_threshold": "Warnschwelle (%)",
|
||||
"settings_import_export": "Import / Export",
|
||||
"settings_export_json": "JSON exportieren",
|
||||
"settings_export_yaml": "YAML exportieren",
|
||||
"settings_export_csv": "CSV exportieren",
|
||||
"settings_import_csv": "CSV importieren",
|
||||
"settings_import_placeholder": "JSON- oder CSV-Inhalt hier einfügen…",
|
||||
"settings_import_btn": "Importieren",
|
||||
"settings_import_success": "{count} Objekte erfolgreich importiert.",
|
||||
"settings_export_success": "Export heruntergeladen.",
|
||||
"settings_saved": "Einstellung gespeichert.",
|
||||
"settings_include_history": "Verlauf einbeziehen",
|
||||
"sort_alphabetical": "Alphabetisch",
|
||||
"sort_due_soonest": "Frühestens fällig",
|
||||
"sort_task_count": "Aufgaben-Anzahl",
|
||||
"sort_area": "Bereich",
|
||||
"sort_assigned_user": "Verantwortlicher",
|
||||
"sort_group": "Gruppe",
|
||||
"groupby_none": "Keine Gruppierung",
|
||||
"groupby_area": "Nach Bereich",
|
||||
"groupby_group": "Nach Gruppe",
|
||||
"groupby_user": "Nach Verantwortlichem",
|
||||
"filter_label": "Filter",
|
||||
"user_label": "Benutzer",
|
||||
"sort_label": "Sortierung",
|
||||
"group_by_label": "Gruppieren nach",
|
||||
"state_value_help": "Verwende den HA-Zustandswert (meist kleingeschrieben, z. B. \"on\"/\"off\"). Groß-/Kleinschreibung wird beim Speichern normalisiert.",
|
||||
"target_changes_help": "Anzahl der passenden Übergänge, nach denen der Trigger auslöst (Standard: 1).",
|
||||
"qr_print_title": "QR-Codes drucken",
|
||||
"qr_print_desc": "Erzeuge eine Druckseite mit QR-Codes zum Ausschneiden und Anbringen an den Geräten.",
|
||||
"qr_print_load": "Objekte laden",
|
||||
"qr_print_filter": "Filter",
|
||||
"qr_print_objects": "Objekte",
|
||||
"qr_print_actions": "Aktionen",
|
||||
"qr_print_url_mode": "Link-Typ",
|
||||
"qr_print_estimate": "Geschätzte QR-Codes",
|
||||
"qr_print_over_limit": "Obergrenze ist 200, bitte Filter eingrenzen",
|
||||
"qr_print_generate": "QR-Codes erzeugen",
|
||||
"qr_print_generating": "Erzeuge…",
|
||||
"qr_print_ready": "QR-Codes bereit",
|
||||
"qr_print_print_button": "Drucken",
|
||||
"qr_print_empty": "Keine QR-Codes zu erzeugen",
|
||||
"qr_action_skip": "Überspringen",
|
||||
"vacation_title": "Urlaubsmodus",
|
||||
"vacation_active": "aktiv",
|
||||
"vacation_ended": "beendet",
|
||||
"vacation_desc": "Plane deinen Urlaub: Benachrichtigungen werden während des Zeitraums plus Puffer-Tagen pausiert. Du kannst pro Aufgabe Ausnahmen festlegen.",
|
||||
"vacation_enable": "Urlaubsmodus aktivieren",
|
||||
"vacation_start": "Beginn",
|
||||
"vacation_end": "Ende",
|
||||
"vacation_buffer": "Puffer (Tage)",
|
||||
"vacation_exempt_title": "Trotz Urlaubsmodus benachrichtigen",
|
||||
"vacation_exempt_desc": "Wähle Aufgaben aus, für die auch im Urlaub Benachrichtigungen kommen sollen (z. B. kritische Pool-Chemie).",
|
||||
"vacation_load_tasks": "Aufgaben laden",
|
||||
"vacation_preview_btn": "Vorschau anzeigen",
|
||||
"vacation_preview_affected": "Aufgaben betroffen",
|
||||
"vacation_event_due_soon": "wird bald fällig",
|
||||
"vacation_event_overdue": "wird überfällig",
|
||||
"vacation_event_triggered_est": "Sensor-Trigger möglich",
|
||||
"vacation_sensor_based": "(sensorbasiert)",
|
||||
"vacation_action_notify": "Trotzdem benachrichtigen",
|
||||
"vacation_action_unsilence": "Wieder stummschalten",
|
||||
"vacation_marked_complete": "Als erledigt markiert",
|
||||
"vacation_marked_skip": "Übersprungen",
|
||||
"vacation_end_now": "Urlaub jetzt beenden",
|
||||
"add": "Hinzufügen",
|
||||
"show_stats": "Statistiken + Diagramme",
|
||||
"hide_stats": "Statistiken ausblenden",
|
||||
"adaptive_no_data": "Noch nicht genug Completion-Historie für die adaptive Auswertung. Schließe diese Aufgabe ein paar Mal mehr ab, um Intervall-Empfehlungen und Zuverlässigkeitskurven freizuschalten.",
|
||||
"suggestion_applied": "Vorgeschlagenes Intervall übernommen",
|
||||
"vacation_mode": "Urlaubsmodus",
|
||||
"vacation_status_active": "Aktiv",
|
||||
"vacation_status_scheduled": "Geplant",
|
||||
"vacation_status_inactive": "Inaktiv",
|
||||
"vacation_end_now_confirm": "Urlaub sofort beenden?",
|
||||
"vacation_exempt_count": "ausgenommen",
|
||||
"vacation_advanced": "Erweitert…",
|
||||
"vacation_open_panel": "Im Panel öffnen",
|
||||
"enable": "Aktivieren",
|
||||
"saved": "Gespeichert",
|
||||
"budget_monthly_set": "Monatsbudget setzen",
|
||||
"budget_yearly_set": "Jahresbudget setzen",
|
||||
"budget_advanced": "Währung, Alarme…",
|
||||
"budget_open_panel": "Im Panel öffnen",
|
||||
"groups_empty": "Keine Gruppen vorhanden.",
|
||||
"group_new_placeholder": "Gruppe hinzufügen…",
|
||||
"group_delete_confirm": "Gruppe \"{name}\" löschen?",
|
||||
"groups_manage_tasks": "Aufgaben-Zuordnungen verwalten…",
|
||||
"groups_open_panel": "Im Panel öffnen",
|
||||
"unassigned": "Nicht zugewiesen",
|
||||
"no_area": "Kein Bereich",
|
||||
"has_overdue": "Überfällige Aufgaben",
|
||||
"object": "Objekt",
|
||||
"settings_panel_access": "Panel-Zugriff",
|
||||
"settings_panel_access_desc": "Admins haben immer Vollzugriff. Um Erstellen, Bearbeiten und Löschen an bestimmte Non-Admins zu delegieren, aktiviere dies und wähle sie unten aus — alle anderen sehen nur Abhaken/Überspringen.",
|
||||
"settings_operator_write": "Ausgewählten Nutzern Erstellen, Bearbeiten & Löschen erlauben",
|
||||
"settings_operator_write_desc": "Aus: nur Admins können Inhalte ändern. Ein: die ausgewählten Nutzer unten erhalten ebenfalls Vollzugriff.",
|
||||
"no_non_admin_users": "Keine Non-Admin-User gefunden. Lege welche unter Einstellungen → Personen an.",
|
||||
"owner_label": "Owner",
|
||||
"feat_completion_actions": "Completion-Actions",
|
||||
"feat_completion_actions_desc": "Pro Aufgabe HA-Action beim Abschluss konfigurieren + Quick-Complete-QR mit voreingestellten Werten.",
|
||||
"on_complete_action_title": "Beim Abschluss: HA-Action auslösen (optional)",
|
||||
"on_complete_action_desc": "Ruft beim Erledigen der Aufgabe einen HA-Service auf — z. B. einen Zähler am Gerät zurücksetzen.",
|
||||
"on_complete_action_service": "Service",
|
||||
"on_complete_action_target": "Ziel-Entität",
|
||||
"on_complete_action_target_hint": "Achtung: Domain der Entität muss zum Service passen — z. B. 'button.press' nur für button.*, 'counter.increment' nur für counter.*, 'input_button.press' nur für input_button.* etc. Bei Mismatch fired die Aktion nicht (HA loggt 'Referenced entities ... missing or not currently available').",
|
||||
"on_complete_action_data": "Daten (JSON, optional)",
|
||||
"on_complete_action_test": "Konfiguration prüfen",
|
||||
"on_complete_action_test_success": "✓ Konfiguration gültig (Aktion wird erst beim Abschluss ausgeführt)",
|
||||
"on_complete_action_test_failed": "Konfigurationsfehler",
|
||||
"quick_complete_defaults_title": "Schnell-Abschluss-Standardwerte (für QR-Scans, optional)",
|
||||
"quick_complete_defaults_desc": "Voreingestellte Werte für Schnell-Abschluss-QR. Ohne Werte öffnet der QR den Abschluss-Dialog.",
|
||||
"quick_complete_defaults_notes": "Notizen",
|
||||
"quick_complete_defaults_cost": "Kosten",
|
||||
"quick_complete_defaults_duration": "Dauer (Minuten)",
|
||||
"quick_complete_defaults_feedback_none": "Kein Feedback",
|
||||
"quick_complete_defaults_feedback_needed": "War notwendig",
|
||||
"quick_complete_defaults_feedback_not_needed": "War nicht notwendig",
|
||||
"quick_complete_success": "Schnell als erledigt markiert",
|
||||
"show_all_objects": "Alle Objekte anzeigen",
|
||||
"show_all_tasks": "Filter zurücksetzen — alle Aufgaben anzeigen",
|
||||
"filter_to_overdue": "Auf überfällige Aufgaben filtern",
|
||||
"filter_to_due_soon": "Auf bald fällige Aufgaben filtern",
|
||||
"filter_to_triggered": "Auf ausgelöste Aufgaben filtern",
|
||||
"open_task": "Aufgabe öffnen",
|
||||
"show_details": "Verlauf + Statistik anzeigen",
|
||||
"hide_details": "Details ausblenden",
|
||||
"history_empty": "Noch keine Einträge.",
|
||||
"history_edit_button": "Eintrag bearbeiten",
|
||||
"total_cost": "Gesamtkosten",
|
||||
"times_performed": "Erledigt",
|
||||
"older_entries": "ältere",
|
||||
"open_in_panel": "Im Wartungspanel öffnen",
|
||||
"skip_reason": "Übersprungen-Grund (optional)",
|
||||
"reset_to_date": "last_performed setzen auf",
|
||||
"delete_task_confirm": "Diese Aufgabe und ihren Verlauf löschen?",
|
||||
"delete_object_confirm": "Dieses Objekt und alle seine Aufgaben löschen?",
|
||||
"loading": "Laden…",
|
||||
"archive": "Archivieren",
|
||||
"undo": "Rückgängig",
|
||||
"task_archived": "Aufgabe archiviert",
|
||||
"object_archived": "Objekt archiviert",
|
||||
"unarchive": "Wiederherstellen",
|
||||
"archived": "Archiviert",
|
||||
"show_archived": "Archivierte anzeigen",
|
||||
"hide_archived": "Archivierte ausblenden",
|
||||
"confirm_archive_object": "Dieses Objekt und seine Aufgaben archivieren? Verlauf bleibt erhalten, kann später wiederhergestellt werden.",
|
||||
"settings_archive": "Archiv & Aufbewahrung",
|
||||
"settings_archive_desc": "Erledigte einmalige Aufgaben archivieren statt löschen. Archivierte Einträge sind ausgeblendet und inaktiv, behalten aber Verlauf und Kosten.",
|
||||
"settings_archive_oneoff_days": "Erledigte einmalige Aufgaben automatisch archivieren nach (Tage, 0 = aus)",
|
||||
"settings_delete_archived_oneoff_days": "Archivierte einmalige Aufgaben automatisch löschen nach (Tage, 0 = nie)",
|
||||
"archive_object": "Objekt archivieren",
|
||||
"unarchive_object": "Objekt wiederherstellen",
|
||||
"documents": "Dokumente",
|
||||
"documents_empty": "Noch keine Dokumente.",
|
||||
"doc_upload": "Datei hochladen",
|
||||
"doc_uploading": "Wird hochgeladen…",
|
||||
"doc_add_link": "Link hinzufügen",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Titel (optional)",
|
||||
"doc_open": "Öffnen",
|
||||
"doc_delete_confirm": "„{name}“ löschen?",
|
||||
"doc_too_large": "Datei ist zu groß (max. 25 MB).",
|
||||
"doc_upload_failed": "Upload fehlgeschlagen.",
|
||||
"completion_photo_optional": "Abschlussfoto (optional)",
|
||||
"add_photo": "Foto hinzufügen",
|
||||
"uploading": "Wird hochgeladen…",
|
||||
"remove": "Entfernen",
|
||||
"doc_deduped": "Bereits anderswo gespeichert — geteilt, kein zusätzlicher Speicher.",
|
||||
"doc_dup_in_object": "Diese Datei ist bereits an diesem Objekt angehängt.",
|
||||
"doc_link_invalid": "Nur http/https-Links sind erlaubt.",
|
||||
"doc_cat_manual": "Anleitung",
|
||||
"doc_cat_warranty": "Garantie",
|
||||
"doc_cat_invoice": "Rechnung",
|
||||
"doc_cat_spare_parts": "Ersatzteile",
|
||||
"doc_cat_photo": "Foto",
|
||||
"doc_cat_other": "Sonstiges",
|
||||
"doc_link_badge": "Link",
|
||||
"doc_storage_title": "Dokumentenspeicher",
|
||||
"doc_storage_saved": "Durch Deduplizierung gespart",
|
||||
"doc_storage_refresh": "Aktualisieren",
|
||||
"doc_download": "Herunterladen",
|
||||
"doc_close": "Schließen",
|
||||
"doc_camera": "Foto aufnehmen",
|
||||
"doc_drop_hint": "Dateien hier ablegen",
|
||||
"doc_task_none": "Keine Dokumente mit dieser Aufgabe verknüpft.",
|
||||
"doc_link_existing": "Dokument verknüpfen…",
|
||||
"doc_attach": "Verknüpfen",
|
||||
"doc_unlink": "Verknüpfung lösen",
|
||||
"doc_page": "Seite",
|
||||
"chart_range_7d": "7T",
|
||||
"chart_range_30d": "30T",
|
||||
"chart_range_90d": "90T",
|
||||
"chart_range_1y": "1J",
|
||||
"chart_since_service": "seit letzter Wartung",
|
||||
"chart_no_stats": "Keine Langzeit-Statistik für diese Entity — es werden nur Werte aus Wartungseinträgen angezeigt",
|
||||
"auto_complete_on_recovery": "Bei Sensor-Erholung automatisch abschließen",
|
||||
"auto_complete_on_recovery_help": "Verbucht eine Wartung (setzt „zuletzt durchgeführt“), sobald sich der Auslöser von selbst auflöst — z. B. Salz nachgefüllt, Filter getauscht.",
|
||||
"doc_search": "Dokumente durchsuchen…",
|
||||
"doc_search_none": "Keine passenden Dokumente",
|
||||
"link_device_optional": "Mit bestehendem Gerät verknüpfen (optional)",
|
||||
"parent_object_optional": "Übergeordnetes Objekt (optional)",
|
||||
"parent_none": "(Kein übergeordnetes Objekt)",
|
||||
"paused": "Pausiert",
|
||||
"pause_object": "Pausieren",
|
||||
"resume_object": "Fortsetzen",
|
||||
"pause_until_prompt": "Zeitpläne dieses Objekts einfrieren — nichts wird fällig und nichts benachrichtigt, bis es fortgesetzt wird. Optional ein Datum für die automatische Fortsetzung festlegen.",
|
||||
"pause_until_label": "Fortsetzen am (optional)",
|
||||
"object_paused": "Objekt pausiert",
|
||||
"object_resumed": "Objekt fortgesetzt — Zeitpläne neu gestartet",
|
||||
"object_paused_badge": "Pausiert",
|
||||
"paused_until_label": "bis",
|
||||
"replace_object": "Ersetzen…",
|
||||
"replace_object_prompt": "Dieses Objekt ausmustern und einen Nachfolger anlegen. Historie und Kosten bleiben am alten Objekt archiviert; Aufgaben und Dokumente wandern zum neuen, Zähler starten frisch.",
|
||||
"replace_name_label": "Name des Nachfolgers",
|
||||
"object_replaced": "Objekt ersetzt — Nachfolger angelegt",
|
||||
"reading_unit_label": "Ableseeinheit (z. B. kWh, m³)",
|
||||
"reading_unit_help": "Wird beim Erledigen dieser Aufgabe neben dem erfassten Wert angezeigt.",
|
||||
"reading_value_label": "Ablesewert",
|
||||
"reading_label": "Ablesung",
|
||||
"settings_templates_label": "Vorlagen-Galerie",
|
||||
"settings_templates_hint": "Vorlagen abwählen, die du nie brauchst — sie verschwinden aus den \"Aus Vorlage\"-Auswahlen (Panel und Config-Flow). Sonst ändert sich nichts; jederzeit wieder aktivierbar.",
|
||||
"worksheet": "Arbeitsblatt",
|
||||
"worksheet_scan_view": "Scannen, um die Aufgabe zu öffnen",
|
||||
"worksheet_scan_complete": "Scannen zum Erledigen",
|
||||
"worksheet_manual_excerpt": "Handbuch-Auszug",
|
||||
"worksheet_pages": "Seiten",
|
||||
"worksheet_printed": "Gedruckt",
|
||||
"worksheet_never": "Nie"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Maintenance",
|
||||
"objects": "Objects",
|
||||
"tasks": "Tasks",
|
||||
"overdue": "Overdue",
|
||||
"due_soon": "Due Soon",
|
||||
"triggered": "Triggered",
|
||||
"trigger_replaced": "Trigger replaced",
|
||||
"ok": "OK",
|
||||
"all": "All",
|
||||
"new_object": "+ New Object",
|
||||
"templates_from": "From template",
|
||||
"templates_title": "Start from a template",
|
||||
"templates_task_count": "{n} tasks",
|
||||
"template_created": "Created from template",
|
||||
"onboard_hint": "Add your first object to start tracking maintenance.",
|
||||
"edit": "Edit",
|
||||
"duplicate": "Duplicate",
|
||||
"task_duplicated": "Task duplicated",
|
||||
"object_duplicated": "Object duplicated",
|
||||
"delete": "Delete",
|
||||
"add_task": "+ Add Task",
|
||||
"complete": "Complete",
|
||||
"completed": "Completed",
|
||||
"skip": "Skip",
|
||||
"skipped": "Skipped",
|
||||
"missed": "Missed",
|
||||
"reset": "Reset",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Cancel",
|
||||
"bulk_select": "Select",
|
||||
"bulk_select_all": "Select all",
|
||||
"bulk_n_selected": "{n} selected",
|
||||
"bulk_completed": "{n} tasks completed",
|
||||
"bulk_archived": "{n} tasks archived",
|
||||
"completing": "Completing…",
|
||||
"interval": "Interval",
|
||||
"warning": "Warning",
|
||||
"last_performed": "Last performed",
|
||||
"next_due": "Next due",
|
||||
"days_until_due": "Days until due",
|
||||
"avg_duration": "Avg duration",
|
||||
"trigger": "Trigger",
|
||||
"trigger_type": "Trigger type",
|
||||
"threshold_above": "Upper limit",
|
||||
"threshold_below": "Lower limit",
|
||||
"threshold": "Threshold",
|
||||
"counter": "Counter",
|
||||
"state_change": "State change",
|
||||
"runtime": "Runtime",
|
||||
"runtime_hours": "Target runtime (hours)",
|
||||
"target_value": "Target value",
|
||||
"baseline": "Baseline",
|
||||
"target_changes": "Target changes",
|
||||
"for_minutes": "For (minutes)",
|
||||
"time_based": "Time-based",
|
||||
"sensor_based": "Sensor-based",
|
||||
"manual": "Manual",
|
||||
"one_time": "One-time",
|
||||
"weekdays": "Weekdays",
|
||||
"nth_weekday": "Nth weekday of month",
|
||||
"day_of_month": "Day of month",
|
||||
"recurrence_on_days": "Repeat on",
|
||||
"recurrence_occurrence": "Occurrence",
|
||||
"recurrence_weekday": "Weekday",
|
||||
"recurrence_day": "Day of month (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1st",
|
||||
"ord_2": "2nd",
|
||||
"ord_3": "3rd",
|
||||
"ord_4": "4th",
|
||||
"ord_5": "5th",
|
||||
"ord_last": "Last",
|
||||
"day_word": "Day",
|
||||
"interval_value": "Interval",
|
||||
"interval_unit": "Unit",
|
||||
"unit_days": "Days",
|
||||
"unit_weeks": "Weeks",
|
||||
"unit_months": "Months",
|
||||
"unit_years": "Years",
|
||||
"due_date": "Due date",
|
||||
"cleaning": "Cleaning",
|
||||
"inspection": "Inspection",
|
||||
"replacement": "Replacement",
|
||||
"calibration": "Calibration",
|
||||
"service": "Service",
|
||||
"reading": "Reading",
|
||||
"custom": "Custom",
|
||||
"history": "History",
|
||||
"cost": "Cost",
|
||||
"report_button": "Report",
|
||||
"report_title": "Maintenance report",
|
||||
"report_generated": "Generated",
|
||||
"report_times_done": "Done",
|
||||
"report_total_cost": "Total cost",
|
||||
"report_every": "every {n} {unit}",
|
||||
"report_notes": "Notes",
|
||||
"report_col_type": "Type",
|
||||
"report_col_status": "Status",
|
||||
"report_col_schedule": "Schedule",
|
||||
"duration": "Duration",
|
||||
"both": "Both",
|
||||
"trigger_val": "Trigger value",
|
||||
"complete_title": "Complete: ",
|
||||
"checklist": "Checklist",
|
||||
"checklist_steps_optional": "Checklist steps (optional)",
|
||||
"checklist_placeholder": "Clean filter\nReplace seal\nTest pressure",
|
||||
"checklist_help": "One step per line. Max 100 items.",
|
||||
"err_too_long": "{field}: too long (max {n} characters)",
|
||||
"err_too_short": "{field}: too short (min {n} characters)",
|
||||
"err_value_too_high": "{field}: too large (max {n})",
|
||||
"err_value_too_low": "{field}: too small (min {n})",
|
||||
"err_required": "{field}: required",
|
||||
"err_wrong_type": "{field}: wrong type (expected: {type})",
|
||||
"err_invalid_choice": "{field}: not an allowed value",
|
||||
"err_invalid_value": "{field}: invalid value",
|
||||
"feat_schedule_time": "Time-of-day scheduling",
|
||||
"feat_schedule_time_desc": "Tasks become overdue at a specific time of day instead of midnight.",
|
||||
"schedule_time_optional": "Due at time (optional, HH:MM)",
|
||||
"schedule_time_help": "Empty = midnight (default). HA timezone.",
|
||||
"at_time": "at",
|
||||
"notes_optional": "Notes (optional)",
|
||||
"cost_optional": "Cost (optional)",
|
||||
"duration_minutes": "Duration in minutes (optional)",
|
||||
"days": "days",
|
||||
"day": "day",
|
||||
"today": "Today",
|
||||
"d_overdue": "d overdue",
|
||||
"no_tasks": "No maintenance tasks yet. Create an object to get started.",
|
||||
"no_tasks_short": "No tasks",
|
||||
"no_history": "No history entries yet.",
|
||||
"show_all": "Show all",
|
||||
"cost_duration_chart": "Cost & Duration",
|
||||
"installed": "Installed",
|
||||
"confirm_delete_object": "Delete this object and all its tasks?",
|
||||
"confirm_delete_task": "Delete this task?",
|
||||
"min": "Min",
|
||||
"max": "Max",
|
||||
"save": "Save",
|
||||
"saving": "Saving…",
|
||||
"edit_task": "Edit Task",
|
||||
"new_task": "New Maintenance Task",
|
||||
"task_name": "Task name",
|
||||
"maintenance_type": "Maintenance type",
|
||||
"priority": "Priority",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Low",
|
||||
"priority_normal": "Normal",
|
||||
"priority_high": "High",
|
||||
"schedule_type": "Schedule type",
|
||||
"interval_days": "Interval (days)",
|
||||
"warning_days": "Warning days",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "Last performed (optional)",
|
||||
"interval_anchor": "Interval anchor",
|
||||
"anchor_completion": "From completion date",
|
||||
"anchor_planned": "From planned date (no drift)",
|
||||
"edit_object": "Edit Object",
|
||||
"name": "Name",
|
||||
"manufacturer_optional": "Manufacturer (optional)",
|
||||
"model_optional": "Model (optional)",
|
||||
"serial_number_optional": "Serial number (optional)",
|
||||
"serial_number_label": "S/N",
|
||||
"documentation_url_label": "Manual",
|
||||
"object_notes_label": "Notes",
|
||||
"sort_due_date": "Due date",
|
||||
"sort_object": "Object name",
|
||||
"sort_type": "Type",
|
||||
"sort_task_name": "Task name",
|
||||
"all_objects": "All objects",
|
||||
"tasks_lower": "tasks",
|
||||
"no_tasks_yet": "No tasks yet",
|
||||
"add_first_task": "Add first task",
|
||||
"trigger_configuration": "Trigger Configuration",
|
||||
"entity_id": "Entity ID",
|
||||
"comma_separated": "comma-separated",
|
||||
"entity_logic": "Entity logic",
|
||||
"entity_logic_any": "Any entity triggers",
|
||||
"entity_logic_all": "All entities must trigger",
|
||||
"entities": "entities",
|
||||
"attribute_optional": "Attribute (optional, blank = state)",
|
||||
"use_entity_state": "Use entity state (no attribute)",
|
||||
"trigger_above": "Trigger above",
|
||||
"trigger_below": "Trigger below",
|
||||
"for_at_least_minutes": "For at least (minutes)",
|
||||
"safety_interval_days": "Safety interval (days, optional)",
|
||||
"safety_interval": "Safety interval (optional)",
|
||||
"delta_mode": "Delta mode",
|
||||
"from_state_optional": "From state (optional)",
|
||||
"to_state_optional": "To state (optional)",
|
||||
"documentation_url_optional": "Documentation URL (optional)",
|
||||
"object_notes_optional": "Notes (optional)",
|
||||
"nfc_tag_id_optional": "NFC Tag ID (optional)",
|
||||
"nfc_tags_empty_help": "No NFC tags registered in Home Assistant yet.",
|
||||
"nfc_tags_open_settings": "Open Tags settings",
|
||||
"nfc_tags_refresh": "Refresh",
|
||||
"environmental_entity_optional": "Environmental sensor (optional)",
|
||||
"environmental_entity_helper": "e.g. sensor.outdoor_temperature — adjusts the interval based on environmental conditions",
|
||||
"environmental_attribute_optional": "Environmental attribute (optional)",
|
||||
"nfc_tag_id": "NFC Tag ID",
|
||||
"nfc_linked": "NFC tag linked",
|
||||
"nfc_link_hint": "Click to link NFC tag",
|
||||
"responsible_user": "Responsible User",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(No user assigned)",
|
||||
"all_users": "All Users",
|
||||
"my_tasks": "My Tasks",
|
||||
"tab_calendar": "Calendar",
|
||||
"cal_no_events": "No maintenance",
|
||||
"cal_window_7": "7 days",
|
||||
"cal_window_14": "14 days",
|
||||
"cal_window_30": "30 days",
|
||||
"cal_window_365": "1 year",
|
||||
"cal_every_n_days": "every {n} days",
|
||||
"cal_source_time": "Time-based",
|
||||
"cal_source_time_adaptive": "Time-based (adaptive)",
|
||||
"cal_source_sensor": "Sensor-based",
|
||||
"cal_predicted": "predicted",
|
||||
"cal_confidence_high": "high confidence",
|
||||
"cal_confidence_medium": "medium confidence",
|
||||
"cal_confidence_low": "low confidence",
|
||||
"budget_monthly": "Monthly budget",
|
||||
"budget_yearly": "Yearly budget",
|
||||
"groups": "Groups",
|
||||
"new_group": "New group",
|
||||
"edit_group": "Edit group",
|
||||
"no_groups": "No groups yet",
|
||||
"delete_group": "Delete group",
|
||||
"delete_group_confirm": "Delete group '{name}'?",
|
||||
"group_select_tasks": "Select tasks",
|
||||
"group_name_required": "Name is required",
|
||||
"description_optional": "Description (optional)",
|
||||
"selected": "Selected",
|
||||
"loading_chart": "Loading chart data...",
|
||||
"hide_outliers": "Hide outliers (sensor glitches)",
|
||||
"was_maintenance_needed": "Was this maintenance needed?",
|
||||
"feedback_needed": "Needed",
|
||||
"feedback_not_needed": "Not needed",
|
||||
"feedback_not_sure": "Not sure",
|
||||
"suggested_interval": "Suggested interval",
|
||||
"apply_suggestion": "Apply",
|
||||
"reanalyze": "Re-analyze",
|
||||
"reanalyze_result": "New analysis",
|
||||
"reanalyze_insufficient_data": "Not enough data to produce a recommendation",
|
||||
"data_points": "data points",
|
||||
"dismiss_suggestion": "Dismiss",
|
||||
"confidence_low": "Low",
|
||||
"confidence_medium": "Medium",
|
||||
"confidence_high": "High",
|
||||
"recommended": "recommended",
|
||||
"seasonal_awareness": "Seasonal Awareness",
|
||||
"edit_seasonal_overrides": "Edit seasonal factors",
|
||||
"seasonal_overrides_title": "Seasonal factors (override)",
|
||||
"seasonal_overrides_hint": "Factor per month (0.1–5.0). Empty = learned automatically.",
|
||||
"seasonal_override_invalid": "Invalid value",
|
||||
"seasonal_override_range": "Factor must be between 0.1 and 5.0",
|
||||
"clear_all": "Clear all",
|
||||
"seasonal_chart_title": "Seasonal Factors",
|
||||
"seasonal_learned": "Learned",
|
||||
"seasonal_manual": "Manual",
|
||||
"month_jan": "Jan",
|
||||
"month_feb": "Feb",
|
||||
"month_mar": "Mar",
|
||||
"month_apr": "Apr",
|
||||
"month_may": "May",
|
||||
"month_jun": "Jun",
|
||||
"month_jul": "Jul",
|
||||
"month_aug": "Aug",
|
||||
"month_sep": "Sep",
|
||||
"month_oct": "Oct",
|
||||
"month_nov": "Nov",
|
||||
"month_dec": "Dec",
|
||||
"sensor_prediction": "Sensor Prediction",
|
||||
"degradation_trend": "Trend",
|
||||
"trend_rising": "Rising",
|
||||
"trend_falling": "Falling",
|
||||
"trend_stable": "Stable",
|
||||
"trend_insufficient_data": "Insufficient data",
|
||||
"days_until_threshold": "Days until threshold",
|
||||
"threshold_exceeded": "Threshold exceeded",
|
||||
"environmental_adjustment": "Environmental factor",
|
||||
"sensor_prediction_urgency": "Sensor predicts threshold in ~{days} days",
|
||||
"day_short": "day",
|
||||
"weibull_reliability_curve": "Reliability Curve",
|
||||
"weibull_failure_probability": "Failure Probability",
|
||||
"weibull_r_squared": "Fit R²",
|
||||
"beta_early_failures": "Early Failures",
|
||||
"beta_random_failures": "Random Failures",
|
||||
"beta_wear_out": "Wear-out",
|
||||
"beta_highly_predictable": "Highly Predictable",
|
||||
"confidence_interval": "Confidence Interval",
|
||||
"confidence_conservative": "Conservative",
|
||||
"confidence_aggressive": "Optimistic",
|
||||
"current_interval_marker": "Current interval",
|
||||
"recommended_marker": "Recommended",
|
||||
"characteristic_life": "Characteristic life",
|
||||
"chart_mini_sparkline": "Trend sparkline",
|
||||
"chart_history": "Cost and duration history",
|
||||
"chart_seasonal": "Seasonal factors, 12 months",
|
||||
"chart_weibull": "Weibull reliability curve",
|
||||
"chart_sparkline": "Sensor trigger value chart",
|
||||
"days_progress": "Days progress",
|
||||
"qr_code": "QR Code",
|
||||
"qr_generating": "Generating QR code…",
|
||||
"qr_error": "Failed to generate QR code.",
|
||||
"qr_error_no_url": "No HA URL configured. Please set an external or internal URL in Settings → System → Network.",
|
||||
"save_error": "Failed to save. Please try again.",
|
||||
"qr_print": "Print",
|
||||
"qr_download": "Download SVG",
|
||||
"qr_action": "Action on scan",
|
||||
"qr_action_view": "View maintenance info",
|
||||
"qr_action_complete": "Mark maintenance as complete",
|
||||
"qr_url_mode": "Link type",
|
||||
"qr_mode_companion": "Companion App",
|
||||
"qr_mode_local": "Local (mDNS)",
|
||||
"qr_mode_server": "Server URL",
|
||||
"overview": "Overview",
|
||||
"analysis": "Analysis",
|
||||
"recent_activities": "Recent Activities",
|
||||
"search_notes": "Search notes",
|
||||
"avg_cost": "Avg Cost",
|
||||
"no_advanced_features": "No advanced features enabled",
|
||||
"no_advanced_features_hint": "Enable “Adaptive Intervals” or “Seasonal Patterns” in the integration settings to see analysis data here.",
|
||||
"analysis_not_enough_data": "Not enough data for analysis yet.",
|
||||
"analysis_not_enough_data_hint": "Weibull analysis requires at least 5 completed maintenances; seasonal patterns become visible after 6+ data points per month.",
|
||||
"analysis_manual_task_hint": "Manual tasks without an interval do not generate analysis data.",
|
||||
"completions": "completions",
|
||||
"current": "Current",
|
||||
"shorter": "Shorter",
|
||||
"longer": "Longer",
|
||||
"normal": "Normal",
|
||||
"disabled": "Disabled",
|
||||
"compound_logic": "Compound logic",
|
||||
"compound": "Compound (multiple conditions)",
|
||||
"compound_logic_and": "AND — all conditions must trigger",
|
||||
"compound_logic_or": "OR — any condition triggers",
|
||||
"compound_help": "Combine several sensor conditions into one trigger.",
|
||||
"compound_no_conditions": "No conditions yet — add at least one.",
|
||||
"compound_add_condition": "Add condition",
|
||||
"compound_condition": "Condition",
|
||||
"compound_remove_condition": "Remove condition",
|
||||
"card_title": "Title",
|
||||
"card_show_header": "Show header with statistics",
|
||||
"card_show_actions": "Show action buttons",
|
||||
"card_compact": "Compact mode",
|
||||
"card_max_items": "Max items (0 = all)",
|
||||
"card_filter_status": "Filter by status",
|
||||
"card_filter_status_help": "Empty = show all statuses.",
|
||||
"card_filter_objects": "Filter by objects",
|
||||
"card_filter_objects_help": "Empty = show all objects.",
|
||||
"card_filter_entities": "Filter by entities (entity_ids)",
|
||||
"card_filter_entities_help": "Pick sensor / binary_sensor entities from this integration. Empty = all.",
|
||||
"card_loading_objects": "Loading objects…",
|
||||
"card_load_error": "Could not load objects — check the WebSocket connection.",
|
||||
"card_no_tasks_title": "No maintenance tasks yet",
|
||||
"card_no_tasks_cta": "→ Create one in the Maintenance panel",
|
||||
"no_objects": "No objects yet.",
|
||||
"action_error": "Action failed. Please try again.",
|
||||
"area_id_optional": "Area (optional)",
|
||||
"installation_date_optional": "Installation date (optional)",
|
||||
"warranty_expiry_optional": "Warranty expiry (optional)",
|
||||
"warranty": "Warranty",
|
||||
"warranty_valid_until": "valid until {date}",
|
||||
"warranty_expires_in": "expires in {days} days",
|
||||
"warranty_expired": "expired",
|
||||
"cal_past_windows": "Past windows",
|
||||
"cal_forward_windows": "Forward windows",
|
||||
"history_edit_title": "Edit history entry",
|
||||
"history_edit_timestamp": "Timestamp",
|
||||
"manufacturer": "Manufacturer",
|
||||
"model": "Model",
|
||||
"area": "Area",
|
||||
"actions": "Actions",
|
||||
"view_mode_label": "View",
|
||||
"view_cards": "Card view",
|
||||
"view_table": "Table view",
|
||||
"objects_table_columns_label": "Objects table columns",
|
||||
"objects_table_columns_hint": "Choose which columns appear in the objects table view.",
|
||||
"custom_icon_optional": "Icon (optional, e.g. mdi:wrench)",
|
||||
"task_enabled": "Task enabled",
|
||||
"skip_reason_prompt": "Skip this task?",
|
||||
"reason_optional": "Reason (optional)",
|
||||
"reset_date_prompt": "Mark task as performed?",
|
||||
"reset_date_optional": "Last performed date (optional, defaults to today)",
|
||||
"notes_label": "Notes",
|
||||
"documentation_label": "Documentation",
|
||||
"no_nfc_tag": "— No tag —",
|
||||
"dashboard": "Dashboard",
|
||||
"tab_today": "Today",
|
||||
"palette_placeholder": "Search objects and tasks…",
|
||||
"palette_no_results": "No matches",
|
||||
"palette_hint": "↑↓ to navigate · Enter to open · Esc to close",
|
||||
"today_all_caught_up": "All caught up! Nothing due this week.",
|
||||
"today_overdue": "Overdue",
|
||||
"today_due_today": "Due today",
|
||||
"today_this_week": "This week",
|
||||
"settings": "Settings",
|
||||
"settings_features": "Advanced Features",
|
||||
"settings_features_desc": "Enable or disable advanced features. Disabling hides them from the UI but does not delete data.",
|
||||
"feat_adaptive": "Adaptive Scheduling",
|
||||
"feat_adaptive_desc": "Learn optimal intervals from maintenance history",
|
||||
"feat_predictions": "Sensor Predictions",
|
||||
"feat_predictions_desc": "Predict trigger dates from sensor degradation",
|
||||
"feat_seasonal": "Seasonal Adjustments",
|
||||
"feat_seasonal_desc": "Adjust intervals based on seasonal patterns",
|
||||
"feat_environmental": "Environmental Correlation",
|
||||
"feat_environmental_desc": "Correlate intervals with temperature/humidity",
|
||||
"feat_budget": "Budget Tracking",
|
||||
"feat_budget_desc": "Track monthly and yearly maintenance spending",
|
||||
"feat_groups": "Task Groups",
|
||||
"feat_groups_desc": "Organize tasks into logical groups",
|
||||
"feat_checklists": "Checklists",
|
||||
"feat_checklists_desc": "Multi-step procedures for task completion",
|
||||
"settings_general": "General",
|
||||
"settings_default_warning": "Default warning days",
|
||||
"settings_panel_enabled": "Sidebar panel",
|
||||
"settings_panel_title": "Sidebar panel title",
|
||||
"settings_notifications": "Notifications",
|
||||
"settings_notify_service": "Notification service",
|
||||
"test_notification": "Test notification",
|
||||
"send_test": "Send test",
|
||||
"testing": "Sending…",
|
||||
"test_notification_success": "Test notification sent",
|
||||
"test_notification_failed": "Test notification failed",
|
||||
"settings_notify_due_soon": "Notify when due soon",
|
||||
"settings_notify_overdue": "Notify when overdue",
|
||||
"settings_notify_triggered": "Notify when triggered",
|
||||
"settings_interval_hours": "Repeat interval (hours, 0 = once)",
|
||||
"settings_quiet_hours": "Quiet hours",
|
||||
"settings_quiet_start": "Start",
|
||||
"settings_quiet_end": "End",
|
||||
"settings_max_per_day": "Max notifications per day (0 = unlimited)",
|
||||
"settings_bundling": "Bundle notifications",
|
||||
"settings_bundle_threshold": "Bundle threshold",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Mobile Action Buttons",
|
||||
"settings_action_complete": "Show 'Complete' button",
|
||||
"settings_action_skip": "Show 'Skip' button",
|
||||
"settings_action_snooze": "Show 'Snooze' button",
|
||||
"settings_weekly_digest": "Weekly digest",
|
||||
"settings_weekly_digest_hint": "A single summary notification on Monday morning when tasks are due.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Snooze duration (hours)",
|
||||
"settings_budget": "Budget",
|
||||
"settings_currency": "Currency",
|
||||
"settings_budget_monthly": "Monthly budget",
|
||||
"settings_budget_yearly": "Yearly budget",
|
||||
"settings_budget_alerts": "Budget alerts",
|
||||
"settings_budget_threshold": "Alert threshold (%)",
|
||||
"settings_import_export": "Import / Export",
|
||||
"settings_export_json": "Export JSON",
|
||||
"settings_export_yaml": "Export YAML",
|
||||
"settings_export_csv": "Export CSV",
|
||||
"settings_import_csv": "Import CSV",
|
||||
"settings_import_placeholder": "Paste JSON or CSV content here…",
|
||||
"settings_import_btn": "Import",
|
||||
"settings_import_success": "{count} objects imported successfully.",
|
||||
"settings_export_success": "Export downloaded.",
|
||||
"settings_saved": "Setting saved.",
|
||||
"settings_include_history": "Include history",
|
||||
"sort_alphabetical": "Alphabetical",
|
||||
"sort_due_soonest": "Due soonest",
|
||||
"sort_task_count": "Task count",
|
||||
"sort_area": "Area",
|
||||
"sort_assigned_user": "Assigned user",
|
||||
"sort_group": "Group",
|
||||
"groupby_none": "No grouping",
|
||||
"groupby_area": "By area",
|
||||
"groupby_group": "By group",
|
||||
"groupby_user": "By user",
|
||||
"filter_label": "Filter",
|
||||
"user_label": "User",
|
||||
"sort_label": "Sort",
|
||||
"group_by_label": "Group by",
|
||||
"state_value_help": "Use the HA state value (usually lowercase, e.g. \"on\"/\"off\"). Case is normalised on save.",
|
||||
"target_changes_help": "Number of matching transitions before the trigger fires (default: 1).",
|
||||
"qr_print_title": "Print QR codes",
|
||||
"qr_print_desc": "Generate a printable page of QR codes to cut out and stick on your equipment.",
|
||||
"qr_print_load": "Load objects",
|
||||
"qr_print_filter": "Filter",
|
||||
"qr_print_objects": "Objects",
|
||||
"qr_print_actions": "Actions",
|
||||
"qr_print_url_mode": "Link type",
|
||||
"qr_print_estimate": "Estimated QR codes",
|
||||
"qr_print_over_limit": "cap is 200, narrow the filter",
|
||||
"qr_print_generate": "Generate QR codes",
|
||||
"qr_print_generating": "Generating…",
|
||||
"qr_print_ready": "QR codes ready",
|
||||
"qr_print_print_button": "Print",
|
||||
"qr_print_empty": "Nothing to generate",
|
||||
"qr_action_skip": "Skip",
|
||||
"vacation_title": "Vacation mode",
|
||||
"vacation_active": "active",
|
||||
"vacation_ended": "ended",
|
||||
"vacation_desc": "Plan a vacation: notifications are paused during the period plus a buffer of days. You can opt specific tasks back in.",
|
||||
"vacation_enable": "Enable vacation mode",
|
||||
"vacation_start": "Start",
|
||||
"vacation_end": "End",
|
||||
"vacation_buffer": "Buffer (days)",
|
||||
"vacation_exempt_title": "Notify anyway during vacation",
|
||||
"vacation_exempt_desc": "Pick tasks that should still notify during vacation (e.g. critical pool chemistry).",
|
||||
"vacation_load_tasks": "Load tasks",
|
||||
"vacation_preview_btn": "Show preview",
|
||||
"vacation_preview_affected": "tasks affected",
|
||||
"vacation_event_due_soon": "becomes due soon",
|
||||
"vacation_event_overdue": "becomes overdue",
|
||||
"vacation_event_triggered_est": "sensor trigger possible",
|
||||
"vacation_sensor_based": "(sensor-based)",
|
||||
"vacation_action_notify": "Notify anyway",
|
||||
"vacation_action_unsilence": "Silence again",
|
||||
"vacation_marked_complete": "Marked complete",
|
||||
"vacation_marked_skip": "Skipped",
|
||||
"vacation_end_now": "End vacation now",
|
||||
"add": "Add",
|
||||
"show_stats": "Show stats + graphs",
|
||||
"hide_stats": "Hide stats",
|
||||
"adaptive_no_data": "Not enough completion history yet for adaptive analysis. Complete this task a few more times to unlock interval recommendations and reliability charts.",
|
||||
"suggestion_applied": "Suggested interval applied",
|
||||
"vacation_mode": "Vacation mode",
|
||||
"vacation_status_active": "Active now",
|
||||
"vacation_status_scheduled": "Scheduled",
|
||||
"vacation_status_inactive": "Inactive",
|
||||
"vacation_end_now_confirm": "End vacation immediately?",
|
||||
"vacation_exempt_count": "exempt",
|
||||
"vacation_advanced": "Advanced…",
|
||||
"vacation_open_panel": "Open in panel",
|
||||
"enable": "Enable",
|
||||
"saved": "Saved",
|
||||
"budget_monthly_set": "Set monthly",
|
||||
"budget_yearly_set": "Set yearly",
|
||||
"budget_advanced": "Currency, alerts…",
|
||||
"budget_open_panel": "Open in panel",
|
||||
"groups_empty": "No groups yet.",
|
||||
"group_new_placeholder": "Add group…",
|
||||
"group_delete_confirm": "Delete group \"{name}\"?",
|
||||
"groups_manage_tasks": "Manage task assignments…",
|
||||
"groups_open_panel": "Open in panel",
|
||||
"unassigned": "Unassigned",
|
||||
"no_area": "No area",
|
||||
"has_overdue": "Has overdue tasks",
|
||||
"object": "Object",
|
||||
"settings_panel_access": "Panel access",
|
||||
"settings_panel_access_desc": "Admins always have full access. To delegate create, edit and delete to specific non-admins, switch this on and pick them below — everyone else sees only Complete and Skip.",
|
||||
"settings_operator_write": "Allow selected users to create, edit & delete",
|
||||
"settings_operator_write_desc": "Off: only admins can change content. On: the selected users below get full access too.",
|
||||
"no_non_admin_users": "No non-admin users found. Add some in Settings → People.",
|
||||
"owner_label": "Owner",
|
||||
"feat_completion_actions": "Completion actions",
|
||||
"feat_completion_actions_desc": "Per-task HA action on complete + quick-complete QR with pre-set values.",
|
||||
"on_complete_action_title": "On complete: trigger HA action (optional)",
|
||||
"on_complete_action_desc": "Calls an HA service when the task is completed — e.g. reset a counter on the device.",
|
||||
"on_complete_action_service": "Service",
|
||||
"on_complete_action_target": "Target entity",
|
||||
"on_complete_action_target_hint": "Note: the entity domain must match the service — e.g. 'button.press' only works on button.*, 'counter.increment' only on counter.*, 'input_button.press' only on input_button.* etc. On a mismatch the action will silently fail (HA logs 'Referenced entities ... missing or not currently available').",
|
||||
"on_complete_action_data": "Data (JSON, optional)",
|
||||
"on_complete_action_test": "Validate configuration",
|
||||
"on_complete_action_test_success": "✓ Configuration valid (action will fire only on task completion)",
|
||||
"on_complete_action_test_failed": "Failed",
|
||||
"quick_complete_defaults_title": "Quick-complete defaults (for QR scans, optional)",
|
||||
"quick_complete_defaults_desc": "Pre-set values for quick-complete QR scans. Without these, the QR opens the complete dialog.",
|
||||
"quick_complete_defaults_notes": "Notes",
|
||||
"quick_complete_defaults_cost": "Cost",
|
||||
"quick_complete_defaults_duration": "Duration (minutes)",
|
||||
"quick_complete_defaults_feedback_none": "No feedback",
|
||||
"quick_complete_defaults_feedback_needed": "Was needed",
|
||||
"quick_complete_defaults_feedback_not_needed": "Not needed",
|
||||
"quick_complete_success": "Quickly marked complete",
|
||||
"show_all_objects": "Show all objects",
|
||||
"show_all_tasks": "Clear filter — show all tasks",
|
||||
"filter_to_overdue": "Filter task list to overdue only",
|
||||
"filter_to_due_soon": "Filter task list to due-soon only",
|
||||
"filter_to_triggered": "Filter task list to triggered only",
|
||||
"open_task": "Open task",
|
||||
"show_details": "Show history + stats",
|
||||
"hide_details": "Hide details",
|
||||
"history_empty": "No history yet.",
|
||||
"history_edit_button": "Edit entry",
|
||||
"total_cost": "Total cost",
|
||||
"times_performed": "Performed",
|
||||
"older_entries": "older",
|
||||
"open_in_panel": "Open in Maintenance panel",
|
||||
"skip_reason": "Skip reason (optional)",
|
||||
"reset_to_date": "Reset last_performed to",
|
||||
"delete_task_confirm": "Delete this task and its history?",
|
||||
"delete_object_confirm": "Delete this object and all its tasks?",
|
||||
"loading": "Loading…",
|
||||
"archive": "Archive",
|
||||
"undo": "Undo",
|
||||
"task_archived": "Task archived",
|
||||
"object_archived": "Object archived",
|
||||
"unarchive": "Unarchive",
|
||||
"archived": "Archived",
|
||||
"show_archived": "Show archived",
|
||||
"hide_archived": "Hide archived",
|
||||
"confirm_archive_object": "Archive this object and its tasks? They keep their history and can be unarchived later.",
|
||||
"settings_archive": "Archive & Retention",
|
||||
"settings_archive_desc": "Retire completed one-off tasks without deleting them. Archived items are hidden and inert but keep their history and cost.",
|
||||
"settings_archive_oneoff_days": "Auto-archive completed one-off tasks after (days, 0 = off)",
|
||||
"settings_delete_archived_oneoff_days": "Auto-delete archived one-off tasks after (days, 0 = never)",
|
||||
"archive_object": "Archive object",
|
||||
"unarchive_object": "Unarchive object",
|
||||
"documents": "Documents",
|
||||
"documents_empty": "No documents yet.",
|
||||
"doc_upload": "Upload file",
|
||||
"doc_uploading": "Uploading…",
|
||||
"doc_add_link": "Add link",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Title (optional)",
|
||||
"doc_open": "Open",
|
||||
"doc_delete_confirm": "Delete \"{name}\"?",
|
||||
"doc_too_large": "File is too large (max 25 MB).",
|
||||
"doc_upload_failed": "Upload failed.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Already stored elsewhere — shared, no extra space used.",
|
||||
"doc_dup_in_object": "This file is already attached to this object.",
|
||||
"doc_link_invalid": "Only http/https links are allowed.",
|
||||
"doc_cat_manual": "Manual",
|
||||
"doc_cat_warranty": "Warranty",
|
||||
"doc_cat_invoice": "Invoice",
|
||||
"doc_cat_spare_parts": "Spare parts",
|
||||
"doc_cat_photo": "Photo",
|
||||
"doc_cat_other": "Other",
|
||||
"doc_link_badge": "Link",
|
||||
"doc_storage_title": "Document storage",
|
||||
"doc_storage_saved": "Saved via deduplication",
|
||||
"doc_storage_refresh": "Refresh",
|
||||
"doc_download": "Download",
|
||||
"doc_close": "Close",
|
||||
"doc_camera": "Take photo",
|
||||
"doc_drop_hint": "Drop files here",
|
||||
"doc_task_none": "No documents linked to this task.",
|
||||
"doc_link_existing": "Link a document…",
|
||||
"doc_attach": "Link",
|
||||
"doc_unlink": "Unlink",
|
||||
"doc_page": "Page",
|
||||
"chart_range_7d": "7d",
|
||||
"chart_range_30d": "30d",
|
||||
"chart_range_90d": "90d",
|
||||
"chart_range_1y": "1y",
|
||||
"chart_since_service": "since last service",
|
||||
"chart_no_stats": "No long-term statistics for this entity — showing maintenance-event values only",
|
||||
"auto_complete_on_recovery": "Auto-complete when the sensor recovers",
|
||||
"auto_complete_on_recovery_help": "Records a completion (sets last performed) when the trigger clears itself — e.g. salt refilled, filter replaced.",
|
||||
"doc_search": "Search documents…",
|
||||
"doc_search_none": "No matching documents",
|
||||
"link_device_optional": "Link to existing device (optional)",
|
||||
"parent_object_optional": "Parent object (optional)",
|
||||
"parent_none": "(No parent)",
|
||||
"paused": "Paused",
|
||||
"pause_object": "Pause",
|
||||
"resume_object": "Resume",
|
||||
"pause_until_prompt": "Freeze this object's schedules — nothing becomes due and nothing notifies until it is resumed. Optionally set an auto-resume date.",
|
||||
"pause_until_label": "Resume on (optional)",
|
||||
"object_paused": "Object paused",
|
||||
"object_resumed": "Object resumed — schedules restarted",
|
||||
"object_paused_badge": "Paused",
|
||||
"paused_until_label": "until",
|
||||
"replace_object": "Replace…",
|
||||
"replace_object_prompt": "Retire this object and create a successor. History and costs stay archived on the old one; tasks and documents carry over to the new one, counters start fresh.",
|
||||
"replace_name_label": "Successor name",
|
||||
"object_replaced": "Object replaced — successor created",
|
||||
"reading_unit_label": "Reading unit (e.g. kWh, m³)",
|
||||
"reading_unit_help": "Shown next to the recorded value when completing this task.",
|
||||
"reading_value_label": "Reading value",
|
||||
"reading_label": "Reading",
|
||||
"settings_templates_label": "Template gallery",
|
||||
"settings_templates_hint": "Untick templates you'll never need — they disappear from the \"From template\" pickers (panel and config flow). Nothing else changes; you can re-enable them any time.",
|
||||
"worksheet": "Work sheet",
|
||||
"worksheet_scan_view": "Scan to open the task",
|
||||
"worksheet_scan_complete": "Scan to complete",
|
||||
"worksheet_manual_excerpt": "Manual excerpt",
|
||||
"worksheet_pages": "pages",
|
||||
"worksheet_printed": "Printed",
|
||||
"worksheet_never": "Never"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Mantenimiento",
|
||||
"objects": "Objetos",
|
||||
"tasks": "Tareas",
|
||||
"overdue": "Vencida",
|
||||
"due_soon": "Próxima",
|
||||
"triggered": "Activada",
|
||||
"ok": "OK",
|
||||
"all": "Todos",
|
||||
"new_object": "+ Nuevo objeto",
|
||||
"templates_from": "Desde plantilla",
|
||||
"templates_title": "Empezar desde una plantilla",
|
||||
"templates_task_count": "{n} tareas",
|
||||
"template_created": "Creado desde plantilla",
|
||||
"onboard_hint": "Añade tu primer objeto para empezar a seguir el mantenimiento.",
|
||||
"edit": "Editar",
|
||||
"duplicate": "Duplicar",
|
||||
"task_duplicated": "Tarea duplicada",
|
||||
"object_duplicated": "Objeto duplicado",
|
||||
"delete": "Eliminar",
|
||||
"add_task": "+ Tarea",
|
||||
"complete": "Completada",
|
||||
"completed": "Completada",
|
||||
"skip": "Omitir",
|
||||
"skipped": "Omitida",
|
||||
"missed": "Missed",
|
||||
"reset": "Restablecer",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Cancelar",
|
||||
"bulk_select": "Seleccionar",
|
||||
"bulk_select_all": "Seleccionar todo",
|
||||
"bulk_n_selected": "{n} seleccionados",
|
||||
"bulk_completed": "{n} tareas completadas",
|
||||
"bulk_archived": "{n} tareas archivadas",
|
||||
"completing": "Completando…",
|
||||
"interval": "Intervalo",
|
||||
"warning": "Aviso",
|
||||
"last_performed": "Última ejecución",
|
||||
"next_due": "Próximo vencimiento",
|
||||
"days_until_due": "Días hasta vencimiento",
|
||||
"avg_duration": "Ø Duración",
|
||||
"trigger": "Disparador",
|
||||
"trigger_type": "Tipo de disparador",
|
||||
"threshold_above": "Límite superior",
|
||||
"threshold_below": "Límite inferior",
|
||||
"threshold": "Umbral",
|
||||
"counter": "Contador",
|
||||
"state_change": "Cambio de estado",
|
||||
"runtime": "Tiempo de funcionamiento",
|
||||
"runtime_hours": "Duración objetivo (horas)",
|
||||
"target_value": "Valor objetivo",
|
||||
"baseline": "Línea base",
|
||||
"target_changes": "Cambios objetivo",
|
||||
"for_minutes": "Durante (minutos)",
|
||||
"time_based": "Temporal",
|
||||
"sensor_based": "Sensor",
|
||||
"manual": "Manual",
|
||||
"one_time": "Una vez",
|
||||
"weekdays": "Días de la semana",
|
||||
"nth_weekday": "N-ésimo día de la semana del mes",
|
||||
"day_of_month": "Día del mes",
|
||||
"recurrence_on_days": "Repetir los",
|
||||
"recurrence_occurrence": "Aparición",
|
||||
"recurrence_weekday": "Día de la semana",
|
||||
"recurrence_day": "Día del mes (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1.º",
|
||||
"ord_2": "2.º",
|
||||
"ord_3": "3.º",
|
||||
"ord_4": "4.º",
|
||||
"ord_5": "5.º",
|
||||
"ord_last": "Último",
|
||||
"day_word": "Día",
|
||||
"interval_value": "Intervalo",
|
||||
"interval_unit": "Unidad",
|
||||
"unit_days": "Días",
|
||||
"unit_weeks": "Semanas",
|
||||
"unit_months": "Meses",
|
||||
"unit_years": "Años",
|
||||
"due_date": "Fecha de vencimiento",
|
||||
"cleaning": "Limpieza",
|
||||
"inspection": "Inspección",
|
||||
"replacement": "Sustitución",
|
||||
"calibration": "Calibración",
|
||||
"service": "Servicio",
|
||||
"reading": "Lectura",
|
||||
"custom": "Personalizado",
|
||||
"history": "Historial",
|
||||
"cost": "Coste",
|
||||
"report_button": "Informe",
|
||||
"report_title": "Informe de mantenimiento",
|
||||
"report_generated": "Generado",
|
||||
"report_times_done": "Hecho",
|
||||
"report_total_cost": "Coste total",
|
||||
"report_every": "cada {n} {unit}",
|
||||
"report_notes": "Notas",
|
||||
"report_col_type": "Tipo",
|
||||
"report_col_status": "Estado",
|
||||
"report_col_schedule": "Programación",
|
||||
"duration": "Duración",
|
||||
"both": "Ambos",
|
||||
"trigger_val": "Valor del disparador",
|
||||
"complete_title": "Completada: ",
|
||||
"checklist": "Lista de verificación",
|
||||
"checklist_steps_optional": "Pasos de la lista de verificación (opcional)",
|
||||
"checklist_placeholder": "Limpiar filtro\nReemplazar junta\nProbar presión",
|
||||
"checklist_help": "Un paso por línea. Máx. 100 elementos.",
|
||||
"err_too_long": "{field}: demasiado largo (máx. {n} caracteres)",
|
||||
"err_too_short": "{field}: demasiado corto (mín. {n} caracteres)",
|
||||
"err_value_too_high": "{field}: demasiado grande (máx. {n})",
|
||||
"err_value_too_low": "{field}: demasiado pequeño (mín. {n})",
|
||||
"err_required": "{field}: campo obligatorio",
|
||||
"err_wrong_type": "{field}: tipo incorrecto (esperado: {type})",
|
||||
"err_invalid_choice": "{field}: valor no permitido",
|
||||
"err_invalid_value": "{field}: valor inválido",
|
||||
"feat_schedule_time": "Programación por hora",
|
||||
"feat_schedule_time_desc": "Las tareas vencen a una hora específica en lugar de medianoche.",
|
||||
"schedule_time_optional": "Vence a las (opcional, HH:MM)",
|
||||
"schedule_time_help": "Vacío = medianoche (predeterminado). Zona horaria HA.",
|
||||
"at_time": "a las",
|
||||
"notes_optional": "Notas (opcional)",
|
||||
"cost_optional": "Coste (opcional)",
|
||||
"duration_minutes": "Duración en minutos (opcional)",
|
||||
"days": "días",
|
||||
"day": "día",
|
||||
"today": "Hoy",
|
||||
"d_overdue": "d vencida",
|
||||
"no_tasks": "No hay tareas de mantenimiento. Cree un objeto para empezar.",
|
||||
"no_tasks_short": "Sin tareas",
|
||||
"no_history": "Sin entradas en el historial.",
|
||||
"show_all": "Mostrar todo",
|
||||
"cost_duration_chart": "Costes & Duración",
|
||||
"installed": "Instalado",
|
||||
"confirm_delete_object": "¿Eliminar este objeto y todas sus tareas?",
|
||||
"confirm_delete_task": "¿Eliminar esta tarea?",
|
||||
"min": "Mín",
|
||||
"max": "Máx",
|
||||
"save": "Guardar",
|
||||
"saving": "Guardando…",
|
||||
"edit_task": "Editar tarea",
|
||||
"new_task": "Nueva tarea de mantenimiento",
|
||||
"task_name": "Nombre de la tarea",
|
||||
"maintenance_type": "Tipo de mantenimiento",
|
||||
"priority": "Prioridad",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Baja",
|
||||
"priority_normal": "Normal",
|
||||
"priority_high": "Alta",
|
||||
"schedule_type": "Tipo de planificación",
|
||||
"interval_days": "Intervalo (días)",
|
||||
"warning_days": "Días de aviso",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "Última ejecución (opcional)",
|
||||
"interval_anchor": "Anclaje del intervalo",
|
||||
"anchor_completion": "Desde la fecha de finalización",
|
||||
"anchor_planned": "Desde la fecha planificada (sin desviación)",
|
||||
"edit_object": "Editar objeto",
|
||||
"name": "Nombre",
|
||||
"manufacturer_optional": "Fabricante (opcional)",
|
||||
"model_optional": "Modelo (opcional)",
|
||||
"serial_number_optional": "Número de serie (opcional)",
|
||||
"serial_number_label": "N/S",
|
||||
"documentation_url_label": "Manual",
|
||||
"object_notes_label": "Notas",
|
||||
"sort_due_date": "Vencimiento",
|
||||
"sort_object": "Nombre del objeto",
|
||||
"sort_type": "Tipo",
|
||||
"sort_task_name": "Nombre de la tarea",
|
||||
"all_objects": "Todos los objetos",
|
||||
"tasks_lower": "tareas",
|
||||
"no_tasks_yet": "Aún no hay tareas",
|
||||
"add_first_task": "Agregar primera tarea",
|
||||
"trigger_configuration": "Configuración del disparador",
|
||||
"entity_id": "ID de entidad",
|
||||
"comma_separated": "separados por comas",
|
||||
"entity_logic": "Lógica de entidad",
|
||||
"entity_logic_any": "Cualquier entidad activa",
|
||||
"entity_logic_all": "Todas las entidades deben activar",
|
||||
"entities": "entidades",
|
||||
"attribute_optional": "Atributo (opcional, vacío = estado)",
|
||||
"use_entity_state": "Usar estado de la entidad (sin atributo)",
|
||||
"trigger_above": "Activar por encima de",
|
||||
"trigger_below": "Activar por debajo de",
|
||||
"for_at_least_minutes": "Durante al menos (minutos)",
|
||||
"safety_interval_days": "Intervalo de seguridad (días, opcional)",
|
||||
"safety_interval": "Intervalo de seguridad (opcional)",
|
||||
"delta_mode": "Modo delta",
|
||||
"from_state_optional": "Desde estado (opcional)",
|
||||
"to_state_optional": "Hasta estado (opcional)",
|
||||
"documentation_url_optional": "URL de documentación (opcional)",
|
||||
"object_notes_optional": "Notas (opcional)",
|
||||
"nfc_tag_id_optional": "ID de etiqueta NFC (opcional)",
|
||||
"nfc_tags_empty_help": "Aún no hay tags NFC registrados en Home Assistant.",
|
||||
"nfc_tags_open_settings": "Abrir configuración de tags",
|
||||
"nfc_tags_refresh": "Actualizar",
|
||||
"environmental_entity_optional": "Sensor ambiental (opcional)",
|
||||
"environmental_entity_helper": "p.ej. sensor.temperatura_exterior — ajusta el intervalo según las condiciones ambientales",
|
||||
"environmental_attribute_optional": "Atributo ambiental (opcional)",
|
||||
"nfc_tag_id": "ID de etiqueta NFC",
|
||||
"nfc_linked": "Etiqueta NFC vinculada",
|
||||
"nfc_link_hint": "Clic para vincular etiqueta NFC",
|
||||
"responsible_user": "Usuario responsable",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(Ningún usuario asignado)",
|
||||
"all_users": "Todos los usuarios",
|
||||
"my_tasks": "Mis tareas",
|
||||
"tab_calendar": "Calendario",
|
||||
"cal_no_events": "Sin mantenimiento",
|
||||
"cal_window_7": "7 días",
|
||||
"cal_window_14": "14 días",
|
||||
"cal_window_30": "30 días",
|
||||
"cal_window_365": "1 año",
|
||||
"cal_every_n_days": "cada {n} días",
|
||||
"cal_source_time": "Basado en tiempo",
|
||||
"cal_source_time_adaptive": "Basado en tiempo (adaptativo)",
|
||||
"cal_source_sensor": "Basado en sensor",
|
||||
"cal_predicted": "predicho",
|
||||
"cal_confidence_high": "alta confianza",
|
||||
"cal_confidence_medium": "confianza media",
|
||||
"cal_confidence_low": "baja confianza",
|
||||
"budget_monthly": "Presupuesto mensual",
|
||||
"budget_yearly": "Presupuesto anual",
|
||||
"groups": "Grupos",
|
||||
"new_group": "Nuevo grupo",
|
||||
"edit_group": "Editar grupo",
|
||||
"no_groups": "Sin grupos todavía",
|
||||
"delete_group": "Eliminar grupo",
|
||||
"delete_group_confirm": "¿Eliminar el grupo '{name}'?",
|
||||
"group_select_tasks": "Seleccionar tareas",
|
||||
"group_name_required": "Nombre requerido",
|
||||
"description_optional": "Descripción (opcional)",
|
||||
"selected": "Seleccionado",
|
||||
"loading_chart": "Cargando datos...",
|
||||
"hide_outliers": "Ocultar valores atípicos (fallos del sensor)",
|
||||
"was_maintenance_needed": "¿Era necesario este mantenimiento?",
|
||||
"feedback_needed": "Necesario",
|
||||
"feedback_not_needed": "No necesario",
|
||||
"feedback_not_sure": "No seguro",
|
||||
"suggested_interval": "Intervalo sugerido",
|
||||
"apply_suggestion": "Aplicar",
|
||||
"reanalyze": "Reanalizar",
|
||||
"reanalyze_result": "Nuevo análisis",
|
||||
"reanalyze_insufficient_data": "Datos insuficientes para una recomendación",
|
||||
"data_points": "puntos de datos",
|
||||
"dismiss_suggestion": "Descartar",
|
||||
"confidence_low": "Baja",
|
||||
"confidence_medium": "Media",
|
||||
"confidence_high": "Alta",
|
||||
"recommended": "recomendado",
|
||||
"seasonal_awareness": "Conciencia estacional",
|
||||
"edit_seasonal_overrides": "Editar factores estacionales",
|
||||
"seasonal_overrides_title": "Factores estacionales (override)",
|
||||
"seasonal_overrides_hint": "Factor por mes (0.1–5.0). Vacío = aprendido automáticamente.",
|
||||
"seasonal_override_invalid": "Valor no válido",
|
||||
"seasonal_override_range": "El factor debe estar entre 0.1 y 5.0",
|
||||
"clear_all": "Borrar todo",
|
||||
"seasonal_chart_title": "Factores estacionales",
|
||||
"seasonal_learned": "Aprendido",
|
||||
"seasonal_manual": "Manual",
|
||||
"month_jan": "Ene",
|
||||
"month_feb": "Feb",
|
||||
"month_mar": "Mar",
|
||||
"month_apr": "Abr",
|
||||
"month_may": "May",
|
||||
"month_jun": "Jun",
|
||||
"month_jul": "Jul",
|
||||
"month_aug": "Ago",
|
||||
"month_sep": "Sep",
|
||||
"month_oct": "Oct",
|
||||
"month_nov": "Nov",
|
||||
"month_dec": "Dic",
|
||||
"sensor_prediction": "Predicción del sensor",
|
||||
"degradation_trend": "Tendencia",
|
||||
"trend_rising": "En aumento",
|
||||
"trend_falling": "En descenso",
|
||||
"trend_stable": "Estable",
|
||||
"trend_insufficient_data": "Datos insuficientes",
|
||||
"days_until_threshold": "Días hasta el umbral",
|
||||
"threshold_exceeded": "Umbral superado",
|
||||
"environmental_adjustment": "Factor ambiental",
|
||||
"sensor_prediction_urgency": "El sensor predice el umbral en ~{days} días",
|
||||
"day_short": "día",
|
||||
"weibull_reliability_curve": "Curva de fiabilidad",
|
||||
"weibull_failure_probability": "Probabilidad de fallo",
|
||||
"weibull_r_squared": "Ajuste R²",
|
||||
"beta_early_failures": "Fallos tempranos",
|
||||
"beta_random_failures": "Fallos aleatorios",
|
||||
"beta_wear_out": "Desgaste",
|
||||
"beta_highly_predictable": "Altamente predecible",
|
||||
"confidence_interval": "Intervalo de confianza",
|
||||
"confidence_conservative": "Conservador",
|
||||
"confidence_aggressive": "Optimista",
|
||||
"current_interval_marker": "Intervalo actual",
|
||||
"recommended_marker": "Recomendado",
|
||||
"characteristic_life": "Vida característica",
|
||||
"chart_mini_sparkline": "Sparkline de tendencia",
|
||||
"chart_history": "Historial de costes y duración",
|
||||
"chart_seasonal": "Factores estacionales, 12 meses",
|
||||
"chart_weibull": "Curva de fiabilidad Weibull",
|
||||
"chart_sparkline": "Gráfico de valor del disparador",
|
||||
"days_progress": "Progreso en días",
|
||||
"qr_code": "Código QR",
|
||||
"qr_generating": "Generando código QR…",
|
||||
"qr_error": "No se pudo generar el código QR.",
|
||||
"qr_error_no_url": "No hay URL de HA configurada. Establezca una URL externa o interna en Ajustes → Sistema → Red.",
|
||||
"save_error": "Error al guardar. Inténtelo de nuevo.",
|
||||
"qr_print": "Imprimir",
|
||||
"qr_download": "Descargar SVG",
|
||||
"qr_action": "Acción al escanear",
|
||||
"qr_action_view": "Ver info de mantenimiento",
|
||||
"qr_action_complete": "Marcar mantenimiento como completado",
|
||||
"qr_url_mode": "Tipo de enlace",
|
||||
"qr_mode_companion": "Companion App",
|
||||
"qr_mode_local": "Local (mDNS)",
|
||||
"qr_mode_server": "URL del servidor",
|
||||
"overview": "Resumen",
|
||||
"analysis": "Análisis",
|
||||
"recent_activities": "Actividades recientes",
|
||||
"search_notes": "Buscar en notas",
|
||||
"avg_cost": "Ø Coste",
|
||||
"no_advanced_features": "Sin funciones avanzadas activadas",
|
||||
"no_advanced_features_hint": "Active “Intervalos Adaptativos” o “Patrones Estacionales” en la configuración de la integración para ver datos de análisis aquí.",
|
||||
"analysis_not_enough_data": "Aún no hay suficientes datos para el análisis.",
|
||||
"analysis_not_enough_data_hint": "El análisis Weibull requiere al menos 5 mantenimientos completados; los patrones estacionales son visibles tras 6+ puntos de datos por mes.",
|
||||
"analysis_manual_task_hint": "Las tareas manuales sin intervalo no generan datos de análisis.",
|
||||
"completions": "finalizaciones",
|
||||
"current": "Actual",
|
||||
"shorter": "Más corto",
|
||||
"longer": "Más largo",
|
||||
"normal": "Normal",
|
||||
"disabled": "Desactivado",
|
||||
"compound_logic": "Lógica compuesta",
|
||||
"compound": "Compuesto (varias condiciones)",
|
||||
"compound_logic_and": "Y — todas las condiciones deben activarse",
|
||||
"compound_logic_or": "O — basta con una condición",
|
||||
"compound_help": "Combina varias condiciones de sensores en un disparador.",
|
||||
"compound_no_conditions": "Aún no hay condiciones — añade al menos una.",
|
||||
"compound_add_condition": "Añadir condición",
|
||||
"compound_condition": "Condición",
|
||||
"compound_remove_condition": "Eliminar condición",
|
||||
"card_title": "Título",
|
||||
"card_show_header": "Mostrar encabezado con estadísticas",
|
||||
"card_show_actions": "Mostrar botones de acción",
|
||||
"card_compact": "Modo compacto",
|
||||
"card_max_items": "Máx. elementos (0 = todos)",
|
||||
"card_filter_status": "Filtrar por estado",
|
||||
"card_filter_status_help": "Vacío = mostrar todos los estados.",
|
||||
"card_filter_objects": "Filtrar por objetos",
|
||||
"card_filter_objects_help": "Vacío = mostrar todos los objetos.",
|
||||
"card_filter_entities": "Filtrar por entidades (entity_ids)",
|
||||
"card_filter_entities_help": "Selecciona entidades sensor / binary_sensor de esta integración. Vacío = todas.",
|
||||
"card_loading_objects": "Cargando objetos…",
|
||||
"card_load_error": "No se pudieron cargar los objetos — verifica la conexión WebSocket.",
|
||||
"card_no_tasks_title": "Aún no hay tareas de mantenimiento",
|
||||
"card_no_tasks_cta": "→ Crea una en el panel Mantenimiento",
|
||||
"no_objects": "Aún no hay objetos.",
|
||||
"action_error": "Acción fallida. Inténtelo de nuevo.",
|
||||
"area_id_optional": "Área (opcional)",
|
||||
"installation_date_optional": "Fecha de instalación (opcional)",
|
||||
"warranty_expiry_optional": "Vencimiento de garantía (opcional)",
|
||||
"warranty": "Garantía",
|
||||
"warranty_valid_until": "válida hasta {date}",
|
||||
"warranty_expires_in": "vence en {days} días",
|
||||
"warranty_expired": "vencida",
|
||||
"cal_past_windows": "Ventanas pasadas",
|
||||
"cal_forward_windows": "Ventanas futuras",
|
||||
"history_edit_title": "Editar entrada del historial",
|
||||
"history_edit_timestamp": "Marca de tiempo",
|
||||
"manufacturer": "Fabricante",
|
||||
"model": "Modelo",
|
||||
"area": "Área",
|
||||
"actions": "Acciones",
|
||||
"view_mode_label": "Vista",
|
||||
"view_cards": "Vista de tarjetas",
|
||||
"view_table": "Vista de tabla",
|
||||
"objects_table_columns_label": "Columnas de la tabla de objetos",
|
||||
"objects_table_columns_hint": "Elige qué columnas aparecen en la vista de tabla de objetos.",
|
||||
"custom_icon_optional": "Icono (opcional, ej. mdi:wrench)",
|
||||
"task_enabled": "Tarea habilitada",
|
||||
"skip_reason_prompt": "¿Omitir esta tarea?",
|
||||
"reason_optional": "Motivo (opcional)",
|
||||
"reset_date_prompt": "¿Marcar la tarea como realizada?",
|
||||
"reset_date_optional": "Fecha de última ejecución (opcional, por defecto: hoy)",
|
||||
"notes_label": "Notas",
|
||||
"documentation_label": "Documentación",
|
||||
"no_nfc_tag": "— Sin etiqueta —",
|
||||
"dashboard": "Panel",
|
||||
"tab_today": "Hoy",
|
||||
"palette_placeholder": "Buscar objetos y tareas…",
|
||||
"palette_no_results": "Sin resultados",
|
||||
"palette_hint": "↑↓ navegar · Enter abrir · Esc cerrar",
|
||||
"today_all_caught_up": "¡Todo al día! Nada pendiente esta semana.",
|
||||
"today_overdue": "Vencidas",
|
||||
"today_due_today": "Vence hoy",
|
||||
"today_this_week": "Esta semana",
|
||||
"settings": "Ajustes",
|
||||
"settings_features": "Funciones avanzadas",
|
||||
"settings_features_desc": "Active o desactive funciones avanzadas. Desactivar las oculta de la interfaz pero no elimina datos.",
|
||||
"feat_adaptive": "Planificación adaptativa",
|
||||
"feat_adaptive_desc": "Aprender intervalos óptimos del historial de mantenimiento",
|
||||
"feat_predictions": "Predicciones de sensor",
|
||||
"feat_predictions_desc": "Predecir fechas de activación por degradación del sensor",
|
||||
"feat_seasonal": "Ajustes estacionales",
|
||||
"feat_seasonal_desc": "Ajustar intervalos según patrones estacionales",
|
||||
"feat_environmental": "Correlación ambiental",
|
||||
"feat_environmental_desc": "Correlacionar intervalos con temperatura/humedad",
|
||||
"feat_budget": "Seguimiento de presupuesto",
|
||||
"feat_budget_desc": "Seguir los gastos de mantenimiento mensuales y anuales",
|
||||
"feat_groups": "Grupos de tareas",
|
||||
"feat_groups_desc": "Organizar tareas en grupos lógicos",
|
||||
"feat_checklists": "Listas de verificación",
|
||||
"feat_checklists_desc": "Procedimientos de varios pasos para completar tareas",
|
||||
"settings_general": "General",
|
||||
"settings_default_warning": "Días de aviso predeterminados",
|
||||
"settings_panel_enabled": "Panel lateral",
|
||||
"settings_panel_title": "Título del panel lateral",
|
||||
"settings_notifications": "Notificaciones",
|
||||
"settings_notify_service": "Servicio de notificación",
|
||||
"test_notification": "Notificación de prueba",
|
||||
"send_test": "Enviar prueba",
|
||||
"testing": "Enviando…",
|
||||
"test_notification_success": "Notificación de prueba enviada",
|
||||
"test_notification_failed": "La notificación de prueba falló",
|
||||
"settings_notify_due_soon": "Notificar cuando esté próxima",
|
||||
"settings_notify_overdue": "Notificar cuando esté vencida",
|
||||
"settings_notify_triggered": "Notificar cuando se active",
|
||||
"settings_interval_hours": "Intervalo de repetición (horas, 0 = una vez)",
|
||||
"settings_quiet_hours": "Horas de silencio",
|
||||
"settings_quiet_start": "Inicio",
|
||||
"settings_quiet_end": "Fin",
|
||||
"settings_max_per_day": "Máx. notificaciones por día (0 = ilimitado)",
|
||||
"settings_bundling": "Agrupar notificaciones",
|
||||
"settings_bundle_threshold": "Umbral de agrupación",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Botones de acción móviles",
|
||||
"settings_action_complete": "Mostrar botón 'Completada'",
|
||||
"settings_action_skip": "Mostrar botón 'Omitir'",
|
||||
"settings_action_snooze": "Mostrar botón 'Posponer'",
|
||||
"settings_weekly_digest": "Resumen semanal",
|
||||
"settings_weekly_digest_hint": "Una notificación de resumen el lunes por la mañana cuando hay tareas.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Duración de posposición (horas)",
|
||||
"settings_budget": "Presupuesto",
|
||||
"settings_currency": "Moneda",
|
||||
"settings_budget_monthly": "Presupuesto mensual",
|
||||
"settings_budget_yearly": "Presupuesto anual",
|
||||
"settings_budget_alerts": "Alertas de presupuesto",
|
||||
"settings_budget_threshold": "Umbral de alerta (%)",
|
||||
"settings_import_export": "Importar / Exportar",
|
||||
"settings_export_json": "Exportar JSON",
|
||||
"settings_export_yaml": "Exportar YAML",
|
||||
"settings_export_csv": "Exportar CSV",
|
||||
"settings_import_csv": "Importar CSV",
|
||||
"settings_import_placeholder": "Pegue el contenido JSON o CSV aquí…",
|
||||
"settings_import_btn": "Importar",
|
||||
"settings_import_success": "{count} objetos importados correctamente.",
|
||||
"settings_export_success": "Exportación descargada.",
|
||||
"settings_saved": "Ajuste guardado.",
|
||||
"settings_include_history": "Incluir historial",
|
||||
"sort_alphabetical": "Alfabético",
|
||||
"sort_due_soonest": "Próximo a vencer",
|
||||
"sort_task_count": "Cantidad de tareas",
|
||||
"sort_area": "Área",
|
||||
"sort_assigned_user": "Usuario asignado",
|
||||
"sort_group": "Grupo",
|
||||
"groupby_none": "Sin agrupación",
|
||||
"groupby_area": "Por área",
|
||||
"groupby_group": "Por grupo",
|
||||
"groupby_user": "Por usuario",
|
||||
"filter_label": "Filtro",
|
||||
"user_label": "Usuario",
|
||||
"sort_label": "Ordenar",
|
||||
"group_by_label": "Agrupar por",
|
||||
"state_value_help": "Usa el valor de estado de HA (normalmente en minúsculas, p. ej. \"on\"/\"off\"). Las mayúsculas se normalizan al guardar.",
|
||||
"target_changes_help": "Número de transiciones coincidentes antes de que se dispare el trigger (predeterminado: 1).",
|
||||
"qr_print_title": "Imprimir códigos QR",
|
||||
"qr_print_desc": "Genera una página imprimible de códigos QR para recortar y pegar en tus equipos.",
|
||||
"qr_print_load": "Cargar objetos",
|
||||
"qr_print_filter": "Filtro",
|
||||
"qr_print_objects": "Objetos",
|
||||
"qr_print_actions": "Acciones",
|
||||
"qr_print_url_mode": "Tipo de enlace",
|
||||
"qr_print_estimate": "Códigos QR estimados",
|
||||
"qr_print_over_limit": "máximo 200, reduce el filtro",
|
||||
"qr_print_generate": "Generar códigos QR",
|
||||
"qr_print_generating": "Generando…",
|
||||
"qr_print_ready": "Códigos QR listos",
|
||||
"qr_print_print_button": "Imprimir",
|
||||
"qr_print_empty": "Nada que generar",
|
||||
"qr_action_skip": "Omitir",
|
||||
"vacation_title": "Modo vacaciones",
|
||||
"vacation_active": "activo",
|
||||
"vacation_ended": "terminado",
|
||||
"vacation_desc": "Planifica tus vacaciones: las notificaciones se pausan durante el período más unos días de margen. Puedes excluir tareas concretas.",
|
||||
"vacation_enable": "Activar modo vacaciones",
|
||||
"vacation_start": "Inicio",
|
||||
"vacation_end": "Fin",
|
||||
"vacation_buffer": "Margen (días)",
|
||||
"vacation_exempt_title": "Notificar igual durante vacaciones",
|
||||
"vacation_exempt_desc": "Selecciona tareas que deben notificar también en vacaciones (p. ej. química crítica de piscina).",
|
||||
"vacation_load_tasks": "Cargar tareas",
|
||||
"vacation_preview_btn": "Mostrar vista previa",
|
||||
"vacation_preview_affected": "tareas afectadas",
|
||||
"vacation_event_due_soon": "vencerá pronto",
|
||||
"vacation_event_overdue": "se volverá vencida",
|
||||
"vacation_event_triggered_est": "posible activación de sensor",
|
||||
"vacation_sensor_based": "(basado en sensor)",
|
||||
"vacation_action_notify": "Notificar igual",
|
||||
"vacation_action_unsilence": "Silenciar de nuevo",
|
||||
"vacation_marked_complete": "Marcado como completado",
|
||||
"vacation_marked_skip": "Omitido",
|
||||
"vacation_end_now": "Terminar vacaciones ahora",
|
||||
"unassigned": "Sin asignar",
|
||||
"no_area": "Sin área",
|
||||
"has_overdue": "Tareas vencidas",
|
||||
"object": "Objeto",
|
||||
"settings_panel_access": "Acceso al panel",
|
||||
"settings_panel_access_desc": "Los administradores siempre tienen acceso completo. Para delegar crear, editar y eliminar a no administradores específicos, activa esto y selecciónalos abajo — los demás solo ven Completar y Omitir.",
|
||||
"settings_operator_write": "Permitir a los usuarios seleccionados crear, editar y eliminar",
|
||||
"settings_operator_write_desc": "Desactivado: solo los administradores pueden cambiar el contenido. Activado: los usuarios seleccionados abajo también tienen acceso completo.",
|
||||
"no_non_admin_users": "No se encontraron usuarios no administradores. Añade alguno en Ajustes → Personas.",
|
||||
"owner_label": "Propietario",
|
||||
"feat_completion_actions": "Acciones de finalización",
|
||||
"feat_completion_actions_desc": "Acción HA por tarea al completar + QR de finalización rápida con valores prefijados.",
|
||||
"on_complete_action_title": "Al completar: ejecutar acción HA (opcional)",
|
||||
"on_complete_action_desc": "Llama un servicio HA cuando se completa la tarea — p. ej. reiniciar un contador del dispositivo.",
|
||||
"on_complete_action_service": "Servicio",
|
||||
"on_complete_action_target": "Entidad objetivo",
|
||||
"on_complete_action_data": "Datos (JSON, opcional)",
|
||||
"on_complete_action_test": "Probar acción",
|
||||
"on_complete_action_test_success": "Éxito",
|
||||
"on_complete_action_test_failed": "Fallido",
|
||||
"quick_complete_defaults_title": "Valores predeterminados de finalización rápida (para escaneos QR, opcional)",
|
||||
"quick_complete_defaults_desc": "Valores prefijados para QR de finalización rápida. Sin ellos, el QR abre el diálogo de completar.",
|
||||
"quick_complete_defaults_notes": "Notas",
|
||||
"quick_complete_defaults_cost": "Coste",
|
||||
"quick_complete_defaults_duration": "Duración (minutos)",
|
||||
"quick_complete_defaults_feedback_none": "Sin feedback",
|
||||
"quick_complete_defaults_feedback_needed": "Era necesario",
|
||||
"quick_complete_defaults_feedback_not_needed": "No era necesario",
|
||||
"quick_complete_success": "Completado rápido",
|
||||
"trigger_replaced": "Disparador reemplazado",
|
||||
"add": "Añadir",
|
||||
"show_stats": "Mostrar estadísticas + gráficos",
|
||||
"hide_stats": "Ocultar estadísticas",
|
||||
"adaptive_no_data": "Aún no hay suficiente historial de finalizaciones para el análisis adaptativo. Completa esta tarea unas cuantas veces más para desbloquear las recomendaciones de intervalo y los gráficos de fiabilidad.",
|
||||
"suggestion_applied": "Intervalo sugerido aplicado",
|
||||
"vacation_mode": "Modo vacaciones",
|
||||
"vacation_status_active": "Activo ahora",
|
||||
"vacation_status_scheduled": "Programado",
|
||||
"vacation_status_inactive": "Inactivo",
|
||||
"vacation_end_now_confirm": "¿Finalizar las vacaciones de inmediato?",
|
||||
"vacation_exempt_count": "exentas",
|
||||
"vacation_advanced": "Avanzado…",
|
||||
"vacation_open_panel": "Abrir en el panel",
|
||||
"enable": "Activar",
|
||||
"saved": "Guardado",
|
||||
"budget_monthly_set": "Definir mensual",
|
||||
"budget_yearly_set": "Definir anual",
|
||||
"budget_advanced": "Moneda, alertas…",
|
||||
"budget_open_panel": "Abrir en el panel",
|
||||
"groups_empty": "Aún no hay grupos.",
|
||||
"group_new_placeholder": "Añadir grupo…",
|
||||
"group_delete_confirm": "¿Eliminar el grupo \"{name}\"?",
|
||||
"groups_manage_tasks": "Gestionar asignaciones de tareas…",
|
||||
"groups_open_panel": "Abrir en el panel",
|
||||
"on_complete_action_target_hint": "Nota: el dominio de la entidad debe coincidir con el servicio — p. ej. 'button.press' solo funciona en button.*, 'counter.increment' solo en counter.*, 'input_button.press' solo en input_button.* etc. Si no coinciden, la acción falla silenciosamente (HA registra 'Referenced entities ... missing or not currently available').",
|
||||
"show_all_objects": "Mostrar todos los objetos",
|
||||
"show_all_tasks": "Quitar filtro — mostrar todas las tareas",
|
||||
"filter_to_overdue": "Filtrar la lista solo a vencidas",
|
||||
"filter_to_due_soon": "Filtrar la lista solo a próximas a vencer",
|
||||
"filter_to_triggered": "Filtrar la lista solo a activadas",
|
||||
"open_task": "Abrir tarea",
|
||||
"show_details": "Mostrar historial + estadísticas",
|
||||
"hide_details": "Ocultar detalles",
|
||||
"history_empty": "Aún no hay historial.",
|
||||
"history_edit_button": "Editar entrada",
|
||||
"total_cost": "Coste total",
|
||||
"times_performed": "Realizada",
|
||||
"older_entries": "anteriores",
|
||||
"open_in_panel": "Abrir en el panel de Mantenimiento",
|
||||
"skip_reason": "Motivo de omisión (opcional)",
|
||||
"reset_to_date": "Restablecer última ejecución a",
|
||||
"delete_task_confirm": "¿Eliminar esta tarea y su historial?",
|
||||
"delete_object_confirm": "¿Eliminar este objeto y todas sus tareas?",
|
||||
"loading": "Cargando…",
|
||||
"archive": "Archivar",
|
||||
"undo": "Deshacer",
|
||||
"task_archived": "Tarea archivada",
|
||||
"object_archived": "Objeto archivado",
|
||||
"unarchive": "Desarchivar",
|
||||
"archived": "Archivado",
|
||||
"show_archived": "Mostrar archivados",
|
||||
"hide_archived": "Ocultar archivados",
|
||||
"confirm_archive_object": "¿Archivar este objeto y sus tareas? Se conserva el historial y se puede restaurar más tarde.",
|
||||
"settings_archive": "Archivado y retención",
|
||||
"settings_archive_desc": "Retira las tareas únicas completadas sin eliminarlas. Los elementos archivados se ocultan y quedan inactivos, pero conservan su historial y coste.",
|
||||
"settings_archive_oneoff_days": "Archivar automáticamente las tareas únicas completadas tras (días, 0 = desactivado)",
|
||||
"settings_delete_archived_oneoff_days": "Eliminar automáticamente las tareas únicas archivadas tras (días, 0 = nunca)",
|
||||
"archive_object": "Archivar objeto",
|
||||
"unarchive_object": "Desarchivar objeto",
|
||||
"documents": "Documentos",
|
||||
"documents_empty": "Aún no hay documentos.",
|
||||
"doc_upload": "Subir archivo",
|
||||
"doc_uploading": "Subiendo…",
|
||||
"doc_add_link": "Añadir enlace",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Título (opcional)",
|
||||
"doc_open": "Abrir",
|
||||
"doc_delete_confirm": "¿Eliminar «{name}»?",
|
||||
"doc_too_large": "El archivo es demasiado grande (máx. 25 MB).",
|
||||
"doc_upload_failed": "Error al subir.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Ya almacenado en otro lugar — compartido, sin espacio adicional.",
|
||||
"doc_dup_in_object": "Este archivo ya está adjunto a este objeto.",
|
||||
"doc_link_invalid": "Solo se permiten enlaces http/https.",
|
||||
"doc_cat_manual": "Manual",
|
||||
"doc_cat_warranty": "Garantía",
|
||||
"doc_cat_invoice": "Factura",
|
||||
"doc_cat_spare_parts": "Repuestos",
|
||||
"doc_cat_photo": "Foto",
|
||||
"doc_cat_other": "Otro",
|
||||
"doc_link_badge": "Enlace",
|
||||
"doc_storage_title": "Almacenamiento de documentos",
|
||||
"doc_storage_saved": "Ahorrado por deduplicación",
|
||||
"doc_storage_refresh": "Actualizar",
|
||||
"doc_download": "Descargar",
|
||||
"doc_close": "Cerrar",
|
||||
"doc_camera": "Tomar foto",
|
||||
"doc_drop_hint": "Suelta los archivos aquí",
|
||||
"doc_task_none": "Ningún documento vinculado a esta tarea.",
|
||||
"doc_link_existing": "Vincular un documento…",
|
||||
"doc_attach": "Vincular",
|
||||
"doc_unlink": "Desvincular",
|
||||
"doc_page": "Página",
|
||||
"chart_range_7d": "7d",
|
||||
"chart_range_30d": "30d",
|
||||
"chart_range_90d": "90d",
|
||||
"chart_range_1y": "1a",
|
||||
"chart_since_service": "desde el último mantenimiento",
|
||||
"chart_no_stats": "No hay estadísticas a largo plazo para esta entidad — solo se muestran valores de eventos de mantenimiento",
|
||||
"auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere",
|
||||
"auto_complete_on_recovery_help": "Registra una finalización (fija la última realización) cuando el disparador se resuelve solo — p. ej., sal rellenada, filtro cambiado.",
|
||||
"doc_search": "Buscar documentos…",
|
||||
"doc_search_none": "Ningún documento coincidente",
|
||||
"link_device_optional": "Vincular a dispositivo existente (opcional)",
|
||||
"parent_object_optional": "Objeto principal (opcional)",
|
||||
"parent_none": "(Sin objeto principal)",
|
||||
"paused": "Pausado",
|
||||
"pause_object": "Pausar",
|
||||
"resume_object": "Reanudar",
|
||||
"pause_until_prompt": "Congela los calendarios de este objeto: nada vence ni notifica hasta reanudarlo. Opcionalmente, fija una fecha de reanudación automática.",
|
||||
"pause_until_label": "Reanudar el (opcional)",
|
||||
"object_paused": "Objeto pausado",
|
||||
"object_resumed": "Objeto reanudado — calendarios reiniciados",
|
||||
"object_paused_badge": "Pausado",
|
||||
"paused_until_label": "hasta",
|
||||
"replace_object": "Sustituir…",
|
||||
"replace_object_prompt": "Retira este objeto y crea un sucesor. El historial y los costes quedan archivados en el antiguo; las tareas y los documentos pasan al nuevo, los contadores empiezan de cero.",
|
||||
"replace_name_label": "Nombre del sucesor",
|
||||
"object_replaced": "Objeto sustituido — sucesor creado",
|
||||
"reading_unit_label": "Unidad de lectura (p. ej. kWh, m³)",
|
||||
"reading_unit_help": "Se muestra junto al valor registrado al completar esta tarea.",
|
||||
"reading_value_label": "Valor de lectura",
|
||||
"reading_label": "Lectura",
|
||||
"settings_templates_label": "Galería de plantillas",
|
||||
"settings_templates_hint": "Desmarca las plantillas que nunca necesitarás: desaparecen de los selectores \"Desde plantilla\" (panel y flujo de configuración). Nada más cambia; puedes reactivarlas cuando quieras.",
|
||||
"worksheet": "Hoja de trabajo",
|
||||
"worksheet_scan_view": "Escanea para abrir la tarea",
|
||||
"worksheet_scan_complete": "Escanea para completar",
|
||||
"worksheet_manual_excerpt": "Extracto del manual",
|
||||
"worksheet_pages": "páginas",
|
||||
"worksheet_printed": "Impreso",
|
||||
"worksheet_never": "Nunca"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Huolto",
|
||||
"objects": "Kohteet",
|
||||
"tasks": "Tehtävät",
|
||||
"overdue": "Myöhässä",
|
||||
"due_soon": "Pian erääntyy",
|
||||
"triggered": "Laukaistu",
|
||||
"trigger_replaced": "Laukaisin korvattu",
|
||||
"ok": "OK",
|
||||
"all": "Kaikki",
|
||||
"new_object": "+ Uusi kohde",
|
||||
"templates_from": "Mallista",
|
||||
"templates_title": "Aloita mallista",
|
||||
"templates_task_count": "{n} tehtävää",
|
||||
"template_created": "Luotu mallista",
|
||||
"onboard_hint": "Lisää ensimmäinen kohde ja aloita huollon seuranta.",
|
||||
"edit": "Muokkaa",
|
||||
"duplicate": "Monista",
|
||||
"task_duplicated": "Tehtävä monistettu",
|
||||
"object_duplicated": "Kohde monistettu",
|
||||
"delete": "Poista",
|
||||
"add_task": "+ Lisää tehtävä",
|
||||
"complete": "Valmis",
|
||||
"completed": "Suoritettu",
|
||||
"skip": "Ohita",
|
||||
"skipped": "Ohitettu",
|
||||
"missed": "Missed",
|
||||
"reset": "Nollaa",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Peruuta",
|
||||
"bulk_select": "Valitse",
|
||||
"bulk_select_all": "Valitse kaikki",
|
||||
"bulk_n_selected": "{n} valittu",
|
||||
"bulk_completed": "{n} tehtävää valmiina",
|
||||
"bulk_archived": "{n} tehtävää arkistoitu",
|
||||
"completing": "Suoritetaan…",
|
||||
"interval": "Väli",
|
||||
"warning": "Varoitus",
|
||||
"last_performed": "Viimeksi suoritettu",
|
||||
"next_due": "Seuraava eräpäivä",
|
||||
"days_until_due": "Päiviä eräpäivään",
|
||||
"avg_duration": "Keskim. kesto",
|
||||
"trigger": "Laukaisin",
|
||||
"trigger_type": "Laukaisimen tyyppi",
|
||||
"threshold_above": "Yläraja",
|
||||
"threshold_below": "Alaraja",
|
||||
"threshold": "Kynnysarvo",
|
||||
"counter": "Laskuri",
|
||||
"state_change": "Tilan muutos",
|
||||
"runtime": "Käyttöaika",
|
||||
"runtime_hours": "Tavoitekäyttöaika (tuntia)",
|
||||
"target_value": "Tavoitearvo",
|
||||
"baseline": "Lähtötaso",
|
||||
"target_changes": "Tavoitemuutokset",
|
||||
"for_minutes": "Vähintään (minuuttia)",
|
||||
"time_based": "Aikaperusteinen",
|
||||
"sensor_based": "Anturiperusteinen",
|
||||
"manual": "Manuaalinen",
|
||||
"one_time": "Kertaluonteinen",
|
||||
"weekdays": "Viikonpäivät",
|
||||
"nth_weekday": "Kuukauden n:s viikonpäivä",
|
||||
"day_of_month": "Kuukauden päivä",
|
||||
"recurrence_on_days": "Toista päivinä",
|
||||
"recurrence_occurrence": "Esiintymä",
|
||||
"recurrence_weekday": "Viikonpäivä",
|
||||
"recurrence_day": "Kuukauden päivä (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1.",
|
||||
"ord_2": "2.",
|
||||
"ord_3": "3.",
|
||||
"ord_4": "4.",
|
||||
"ord_5": "5.",
|
||||
"ord_last": "Viimeinen",
|
||||
"day_word": "Päivä",
|
||||
"interval_value": "Väli",
|
||||
"interval_unit": "Yksikkö",
|
||||
"unit_days": "Päivää",
|
||||
"unit_weeks": "Viikkoa",
|
||||
"unit_months": "Kuukautta",
|
||||
"unit_years": "Vuotta",
|
||||
"due_date": "Eräpäivä",
|
||||
"cleaning": "Puhdistus",
|
||||
"inspection": "Tarkastus",
|
||||
"replacement": "Vaihto",
|
||||
"calibration": "Kalibrointi",
|
||||
"service": "Huolto",
|
||||
"reading": "Lukema",
|
||||
"custom": "Mukautettu",
|
||||
"history": "Historia",
|
||||
"cost": "Kustannus",
|
||||
"report_button": "Raportti",
|
||||
"report_title": "Huoltoraportti",
|
||||
"report_generated": "Luotu",
|
||||
"report_times_done": "Tehty",
|
||||
"report_total_cost": "Kokonaiskustannus",
|
||||
"report_every": "joka {n}. {unit}",
|
||||
"report_notes": "Muistiinpanot",
|
||||
"report_col_type": "Tyyppi",
|
||||
"report_col_status": "Tila",
|
||||
"report_col_schedule": "Aikataulu",
|
||||
"duration": "Kesto",
|
||||
"both": "Molemmat",
|
||||
"trigger_val": "Laukaisuarvo",
|
||||
"complete_title": "Suorita: ",
|
||||
"checklist": "Tarkistuslista",
|
||||
"checklist_steps_optional": "Tarkistuslistan vaiheet (valinnainen)",
|
||||
"checklist_placeholder": "Puhdista suodatin\nVaihda tiiviste\nTarkista paine",
|
||||
"checklist_help": "Yksi vaihe riviä kohden. Enintään 100 kohdetta.",
|
||||
"err_too_long": "{field}: liian pitkä (enint. {n} merkkiä)",
|
||||
"err_too_short": "{field}: liian lyhyt (väh. {n} merkkiä)",
|
||||
"err_value_too_high": "{field}: liian suuri (enint. {n})",
|
||||
"err_value_too_low": "{field}: liian pieni (väh. {n})",
|
||||
"err_required": "{field}: pakollinen",
|
||||
"err_wrong_type": "{field}: väärä tyyppi (odotettiin: {type})",
|
||||
"err_invalid_choice": "{field}: ei sallittu arvo",
|
||||
"err_invalid_value": "{field}: virheellinen arvo",
|
||||
"feat_schedule_time": "Kellonajan ajoitus",
|
||||
"feat_schedule_time_desc": "Tehtävät erääntyvät tiettyyn kellonaikaan keskiyön sijaan.",
|
||||
"schedule_time_optional": "Erääntyy klo (valinnainen, HH:MM)",
|
||||
"schedule_time_help": "Tyhjä = keskiyö (oletus). HA:n aikavyöhyke.",
|
||||
"at_time": "klo",
|
||||
"notes_optional": "Muistiinpanot (valinnainen)",
|
||||
"cost_optional": "Kustannus (valinnainen)",
|
||||
"duration_minutes": "Kesto minuutteina (valinnainen)",
|
||||
"days": "päivää",
|
||||
"day": "päivä",
|
||||
"today": "Tänään",
|
||||
"d_overdue": "pv myöhässä",
|
||||
"no_tasks": "Ei vielä huoltotehtäviä. Luo kohde aloittaaksesi.",
|
||||
"no_tasks_short": "Ei tehtäviä",
|
||||
"no_history": "Ei vielä historiatietoja.",
|
||||
"show_all": "Näytä kaikki",
|
||||
"cost_duration_chart": "Kustannus ja kesto",
|
||||
"installed": "Asennettu",
|
||||
"confirm_delete_object": "Poistetaanko tämä kohde ja kaikki sen tehtävät?",
|
||||
"confirm_delete_task": "Poistetaanko tämä tehtävä?",
|
||||
"min": "Min",
|
||||
"max": "Maks",
|
||||
"save": "Tallenna",
|
||||
"saving": "Tallennetaan…",
|
||||
"edit_task": "Muokkaa tehtävää",
|
||||
"new_task": "Uusi huoltotehtävä",
|
||||
"task_name": "Tehtävän nimi",
|
||||
"maintenance_type": "Huoltotyyppi",
|
||||
"priority": "Prioriteetti",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Matala",
|
||||
"priority_normal": "Normaali",
|
||||
"priority_high": "Korkea",
|
||||
"schedule_type": "Ajoitustyyppi",
|
||||
"interval_days": "Väli (päivää)",
|
||||
"warning_days": "Varoituspäivät",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "Viimeksi suoritettu (valinnainen)",
|
||||
"interval_anchor": "Välin ankkuri",
|
||||
"anchor_completion": "Suorituspäivästä",
|
||||
"anchor_planned": "Suunnitellusta päivästä (ei poikkeamaa)",
|
||||
"edit_object": "Muokkaa kohdetta",
|
||||
"name": "Nimi",
|
||||
"manufacturer_optional": "Valmistaja (valinnainen)",
|
||||
"model_optional": "Malli (valinnainen)",
|
||||
"serial_number_optional": "Sarjanumero (valinnainen)",
|
||||
"serial_number_label": "S/N",
|
||||
"documentation_url_label": "Käyttöohje",
|
||||
"object_notes_label": "Muistiinpanot",
|
||||
"sort_due_date": "Eräpäivä",
|
||||
"sort_object": "Kohteen nimi",
|
||||
"sort_type": "Tyyppi",
|
||||
"sort_task_name": "Tehtävän nimi",
|
||||
"all_objects": "Kaikki kohteet",
|
||||
"tasks_lower": "tehtävää",
|
||||
"no_tasks_yet": "Ei vielä tehtäviä",
|
||||
"add_first_task": "Lisää ensimmäinen tehtävä",
|
||||
"trigger_configuration": "Laukaisimen asetukset",
|
||||
"entity_id": "Entiteetin tunnus",
|
||||
"comma_separated": "pilkuilla eroteltu",
|
||||
"entity_logic": "Entiteettilogiikka",
|
||||
"entity_logic_any": "Mikä tahansa entiteetti laukaisee",
|
||||
"entity_logic_all": "Kaikkien entiteettien on laukaistava",
|
||||
"entities": "entiteettiä",
|
||||
"attribute_optional": "Attribuutti (valinnainen, tyhjä = tila)",
|
||||
"use_entity_state": "Käytä entiteetin tilaa (ei attribuuttia)",
|
||||
"trigger_above": "Laukaise yli",
|
||||
"trigger_below": "Laukaise alle",
|
||||
"for_at_least_minutes": "Vähintään (minuuttia)",
|
||||
"safety_interval_days": "Turvaväli (päivää, valinnainen)",
|
||||
"safety_interval": "Turvaväli (valinnainen)",
|
||||
"delta_mode": "Delta-tila",
|
||||
"from_state_optional": "Lähtötilasta (valinnainen)",
|
||||
"to_state_optional": "Kohdetilaan (valinnainen)",
|
||||
"documentation_url_optional": "Dokumentaation URL (valinnainen)",
|
||||
"object_notes_optional": "Muistiinpanot (valinnainen)",
|
||||
"nfc_tag_id_optional": "NFC-tunnisteen tunnus (valinnainen)",
|
||||
"nfc_tags_empty_help": "Home Assistantiin ei ole vielä rekisteröity NFC-tunnisteita.",
|
||||
"nfc_tags_open_settings": "Avaa tunnisteiden asetukset",
|
||||
"nfc_tags_refresh": "Päivitä",
|
||||
"environmental_entity_optional": "Ympäristöanturi (valinnainen)",
|
||||
"environmental_entity_helper": "esim. sensor.outdoor_temperature — säätää väliä ympäristöolosuhteiden mukaan",
|
||||
"environmental_attribute_optional": "Ympäristöattribuutti (valinnainen)",
|
||||
"nfc_tag_id": "NFC-tunnisteen tunnus",
|
||||
"nfc_linked": "NFC-tunniste linkitetty",
|
||||
"nfc_link_hint": "Linkitä NFC-tunniste napsauttamalla",
|
||||
"responsible_user": "Vastuukäyttäjä",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(Ei käyttäjää määritetty)",
|
||||
"all_users": "Kaikki käyttäjät",
|
||||
"my_tasks": "Omat tehtävät",
|
||||
"tab_calendar": "Kalenteri",
|
||||
"cal_no_events": "Ei huoltoja",
|
||||
"cal_window_7": "7 päivää",
|
||||
"cal_window_14": "14 päivää",
|
||||
"cal_window_30": "30 päivää",
|
||||
"cal_window_365": "1 vuosi",
|
||||
"cal_every_n_days": "{n} päivän välein",
|
||||
"cal_source_time": "Aikaperusteinen",
|
||||
"cal_source_time_adaptive": "Aikaperusteinen (mukautuva)",
|
||||
"cal_source_sensor": "Anturiperusteinen",
|
||||
"cal_predicted": "ennustettu",
|
||||
"cal_confidence_high": "korkea luottamus",
|
||||
"cal_confidence_medium": "keskitason luottamus",
|
||||
"cal_confidence_low": "matala luottamus",
|
||||
"budget_monthly": "Kuukausibudjetti",
|
||||
"budget_yearly": "Vuosibudjetti",
|
||||
"groups": "Ryhmät",
|
||||
"new_group": "Uusi ryhmä",
|
||||
"edit_group": "Muokkaa ryhmää",
|
||||
"no_groups": "Ei vielä ryhmiä",
|
||||
"delete_group": "Poista ryhmä",
|
||||
"delete_group_confirm": "Poistetaanko ryhmä '{name}'?",
|
||||
"group_select_tasks": "Valitse tehtävät",
|
||||
"group_name_required": "Nimi on pakollinen",
|
||||
"description_optional": "Kuvaus (valinnainen)",
|
||||
"selected": "Valittu",
|
||||
"loading_chart": "Ladataan kaaviotietoja...",
|
||||
"hide_outliers": "Piilota poikkeamat (anturivirheet)",
|
||||
"was_maintenance_needed": "Oliko tämä huolto tarpeen?",
|
||||
"feedback_needed": "Tarpeen",
|
||||
"feedback_not_needed": "Ei tarpeen",
|
||||
"feedback_not_sure": "Ei varma",
|
||||
"suggested_interval": "Ehdotettu väli",
|
||||
"apply_suggestion": "Käytä",
|
||||
"reanalyze": "Analysoi uudelleen",
|
||||
"reanalyze_result": "Uusi analyysi",
|
||||
"reanalyze_insufficient_data": "Ei tarpeeksi tietoja suosituksen tekemiseen",
|
||||
"data_points": "tietopistettä",
|
||||
"dismiss_suggestion": "Hylkää",
|
||||
"confidence_low": "Matala",
|
||||
"confidence_medium": "Keskitaso",
|
||||
"confidence_high": "Korkea",
|
||||
"recommended": "suositeltu",
|
||||
"seasonal_awareness": "Kausivaihtelun huomiointi",
|
||||
"edit_seasonal_overrides": "Muokkaa kausikertoimia",
|
||||
"seasonal_overrides_title": "Kausikertoimet (ohitus)",
|
||||
"seasonal_overrides_hint": "Kerroin kuukautta kohden (0,1–5,0). Tyhjä = opitaan automaattisesti.",
|
||||
"seasonal_override_invalid": "Virheellinen arvo",
|
||||
"seasonal_override_range": "Kertoimen on oltava välillä 0,1–5,0",
|
||||
"clear_all": "Tyhjennä kaikki",
|
||||
"seasonal_chart_title": "Kausikertoimet",
|
||||
"seasonal_learned": "Opittu",
|
||||
"seasonal_manual": "Manuaalinen",
|
||||
"month_jan": "Tammi",
|
||||
"month_feb": "Helmi",
|
||||
"month_mar": "Maalis",
|
||||
"month_apr": "Huhti",
|
||||
"month_may": "Touko",
|
||||
"month_jun": "Kesä",
|
||||
"month_jul": "Heinä",
|
||||
"month_aug": "Elo",
|
||||
"month_sep": "Syys",
|
||||
"month_oct": "Loka",
|
||||
"month_nov": "Marras",
|
||||
"month_dec": "Joulu",
|
||||
"sensor_prediction": "Anturiennuste",
|
||||
"degradation_trend": "Trendi",
|
||||
"trend_rising": "Nouseva",
|
||||
"trend_falling": "Laskeva",
|
||||
"trend_stable": "Vakaa",
|
||||
"trend_insufficient_data": "Riittämättömät tiedot",
|
||||
"days_until_threshold": "Päiviä kynnysarvoon",
|
||||
"threshold_exceeded": "Kynnysarvo ylitetty",
|
||||
"environmental_adjustment": "Ympäristökerroin",
|
||||
"sensor_prediction_urgency": "Anturi ennustaa kynnysarvon noin {days} päivässä",
|
||||
"day_short": "pv",
|
||||
"weibull_reliability_curve": "Luotettavuuskäyrä",
|
||||
"weibull_failure_probability": "Vikaantumistodennäköisyys",
|
||||
"weibull_r_squared": "Sovitus R²",
|
||||
"beta_early_failures": "Varhaiset viat",
|
||||
"beta_random_failures": "Satunnaiset viat",
|
||||
"beta_wear_out": "Kuluminen",
|
||||
"beta_highly_predictable": "Erittäin ennustettava",
|
||||
"confidence_interval": "Luottamusväli",
|
||||
"confidence_conservative": "Varovainen",
|
||||
"confidence_aggressive": "Optimistinen",
|
||||
"current_interval_marker": "Nykyinen väli",
|
||||
"recommended_marker": "Suositeltu",
|
||||
"characteristic_life": "Ominaiselinikä",
|
||||
"chart_mini_sparkline": "Trendikäyrä",
|
||||
"chart_history": "Kustannus- ja kestohistoria",
|
||||
"chart_seasonal": "Kausikertoimet, 12 kuukautta",
|
||||
"chart_weibull": "Weibull-luotettavuuskäyrä",
|
||||
"chart_sparkline": "Anturin laukaisuarvon kaavio",
|
||||
"days_progress": "Päivien edistyminen",
|
||||
"qr_code": "QR-koodi",
|
||||
"qr_generating": "Luodaan QR-koodia…",
|
||||
"qr_error": "QR-koodin luonti epäonnistui.",
|
||||
"qr_error_no_url": "HA:n URL-osoitetta ei ole määritetty. Aseta ulkoinen tai sisäinen URL kohdassa Asetukset → Järjestelmä → Verkko.",
|
||||
"save_error": "Tallennus epäonnistui. Yritä uudelleen.",
|
||||
"qr_print": "Tulosta",
|
||||
"qr_download": "Lataa SVG",
|
||||
"qr_action": "Toiminto skannattaessa",
|
||||
"qr_action_view": "Näytä huoltotiedot",
|
||||
"qr_action_complete": "Merkitse huolto valmiiksi",
|
||||
"qr_url_mode": "Linkin tyyppi",
|
||||
"qr_mode_companion": "Companion-sovellus",
|
||||
"qr_mode_local": "Paikallinen (mDNS)",
|
||||
"qr_mode_server": "Palvelimen URL",
|
||||
"overview": "Yleiskatsaus",
|
||||
"analysis": "Analyysi",
|
||||
"recent_activities": "Viimeaikaiset toimet",
|
||||
"search_notes": "Hae muistiinpanoja",
|
||||
"avg_cost": "Keskim. kustannus",
|
||||
"no_advanced_features": "Lisäominaisuuksia ei ole otettu käyttöön",
|
||||
"no_advanced_features_hint": "Ota käyttöön ”Mukautuvat välit” tai ”Kausivaihtelut” integraation asetuksissa nähdäksesi analyysitiedot täällä.",
|
||||
"analysis_not_enough_data": "Ei vielä tarpeeksi tietoja analyysiin.",
|
||||
"analysis_not_enough_data_hint": "Weibull-analyysi vaatii vähintään 5 suoritettua huoltoa; kausivaihtelut näkyvät kun kuukautta kohden on yli 6 tietopistettä.",
|
||||
"analysis_manual_task_hint": "Manuaaliset tehtävät ilman väliä eivät tuota analyysitietoja.",
|
||||
"completions": "suoritusta",
|
||||
"current": "Nykyinen",
|
||||
"shorter": "Lyhyempi",
|
||||
"longer": "Pidempi",
|
||||
"normal": "Normaali",
|
||||
"disabled": "Pois käytöstä",
|
||||
"compound_logic": "Yhdistelmälogiikka",
|
||||
"compound": "Yhdistetty (useita ehtoja)",
|
||||
"compound_logic_and": "JA — kaikkien ehtojen on täytyttävä",
|
||||
"compound_logic_or": "TAI — mikä tahansa ehto riittää",
|
||||
"compound_help": "Yhdistä useita anturiehtoja yhdeksi laukaisimeksi.",
|
||||
"compound_no_conditions": "Ei vielä ehtoja — lisää vähintään yksi.",
|
||||
"compound_add_condition": "Lisää ehto",
|
||||
"compound_condition": "Ehto",
|
||||
"compound_remove_condition": "Poista ehto",
|
||||
"card_title": "Otsikko",
|
||||
"card_show_header": "Näytä otsikko tilastoineen",
|
||||
"card_show_actions": "Näytä toimintopainikkeet",
|
||||
"card_compact": "Tiivis tila",
|
||||
"card_max_items": "Enimmäismäärä (0 = kaikki)",
|
||||
"card_filter_status": "Suodata tilan mukaan",
|
||||
"card_filter_status_help": "Tyhjä = näytä kaikki tilat.",
|
||||
"card_filter_objects": "Suodata kohteiden mukaan",
|
||||
"card_filter_objects_help": "Tyhjä = näytä kaikki kohteet.",
|
||||
"card_filter_entities": "Suodata entiteettien mukaan (entity_id)",
|
||||
"card_filter_entities_help": "Valitse sensor- / binary_sensor-entiteetit tästä integraatiosta. Tyhjä = kaikki.",
|
||||
"card_loading_objects": "Ladataan kohteita…",
|
||||
"card_load_error": "Kohteita ei voitu ladata — tarkista WebSocket-yhteys.",
|
||||
"card_no_tasks_title": "Ei vielä huoltotehtäviä",
|
||||
"card_no_tasks_cta": "→ Luo sellainen Huolto-paneelissa",
|
||||
"no_objects": "Ei vielä kohteita.",
|
||||
"action_error": "Toiminto epäonnistui. Yritä uudelleen.",
|
||||
"area_id_optional": "Alue (valinnainen)",
|
||||
"installation_date_optional": "Asennuspäivä (valinnainen)",
|
||||
"warranty_expiry_optional": "Takuun päättyminen (valinnainen)",
|
||||
"warranty": "Takuu",
|
||||
"warranty_valid_until": "voimassa {date} asti",
|
||||
"warranty_expires_in": "päättyy {days} päivän kuluttua",
|
||||
"warranty_expired": "päättynyt",
|
||||
"cal_past_windows": "Menneet jaksot",
|
||||
"cal_forward_windows": "Tulevat jaksot",
|
||||
"history_edit_title": "Muokkaa historiamerkintää",
|
||||
"history_edit_timestamp": "Aikaleima",
|
||||
"manufacturer": "Valmistaja",
|
||||
"model": "Malli",
|
||||
"area": "Alue",
|
||||
"actions": "Toiminnot",
|
||||
"view_mode_label": "Näkymä",
|
||||
"view_cards": "Korttinäkymä",
|
||||
"view_table": "Taulukkonäkymä",
|
||||
"objects_table_columns_label": "Kohdetaulukon sarakkeet",
|
||||
"objects_table_columns_hint": "Valitse, mitkä sarakkeet näkyvät kohdetaulukkonäkymässä.",
|
||||
"custom_icon_optional": "Kuvake (valinnainen, esim. mdi:wrench)",
|
||||
"task_enabled": "Tehtävä käytössä",
|
||||
"skip_reason_prompt": "Ohitetaanko tämä tehtävä?",
|
||||
"reason_optional": "Syy (valinnainen)",
|
||||
"reset_date_prompt": "Merkitäänkö tehtävä suoritetuksi?",
|
||||
"reset_date_optional": "Viimeksi suoritettu -päivä (valinnainen, oletus tänään)",
|
||||
"notes_label": "Muistiinpanot",
|
||||
"documentation_label": "Dokumentaatio",
|
||||
"no_nfc_tag": "— Ei tunnistetta —",
|
||||
"dashboard": "Kojelauta",
|
||||
"tab_today": "Tänään",
|
||||
"palette_placeholder": "Hae kohteita ja tehtäviä…",
|
||||
"palette_no_results": "Ei osumia",
|
||||
"palette_hint": "↑↓ liiku · Enter avaa · Esc sulje",
|
||||
"today_all_caught_up": "Kaikki hoidettu! Tällä viikolla ei ole mitään.",
|
||||
"today_overdue": "Myöhässä",
|
||||
"today_due_today": "Erääntyy tänään",
|
||||
"today_this_week": "Tällä viikolla",
|
||||
"settings": "Asetukset",
|
||||
"settings_features": "Lisäominaisuudet",
|
||||
"settings_features_desc": "Ota lisäominaisuudet käyttöön tai pois käytöstä. Poistaminen piilottaa ne käyttöliittymästä mutta ei poista tietoja.",
|
||||
"feat_adaptive": "Mukautuva ajoitus",
|
||||
"feat_adaptive_desc": "Opi optimaaliset välit huoltohistoriasta",
|
||||
"feat_predictions": "Anturiennusteet",
|
||||
"feat_predictions_desc": "Ennusta laukaisupäivät anturin kulumisesta",
|
||||
"feat_seasonal": "Kausisäädöt",
|
||||
"feat_seasonal_desc": "Säädä välejä kausivaihteluiden mukaan",
|
||||
"feat_environmental": "Ympäristökorrelaatio",
|
||||
"feat_environmental_desc": "Korreloi välit lämpötilan/kosteuden kanssa",
|
||||
"feat_budget": "Budjettiseuranta",
|
||||
"feat_budget_desc": "Seuraa kuukausittaisia ja vuosittaisia huoltokuluja",
|
||||
"feat_groups": "Tehtäväryhmät",
|
||||
"feat_groups_desc": "Järjestä tehtävät loogisiin ryhmiin",
|
||||
"feat_checklists": "Tarkistuslistat",
|
||||
"feat_checklists_desc": "Monivaiheiset menettelyt tehtävän suorittamiseen",
|
||||
"settings_general": "Yleiset",
|
||||
"settings_default_warning": "Oletusvaroituspäivät",
|
||||
"settings_panel_enabled": "Sivupalkin paneeli",
|
||||
"settings_panel_title": "Sivupalkin paneelin otsikko",
|
||||
"settings_notifications": "Ilmoitukset",
|
||||
"settings_notify_service": "Ilmoituspalvelu",
|
||||
"test_notification": "Testi-ilmoitus",
|
||||
"send_test": "Lähetä testi",
|
||||
"testing": "Lähetetään…",
|
||||
"test_notification_success": "Testi-ilmoitus lähetetty",
|
||||
"test_notification_failed": "Testi-ilmoitus epäonnistui",
|
||||
"settings_notify_due_soon": "Ilmoita, kun erääntyy pian",
|
||||
"settings_notify_overdue": "Ilmoita, kun myöhässä",
|
||||
"settings_notify_triggered": "Ilmoita, kun laukaistu",
|
||||
"settings_interval_hours": "Toistoväli (tuntia, 0 = kerran)",
|
||||
"settings_quiet_hours": "Hiljaiset tunnit",
|
||||
"settings_quiet_start": "Alku",
|
||||
"settings_quiet_end": "Loppu",
|
||||
"settings_max_per_day": "Ilmoituksia enintään päivässä (0 = rajoittamaton)",
|
||||
"settings_bundling": "Niputa ilmoitukset",
|
||||
"settings_bundle_threshold": "Niputuksen kynnys",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Mobiilitoimintopainikkeet",
|
||||
"settings_action_complete": "Näytä Valmis-painike",
|
||||
"settings_action_skip": "Näytä Ohita-painike",
|
||||
"settings_action_snooze": "Näytä Torkku-painike",
|
||||
"settings_weekly_digest": "Viikkokooste",
|
||||
"settings_weekly_digest_hint": "Yksi kooste-ilmoitus maanantaiaamuna, kun tehtäviä on.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Torkun kesto (tuntia)",
|
||||
"settings_budget": "Budjetti",
|
||||
"settings_currency": "Valuutta",
|
||||
"settings_budget_monthly": "Kuukausibudjetti",
|
||||
"settings_budget_yearly": "Vuosibudjetti",
|
||||
"settings_budget_alerts": "Budjettihälytykset",
|
||||
"settings_budget_threshold": "Hälytyskynnys (%)",
|
||||
"settings_import_export": "Tuonti / Vienti",
|
||||
"settings_export_json": "Vie JSON",
|
||||
"settings_export_yaml": "Vie YAML",
|
||||
"settings_export_csv": "Vie CSV",
|
||||
"settings_import_csv": "Tuo CSV",
|
||||
"settings_import_placeholder": "Liitä JSON- tai CSV-sisältö tähän…",
|
||||
"settings_import_btn": "Tuo",
|
||||
"settings_import_success": "{count} kohdetta tuotu onnistuneesti.",
|
||||
"settings_export_success": "Vienti ladattu.",
|
||||
"settings_saved": "Asetus tallennettu.",
|
||||
"settings_include_history": "Sisällytä historia",
|
||||
"sort_alphabetical": "Aakkosjärjestys",
|
||||
"sort_due_soonest": "Erääntyy pian",
|
||||
"sort_task_count": "Tehtävien määrä",
|
||||
"sort_area": "Alue",
|
||||
"sort_assigned_user": "Määritetty käyttäjä",
|
||||
"sort_group": "Ryhmä",
|
||||
"groupby_none": "Ei ryhmittelyä",
|
||||
"groupby_area": "Alueen mukaan",
|
||||
"groupby_group": "Ryhmän mukaan",
|
||||
"groupby_user": "Käyttäjän mukaan",
|
||||
"filter_label": "Suodata",
|
||||
"user_label": "Käyttäjä",
|
||||
"sort_label": "Lajittele",
|
||||
"group_by_label": "Ryhmittele",
|
||||
"state_value_help": "Käytä HA:n tila-arvoa (yleensä pienillä kirjaimilla, esim. \"on\"/\"off\"). Kirjainkoko normalisoidaan tallennettaessa.",
|
||||
"target_changes_help": "Vastaavien siirtymien määrä ennen laukaisua (oletus: 1).",
|
||||
"qr_print_title": "Tulosta QR-koodit",
|
||||
"qr_print_desc": "Luo tulostettava sivu QR-koodeja, jotka voit leikata ja kiinnittää laitteisiin.",
|
||||
"qr_print_load": "Lataa kohteet",
|
||||
"qr_print_filter": "Suodata",
|
||||
"qr_print_objects": "Kohteet",
|
||||
"qr_print_actions": "Toiminnot",
|
||||
"qr_print_url_mode": "Linkin tyyppi",
|
||||
"qr_print_estimate": "Arvioitu QR-koodien määrä",
|
||||
"qr_print_over_limit": "raja on 200, rajaa suodatinta",
|
||||
"qr_print_generate": "Luo QR-koodit",
|
||||
"qr_print_generating": "Luodaan…",
|
||||
"qr_print_ready": "QR-koodit valmiina",
|
||||
"qr_print_print_button": "Tulosta",
|
||||
"qr_print_empty": "Ei mitään luotavaa",
|
||||
"qr_action_skip": "Ohita",
|
||||
"vacation_title": "Lomatila",
|
||||
"vacation_active": "aktiivinen",
|
||||
"vacation_ended": "päättynyt",
|
||||
"vacation_desc": "Suunnittele loma: ilmoitukset keskeytetään jakson ajaksi plus puskuripäivien ajaksi. Voit ottaa tietyt tehtävät takaisin käyttöön.",
|
||||
"vacation_enable": "Ota lomatila käyttöön",
|
||||
"vacation_start": "Alku",
|
||||
"vacation_end": "Loppu",
|
||||
"vacation_buffer": "Puskuri (päivää)",
|
||||
"vacation_exempt_title": "Ilmoita silti loman aikana",
|
||||
"vacation_exempt_desc": "Valitse tehtävät, joista ilmoitetaan silti loman aikana (esim. kriittinen altaan kemia).",
|
||||
"vacation_load_tasks": "Lataa tehtävät",
|
||||
"vacation_preview_btn": "Näytä esikatselu",
|
||||
"vacation_preview_affected": "tehtävää koskee",
|
||||
"vacation_event_due_soon": "erääntyy pian",
|
||||
"vacation_event_overdue": "menee myöhässä",
|
||||
"vacation_event_triggered_est": "anturin laukaisu mahdollinen",
|
||||
"vacation_sensor_based": "(anturiperusteinen)",
|
||||
"vacation_action_notify": "Ilmoita silti",
|
||||
"vacation_action_unsilence": "Vaimenna uudelleen",
|
||||
"vacation_marked_complete": "Merkitty valmiiksi",
|
||||
"vacation_marked_skip": "Ohitettu",
|
||||
"vacation_end_now": "Lopeta loma nyt",
|
||||
"add": "Lisää",
|
||||
"show_stats": "Näytä tilastot ja kaaviot",
|
||||
"hide_stats": "Piilota tilastot",
|
||||
"adaptive_no_data": "Ei vielä tarpeeksi suoritushistoriaa mukautuvaan analyysiin. Suorita tämä tehtävä muutaman kerran lisää avataksesi väliehdotukset ja luotettavuuskaaviot.",
|
||||
"suggestion_applied": "Ehdotettu väli otettu käyttöön",
|
||||
"vacation_mode": "Lomatila",
|
||||
"vacation_status_active": "Aktiivinen nyt",
|
||||
"vacation_status_scheduled": "Ajoitettu",
|
||||
"vacation_status_inactive": "Ei aktiivinen",
|
||||
"vacation_end_now_confirm": "Lopetetaanko loma heti?",
|
||||
"vacation_exempt_count": "poikkeusta",
|
||||
"vacation_advanced": "Lisäasetukset…",
|
||||
"vacation_open_panel": "Avaa paneelissa",
|
||||
"enable": "Ota käyttöön",
|
||||
"saved": "Tallennettu",
|
||||
"budget_monthly_set": "Aseta kuukausittain",
|
||||
"budget_yearly_set": "Aseta vuosittain",
|
||||
"budget_advanced": "Valuutta, hälytykset…",
|
||||
"budget_open_panel": "Avaa paneelissa",
|
||||
"groups_empty": "Ei vielä ryhmiä.",
|
||||
"group_new_placeholder": "Lisää ryhmä…",
|
||||
"group_delete_confirm": "Poistetaanko ryhmä \"{name}\"?",
|
||||
"groups_manage_tasks": "Hallinnoi tehtävien määrityksiä…",
|
||||
"groups_open_panel": "Avaa paneelissa",
|
||||
"unassigned": "Ei määritetty",
|
||||
"no_area": "Ei aluetta",
|
||||
"has_overdue": "Sisältää myöhässä olevia tehtäviä",
|
||||
"object": "Kohde",
|
||||
"settings_panel_access": "Paneelin käyttöoikeus",
|
||||
"settings_panel_access_desc": "Ylläpitäjillä on aina täydet oikeudet. Delegoidaksesi luonnin, muokkauksen ja poiston tietyille ei-ylläpitäjille, kytke tämä päälle ja valitse heidät alta — muut näkevät vain Valmis ja Ohita.",
|
||||
"settings_operator_write": "Salli valittujen käyttäjien luoda, muokata ja poistaa",
|
||||
"settings_operator_write_desc": "Pois: vain ylläpitäjät voivat muuttaa sisältöä. Päällä: myös alla valitut käyttäjät saavat täydet oikeudet.",
|
||||
"no_non_admin_users": "Ei-ylläpitäjäkäyttäjiä ei löytynyt. Lisää heitä kohdassa Asetukset → Henkilöt.",
|
||||
"owner_label": "Omistaja",
|
||||
"feat_completion_actions": "Suoritustoiminnot",
|
||||
"feat_completion_actions_desc": "Tehtäväkohtainen HA-toiminto suorituksen yhteydessä + pikasuoritus-QR esiasetetuilla arvoilla.",
|
||||
"on_complete_action_title": "Suorituksen yhteydessä: laukaise HA-toiminto (valinnainen)",
|
||||
"on_complete_action_desc": "Kutsuu HA-palvelua, kun tehtävä suoritetaan — esim. nollaa laitteen laskuri.",
|
||||
"on_complete_action_service": "Palvelu",
|
||||
"on_complete_action_target": "Kohde-entiteetti",
|
||||
"on_complete_action_target_hint": "Huom: entiteetin toimialueen on vastattava palvelua — esim. 'button.press' toimii vain button.*-entiteeteillä, 'counter.increment' vain counter.*-entiteeteillä, 'input_button.press' vain input_button.*-entiteeteillä jne. Epäsopivuuden sattuessa toiminto epäonnistuu hiljaisesti (HA kirjaa 'Referenced entities ... missing or not currently available').",
|
||||
"on_complete_action_data": "Tiedot (JSON, valinnainen)",
|
||||
"on_complete_action_test": "Tarkista asetukset",
|
||||
"on_complete_action_test_success": "✓ Asetukset kelvolliset (toiminto laukeaa vain tehtävän suorituksen yhteydessä)",
|
||||
"on_complete_action_test_failed": "Epäonnistui",
|
||||
"quick_complete_defaults_title": "Pikasuorituksen oletukset (QR-skannauksille, valinnainen)",
|
||||
"quick_complete_defaults_desc": "Esiasetetut arvot pikasuoritus-QR-skannauksille. Ilman näitä QR avaa suoritusikkunan.",
|
||||
"quick_complete_defaults_notes": "Muistiinpanot",
|
||||
"quick_complete_defaults_cost": "Kustannus",
|
||||
"quick_complete_defaults_duration": "Kesto (minuuttia)",
|
||||
"quick_complete_defaults_feedback_none": "Ei palautetta",
|
||||
"quick_complete_defaults_feedback_needed": "Oli tarpeen",
|
||||
"quick_complete_defaults_feedback_not_needed": "Ei tarpeen",
|
||||
"quick_complete_success": "Merkitty nopeasti valmiiksi",
|
||||
"show_all_objects": "Näytä kaikki kohteet",
|
||||
"show_all_tasks": "Tyhjennä suodatin — näytä kaikki tehtävät",
|
||||
"filter_to_overdue": "Suodata tehtävälista vain myöhässä oleviin",
|
||||
"filter_to_due_soon": "Suodata tehtävälista vain pian erääntyviin",
|
||||
"filter_to_triggered": "Suodata tehtävälista vain laukaistuihin",
|
||||
"open_task": "Avaa tehtävä",
|
||||
"show_details": "Näytä historia ja tilastot",
|
||||
"hide_details": "Piilota tiedot",
|
||||
"history_empty": "Ei vielä historiaa.",
|
||||
"history_edit_button": "Muokkaa merkintää",
|
||||
"total_cost": "Kokonaiskustannus",
|
||||
"times_performed": "Suoritettu",
|
||||
"older_entries": "vanhempaa",
|
||||
"open_in_panel": "Avaa Huolto-paneelissa",
|
||||
"skip_reason": "Ohituksen syy (valinnainen)",
|
||||
"reset_to_date": "Nollaa viimeksi suoritettu -päivä",
|
||||
"delete_task_confirm": "Poistetaanko tämä tehtävä ja sen historia?",
|
||||
"delete_object_confirm": "Poistetaanko tämä kohde ja kaikki sen tehtävät?",
|
||||
"loading": "Ladataan…",
|
||||
"archive": "Arkistoi",
|
||||
"undo": "Kumoa",
|
||||
"task_archived": "Tehtävä arkistoitu",
|
||||
"object_archived": "Kohde arkistoitu",
|
||||
"unarchive": "Palauta arkistosta",
|
||||
"archived": "Arkistoitu",
|
||||
"show_archived": "Näytä arkistoidut",
|
||||
"hide_archived": "Piilota arkistoidut",
|
||||
"confirm_archive_object": "Arkistoidaanko tämä kohde ja sen tehtävät? Historia säilyy ja sen voi palauttaa myöhemmin.",
|
||||
"settings_archive": "Arkistointi ja säilytys",
|
||||
"settings_archive_desc": "Siirrä valmiit kertatehtävät arkistoon poistamatta niitä. Arkistoidut kohteet ovat piilossa ja passiivisia, mutta säilyttävät historian ja kustannukset.",
|
||||
"settings_archive_oneoff_days": "Arkistoi valmiit kertatehtävät automaattisesti (päivää, 0 = pois)",
|
||||
"settings_delete_archived_oneoff_days": "Poista arkistoidut kertatehtävät automaattisesti (päivää, 0 = ei koskaan)",
|
||||
"archive_object": "Arkistoi kohde",
|
||||
"unarchive_object": "Palauta kohde arkistosta",
|
||||
"documents": "Asiakirjat",
|
||||
"documents_empty": "Ei vielä asiakirjoja.",
|
||||
"doc_upload": "Lataa tiedosto",
|
||||
"doc_uploading": "Ladataan…",
|
||||
"doc_add_link": "Lisää linkki",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Otsikko (valinnainen)",
|
||||
"doc_open": "Avaa",
|
||||
"doc_delete_confirm": "Poistetaanko \"{name}\"?",
|
||||
"doc_too_large": "Tiedosto on liian suuri (enint. 25 Mt).",
|
||||
"doc_upload_failed": "Lataus epäonnistui.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Jo tallennettu muualle — jaettu, ei lisätilaa.",
|
||||
"doc_dup_in_object": "Tämä tiedosto on jo liitetty tähän kohteeseen.",
|
||||
"doc_link_invalid": "Vain http/https-linkit ovat sallittuja.",
|
||||
"doc_cat_manual": "Käyttöohje",
|
||||
"doc_cat_warranty": "Takuu",
|
||||
"doc_cat_invoice": "Lasku",
|
||||
"doc_cat_spare_parts": "Varaosat",
|
||||
"doc_cat_photo": "Valokuva",
|
||||
"doc_cat_other": "Muu",
|
||||
"doc_link_badge": "Linkki",
|
||||
"doc_storage_title": "Asiakirjojen tallennustila",
|
||||
"doc_storage_saved": "Säästetty deduplikoinnilla",
|
||||
"doc_storage_refresh": "Päivitä",
|
||||
"doc_download": "Lataa",
|
||||
"doc_close": "Sulje",
|
||||
"doc_camera": "Ota kuva",
|
||||
"doc_drop_hint": "Pudota tiedostot tähän",
|
||||
"doc_task_none": "Tähän tehtävään ei ole liitetty asiakirjoja.",
|
||||
"doc_link_existing": "Liitä asiakirja…",
|
||||
"doc_attach": "Liitä",
|
||||
"doc_unlink": "Poista liitos",
|
||||
"doc_page": "Sivu",
|
||||
"chart_range_7d": "7pv",
|
||||
"chart_range_30d": "30pv",
|
||||
"chart_range_90d": "90pv",
|
||||
"chart_range_1y": "1v",
|
||||
"chart_since_service": "edellisen huollon jälkeen",
|
||||
"chart_no_stats": "Tälle entiteetille ei ole pitkän aikavälin tilastoja — näytetään vain huoltotapahtumien arvot",
|
||||
"auto_complete_on_recovery": "Suorita automaattisesti, kun anturi palautuu",
|
||||
"auto_complete_on_recovery_help": "Kirjaa suorituksen (asettaa viimeksi tehdyn), kun laukaisin poistuu itsestään — esim. suola lisätty, suodatin vaihdettu.",
|
||||
"doc_search": "Hae asiakirjoja…",
|
||||
"doc_search_none": "Ei vastaavia asiakirjoja",
|
||||
"link_device_optional": "Liitä olemassa olevaan laitteeseen (valinnainen)",
|
||||
"parent_object_optional": "Yläobjekti (valinnainen)",
|
||||
"parent_none": "(Ei yläobjektia)",
|
||||
"paused": "Keskeytetty",
|
||||
"pause_object": "Keskeytä",
|
||||
"resume_object": "Jatka",
|
||||
"pause_until_prompt": "Jäädytä tämän kohteen aikataulut — mikään ei eräänny eikä ilmoita ennen jatkamista. Aseta halutessasi automaattisen jatkamisen päivämäärä.",
|
||||
"pause_until_label": "Jatka (valinnainen)",
|
||||
"object_paused": "Kohde keskeytetty",
|
||||
"object_resumed": "Kohde jatkettu — aikataulut käynnistetty uudelleen",
|
||||
"object_paused_badge": "Keskeytetty",
|
||||
"paused_until_label": "asti",
|
||||
"replace_object": "Korvaa…",
|
||||
"replace_object_prompt": "Poista tämä kohde käytöstä ja luo seuraaja. Historia ja kustannukset pysyvät arkistoituina vanhassa; tehtävät ja asiakirjat siirtyvät uuteen, laskurit alkavat alusta.",
|
||||
"replace_name_label": "Seuraajan nimi",
|
||||
"object_replaced": "Kohde korvattu — seuraaja luotu",
|
||||
"reading_unit_label": "Lukeman yksikkö (esim. kWh, m³)",
|
||||
"reading_unit_help": "Näytetään kirjatun arvon vieressä tehtävää suoritettaessa.",
|
||||
"reading_value_label": "Lukema",
|
||||
"reading_label": "Lukema",
|
||||
"settings_templates_label": "Mallipohjagalleria",
|
||||
"settings_templates_hint": "Poista valinta mallipohjista, joita et koskaan tarvitse — ne katoavat \"Mallipohjasta\"-valitsimista (paneeli ja config flow). Mikään muu ei muutu; voi ottaa käyttöön uudelleen milloin tahansa.",
|
||||
"worksheet": "Työlomake",
|
||||
"worksheet_scan_view": "Skannaa avataksesi tehtävän",
|
||||
"worksheet_scan_complete": "Skannaa suorittaaksesi",
|
||||
"worksheet_manual_excerpt": "Ote käyttöohjeesta",
|
||||
"worksheet_pages": "sivut",
|
||||
"worksheet_printed": "Tulostettu",
|
||||
"worksheet_never": "Ei koskaan"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Maintenance",
|
||||
"objects": "Objets",
|
||||
"tasks": "Tâches",
|
||||
"overdue": "En retard",
|
||||
"due_soon": "Bientôt dû",
|
||||
"triggered": "Déclenché",
|
||||
"ok": "OK",
|
||||
"all": "Tous",
|
||||
"new_object": "+ Nouvel objet",
|
||||
"templates_from": "Depuis un modèle",
|
||||
"templates_title": "Partir d'un modèle",
|
||||
"templates_task_count": "{n} tâches",
|
||||
"template_created": "Créé depuis un modèle",
|
||||
"onboard_hint": "Ajoutez votre premier objet pour suivre l'entretien.",
|
||||
"edit": "Modifier",
|
||||
"duplicate": "Dupliquer",
|
||||
"task_duplicated": "Tâche dupliquée",
|
||||
"object_duplicated": "Objet dupliqué",
|
||||
"delete": "Supprimer",
|
||||
"add_task": "+ Tâche",
|
||||
"complete": "Terminé",
|
||||
"completed": "Terminé",
|
||||
"skip": "Passer",
|
||||
"skipped": "Ignoré",
|
||||
"missed": "Missed",
|
||||
"reset": "Réinitialiser",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Annuler",
|
||||
"bulk_select": "Sélectionner",
|
||||
"bulk_select_all": "Tout sélectionner",
|
||||
"bulk_n_selected": "{n} sélectionné(s)",
|
||||
"bulk_completed": "{n} tâches terminées",
|
||||
"bulk_archived": "{n} tâches archivées",
|
||||
"completing": "En cours…",
|
||||
"interval": "Intervalle",
|
||||
"warning": "Avertissement",
|
||||
"last_performed": "Dernière exécution",
|
||||
"next_due": "Prochaine échéance",
|
||||
"days_until_due": "Jours restants",
|
||||
"avg_duration": "Ø Durée",
|
||||
"trigger": "Déclencheur",
|
||||
"trigger_type": "Type de déclencheur",
|
||||
"threshold_above": "Limite supérieure",
|
||||
"threshold_below": "Limite inférieure",
|
||||
"threshold": "Seuil",
|
||||
"counter": "Compteur",
|
||||
"state_change": "Changement d'état",
|
||||
"runtime": "Durée de fonctionnement",
|
||||
"runtime_hours": "Durée cible (heures)",
|
||||
"target_value": "Valeur cible",
|
||||
"baseline": "Ligne de base",
|
||||
"target_changes": "Changements cibles",
|
||||
"for_minutes": "Pendant (minutes)",
|
||||
"time_based": "Temporel",
|
||||
"sensor_based": "Capteur",
|
||||
"manual": "Manuel",
|
||||
"one_time": "Unique",
|
||||
"weekdays": "Jours de semaine",
|
||||
"nth_weekday": "N-ième jour de la semaine du mois",
|
||||
"day_of_month": "Jour du mois",
|
||||
"recurrence_on_days": "Répéter le",
|
||||
"recurrence_occurrence": "Occurrence",
|
||||
"recurrence_weekday": "Jour de semaine",
|
||||
"recurrence_day": "Jour du mois (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1er",
|
||||
"ord_2": "2e",
|
||||
"ord_3": "3e",
|
||||
"ord_4": "4e",
|
||||
"ord_5": "5e",
|
||||
"ord_last": "Dernier",
|
||||
"day_word": "Jour",
|
||||
"interval_value": "Intervalle",
|
||||
"interval_unit": "Unité",
|
||||
"unit_days": "Jours",
|
||||
"unit_weeks": "Semaines",
|
||||
"unit_months": "Mois",
|
||||
"unit_years": "Années",
|
||||
"due_date": "Date d'échéance",
|
||||
"cleaning": "Nettoyage",
|
||||
"inspection": "Inspection",
|
||||
"replacement": "Remplacement",
|
||||
"calibration": "Étalonnage",
|
||||
"service": "Service",
|
||||
"reading": "Relevé",
|
||||
"custom": "Personnalisé",
|
||||
"history": "Historique",
|
||||
"cost": "Coût",
|
||||
"report_button": "Rapport",
|
||||
"report_title": "Rapport d'entretien",
|
||||
"report_generated": "Généré",
|
||||
"report_times_done": "Effectué",
|
||||
"report_total_cost": "Coût total",
|
||||
"report_every": "tous les {n} {unit}",
|
||||
"report_notes": "Notes",
|
||||
"report_col_type": "Type",
|
||||
"report_col_status": "Statut",
|
||||
"report_col_schedule": "Planning",
|
||||
"duration": "Durée",
|
||||
"both": "Les deux",
|
||||
"trigger_val": "Valeur du déclencheur",
|
||||
"complete_title": "Terminé : ",
|
||||
"checklist": "Checklist",
|
||||
"checklist_steps_optional": "Étapes de la checklist (optionnel)",
|
||||
"checklist_placeholder": "Nettoyer le filtre\nRemplacer le joint\nTester la pression",
|
||||
"checklist_help": "Une étape par ligne. Max 100 éléments.",
|
||||
"err_too_long": "{field} : trop long (max {n} caractères)",
|
||||
"err_too_short": "{field} : trop court (min {n} caractères)",
|
||||
"err_value_too_high": "{field} : trop grand (max {n})",
|
||||
"err_value_too_low": "{field} : trop petit (min {n})",
|
||||
"err_required": "{field} : champ obligatoire",
|
||||
"err_wrong_type": "{field} : mauvais type (attendu : {type})",
|
||||
"err_invalid_choice": "{field} : valeur non autorisée",
|
||||
"err_invalid_value": "{field} : valeur invalide",
|
||||
"feat_schedule_time": "Planification à l'heure",
|
||||
"feat_schedule_time_desc": "Les tâches arrivent à échéance à une heure précise plutôt qu'à minuit.",
|
||||
"schedule_time_optional": "Échéance à l'heure (optionnel, HH:MM)",
|
||||
"schedule_time_help": "Vide = minuit (défaut). Fuseau horaire HA.",
|
||||
"at_time": "à",
|
||||
"notes_optional": "Notes (optionnel)",
|
||||
"cost_optional": "Coût (optionnel)",
|
||||
"duration_minutes": "Durée en minutes (optionnel)",
|
||||
"days": "jours",
|
||||
"day": "jour",
|
||||
"today": "Aujourd'hui",
|
||||
"d_overdue": "j en retard",
|
||||
"no_tasks": "Aucune tâche de maintenance. Créez un objet pour commencer.",
|
||||
"no_tasks_short": "Aucune tâche",
|
||||
"no_history": "Aucun historique.",
|
||||
"show_all": "Tout afficher",
|
||||
"cost_duration_chart": "Coûts & Durée",
|
||||
"installed": "Installé",
|
||||
"confirm_delete_object": "Supprimer cet objet et toutes ses tâches ?",
|
||||
"confirm_delete_task": "Supprimer cette tâche ?",
|
||||
"min": "Min",
|
||||
"max": "Max",
|
||||
"save": "Enregistrer",
|
||||
"saving": "Enregistrement…",
|
||||
"edit_task": "Modifier la tâche",
|
||||
"new_task": "Nouvelle tâche de maintenance",
|
||||
"task_name": "Nom de la tâche",
|
||||
"maintenance_type": "Type de maintenance",
|
||||
"priority": "Priorité",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Basse",
|
||||
"priority_normal": "Normale",
|
||||
"priority_high": "Haute",
|
||||
"schedule_type": "Type de planification",
|
||||
"interval_days": "Intervalle (jours)",
|
||||
"warning_days": "Jours d'avertissement",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "Dernière exécution (optionnel)",
|
||||
"interval_anchor": "Ancrage de l'intervalle",
|
||||
"anchor_completion": "Depuis la date de réalisation",
|
||||
"anchor_planned": "Depuis la date prévue (sans dérive)",
|
||||
"edit_object": "Modifier l'objet",
|
||||
"name": "Nom",
|
||||
"manufacturer_optional": "Fabricant (optionnel)",
|
||||
"model_optional": "Modèle (optionnel)",
|
||||
"serial_number_optional": "Numéro de série (optionnel)",
|
||||
"serial_number_label": "N/S",
|
||||
"documentation_url_label": "Manuel",
|
||||
"object_notes_label": "Notes",
|
||||
"sort_due_date": "Échéance",
|
||||
"sort_object": "Nom de l'objet",
|
||||
"sort_type": "Type",
|
||||
"sort_task_name": "Nom de la tâche",
|
||||
"all_objects": "Tous les objets",
|
||||
"tasks_lower": "tâches",
|
||||
"no_tasks_yet": "Pas encore de tâches",
|
||||
"add_first_task": "Ajouter la première tâche",
|
||||
"trigger_configuration": "Configuration du déclencheur",
|
||||
"entity_id": "ID d'entité",
|
||||
"comma_separated": "séparé par des virgules",
|
||||
"entity_logic": "Logique d'entité",
|
||||
"entity_logic_any": "N'importe quelle entité déclenche",
|
||||
"entity_logic_all": "Toutes les entités doivent déclencher",
|
||||
"entities": "entités",
|
||||
"attribute_optional": "Attribut (optionnel, vide = état)",
|
||||
"use_entity_state": "Utiliser l'état de l'entité (pas d'attribut)",
|
||||
"trigger_above": "Déclencher au-dessus de",
|
||||
"trigger_below": "Déclencher en dessous de",
|
||||
"for_at_least_minutes": "Pendant au moins (minutes)",
|
||||
"safety_interval_days": "Intervalle de sécurité (jours, optionnel)",
|
||||
"safety_interval": "Intervalle de sécurité (optionnel)",
|
||||
"delta_mode": "Mode delta",
|
||||
"from_state_optional": "État source (optionnel)",
|
||||
"to_state_optional": "État cible (optionnel)",
|
||||
"documentation_url_optional": "URL de documentation (optionnel)",
|
||||
"object_notes_optional": "Notes (facultatif)",
|
||||
"nfc_tag_id_optional": "ID tag NFC (optionnel)",
|
||||
"nfc_tags_empty_help": "Aucun tag NFC enregistré dans Home Assistant pour le moment.",
|
||||
"nfc_tags_open_settings": "Ouvrir les réglages des tags",
|
||||
"nfc_tags_refresh": "Actualiser",
|
||||
"environmental_entity_optional": "Capteur d'environnement (optionnel)",
|
||||
"environmental_entity_helper": "ex. sensor.temperature_exterieure — ajuste l'intervalle selon les conditions environnementales",
|
||||
"environmental_attribute_optional": "Attribut d'environnement (optionnel)",
|
||||
"nfc_tag_id": "ID tag NFC",
|
||||
"nfc_linked": "Tag NFC lié",
|
||||
"nfc_link_hint": "Cliquer pour associer un tag NFC",
|
||||
"responsible_user": "Utilisateur responsable",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(Aucun utilisateur assigné)",
|
||||
"all_users": "Tous les utilisateurs",
|
||||
"my_tasks": "Mes tâches",
|
||||
"tab_calendar": "Calendrier",
|
||||
"cal_no_events": "Aucun entretien",
|
||||
"cal_window_7": "7 jours",
|
||||
"cal_window_14": "14 jours",
|
||||
"cal_window_30": "30 jours",
|
||||
"cal_window_365": "1 an",
|
||||
"cal_every_n_days": "tous les {n} jours",
|
||||
"cal_source_time": "Basé sur le temps",
|
||||
"cal_source_time_adaptive": "Basé sur le temps (adaptatif)",
|
||||
"cal_source_sensor": "Basé sur capteur",
|
||||
"cal_predicted": "prédit",
|
||||
"cal_confidence_high": "haute confiance",
|
||||
"cal_confidence_medium": "confiance moyenne",
|
||||
"cal_confidence_low": "faible confiance",
|
||||
"budget_monthly": "Budget mensuel",
|
||||
"budget_yearly": "Budget annuel",
|
||||
"groups": "Groupes",
|
||||
"new_group": "Nouveau groupe",
|
||||
"edit_group": "Modifier le groupe",
|
||||
"no_groups": "Aucun groupe pour l'instant",
|
||||
"delete_group": "Supprimer le groupe",
|
||||
"delete_group_confirm": "Supprimer le groupe '{name}' ?",
|
||||
"group_select_tasks": "Sélectionner les tâches",
|
||||
"group_name_required": "Nom requis",
|
||||
"description_optional": "Description (optionnel)",
|
||||
"selected": "Sélectionné",
|
||||
"loading_chart": "Chargement des données...",
|
||||
"hide_outliers": "Masquer les valeurs aberrantes (erreurs capteur)",
|
||||
"was_maintenance_needed": "Cette maintenance était-elle nécessaire ?",
|
||||
"feedback_needed": "Nécessaire",
|
||||
"feedback_not_needed": "Pas nécessaire",
|
||||
"feedback_not_sure": "Pas sûr",
|
||||
"suggested_interval": "Intervalle suggéré",
|
||||
"apply_suggestion": "Appliquer",
|
||||
"reanalyze": "Réanalyser",
|
||||
"reanalyze_result": "Nouvelle analyse",
|
||||
"reanalyze_insufficient_data": "Données insuffisantes pour une recommandation",
|
||||
"data_points": "points de données",
|
||||
"dismiss_suggestion": "Ignorer",
|
||||
"confidence_low": "Faible",
|
||||
"confidence_medium": "Moyen",
|
||||
"confidence_high": "Élevé",
|
||||
"recommended": "recommandé",
|
||||
"seasonal_awareness": "Conscience saisonnière",
|
||||
"edit_seasonal_overrides": "Modifier les facteurs saisonniers",
|
||||
"seasonal_overrides_title": "Facteurs saisonniers (override)",
|
||||
"seasonal_overrides_hint": "Facteur par mois (0.1–5.0). Vide = appris automatiquement.",
|
||||
"seasonal_override_invalid": "Valeur invalide",
|
||||
"seasonal_override_range": "Le facteur doit être entre 0.1 et 5.0",
|
||||
"clear_all": "Tout effacer",
|
||||
"seasonal_chart_title": "Facteurs saisonniers",
|
||||
"seasonal_learned": "Appris",
|
||||
"seasonal_manual": "Manuel",
|
||||
"month_jan": "Jan",
|
||||
"month_feb": "Fév",
|
||||
"month_mar": "Mar",
|
||||
"month_apr": "Avr",
|
||||
"month_may": "Mai",
|
||||
"month_jun": "Juin",
|
||||
"month_jul": "Juil",
|
||||
"month_aug": "Août",
|
||||
"month_sep": "Sep",
|
||||
"month_oct": "Oct",
|
||||
"month_nov": "Nov",
|
||||
"month_dec": "Déc",
|
||||
"sensor_prediction": "Prédiction capteur",
|
||||
"degradation_trend": "Tendance",
|
||||
"trend_rising": "En hausse",
|
||||
"trend_falling": "En baisse",
|
||||
"trend_stable": "Stable",
|
||||
"trend_insufficient_data": "Données insuffisantes",
|
||||
"days_until_threshold": "Jours avant le seuil",
|
||||
"threshold_exceeded": "Seuil dépassé",
|
||||
"environmental_adjustment": "Facteur environnemental",
|
||||
"sensor_prediction_urgency": "Le capteur prévoit le seuil dans ~{days} jours",
|
||||
"day_short": "jour",
|
||||
"weibull_reliability_curve": "Courbe de fiabilité",
|
||||
"weibull_failure_probability": "Probabilité de défaillance",
|
||||
"weibull_r_squared": "Ajustement R²",
|
||||
"beta_early_failures": "Défaillances précoces",
|
||||
"beta_random_failures": "Défaillances aléatoires",
|
||||
"beta_wear_out": "Usure",
|
||||
"beta_highly_predictable": "Très prévisible",
|
||||
"confidence_interval": "Intervalle de confiance",
|
||||
"confidence_conservative": "Conservateur",
|
||||
"confidence_aggressive": "Optimiste",
|
||||
"current_interval_marker": "Intervalle actuel",
|
||||
"recommended_marker": "Recommandé",
|
||||
"characteristic_life": "Durée de vie caractéristique",
|
||||
"chart_mini_sparkline": "Sparkline de tendance",
|
||||
"chart_history": "Historique coûts et durée",
|
||||
"chart_seasonal": "Facteurs saisonniers, 12 mois",
|
||||
"chart_weibull": "Courbe de fiabilité Weibull",
|
||||
"chart_sparkline": "Graphique valeur déclencheur",
|
||||
"days_progress": "Progression en jours",
|
||||
"qr_code": "QR Code",
|
||||
"qr_generating": "Génération du QR code…",
|
||||
"qr_error": "Impossible de générer le QR code.",
|
||||
"qr_error_no_url": "Aucune URL HA configurée. Veuillez définir une URL externe ou interne dans Paramètres → Système → Réseau.",
|
||||
"save_error": "Échec de l'enregistrement. Veuillez réessayer.",
|
||||
"qr_print": "Imprimer",
|
||||
"qr_download": "Télécharger SVG",
|
||||
"qr_action": "Action au scan",
|
||||
"qr_action_view": "Afficher les infos de maintenance",
|
||||
"qr_action_complete": "Marquer la maintenance comme terminée",
|
||||
"qr_url_mode": "Type de lien",
|
||||
"qr_mode_companion": "Companion App",
|
||||
"qr_mode_local": "Local (mDNS)",
|
||||
"qr_mode_server": "URL serveur",
|
||||
"overview": "Aperçu",
|
||||
"analysis": "Analyse",
|
||||
"recent_activities": "Activités récentes",
|
||||
"search_notes": "Rechercher dans les notes",
|
||||
"avg_cost": "Ø Coût",
|
||||
"no_advanced_features": "Aucune fonction avancée activée",
|
||||
"no_advanced_features_hint": "Activez « Intervalles adaptatifs » ou « Tendances saisonnières » dans les paramètres de l'intégration pour voir les données d'analyse ici.",
|
||||
"analysis_not_enough_data": "Pas encore assez de données pour l'analyse.",
|
||||
"analysis_not_enough_data_hint": "L'analyse Weibull nécessite au moins 5 maintenances terminées ; les tendances saisonnières apparaissent après 6+ points par mois.",
|
||||
"analysis_manual_task_hint": "Les tâches manuelles sans intervalle ne génèrent pas de données d'analyse.",
|
||||
"completions": "réalisations",
|
||||
"current": "Actuel",
|
||||
"shorter": "Plus court",
|
||||
"longer": "Plus long",
|
||||
"normal": "Normal",
|
||||
"disabled": "Désactivé",
|
||||
"compound_logic": "Logique composée",
|
||||
"compound": "Composé (plusieurs conditions)",
|
||||
"compound_logic_and": "ET — toutes les conditions doivent se déclencher",
|
||||
"compound_logic_or": "OU — une seule condition suffit",
|
||||
"compound_help": "Combinez plusieurs conditions de capteurs en un déclencheur.",
|
||||
"compound_no_conditions": "Aucune condition — ajoutez-en au moins une.",
|
||||
"compound_add_condition": "Ajouter une condition",
|
||||
"compound_condition": "Condition",
|
||||
"compound_remove_condition": "Supprimer la condition",
|
||||
"card_title": "Titre",
|
||||
"card_show_header": "Afficher l'en-tête avec statistiques",
|
||||
"card_show_actions": "Afficher les boutons d'action",
|
||||
"card_compact": "Mode compact",
|
||||
"card_max_items": "Nombre max (0 = tous)",
|
||||
"card_filter_status": "Filtrer par statut",
|
||||
"card_filter_status_help": "Vide = afficher tous les statuts.",
|
||||
"card_filter_objects": "Filtrer par objets",
|
||||
"card_filter_objects_help": "Vide = afficher tous les objets.",
|
||||
"card_filter_entities": "Filtrer par entités (entity_ids)",
|
||||
"card_filter_entities_help": "Choisissez des entités sensor / binary_sensor de cette intégration. Vide = toutes.",
|
||||
"card_loading_objects": "Chargement des objets…",
|
||||
"card_load_error": "Impossible de charger les objets — vérifiez la connexion WebSocket.",
|
||||
"card_no_tasks_title": "Aucune tâche de maintenance pour l'instant",
|
||||
"card_no_tasks_cta": "→ Créez-en une dans le panneau Maintenance",
|
||||
"no_objects": "Aucun objet pour l'instant.",
|
||||
"action_error": "Action échouée. Veuillez réessayer.",
|
||||
"area_id_optional": "Zone (optionnel)",
|
||||
"installation_date_optional": "Date d'installation (optionnel)",
|
||||
"warranty_expiry_optional": "Fin de garantie (optionnel)",
|
||||
"warranty": "Garantie",
|
||||
"warranty_valid_until": "valable jusqu'au {date}",
|
||||
"warranty_expires_in": "expire dans {days} jours",
|
||||
"warranty_expired": "expirée",
|
||||
"cal_past_windows": "Fenêtres passées",
|
||||
"cal_forward_windows": "Fenêtres à venir",
|
||||
"history_edit_title": "Modifier l'entrée d'historique",
|
||||
"history_edit_timestamp": "Horodatage",
|
||||
"manufacturer": "Fabricant",
|
||||
"model": "Modèle",
|
||||
"area": "Zone",
|
||||
"actions": "Actions",
|
||||
"view_mode_label": "Vue",
|
||||
"view_cards": "Vue cartes",
|
||||
"view_table": "Vue tableau",
|
||||
"objects_table_columns_label": "Colonnes du tableau d'objets",
|
||||
"objects_table_columns_hint": "Choisissez les colonnes affichées dans la vue tableau des objets.",
|
||||
"custom_icon_optional": "Icône (optionnel, ex. mdi:wrench)",
|
||||
"task_enabled": "Tâche activée",
|
||||
"skip_reason_prompt": "Ignorer cette tâche ?",
|
||||
"reason_optional": "Raison (optionnel)",
|
||||
"reset_date_prompt": "Marquer la tâche comme effectuée ?",
|
||||
"reset_date_optional": "Date de dernière exécution (optionnel, défaut : aujourd'hui)",
|
||||
"notes_label": "Notes",
|
||||
"documentation_label": "Documentation",
|
||||
"no_nfc_tag": "— Aucun tag —",
|
||||
"dashboard": "Tableau de bord",
|
||||
"tab_today": "Aujourd'hui",
|
||||
"palette_placeholder": "Rechercher objets et tâches…",
|
||||
"palette_no_results": "Aucun résultat",
|
||||
"palette_hint": "↑↓ naviguer · Entrée ouvrir · Échap fermer",
|
||||
"today_all_caught_up": "Tout est à jour ! Rien cette semaine.",
|
||||
"today_overdue": "En retard",
|
||||
"today_due_today": "À faire aujourd'hui",
|
||||
"today_this_week": "Cette semaine",
|
||||
"settings": "Paramètres",
|
||||
"settings_features": "Fonctions avancées",
|
||||
"settings_features_desc": "Activez ou désactivez les fonctions avancées. La désactivation les masque dans l'interface mais ne supprime pas les données.",
|
||||
"feat_adaptive": "Planification adaptative",
|
||||
"feat_adaptive_desc": "Apprendre les intervalles optimaux à partir de l'historique",
|
||||
"feat_predictions": "Prédictions capteurs",
|
||||
"feat_predictions_desc": "Prédire les dates de déclenchement par dégradation des capteurs",
|
||||
"feat_seasonal": "Ajustements saisonniers",
|
||||
"feat_seasonal_desc": "Ajuster les intervalles selon les tendances saisonnières",
|
||||
"feat_environmental": "Corrélation environnementale",
|
||||
"feat_environmental_desc": "Corréler les intervalles avec la température/humidité",
|
||||
"feat_budget": "Suivi budgétaire",
|
||||
"feat_budget_desc": "Suivre les dépenses de maintenance mensuelles et annuelles",
|
||||
"feat_groups": "Groupes de tâches",
|
||||
"feat_groups_desc": "Organiser les tâches en groupes logiques",
|
||||
"feat_checklists": "Checklists",
|
||||
"feat_checklists_desc": "Procédures multi-étapes pour la réalisation des tâches",
|
||||
"settings_general": "Général",
|
||||
"settings_default_warning": "Jours d'avertissement par défaut",
|
||||
"settings_panel_enabled": "Panneau latéral",
|
||||
"settings_panel_title": "Titre du panneau latéral",
|
||||
"settings_notifications": "Notifications",
|
||||
"settings_notify_service": "Service de notification",
|
||||
"test_notification": "Notification de test",
|
||||
"send_test": "Envoyer le test",
|
||||
"testing": "Envoi en cours…",
|
||||
"test_notification_success": "Notification de test envoyée",
|
||||
"test_notification_failed": "Échec de la notification de test",
|
||||
"settings_notify_due_soon": "Notifier quand bientôt dû",
|
||||
"settings_notify_overdue": "Notifier quand en retard",
|
||||
"settings_notify_triggered": "Notifier quand déclenché",
|
||||
"settings_interval_hours": "Intervalle de répétition (heures, 0 = une fois)",
|
||||
"settings_quiet_hours": "Heures de silence",
|
||||
"settings_quiet_start": "Début",
|
||||
"settings_quiet_end": "Fin",
|
||||
"settings_max_per_day": "Max notifications par jour (0 = illimité)",
|
||||
"settings_bundling": "Regrouper les notifications",
|
||||
"settings_bundle_threshold": "Seuil de regroupement",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Boutons d'action mobiles",
|
||||
"settings_action_complete": "Afficher le bouton 'Terminé'",
|
||||
"settings_action_skip": "Afficher le bouton 'Passer'",
|
||||
"settings_action_snooze": "Afficher le bouton 'Reporter'",
|
||||
"settings_weekly_digest": "Récapitulatif hebdomadaire",
|
||||
"settings_weekly_digest_hint": "Une notification récapitulative le lundi matin quand des tâches sont dues.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Durée de report (heures)",
|
||||
"settings_budget": "Budget",
|
||||
"settings_currency": "Devise",
|
||||
"settings_budget_monthly": "Budget mensuel",
|
||||
"settings_budget_yearly": "Budget annuel",
|
||||
"settings_budget_alerts": "Alertes budgétaires",
|
||||
"settings_budget_threshold": "Seuil d'alerte (%)",
|
||||
"settings_import_export": "Import / Export",
|
||||
"settings_export_json": "Exporter JSON",
|
||||
"settings_export_yaml": "Exporter YAML",
|
||||
"settings_export_csv": "Exporter CSV",
|
||||
"settings_import_csv": "Importer CSV",
|
||||
"settings_import_placeholder": "Collez le contenu JSON ou CSV ici…",
|
||||
"settings_import_btn": "Importer",
|
||||
"settings_import_success": "{count} objets importés avec succès.",
|
||||
"settings_export_success": "Export téléchargé.",
|
||||
"settings_saved": "Paramètre enregistré.",
|
||||
"settings_include_history": "Inclure l'historique",
|
||||
"sort_alphabetical": "Alphabétique",
|
||||
"sort_due_soonest": "Échéance la plus proche",
|
||||
"sort_task_count": "Nombre de tâches",
|
||||
"sort_area": "Zone",
|
||||
"sort_assigned_user": "Utilisateur affecté",
|
||||
"sort_group": "Groupe",
|
||||
"groupby_none": "Aucun groupement",
|
||||
"groupby_area": "Par zone",
|
||||
"groupby_group": "Par groupe",
|
||||
"groupby_user": "Par utilisateur",
|
||||
"filter_label": "Filtre",
|
||||
"user_label": "Utilisateur",
|
||||
"sort_label": "Tri",
|
||||
"group_by_label": "Grouper par",
|
||||
"state_value_help": "Utilisez la valeur d'état HA (généralement en minuscules, p. ex. \"on\"/\"off\"). La casse est normalisée à l'enregistrement.",
|
||||
"target_changes_help": "Nombre de transitions correspondantes avant le déclenchement (par défaut : 1).",
|
||||
"qr_print_title": "Imprimer les QR codes",
|
||||
"qr_print_desc": "Générer une page imprimable de QR codes à découper et coller sur votre équipement.",
|
||||
"qr_print_load": "Charger les objets",
|
||||
"qr_print_filter": "Filtre",
|
||||
"qr_print_objects": "Objets",
|
||||
"qr_print_actions": "Actions",
|
||||
"qr_print_url_mode": "Type de lien",
|
||||
"qr_print_estimate": "QR codes estimés",
|
||||
"qr_print_over_limit": "limite à 200, affinez le filtre",
|
||||
"qr_print_generate": "Générer les QR codes",
|
||||
"qr_print_generating": "Génération…",
|
||||
"qr_print_ready": "QR codes prêts",
|
||||
"qr_print_print_button": "Imprimer",
|
||||
"qr_print_empty": "Rien à générer",
|
||||
"qr_action_skip": "Passer",
|
||||
"vacation_title": "Mode vacances",
|
||||
"vacation_active": "actif",
|
||||
"vacation_ended": "terminé",
|
||||
"vacation_desc": "Planifiez vos vacances : les notifications sont mises en pause pendant la période plus quelques jours tampon. Vous pouvez réactiver certaines tâches.",
|
||||
"vacation_enable": "Activer le mode vacances",
|
||||
"vacation_start": "Début",
|
||||
"vacation_end": "Fin",
|
||||
"vacation_buffer": "Tampon (jours)",
|
||||
"vacation_exempt_title": "Notifier malgré les vacances",
|
||||
"vacation_exempt_desc": "Choisissez les tâches qui doivent quand même notifier pendant les vacances (p. ex. chimie de piscine critique).",
|
||||
"vacation_load_tasks": "Charger les tâches",
|
||||
"vacation_preview_btn": "Afficher l'aperçu",
|
||||
"vacation_preview_affected": "tâches concernées",
|
||||
"vacation_event_due_soon": "bientôt dû",
|
||||
"vacation_event_overdue": "deviendra en retard",
|
||||
"vacation_event_triggered_est": "déclencheur capteur possible",
|
||||
"vacation_sensor_based": "(basé sur capteur)",
|
||||
"vacation_action_notify": "Notifier quand même",
|
||||
"vacation_action_unsilence": "Mettre en silence",
|
||||
"vacation_marked_complete": "Marqué comme terminé",
|
||||
"vacation_marked_skip": "Passé",
|
||||
"vacation_end_now": "Terminer les vacances maintenant",
|
||||
"unassigned": "Non assigné",
|
||||
"no_area": "Aucune zone",
|
||||
"has_overdue": "Tâches en retard",
|
||||
"object": "Objet",
|
||||
"settings_panel_access": "Accès au panneau",
|
||||
"settings_panel_access_desc": "Les administrateurs ont toujours un accès complet. Pour déléguer la création, la modification et la suppression à des non-administrateurs spécifiques, activez ceci et sélectionnez-les ci-dessous — les autres ne voient que Terminer et Ignorer.",
|
||||
"settings_operator_write": "Autoriser les utilisateurs sélectionnés à créer, modifier et supprimer",
|
||||
"settings_operator_write_desc": "Désactivé : seuls les administrateurs peuvent modifier le contenu. Activé : les utilisateurs ci-dessous ont aussi un accès complet.",
|
||||
"no_non_admin_users": "Aucun utilisateur non administrateur trouvé. Ajoutez-en dans Paramètres → Personnes.",
|
||||
"owner_label": "Propriétaire",
|
||||
"feat_completion_actions": "Actions de finalisation",
|
||||
"feat_completion_actions_desc": "Action HA par tâche lors de la finalisation + QR de finalisation rapide avec valeurs pré-définies.",
|
||||
"on_complete_action_title": "À la finalisation : déclencher une action HA (optionnel)",
|
||||
"on_complete_action_desc": "Appelle un service HA quand la tâche est terminée — p. ex. réinitialiser un compteur sur l'appareil.",
|
||||
"on_complete_action_service": "Service",
|
||||
"on_complete_action_target": "Entité cible",
|
||||
"on_complete_action_data": "Données (JSON, optionnel)",
|
||||
"on_complete_action_test": "Tester l'action",
|
||||
"on_complete_action_test_success": "Réussi",
|
||||
"on_complete_action_test_failed": "Échoué",
|
||||
"quick_complete_defaults_title": "Valeurs par défaut pour finalisation rapide (scans QR, optionnel)",
|
||||
"quick_complete_defaults_desc": "Valeurs pré-définies pour les scans QR de finalisation rapide. Sans ces valeurs, le QR ouvre la boîte de dialogue.",
|
||||
"quick_complete_defaults_notes": "Notes",
|
||||
"quick_complete_defaults_cost": "Coût",
|
||||
"quick_complete_defaults_duration": "Durée (minutes)",
|
||||
"quick_complete_defaults_feedback_none": "Aucun feedback",
|
||||
"quick_complete_defaults_feedback_needed": "Était nécessaire",
|
||||
"quick_complete_defaults_feedback_not_needed": "Non nécessaire",
|
||||
"quick_complete_success": "Terminé rapidement",
|
||||
"trigger_replaced": "Déclencheur remplacé",
|
||||
"add": "Ajouter",
|
||||
"show_stats": "Afficher les statistiques + graphiques",
|
||||
"hide_stats": "Masquer les statistiques",
|
||||
"adaptive_no_data": "Pas encore assez d'historique de réalisations pour l'analyse adaptative. Réalisez cette tâche encore quelques fois pour débloquer les recommandations d'intervalle et les courbes de fiabilité.",
|
||||
"suggestion_applied": "Intervalle suggéré appliqué",
|
||||
"vacation_mode": "Mode vacances",
|
||||
"vacation_status_active": "Actif maintenant",
|
||||
"vacation_status_scheduled": "Planifié",
|
||||
"vacation_status_inactive": "Inactif",
|
||||
"vacation_end_now_confirm": "Terminer les vacances immédiatement ?",
|
||||
"vacation_exempt_count": "exemptées",
|
||||
"vacation_advanced": "Avancé…",
|
||||
"vacation_open_panel": "Ouvrir dans le panneau",
|
||||
"enable": "Activer",
|
||||
"saved": "Enregistré",
|
||||
"budget_monthly_set": "Définir mensuel",
|
||||
"budget_yearly_set": "Définir annuel",
|
||||
"budget_advanced": "Devise, alertes…",
|
||||
"budget_open_panel": "Ouvrir dans le panneau",
|
||||
"groups_empty": "Aucun groupe pour le moment.",
|
||||
"group_new_placeholder": "Ajouter un groupe…",
|
||||
"group_delete_confirm": "Supprimer le groupe « {name} » ?",
|
||||
"groups_manage_tasks": "Gérer les affectations de tâches…",
|
||||
"groups_open_panel": "Ouvrir dans le panneau",
|
||||
"on_complete_action_target_hint": "Note : le domaine de l'entité doit correspondre au service — p. ex. 'button.press' ne fonctionne que sur button.*, 'counter.increment' seulement sur counter.*, 'input_button.press' seulement sur input_button.* etc. En cas de non-correspondance, l'action échoue silencieusement (HA journalise 'Referenced entities ... missing or not currently available').",
|
||||
"show_all_objects": "Afficher tous les objets",
|
||||
"show_all_tasks": "Effacer le filtre — afficher toutes les tâches",
|
||||
"filter_to_overdue": "Filtrer la liste sur les tâches en retard uniquement",
|
||||
"filter_to_due_soon": "Filtrer la liste sur les tâches bientôt dues uniquement",
|
||||
"filter_to_triggered": "Filtrer la liste sur les tâches déclenchées uniquement",
|
||||
"open_task": "Ouvrir la tâche",
|
||||
"show_details": "Afficher l'historique + statistiques",
|
||||
"hide_details": "Masquer les détails",
|
||||
"history_empty": "Aucun historique pour le moment.",
|
||||
"history_edit_button": "Modifier l'entrée",
|
||||
"total_cost": "Coût total",
|
||||
"times_performed": "Réalisée",
|
||||
"older_entries": "plus anciennes",
|
||||
"open_in_panel": "Ouvrir dans le panneau Maintenance",
|
||||
"skip_reason": "Raison du saut (facultatif)",
|
||||
"reset_to_date": "Réinitialiser la dernière réalisation au",
|
||||
"delete_task_confirm": "Supprimer cette tâche et son historique ?",
|
||||
"delete_object_confirm": "Supprimer cet objet et toutes ses tâches ?",
|
||||
"loading": "Chargement…",
|
||||
"archive": "Archiver",
|
||||
"undo": "Annuler",
|
||||
"task_archived": "Tâche archivée",
|
||||
"object_archived": "Objet archivé",
|
||||
"unarchive": "Désarchiver",
|
||||
"archived": "Archivé",
|
||||
"show_archived": "Afficher les archivés",
|
||||
"hide_archived": "Masquer les archivés",
|
||||
"confirm_archive_object": "Archiver cet objet et ses tâches ? L'historique est conservé et peut être restauré plus tard.",
|
||||
"settings_archive": "Archivage et conservation",
|
||||
"settings_archive_desc": "Mettez de côté les tâches ponctuelles terminées sans les supprimer. Les éléments archivés sont masqués et inactifs, mais conservent leur historique et leurs coûts.",
|
||||
"settings_archive_oneoff_days": "Archiver automatiquement les tâches ponctuelles terminées après (jours, 0 = désactivé)",
|
||||
"settings_delete_archived_oneoff_days": "Supprimer automatiquement les tâches ponctuelles archivées après (jours, 0 = jamais)",
|
||||
"archive_object": "Archiver l'objet",
|
||||
"unarchive_object": "Désarchiver l'objet",
|
||||
"documents": "Documents",
|
||||
"documents_empty": "Aucun document pour l'instant.",
|
||||
"doc_upload": "Téléverser un fichier",
|
||||
"doc_uploading": "Téléversement…",
|
||||
"doc_add_link": "Ajouter un lien",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Titre (facultatif)",
|
||||
"doc_open": "Ouvrir",
|
||||
"doc_delete_confirm": "Supprimer « {name} » ?",
|
||||
"doc_too_large": "Fichier trop volumineux (max. 25 Mo).",
|
||||
"doc_upload_failed": "Échec du téléversement.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Déjà stocké ailleurs — partagé, aucun espace supplémentaire.",
|
||||
"doc_dup_in_object": "Ce fichier est déjà attaché à cet objet.",
|
||||
"doc_link_invalid": "Seuls les liens http/https sont autorisés.",
|
||||
"doc_cat_manual": "Manuel",
|
||||
"doc_cat_warranty": "Garantie",
|
||||
"doc_cat_invoice": "Facture",
|
||||
"doc_cat_spare_parts": "Pièces détachées",
|
||||
"doc_cat_photo": "Photo",
|
||||
"doc_cat_other": "Autre",
|
||||
"doc_link_badge": "Lien",
|
||||
"doc_storage_title": "Stockage des documents",
|
||||
"doc_storage_saved": "Économisé par déduplication",
|
||||
"doc_storage_refresh": "Actualiser",
|
||||
"doc_download": "Télécharger",
|
||||
"doc_close": "Fermer",
|
||||
"doc_camera": "Prendre une photo",
|
||||
"doc_drop_hint": "Déposez les fichiers ici",
|
||||
"doc_task_none": "Aucun document lié à cette tâche.",
|
||||
"doc_link_existing": "Lier un document…",
|
||||
"doc_attach": "Lier",
|
||||
"doc_unlink": "Dissocier",
|
||||
"doc_page": "Page",
|
||||
"chart_range_7d": "7j",
|
||||
"chart_range_30d": "30j",
|
||||
"chart_range_90d": "90j",
|
||||
"chart_range_1y": "1a",
|
||||
"chart_since_service": "depuis le dernier entretien",
|
||||
"chart_no_stats": "Pas de statistiques à long terme pour cette entité — seules les valeurs des entretiens sont affichées",
|
||||
"auto_complete_on_recovery": "Terminer automatiquement quand le capteur se rétablit",
|
||||
"auto_complete_on_recovery_help": "Enregistre une exécution (met à jour la dernière réalisation) lorsque le déclencheur se résout de lui-même — p. ex. sel rechargé, filtre remplacé.",
|
||||
"doc_search": "Rechercher des documents…",
|
||||
"doc_search_none": "Aucun document correspondant",
|
||||
"link_device_optional": "Lier à un appareil existant (optionnel)",
|
||||
"parent_object_optional": "Objet parent (optionnel)",
|
||||
"parent_none": "(Aucun parent)",
|
||||
"paused": "En pause",
|
||||
"pause_object": "Mettre en pause",
|
||||
"resume_object": "Reprendre",
|
||||
"pause_until_prompt": "Gèle les calendriers de cet objet — rien n'arrive à échéance et rien ne notifie jusqu'à la reprise. Optionnellement, fixez une date de reprise automatique.",
|
||||
"pause_until_label": "Reprendre le (optionnel)",
|
||||
"object_paused": "Objet mis en pause",
|
||||
"object_resumed": "Objet repris — calendriers relancés",
|
||||
"object_paused_badge": "En pause",
|
||||
"paused_until_label": "jusqu'au",
|
||||
"replace_object": "Remplacer…",
|
||||
"replace_object_prompt": "Retire cet objet et crée un successeur. L'historique et les coûts restent archivés sur l'ancien ; les tâches et documents passent au nouveau, les compteurs repartent de zéro.",
|
||||
"replace_name_label": "Nom du successeur",
|
||||
"object_replaced": "Objet remplacé — successeur créé",
|
||||
"reading_unit_label": "Unité de relevé (p. ex. kWh, m³)",
|
||||
"reading_unit_help": "Affichée à côté de la valeur enregistrée lors de l'exécution de cette tâche.",
|
||||
"reading_value_label": "Valeur relevée",
|
||||
"reading_label": "Relevé",
|
||||
"settings_templates_label": "Galerie de modèles",
|
||||
"settings_templates_hint": "Décochez les modèles dont vous n'aurez jamais besoin — ils disparaissent des sélecteurs « Depuis un modèle » (panneau et config flow). Rien d'autre ne change ; réactivables à tout moment.",
|
||||
"worksheet": "Fiche de travail",
|
||||
"worksheet_scan_view": "Scanner pour ouvrir la tâche",
|
||||
"worksheet_scan_complete": "Scanner pour terminer",
|
||||
"worksheet_manual_excerpt": "Extrait du manuel",
|
||||
"worksheet_pages": "pages",
|
||||
"worksheet_printed": "Imprimé",
|
||||
"worksheet_never": "Jamais"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "रखरखाव",
|
||||
"objects": "वस्तुएँ",
|
||||
"tasks": "कार्य",
|
||||
"overdue": "अतिदेय",
|
||||
"due_soon": "जल्द देय",
|
||||
"triggered": "ट्रिगर हुआ",
|
||||
"trigger_replaced": "ट्रिगर बदला गया",
|
||||
"ok": "ठीक",
|
||||
"all": "सभी",
|
||||
"new_object": "+ नई वस्तु",
|
||||
"templates_from": "टेम्पलेट से",
|
||||
"templates_title": "टेम्पलेट से शुरू करें",
|
||||
"templates_task_count": "{n} कार्य",
|
||||
"template_created": "टेम्पलेट से बनाया गया",
|
||||
"onboard_hint": "रखरखाव ट्रैक करने के लिए अपना पहला ऑब्जेक्ट जोड़ें।",
|
||||
"edit": "संपादित करें",
|
||||
"duplicate": "डुप्लिकेट करें",
|
||||
"task_duplicated": "कार्य डुप्लिकेट किया गया",
|
||||
"object_duplicated": "ऑब्जेक्ट डुप्लिकेट किया गया",
|
||||
"delete": "हटाएँ",
|
||||
"add_task": "+ कार्य जोड़ें",
|
||||
"complete": "पूर्ण करें",
|
||||
"completed": "पूर्ण हुआ",
|
||||
"skip": "छोड़ें",
|
||||
"skipped": "छोड़ा गया",
|
||||
"missed": "Missed",
|
||||
"reset": "रीसेट करें",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "रद्द करें",
|
||||
"bulk_select": "चुनें",
|
||||
"bulk_select_all": "सभी चुनें",
|
||||
"bulk_n_selected": "{n} चयनित",
|
||||
"bulk_completed": "{n} कार्य पूर्ण",
|
||||
"bulk_archived": "{n} कार्य संग्रहित",
|
||||
"completing": "पूर्ण किया जा रहा है…",
|
||||
"interval": "अंतराल",
|
||||
"warning": "चेतावनी",
|
||||
"last_performed": "अंतिम बार किया गया",
|
||||
"next_due": "अगली देय",
|
||||
"days_until_due": "देय तक दिन",
|
||||
"avg_duration": "औसत अवधि",
|
||||
"trigger": "ट्रिगर",
|
||||
"trigger_type": "ट्रिगर प्रकार",
|
||||
"threshold_above": "ऊपरी सीमा",
|
||||
"threshold_below": "निचली सीमा",
|
||||
"threshold": "सीमा",
|
||||
"counter": "काउंटर",
|
||||
"state_change": "स्थिति परिवर्तन",
|
||||
"runtime": "रनटाइम",
|
||||
"runtime_hours": "लक्ष्य रनटाइम (घंटे)",
|
||||
"target_value": "लक्ष्य मान",
|
||||
"baseline": "आधार रेखा",
|
||||
"target_changes": "लक्ष्य परिवर्तन",
|
||||
"for_minutes": "के लिए (मिनट)",
|
||||
"time_based": "समय-आधारित",
|
||||
"sensor_based": "सेंसर-आधारित",
|
||||
"manual": "मैनुअल",
|
||||
"one_time": "एक बार",
|
||||
"weekdays": "सप्ताह के दिन",
|
||||
"nth_weekday": "महीने का N-वाँ सप्ताह-दिन",
|
||||
"day_of_month": "महीने का दिन",
|
||||
"recurrence_on_days": "दोहराएँ",
|
||||
"recurrence_occurrence": "घटना",
|
||||
"recurrence_weekday": "सप्ताह-दिन",
|
||||
"recurrence_day": "महीने का दिन (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "पहला",
|
||||
"ord_2": "दूसरा",
|
||||
"ord_3": "तीसरा",
|
||||
"ord_4": "चौथा",
|
||||
"ord_5": "पाँचवाँ",
|
||||
"ord_last": "अंतिम",
|
||||
"day_word": "दिन",
|
||||
"interval_value": "अंतराल",
|
||||
"interval_unit": "इकाई",
|
||||
"unit_days": "दिन",
|
||||
"unit_weeks": "सप्ताह",
|
||||
"unit_months": "महीने",
|
||||
"unit_years": "वर्ष",
|
||||
"due_date": "देय तिथि",
|
||||
"cleaning": "सफ़ाई",
|
||||
"inspection": "निरीक्षण",
|
||||
"replacement": "प्रतिस्थापन",
|
||||
"calibration": "अंशांकन",
|
||||
"service": "सर्विस",
|
||||
"reading": "रीडिंग",
|
||||
"custom": "कस्टम",
|
||||
"history": "इतिहास",
|
||||
"cost": "लागत",
|
||||
"report_button": "रिपोर्ट",
|
||||
"report_title": "रखरखाव रिपोर्ट",
|
||||
"report_generated": "जनरेट किया गया",
|
||||
"report_times_done": "पूर्ण",
|
||||
"report_total_cost": "कुल लागत",
|
||||
"report_every": "हर {n} {unit}",
|
||||
"report_notes": "नोट्स",
|
||||
"report_col_type": "प्रकार",
|
||||
"report_col_status": "स्थिति",
|
||||
"report_col_schedule": "शेड्यूल",
|
||||
"duration": "अवधि",
|
||||
"both": "दोनों",
|
||||
"trigger_val": "ट्रिगर मान",
|
||||
"complete_title": "पूर्ण करें: ",
|
||||
"checklist": "चेकलिस्ट",
|
||||
"checklist_steps_optional": "चेकलिस्ट चरण (वैकल्पिक)",
|
||||
"checklist_placeholder": "फ़िल्टर साफ़ करें\nसील बदलें\nदबाव जाँचें",
|
||||
"checklist_help": "प्रति पंक्ति एक चरण। अधिकतम 100 आइटम।",
|
||||
"err_too_long": "{field}: बहुत लंबा (अधिकतम {n} अक्षर)",
|
||||
"err_too_short": "{field}: बहुत छोटा (न्यूनतम {n} अक्षर)",
|
||||
"err_value_too_high": "{field}: बहुत बड़ा (अधिकतम {n})",
|
||||
"err_value_too_low": "{field}: बहुत छोटा (न्यूनतम {n})",
|
||||
"err_required": "{field}: आवश्यक",
|
||||
"err_wrong_type": "{field}: गलत प्रकार (अपेक्षित: {type})",
|
||||
"err_invalid_choice": "{field}: अनुमत मान नहीं है",
|
||||
"err_invalid_value": "{field}: अमान्य मान",
|
||||
"feat_schedule_time": "दिन का समय निर्धारण",
|
||||
"feat_schedule_time_desc": "कार्य मध्यरात्रि के बजाय दिन के एक विशिष्ट समय पर अतिदेय हो जाते हैं।",
|
||||
"schedule_time_optional": "इस समय देय (वैकल्पिक, HH:MM)",
|
||||
"schedule_time_help": "खाली = मध्यरात्रि (डिफ़ॉल्ट)। HA समय क्षेत्र।",
|
||||
"at_time": "बजे",
|
||||
"notes_optional": "टिप्पणियाँ (वैकल्पिक)",
|
||||
"cost_optional": "लागत (वैकल्पिक)",
|
||||
"duration_minutes": "मिनटों में अवधि (वैकल्पिक)",
|
||||
"days": "दिन",
|
||||
"day": "दिन",
|
||||
"today": "आज",
|
||||
"d_overdue": "दिन अतिदेय",
|
||||
"no_tasks": "अभी कोई रखरखाव कार्य नहीं। शुरू करने के लिए एक वस्तु बनाएँ।",
|
||||
"no_tasks_short": "कोई कार्य नहीं",
|
||||
"no_history": "अभी कोई इतिहास प्रविष्टि नहीं।",
|
||||
"show_all": "सभी दिखाएँ",
|
||||
"cost_duration_chart": "लागत और अवधि",
|
||||
"installed": "स्थापित",
|
||||
"confirm_delete_object": "इस वस्तु और इसके सभी कार्यों को हटाएँ?",
|
||||
"confirm_delete_task": "इस कार्य को हटाएँ?",
|
||||
"min": "न्यूनतम",
|
||||
"max": "अधिकतम",
|
||||
"save": "सहेजें",
|
||||
"saving": "सहेजा जा रहा है…",
|
||||
"edit_task": "कार्य संपादित करें",
|
||||
"new_task": "नया रखरखाव कार्य",
|
||||
"task_name": "कार्य का नाम",
|
||||
"maintenance_type": "रखरखाव प्रकार",
|
||||
"priority": "प्राथमिकता",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "कम",
|
||||
"priority_normal": "सामान्य",
|
||||
"priority_high": "उच्च",
|
||||
"schedule_type": "अनुसूची प्रकार",
|
||||
"interval_days": "अंतराल (दिन)",
|
||||
"warning_days": "चेतावनी दिन",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "अंतिम बार किया गया (वैकल्पिक)",
|
||||
"interval_anchor": "अंतराल आधार",
|
||||
"anchor_completion": "पूर्ण तिथि से",
|
||||
"anchor_planned": "नियोजित तिथि से (कोई विचलन नहीं)",
|
||||
"edit_object": "वस्तु संपादित करें",
|
||||
"name": "नाम",
|
||||
"manufacturer_optional": "निर्माता (वैकल्पिक)",
|
||||
"model_optional": "मॉडल (वैकल्पिक)",
|
||||
"serial_number_optional": "सीरियल नंबर (वैकल्पिक)",
|
||||
"serial_number_label": "S/N",
|
||||
"documentation_url_label": "मैनुअल",
|
||||
"object_notes_label": "टिप्पणियाँ",
|
||||
"sort_due_date": "देय तिथि",
|
||||
"sort_object": "वस्तु का नाम",
|
||||
"sort_type": "प्रकार",
|
||||
"sort_task_name": "कार्य का नाम",
|
||||
"all_objects": "सभी वस्तुएँ",
|
||||
"tasks_lower": "कार्य",
|
||||
"no_tasks_yet": "अभी कोई कार्य नहीं",
|
||||
"add_first_task": "पहला कार्य जोड़ें",
|
||||
"trigger_configuration": "ट्रिगर कॉन्फ़िगरेशन",
|
||||
"entity_id": "एंटिटी ID",
|
||||
"comma_separated": "अल्पविराम से अलग",
|
||||
"entity_logic": "एंटिटी लॉजिक",
|
||||
"entity_logic_any": "कोई भी एंटिटी ट्रिगर करती है",
|
||||
"entity_logic_all": "सभी एंटिटी ट्रिगर होनी चाहिए",
|
||||
"entities": "एंटिटी",
|
||||
"attribute_optional": "विशेषता (वैकल्पिक, खाली = स्थिति)",
|
||||
"use_entity_state": "एंटिटी स्थिति का उपयोग करें (कोई विशेषता नहीं)",
|
||||
"trigger_above": "इससे ऊपर ट्रिगर करें",
|
||||
"trigger_below": "इससे नीचे ट्रिगर करें",
|
||||
"for_at_least_minutes": "कम से कम (मिनट)",
|
||||
"safety_interval_days": "सुरक्षा अंतराल (दिन, वैकल्पिक)",
|
||||
"safety_interval": "सुरक्षा अंतराल (वैकल्पिक)",
|
||||
"delta_mode": "डेल्टा मोड",
|
||||
"from_state_optional": "किस स्थिति से (वैकल्पिक)",
|
||||
"to_state_optional": "किस स्थिति तक (वैकल्पिक)",
|
||||
"documentation_url_optional": "दस्तावेज़ URL (वैकल्पिक)",
|
||||
"object_notes_optional": "टिप्पणियाँ (वैकल्पिक)",
|
||||
"nfc_tag_id_optional": "NFC टैग ID (वैकल्पिक)",
|
||||
"nfc_tags_empty_help": "Home Assistant में अभी कोई NFC टैग पंजीकृत नहीं है।",
|
||||
"nfc_tags_open_settings": "टैग सेटिंग्स खोलें",
|
||||
"nfc_tags_refresh": "रिफ़्रेश करें",
|
||||
"environmental_entity_optional": "पर्यावरण सेंसर (वैकल्पिक)",
|
||||
"environmental_entity_helper": "उदा. sensor.outdoor_temperature — पर्यावरणीय स्थितियों के आधार पर अंतराल समायोजित करता है",
|
||||
"environmental_attribute_optional": "पर्यावरण विशेषता (वैकल्पिक)",
|
||||
"nfc_tag_id": "NFC टैग ID",
|
||||
"nfc_linked": "NFC टैग लिंक किया गया",
|
||||
"nfc_link_hint": "NFC टैग लिंक करने के लिए क्लिक करें",
|
||||
"responsible_user": "जिम्मेदार उपयोगकर्ता",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(कोई उपयोगकर्ता असाइन नहीं)",
|
||||
"all_users": "सभी उपयोगकर्ता",
|
||||
"my_tasks": "मेरे कार्य",
|
||||
"tab_calendar": "कैलेंडर",
|
||||
"cal_no_events": "कोई रखरखाव नहीं",
|
||||
"cal_window_7": "7 दिन",
|
||||
"cal_window_14": "14 दिन",
|
||||
"cal_window_30": "30 दिन",
|
||||
"cal_window_365": "1 वर्ष",
|
||||
"cal_every_n_days": "हर {n} दिन",
|
||||
"cal_source_time": "समय-आधारित",
|
||||
"cal_source_time_adaptive": "समय-आधारित (अनुकूली)",
|
||||
"cal_source_sensor": "सेंसर-आधारित",
|
||||
"cal_predicted": "अनुमानित",
|
||||
"cal_confidence_high": "उच्च विश्वास",
|
||||
"cal_confidence_medium": "मध्यम विश्वास",
|
||||
"cal_confidence_low": "निम्न विश्वास",
|
||||
"budget_monthly": "मासिक बजट",
|
||||
"budget_yearly": "वार्षिक बजट",
|
||||
"groups": "समूह",
|
||||
"new_group": "नया समूह",
|
||||
"edit_group": "समूह संपादित करें",
|
||||
"no_groups": "अभी कोई समूह नहीं",
|
||||
"delete_group": "समूह हटाएँ",
|
||||
"delete_group_confirm": "समूह '{name}' हटाएँ?",
|
||||
"group_select_tasks": "कार्य चुनें",
|
||||
"group_name_required": "नाम आवश्यक है",
|
||||
"description_optional": "विवरण (वैकल्पिक)",
|
||||
"selected": "चयनित",
|
||||
"loading_chart": "चार्ट डेटा लोड हो रहा है...",
|
||||
"hide_outliers": "आउटलायर छिपाएँ (सेंसर गड़बड़)",
|
||||
"was_maintenance_needed": "क्या यह रखरखाव आवश्यक था?",
|
||||
"feedback_needed": "आवश्यक था",
|
||||
"feedback_not_needed": "आवश्यक नहीं",
|
||||
"feedback_not_sure": "निश्चित नहीं",
|
||||
"suggested_interval": "सुझाया गया अंतराल",
|
||||
"apply_suggestion": "लागू करें",
|
||||
"reanalyze": "पुनः विश्लेषण करें",
|
||||
"reanalyze_result": "नया विश्लेषण",
|
||||
"reanalyze_insufficient_data": "अनुशंसा देने के लिए पर्याप्त डेटा नहीं",
|
||||
"data_points": "डेटा बिंदु",
|
||||
"dismiss_suggestion": "खारिज करें",
|
||||
"confidence_low": "निम्न",
|
||||
"confidence_medium": "मध्यम",
|
||||
"confidence_high": "उच्च",
|
||||
"recommended": "अनुशंसित",
|
||||
"seasonal_awareness": "मौसमी जागरूकता",
|
||||
"edit_seasonal_overrides": "मौसमी कारक संपादित करें",
|
||||
"seasonal_overrides_title": "मौसमी कारक (ओवरराइड)",
|
||||
"seasonal_overrides_hint": "प्रति माह कारक (0.1–5.0)। खाली = स्वचालित रूप से सीखा गया।",
|
||||
"seasonal_override_invalid": "अमान्य मान",
|
||||
"seasonal_override_range": "कारक 0.1 और 5.0 के बीच होना चाहिए",
|
||||
"clear_all": "सभी साफ़ करें",
|
||||
"seasonal_chart_title": "मौसमी कारक",
|
||||
"seasonal_learned": "सीखा गया",
|
||||
"seasonal_manual": "मैनुअल",
|
||||
"month_jan": "जन",
|
||||
"month_feb": "फ़र",
|
||||
"month_mar": "मार्च",
|
||||
"month_apr": "अप्रैल",
|
||||
"month_may": "मई",
|
||||
"month_jun": "जून",
|
||||
"month_jul": "जुल",
|
||||
"month_aug": "अग",
|
||||
"month_sep": "सित",
|
||||
"month_oct": "अक्टू",
|
||||
"month_nov": "नव",
|
||||
"month_dec": "दिस",
|
||||
"sensor_prediction": "सेंसर पूर्वानुमान",
|
||||
"degradation_trend": "रुझान",
|
||||
"trend_rising": "बढ़ता हुआ",
|
||||
"trend_falling": "घटता हुआ",
|
||||
"trend_stable": "स्थिर",
|
||||
"trend_insufficient_data": "अपर्याप्त डेटा",
|
||||
"days_until_threshold": "सीमा तक दिन",
|
||||
"threshold_exceeded": "सीमा पार हुई",
|
||||
"environmental_adjustment": "पर्यावरण कारक",
|
||||
"sensor_prediction_urgency": "सेंसर ~{days} दिनों में सीमा का अनुमान लगाता है",
|
||||
"day_short": "दिन",
|
||||
"weibull_reliability_curve": "विश्वसनीयता वक्र",
|
||||
"weibull_failure_probability": "विफलता संभावना",
|
||||
"weibull_r_squared": "फ़िट R²",
|
||||
"beta_early_failures": "प्रारंभिक विफलताएँ",
|
||||
"beta_random_failures": "यादृच्छिक विफलताएँ",
|
||||
"beta_wear_out": "घिसाव",
|
||||
"beta_highly_predictable": "अत्यधिक पूर्वानुमेय",
|
||||
"confidence_interval": "विश्वास अंतराल",
|
||||
"confidence_conservative": "रूढ़िवादी",
|
||||
"confidence_aggressive": "आशावादी",
|
||||
"current_interval_marker": "वर्तमान अंतराल",
|
||||
"recommended_marker": "अनुशंसित",
|
||||
"characteristic_life": "विशेषता आयु",
|
||||
"chart_mini_sparkline": "रुझान स्पार्कलाइन",
|
||||
"chart_history": "लागत और अवधि इतिहास",
|
||||
"chart_seasonal": "मौसमी कारक, 12 महीने",
|
||||
"chart_weibull": "वीबुल विश्वसनीयता वक्र",
|
||||
"chart_sparkline": "सेंसर ट्रिगर मान चार्ट",
|
||||
"days_progress": "दिनों की प्रगति",
|
||||
"qr_code": "QR कोड",
|
||||
"qr_generating": "QR कोड बनाया जा रहा है…",
|
||||
"qr_error": "QR कोड बनाने में विफल।",
|
||||
"qr_error_no_url": "कोई HA URL कॉन्फ़िगर नहीं है। कृपया सेटिंग्स → सिस्टम → नेटवर्क में एक बाहरी या आंतरिक URL सेट करें।",
|
||||
"save_error": "सहेजने में विफल। कृपया पुनः प्रयास करें।",
|
||||
"qr_print": "प्रिंट करें",
|
||||
"qr_download": "SVG डाउनलोड करें",
|
||||
"qr_action": "स्कैन पर क्रिया",
|
||||
"qr_action_view": "रखरखाव जानकारी देखें",
|
||||
"qr_action_complete": "रखरखाव को पूर्ण के रूप में चिह्नित करें",
|
||||
"qr_url_mode": "लिंक प्रकार",
|
||||
"qr_mode_companion": "Companion ऐप",
|
||||
"qr_mode_local": "लोकल (mDNS)",
|
||||
"qr_mode_server": "सर्वर URL",
|
||||
"overview": "अवलोकन",
|
||||
"analysis": "विश्लेषण",
|
||||
"recent_activities": "हाल की गतिविधियाँ",
|
||||
"search_notes": "टिप्पणियाँ खोजें",
|
||||
"avg_cost": "औसत लागत",
|
||||
"no_advanced_features": "कोई उन्नत सुविधा सक्षम नहीं",
|
||||
"no_advanced_features_hint": "यहाँ विश्लेषण डेटा देखने के लिए इंटीग्रेशन सेटिंग्स में “अनुकूली अंतराल” या “मौसमी पैटर्न” सक्षम करें।",
|
||||
"analysis_not_enough_data": "अभी विश्लेषण के लिए पर्याप्त डेटा नहीं।",
|
||||
"analysis_not_enough_data_hint": "वीबुल विश्लेषण के लिए कम से कम 5 पूर्ण रखरखाव आवश्यक हैं; मौसमी पैटर्न प्रति माह 6+ डेटा बिंदुओं के बाद दिखाई देते हैं।",
|
||||
"analysis_manual_task_hint": "अंतराल के बिना मैनुअल कार्य विश्लेषण डेटा उत्पन्न नहीं करते।",
|
||||
"completions": "पूर्णताएँ",
|
||||
"current": "वर्तमान",
|
||||
"shorter": "छोटा",
|
||||
"longer": "लंबा",
|
||||
"normal": "सामान्य",
|
||||
"disabled": "अक्षम",
|
||||
"compound_logic": "संयुक्त लॉजिक",
|
||||
"compound": "संयुक्त (कई शर्तें)",
|
||||
"compound_logic_and": "और — सभी शर्तें पूरी हों",
|
||||
"compound_logic_or": "या — कोई एक शर्त पर्याप्त",
|
||||
"compound_help": "कई सेंसर शर्तों को एक ट्रिगर में मिलाएँ।",
|
||||
"compound_no_conditions": "अभी कोई शर्त नहीं — कम से कम एक जोड़ें।",
|
||||
"compound_add_condition": "शर्त जोड़ें",
|
||||
"compound_condition": "शर्त",
|
||||
"compound_remove_condition": "शर्त हटाएँ",
|
||||
"card_title": "शीर्षक",
|
||||
"card_show_header": "सांख्यिकी के साथ हेडर दिखाएँ",
|
||||
"card_show_actions": "क्रिया बटन दिखाएँ",
|
||||
"card_compact": "संक्षिप्त मोड",
|
||||
"card_max_items": "अधिकतम आइटम (0 = सभी)",
|
||||
"card_filter_status": "स्थिति के अनुसार फ़िल्टर करें",
|
||||
"card_filter_status_help": "खाली = सभी स्थितियाँ दिखाएँ।",
|
||||
"card_filter_objects": "वस्तुओं के अनुसार फ़िल्टर करें",
|
||||
"card_filter_objects_help": "खाली = सभी वस्तुएँ दिखाएँ।",
|
||||
"card_filter_entities": "एंटिटी के अनुसार फ़िल्टर करें (entity_ids)",
|
||||
"card_filter_entities_help": "इस इंटीग्रेशन से sensor / binary_sensor एंटिटी चुनें। खाली = सभी।",
|
||||
"card_loading_objects": "वस्तुएँ लोड हो रही हैं…",
|
||||
"card_load_error": "वस्तुएँ लोड नहीं हो सकीं — WebSocket कनेक्शन जाँचें।",
|
||||
"card_no_tasks_title": "अभी कोई रखरखाव कार्य नहीं",
|
||||
"card_no_tasks_cta": "→ रखरखाव पैनल में एक बनाएँ",
|
||||
"no_objects": "अभी कोई वस्तु नहीं।",
|
||||
"action_error": "क्रिया विफल। कृपया पुनः प्रयास करें।",
|
||||
"area_id_optional": "क्षेत्र (वैकल्पिक)",
|
||||
"installation_date_optional": "स्थापना तिथि (वैकल्पिक)",
|
||||
"warranty_expiry_optional": "वारंटी समाप्ति (वैकल्पिक)",
|
||||
"warranty": "वारंटी",
|
||||
"warranty_valid_until": "{date} तक वैध",
|
||||
"warranty_expires_in": "{days} दिनों में समाप्त",
|
||||
"warranty_expired": "समाप्त",
|
||||
"cal_past_windows": "पिछली अवधियाँ",
|
||||
"cal_forward_windows": "आगामी अवधियाँ",
|
||||
"history_edit_title": "इतिहास प्रविष्टि संपादित करें",
|
||||
"history_edit_timestamp": "टाइमस्टैम्प",
|
||||
"manufacturer": "निर्माता",
|
||||
"model": "मॉडल",
|
||||
"area": "क्षेत्र",
|
||||
"actions": "क्रियाएँ",
|
||||
"view_mode_label": "दृश्य",
|
||||
"view_cards": "कार्ड दृश्य",
|
||||
"view_table": "तालिका दृश्य",
|
||||
"objects_table_columns_label": "वस्तु तालिका कॉलम",
|
||||
"objects_table_columns_hint": "चुनें कि वस्तु तालिका दृश्य में कौन से कॉलम दिखाई दें।",
|
||||
"custom_icon_optional": "आइकन (वैकल्पिक, उदा. mdi:wrench)",
|
||||
"task_enabled": "कार्य सक्षम",
|
||||
"skip_reason_prompt": "इस कार्य को छोड़ें?",
|
||||
"reason_optional": "कारण (वैकल्पिक)",
|
||||
"reset_date_prompt": "कार्य को किया गया के रूप में चिह्नित करें?",
|
||||
"reset_date_optional": "अंतिम बार किया गया तिथि (वैकल्पिक, डिफ़ॉल्ट आज)",
|
||||
"notes_label": "टिप्पणियाँ",
|
||||
"documentation_label": "दस्तावेज़",
|
||||
"no_nfc_tag": "— कोई टैग नहीं —",
|
||||
"dashboard": "डैशबोर्ड",
|
||||
"tab_today": "आज",
|
||||
"palette_placeholder": "ऑब्जेक्ट और कार्य खोजें…",
|
||||
"palette_no_results": "कोई मिलान नहीं",
|
||||
"palette_hint": "↑↓ नेविगेट · Enter खोलें · Esc बंद",
|
||||
"today_all_caught_up": "सब पूरा! इस सप्ताह कुछ भी बाकी नहीं।",
|
||||
"today_overdue": "अतिदेय",
|
||||
"today_due_today": "आज देय",
|
||||
"today_this_week": "इस सप्ताह",
|
||||
"settings": "सेटिंग्स",
|
||||
"settings_features": "उन्नत सुविधाएँ",
|
||||
"settings_features_desc": "उन्नत सुविधाओं को सक्षम या अक्षम करें। अक्षम करने से वे UI से छिप जाती हैं पर डेटा नहीं हटता।",
|
||||
"feat_adaptive": "अनुकूली निर्धारण",
|
||||
"feat_adaptive_desc": "रखरखाव इतिहास से इष्टतम अंतराल सीखें",
|
||||
"feat_predictions": "सेंसर पूर्वानुमान",
|
||||
"feat_predictions_desc": "सेंसर क्षरण से ट्रिगर तिथियों का अनुमान लगाएँ",
|
||||
"feat_seasonal": "मौसमी समायोजन",
|
||||
"feat_seasonal_desc": "मौसमी पैटर्न के आधार पर अंतराल समायोजित करें",
|
||||
"feat_environmental": "पर्यावरणीय सहसंबंध",
|
||||
"feat_environmental_desc": "तापमान/आर्द्रता के साथ अंतराल का सहसंबंध करें",
|
||||
"feat_budget": "बजट ट्रैकिंग",
|
||||
"feat_budget_desc": "मासिक और वार्षिक रखरखाव खर्च ट्रैक करें",
|
||||
"feat_groups": "कार्य समूह",
|
||||
"feat_groups_desc": "कार्यों को तार्किक समूहों में व्यवस्थित करें",
|
||||
"feat_checklists": "चेकलिस्ट",
|
||||
"feat_checklists_desc": "कार्य पूर्णता के लिए बहु-चरणीय प्रक्रियाएँ",
|
||||
"settings_general": "सामान्य",
|
||||
"settings_default_warning": "डिफ़ॉल्ट चेतावनी दिन",
|
||||
"settings_panel_enabled": "साइडबार पैनल",
|
||||
"settings_panel_title": "साइडबार पैनल शीर्षक",
|
||||
"settings_notifications": "सूचनाएँ",
|
||||
"settings_notify_service": "सूचना सेवा",
|
||||
"test_notification": "परीक्षण सूचना",
|
||||
"send_test": "परीक्षण भेजें",
|
||||
"testing": "भेजा जा रहा है…",
|
||||
"test_notification_success": "परीक्षण सूचना भेजी गई",
|
||||
"test_notification_failed": "परीक्षण सूचना विफल",
|
||||
"settings_notify_due_soon": "जल्द देय होने पर सूचित करें",
|
||||
"settings_notify_overdue": "अतिदेय होने पर सूचित करें",
|
||||
"settings_notify_triggered": "ट्रिगर होने पर सूचित करें",
|
||||
"settings_interval_hours": "दोहराव अंतराल (घंटे, 0 = एक बार)",
|
||||
"settings_quiet_hours": "शांत घंटे",
|
||||
"settings_quiet_start": "प्रारंभ",
|
||||
"settings_quiet_end": "समाप्त",
|
||||
"settings_max_per_day": "प्रति दिन अधिकतम सूचनाएँ (0 = असीमित)",
|
||||
"settings_bundling": "सूचनाएँ बंडल करें",
|
||||
"settings_bundle_threshold": "बंडल सीमा",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "मोबाइल क्रिया बटन",
|
||||
"settings_action_complete": "'पूर्ण करें' बटन दिखाएँ",
|
||||
"settings_action_skip": "'छोड़ें' बटन दिखाएँ",
|
||||
"settings_action_snooze": "'स्नूज़' बटन दिखाएँ",
|
||||
"settings_weekly_digest": "साप्ताहिक सारांश",
|
||||
"settings_weekly_digest_hint": "सोमवार सुबह एक सारांश सूचना जब कार्य देय हों।",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "स्नूज़ अवधि (घंटे)",
|
||||
"settings_budget": "बजट",
|
||||
"settings_currency": "मुद्रा",
|
||||
"settings_budget_monthly": "मासिक बजट",
|
||||
"settings_budget_yearly": "वार्षिक बजट",
|
||||
"settings_budget_alerts": "बजट अलर्ट",
|
||||
"settings_budget_threshold": "अलर्ट सीमा (%)",
|
||||
"settings_import_export": "आयात / निर्यात",
|
||||
"settings_export_json": "JSON निर्यात करें",
|
||||
"settings_export_yaml": "YAML निर्यात करें",
|
||||
"settings_export_csv": "CSV निर्यात करें",
|
||||
"settings_import_csv": "CSV आयात करें",
|
||||
"settings_import_placeholder": "JSON या CSV सामग्री यहाँ चिपकाएँ…",
|
||||
"settings_import_btn": "आयात करें",
|
||||
"settings_import_success": "{count} वस्तुएँ सफलतापूर्वक आयात की गईं।",
|
||||
"settings_export_success": "निर्यात डाउनलोड किया गया।",
|
||||
"settings_saved": "सेटिंग सहेजी गई।",
|
||||
"settings_include_history": "इतिहास शामिल करें",
|
||||
"sort_alphabetical": "वर्णानुक्रम",
|
||||
"sort_due_soonest": "सबसे जल्द देय",
|
||||
"sort_task_count": "कार्य संख्या",
|
||||
"sort_area": "क्षेत्र",
|
||||
"sort_assigned_user": "असाइन किया गया उपयोगकर्ता",
|
||||
"sort_group": "समूह",
|
||||
"groupby_none": "कोई समूहन नहीं",
|
||||
"groupby_area": "क्षेत्र के अनुसार",
|
||||
"groupby_group": "समूह के अनुसार",
|
||||
"groupby_user": "उपयोगकर्ता के अनुसार",
|
||||
"filter_label": "फ़िल्टर",
|
||||
"user_label": "उपयोगकर्ता",
|
||||
"sort_label": "क्रमबद्ध करें",
|
||||
"group_by_label": "इसके अनुसार समूहित करें",
|
||||
"state_value_help": "HA स्थिति मान का उपयोग करें (आमतौर पर लोअरकेस, उदा. \"on\"/\"off\")। सहेजने पर केस सामान्यीकृत हो जाता है।",
|
||||
"target_changes_help": "ट्रिगर होने से पहले मिलान वाले संक्रमणों की संख्या (डिफ़ॉल्ट: 1)।",
|
||||
"qr_print_title": "QR कोड प्रिंट करें",
|
||||
"qr_print_desc": "अपने उपकरण पर काटकर चिपकाने के लिए QR कोड का प्रिंट-योग्य पृष्ठ बनाएँ।",
|
||||
"qr_print_load": "वस्तुएँ लोड करें",
|
||||
"qr_print_filter": "फ़िल्टर",
|
||||
"qr_print_objects": "वस्तुएँ",
|
||||
"qr_print_actions": "क्रियाएँ",
|
||||
"qr_print_url_mode": "लिंक प्रकार",
|
||||
"qr_print_estimate": "अनुमानित QR कोड",
|
||||
"qr_print_over_limit": "सीमा 200 है, फ़िल्टर को संकीर्ण करें",
|
||||
"qr_print_generate": "QR कोड बनाएँ",
|
||||
"qr_print_generating": "बनाया जा रहा है…",
|
||||
"qr_print_ready": "QR कोड तैयार",
|
||||
"qr_print_print_button": "प्रिंट करें",
|
||||
"qr_print_empty": "बनाने के लिए कुछ नहीं",
|
||||
"qr_action_skip": "छोड़ें",
|
||||
"vacation_title": "अवकाश मोड",
|
||||
"vacation_active": "सक्रिय",
|
||||
"vacation_ended": "समाप्त",
|
||||
"vacation_desc": "अवकाश की योजना बनाएँ: इस अवधि और कुछ बफ़र दिनों के दौरान सूचनाएँ रुकी रहती हैं। आप विशिष्ट कार्यों को वापस शामिल कर सकते हैं।",
|
||||
"vacation_enable": "अवकाश मोड सक्षम करें",
|
||||
"vacation_start": "प्रारंभ",
|
||||
"vacation_end": "समाप्त",
|
||||
"vacation_buffer": "बफ़र (दिन)",
|
||||
"vacation_exempt_title": "अवकाश के दौरान फिर भी सूचित करें",
|
||||
"vacation_exempt_desc": "ऐसे कार्य चुनें जिनकी अवकाश के दौरान भी सूचना मिलनी चाहिए (उदा. महत्वपूर्ण पूल रसायन)।",
|
||||
"vacation_load_tasks": "कार्य लोड करें",
|
||||
"vacation_preview_btn": "पूर्वावलोकन दिखाएँ",
|
||||
"vacation_preview_affected": "प्रभावित कार्य",
|
||||
"vacation_event_due_soon": "जल्द देय हो जाता है",
|
||||
"vacation_event_overdue": "अतिदेय हो जाता है",
|
||||
"vacation_event_triggered_est": "सेंसर ट्रिगर संभव",
|
||||
"vacation_sensor_based": "(सेंसर-आधारित)",
|
||||
"vacation_action_notify": "फिर भी सूचित करें",
|
||||
"vacation_action_unsilence": "फिर से चुप करें",
|
||||
"vacation_marked_complete": "पूर्ण के रूप में चिह्नित",
|
||||
"vacation_marked_skip": "छोड़ा गया",
|
||||
"vacation_end_now": "अवकाश अभी समाप्त करें",
|
||||
"add": "जोड़ें",
|
||||
"show_stats": "सांख्यिकी + ग्राफ़ दिखाएँ",
|
||||
"hide_stats": "सांख्यिकी छिपाएँ",
|
||||
"adaptive_no_data": "अनुकूली विश्लेषण के लिए अभी पर्याप्त पूर्णता इतिहास नहीं। अंतराल अनुशंसाएँ और विश्वसनीयता चार्ट अनलॉक करने के लिए इस कार्य को कुछ और बार पूर्ण करें।",
|
||||
"suggestion_applied": "सुझाया गया अंतराल लागू किया गया",
|
||||
"vacation_mode": "अवकाश मोड",
|
||||
"vacation_status_active": "अभी सक्रिय",
|
||||
"vacation_status_scheduled": "निर्धारित",
|
||||
"vacation_status_inactive": "निष्क्रिय",
|
||||
"vacation_end_now_confirm": "अवकाश तुरंत समाप्त करें?",
|
||||
"vacation_exempt_count": "छूट प्राप्त",
|
||||
"vacation_advanced": "उन्नत…",
|
||||
"vacation_open_panel": "पैनल में खोलें",
|
||||
"enable": "सक्षम करें",
|
||||
"saved": "सहेजा गया",
|
||||
"budget_monthly_set": "मासिक सेट करें",
|
||||
"budget_yearly_set": "वार्षिक सेट करें",
|
||||
"budget_advanced": "मुद्रा, अलर्ट…",
|
||||
"budget_open_panel": "पैनल में खोलें",
|
||||
"groups_empty": "अभी कोई समूह नहीं।",
|
||||
"group_new_placeholder": "समूह जोड़ें…",
|
||||
"group_delete_confirm": "समूह \"{name}\" हटाएँ?",
|
||||
"groups_manage_tasks": "कार्य असाइनमेंट प्रबंधित करें…",
|
||||
"groups_open_panel": "पैनल में खोलें",
|
||||
"unassigned": "असाइन नहीं",
|
||||
"no_area": "कोई क्षेत्र नहीं",
|
||||
"has_overdue": "अतिदेय कार्य हैं",
|
||||
"object": "वस्तु",
|
||||
"settings_panel_access": "पैनल पहुँच",
|
||||
"settings_panel_access_desc": "व्यवस्थापकों को हमेशा पूर्ण पहुँच होती है। विशिष्ट गैर-व्यवस्थापकों को बनाना, संपादित करना और हटाना सौंपने के लिए, इसे चालू करें और नीचे उन्हें चुनें — बाकी सभी को केवल पूर्ण करें और छोड़ें दिखता है।",
|
||||
"settings_operator_write": "चयनित उपयोगकर्ताओं को बनाने, संपादित करने और हटाने की अनुमति दें",
|
||||
"settings_operator_write_desc": "बंद: केवल व्यवस्थापक सामग्री बदल सकते हैं। चालू: नीचे चयनित उपयोगकर्ताओं को भी पूर्ण पहुँच मिलती है।",
|
||||
"no_non_admin_users": "कोई गैर-व्यवस्थापक उपयोगकर्ता नहीं मिला। सेटिंग्स → लोग में कुछ जोड़ें।",
|
||||
"owner_label": "स्वामी",
|
||||
"feat_completion_actions": "पूर्णता क्रियाएँ",
|
||||
"feat_completion_actions_desc": "पूर्ण होने पर प्रति-कार्य HA क्रिया + पूर्व-निर्धारित मानों के साथ त्वरित-पूर्ण QR।",
|
||||
"on_complete_action_title": "पूर्ण होने पर: HA क्रिया ट्रिगर करें (वैकल्पिक)",
|
||||
"on_complete_action_desc": "कार्य पूर्ण होने पर एक HA सेवा कॉल करता है — उदा. डिवाइस पर काउंटर रीसेट करना।",
|
||||
"on_complete_action_service": "सेवा",
|
||||
"on_complete_action_target": "लक्ष्य एंटिटी",
|
||||
"on_complete_action_target_hint": "ध्यान दें: एंटिटी डोमेन सेवा से मेल खाना चाहिए — उदा. 'button.press' केवल button.* पर काम करता है, 'counter.increment' केवल counter.* पर, 'input_button.press' केवल input_button.* पर आदि। मेल न खाने पर क्रिया चुपचाप विफल हो जाएगी (HA लॉग करता है 'Referenced entities ... missing or not currently available')।",
|
||||
"on_complete_action_data": "डेटा (JSON, वैकल्पिक)",
|
||||
"on_complete_action_test": "कॉन्फ़िगरेशन सत्यापित करें",
|
||||
"on_complete_action_test_success": "✓ कॉन्फ़िगरेशन वैध (क्रिया केवल कार्य पूर्ण होने पर चलेगी)",
|
||||
"on_complete_action_test_failed": "विफल",
|
||||
"quick_complete_defaults_title": "त्वरित-पूर्ण डिफ़ॉल्ट (QR स्कैन के लिए, वैकल्पिक)",
|
||||
"quick_complete_defaults_desc": "त्वरित-पूर्ण QR स्कैन के लिए पूर्व-निर्धारित मान। इनके बिना, QR पूर्ण करें संवाद खोलता है।",
|
||||
"quick_complete_defaults_notes": "टिप्पणियाँ",
|
||||
"quick_complete_defaults_cost": "लागत",
|
||||
"quick_complete_defaults_duration": "अवधि (मिनट)",
|
||||
"quick_complete_defaults_feedback_none": "कोई प्रतिक्रिया नहीं",
|
||||
"quick_complete_defaults_feedback_needed": "आवश्यक था",
|
||||
"quick_complete_defaults_feedback_not_needed": "आवश्यक नहीं",
|
||||
"quick_complete_success": "त्वरित रूप से पूर्ण के रूप में चिह्नित",
|
||||
"show_all_objects": "सभी वस्तुएँ दिखाएँ",
|
||||
"show_all_tasks": "फ़िल्टर हटाएँ — सभी कार्य दिखाएँ",
|
||||
"filter_to_overdue": "कार्य सूची को केवल अतिदेय तक फ़िल्टर करें",
|
||||
"filter_to_due_soon": "कार्य सूची को केवल जल्द-देय तक फ़िल्टर करें",
|
||||
"filter_to_triggered": "कार्य सूची को केवल ट्रिगर हुए तक फ़िल्टर करें",
|
||||
"open_task": "कार्य खोलें",
|
||||
"show_details": "इतिहास + सांख्यिकी दिखाएँ",
|
||||
"hide_details": "विवरण छिपाएँ",
|
||||
"history_empty": "अभी कोई इतिहास नहीं।",
|
||||
"history_edit_button": "प्रविष्टि संपादित करें",
|
||||
"total_cost": "कुल लागत",
|
||||
"times_performed": "किया गया",
|
||||
"older_entries": "पुराने",
|
||||
"open_in_panel": "रखरखाव पैनल में खोलें",
|
||||
"skip_reason": "छोड़ने का कारण (वैकल्पिक)",
|
||||
"reset_to_date": "अंतिम बार किया गया को रीसेट करें",
|
||||
"delete_task_confirm": "इस कार्य और इसके इतिहास को हटाएँ?",
|
||||
"delete_object_confirm": "इस वस्तु और इसके सभी कार्यों को हटाएँ?",
|
||||
"loading": "लोड हो रहा है…",
|
||||
"archive": "संग्रह करें",
|
||||
"undo": "पूर्ववत करें",
|
||||
"task_archived": "कार्य संग्रहित",
|
||||
"object_archived": "ऑब्जेक्ट संग्रहित",
|
||||
"unarchive": "संग्रह से हटाएँ",
|
||||
"archived": "संग्रहीत",
|
||||
"show_archived": "संग्रहीत दिखाएँ",
|
||||
"hide_archived": "संग्रहीत छिपाएँ",
|
||||
"confirm_archive_object": "इस ऑब्जेक्ट और इसके कार्यों को संग्रहित करें? इतिहास सुरक्षित रहता है और बाद में पुनर्स्थापित किया जा सकता है।",
|
||||
"settings_archive": "संग्रह और प्रतिधारण",
|
||||
"settings_archive_desc": "पूर्ण एक-बार के कार्यों को हटाए बिना अलग रखें। संग्रहीत आइटम छिपे और निष्क्रिय रहते हैं, पर इतिहास और लागत बनाए रखते हैं।",
|
||||
"settings_archive_oneoff_days": "पूर्ण एक-बार के कार्य स्वतः संग्रहित करें (दिन, 0 = बंद)",
|
||||
"settings_delete_archived_oneoff_days": "संग्रहीत एक-बार के कार्य स्वतः हटाएँ (दिन, 0 = कभी नहीं)",
|
||||
"archive_object": "ऑब्जेक्ट संग्रहित करें",
|
||||
"unarchive_object": "ऑब्जेक्ट संग्रह से हटाएँ",
|
||||
"documents": "दस्तावेज़",
|
||||
"documents_empty": "अभी तक कोई दस्तावेज़ नहीं।",
|
||||
"doc_upload": "फ़ाइल अपलोड करें",
|
||||
"doc_uploading": "अपलोड हो रहा है…",
|
||||
"doc_add_link": "लिंक जोड़ें",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "शीर्षक (वैकल्पिक)",
|
||||
"doc_open": "खोलें",
|
||||
"doc_delete_confirm": "\"{name}\" हटाएँ?",
|
||||
"doc_too_large": "फ़ाइल बहुत बड़ी है (अधिकतम 25 MB)।",
|
||||
"doc_upload_failed": "अपलोड विफल रहा।",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "पहले से कहीं और संग्रहीत — साझा, कोई अतिरिक्त स्थान नहीं।",
|
||||
"doc_dup_in_object": "यह फ़ाइल पहले से इस ऑब्जेक्ट से जुड़ी है।",
|
||||
"doc_link_invalid": "केवल http/https लिंक की अनुमति है।",
|
||||
"doc_cat_manual": "मैनुअल",
|
||||
"doc_cat_warranty": "वारंटी",
|
||||
"doc_cat_invoice": "चालान",
|
||||
"doc_cat_spare_parts": "स्पेयर पार्ट्स",
|
||||
"doc_cat_photo": "फ़ोटो",
|
||||
"doc_cat_other": "अन्य",
|
||||
"doc_link_badge": "लिंक",
|
||||
"doc_storage_title": "दस्तावेज़ संग्रहण",
|
||||
"doc_storage_saved": "डीडुप्लिकेशन से बचत",
|
||||
"doc_storage_refresh": "ताज़ा करें",
|
||||
"doc_download": "डाउनलोड करें",
|
||||
"doc_close": "बंद करें",
|
||||
"doc_camera": "फ़ोटो लें",
|
||||
"doc_drop_hint": "फ़ाइलें यहाँ छोड़ें",
|
||||
"doc_task_none": "इस कार्य से कोई दस्तावेज़ संबद्ध नहीं है।",
|
||||
"doc_link_existing": "दस्तावेज़ जोड़ें…",
|
||||
"doc_attach": "जोड़ें",
|
||||
"doc_unlink": "अलग करें",
|
||||
"doc_page": "पृष्ठ",
|
||||
"chart_range_7d": "7दिन",
|
||||
"chart_range_30d": "30दिन",
|
||||
"chart_range_90d": "90दिन",
|
||||
"chart_range_1y": "1वर्ष",
|
||||
"chart_since_service": "पिछले रखरखाव के बाद से",
|
||||
"chart_no_stats": "इस एंटिटी के लिए दीर्घकालिक आँकड़े नहीं हैं — केवल रखरखाव इवेंट मान दिखाए जा रहे हैं",
|
||||
"auto_complete_on_recovery": "सेंसर ठीक होने पर स्वतः पूर्ण करें",
|
||||
"auto_complete_on_recovery_help": "जब ट्रिगर स्वयं हल हो जाता है तो एक पूर्णता दर्ज करता है (अंतिम निष्पादन सेट करता है) — जैसे नमक भरा गया, फ़िल्टर बदला गया।",
|
||||
"doc_search": "दस्तावेज़ खोजें…",
|
||||
"doc_search_none": "कोई मेल खाता दस्तावेज़ नहीं",
|
||||
"link_device_optional": "मौजूदा डिवाइस से लिंक करें (वैकल्पिक)",
|
||||
"parent_object_optional": "मूल ऑब्जेक्ट (वैकल्पिक)",
|
||||
"parent_none": "(कोई मूल नहीं)",
|
||||
"paused": "रोका गया",
|
||||
"pause_object": "रोकें",
|
||||
"resume_object": "फिर से शुरू करें",
|
||||
"pause_until_prompt": "इस ऑब्जेक्ट के शेड्यूल फ़्रीज़ करें — फिर से शुरू करने तक कुछ भी देय नहीं होगा और कोई सूचना नहीं आएगी। वैकल्पिक रूप से स्वतः पुनरारंभ की तारीख़ सेट करें।",
|
||||
"pause_until_label": "फिर से शुरू करें (वैकल्पिक)",
|
||||
"object_paused": "ऑब्जेक्ट रोका गया",
|
||||
"object_resumed": "ऑब्जेक्ट फिर से शुरू — शेड्यूल पुनः आरंभ",
|
||||
"object_paused_badge": "रोका गया",
|
||||
"paused_until_label": "तक",
|
||||
"replace_object": "बदलें…",
|
||||
"replace_object_prompt": "इस ऑब्जेक्ट को सेवानिवृत्त करें और उत्तराधिकारी बनाएं। इतिहास और लागत पुराने पर संग्रहीत रहती है; कार्य और दस्तावेज़ नए में चले जाते हैं, काउंटर नए सिरे से शुरू होते हैं।",
|
||||
"replace_name_label": "उत्तराधिकारी का नाम",
|
||||
"object_replaced": "ऑब्जेक्ट बदला गया — उत्तराधिकारी बनाया गया",
|
||||
"reading_unit_label": "रीडिंग इकाई (जैसे kWh, m³)",
|
||||
"reading_unit_help": "इस कार्य को पूरा करते समय दर्ज मान के बगल में दिखाई जाती है।",
|
||||
"reading_value_label": "रीडिंग मान",
|
||||
"reading_label": "रीडिंग",
|
||||
"settings_templates_label": "टेम्पलेट गैलरी",
|
||||
"settings_templates_hint": "जिन टेम्पलेट की कभी ज़रूरत नहीं होगी उन्हें अनचेक करें — वे \"टेम्पलेट से\" चयनकर्ताओं (पैनल और कॉन्फ़िग फ़्लो) से गायब हो जाएंगे। और कुछ नहीं बदलता; कभी भी फिर से सक्षम कर सकते हैं।",
|
||||
"worksheet": "कार्य पत्रक",
|
||||
"worksheet_scan_view": "कार्य खोलने के लिए स्कैन करें",
|
||||
"worksheet_scan_complete": "पूरा करने के लिए स्कैन करें",
|
||||
"worksheet_manual_excerpt": "मैनुअल अंश",
|
||||
"worksheet_pages": "पृष्ठ",
|
||||
"worksheet_printed": "मुद्रित",
|
||||
"worksheet_never": "कभी नहीं"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Manutenzione",
|
||||
"objects": "Oggetti",
|
||||
"tasks": "Attività",
|
||||
"overdue": "Scaduto",
|
||||
"due_soon": "In scadenza",
|
||||
"triggered": "Attivato",
|
||||
"ok": "OK",
|
||||
"all": "Tutti",
|
||||
"new_object": "+ Nuovo oggetto",
|
||||
"templates_from": "Da modello",
|
||||
"templates_title": "Inizia da un modello",
|
||||
"templates_task_count": "{n} attività",
|
||||
"template_created": "Creato da modello",
|
||||
"onboard_hint": "Aggiungi il primo oggetto per iniziare a tracciare la manutenzione.",
|
||||
"edit": "Modifica",
|
||||
"duplicate": "Duplica",
|
||||
"task_duplicated": "Attività duplicata",
|
||||
"object_duplicated": "Oggetto duplicato",
|
||||
"delete": "Elimina",
|
||||
"add_task": "+ Attività",
|
||||
"complete": "Completato",
|
||||
"completed": "Completato",
|
||||
"skip": "Salta",
|
||||
"skipped": "Saltato",
|
||||
"missed": "Missed",
|
||||
"reset": "Reimposta",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Annulla",
|
||||
"bulk_select": "Seleziona",
|
||||
"bulk_select_all": "Seleziona tutto",
|
||||
"bulk_n_selected": "{n} selezionati",
|
||||
"bulk_completed": "{n} attività completate",
|
||||
"bulk_archived": "{n} attività archiviate",
|
||||
"completing": "Completamento…",
|
||||
"interval": "Intervallo",
|
||||
"warning": "Avviso",
|
||||
"last_performed": "Ultima esecuzione",
|
||||
"next_due": "Prossima scadenza",
|
||||
"days_until_due": "Giorni alla scadenza",
|
||||
"avg_duration": "Ø Durata",
|
||||
"trigger": "Trigger",
|
||||
"trigger_type": "Tipo di trigger",
|
||||
"threshold_above": "Limite superiore",
|
||||
"threshold_below": "Limite inferiore",
|
||||
"threshold": "Soglia",
|
||||
"counter": "Contatore",
|
||||
"state_change": "Cambio di stato",
|
||||
"runtime": "Tempo di funzionamento",
|
||||
"runtime_hours": "Durata obiettivo (ore)",
|
||||
"target_value": "Valore obiettivo",
|
||||
"baseline": "Linea di base",
|
||||
"target_changes": "Modifiche obiettivo",
|
||||
"for_minutes": "Per (minuti)",
|
||||
"time_based": "Temporale",
|
||||
"sensor_based": "Sensore",
|
||||
"manual": "Manuale",
|
||||
"one_time": "Una tantum",
|
||||
"weekdays": "Giorni della settimana",
|
||||
"nth_weekday": "N-esimo giorno della settimana del mese",
|
||||
"day_of_month": "Giorno del mese",
|
||||
"recurrence_on_days": "Ripeti il",
|
||||
"recurrence_occurrence": "Occorrenza",
|
||||
"recurrence_weekday": "Giorno della settimana",
|
||||
"recurrence_day": "Giorno del mese (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1º",
|
||||
"ord_2": "2º",
|
||||
"ord_3": "3º",
|
||||
"ord_4": "4º",
|
||||
"ord_5": "5º",
|
||||
"ord_last": "Ultimo",
|
||||
"day_word": "Giorno",
|
||||
"interval_value": "Intervallo",
|
||||
"interval_unit": "Unità",
|
||||
"unit_days": "Giorni",
|
||||
"unit_weeks": "Settimane",
|
||||
"unit_months": "Mesi",
|
||||
"unit_years": "Anni",
|
||||
"due_date": "Data di scadenza",
|
||||
"cleaning": "Pulizia",
|
||||
"inspection": "Ispezione",
|
||||
"replacement": "Sostituzione",
|
||||
"calibration": "Calibrazione",
|
||||
"service": "Servizio",
|
||||
"reading": "Lettura",
|
||||
"custom": "Personalizzato",
|
||||
"history": "Cronologia",
|
||||
"cost": "Costo",
|
||||
"report_button": "Report",
|
||||
"report_title": "Report di manutenzione",
|
||||
"report_generated": "Generato",
|
||||
"report_times_done": "Fatto",
|
||||
"report_total_cost": "Costo totale",
|
||||
"report_every": "ogni {n} {unit}",
|
||||
"report_notes": "Note",
|
||||
"report_col_type": "Tipo",
|
||||
"report_col_status": "Stato",
|
||||
"report_col_schedule": "Pianificazione",
|
||||
"duration": "Durata",
|
||||
"both": "Entrambi",
|
||||
"trigger_val": "Valore trigger",
|
||||
"complete_title": "Completato: ",
|
||||
"checklist": "Checklist",
|
||||
"checklist_steps_optional": "Passaggi della checklist (opzionale)",
|
||||
"checklist_placeholder": "Pulire il filtro\nSostituire la guarnizione\nTestare la pressione",
|
||||
"checklist_help": "Un passaggio per riga. Max 100 elementi.",
|
||||
"err_too_long": "{field}: troppo lungo (max {n} caratteri)",
|
||||
"err_too_short": "{field}: troppo corto (min {n} caratteri)",
|
||||
"err_value_too_high": "{field}: troppo grande (max {n})",
|
||||
"err_value_too_low": "{field}: troppo piccolo (min {n})",
|
||||
"err_required": "{field}: campo obbligatorio",
|
||||
"err_wrong_type": "{field}: tipo errato (atteso: {type})",
|
||||
"err_invalid_choice": "{field}: valore non consentito",
|
||||
"err_invalid_value": "{field}: valore non valido",
|
||||
"feat_schedule_time": "Pianificazione oraria",
|
||||
"feat_schedule_time_desc": "Le attività scadono a un'ora specifica anziché a mezzanotte.",
|
||||
"schedule_time_optional": "Scadenza all'ora (opzionale, HH:MM)",
|
||||
"schedule_time_help": "Vuoto = mezzanotte (default). Fuso orario HA.",
|
||||
"at_time": "alle",
|
||||
"notes_optional": "Note (opzionale)",
|
||||
"cost_optional": "Costo (opzionale)",
|
||||
"duration_minutes": "Durata in minuti (opzionale)",
|
||||
"days": "giorni",
|
||||
"day": "giorno",
|
||||
"today": "Oggi",
|
||||
"d_overdue": "g in ritardo",
|
||||
"no_tasks": "Nessuna attività di manutenzione. Crea un oggetto per iniziare.",
|
||||
"no_tasks_short": "Nessuna attività",
|
||||
"no_history": "Nessuna voce nella cronologia.",
|
||||
"show_all": "Mostra tutto",
|
||||
"cost_duration_chart": "Costi & Durata",
|
||||
"installed": "Installato",
|
||||
"confirm_delete_object": "Eliminare questo oggetto e tutte le sue attività?",
|
||||
"confirm_delete_task": "Eliminare questa attività?",
|
||||
"min": "Min",
|
||||
"max": "Max",
|
||||
"save": "Salva",
|
||||
"saving": "Salvataggio…",
|
||||
"edit_task": "Modifica attività",
|
||||
"new_task": "Nuova attività di manutenzione",
|
||||
"task_name": "Nome attività",
|
||||
"maintenance_type": "Tipo di manutenzione",
|
||||
"priority": "Priorità",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Bassa",
|
||||
"priority_normal": "Normale",
|
||||
"priority_high": "Alta",
|
||||
"schedule_type": "Tipo di pianificazione",
|
||||
"interval_days": "Intervallo (giorni)",
|
||||
"warning_days": "Giorni di avviso",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "Ultima esecuzione (opzionale)",
|
||||
"interval_anchor": "Ancoraggio intervallo",
|
||||
"anchor_completion": "Dalla data di completamento",
|
||||
"anchor_planned": "Dalla data pianificata (nessuna deriva)",
|
||||
"edit_object": "Modifica oggetto",
|
||||
"name": "Nome",
|
||||
"manufacturer_optional": "Produttore (opzionale)",
|
||||
"model_optional": "Modello (opzionale)",
|
||||
"serial_number_optional": "Numero di serie (opzionale)",
|
||||
"serial_number_label": "N/S",
|
||||
"documentation_url_label": "Manuale",
|
||||
"object_notes_label": "Note",
|
||||
"sort_due_date": "Scadenza",
|
||||
"sort_object": "Nome oggetto",
|
||||
"sort_type": "Tipo",
|
||||
"sort_task_name": "Nome attività",
|
||||
"all_objects": "Tutti gli oggetti",
|
||||
"tasks_lower": "attività",
|
||||
"no_tasks_yet": "Nessuna attività",
|
||||
"add_first_task": "Aggiungi prima attività",
|
||||
"trigger_configuration": "Configurazione trigger",
|
||||
"entity_id": "ID entità",
|
||||
"comma_separated": "separati da virgola",
|
||||
"entity_logic": "Logica entità",
|
||||
"entity_logic_any": "Qualsiasi entità attiva",
|
||||
"entity_logic_all": "Tutte le entità devono attivare",
|
||||
"entities": "entità",
|
||||
"attribute_optional": "Attributo (opzionale, vuoto = stato)",
|
||||
"use_entity_state": "Usa stato dell'entità (nessun attributo)",
|
||||
"trigger_above": "Attivare sopra",
|
||||
"trigger_below": "Attivare sotto",
|
||||
"for_at_least_minutes": "Per almeno (minuti)",
|
||||
"safety_interval_days": "Intervallo di sicurezza (giorni, opzionale)",
|
||||
"safety_interval": "Intervallo di sicurezza (opzionale)",
|
||||
"delta_mode": "Modalità delta",
|
||||
"from_state_optional": "Dallo stato (opzionale)",
|
||||
"to_state_optional": "Allo stato (opzionale)",
|
||||
"documentation_url_optional": "URL documentazione (opzionale)",
|
||||
"object_notes_optional": "Note (opzionale)",
|
||||
"nfc_tag_id_optional": "ID tag NFC (opzionale)",
|
||||
"nfc_tags_empty_help": "Nessun tag NFC ancora registrato in Home Assistant.",
|
||||
"nfc_tags_open_settings": "Apri impostazioni tag",
|
||||
"nfc_tags_refresh": "Aggiorna",
|
||||
"environmental_entity_optional": "Sensore ambientale (opzionale)",
|
||||
"environmental_entity_helper": "es. sensor.temperatura_esterna — regola l'intervallo in base alle condizioni ambientali",
|
||||
"environmental_attribute_optional": "Attributo ambientale (opzionale)",
|
||||
"nfc_tag_id": "ID tag NFC",
|
||||
"nfc_linked": "Tag NFC collegato",
|
||||
"nfc_link_hint": "Clicca per collegare un tag NFC",
|
||||
"responsible_user": "Utente responsabile",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(Nessun utente assegnato)",
|
||||
"all_users": "Tutti gli utenti",
|
||||
"my_tasks": "Le mie attività",
|
||||
"tab_calendar": "Calendario",
|
||||
"cal_no_events": "Nessuna manutenzione",
|
||||
"cal_window_7": "7 giorni",
|
||||
"cal_window_14": "14 giorni",
|
||||
"cal_window_30": "30 giorni",
|
||||
"cal_window_365": "1 anno",
|
||||
"cal_every_n_days": "ogni {n} giorni",
|
||||
"cal_source_time": "Basato sul tempo",
|
||||
"cal_source_time_adaptive": "Basato sul tempo (adattivo)",
|
||||
"cal_source_sensor": "Basato su sensore",
|
||||
"cal_predicted": "previsto",
|
||||
"cal_confidence_high": "alta confidenza",
|
||||
"cal_confidence_medium": "media confidenza",
|
||||
"cal_confidence_low": "bassa confidenza",
|
||||
"budget_monthly": "Budget mensile",
|
||||
"budget_yearly": "Budget annuale",
|
||||
"groups": "Gruppi",
|
||||
"new_group": "Nuovo gruppo",
|
||||
"edit_group": "Modifica gruppo",
|
||||
"no_groups": "Nessun gruppo",
|
||||
"delete_group": "Elimina gruppo",
|
||||
"delete_group_confirm": "Eliminare il gruppo '{name}'?",
|
||||
"group_select_tasks": "Seleziona attività",
|
||||
"group_name_required": "Nome richiesto",
|
||||
"description_optional": "Descrizione (opzionale)",
|
||||
"selected": "Selezionato",
|
||||
"loading_chart": "Caricamento dati...",
|
||||
"hide_outliers": "Nascondi valori anomali (errori sensore)",
|
||||
"was_maintenance_needed": "Questa manutenzione era necessaria?",
|
||||
"feedback_needed": "Necessaria",
|
||||
"feedback_not_needed": "Non necessaria",
|
||||
"feedback_not_sure": "Non sicuro",
|
||||
"suggested_interval": "Intervallo suggerito",
|
||||
"apply_suggestion": "Applica",
|
||||
"reanalyze": "Rianalizza",
|
||||
"reanalyze_result": "Nuova analisi",
|
||||
"reanalyze_insufficient_data": "Dati insufficienti per una raccomandazione",
|
||||
"data_points": "punti dati",
|
||||
"dismiss_suggestion": "Ignora",
|
||||
"confidence_low": "Bassa",
|
||||
"confidence_medium": "Media",
|
||||
"confidence_high": "Alta",
|
||||
"recommended": "consigliato",
|
||||
"seasonal_awareness": "Consapevolezza stagionale",
|
||||
"edit_seasonal_overrides": "Modifica fattori stagionali",
|
||||
"seasonal_overrides_title": "Fattori stagionali (override)",
|
||||
"seasonal_overrides_hint": "Fattore per mese (0.1–5.0). Vuoto = appreso automaticamente.",
|
||||
"seasonal_override_invalid": "Valore non valido",
|
||||
"seasonal_override_range": "Il fattore deve essere tra 0.1 e 5.0",
|
||||
"clear_all": "Cancella tutto",
|
||||
"seasonal_chart_title": "Fattori stagionali",
|
||||
"seasonal_learned": "Appreso",
|
||||
"seasonal_manual": "Manuale",
|
||||
"month_jan": "Gen",
|
||||
"month_feb": "Feb",
|
||||
"month_mar": "Mar",
|
||||
"month_apr": "Apr",
|
||||
"month_may": "Mag",
|
||||
"month_jun": "Giu",
|
||||
"month_jul": "Lug",
|
||||
"month_aug": "Ago",
|
||||
"month_sep": "Set",
|
||||
"month_oct": "Ott",
|
||||
"month_nov": "Nov",
|
||||
"month_dec": "Dic",
|
||||
"sensor_prediction": "Previsione sensore",
|
||||
"degradation_trend": "Tendenza",
|
||||
"trend_rising": "In aumento",
|
||||
"trend_falling": "In calo",
|
||||
"trend_stable": "Stabile",
|
||||
"trend_insufficient_data": "Dati insufficienti",
|
||||
"days_until_threshold": "Giorni alla soglia",
|
||||
"threshold_exceeded": "Soglia superata",
|
||||
"environmental_adjustment": "Fattore ambientale",
|
||||
"sensor_prediction_urgency": "Il sensore prevede la soglia tra ~{days} giorni",
|
||||
"day_short": "giorno",
|
||||
"weibull_reliability_curve": "Curva di affidabilità",
|
||||
"weibull_failure_probability": "Probabilità di guasto",
|
||||
"weibull_r_squared": "Adattamento R²",
|
||||
"beta_early_failures": "Guasti precoci",
|
||||
"beta_random_failures": "Guasti casuali",
|
||||
"beta_wear_out": "Usura",
|
||||
"beta_highly_predictable": "Altamente prevedibile",
|
||||
"confidence_interval": "Intervallo di confidenza",
|
||||
"confidence_conservative": "Conservativo",
|
||||
"confidence_aggressive": "Ottimistico",
|
||||
"current_interval_marker": "Intervallo attuale",
|
||||
"recommended_marker": "Consigliato",
|
||||
"characteristic_life": "Vita caratteristica",
|
||||
"chart_mini_sparkline": "Sparkline di tendenza",
|
||||
"chart_history": "Cronologia costi e durata",
|
||||
"chart_seasonal": "Fattori stagionali, 12 mesi",
|
||||
"chart_weibull": "Curva di affidabilità Weibull",
|
||||
"chart_sparkline": "Grafico valore trigger sensore",
|
||||
"days_progress": "Avanzamento giorni",
|
||||
"qr_code": "Codice QR",
|
||||
"qr_generating": "Generazione codice QR…",
|
||||
"qr_error": "Impossibile generare il codice QR.",
|
||||
"qr_error_no_url": "Nessun URL HA configurato. Impostare un URL esterno o interno in Impostazioni → Sistema → Rete.",
|
||||
"save_error": "Salvataggio non riuscito. Riprovare.",
|
||||
"qr_print": "Stampa",
|
||||
"qr_download": "Scarica SVG",
|
||||
"qr_action": "Azione alla scansione",
|
||||
"qr_action_view": "Visualizza info manutenzione",
|
||||
"qr_action_complete": "Segna manutenzione come completata",
|
||||
"qr_url_mode": "Tipo di link",
|
||||
"qr_mode_companion": "Companion App",
|
||||
"qr_mode_local": "Locale (mDNS)",
|
||||
"qr_mode_server": "URL server",
|
||||
"overview": "Panoramica",
|
||||
"analysis": "Analisi",
|
||||
"recent_activities": "Attività recenti",
|
||||
"search_notes": "Cerca nelle note",
|
||||
"avg_cost": "Ø Costo",
|
||||
"no_advanced_features": "Nessuna funzione avanzata attivata",
|
||||
"no_advanced_features_hint": "Attiva “Intervalli Adattivi” o “Modelli Stagionali” nelle impostazioni dell'integrazione per vedere i dati di analisi qui.",
|
||||
"analysis_not_enough_data": "Non ci sono ancora abbastanza dati per l'analisi.",
|
||||
"analysis_not_enough_data_hint": "L'analisi Weibull richiede almeno 5 manutenzioni completate; i modelli stagionali diventano visibili dopo 6+ punti dati al mese.",
|
||||
"analysis_manual_task_hint": "Le attività manuali senza intervallo non generano dati di analisi.",
|
||||
"completions": "completamenti",
|
||||
"current": "Attuale",
|
||||
"shorter": "Più breve",
|
||||
"longer": "Più lungo",
|
||||
"normal": "Normale",
|
||||
"disabled": "Disattivato",
|
||||
"compound_logic": "Logica composta",
|
||||
"compound": "Composto (più condizioni)",
|
||||
"compound_logic_and": "E — tutte le condizioni devono attivarsi",
|
||||
"compound_logic_or": "O — basta una condizione",
|
||||
"compound_help": "Combina più condizioni dei sensori in un unico trigger.",
|
||||
"compound_no_conditions": "Ancora nessuna condizione — aggiungine almeno una.",
|
||||
"compound_add_condition": "Aggiungi condizione",
|
||||
"compound_condition": "Condizione",
|
||||
"compound_remove_condition": "Rimuovi condizione",
|
||||
"card_title": "Titolo",
|
||||
"card_show_header": "Mostra intestazione con statistiche",
|
||||
"card_show_actions": "Mostra pulsanti azione",
|
||||
"card_compact": "Modalità compatta",
|
||||
"card_max_items": "Max elementi (0 = tutti)",
|
||||
"card_filter_status": "Filtra per stato",
|
||||
"card_filter_status_help": "Vuoto = mostra tutti gli stati.",
|
||||
"card_filter_objects": "Filtra per oggetti",
|
||||
"card_filter_objects_help": "Vuoto = mostra tutti gli oggetti.",
|
||||
"card_filter_entities": "Filtra per entità (entity_ids)",
|
||||
"card_filter_entities_help": "Seleziona entità sensor / binary_sensor da questa integrazione. Vuoto = tutte.",
|
||||
"card_loading_objects": "Caricamento oggetti…",
|
||||
"card_load_error": "Impossibile caricare gli oggetti — verifica la connessione WebSocket.",
|
||||
"card_no_tasks_title": "Nessuna attività di manutenzione",
|
||||
"card_no_tasks_cta": "→ Creane una nel pannello Manutenzione",
|
||||
"no_objects": "Nessun oggetto ancora.",
|
||||
"action_error": "Azione fallita. Riprova.",
|
||||
"area_id_optional": "Area (opzionale)",
|
||||
"installation_date_optional": "Data di installazione (opzionale)",
|
||||
"warranty_expiry_optional": "Scadenza garanzia (opzionale)",
|
||||
"warranty": "Garanzia",
|
||||
"warranty_valid_until": "valida fino al {date}",
|
||||
"warranty_expires_in": "scade tra {days} giorni",
|
||||
"warranty_expired": "scaduta",
|
||||
"cal_past_windows": "Finestre passate",
|
||||
"cal_forward_windows": "Finestre future",
|
||||
"history_edit_title": "Modifica voce dello storico",
|
||||
"history_edit_timestamp": "Data e ora",
|
||||
"manufacturer": "Produttore",
|
||||
"model": "Modello",
|
||||
"area": "Area",
|
||||
"actions": "Azioni",
|
||||
"view_mode_label": "Vista",
|
||||
"view_cards": "Vista schede",
|
||||
"view_table": "Vista tabella",
|
||||
"objects_table_columns_label": "Colonne tabella oggetti",
|
||||
"objects_table_columns_hint": "Scegli quali colonne mostrare nella vista tabella degli oggetti.",
|
||||
"custom_icon_optional": "Icona (opzionale, es. mdi:wrench)",
|
||||
"task_enabled": "Attività abilitata",
|
||||
"skip_reason_prompt": "Saltare questa attività?",
|
||||
"reason_optional": "Motivo (opzionale)",
|
||||
"reset_date_prompt": "Segnare l'attività come eseguita?",
|
||||
"reset_date_optional": "Data ultima esecuzione (opzionale, predefinito: oggi)",
|
||||
"notes_label": "Note",
|
||||
"documentation_label": "Documentazione",
|
||||
"no_nfc_tag": "— Nessun tag —",
|
||||
"dashboard": "Dashboard",
|
||||
"tab_today": "Oggi",
|
||||
"palette_placeholder": "Cerca oggetti e attività…",
|
||||
"palette_no_results": "Nessun risultato",
|
||||
"palette_hint": "↑↓ naviga · Invio apri · Esc chiudi",
|
||||
"today_all_caught_up": "Tutto fatto! Niente in scadenza questa settimana.",
|
||||
"today_overdue": "Scadute",
|
||||
"today_due_today": "In scadenza oggi",
|
||||
"today_this_week": "Questa settimana",
|
||||
"settings": "Impostazioni",
|
||||
"settings_features": "Funzioni avanzate",
|
||||
"settings_features_desc": "Attiva o disattiva le funzioni avanzate. La disattivazione le nasconde dall'interfaccia ma non elimina i dati.",
|
||||
"feat_adaptive": "Pianificazione adattiva",
|
||||
"feat_adaptive_desc": "Impara intervalli ottimali dalla cronologia di manutenzione",
|
||||
"feat_predictions": "Previsioni sensore",
|
||||
"feat_predictions_desc": "Prevedi date di attivazione dalla degradazione dei sensori",
|
||||
"feat_seasonal": "Adeguamenti stagionali",
|
||||
"feat_seasonal_desc": "Adegua gli intervalli in base ai modelli stagionali",
|
||||
"feat_environmental": "Correlazione ambientale",
|
||||
"feat_environmental_desc": "Correla gli intervalli con temperatura/umidità",
|
||||
"feat_budget": "Monitoraggio budget",
|
||||
"feat_budget_desc": "Monitora le spese di manutenzione mensili e annuali",
|
||||
"feat_groups": "Gruppi di attività",
|
||||
"feat_groups_desc": "Organizza le attività in gruppi logici",
|
||||
"feat_checklists": "Checklist",
|
||||
"feat_checklists_desc": "Procedure multi-fase per il completamento delle attività",
|
||||
"settings_general": "Generale",
|
||||
"settings_default_warning": "Giorni di avviso predefiniti",
|
||||
"settings_panel_enabled": "Pannello laterale",
|
||||
"settings_panel_title": "Titolo pannello laterale",
|
||||
"settings_notifications": "Notifiche",
|
||||
"settings_notify_service": "Servizio di notifica",
|
||||
"test_notification": "Notifica di test",
|
||||
"send_test": "Invia test",
|
||||
"testing": "Invio in corso…",
|
||||
"test_notification_success": "Notifica di test inviata",
|
||||
"test_notification_failed": "Notifica di test non riuscita",
|
||||
"settings_notify_due_soon": "Notifica quando in scadenza",
|
||||
"settings_notify_overdue": "Notifica quando scaduto",
|
||||
"settings_notify_triggered": "Notifica quando attivato",
|
||||
"settings_interval_hours": "Intervallo di ripetizione (ore, 0 = una volta)",
|
||||
"settings_quiet_hours": "Ore di silenzio",
|
||||
"settings_quiet_start": "Inizio",
|
||||
"settings_quiet_end": "Fine",
|
||||
"settings_max_per_day": "Max notifiche al giorno (0 = illimitato)",
|
||||
"settings_bundling": "Raggruppare le notifiche",
|
||||
"settings_bundle_threshold": "Soglia di raggruppamento",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Pulsanti azione mobili",
|
||||
"settings_action_complete": "Mostra pulsante 'Completato'",
|
||||
"settings_action_skip": "Mostra pulsante 'Salta'",
|
||||
"settings_action_snooze": "Mostra pulsante 'Posticipa'",
|
||||
"settings_weekly_digest": "Riepilogo settimanale",
|
||||
"settings_weekly_digest_hint": "Una notifica di riepilogo il lunedì mattina quando ci sono attività.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Durata posticipo (ore)",
|
||||
"settings_budget": "Budget",
|
||||
"settings_currency": "Valuta",
|
||||
"settings_budget_monthly": "Budget mensile",
|
||||
"settings_budget_yearly": "Budget annuale",
|
||||
"settings_budget_alerts": "Avvisi budget",
|
||||
"settings_budget_threshold": "Soglia di avviso (%)",
|
||||
"settings_import_export": "Import / Export",
|
||||
"settings_export_json": "Esporta JSON",
|
||||
"settings_export_yaml": "Esporta YAML",
|
||||
"settings_export_csv": "Esporta CSV",
|
||||
"settings_import_csv": "Importa CSV",
|
||||
"settings_import_placeholder": "Incolla il contenuto JSON o CSV qui…",
|
||||
"settings_import_btn": "Importa",
|
||||
"settings_import_success": "{count} oggetti importati con successo.",
|
||||
"settings_export_success": "Export scaricato.",
|
||||
"settings_saved": "Impostazione salvata.",
|
||||
"settings_include_history": "Includi cronologia",
|
||||
"sort_alphabetical": "Alfabetico",
|
||||
"sort_due_soonest": "Scadenza più vicina",
|
||||
"sort_task_count": "Numero di attività",
|
||||
"sort_area": "Area",
|
||||
"sort_assigned_user": "Utente assegnato",
|
||||
"sort_group": "Gruppo",
|
||||
"groupby_none": "Nessun raggruppamento",
|
||||
"groupby_area": "Per area",
|
||||
"groupby_group": "Per gruppo",
|
||||
"groupby_user": "Per utente",
|
||||
"filter_label": "Filtro",
|
||||
"user_label": "Utente",
|
||||
"sort_label": "Ordinamento",
|
||||
"group_by_label": "Raggruppa per",
|
||||
"state_value_help": "Usa il valore di stato HA (di solito minuscolo, es. \"on\"/\"off\"). Il case viene normalizzato al salvataggio.",
|
||||
"target_changes_help": "Numero di transizioni corrispondenti prima che il trigger si attivi (predefinito: 1).",
|
||||
"qr_print_title": "Stampa codici QR",
|
||||
"qr_print_desc": "Genera una pagina stampabile di codici QR da ritagliare e applicare sulle apparecchiature.",
|
||||
"qr_print_load": "Carica oggetti",
|
||||
"qr_print_filter": "Filtro",
|
||||
"qr_print_objects": "Oggetti",
|
||||
"qr_print_actions": "Azioni",
|
||||
"qr_print_url_mode": "Tipo di link",
|
||||
"qr_print_estimate": "Codici QR stimati",
|
||||
"qr_print_over_limit": "limite 200, restringi il filtro",
|
||||
"qr_print_generate": "Genera codici QR",
|
||||
"qr_print_generating": "Generazione…",
|
||||
"qr_print_ready": "Codici QR pronti",
|
||||
"qr_print_print_button": "Stampa",
|
||||
"qr_print_empty": "Niente da generare",
|
||||
"qr_action_skip": "Salta",
|
||||
"vacation_title": "Modalità vacanza",
|
||||
"vacation_active": "attiva",
|
||||
"vacation_ended": "terminata",
|
||||
"vacation_desc": "Pianifica le tue vacanze: le notifiche vengono messe in pausa durante il periodo più giorni di buffer. Puoi escludere singole attività.",
|
||||
"vacation_enable": "Attiva modalità vacanza",
|
||||
"vacation_start": "Inizio",
|
||||
"vacation_end": "Fine",
|
||||
"vacation_buffer": "Buffer (giorni)",
|
||||
"vacation_exempt_title": "Notifica comunque durante le vacanze",
|
||||
"vacation_exempt_desc": "Scegli attività che devono notificare anche in vacanza (es. chimica della piscina critica).",
|
||||
"vacation_load_tasks": "Carica attività",
|
||||
"vacation_preview_btn": "Mostra anteprima",
|
||||
"vacation_preview_affected": "attività interessate",
|
||||
"vacation_event_due_soon": "sarà in scadenza",
|
||||
"vacation_event_overdue": "diventerà scaduta",
|
||||
"vacation_event_triggered_est": "trigger sensore possibile",
|
||||
"vacation_sensor_based": "(basato su sensore)",
|
||||
"vacation_action_notify": "Notifica comunque",
|
||||
"vacation_action_unsilence": "Silenzia di nuovo",
|
||||
"vacation_marked_complete": "Segnato come completato",
|
||||
"vacation_marked_skip": "Saltato",
|
||||
"vacation_end_now": "Termina vacanza ora",
|
||||
"unassigned": "Non assegnato",
|
||||
"no_area": "Nessuna area",
|
||||
"has_overdue": "Attività scadute",
|
||||
"object": "Oggetto",
|
||||
"settings_panel_access": "Accesso al pannello",
|
||||
"settings_panel_access_desc": "Gli amministratori hanno sempre accesso completo. Per delegare creazione, modifica ed eliminazione a non amministratori specifici, attiva questa opzione e selezionali qui sotto — gli altri vedono solo Completa e Salta.",
|
||||
"settings_operator_write": "Consenti agli utenti selezionati di creare, modificare ed eliminare",
|
||||
"settings_operator_write_desc": "Disattivato: solo gli amministratori possono modificare i contenuti. Attivato: anche gli utenti selezionati qui sotto hanno accesso completo.",
|
||||
"no_non_admin_users": "Nessun utente non amministratore trovato. Aggiungili in Impostazioni → Persone.",
|
||||
"owner_label": "Proprietario",
|
||||
"feat_completion_actions": "Azioni di completamento",
|
||||
"feat_completion_actions_desc": "Azione HA per attività al completamento + QR completamento rapido con valori predefiniti.",
|
||||
"on_complete_action_title": "Al completamento: attiva azione HA (opzionale)",
|
||||
"on_complete_action_desc": "Chiama un servizio HA quando l'attività viene completata — es. azzerare un contatore sul dispositivo.",
|
||||
"on_complete_action_service": "Servizio",
|
||||
"on_complete_action_target": "Entità target",
|
||||
"on_complete_action_data": "Dati (JSON, opzionale)",
|
||||
"on_complete_action_test": "Testa azione",
|
||||
"on_complete_action_test_success": "Riuscito",
|
||||
"on_complete_action_test_failed": "Fallito",
|
||||
"quick_complete_defaults_title": "Valori predefiniti completamento rapido (per scansioni QR, opzionale)",
|
||||
"quick_complete_defaults_desc": "Valori predefiniti per QR di completamento rapido. Senza, il QR apre la finestra di completamento.",
|
||||
"quick_complete_defaults_notes": "Note",
|
||||
"quick_complete_defaults_cost": "Costo",
|
||||
"quick_complete_defaults_duration": "Durata (minuti)",
|
||||
"quick_complete_defaults_feedback_none": "Nessun feedback",
|
||||
"quick_complete_defaults_feedback_needed": "Era necessario",
|
||||
"quick_complete_defaults_feedback_not_needed": "Non necessario",
|
||||
"quick_complete_success": "Completato rapidamente",
|
||||
"trigger_replaced": "Trigger sostituito",
|
||||
"add": "Aggiungi",
|
||||
"show_stats": "Mostra statistiche + grafici",
|
||||
"hide_stats": "Nascondi statistiche",
|
||||
"adaptive_no_data": "Storico dei completamenti ancora insufficiente per l'analisi adattiva. Completa questa attività ancora qualche volta per sbloccare i suggerimenti sull'intervallo e i grafici di affidabilità.",
|
||||
"suggestion_applied": "Intervallo suggerito applicato",
|
||||
"vacation_mode": "Modalità vacanza",
|
||||
"vacation_status_active": "Attiva ora",
|
||||
"vacation_status_scheduled": "Pianificata",
|
||||
"vacation_status_inactive": "Inattiva",
|
||||
"vacation_end_now_confirm": "Terminare subito la vacanza?",
|
||||
"vacation_exempt_count": "escluse",
|
||||
"vacation_advanced": "Avanzate…",
|
||||
"vacation_open_panel": "Apri nel pannello",
|
||||
"enable": "Attiva",
|
||||
"saved": "Salvato",
|
||||
"budget_monthly_set": "Imposta mensile",
|
||||
"budget_yearly_set": "Imposta annuale",
|
||||
"budget_advanced": "Valuta, avvisi…",
|
||||
"budget_open_panel": "Apri nel pannello",
|
||||
"groups_empty": "Nessun gruppo ancora.",
|
||||
"group_new_placeholder": "Aggiungi gruppo…",
|
||||
"group_delete_confirm": "Eliminare il gruppo \"{name}\"?",
|
||||
"groups_manage_tasks": "Gestisci assegnazioni attività…",
|
||||
"groups_open_panel": "Apri nel pannello",
|
||||
"on_complete_action_target_hint": "Nota: il dominio dell'entità deve corrispondere al servizio — es. 'button.press' funziona solo su button.*, 'counter.increment' solo su counter.*, 'input_button.press' solo su input_button.* ecc. In caso di mancata corrispondenza l'azione fallisce silenziosamente (HA registra 'Referenced entities ... missing or not currently available').",
|
||||
"show_all_objects": "Mostra tutti gli oggetti",
|
||||
"show_all_tasks": "Azzera filtro — mostra tutte le attività",
|
||||
"filter_to_overdue": "Filtra l'elenco solo sulle attività in ritardo",
|
||||
"filter_to_due_soon": "Filtra l'elenco solo sulle attività in scadenza",
|
||||
"filter_to_triggered": "Filtra l'elenco solo sulle attività attivate",
|
||||
"open_task": "Apri attività",
|
||||
"show_details": "Mostra storico + statistiche",
|
||||
"hide_details": "Nascondi dettagli",
|
||||
"history_empty": "Nessuno storico ancora.",
|
||||
"history_edit_button": "Modifica voce",
|
||||
"total_cost": "Costo totale",
|
||||
"times_performed": "Eseguita",
|
||||
"older_entries": "precedenti",
|
||||
"open_in_panel": "Apri nel pannello Manutenzione",
|
||||
"skip_reason": "Motivo del salto (facoltativo)",
|
||||
"reset_to_date": "Reimposta ultima esecuzione al",
|
||||
"delete_task_confirm": "Eliminare questa attività e il suo storico?",
|
||||
"delete_object_confirm": "Eliminare questo oggetto e tutte le sue attività?",
|
||||
"loading": "Caricamento…",
|
||||
"archive": "Archivia",
|
||||
"undo": "Annulla",
|
||||
"task_archived": "Attività archiviata",
|
||||
"object_archived": "Oggetto archiviato",
|
||||
"unarchive": "Annulla archiviazione",
|
||||
"archived": "Archiviato",
|
||||
"show_archived": "Mostra archiviati",
|
||||
"hide_archived": "Nascondi archiviati",
|
||||
"confirm_archive_object": "Archiviare questo oggetto e le sue attività? La cronologia viene conservata e può essere ripristinata in seguito.",
|
||||
"settings_archive": "Archiviazione e conservazione",
|
||||
"settings_archive_desc": "Metti da parte le attività una tantum completate senza eliminarle. Gli elementi archiviati sono nascosti e inattivi, ma conservano cronologia e costi.",
|
||||
"settings_archive_oneoff_days": "Archivia automaticamente le attività una tantum completate dopo (giorni, 0 = off)",
|
||||
"settings_delete_archived_oneoff_days": "Elimina automaticamente le attività una tantum archiviate dopo (giorni, 0 = mai)",
|
||||
"archive_object": "Archivia oggetto",
|
||||
"unarchive_object": "Annulla archiviazione oggetto",
|
||||
"documents": "Documenti",
|
||||
"documents_empty": "Ancora nessun documento.",
|
||||
"doc_upload": "Carica file",
|
||||
"doc_uploading": "Caricamento…",
|
||||
"doc_add_link": "Aggiungi link",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Titolo (facoltativo)",
|
||||
"doc_open": "Apri",
|
||||
"doc_delete_confirm": "Eliminare «{name}»?",
|
||||
"doc_too_large": "File troppo grande (max 25 MB).",
|
||||
"doc_upload_failed": "Caricamento non riuscito.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Già archiviato altrove — condiviso, nessuno spazio aggiuntivo.",
|
||||
"doc_dup_in_object": "Questo file è già allegato a questo oggetto.",
|
||||
"doc_link_invalid": "Sono consentiti solo link http/https.",
|
||||
"doc_cat_manual": "Manuale",
|
||||
"doc_cat_warranty": "Garanzia",
|
||||
"doc_cat_invoice": "Fattura",
|
||||
"doc_cat_spare_parts": "Ricambi",
|
||||
"doc_cat_photo": "Foto",
|
||||
"doc_cat_other": "Altro",
|
||||
"doc_link_badge": "Link",
|
||||
"doc_storage_title": "Archiviazione documenti",
|
||||
"doc_storage_saved": "Risparmiato con deduplicazione",
|
||||
"doc_storage_refresh": "Aggiorna",
|
||||
"doc_download": "Scarica",
|
||||
"doc_close": "Chiudi",
|
||||
"doc_camera": "Scatta foto",
|
||||
"doc_drop_hint": "Trascina qui i file",
|
||||
"doc_task_none": "Nessun documento collegato a questa attività.",
|
||||
"doc_link_existing": "Collega un documento…",
|
||||
"doc_attach": "Collega",
|
||||
"doc_unlink": "Scollega",
|
||||
"doc_page": "Pagina",
|
||||
"chart_range_7d": "7g",
|
||||
"chart_range_30d": "30g",
|
||||
"chart_range_90d": "90g",
|
||||
"chart_range_1y": "1a",
|
||||
"chart_since_service": "dall'ultima manutenzione",
|
||||
"chart_no_stats": "Nessuna statistica a lungo termine per questa entità — vengono mostrati solo i valori degli interventi",
|
||||
"auto_complete_on_recovery": "Completa automaticamente quando il sensore si ripristina",
|
||||
"auto_complete_on_recovery_help": "Registra un completamento (imposta l'ultima esecuzione) quando il trigger si risolve da solo — ad es. sale ricaricato, filtro sostituito.",
|
||||
"doc_search": "Cerca documenti…",
|
||||
"doc_search_none": "Nessun documento corrispondente",
|
||||
"link_device_optional": "Collega a dispositivo esistente (opzionale)",
|
||||
"parent_object_optional": "Oggetto principale (opzionale)",
|
||||
"parent_none": "(Nessun principale)",
|
||||
"paused": "In pausa",
|
||||
"pause_object": "Metti in pausa",
|
||||
"resume_object": "Riprendi",
|
||||
"pause_until_prompt": "Congela i calendari di questo oggetto: nulla scade e nulla notifica finché non viene ripreso. Facoltativamente imposta una data di ripresa automatica.",
|
||||
"pause_until_label": "Riprendi il (facoltativo)",
|
||||
"object_paused": "Oggetto in pausa",
|
||||
"object_resumed": "Oggetto ripreso — calendari riavviati",
|
||||
"object_paused_badge": "In pausa",
|
||||
"paused_until_label": "fino al",
|
||||
"replace_object": "Sostituisci…",
|
||||
"replace_object_prompt": "Ritira questo oggetto e crea un successore. Storico e costi restano archiviati sul vecchio; attività e documenti passano al nuovo, i contatori ripartono da zero.",
|
||||
"replace_name_label": "Nome del successore",
|
||||
"object_replaced": "Oggetto sostituito — successore creato",
|
||||
"reading_unit_label": "Unità di lettura (es. kWh, m³)",
|
||||
"reading_unit_help": "Mostrata accanto al valore registrato al completamento di questa attività.",
|
||||
"reading_value_label": "Valore letto",
|
||||
"reading_label": "Lettura",
|
||||
"settings_templates_label": "Galleria modelli",
|
||||
"settings_templates_hint": "Deseleziona i modelli che non ti serviranno mai: spariscono dai selettori \"Da modello\" (pannello e config flow). Nient'altro cambia; riattivabili in qualsiasi momento.",
|
||||
"worksheet": "Scheda di lavoro",
|
||||
"worksheet_scan_view": "Scansiona per aprire l'attività",
|
||||
"worksheet_scan_complete": "Scansiona per completare",
|
||||
"worksheet_manual_excerpt": "Estratto del manuale",
|
||||
"worksheet_pages": "pagine",
|
||||
"worksheet_printed": "Stampato",
|
||||
"worksheet_never": "Mai"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "メンテナンス",
|
||||
"objects": "対象",
|
||||
"tasks": "タスク",
|
||||
"overdue": "期限超過",
|
||||
"due_soon": "期限間近",
|
||||
"triggered": "トリガー発生",
|
||||
"trigger_replaced": "トリガー解除済み",
|
||||
"ok": "OK",
|
||||
"all": "すべて",
|
||||
"new_object": "+ 新規対象",
|
||||
"templates_from": "テンプレートから",
|
||||
"templates_title": "テンプレートから始める",
|
||||
"templates_task_count": "{n} 件のタスク",
|
||||
"template_created": "テンプレートから作成しました",
|
||||
"onboard_hint": "最初のオブジェクトを追加してメンテナンスの記録を始めましょう。",
|
||||
"edit": "編集",
|
||||
"duplicate": "複製",
|
||||
"task_duplicated": "タスクを複製しました",
|
||||
"object_duplicated": "オブジェクトを複製しました",
|
||||
"delete": "削除",
|
||||
"add_task": "+ タスク追加",
|
||||
"complete": "完了",
|
||||
"completed": "完了済み",
|
||||
"skip": "スキップ",
|
||||
"skipped": "スキップ済み",
|
||||
"missed": "Missed",
|
||||
"reset": "リセット",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "キャンセル",
|
||||
"bulk_select": "選択",
|
||||
"bulk_select_all": "すべて選択",
|
||||
"bulk_n_selected": "{n} 件選択",
|
||||
"bulk_completed": "{n} 件のタスクを完了",
|
||||
"bulk_archived": "{n} 件のタスクをアーカイブ",
|
||||
"completing": "完了処理中…",
|
||||
"interval": "間隔",
|
||||
"warning": "警告",
|
||||
"last_performed": "最終実施",
|
||||
"next_due": "次回期限",
|
||||
"days_until_due": "期限までの日数",
|
||||
"avg_duration": "平均所要時間",
|
||||
"trigger": "トリガー",
|
||||
"trigger_type": "トリガー種別",
|
||||
"threshold_above": "上限",
|
||||
"threshold_below": "下限",
|
||||
"threshold": "しきい値",
|
||||
"counter": "カウンター",
|
||||
"state_change": "状態変化",
|
||||
"runtime": "稼働時間",
|
||||
"runtime_hours": "目標稼働時間(時間)",
|
||||
"target_value": "目標値",
|
||||
"baseline": "基準値",
|
||||
"target_changes": "変化回数",
|
||||
"for_minutes": "継続(分)",
|
||||
"time_based": "時間ベース",
|
||||
"sensor_based": "センサーベース",
|
||||
"manual": "手動",
|
||||
"one_time": "1回のみ",
|
||||
"weekdays": "曜日",
|
||||
"nth_weekday": "毎月第N曜日",
|
||||
"day_of_month": "毎月の日",
|
||||
"recurrence_on_days": "繰り返す曜日",
|
||||
"recurrence_occurrence": "出現週",
|
||||
"recurrence_weekday": "曜日",
|
||||
"recurrence_day": "日(1〜31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "第1",
|
||||
"ord_2": "第2",
|
||||
"ord_3": "第3",
|
||||
"ord_4": "第4",
|
||||
"ord_5": "第5",
|
||||
"ord_last": "最終",
|
||||
"day_word": "日",
|
||||
"interval_value": "間隔",
|
||||
"interval_unit": "単位",
|
||||
"unit_days": "日",
|
||||
"unit_weeks": "週",
|
||||
"unit_months": "か月",
|
||||
"unit_years": "年",
|
||||
"due_date": "期限日",
|
||||
"cleaning": "清掃",
|
||||
"inspection": "点検",
|
||||
"replacement": "交換",
|
||||
"calibration": "校正",
|
||||
"service": "保守",
|
||||
"reading": "読み取り",
|
||||
"custom": "カスタム",
|
||||
"history": "履歴",
|
||||
"cost": "費用",
|
||||
"report_button": "レポート",
|
||||
"report_title": "メンテナンスレポート",
|
||||
"report_generated": "作成日",
|
||||
"report_times_done": "実施回数",
|
||||
"report_total_cost": "合計費用",
|
||||
"report_every": "{n} {unit} ごと",
|
||||
"report_notes": "メモ",
|
||||
"report_col_type": "種類",
|
||||
"report_col_status": "状態",
|
||||
"report_col_schedule": "スケジュール",
|
||||
"duration": "所要時間",
|
||||
"both": "両方",
|
||||
"trigger_val": "トリガー値",
|
||||
"complete_title": "完了: ",
|
||||
"checklist": "チェックリスト",
|
||||
"checklist_steps_optional": "チェックリストの手順(任意)",
|
||||
"checklist_placeholder": "フィルター清掃\nシール交換\n圧力テスト",
|
||||
"checklist_help": "1行に1手順。最大100項目。",
|
||||
"err_too_long": "{field}: 長すぎます(最大{n}文字)",
|
||||
"err_too_short": "{field}: 短すぎます(最小{n}文字)",
|
||||
"err_value_too_high": "{field}: 大きすぎます(最大{n})",
|
||||
"err_value_too_low": "{field}: 小さすぎます(最小{n})",
|
||||
"err_required": "{field}: 必須です",
|
||||
"err_wrong_type": "{field}: 型が違います(期待値: {type})",
|
||||
"err_invalid_choice": "{field}: 許可されていない値です",
|
||||
"err_invalid_value": "{field}: 無効な値です",
|
||||
"feat_schedule_time": "時刻指定スケジュール",
|
||||
"feat_schedule_time_desc": "タスクが深夜0時ではなく指定した時刻に期限超過となります。",
|
||||
"schedule_time_optional": "期限の時刻(任意、HH:MM)",
|
||||
"schedule_time_help": "空欄=深夜0時(既定)。HAのタイムゾーン。",
|
||||
"at_time": "時刻",
|
||||
"notes_optional": "メモ(任意)",
|
||||
"cost_optional": "費用(任意)",
|
||||
"duration_minutes": "所要時間(分、任意)",
|
||||
"days": "日",
|
||||
"day": "日",
|
||||
"today": "今日",
|
||||
"d_overdue": "日超過",
|
||||
"no_tasks": "メンテナンスタスクがまだありません。対象を作成して始めましょう。",
|
||||
"no_tasks_short": "タスクなし",
|
||||
"no_history": "履歴がまだありません。",
|
||||
"show_all": "すべて表示",
|
||||
"cost_duration_chart": "費用と所要時間",
|
||||
"installed": "設置済み",
|
||||
"confirm_delete_object": "この対象とすべてのタスクを削除しますか?",
|
||||
"confirm_delete_task": "このタスクを削除しますか?",
|
||||
"min": "最小",
|
||||
"max": "最大",
|
||||
"save": "保存",
|
||||
"saving": "保存中…",
|
||||
"edit_task": "タスクを編集",
|
||||
"new_task": "新規メンテナンスタスク",
|
||||
"task_name": "タスク名",
|
||||
"maintenance_type": "メンテナンス種別",
|
||||
"priority": "優先度",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "低",
|
||||
"priority_normal": "標準",
|
||||
"priority_high": "高",
|
||||
"schedule_type": "スケジュール種別",
|
||||
"interval_days": "間隔(日)",
|
||||
"warning_days": "警告日数",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "最終実施(任意)",
|
||||
"interval_anchor": "間隔の起点",
|
||||
"anchor_completion": "完了日から",
|
||||
"anchor_planned": "予定日から(ずれなし)",
|
||||
"edit_object": "対象を編集",
|
||||
"name": "名前",
|
||||
"manufacturer_optional": "メーカー(任意)",
|
||||
"model_optional": "型番(任意)",
|
||||
"serial_number_optional": "シリアル番号(任意)",
|
||||
"serial_number_label": "S/N",
|
||||
"documentation_url_label": "取扱説明書",
|
||||
"object_notes_label": "メモ",
|
||||
"sort_due_date": "期限日",
|
||||
"sort_object": "対象名",
|
||||
"sort_type": "種別",
|
||||
"sort_task_name": "タスク名",
|
||||
"all_objects": "すべての対象",
|
||||
"tasks_lower": "タスク",
|
||||
"no_tasks_yet": "タスクがまだありません",
|
||||
"add_first_task": "最初のタスクを追加",
|
||||
"trigger_configuration": "トリガー設定",
|
||||
"entity_id": "エンティティID",
|
||||
"comma_separated": "カンマ区切り",
|
||||
"entity_logic": "エンティティ条件",
|
||||
"entity_logic_any": "いずれかのエンティティでトリガー",
|
||||
"entity_logic_all": "すべてのエンティティが条件を満たす必要あり",
|
||||
"entities": "エンティティ",
|
||||
"attribute_optional": "属性(任意、空欄=状態)",
|
||||
"use_entity_state": "エンティティの状態を使用(属性なし)",
|
||||
"trigger_above": "この値を超えたらトリガー",
|
||||
"trigger_below": "この値を下回ったらトリガー",
|
||||
"for_at_least_minutes": "最低継続時間(分)",
|
||||
"safety_interval_days": "安全間隔(日、任意)",
|
||||
"safety_interval": "安全間隔(任意)",
|
||||
"delta_mode": "差分モード",
|
||||
"from_state_optional": "変化前の状態(任意)",
|
||||
"to_state_optional": "変化後の状態(任意)",
|
||||
"documentation_url_optional": "ドキュメントURL(任意)",
|
||||
"object_notes_optional": "メモ(任意)",
|
||||
"nfc_tag_id_optional": "NFCタグID(任意)",
|
||||
"nfc_tags_empty_help": "Home AssistantにNFCタグがまだ登録されていません。",
|
||||
"nfc_tags_open_settings": "タグ設定を開く",
|
||||
"nfc_tags_refresh": "更新",
|
||||
"environmental_entity_optional": "環境センサー(任意)",
|
||||
"environmental_entity_helper": "例: sensor.outdoor_temperature — 環境条件に応じて間隔を調整します",
|
||||
"environmental_attribute_optional": "環境属性(任意)",
|
||||
"nfc_tag_id": "NFCタグID",
|
||||
"nfc_linked": "NFCタグ連携済み",
|
||||
"nfc_link_hint": "クリックしてNFCタグを連携",
|
||||
"responsible_user": "担当ユーザー",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(担当者なし)",
|
||||
"all_users": "すべてのユーザー",
|
||||
"my_tasks": "自分のタスク",
|
||||
"tab_calendar": "カレンダー",
|
||||
"cal_no_events": "メンテナンスなし",
|
||||
"cal_window_7": "7日間",
|
||||
"cal_window_14": "14日間",
|
||||
"cal_window_30": "30日間",
|
||||
"cal_window_365": "1年間",
|
||||
"cal_every_n_days": "{n}日ごと",
|
||||
"cal_source_time": "時間ベース",
|
||||
"cal_source_time_adaptive": "時間ベース(適応)",
|
||||
"cal_source_sensor": "センサーベース",
|
||||
"cal_predicted": "予測",
|
||||
"cal_confidence_high": "信頼度:高",
|
||||
"cal_confidence_medium": "信頼度:中",
|
||||
"cal_confidence_low": "信頼度:低",
|
||||
"budget_monthly": "月間予算",
|
||||
"budget_yearly": "年間予算",
|
||||
"groups": "グループ",
|
||||
"new_group": "新規グループ",
|
||||
"edit_group": "グループを編集",
|
||||
"no_groups": "グループがまだありません",
|
||||
"delete_group": "グループを削除",
|
||||
"delete_group_confirm": "グループ「{name}」を削除しますか?",
|
||||
"group_select_tasks": "タスクを選択",
|
||||
"group_name_required": "名前は必須です",
|
||||
"description_optional": "説明(任意)",
|
||||
"selected": "選択中",
|
||||
"loading_chart": "グラフデータを読み込み中...",
|
||||
"hide_outliers": "外れ値を隠す(センサー誤差)",
|
||||
"was_maintenance_needed": "このメンテナンスは必要でしたか?",
|
||||
"feedback_needed": "必要だった",
|
||||
"feedback_not_needed": "不要だった",
|
||||
"feedback_not_sure": "わからない",
|
||||
"suggested_interval": "推奨間隔",
|
||||
"apply_suggestion": "適用",
|
||||
"reanalyze": "再分析",
|
||||
"reanalyze_result": "新しい分析結果",
|
||||
"reanalyze_insufficient_data": "推奨を出すにはデータが不足しています",
|
||||
"data_points": "データポイント",
|
||||
"dismiss_suggestion": "閉じる",
|
||||
"confidence_low": "低",
|
||||
"confidence_medium": "中",
|
||||
"confidence_high": "高",
|
||||
"recommended": "推奨",
|
||||
"seasonal_awareness": "季節対応",
|
||||
"edit_seasonal_overrides": "季節係数を編集",
|
||||
"seasonal_overrides_title": "季節係数(上書き)",
|
||||
"seasonal_overrides_hint": "月ごとの係数(0.1〜5.0)。空欄=自動学習。",
|
||||
"seasonal_override_invalid": "無効な値です",
|
||||
"seasonal_override_range": "係数は0.1〜5.0の範囲で指定してください",
|
||||
"clear_all": "すべてクリア",
|
||||
"seasonal_chart_title": "季節係数",
|
||||
"seasonal_learned": "学習値",
|
||||
"seasonal_manual": "手動",
|
||||
"month_jan": "1月",
|
||||
"month_feb": "2月",
|
||||
"month_mar": "3月",
|
||||
"month_apr": "4月",
|
||||
"month_may": "5月",
|
||||
"month_jun": "6月",
|
||||
"month_jul": "7月",
|
||||
"month_aug": "8月",
|
||||
"month_sep": "9月",
|
||||
"month_oct": "10月",
|
||||
"month_nov": "11月",
|
||||
"month_dec": "12月",
|
||||
"sensor_prediction": "センサー予測",
|
||||
"degradation_trend": "傾向",
|
||||
"trend_rising": "上昇",
|
||||
"trend_falling": "下降",
|
||||
"trend_stable": "安定",
|
||||
"trend_insufficient_data": "データ不足",
|
||||
"days_until_threshold": "しきい値までの日数",
|
||||
"threshold_exceeded": "しきい値超過",
|
||||
"environmental_adjustment": "環境係数",
|
||||
"sensor_prediction_urgency": "センサー予測:約{days}日でしきい値到達",
|
||||
"day_short": "日",
|
||||
"weibull_reliability_curve": "信頼性曲線",
|
||||
"weibull_failure_probability": "故障確率",
|
||||
"weibull_r_squared": "適合度 R²",
|
||||
"beta_early_failures": "初期故障",
|
||||
"beta_random_failures": "偶発故障",
|
||||
"beta_wear_out": "摩耗故障",
|
||||
"beta_highly_predictable": "高い予測可能性",
|
||||
"confidence_interval": "信頼区間",
|
||||
"confidence_conservative": "保守的",
|
||||
"confidence_aggressive": "楽観的",
|
||||
"current_interval_marker": "現在の間隔",
|
||||
"recommended_marker": "推奨",
|
||||
"characteristic_life": "特性寿命",
|
||||
"chart_mini_sparkline": "傾向スパークライン",
|
||||
"chart_history": "費用と所要時間の履歴",
|
||||
"chart_seasonal": "季節係数(12か月)",
|
||||
"chart_weibull": "ワイブル信頼性曲線",
|
||||
"chart_sparkline": "センサートリガー値のグラフ",
|
||||
"days_progress": "経過日数",
|
||||
"qr_code": "QRコード",
|
||||
"qr_generating": "QRコードを生成中…",
|
||||
"qr_error": "QRコードの生成に失敗しました。",
|
||||
"qr_error_no_url": "HAのURLが設定されていません。設定 → システム → ネットワークで外部または内部URLを設定してください。",
|
||||
"save_error": "保存に失敗しました。もう一度お試しください。",
|
||||
"qr_print": "印刷",
|
||||
"qr_download": "SVGをダウンロード",
|
||||
"qr_action": "スキャン時の動作",
|
||||
"qr_action_view": "メンテナンス情報を表示",
|
||||
"qr_action_complete": "メンテナンスを完了にする",
|
||||
"qr_url_mode": "リンク種別",
|
||||
"qr_mode_companion": "コンパニオンアプリ",
|
||||
"qr_mode_local": "ローカル(mDNS)",
|
||||
"qr_mode_server": "サーバーURL",
|
||||
"overview": "概要",
|
||||
"analysis": "分析",
|
||||
"recent_activities": "最近のアクティビティ",
|
||||
"search_notes": "メモを検索",
|
||||
"avg_cost": "平均費用",
|
||||
"no_advanced_features": "高度な機能が有効になっていません",
|
||||
"no_advanced_features_hint": "統合設定で「適応間隔」または「季節パターン」を有効にすると、ここに分析データが表示されます。",
|
||||
"analysis_not_enough_data": "分析に必要なデータがまだ不足しています。",
|
||||
"analysis_not_enough_data_hint": "ワイブル分析には完了済みメンテナンスが最低5件必要です。季節パターンは月あたり6件以上のデータポイントで表示されるようになります。",
|
||||
"analysis_manual_task_hint": "間隔のない手動タスクは分析データを生成しません。",
|
||||
"completions": "完了回数",
|
||||
"current": "現在",
|
||||
"shorter": "短く",
|
||||
"longer": "長く",
|
||||
"normal": "通常",
|
||||
"disabled": "無効",
|
||||
"compound_logic": "複合条件",
|
||||
"compound": "複合(複数条件)",
|
||||
"compound_logic_and": "AND — すべての条件が必要",
|
||||
"compound_logic_or": "OR — いずれかの条件で発火",
|
||||
"compound_help": "複数のセンサー条件を1つのトリガーにまとめます。",
|
||||
"compound_no_conditions": "条件がありません — 少なくとも1つ追加してください。",
|
||||
"compound_add_condition": "条件を追加",
|
||||
"compound_condition": "条件",
|
||||
"compound_remove_condition": "条件を削除",
|
||||
"card_title": "タイトル",
|
||||
"card_show_header": "統計付きヘッダーを表示",
|
||||
"card_show_actions": "操作ボタンを表示",
|
||||
"card_compact": "コンパクトモード",
|
||||
"card_max_items": "最大表示件数(0=すべて)",
|
||||
"card_filter_status": "状態で絞り込み",
|
||||
"card_filter_status_help": "空欄=すべての状態を表示。",
|
||||
"card_filter_objects": "対象で絞り込み",
|
||||
"card_filter_objects_help": "空欄=すべての対象を表示。",
|
||||
"card_filter_entities": "エンティティで絞り込み(entity_ids)",
|
||||
"card_filter_entities_help": "この統合のsensor/binary_sensorエンティティを選択。空欄=すべて。",
|
||||
"card_loading_objects": "対象を読み込み中…",
|
||||
"card_load_error": "対象を読み込めませんでした — WebSocket接続を確認してください。",
|
||||
"card_no_tasks_title": "メンテナンスタスクがまだありません",
|
||||
"card_no_tasks_cta": "→ メンテナンスパネルで作成しましょう",
|
||||
"no_objects": "対象がまだありません。",
|
||||
"action_error": "操作に失敗しました。もう一度お試しください。",
|
||||
"area_id_optional": "エリア(任意)",
|
||||
"installation_date_optional": "設置日(任意)",
|
||||
"warranty_expiry_optional": "保証期限(任意)",
|
||||
"warranty": "保証",
|
||||
"warranty_valid_until": "{date}まで有効",
|
||||
"warranty_expires_in": "あと{days}日で期限切れ",
|
||||
"warranty_expired": "期限切れ",
|
||||
"cal_past_windows": "過去の期間",
|
||||
"cal_forward_windows": "今後の期間",
|
||||
"history_edit_title": "履歴項目を編集",
|
||||
"history_edit_timestamp": "日時",
|
||||
"manufacturer": "メーカー",
|
||||
"model": "型番",
|
||||
"area": "エリア",
|
||||
"actions": "操作",
|
||||
"view_mode_label": "表示",
|
||||
"view_cards": "カード表示",
|
||||
"view_table": "テーブル表示",
|
||||
"objects_table_columns_label": "対象テーブルの列",
|
||||
"objects_table_columns_hint": "対象のテーブル表示に表示する列を選択します。",
|
||||
"custom_icon_optional": "アイコン(任意、例: mdi:wrench)",
|
||||
"task_enabled": "タスク有効",
|
||||
"skip_reason_prompt": "このタスクをスキップしますか?",
|
||||
"reason_optional": "理由(任意)",
|
||||
"reset_date_prompt": "タスクを実施済みにしますか?",
|
||||
"reset_date_optional": "最終実施日(任意、既定は今日)",
|
||||
"notes_label": "メモ",
|
||||
"documentation_label": "ドキュメント",
|
||||
"no_nfc_tag": "— タグなし —",
|
||||
"dashboard": "ダッシュボード",
|
||||
"tab_today": "今日",
|
||||
"palette_placeholder": "オブジェクトとタスクを検索…",
|
||||
"palette_no_results": "一致なし",
|
||||
"palette_hint": "↑↓ 移動 · Enter 開く · Esc 閉じる",
|
||||
"today_all_caught_up": "すべて完了!今週の予定はありません。",
|
||||
"today_overdue": "期限切れ",
|
||||
"today_due_today": "今日期限",
|
||||
"today_this_week": "今週",
|
||||
"settings": "設定",
|
||||
"settings_features": "高度な機能",
|
||||
"settings_features_desc": "高度な機能の有効/無効を切り替えます。無効にするとUIから非表示になりますが、データは削除されません。",
|
||||
"feat_adaptive": "適応スケジューリング",
|
||||
"feat_adaptive_desc": "メンテナンス履歴から最適な間隔を学習します",
|
||||
"feat_predictions": "センサー予測",
|
||||
"feat_predictions_desc": "センサーの劣化からトリガー日を予測します",
|
||||
"feat_seasonal": "季節調整",
|
||||
"feat_seasonal_desc": "季節パターンに基づいて間隔を調整します",
|
||||
"feat_environmental": "環境相関",
|
||||
"feat_environmental_desc": "温度・湿度と間隔を相関させます",
|
||||
"feat_budget": "予算管理",
|
||||
"feat_budget_desc": "月間・年間のメンテナンス費用を管理します",
|
||||
"feat_groups": "タスクグループ",
|
||||
"feat_groups_desc": "タスクを論理的なグループに整理します",
|
||||
"feat_checklists": "チェックリスト",
|
||||
"feat_checklists_desc": "タスク完了のための複数手順の手続き",
|
||||
"settings_general": "一般",
|
||||
"settings_default_warning": "既定の警告日数",
|
||||
"settings_panel_enabled": "サイドバーパネル",
|
||||
"settings_panel_title": "サイドバーパネルのタイトル",
|
||||
"settings_notifications": "通知",
|
||||
"settings_notify_service": "通知サービス",
|
||||
"test_notification": "テスト通知",
|
||||
"send_test": "テスト送信",
|
||||
"testing": "送信中…",
|
||||
"test_notification_success": "テスト通知を送信しました",
|
||||
"test_notification_failed": "テスト通知に失敗しました",
|
||||
"settings_notify_due_soon": "期限間近で通知",
|
||||
"settings_notify_overdue": "期限超過で通知",
|
||||
"settings_notify_triggered": "トリガー発生で通知",
|
||||
"settings_interval_hours": "繰り返し間隔(時間、0=1回のみ)",
|
||||
"settings_quiet_hours": "通知停止時間",
|
||||
"settings_quiet_start": "開始",
|
||||
"settings_quiet_end": "終了",
|
||||
"settings_max_per_day": "1日あたりの最大通知数(0=無制限)",
|
||||
"settings_bundling": "通知をまとめる",
|
||||
"settings_bundle_threshold": "まとめるしきい値",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "モバイル操作ボタン",
|
||||
"settings_action_complete": "「完了」ボタンを表示",
|
||||
"settings_action_skip": "「スキップ」ボタンを表示",
|
||||
"settings_action_snooze": "「スヌーズ」ボタンを表示",
|
||||
"settings_weekly_digest": "週間まとめ",
|
||||
"settings_weekly_digest_hint": "タスクがある月曜の朝に1件のまとめ通知。",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "スヌーズ時間(時間)",
|
||||
"settings_budget": "予算",
|
||||
"settings_currency": "通貨",
|
||||
"settings_budget_monthly": "月間予算",
|
||||
"settings_budget_yearly": "年間予算",
|
||||
"settings_budget_alerts": "予算アラート",
|
||||
"settings_budget_threshold": "アラートしきい値(%)",
|
||||
"settings_import_export": "インポート/エクスポート",
|
||||
"settings_export_json": "JSONをエクスポート",
|
||||
"settings_export_yaml": "YAMLをエクスポート",
|
||||
"settings_export_csv": "CSVをエクスポート",
|
||||
"settings_import_csv": "CSVをインポート",
|
||||
"settings_import_placeholder": "JSONまたはCSVの内容をここに貼り付け…",
|
||||
"settings_import_btn": "インポート",
|
||||
"settings_import_success": "{count}件の対象を正常にインポートしました。",
|
||||
"settings_export_success": "エクスポートをダウンロードしました。",
|
||||
"settings_saved": "設定を保存しました。",
|
||||
"settings_include_history": "履歴を含める",
|
||||
"sort_alphabetical": "アルファベット順",
|
||||
"sort_due_soonest": "期限が近い順",
|
||||
"sort_task_count": "タスク数",
|
||||
"sort_area": "エリア",
|
||||
"sort_assigned_user": "担当ユーザー",
|
||||
"sort_group": "グループ",
|
||||
"groupby_none": "グループ化なし",
|
||||
"groupby_area": "エリア別",
|
||||
"groupby_group": "グループ別",
|
||||
"groupby_user": "ユーザー別",
|
||||
"filter_label": "絞り込み",
|
||||
"user_label": "ユーザー",
|
||||
"sort_label": "並べ替え",
|
||||
"group_by_label": "グループ化",
|
||||
"state_value_help": "HAの状態値を使用してください(通常は小文字、例: \"on\"/\"off\")。保存時に大文字小文字は正規化されます。",
|
||||
"target_changes_help": "トリガーが発生するまでに一致する遷移の回数(既定: 1)。",
|
||||
"qr_print_title": "QRコードを印刷",
|
||||
"qr_print_desc": "切り取って機器に貼れるQRコードの印刷ページを生成します。",
|
||||
"qr_print_load": "対象を読み込む",
|
||||
"qr_print_filter": "絞り込み",
|
||||
"qr_print_objects": "対象",
|
||||
"qr_print_actions": "操作",
|
||||
"qr_print_url_mode": "リンク種別",
|
||||
"qr_print_estimate": "QRコードの推定数",
|
||||
"qr_print_over_limit": "上限は200件です。絞り込んでください",
|
||||
"qr_print_generate": "QRコードを生成",
|
||||
"qr_print_generating": "生成中…",
|
||||
"qr_print_ready": "QRコードの準備完了",
|
||||
"qr_print_print_button": "印刷",
|
||||
"qr_print_empty": "生成する対象がありません",
|
||||
"qr_action_skip": "スキップ",
|
||||
"vacation_title": "休暇モード",
|
||||
"vacation_active": "有効",
|
||||
"vacation_ended": "終了済み",
|
||||
"vacation_desc": "休暇を計画します。期間中とその前後のバッファ日数の間、通知が一時停止されます。特定のタスクは通知対象に戻せます。",
|
||||
"vacation_enable": "休暇モードを有効にする",
|
||||
"vacation_start": "開始",
|
||||
"vacation_end": "終了",
|
||||
"vacation_buffer": "バッファ(日)",
|
||||
"vacation_exempt_title": "休暇中でも通知する",
|
||||
"vacation_exempt_desc": "休暇中でも通知すべきタスクを選択します(例: 重要なプールの水質管理)。",
|
||||
"vacation_load_tasks": "タスクを読み込む",
|
||||
"vacation_preview_btn": "プレビューを表示",
|
||||
"vacation_preview_affected": "件のタスクが影響を受けます",
|
||||
"vacation_event_due_soon": "期限間近になります",
|
||||
"vacation_event_overdue": "期限超過になります",
|
||||
"vacation_event_triggered_est": "センサートリガーの可能性あり",
|
||||
"vacation_sensor_based": "(センサーベース)",
|
||||
"vacation_action_notify": "通知する",
|
||||
"vacation_action_unsilence": "再び停止する",
|
||||
"vacation_marked_complete": "完了にしました",
|
||||
"vacation_marked_skip": "スキップしました",
|
||||
"vacation_end_now": "今すぐ休暇を終了",
|
||||
"add": "追加",
|
||||
"show_stats": "統計とグラフを表示",
|
||||
"hide_stats": "統計を非表示",
|
||||
"adaptive_no_data": "適応分析に必要な完了履歴がまだ不足しています。このタスクをあと数回完了すると、間隔の推奨と信頼性グラフが利用できるようになります。",
|
||||
"suggestion_applied": "推奨間隔を適用しました",
|
||||
"vacation_mode": "休暇モード",
|
||||
"vacation_status_active": "現在有効",
|
||||
"vacation_status_scheduled": "予定済み",
|
||||
"vacation_status_inactive": "無効",
|
||||
"vacation_end_now_confirm": "今すぐ休暇を終了しますか?",
|
||||
"vacation_exempt_count": "件 除外",
|
||||
"vacation_advanced": "詳細…",
|
||||
"vacation_open_panel": "パネルで開く",
|
||||
"enable": "有効にする",
|
||||
"saved": "保存しました",
|
||||
"budget_monthly_set": "月間を設定",
|
||||
"budget_yearly_set": "年間を設定",
|
||||
"budget_advanced": "通貨、アラート…",
|
||||
"budget_open_panel": "パネルで開く",
|
||||
"groups_empty": "グループがまだありません。",
|
||||
"group_new_placeholder": "グループを追加…",
|
||||
"group_delete_confirm": "グループ「{name}」を削除しますか?",
|
||||
"groups_manage_tasks": "タスクの割り当てを管理…",
|
||||
"groups_open_panel": "パネルで開く",
|
||||
"unassigned": "未割り当て",
|
||||
"no_area": "エリアなし",
|
||||
"has_overdue": "期限超過のタスクあり",
|
||||
"object": "対象",
|
||||
"settings_panel_access": "パネルアクセス",
|
||||
"settings_panel_access_desc": "管理者は常にフルアクセスできます。作成・編集・削除を特定の非管理者に委任するには、これをオンにして下記で選択してください。それ以外のユーザーには完了とスキップのみが表示されます。",
|
||||
"settings_operator_write": "選択したユーザーに作成・編集・削除を許可",
|
||||
"settings_operator_write_desc": "オフ:管理者のみがコンテンツを変更できます。オン:下記で選択したユーザーもフルアクセスできます。",
|
||||
"no_non_admin_users": "非管理者ユーザーが見つかりません。設定 → ユーザーで追加してください。",
|
||||
"owner_label": "オーナー",
|
||||
"feat_completion_actions": "完了時アクション",
|
||||
"feat_completion_actions_desc": "タスクごとの完了時HAアクション+事前設定値付きのクイック完了QR。",
|
||||
"on_complete_action_title": "完了時: HAアクションを実行(任意)",
|
||||
"on_complete_action_desc": "タスク完了時にHAサービスを呼び出します — 例: デバイスのカウンターをリセット。",
|
||||
"on_complete_action_service": "サービス",
|
||||
"on_complete_action_target": "対象エンティティ",
|
||||
"on_complete_action_target_hint": "注意: エンティティのドメインはサービスと一致する必要があります — 例: 'button.press'はbutton.*のみ、'counter.increment'はcounter.*のみ、'input_button.press'はinput_button.*のみで動作します。不一致の場合、アクションは何も表示せずに失敗します(HAのログに「Referenced entities ... missing or not currently available」と記録されます)。",
|
||||
"on_complete_action_data": "データ(JSON、任意)",
|
||||
"on_complete_action_test": "設定を検証",
|
||||
"on_complete_action_test_success": "✓ 設定は有効です(アクションはタスク完了時のみ実行されます)",
|
||||
"on_complete_action_test_failed": "失敗しました",
|
||||
"quick_complete_defaults_title": "クイック完了の既定値(QRスキャン用、任意)",
|
||||
"quick_complete_defaults_desc": "クイック完了QRスキャンの事前設定値。設定しない場合、QRは完了ダイアログを開きます。",
|
||||
"quick_complete_defaults_notes": "メモ",
|
||||
"quick_complete_defaults_cost": "費用",
|
||||
"quick_complete_defaults_duration": "所要時間(分)",
|
||||
"quick_complete_defaults_feedback_none": "フィードバックなし",
|
||||
"quick_complete_defaults_feedback_needed": "必要だった",
|
||||
"quick_complete_defaults_feedback_not_needed": "不要だった",
|
||||
"quick_complete_success": "クイック完了にしました",
|
||||
"show_all_objects": "すべての対象を表示",
|
||||
"show_all_tasks": "絞り込みを解除 — すべてのタスクを表示",
|
||||
"filter_to_overdue": "タスク一覧を期限超過のみに絞り込む",
|
||||
"filter_to_due_soon": "タスク一覧を期限間近のみに絞り込む",
|
||||
"filter_to_triggered": "タスク一覧をトリガー発生のみに絞り込む",
|
||||
"open_task": "タスクを開く",
|
||||
"show_details": "履歴と統計を表示",
|
||||
"hide_details": "詳細を非表示",
|
||||
"history_empty": "履歴がまだありません。",
|
||||
"history_edit_button": "項目を編集",
|
||||
"total_cost": "費用合計",
|
||||
"times_performed": "実施回数",
|
||||
"older_entries": "以前",
|
||||
"open_in_panel": "メンテナンスパネルで開く",
|
||||
"skip_reason": "スキップ理由(任意)",
|
||||
"reset_to_date": "最終実施日を次の日付にリセット",
|
||||
"delete_task_confirm": "このタスクと履歴を削除しますか?",
|
||||
"delete_object_confirm": "この対象とすべてのタスクを削除しますか?",
|
||||
"loading": "読み込み中…",
|
||||
"archive": "アーカイブ",
|
||||
"undo": "元に戻す",
|
||||
"task_archived": "タスクをアーカイブしました",
|
||||
"object_archived": "オブジェクトをアーカイブしました",
|
||||
"unarchive": "アーカイブ解除",
|
||||
"archived": "アーカイブ済み",
|
||||
"show_archived": "アーカイブを表示",
|
||||
"hide_archived": "アーカイブを非表示",
|
||||
"confirm_archive_object": "このオブジェクトとそのタスクをアーカイブしますか?履歴は保持され、後で元に戻せます。",
|
||||
"settings_archive": "アーカイブと保持",
|
||||
"settings_archive_desc": "完了した単発タスクを削除せずに片付けます。アーカイブされた項目は非表示で動作しませんが、履歴とコストは保持されます。",
|
||||
"settings_archive_oneoff_days": "完了した単発タスクを自動アーカイブする日数(0 = 無効)",
|
||||
"settings_delete_archived_oneoff_days": "アーカイブ済み単発タスクを自動削除する日数(0 = しない)",
|
||||
"archive_object": "オブジェクトをアーカイブ",
|
||||
"unarchive_object": "オブジェクトのアーカイブを解除",
|
||||
"documents": "ドキュメント",
|
||||
"documents_empty": "まだドキュメントがありません。",
|
||||
"doc_upload": "ファイルをアップロード",
|
||||
"doc_uploading": "アップロード中…",
|
||||
"doc_add_link": "リンクを追加",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "タイトル(任意)",
|
||||
"doc_open": "開く",
|
||||
"doc_delete_confirm": "「{name}」を削除しますか?",
|
||||
"doc_too_large": "ファイルが大きすぎます(最大 25 MB)。",
|
||||
"doc_upload_failed": "アップロードに失敗しました。",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "既に別の場所に保存済み — 共有され、追加容量はかかりません。",
|
||||
"doc_dup_in_object": "このファイルは既にこのオブジェクトに添付されています。",
|
||||
"doc_link_invalid": "http/https のリンクのみ許可されています。",
|
||||
"doc_cat_manual": "取扱説明書",
|
||||
"doc_cat_warranty": "保証書",
|
||||
"doc_cat_invoice": "請求書",
|
||||
"doc_cat_spare_parts": "交換部品",
|
||||
"doc_cat_photo": "写真",
|
||||
"doc_cat_other": "その他",
|
||||
"doc_link_badge": "リンク",
|
||||
"doc_storage_title": "ドキュメントストレージ",
|
||||
"doc_storage_saved": "重複排除による節約",
|
||||
"doc_storage_refresh": "更新",
|
||||
"doc_download": "ダウンロード",
|
||||
"doc_close": "閉じる",
|
||||
"doc_camera": "写真を撮る",
|
||||
"doc_drop_hint": "ここにファイルをドロップ",
|
||||
"doc_task_none": "このタスクに紐付いたドキュメントはありません。",
|
||||
"doc_link_existing": "ドキュメントを紐付け…",
|
||||
"doc_attach": "紐付け",
|
||||
"doc_unlink": "紐付け解除",
|
||||
"doc_page": "ページ",
|
||||
"chart_range_7d": "7日",
|
||||
"chart_range_30d": "30日",
|
||||
"chart_range_90d": "90日",
|
||||
"chart_range_1y": "1年",
|
||||
"chart_since_service": "前回のメンテナンス以降",
|
||||
"chart_no_stats": "このエンティティには長期統計がありません — メンテナンス記録の値のみ表示しています",
|
||||
"auto_complete_on_recovery": "センサー回復時に自動完了",
|
||||
"auto_complete_on_recovery_help": "トリガーが自然に解消されたとき(塩の補充、フィルター交換など)に完了を記録し、最終実施日を更新します。",
|
||||
"doc_search": "ドキュメントを検索…",
|
||||
"doc_search_none": "一致するドキュメントはありません",
|
||||
"link_device_optional": "既存のデバイスにリンク(任意)",
|
||||
"parent_object_optional": "親オブジェクト(任意)",
|
||||
"parent_none": "(親なし)",
|
||||
"paused": "一時停止中",
|
||||
"pause_object": "一時停止",
|
||||
"resume_object": "再開",
|
||||
"pause_until_prompt": "このオブジェクトのスケジュールを凍結します。再開するまで期限も通知も発生しません。必要に応じて自動再開日を設定できます。",
|
||||
"pause_until_label": "再開日(任意)",
|
||||
"object_paused": "オブジェクトを一時停止しました",
|
||||
"object_resumed": "オブジェクトを再開しました — スケジュールを再スタート",
|
||||
"object_paused_badge": "一時停止中",
|
||||
"paused_until_label": "まで",
|
||||
"replace_object": "置き換え…",
|
||||
"replace_object_prompt": "このオブジェクトを退役させ、後継を作成します。履歴とコストは旧オブジェクトにアーカイブされたまま残り、タスクと文書は新しいオブジェクトへ引き継がれ、カウンターはリセットされます。",
|
||||
"replace_name_label": "後継の名前",
|
||||
"object_replaced": "オブジェクトを置き換えました — 後継を作成",
|
||||
"reading_unit_label": "検針単位(例: kWh、m³)",
|
||||
"reading_unit_help": "このタスクの完了時に記録値の横に表示されます。",
|
||||
"reading_value_label": "検針値",
|
||||
"reading_label": "検針",
|
||||
"settings_templates_label": "テンプレートギャラリー",
|
||||
"settings_templates_hint": "不要なテンプレートのチェックを外すと、「テンプレートから」の選択肢(パネルと設定フロー)から消えます。それ以外は何も変わらず、いつでも再有効化できます。",
|
||||
"worksheet": "作業シート",
|
||||
"worksheet_scan_view": "スキャンしてタスクを開く",
|
||||
"worksheet_scan_complete": "スキャンして完了",
|
||||
"worksheet_manual_excerpt": "マニュアル抜粋",
|
||||
"worksheet_pages": "ページ",
|
||||
"worksheet_printed": "印刷日",
|
||||
"worksheet_never": "未実施"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Vedlikehold",
|
||||
"objects": "Objekter",
|
||||
"tasks": "Oppgaver",
|
||||
"overdue": "Forfalt",
|
||||
"due_soon": "Forfaller snart",
|
||||
"triggered": "Utløst",
|
||||
"trigger_replaced": "Utløser erstattet",
|
||||
"ok": "OK",
|
||||
"all": "Alle",
|
||||
"new_object": "+ Nytt objekt",
|
||||
"templates_from": "Fra mal",
|
||||
"templates_title": "Start fra en mal",
|
||||
"templates_task_count": "{n} oppgaver",
|
||||
"template_created": "Opprettet fra mal",
|
||||
"onboard_hint": "Legg til ditt første objekt for å spore vedlikehold.",
|
||||
"edit": "Rediger",
|
||||
"duplicate": "Dupliser",
|
||||
"task_duplicated": "Oppgave duplisert",
|
||||
"object_duplicated": "Objekt duplisert",
|
||||
"delete": "Slett",
|
||||
"add_task": "+ Legg til oppgave",
|
||||
"complete": "Fullfør",
|
||||
"completed": "Fullført",
|
||||
"skip": "Hopp over",
|
||||
"skipped": "Hoppet over",
|
||||
"missed": "Missed",
|
||||
"reset": "Tilbakestill",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Avbryt",
|
||||
"bulk_select": "Velg",
|
||||
"bulk_select_all": "Velg alle",
|
||||
"bulk_n_selected": "{n} valgt",
|
||||
"bulk_completed": "{n} oppgaver fullført",
|
||||
"bulk_archived": "{n} oppgaver arkivert",
|
||||
"completing": "Fullfører…",
|
||||
"interval": "Intervall",
|
||||
"warning": "Advarsel",
|
||||
"last_performed": "Sist utført",
|
||||
"next_due": "Neste forfall",
|
||||
"days_until_due": "Dager til forfall",
|
||||
"avg_duration": "Gj.snittlig varighet",
|
||||
"trigger": "Utløser",
|
||||
"trigger_type": "Utløsertype",
|
||||
"threshold_above": "Øvre grense",
|
||||
"threshold_below": "Nedre grense",
|
||||
"threshold": "Terskel",
|
||||
"counter": "Teller",
|
||||
"state_change": "Tilstandsendring",
|
||||
"runtime": "Driftstid",
|
||||
"runtime_hours": "Måldriftstid (timer)",
|
||||
"target_value": "Målverdi",
|
||||
"baseline": "Utgangspunkt",
|
||||
"target_changes": "Antall endringer",
|
||||
"for_minutes": "I (minutter)",
|
||||
"time_based": "Tidsbasert",
|
||||
"sensor_based": "Sensorbasert",
|
||||
"manual": "Manuell",
|
||||
"one_time": "Engangs",
|
||||
"weekdays": "Ukedager",
|
||||
"nth_weekday": "N-te ukedag i måneden",
|
||||
"day_of_month": "Dag i måneden",
|
||||
"recurrence_on_days": "Gjenta på",
|
||||
"recurrence_occurrence": "Forekomst",
|
||||
"recurrence_weekday": "Ukedag",
|
||||
"recurrence_day": "Dag i måneden (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1.",
|
||||
"ord_2": "2.",
|
||||
"ord_3": "3.",
|
||||
"ord_4": "4.",
|
||||
"ord_5": "5.",
|
||||
"ord_last": "Siste",
|
||||
"day_word": "Dag",
|
||||
"interval_value": "Intervall",
|
||||
"interval_unit": "Enhet",
|
||||
"unit_days": "Dager",
|
||||
"unit_weeks": "Uker",
|
||||
"unit_months": "Måneder",
|
||||
"unit_years": "År",
|
||||
"due_date": "Forfallsdato",
|
||||
"cleaning": "Rengjøring",
|
||||
"inspection": "Inspeksjon",
|
||||
"replacement": "Utskifting",
|
||||
"calibration": "Kalibrering",
|
||||
"service": "Service",
|
||||
"reading": "Avlesning",
|
||||
"custom": "Egendefinert",
|
||||
"history": "Historikk",
|
||||
"cost": "Kostnad",
|
||||
"report_button": "Rapport",
|
||||
"report_title": "Vedlikeholdsrapport",
|
||||
"report_generated": "Generert",
|
||||
"report_times_done": "Utført",
|
||||
"report_total_cost": "Totalkostnad",
|
||||
"report_every": "hver {n}. {unit}",
|
||||
"report_notes": "Notater",
|
||||
"report_col_type": "Type",
|
||||
"report_col_status": "Status",
|
||||
"report_col_schedule": "Tidsplan",
|
||||
"duration": "Varighet",
|
||||
"both": "Begge",
|
||||
"trigger_val": "Utløserverdi",
|
||||
"complete_title": "Fullfør: ",
|
||||
"checklist": "Sjekkliste",
|
||||
"checklist_steps_optional": "Sjekklistetrinn (valgfritt)",
|
||||
"checklist_placeholder": "Rengjør filter\nBytt pakning\nTest trykk",
|
||||
"checklist_help": "Ett trinn per linje. Maks 100 elementer.",
|
||||
"err_too_long": "{field}: for lang (maks {n} tegn)",
|
||||
"err_too_short": "{field}: for kort (min {n} tegn)",
|
||||
"err_value_too_high": "{field}: for stor (maks {n})",
|
||||
"err_value_too_low": "{field}: for liten (min {n})",
|
||||
"err_required": "{field}: påkrevd",
|
||||
"err_wrong_type": "{field}: feil type (forventet: {type})",
|
||||
"err_invalid_choice": "{field}: ikke en tillatt verdi",
|
||||
"err_invalid_value": "{field}: ugyldig verdi",
|
||||
"feat_schedule_time": "Planlegging med klokkeslett",
|
||||
"feat_schedule_time_desc": "Oppgaver forfaller på et bestemt klokkeslett i stedet for ved midnatt.",
|
||||
"schedule_time_optional": "Forfaller kl. (valgfritt, TT:MM)",
|
||||
"schedule_time_help": "Tom = midnatt (standard). HA-tidssone.",
|
||||
"at_time": "kl.",
|
||||
"notes_optional": "Notater (valgfritt)",
|
||||
"cost_optional": "Kostnad (valgfritt)",
|
||||
"duration_minutes": "Varighet i minutter (valgfritt)",
|
||||
"days": "dager",
|
||||
"day": "dag",
|
||||
"today": "I dag",
|
||||
"d_overdue": "d forfalt",
|
||||
"no_tasks": "Ingen vedlikeholdsoppgaver ennå. Opprett et objekt for å komme i gang.",
|
||||
"no_tasks_short": "Ingen oppgaver",
|
||||
"no_history": "Ingen historikkoppføringer ennå.",
|
||||
"show_all": "Vis alle",
|
||||
"cost_duration_chart": "Kostnad og varighet",
|
||||
"installed": "Installert",
|
||||
"confirm_delete_object": "Slette dette objektet og alle dets oppgaver?",
|
||||
"confirm_delete_task": "Slette denne oppgaven?",
|
||||
"min": "Min",
|
||||
"max": "Maks",
|
||||
"save": "Lagre",
|
||||
"saving": "Lagrer…",
|
||||
"edit_task": "Rediger oppgave",
|
||||
"new_task": "Ny vedlikeholdsoppgave",
|
||||
"task_name": "Oppgavenavn",
|
||||
"maintenance_type": "Vedlikeholdstype",
|
||||
"priority": "Prioritet",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Lav",
|
||||
"priority_normal": "Normal",
|
||||
"priority_high": "Høy",
|
||||
"schedule_type": "Planleggingstype",
|
||||
"interval_days": "Intervall (dager)",
|
||||
"warning_days": "Varslingsdager",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "Sist utført (valgfritt)",
|
||||
"interval_anchor": "Intervallforankring",
|
||||
"anchor_completion": "Fra fullføringsdato",
|
||||
"anchor_planned": "Fra planlagt dato (ingen avdrift)",
|
||||
"edit_object": "Rediger objekt",
|
||||
"name": "Navn",
|
||||
"manufacturer_optional": "Produsent (valgfritt)",
|
||||
"model_optional": "Modell (valgfritt)",
|
||||
"serial_number_optional": "Serienummer (valgfritt)",
|
||||
"serial_number_label": "S/N",
|
||||
"documentation_url_label": "Bruksanvisning",
|
||||
"object_notes_label": "Notater",
|
||||
"sort_due_date": "Forfallsdato",
|
||||
"sort_object": "Objektnavn",
|
||||
"sort_type": "Type",
|
||||
"sort_task_name": "Oppgavenavn",
|
||||
"all_objects": "Alle objekter",
|
||||
"tasks_lower": "oppgaver",
|
||||
"no_tasks_yet": "Ingen oppgaver ennå",
|
||||
"add_first_task": "Legg til første oppgave",
|
||||
"trigger_configuration": "Utløserkonfigurasjon",
|
||||
"entity_id": "Entitets-ID",
|
||||
"comma_separated": "kommaseparert",
|
||||
"entity_logic": "Entitetslogikk",
|
||||
"entity_logic_any": "Hvilken som helst entitet utløser",
|
||||
"entity_logic_all": "Alle entiteter må utløse",
|
||||
"entities": "entiteter",
|
||||
"attribute_optional": "Attributt (valgfritt, tomt = tilstand)",
|
||||
"use_entity_state": "Bruk entitetstilstand (ingen attributt)",
|
||||
"trigger_above": "Utløs over",
|
||||
"trigger_below": "Utløs under",
|
||||
"for_at_least_minutes": "I minst (minutter)",
|
||||
"safety_interval_days": "Sikkerhetsintervall (dager, valgfritt)",
|
||||
"safety_interval": "Sikkerhetsintervall (valgfritt)",
|
||||
"delta_mode": "Deltamodus",
|
||||
"from_state_optional": "Fra tilstand (valgfritt)",
|
||||
"to_state_optional": "Til tilstand (valgfritt)",
|
||||
"documentation_url_optional": "Dokumentasjons-URL (valgfritt)",
|
||||
"object_notes_optional": "Notater (valgfritt)",
|
||||
"nfc_tag_id_optional": "NFC-brikke-ID (valgfritt)",
|
||||
"nfc_tags_empty_help": "Ingen NFC-brikker registrert i Home Assistant ennå.",
|
||||
"nfc_tags_open_settings": "Åpne brikkeinnstillinger",
|
||||
"nfc_tags_refresh": "Oppdater",
|
||||
"environmental_entity_optional": "Miljøsensor (valgfritt)",
|
||||
"environmental_entity_helper": "f.eks. sensor.outdoor_temperature — justerer intervallet basert på miljøforhold",
|
||||
"environmental_attribute_optional": "Miljøattributt (valgfritt)",
|
||||
"nfc_tag_id": "NFC-brikke-ID",
|
||||
"nfc_linked": "NFC-brikke koblet",
|
||||
"nfc_link_hint": "Klikk for å koble NFC-brikke",
|
||||
"responsible_user": "Ansvarlig bruker",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(Ingen bruker tildelt)",
|
||||
"all_users": "Alle brukere",
|
||||
"my_tasks": "Mine oppgaver",
|
||||
"tab_calendar": "Kalender",
|
||||
"cal_no_events": "Ingen vedlikehold",
|
||||
"cal_window_7": "7 dager",
|
||||
"cal_window_14": "14 dager",
|
||||
"cal_window_30": "30 dager",
|
||||
"cal_window_365": "1 år",
|
||||
"cal_every_n_days": "hver {n}. dag",
|
||||
"cal_source_time": "Tidsbasert",
|
||||
"cal_source_time_adaptive": "Tidsbasert (adaptiv)",
|
||||
"cal_source_sensor": "Sensorbasert",
|
||||
"cal_predicted": "forutsagt",
|
||||
"cal_confidence_high": "høy sikkerhet",
|
||||
"cal_confidence_medium": "middels sikkerhet",
|
||||
"cal_confidence_low": "lav sikkerhet",
|
||||
"budget_monthly": "Månedsbudsjett",
|
||||
"budget_yearly": "Årsbudsjett",
|
||||
"groups": "Grupper",
|
||||
"new_group": "Ny gruppe",
|
||||
"edit_group": "Rediger gruppe",
|
||||
"no_groups": "Ingen grupper ennå",
|
||||
"delete_group": "Slett gruppe",
|
||||
"delete_group_confirm": "Slette gruppen '{name}'?",
|
||||
"group_select_tasks": "Velg oppgaver",
|
||||
"group_name_required": "Navn er påkrevd",
|
||||
"description_optional": "Beskrivelse (valgfritt)",
|
||||
"selected": "Valgt",
|
||||
"loading_chart": "Laster diagramdata...",
|
||||
"hide_outliers": "Skjul avvik (sensorfeil)",
|
||||
"was_maintenance_needed": "Var dette vedlikeholdet nødvendig?",
|
||||
"feedback_needed": "Nødvendig",
|
||||
"feedback_not_needed": "Ikke nødvendig",
|
||||
"feedback_not_sure": "Usikker",
|
||||
"suggested_interval": "Foreslått intervall",
|
||||
"apply_suggestion": "Bruk",
|
||||
"reanalyze": "Analyser på nytt",
|
||||
"reanalyze_result": "Ny analyse",
|
||||
"reanalyze_insufficient_data": "Ikke nok data til å gi en anbefaling",
|
||||
"data_points": "datapunkter",
|
||||
"dismiss_suggestion": "Avvis",
|
||||
"confidence_low": "Lav",
|
||||
"confidence_medium": "Middels",
|
||||
"confidence_high": "Høy",
|
||||
"recommended": "anbefalt",
|
||||
"seasonal_awareness": "Sesongbevissthet",
|
||||
"edit_seasonal_overrides": "Rediger sesongfaktorer",
|
||||
"seasonal_overrides_title": "Sesongfaktorer (overstyring)",
|
||||
"seasonal_overrides_hint": "Faktor per måned (0,1–5,0). Tom = læres automatisk.",
|
||||
"seasonal_override_invalid": "Ugyldig verdi",
|
||||
"seasonal_override_range": "Faktor må være mellom 0,1 og 5,0",
|
||||
"clear_all": "Fjern alle",
|
||||
"seasonal_chart_title": "Sesongfaktorer",
|
||||
"seasonal_learned": "Lært",
|
||||
"seasonal_manual": "Manuell",
|
||||
"month_jan": "Jan",
|
||||
"month_feb": "Feb",
|
||||
"month_mar": "Mar",
|
||||
"month_apr": "Apr",
|
||||
"month_may": "Mai",
|
||||
"month_jun": "Jun",
|
||||
"month_jul": "Jul",
|
||||
"month_aug": "Aug",
|
||||
"month_sep": "Sep",
|
||||
"month_oct": "Okt",
|
||||
"month_nov": "Nov",
|
||||
"month_dec": "Des",
|
||||
"sensor_prediction": "Sensorprediksjon",
|
||||
"degradation_trend": "Trend",
|
||||
"trend_rising": "Stigende",
|
||||
"trend_falling": "Synkende",
|
||||
"trend_stable": "Stabil",
|
||||
"trend_insufficient_data": "Utilstrekkelige data",
|
||||
"days_until_threshold": "Dager til terskel",
|
||||
"threshold_exceeded": "Terskel overskredet",
|
||||
"environmental_adjustment": "Miljøfaktor",
|
||||
"sensor_prediction_urgency": "Sensoren forutsier terskel om ~{days} dager",
|
||||
"day_short": "dag",
|
||||
"weibull_reliability_curve": "Pålitelighetskurve",
|
||||
"weibull_failure_probability": "Feilsannsynlighet",
|
||||
"weibull_r_squared": "Tilpasning R²",
|
||||
"beta_early_failures": "Tidlige feil",
|
||||
"beta_random_failures": "Tilfeldige feil",
|
||||
"beta_wear_out": "Slitasje",
|
||||
"beta_highly_predictable": "Svært forutsigbar",
|
||||
"confidence_interval": "Konfidensintervall",
|
||||
"confidence_conservative": "Konservativ",
|
||||
"confidence_aggressive": "Optimistisk",
|
||||
"current_interval_marker": "Nåværende intervall",
|
||||
"recommended_marker": "Anbefalt",
|
||||
"characteristic_life": "Karakteristisk levetid",
|
||||
"chart_mini_sparkline": "Trend-minigraf",
|
||||
"chart_history": "Kostnads- og varighetshistorikk",
|
||||
"chart_seasonal": "Sesongfaktorer, 12 måneder",
|
||||
"chart_weibull": "Weibull-pålitelighetskurve",
|
||||
"chart_sparkline": "Diagram over sensorutløserverdi",
|
||||
"days_progress": "Dagsfremdrift",
|
||||
"qr_code": "QR-kode",
|
||||
"qr_generating": "Genererer QR-kode…",
|
||||
"qr_error": "Kunne ikke generere QR-kode.",
|
||||
"qr_error_no_url": "Ingen HA-URL konfigurert. Angi en ekstern eller intern URL under Innstillinger → System → Nettverk.",
|
||||
"save_error": "Kunne ikke lagre. Prøv igjen.",
|
||||
"qr_print": "Skriv ut",
|
||||
"qr_download": "Last ned SVG",
|
||||
"qr_action": "Handling ved skanning",
|
||||
"qr_action_view": "Vis vedlikeholdsinfo",
|
||||
"qr_action_complete": "Merk vedlikehold som fullført",
|
||||
"qr_url_mode": "Lenketype",
|
||||
"qr_mode_companion": "Companion-app",
|
||||
"qr_mode_local": "Lokal (mDNS)",
|
||||
"qr_mode_server": "Server-URL",
|
||||
"overview": "Oversikt",
|
||||
"analysis": "Analyse",
|
||||
"recent_activities": "Nylige aktiviteter",
|
||||
"search_notes": "Søk i notater",
|
||||
"avg_cost": "Gj.snittlig kostnad",
|
||||
"no_advanced_features": "Ingen avanserte funksjoner aktivert",
|
||||
"no_advanced_features_hint": "Aktiver «Adaptive intervaller» eller «Sesongmønstre» i integrasjonsinnstillingene for å se analysedata her.",
|
||||
"analysis_not_enough_data": "Ikke nok data for analyse ennå.",
|
||||
"analysis_not_enough_data_hint": "Weibull-analyse krever minst 5 fullførte vedlikehold; sesongmønstre blir synlige etter 6+ datapunkter per måned.",
|
||||
"analysis_manual_task_hint": "Manuelle oppgaver uten intervall genererer ikke analysedata.",
|
||||
"completions": "fullføringer",
|
||||
"current": "Nåværende",
|
||||
"shorter": "Kortere",
|
||||
"longer": "Lengre",
|
||||
"normal": "Normal",
|
||||
"disabled": "Deaktivert",
|
||||
"compound_logic": "Sammensatt logikk",
|
||||
"compound": "Sammensatt (flere betingelser)",
|
||||
"compound_logic_and": "OG — alle betingelser må utløses",
|
||||
"compound_logic_or": "ELLER — én betingelse er nok",
|
||||
"compound_help": "Kombiner flere sensorbetingelser til én utløser.",
|
||||
"compound_no_conditions": "Ingen betingelser ennå — legg til minst én.",
|
||||
"compound_add_condition": "Legg til betingelse",
|
||||
"compound_condition": "Betingelse",
|
||||
"compound_remove_condition": "Fjern betingelse",
|
||||
"card_title": "Tittel",
|
||||
"card_show_header": "Vis topptekst med statistikk",
|
||||
"card_show_actions": "Vis handlingsknapper",
|
||||
"card_compact": "Kompakt modus",
|
||||
"card_max_items": "Maks elementer (0 = alle)",
|
||||
"card_filter_status": "Filtrer etter status",
|
||||
"card_filter_status_help": "Tom = vis alle statuser.",
|
||||
"card_filter_objects": "Filtrer etter objekter",
|
||||
"card_filter_objects_help": "Tom = vis alle objekter.",
|
||||
"card_filter_entities": "Filtrer etter entiteter (entity_ids)",
|
||||
"card_filter_entities_help": "Velg sensor-/binary_sensor-entiteter fra denne integrasjonen. Tom = alle.",
|
||||
"card_loading_objects": "Laster objekter…",
|
||||
"card_load_error": "Kunne ikke laste objekter — kontroller WebSocket-tilkoblingen.",
|
||||
"card_no_tasks_title": "Ingen vedlikeholdsoppgaver ennå",
|
||||
"card_no_tasks_cta": "→ Opprett en i vedlikeholdspanelet",
|
||||
"no_objects": "Ingen objekter ennå.",
|
||||
"action_error": "Handlingen mislyktes. Prøv igjen.",
|
||||
"area_id_optional": "Område (valgfritt)",
|
||||
"installation_date_optional": "Installasjonsdato (valgfritt)",
|
||||
"warranty_expiry_optional": "Garanti utløper (valgfritt)",
|
||||
"warranty": "Garanti",
|
||||
"warranty_valid_until": "gyldig til {date}",
|
||||
"warranty_expires_in": "utløper om {days} dager",
|
||||
"warranty_expired": "utløpt",
|
||||
"cal_past_windows": "Tidligere vinduer",
|
||||
"cal_forward_windows": "Fremtidige vinduer",
|
||||
"history_edit_title": "Rediger historikkoppføring",
|
||||
"history_edit_timestamp": "Tidsstempel",
|
||||
"manufacturer": "Produsent",
|
||||
"model": "Modell",
|
||||
"area": "Område",
|
||||
"actions": "Handlinger",
|
||||
"view_mode_label": "Visning",
|
||||
"view_cards": "Kortvisning",
|
||||
"view_table": "Tabellvisning",
|
||||
"objects_table_columns_label": "Kolonner i objekttabell",
|
||||
"objects_table_columns_hint": "Velg hvilke kolonner som vises i tabellvisningen for objekter.",
|
||||
"custom_icon_optional": "Ikon (valgfritt, f.eks. mdi:wrench)",
|
||||
"task_enabled": "Oppgave aktivert",
|
||||
"skip_reason_prompt": "Hoppe over denne oppgaven?",
|
||||
"reason_optional": "Årsak (valgfritt)",
|
||||
"reset_date_prompt": "Merke oppgaven som utført?",
|
||||
"reset_date_optional": "Sist utført-dato (valgfritt, standard er i dag)",
|
||||
"notes_label": "Notater",
|
||||
"documentation_label": "Dokumentasjon",
|
||||
"no_nfc_tag": "— Ingen brikke —",
|
||||
"dashboard": "Dashbord",
|
||||
"tab_today": "I dag",
|
||||
"palette_placeholder": "Søk objekter og oppgaver…",
|
||||
"palette_no_results": "Ingen treff",
|
||||
"palette_hint": "↑↓ naviger · Enter åpne · Esc lukk",
|
||||
"today_all_caught_up": "Alt er ajour! Ingenting forfaller denne uken.",
|
||||
"today_overdue": "Forfalt",
|
||||
"today_due_today": "Forfaller i dag",
|
||||
"today_this_week": "Denne uken",
|
||||
"settings": "Innstillinger",
|
||||
"settings_features": "Avanserte funksjoner",
|
||||
"settings_features_desc": "Aktiver eller deaktiver avanserte funksjoner. Deaktivering skjuler dem fra grensesnittet, men sletter ikke data.",
|
||||
"feat_adaptive": "Adaptiv planlegging",
|
||||
"feat_adaptive_desc": "Lær optimale intervaller fra vedlikeholdshistorikken",
|
||||
"feat_predictions": "Sensorprediksjoner",
|
||||
"feat_predictions_desc": "Forutsi utløserdatoer fra sensorforringelse",
|
||||
"feat_seasonal": "Sesongjusteringer",
|
||||
"feat_seasonal_desc": "Juster intervaller basert på sesongmønstre",
|
||||
"feat_environmental": "Miljøkorrelasjon",
|
||||
"feat_environmental_desc": "Korreler intervaller med temperatur/fuktighet",
|
||||
"feat_budget": "Budsjettsporing",
|
||||
"feat_budget_desc": "Spor månedlige og årlige vedlikeholdsutgifter",
|
||||
"feat_groups": "Oppgavegrupper",
|
||||
"feat_groups_desc": "Organiser oppgaver i logiske grupper",
|
||||
"feat_checklists": "Sjekklister",
|
||||
"feat_checklists_desc": "Flertrinnsprosedyrer for fullføring av oppgaver",
|
||||
"settings_general": "Generelt",
|
||||
"settings_default_warning": "Standard varslingsdager",
|
||||
"settings_panel_enabled": "Sidepanel",
|
||||
"settings_panel_title": "Tittel på sidepanel",
|
||||
"settings_notifications": "Varsler",
|
||||
"settings_notify_service": "Varslingstjeneste",
|
||||
"test_notification": "Testvarsel",
|
||||
"send_test": "Send test",
|
||||
"testing": "Sender…",
|
||||
"test_notification_success": "Testvarsel sendt",
|
||||
"test_notification_failed": "Testvarsel mislyktes",
|
||||
"settings_notify_due_soon": "Varsle når noe forfaller snart",
|
||||
"settings_notify_overdue": "Varsle når noe er forfalt",
|
||||
"settings_notify_triggered": "Varsle når noe utløses",
|
||||
"settings_interval_hours": "Gjentaksintervall (timer, 0 = én gang)",
|
||||
"settings_quiet_hours": "Stilletimer",
|
||||
"settings_quiet_start": "Start",
|
||||
"settings_quiet_end": "Slutt",
|
||||
"settings_max_per_day": "Maks varsler per dag (0 = ubegrenset)",
|
||||
"settings_bundling": "Samle varsler",
|
||||
"settings_bundle_threshold": "Samlingsterskel",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Handlingsknapper på mobil",
|
||||
"settings_action_complete": "Vis «Fullfør»-knapp",
|
||||
"settings_action_skip": "Vis «Hopp over»-knapp",
|
||||
"settings_action_snooze": "Vis «Slumre»-knapp",
|
||||
"settings_weekly_digest": "Ukentlig oversikt",
|
||||
"settings_weekly_digest_hint": "Ett sammendragsvarsel mandag morgen når oppgaver forfaller.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Slumrevarighet (timer)",
|
||||
"settings_budget": "Budsjett",
|
||||
"settings_currency": "Valuta",
|
||||
"settings_budget_monthly": "Månedsbudsjett",
|
||||
"settings_budget_yearly": "Årsbudsjett",
|
||||
"settings_budget_alerts": "Budsjettvarsler",
|
||||
"settings_budget_threshold": "Varslingsterskel (%)",
|
||||
"settings_import_export": "Import / eksport",
|
||||
"settings_export_json": "Eksporter JSON",
|
||||
"settings_export_yaml": "Eksporter YAML",
|
||||
"settings_export_csv": "Eksporter CSV",
|
||||
"settings_import_csv": "Importer CSV",
|
||||
"settings_import_placeholder": "Lim inn JSON- eller CSV-innhold her…",
|
||||
"settings_import_btn": "Importer",
|
||||
"settings_import_success": "{count} objekter importert.",
|
||||
"settings_export_success": "Eksport lastet ned.",
|
||||
"settings_saved": "Innstilling lagret.",
|
||||
"settings_include_history": "Inkluder historikk",
|
||||
"sort_alphabetical": "Alfabetisk",
|
||||
"sort_due_soonest": "Forfaller først",
|
||||
"sort_task_count": "Antall oppgaver",
|
||||
"sort_area": "Område",
|
||||
"sort_assigned_user": "Tildelt bruker",
|
||||
"sort_group": "Gruppe",
|
||||
"groupby_none": "Ingen gruppering",
|
||||
"groupby_area": "Etter område",
|
||||
"groupby_group": "Etter gruppe",
|
||||
"groupby_user": "Etter bruker",
|
||||
"filter_label": "Filter",
|
||||
"user_label": "Bruker",
|
||||
"sort_label": "Sorter",
|
||||
"group_by_label": "Grupper etter",
|
||||
"state_value_help": "Bruk HA-tilstandsverdien (vanligvis små bokstaver, f.eks. \"on\"/\"off\"). Store/små bokstaver normaliseres ved lagring.",
|
||||
"target_changes_help": "Antall samsvarende overganger før utløseren aktiveres (standard: 1).",
|
||||
"qr_print_title": "Skriv ut QR-koder",
|
||||
"qr_print_desc": "Generer en utskrivbar side med QR-koder som kan klippes ut og festes på utstyret ditt.",
|
||||
"qr_print_load": "Last objekter",
|
||||
"qr_print_filter": "Filter",
|
||||
"qr_print_objects": "Objekter",
|
||||
"qr_print_actions": "Handlinger",
|
||||
"qr_print_url_mode": "Lenketype",
|
||||
"qr_print_estimate": "Estimerte QR-koder",
|
||||
"qr_print_over_limit": "grensen er 200, snevre inn filteret",
|
||||
"qr_print_generate": "Generer QR-koder",
|
||||
"qr_print_generating": "Genererer…",
|
||||
"qr_print_ready": "QR-koder klare",
|
||||
"qr_print_print_button": "Skriv ut",
|
||||
"qr_print_empty": "Ingenting å generere",
|
||||
"qr_action_skip": "Hopp over",
|
||||
"vacation_title": "Feriemodus",
|
||||
"vacation_active": "aktiv",
|
||||
"vacation_ended": "avsluttet",
|
||||
"vacation_desc": "Planlegg en ferie: varsler settes på pause i perioden pluss en buffer på noen dager. Du kan inkludere bestemte oppgaver igjen.",
|
||||
"vacation_enable": "Aktiver feriemodus",
|
||||
"vacation_start": "Start",
|
||||
"vacation_end": "Slutt",
|
||||
"vacation_buffer": "Buffer (dager)",
|
||||
"vacation_exempt_title": "Varsle likevel under ferie",
|
||||
"vacation_exempt_desc": "Velg oppgaver som fortsatt skal varsle under ferie (f.eks. kritisk bassengkjemi).",
|
||||
"vacation_load_tasks": "Last oppgaver",
|
||||
"vacation_preview_btn": "Vis forhåndsvisning",
|
||||
"vacation_preview_affected": "oppgaver berørt",
|
||||
"vacation_event_due_soon": "forfaller snart",
|
||||
"vacation_event_overdue": "blir forfalt",
|
||||
"vacation_event_triggered_est": "sensorutløsning mulig",
|
||||
"vacation_sensor_based": "(sensorbasert)",
|
||||
"vacation_action_notify": "Varsle likevel",
|
||||
"vacation_action_unsilence": "Demp igjen",
|
||||
"vacation_marked_complete": "Merket som fullført",
|
||||
"vacation_marked_skip": "Hoppet over",
|
||||
"vacation_end_now": "Avslutt ferie nå",
|
||||
"add": "Legg til",
|
||||
"show_stats": "Vis statistikk + grafer",
|
||||
"hide_stats": "Skjul statistikk",
|
||||
"adaptive_no_data": "Ikke nok fullføringshistorikk ennå for adaptiv analyse. Fullfør denne oppgaven noen flere ganger for å låse opp intervallanbefalinger og pålitelighetsdiagrammer.",
|
||||
"suggestion_applied": "Foreslått intervall tatt i bruk",
|
||||
"vacation_mode": "Feriemodus",
|
||||
"vacation_status_active": "Aktiv nå",
|
||||
"vacation_status_scheduled": "Planlagt",
|
||||
"vacation_status_inactive": "Inaktiv",
|
||||
"vacation_end_now_confirm": "Avslutte ferien umiddelbart?",
|
||||
"vacation_exempt_count": "unntatt",
|
||||
"vacation_advanced": "Avansert…",
|
||||
"vacation_open_panel": "Åpne i panel",
|
||||
"enable": "Aktiver",
|
||||
"saved": "Lagret",
|
||||
"budget_monthly_set": "Angi månedlig",
|
||||
"budget_yearly_set": "Angi årlig",
|
||||
"budget_advanced": "Valuta, varsler…",
|
||||
"budget_open_panel": "Åpne i panel",
|
||||
"groups_empty": "Ingen grupper ennå.",
|
||||
"group_new_placeholder": "Legg til gruppe…",
|
||||
"group_delete_confirm": "Slette gruppen \"{name}\"?",
|
||||
"groups_manage_tasks": "Administrer oppgavetildelinger…",
|
||||
"groups_open_panel": "Åpne i panel",
|
||||
"unassigned": "Ikke tildelt",
|
||||
"no_area": "Intet område",
|
||||
"has_overdue": "Har forfalte oppgaver",
|
||||
"object": "Objekt",
|
||||
"settings_panel_access": "Paneltilgang",
|
||||
"settings_panel_access_desc": "Administratorer har alltid full tilgang. For å delegere opprettelse, redigering og sletting til bestemte ikke-administratorer, slå dette på og velg dem nedenfor — alle andre ser kun Fullfør og Hopp over.",
|
||||
"settings_operator_write": "Tillat valgte brukere å opprette, redigere og slette",
|
||||
"settings_operator_write_desc": "Av: bare administratorer kan endre innhold. På: de valgte brukerne nedenfor får også full tilgang.",
|
||||
"no_non_admin_users": "Ingen ikke-administratorbrukere funnet. Legg til noen under Innstillinger → Personer.",
|
||||
"owner_label": "Eier",
|
||||
"feat_completion_actions": "Fullføringshandlinger",
|
||||
"feat_completion_actions_desc": "HA-handling per oppgave ved fullføring + hurtigfullføring med QR og forhåndsinnstilte verdier.",
|
||||
"on_complete_action_title": "Ved fullføring: utløs HA-handling (valgfritt)",
|
||||
"on_complete_action_desc": "Kaller en HA-tjeneste når oppgaven fullføres — f.eks. tilbakestille en teller på enheten.",
|
||||
"on_complete_action_service": "Tjeneste",
|
||||
"on_complete_action_target": "Målentitet",
|
||||
"on_complete_action_target_hint": "Merk: entitetsdomenet må samsvare med tjenesten — f.eks. fungerer 'button.press' kun på button.*, 'counter.increment' kun på counter.*, 'input_button.press' kun på input_button.* osv. Ved manglende samsvar mislykkes handlingen i det stille (HA logger 'Referenced entities ... missing or not currently available').",
|
||||
"on_complete_action_data": "Data (JSON, valgfritt)",
|
||||
"on_complete_action_test": "Valider konfigurasjon",
|
||||
"on_complete_action_test_success": "✓ Konfigurasjon gyldig (handlingen utløses kun ved fullføring av oppgaven)",
|
||||
"on_complete_action_test_failed": "Mislyktes",
|
||||
"quick_complete_defaults_title": "Standardverdier for hurtigfullføring (for QR-skanninger, valgfritt)",
|
||||
"quick_complete_defaults_desc": "Forhåndsinnstilte verdier for hurtigfullføring via QR-skanning. Uten disse åpner QR-koden fullføringsdialogen.",
|
||||
"quick_complete_defaults_notes": "Notater",
|
||||
"quick_complete_defaults_cost": "Kostnad",
|
||||
"quick_complete_defaults_duration": "Varighet (minutter)",
|
||||
"quick_complete_defaults_feedback_none": "Ingen tilbakemelding",
|
||||
"quick_complete_defaults_feedback_needed": "Var nødvendig",
|
||||
"quick_complete_defaults_feedback_not_needed": "Ikke nødvendig",
|
||||
"quick_complete_success": "Raskt merket som fullført",
|
||||
"show_all_objects": "Vis alle objekter",
|
||||
"show_all_tasks": "Fjern filter — vis alle oppgaver",
|
||||
"filter_to_overdue": "Filtrer oppgavelisten til kun forfalte",
|
||||
"filter_to_due_soon": "Filtrer oppgavelisten til kun forfaller snart",
|
||||
"filter_to_triggered": "Filtrer oppgavelisten til kun utløste",
|
||||
"open_task": "Åpne oppgave",
|
||||
"show_details": "Vis historikk + statistikk",
|
||||
"hide_details": "Skjul detaljer",
|
||||
"history_empty": "Ingen historikk ennå.",
|
||||
"history_edit_button": "Rediger oppføring",
|
||||
"total_cost": "Total kostnad",
|
||||
"times_performed": "Utført",
|
||||
"older_entries": "eldre",
|
||||
"open_in_panel": "Åpne i vedlikeholdspanelet",
|
||||
"skip_reason": "Årsak for å hoppe over (valgfritt)",
|
||||
"reset_to_date": "Tilbakestill sist utført til",
|
||||
"delete_task_confirm": "Slette denne oppgaven og dens historikk?",
|
||||
"delete_object_confirm": "Slette dette objektet og alle dets oppgaver?",
|
||||
"loading": "Laster…",
|
||||
"archive": "Arkivér",
|
||||
"undo": "Angre",
|
||||
"task_archived": "Oppgave arkivert",
|
||||
"object_archived": "Objekt arkivert",
|
||||
"unarchive": "Gjenopprett",
|
||||
"archived": "Arkivert",
|
||||
"show_archived": "Vis arkiverte",
|
||||
"hide_archived": "Skjul arkiverte",
|
||||
"confirm_archive_object": "Arkivere dette objektet og oppgavene? Historikken beholdes og kan gjenopprettes senere.",
|
||||
"settings_archive": "Arkiv og oppbevaring",
|
||||
"settings_archive_desc": "Legg bort fullførte engangsoppgaver uten å slette dem. Arkiverte elementer er skjult og inaktive, men beholder historikk og kostnad.",
|
||||
"settings_archive_oneoff_days": "Arkivér fullførte engangsoppgaver automatisk etter (dager, 0 = av)",
|
||||
"settings_delete_archived_oneoff_days": "Slett arkiverte engangsoppgaver automatisk etter (dager, 0 = aldri)",
|
||||
"archive_object": "Arkivér objekt",
|
||||
"unarchive_object": "Gjenopprett objekt",
|
||||
"documents": "Dokumenter",
|
||||
"documents_empty": "Ingen dokumenter ennå.",
|
||||
"doc_upload": "Last opp fil",
|
||||
"doc_uploading": "Laster opp…",
|
||||
"doc_add_link": "Legg til lenke",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Tittel (valgfritt)",
|
||||
"doc_open": "Åpne",
|
||||
"doc_delete_confirm": "Slette \"{name}\"?",
|
||||
"doc_too_large": "Filen er for stor (maks. 25 MB).",
|
||||
"doc_upload_failed": "Opplasting mislyktes.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Allerede lagret et annet sted — delt, ingen ekstra plass.",
|
||||
"doc_dup_in_object": "Denne filen er allerede knyttet til dette objektet.",
|
||||
"doc_link_invalid": "Kun http/https-lenker er tillatt.",
|
||||
"doc_cat_manual": "Bruksanvisning",
|
||||
"doc_cat_warranty": "Garanti",
|
||||
"doc_cat_invoice": "Faktura",
|
||||
"doc_cat_spare_parts": "Reservedeler",
|
||||
"doc_cat_photo": "Foto",
|
||||
"doc_cat_other": "Annet",
|
||||
"doc_link_badge": "Lenke",
|
||||
"doc_storage_title": "Dokumentlagring",
|
||||
"doc_storage_saved": "Spart ved deduplisering",
|
||||
"doc_storage_refresh": "Oppdater",
|
||||
"doc_download": "Last ned",
|
||||
"doc_close": "Lukk",
|
||||
"doc_camera": "Ta bilde",
|
||||
"doc_drop_hint": "Slipp filer her",
|
||||
"doc_task_none": "Ingen dokumenter knyttet til denne oppgaven.",
|
||||
"doc_link_existing": "Knytt et dokument…",
|
||||
"doc_attach": "Knytt",
|
||||
"doc_unlink": "Fjern kobling",
|
||||
"doc_page": "Side",
|
||||
"chart_range_7d": "7d",
|
||||
"chart_range_30d": "30d",
|
||||
"chart_range_90d": "90d",
|
||||
"chart_range_1y": "1å",
|
||||
"chart_since_service": "siden siste vedlikehold",
|
||||
"chart_no_stats": "Ingen langtidsstatistikk for denne enheten — viser bare verdier fra vedlikeholdsoppføringer",
|
||||
"auto_complete_on_recovery": "Fullfør automatisk når sensoren normaliseres",
|
||||
"auto_complete_on_recovery_help": "Registrerer en fullføring (setter sist utført) når utløseren løser seg selv — f.eks. salt etterfylt, filter byttet.",
|
||||
"doc_search": "Søk i dokumenter…",
|
||||
"doc_search_none": "Ingen samsvarende dokumenter",
|
||||
"link_device_optional": "Koble til eksisterende enhet (valgfritt)",
|
||||
"parent_object_optional": "Overordnet objekt (valgfritt)",
|
||||
"parent_none": "(Ingen overordnet)",
|
||||
"paused": "Satt på pause",
|
||||
"pause_object": "Sett på pause",
|
||||
"resume_object": "Gjenoppta",
|
||||
"pause_until_prompt": "Frys objektets planer — ingenting forfaller og ingenting varsler før det gjenopptas. Angi eventuelt en dato for automatisk gjenopptakelse.",
|
||||
"pause_until_label": "Gjenoppta den (valgfritt)",
|
||||
"object_paused": "Objekt satt på pause",
|
||||
"object_resumed": "Objekt gjenopptatt — planer startet på nytt",
|
||||
"object_paused_badge": "På pause",
|
||||
"paused_until_label": "til",
|
||||
"replace_object": "Erstatt…",
|
||||
"replace_object_prompt": "Pensjoner dette objektet og opprett en etterfølger. Historikk og kostnader forblir arkivert på det gamle; oppgaver og dokumenter følger med til det nye, tellere starter på nytt.",
|
||||
"replace_name_label": "Etterfølgerens navn",
|
||||
"object_replaced": "Objekt erstattet — etterfølger opprettet",
|
||||
"reading_unit_label": "Avlesningsenhet (f.eks. kWh, m³)",
|
||||
"reading_unit_help": "Vises ved siden av den registrerte verdien når oppgaven fullføres.",
|
||||
"reading_value_label": "Avlest verdi",
|
||||
"reading_label": "Avlesning",
|
||||
"settings_templates_label": "Malgalleri",
|
||||
"settings_templates_hint": "Fjern haken for maler du aldri trenger — de forsvinner fra \"Fra mal\"-velgerne (panel og config flow). Ellers endres ingenting; kan aktiveres igjen når som helst.",
|
||||
"worksheet": "Arbeidsark",
|
||||
"worksheet_scan_view": "Skann for å åpne oppgaven",
|
||||
"worksheet_scan_complete": "Skann for å fullføre",
|
||||
"worksheet_manual_excerpt": "Utdrag fra manualen",
|
||||
"worksheet_pages": "sider",
|
||||
"worksheet_printed": "Skrevet ut",
|
||||
"worksheet_never": "Aldri"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Onderhoud",
|
||||
"objects": "Objecten",
|
||||
"tasks": "Taken",
|
||||
"overdue": "Achterstallig",
|
||||
"due_soon": "Binnenkort",
|
||||
"triggered": "Geactiveerd",
|
||||
"ok": "OK",
|
||||
"all": "Alle",
|
||||
"new_object": "+ Nieuw object",
|
||||
"templates_from": "Uit sjabloon",
|
||||
"templates_title": "Begin met een sjabloon",
|
||||
"templates_task_count": "{n} taken",
|
||||
"template_created": "Aangemaakt uit sjabloon",
|
||||
"onboard_hint": "Voeg je eerste object toe om onderhoud te volgen.",
|
||||
"edit": "Bewerken",
|
||||
"duplicate": "Dupliceren",
|
||||
"task_duplicated": "Taak gedupliceerd",
|
||||
"object_duplicated": "Object gedupliceerd",
|
||||
"delete": "Verwijderen",
|
||||
"add_task": "+ Taak",
|
||||
"complete": "Voltooid",
|
||||
"completed": "Voltooid",
|
||||
"skip": "Overslaan",
|
||||
"skipped": "Overgeslagen",
|
||||
"missed": "Missed",
|
||||
"reset": "Resetten",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Annuleren",
|
||||
"bulk_select": "Selecteren",
|
||||
"bulk_select_all": "Alles selecteren",
|
||||
"bulk_n_selected": "{n} geselecteerd",
|
||||
"bulk_completed": "{n} taken voltooid",
|
||||
"bulk_archived": "{n} taken gearchiveerd",
|
||||
"completing": "Wordt voltooid…",
|
||||
"interval": "Interval",
|
||||
"warning": "Waarschuwing",
|
||||
"last_performed": "Laatst uitgevoerd",
|
||||
"next_due": "Volgende keer",
|
||||
"days_until_due": "Dagen tot vervaldatum",
|
||||
"avg_duration": "Ø Duur",
|
||||
"trigger": "Trigger",
|
||||
"trigger_type": "Triggertype",
|
||||
"threshold_above": "Bovengrens",
|
||||
"threshold_below": "Ondergrens",
|
||||
"threshold": "Drempelwaarde",
|
||||
"counter": "Teller",
|
||||
"state_change": "Statuswijziging",
|
||||
"runtime": "Looptijd",
|
||||
"runtime_hours": "Doellooptijd (uren)",
|
||||
"target_value": "Doelwaarde",
|
||||
"baseline": "Basislijn",
|
||||
"target_changes": "Doelwijzigingen",
|
||||
"for_minutes": "Voor (minuten)",
|
||||
"time_based": "Tijdgebaseerd",
|
||||
"sensor_based": "Sensorgebaseerd",
|
||||
"manual": "Handmatig",
|
||||
"one_time": "Eenmalig",
|
||||
"weekdays": "Weekdagen",
|
||||
"nth_weekday": "Zoveelste weekdag van de maand",
|
||||
"day_of_month": "Dag van de maand",
|
||||
"recurrence_on_days": "Herhalen op",
|
||||
"recurrence_occurrence": "Voorkomen",
|
||||
"recurrence_weekday": "Weekdag",
|
||||
"recurrence_day": "Dag van de maand (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1e",
|
||||
"ord_2": "2e",
|
||||
"ord_3": "3e",
|
||||
"ord_4": "4e",
|
||||
"ord_5": "5e",
|
||||
"ord_last": "Laatste",
|
||||
"day_word": "Dag",
|
||||
"interval_value": "Interval",
|
||||
"interval_unit": "Eenheid",
|
||||
"unit_days": "Dagen",
|
||||
"unit_weeks": "Weken",
|
||||
"unit_months": "Maanden",
|
||||
"unit_years": "Jaren",
|
||||
"due_date": "Vervaldatum",
|
||||
"cleaning": "Reiniging",
|
||||
"inspection": "Inspectie",
|
||||
"replacement": "Vervanging",
|
||||
"calibration": "Kalibratie",
|
||||
"service": "Service",
|
||||
"reading": "Aflezing",
|
||||
"custom": "Aangepast",
|
||||
"history": "Geschiedenis",
|
||||
"cost": "Kosten",
|
||||
"report_button": "Rapport",
|
||||
"report_title": "Onderhoudsrapport",
|
||||
"report_generated": "Gegenereerd",
|
||||
"report_times_done": "Gedaan",
|
||||
"report_total_cost": "Totale kosten",
|
||||
"report_every": "elke {n} {unit}",
|
||||
"report_notes": "Notities",
|
||||
"report_col_type": "Type",
|
||||
"report_col_status": "Status",
|
||||
"report_col_schedule": "Schema",
|
||||
"duration": "Duur",
|
||||
"both": "Beide",
|
||||
"trigger_val": "Triggerwaarde",
|
||||
"complete_title": "Voltooid: ",
|
||||
"checklist": "Checklist",
|
||||
"checklist_steps_optional": "Checklist-stappen (optioneel)",
|
||||
"checklist_placeholder": "Filter schoonmaken\nPakking vervangen\nDruk testen",
|
||||
"checklist_help": "Eén stap per regel. Max. 100 items.",
|
||||
"err_too_long": "{field}: te lang (max. {n} tekens)",
|
||||
"err_too_short": "{field}: te kort (min. {n} tekens)",
|
||||
"err_value_too_high": "{field}: te groot (max. {n})",
|
||||
"err_value_too_low": "{field}: te klein (min. {n})",
|
||||
"err_required": "{field}: verplicht",
|
||||
"err_wrong_type": "{field}: verkeerd type (verwacht: {type})",
|
||||
"err_invalid_choice": "{field}: niet-toegestane waarde",
|
||||
"err_invalid_value": "{field}: ongeldige waarde",
|
||||
"feat_schedule_time": "Tijd-van-dag-planning",
|
||||
"feat_schedule_time_desc": "Taken vervallen op een specifieke tijd in plaats van middernacht.",
|
||||
"schedule_time_optional": "Vervaldagstijd (optioneel, HH:MM)",
|
||||
"schedule_time_help": "Leeg = middernacht (standaard). HA-tijdzone.",
|
||||
"at_time": "om",
|
||||
"notes_optional": "Notities (optioneel)",
|
||||
"cost_optional": "Kosten (optioneel)",
|
||||
"duration_minutes": "Duur in minuten (optioneel)",
|
||||
"days": "dagen",
|
||||
"day": "dag",
|
||||
"today": "Vandaag",
|
||||
"d_overdue": "d achterstallig",
|
||||
"no_tasks": "Geen onderhoudstaken. Maak een object aan om te beginnen.",
|
||||
"no_tasks_short": "Geen taken",
|
||||
"no_history": "Nog geen geschiedenisitems.",
|
||||
"show_all": "Alles tonen",
|
||||
"cost_duration_chart": "Kosten & Duur",
|
||||
"installed": "Geïnstalleerd",
|
||||
"confirm_delete_object": "Dit object en alle bijbehorende taken verwijderen?",
|
||||
"confirm_delete_task": "Deze taak verwijderen?",
|
||||
"min": "Min",
|
||||
"max": "Max",
|
||||
"save": "Opslaan",
|
||||
"saving": "Opslaan…",
|
||||
"edit_task": "Taak bewerken",
|
||||
"new_task": "Nieuwe onderhoudstaak",
|
||||
"task_name": "Taaknaam",
|
||||
"maintenance_type": "Onderhoudstype",
|
||||
"priority": "Prioriteit",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Laag",
|
||||
"priority_normal": "Normaal",
|
||||
"priority_high": "Hoog",
|
||||
"schedule_type": "Planningstype",
|
||||
"interval_days": "Interval (dagen)",
|
||||
"warning_days": "Waarschuwingsdagen",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "Laatst uitgevoerd (optioneel)",
|
||||
"interval_anchor": "Interval-anker",
|
||||
"anchor_completion": "Vanaf voltooiing",
|
||||
"anchor_planned": "Vanaf geplande datum (geen drift)",
|
||||
"edit_object": "Object bewerken",
|
||||
"name": "Naam",
|
||||
"manufacturer_optional": "Fabrikant (optioneel)",
|
||||
"model_optional": "Model (optioneel)",
|
||||
"serial_number_optional": "Serienummer (optioneel)",
|
||||
"serial_number_label": "S/N",
|
||||
"documentation_url_label": "Handleiding",
|
||||
"object_notes_label": "Notities",
|
||||
"sort_due_date": "Vervaldatum",
|
||||
"sort_object": "Objectnaam",
|
||||
"sort_type": "Type",
|
||||
"sort_task_name": "Taaknaam",
|
||||
"all_objects": "Alle objecten",
|
||||
"tasks_lower": "taken",
|
||||
"no_tasks_yet": "Nog geen taken",
|
||||
"add_first_task": "Eerste taak toevoegen",
|
||||
"trigger_configuration": "Triggerconfiguratie",
|
||||
"entity_id": "Entiteits-ID",
|
||||
"comma_separated": "kommagescheiden",
|
||||
"entity_logic": "Entiteitslogica",
|
||||
"entity_logic_any": "Elke entiteit triggert",
|
||||
"entity_logic_all": "Alle entiteiten moeten triggeren",
|
||||
"entities": "entiteiten",
|
||||
"attribute_optional": "Attribuut (optioneel, leeg = status)",
|
||||
"use_entity_state": "Entiteitsstatus gebruiken (geen attribuut)",
|
||||
"trigger_above": "Activeren als boven",
|
||||
"trigger_below": "Activeren als onder",
|
||||
"for_at_least_minutes": "Voor minstens (minuten)",
|
||||
"safety_interval_days": "Veiligheidsinterval (dagen, optioneel)",
|
||||
"safety_interval": "Veiligheidsinterval (optioneel)",
|
||||
"delta_mode": "Deltamodus",
|
||||
"from_state_optional": "Van status (optioneel)",
|
||||
"to_state_optional": "Naar status (optioneel)",
|
||||
"documentation_url_optional": "Documentatie-URL (optioneel)",
|
||||
"object_notes_optional": "Notities (optioneel)",
|
||||
"nfc_tag_id_optional": "NFC-tag-ID (optioneel)",
|
||||
"nfc_tags_empty_help": "Nog geen NFC-tags geregistreerd in Home Assistant.",
|
||||
"nfc_tags_open_settings": "Tag-instellingen openen",
|
||||
"nfc_tags_refresh": "Vernieuwen",
|
||||
"environmental_entity_optional": "Omgevingssensor (optioneel)",
|
||||
"environmental_entity_helper": "bv. sensor.buitentemperatuur — past het interval aan op basis van omgevingswaarden",
|
||||
"environmental_attribute_optional": "Omgevingsattribuut (optioneel)",
|
||||
"nfc_tag_id": "NFC-tag-ID",
|
||||
"nfc_linked": "NFC-tag gekoppeld",
|
||||
"nfc_link_hint": "Klik om NFC-tag te koppelen",
|
||||
"responsible_user": "Verantwoordelijke gebruiker",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(Geen gebruiker toegewezen)",
|
||||
"all_users": "Alle gebruikers",
|
||||
"my_tasks": "Mijn taken",
|
||||
"tab_calendar": "Kalender",
|
||||
"cal_no_events": "Geen onderhoud",
|
||||
"cal_window_7": "7 dagen",
|
||||
"cal_window_14": "14 dagen",
|
||||
"cal_window_30": "30 dagen",
|
||||
"cal_window_365": "1 jaar",
|
||||
"cal_every_n_days": "elke {n} dagen",
|
||||
"cal_source_time": "Tijd-gebaseerd",
|
||||
"cal_source_time_adaptive": "Tijd-gebaseerd (adaptief)",
|
||||
"cal_source_sensor": "Sensor-gebaseerd",
|
||||
"cal_predicted": "voorspeld",
|
||||
"cal_confidence_high": "hoge zekerheid",
|
||||
"cal_confidence_medium": "gemiddelde zekerheid",
|
||||
"cal_confidence_low": "lage zekerheid",
|
||||
"budget_monthly": "Maandbudget",
|
||||
"budget_yearly": "Jaarbudget",
|
||||
"groups": "Groepen",
|
||||
"new_group": "Nieuwe groep",
|
||||
"edit_group": "Groep bewerken",
|
||||
"no_groups": "Nog geen groepen",
|
||||
"delete_group": "Groep verwijderen",
|
||||
"delete_group_confirm": "Groep '{name}' verwijderen?",
|
||||
"group_select_tasks": "Taken selecteren",
|
||||
"group_name_required": "Naam vereist",
|
||||
"description_optional": "Beschrijving (optioneel)",
|
||||
"selected": "Geselecteerd",
|
||||
"loading_chart": "Grafiekgegevens laden...",
|
||||
"hide_outliers": "Uitschieters verbergen (sensorfouten)",
|
||||
"was_maintenance_needed": "Was dit onderhoud nodig?",
|
||||
"feedback_needed": "Nodig",
|
||||
"feedback_not_needed": "Niet nodig",
|
||||
"feedback_not_sure": "Niet zeker",
|
||||
"suggested_interval": "Voorgesteld interval",
|
||||
"apply_suggestion": "Toepassen",
|
||||
"reanalyze": "Opnieuw analyseren",
|
||||
"reanalyze_result": "Nieuwe analyse",
|
||||
"reanalyze_insufficient_data": "Onvoldoende gegevens voor een aanbeveling",
|
||||
"data_points": "datapunten",
|
||||
"dismiss_suggestion": "Negeren",
|
||||
"confidence_low": "Laag",
|
||||
"confidence_medium": "Gemiddeld",
|
||||
"confidence_high": "Hoog",
|
||||
"recommended": "aanbevolen",
|
||||
"seasonal_awareness": "Seizoensbewustzijn",
|
||||
"edit_seasonal_overrides": "Seizoensfactoren bewerken",
|
||||
"seasonal_overrides_title": "Seizoensfactoren (override)",
|
||||
"seasonal_overrides_hint": "Factor per maand (0.1–5.0). Leeg = automatisch geleerd.",
|
||||
"seasonal_override_invalid": "Ongeldige waarde",
|
||||
"seasonal_override_range": "Factor moet tussen 0.1 en 5.0 liggen",
|
||||
"clear_all": "Alles wissen",
|
||||
"seasonal_chart_title": "Seizoensfactoren",
|
||||
"seasonal_learned": "Geleerd",
|
||||
"seasonal_manual": "Handmatig",
|
||||
"month_jan": "Jan",
|
||||
"month_feb": "Feb",
|
||||
"month_mar": "Mrt",
|
||||
"month_apr": "Apr",
|
||||
"month_may": "Mei",
|
||||
"month_jun": "Jun",
|
||||
"month_jul": "Jul",
|
||||
"month_aug": "Aug",
|
||||
"month_sep": "Sep",
|
||||
"month_oct": "Okt",
|
||||
"month_nov": "Nov",
|
||||
"month_dec": "Dec",
|
||||
"sensor_prediction": "Sensorvoorspelling",
|
||||
"degradation_trend": "Trend",
|
||||
"trend_rising": "Stijgend",
|
||||
"trend_falling": "Dalend",
|
||||
"trend_stable": "Stabiel",
|
||||
"trend_insufficient_data": "Onvoldoende gegevens",
|
||||
"days_until_threshold": "Dagen tot drempelwaarde",
|
||||
"threshold_exceeded": "Drempelwaarde overschreden",
|
||||
"environmental_adjustment": "Omgevingsfactor",
|
||||
"sensor_prediction_urgency": "Sensor voorspelt drempelwaarde in ~{days} dagen",
|
||||
"day_short": "dag",
|
||||
"weibull_reliability_curve": "Betrouwbaarheidscurve",
|
||||
"weibull_failure_probability": "Faalkans",
|
||||
"weibull_r_squared": "Fit R²",
|
||||
"beta_early_failures": "Vroege uitval",
|
||||
"beta_random_failures": "Willekeurige uitval",
|
||||
"beta_wear_out": "Slijtage",
|
||||
"beta_highly_predictable": "Zeer voorspelbaar",
|
||||
"confidence_interval": "Betrouwbaarheidsinterval",
|
||||
"confidence_conservative": "Conservatief",
|
||||
"confidence_aggressive": "Optimistisch",
|
||||
"current_interval_marker": "Huidig interval",
|
||||
"recommended_marker": "Aanbevolen",
|
||||
"characteristic_life": "Karakteristieke levensduur",
|
||||
"chart_mini_sparkline": "Trend-sparkline",
|
||||
"chart_history": "Kosten- en duurgeschiedenis",
|
||||
"chart_seasonal": "Seizoensfactoren, 12 maanden",
|
||||
"chart_weibull": "Weibull-betrouwbaarheidscurve",
|
||||
"chart_sparkline": "Sensor-triggerwaardegrafiek",
|
||||
"days_progress": "Dagenvoortgang",
|
||||
"qr_code": "QR-code",
|
||||
"qr_generating": "QR-code genereren…",
|
||||
"qr_error": "QR-code kon niet worden gegenereerd.",
|
||||
"qr_error_no_url": "Geen HA-URL geconfigureerd. Stel een externe of interne URL in via Instellingen → Systeem → Netwerk.",
|
||||
"save_error": "Opslaan mislukt. Probeer het opnieuw.",
|
||||
"qr_print": "Afdrukken",
|
||||
"qr_download": "SVG downloaden",
|
||||
"qr_action": "Actie bij scannen",
|
||||
"qr_action_view": "Onderhoudsinfo bekijken",
|
||||
"qr_action_complete": "Onderhoud als voltooid markeren",
|
||||
"qr_url_mode": "Linktype",
|
||||
"qr_mode_companion": "Companion App",
|
||||
"qr_mode_local": "Lokaal (mDNS)",
|
||||
"qr_mode_server": "Server-URL",
|
||||
"overview": "Overzicht",
|
||||
"analysis": "Analyse",
|
||||
"recent_activities": "Recente activiteiten",
|
||||
"search_notes": "Notities doorzoeken",
|
||||
"avg_cost": "Ø Kosten",
|
||||
"no_advanced_features": "Geen geavanceerde functies ingeschakeld",
|
||||
"no_advanced_features_hint": "Schakel „Adaptieve Intervallen” of „Seizoenpatronen” in via de integratie-instellingen om hier analysegegevens te zien.",
|
||||
"analysis_not_enough_data": "Nog niet genoeg gegevens voor analyse.",
|
||||
"analysis_not_enough_data_hint": "Weibull-analyse vereist minstens 5 voltooide onderhoudsbeurten; seizoenspatronen worden zichtbaar na 6+ datapunten per maand.",
|
||||
"analysis_manual_task_hint": "Handmatige taken zonder interval genereren geen analysegegevens.",
|
||||
"completions": "voltooiingen",
|
||||
"current": "Huidig",
|
||||
"shorter": "Korter",
|
||||
"longer": "Langer",
|
||||
"normal": "Normaal",
|
||||
"disabled": "Uitgeschakeld",
|
||||
"compound_logic": "Samengestelde logica",
|
||||
"compound": "Samengesteld (meerdere voorwaarden)",
|
||||
"compound_logic_and": "EN — alle voorwaarden moeten activeren",
|
||||
"compound_logic_or": "OF — één voorwaarde is genoeg",
|
||||
"compound_help": "Combineer meerdere sensorvoorwaarden tot één trigger.",
|
||||
"compound_no_conditions": "Nog geen voorwaarden — voeg er ten minste één toe.",
|
||||
"compound_add_condition": "Voorwaarde toevoegen",
|
||||
"compound_condition": "Voorwaarde",
|
||||
"compound_remove_condition": "Voorwaarde verwijderen",
|
||||
"card_title": "Titel",
|
||||
"card_show_header": "Koptekst met statistieken tonen",
|
||||
"card_show_actions": "Actieknoppen tonen",
|
||||
"card_compact": "Compacte modus",
|
||||
"card_max_items": "Max items (0 = alle)",
|
||||
"card_filter_status": "Filteren op status",
|
||||
"card_filter_status_help": "Leeg = alle statussen tonen.",
|
||||
"card_filter_objects": "Filteren op objecten",
|
||||
"card_filter_objects_help": "Leeg = alle objecten tonen.",
|
||||
"card_filter_entities": "Filteren op entiteiten (entity_ids)",
|
||||
"card_filter_entities_help": "Kies sensor/binary_sensor entiteiten van deze integratie. Leeg = alle.",
|
||||
"card_loading_objects": "Objecten laden…",
|
||||
"card_load_error": "Objecten konden niet worden geladen — controleer de WebSocket-verbinding.",
|
||||
"card_no_tasks_title": "Nog geen onderhoudstaken",
|
||||
"card_no_tasks_cta": "→ Maak er een aan in het Maintenance-paneel",
|
||||
"no_objects": "Nog geen objecten.",
|
||||
"action_error": "Actie mislukt. Probeer het opnieuw.",
|
||||
"area_id_optional": "Gebied (optioneel)",
|
||||
"installation_date_optional": "Installatiedatum (optioneel)",
|
||||
"warranty_expiry_optional": "Garantie verloopt (optioneel)",
|
||||
"warranty": "Garantie",
|
||||
"warranty_valid_until": "geldig tot {date}",
|
||||
"warranty_expires_in": "verloopt over {days} dagen",
|
||||
"warranty_expired": "verlopen",
|
||||
"cal_past_windows": "Eerdere vensters",
|
||||
"cal_forward_windows": "Toekomstige vensters",
|
||||
"history_edit_title": "Geschiedenisitem bewerken",
|
||||
"history_edit_timestamp": "Tijdstempel",
|
||||
"manufacturer": "Fabrikant",
|
||||
"model": "Model",
|
||||
"area": "Gebied",
|
||||
"actions": "Acties",
|
||||
"view_mode_label": "Weergave",
|
||||
"view_cards": "Kaartweergave",
|
||||
"view_table": "Tabelweergave",
|
||||
"objects_table_columns_label": "Kolommen objecttabel",
|
||||
"objects_table_columns_hint": "Kies welke kolommen in de tabelweergave van objecten verschijnen.",
|
||||
"custom_icon_optional": "Icoon (optioneel, bijv. mdi:wrench)",
|
||||
"task_enabled": "Taak ingeschakeld",
|
||||
"skip_reason_prompt": "Deze taak overslaan?",
|
||||
"reason_optional": "Reden (optioneel)",
|
||||
"reset_date_prompt": "Taak markeren als uitgevoerd?",
|
||||
"reset_date_optional": "Laatste uitvoeringsdatum (optioneel, standaard vandaag)",
|
||||
"notes_label": "Notities",
|
||||
"documentation_label": "Documentatie",
|
||||
"no_nfc_tag": "— Geen tag —",
|
||||
"dashboard": "Dashboard",
|
||||
"tab_today": "Vandaag",
|
||||
"palette_placeholder": "Objecten en taken zoeken…",
|
||||
"palette_no_results": "Geen resultaten",
|
||||
"palette_hint": "↑↓ navigeren · Enter openen · Esc sluiten",
|
||||
"today_all_caught_up": "Helemaal bij! Niets te doen deze week.",
|
||||
"today_overdue": "Achterstallig",
|
||||
"today_due_today": "Vandaag te doen",
|
||||
"today_this_week": "Deze week",
|
||||
"settings": "Instellingen",
|
||||
"settings_features": "Geavanceerde functies",
|
||||
"settings_features_desc": "Schakel geavanceerde functies in of uit. Uitschakelen verbergt ze in de interface maar verwijdert geen gegevens.",
|
||||
"feat_adaptive": "Adaptieve planning",
|
||||
"feat_adaptive_desc": "Leer optimale intervallen uit onderhoudsgeschiedenis",
|
||||
"feat_predictions": "Sensorvoorspellingen",
|
||||
"feat_predictions_desc": "Voorspel triggerdatums op basis van sensordegradatie",
|
||||
"feat_seasonal": "Seizoensaanpassingen",
|
||||
"feat_seasonal_desc": "Pas intervallen aan op seizoenspatronen",
|
||||
"feat_environmental": "Omgevingscorrelatie",
|
||||
"feat_environmental_desc": "Correleer intervallen met temperatuur/vochtigheid",
|
||||
"feat_budget": "Budgetbeheer",
|
||||
"feat_budget_desc": "Volg maandelijkse en jaarlijkse onderhoudsuitgaven",
|
||||
"feat_groups": "Taakgroepen",
|
||||
"feat_groups_desc": "Organiseer taken in logische groepen",
|
||||
"feat_checklists": "Checklists",
|
||||
"feat_checklists_desc": "Meerstaps procedures voor taakvoltooiing",
|
||||
"settings_general": "Algemeen",
|
||||
"settings_default_warning": "Standaard waarschuwingsdagen",
|
||||
"settings_panel_enabled": "Zijbalkpaneel",
|
||||
"settings_panel_title": "Titel zijbalkpaneel",
|
||||
"settings_notifications": "Meldingen",
|
||||
"settings_notify_service": "Meldingsservice",
|
||||
"test_notification": "Testmelding",
|
||||
"send_test": "Test versturen",
|
||||
"testing": "Verzenden…",
|
||||
"test_notification_success": "Testmelding verzonden",
|
||||
"test_notification_failed": "Testmelding mislukt",
|
||||
"settings_notify_due_soon": "Melding bij bijna verlopen",
|
||||
"settings_notify_overdue": "Melding bij achterstallig",
|
||||
"settings_notify_triggered": "Melding bij geactiveerd",
|
||||
"settings_interval_hours": "Herhalingsinterval (uren, 0 = eenmalig)",
|
||||
"settings_quiet_hours": "Stille uren",
|
||||
"settings_quiet_start": "Start",
|
||||
"settings_quiet_end": "Einde",
|
||||
"settings_max_per_day": "Max meldingen per dag (0 = onbeperkt)",
|
||||
"settings_bundling": "Meldingen bundelen",
|
||||
"settings_bundle_threshold": "Bundeldrempel",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Mobiele actieknoppen",
|
||||
"settings_action_complete": "Knop 'Voltooid' tonen",
|
||||
"settings_action_skip": "Knop 'Overslaan' tonen",
|
||||
"settings_action_snooze": "Knop 'Snooze' tonen",
|
||||
"settings_weekly_digest": "Wekelijks overzicht",
|
||||
"settings_weekly_digest_hint": "Eén samenvattingsmelding op maandagochtend als er taken zijn.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Snoozeduur (uren)",
|
||||
"settings_budget": "Budget",
|
||||
"settings_currency": "Valuta",
|
||||
"settings_budget_monthly": "Maandbudget",
|
||||
"settings_budget_yearly": "Jaarbudget",
|
||||
"settings_budget_alerts": "Budgetwaarschuwingen",
|
||||
"settings_budget_threshold": "Waarschuwingsdrempel (%)",
|
||||
"settings_import_export": "Import / Export",
|
||||
"settings_export_json": "JSON exporteren",
|
||||
"settings_export_yaml": "YAML exporteren",
|
||||
"settings_export_csv": "CSV exporteren",
|
||||
"settings_import_csv": "CSV importeren",
|
||||
"settings_import_placeholder": "Plak JSON- of CSV-inhoud hier…",
|
||||
"settings_import_btn": "Importeren",
|
||||
"settings_import_success": "{count} objecten succesvol geïmporteerd.",
|
||||
"settings_export_success": "Export gedownload.",
|
||||
"settings_saved": "Instelling opgeslagen.",
|
||||
"settings_include_history": "Geschiedenis meenemen",
|
||||
"sort_alphabetical": "Alfabetisch",
|
||||
"sort_due_soonest": "Eerst vervallend",
|
||||
"sort_task_count": "Aantal taken",
|
||||
"sort_area": "Gebied",
|
||||
"sort_assigned_user": "Toegewezen gebruiker",
|
||||
"sort_group": "Groep",
|
||||
"groupby_none": "Geen groepering",
|
||||
"groupby_area": "Per gebied",
|
||||
"groupby_group": "Per groep",
|
||||
"groupby_user": "Per gebruiker",
|
||||
"filter_label": "Filter",
|
||||
"user_label": "Gebruiker",
|
||||
"sort_label": "Sorteren",
|
||||
"group_by_label": "Groeperen op",
|
||||
"state_value_help": "Gebruik de HA-statuswaarde (meestal in kleine letters, bv. \"on\"/\"off\"). Hoofdletters worden bij opslaan genormaliseerd.",
|
||||
"target_changes_help": "Aantal overeenkomende overgangen voordat de trigger wordt geactiveerd (standaard: 1).",
|
||||
"qr_print_title": "QR-codes afdrukken",
|
||||
"qr_print_desc": "Genereer een afdrukpagina met QR-codes om uit te knippen en op je apparaten te plakken.",
|
||||
"qr_print_load": "Objecten laden",
|
||||
"qr_print_filter": "Filter",
|
||||
"qr_print_objects": "Objecten",
|
||||
"qr_print_actions": "Acties",
|
||||
"qr_print_url_mode": "Linktype",
|
||||
"qr_print_estimate": "Geschatte QR-codes",
|
||||
"qr_print_over_limit": "max is 200, beperk de filter",
|
||||
"qr_print_generate": "QR-codes genereren",
|
||||
"qr_print_generating": "Genereren…",
|
||||
"qr_print_ready": "QR-codes klaar",
|
||||
"qr_print_print_button": "Afdrukken",
|
||||
"qr_print_empty": "Niets te genereren",
|
||||
"qr_action_skip": "Overslaan",
|
||||
"vacation_title": "Vakantiemodus",
|
||||
"vacation_active": "actief",
|
||||
"vacation_ended": "beëindigd",
|
||||
"vacation_desc": "Plan je vakantie: meldingen worden gepauzeerd tijdens de periode plus een buffer van dagen. Je kunt per taak uitzonderingen instellen.",
|
||||
"vacation_enable": "Vakantiemodus inschakelen",
|
||||
"vacation_start": "Begin",
|
||||
"vacation_end": "Einde",
|
||||
"vacation_buffer": "Buffer (dagen)",
|
||||
"vacation_exempt_title": "Toch melden tijdens vakantie",
|
||||
"vacation_exempt_desc": "Kies taken die ook tijdens vakantie meldingen moeten geven (bv. kritische zwembadchemie).",
|
||||
"vacation_load_tasks": "Taken laden",
|
||||
"vacation_preview_btn": "Voorvertoning",
|
||||
"vacation_preview_affected": "taken betrokken",
|
||||
"vacation_event_due_soon": "wordt binnenkort verschuldigd",
|
||||
"vacation_event_overdue": "wordt achterstallig",
|
||||
"vacation_event_triggered_est": "sensortrigger mogelijk",
|
||||
"vacation_sensor_based": "(sensor-gebaseerd)",
|
||||
"vacation_action_notify": "Toch melden",
|
||||
"vacation_action_unsilence": "Weer dempen",
|
||||
"vacation_marked_complete": "Als voltooid gemarkeerd",
|
||||
"vacation_marked_skip": "Overgeslagen",
|
||||
"vacation_end_now": "Vakantie nu beëindigen",
|
||||
"unassigned": "Niet toegewezen",
|
||||
"no_area": "Geen gebied",
|
||||
"has_overdue": "Heeft achterstallige taken",
|
||||
"object": "Object",
|
||||
"settings_panel_access": "Paneel-toegang",
|
||||
"settings_panel_access_desc": "Admins hebben altijd volledige toegang. Om aanmaken, bewerken en verwijderen aan specifieke niet-admins te delegeren, schakel dit in en selecteer hen hieronder — alle anderen zien alleen Voltooien en Overslaan.",
|
||||
"settings_operator_write": "Geselecteerde gebruikers laten aanmaken, bewerken en verwijderen",
|
||||
"settings_operator_write_desc": "Uit: alleen admins kunnen inhoud wijzigen. Aan: de geselecteerde gebruikers hieronder krijgen ook volledige toegang.",
|
||||
"no_non_admin_users": "Geen niet-admin gebruikers gevonden. Voeg ze toe in Instellingen → Personen.",
|
||||
"owner_label": "Eigenaar",
|
||||
"feat_completion_actions": "Voltooiings-acties",
|
||||
"feat_completion_actions_desc": "Per taak HA-actie bij voltooien + snel-voltooien-QR met vooraf ingestelde waarden.",
|
||||
"on_complete_action_title": "Bij voltooien: HA-actie uitvoeren (optioneel)",
|
||||
"on_complete_action_desc": "Roept een HA-service aan wanneer de taak is voltooid — bv. een teller op het apparaat resetten.",
|
||||
"on_complete_action_service": "Service",
|
||||
"on_complete_action_target": "Doel-entiteit",
|
||||
"on_complete_action_data": "Data (JSON, optioneel)",
|
||||
"on_complete_action_test": "Actie testen",
|
||||
"on_complete_action_test_success": "Geslaagd",
|
||||
"on_complete_action_test_failed": "Mislukt",
|
||||
"quick_complete_defaults_title": "Snel-voltooien-standaardwaarden (voor QR-scans, optioneel)",
|
||||
"quick_complete_defaults_desc": "Vooraf ingestelde waarden voor snel-voltooien-QR. Zonder deze opent de QR de voltooi-dialoog.",
|
||||
"quick_complete_defaults_notes": "Notities",
|
||||
"quick_complete_defaults_cost": "Kosten",
|
||||
"quick_complete_defaults_duration": "Duur (minuten)",
|
||||
"quick_complete_defaults_feedback_none": "Geen feedback",
|
||||
"quick_complete_defaults_feedback_needed": "Was nodig",
|
||||
"quick_complete_defaults_feedback_not_needed": "Niet nodig",
|
||||
"quick_complete_success": "Snel als voltooid gemarkeerd",
|
||||
"trigger_replaced": "Trigger vervangen",
|
||||
"add": "Toevoegen",
|
||||
"show_stats": "Statistieken + grafieken tonen",
|
||||
"hide_stats": "Statistieken verbergen",
|
||||
"adaptive_no_data": "Nog niet genoeg voltooiingsgeschiedenis voor adaptieve analyse. Voer deze taak nog een paar keer uit om intervaladviezen en betrouwbaarheidsgrafieken te ontgrendelen.",
|
||||
"suggestion_applied": "Voorgesteld interval toegepast",
|
||||
"vacation_mode": "Vakantiemodus",
|
||||
"vacation_status_active": "Nu actief",
|
||||
"vacation_status_scheduled": "Gepland",
|
||||
"vacation_status_inactive": "Inactief",
|
||||
"vacation_end_now_confirm": "Vakantie onmiddellijk beëindigen?",
|
||||
"vacation_exempt_count": "uitgezonderd",
|
||||
"vacation_advanced": "Geavanceerd…",
|
||||
"vacation_open_panel": "Openen in paneel",
|
||||
"enable": "Inschakelen",
|
||||
"saved": "Opgeslagen",
|
||||
"budget_monthly_set": "Maandelijks instellen",
|
||||
"budget_yearly_set": "Jaarlijks instellen",
|
||||
"budget_advanced": "Valuta, waarschuwingen…",
|
||||
"budget_open_panel": "Openen in paneel",
|
||||
"groups_empty": "Nog geen groepen.",
|
||||
"group_new_placeholder": "Groep toevoegen…",
|
||||
"group_delete_confirm": "Groep \"{name}\" verwijderen?",
|
||||
"groups_manage_tasks": "Taaktoewijzingen beheren…",
|
||||
"groups_open_panel": "Openen in paneel",
|
||||
"on_complete_action_target_hint": "Let op: het domein van de entiteit moet bij de service passen — bijv. 'button.press' werkt alleen op button.*, 'counter.increment' alleen op counter.*, 'input_button.press' alleen op input_button.* enz. Bij een mismatch mislukt de actie stil (HA logt 'Referenced entities ... missing or not currently available').",
|
||||
"show_all_objects": "Alle objecten tonen",
|
||||
"show_all_tasks": "Filter wissen — alle taken tonen",
|
||||
"filter_to_overdue": "Takenlijst filteren op alleen achterstallig",
|
||||
"filter_to_due_soon": "Takenlijst filteren op alleen binnenkort verschuldigd",
|
||||
"filter_to_triggered": "Takenlijst filteren op alleen geactiveerd",
|
||||
"open_task": "Taak openen",
|
||||
"show_details": "Geschiedenis + statistieken tonen",
|
||||
"hide_details": "Details verbergen",
|
||||
"history_empty": "Nog geen geschiedenis.",
|
||||
"history_edit_button": "Item bewerken",
|
||||
"total_cost": "Totale kosten",
|
||||
"times_performed": "Uitgevoerd",
|
||||
"older_entries": "ouder",
|
||||
"open_in_panel": "Openen in Onderhoudspaneel",
|
||||
"skip_reason": "Reden voor overslaan (optioneel)",
|
||||
"reset_to_date": "Laatst uitgevoerd terugzetten op",
|
||||
"delete_task_confirm": "Deze taak en de geschiedenis verwijderen?",
|
||||
"delete_object_confirm": "Dit object en alle taken verwijderen?",
|
||||
"loading": "Laden…",
|
||||
"archive": "Archiveren",
|
||||
"undo": "Ongedaan maken",
|
||||
"task_archived": "Taak gearchiveerd",
|
||||
"object_archived": "Object gearchiveerd",
|
||||
"unarchive": "Dearchiveren",
|
||||
"archived": "Gearchiveerd",
|
||||
"show_archived": "Gearchiveerde tonen",
|
||||
"hide_archived": "Gearchiveerde verbergen",
|
||||
"confirm_archive_object": "Dit object en zijn taken archiveren? De geschiedenis blijft behouden en kan later worden hersteld.",
|
||||
"settings_archive": "Archief & bewaring",
|
||||
"settings_archive_desc": "Voltooide eenmalige taken archiveren in plaats van verwijderen. Gearchiveerde items zijn verborgen en inactief, maar behouden geschiedenis en kosten.",
|
||||
"settings_archive_oneoff_days": "Voltooide eenmalige taken automatisch archiveren na (dagen, 0 = uit)",
|
||||
"settings_delete_archived_oneoff_days": "Gearchiveerde eenmalige taken automatisch verwijderen na (dagen, 0 = nooit)",
|
||||
"archive_object": "Object archiveren",
|
||||
"unarchive_object": "Object dearchiveren",
|
||||
"documents": "Documenten",
|
||||
"documents_empty": "Nog geen documenten.",
|
||||
"doc_upload": "Bestand uploaden",
|
||||
"doc_uploading": "Uploaden…",
|
||||
"doc_add_link": "Link toevoegen",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Titel (optioneel)",
|
||||
"doc_open": "Openen",
|
||||
"doc_delete_confirm": "\"{name}\" verwijderen?",
|
||||
"doc_too_large": "Bestand is te groot (max. 25 MB).",
|
||||
"doc_upload_failed": "Uploaden mislukt.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Al elders opgeslagen — gedeeld, geen extra ruimte.",
|
||||
"doc_dup_in_object": "Dit bestand is al aan dit object gekoppeld.",
|
||||
"doc_link_invalid": "Alleen http/https-links zijn toegestaan.",
|
||||
"doc_cat_manual": "Handleiding",
|
||||
"doc_cat_warranty": "Garantie",
|
||||
"doc_cat_invoice": "Factuur",
|
||||
"doc_cat_spare_parts": "Onderdelen",
|
||||
"doc_cat_photo": "Foto",
|
||||
"doc_cat_other": "Overig",
|
||||
"doc_link_badge": "Link",
|
||||
"doc_storage_title": "Documentopslag",
|
||||
"doc_storage_saved": "Bespaard door deduplicatie",
|
||||
"doc_storage_refresh": "Vernieuwen",
|
||||
"doc_download": "Downloaden",
|
||||
"doc_close": "Sluiten",
|
||||
"doc_camera": "Foto maken",
|
||||
"doc_drop_hint": "Sleep bestanden hierheen",
|
||||
"doc_task_none": "Geen documenten aan deze taak gekoppeld.",
|
||||
"doc_link_existing": "Document koppelen…",
|
||||
"doc_attach": "Koppelen",
|
||||
"doc_unlink": "Ontkoppelen",
|
||||
"doc_page": "Pagina",
|
||||
"chart_range_7d": "7d",
|
||||
"chart_range_30d": "30d",
|
||||
"chart_range_90d": "90d",
|
||||
"chart_range_1y": "1j",
|
||||
"chart_since_service": "sinds laatste onderhoud",
|
||||
"chart_no_stats": "Geen langetermijnstatistieken voor deze entiteit — alleen waarden uit onderhoudsregels worden getoond",
|
||||
"auto_complete_on_recovery": "Automatisch voltooien wanneer de sensor herstelt",
|
||||
"auto_complete_on_recovery_help": "Registreert een voltooiing (stelt laatst uitgevoerd in) wanneer de trigger zichzelf oplost — bijv. zout bijgevuld, filter vervangen.",
|
||||
"doc_search": "Documenten zoeken…",
|
||||
"doc_search_none": "Geen overeenkomende documenten",
|
||||
"link_device_optional": "Koppelen aan bestaand apparaat (optioneel)",
|
||||
"parent_object_optional": "Bovenliggend object (optioneel)",
|
||||
"parent_none": "(Geen bovenliggend object)",
|
||||
"paused": "Gepauzeerd",
|
||||
"pause_object": "Pauzeren",
|
||||
"resume_object": "Hervatten",
|
||||
"pause_until_prompt": "Bevries de schema's van dit object — niets wordt verwacht en niets meldt tot het wordt hervat. Stel optioneel een datum voor automatisch hervatten in.",
|
||||
"pause_until_label": "Hervatten op (optioneel)",
|
||||
"object_paused": "Object gepauzeerd",
|
||||
"object_resumed": "Object hervat — schema's herstart",
|
||||
"object_paused_badge": "Gepauzeerd",
|
||||
"paused_until_label": "tot",
|
||||
"replace_object": "Vervangen…",
|
||||
"replace_object_prompt": "Dit object uitfaseren en een opvolger aanmaken. Geschiedenis en kosten blijven gearchiveerd bij het oude; taken en documenten gaan mee naar het nieuwe, tellers beginnen opnieuw.",
|
||||
"replace_name_label": "Naam van de opvolger",
|
||||
"object_replaced": "Object vervangen — opvolger aangemaakt",
|
||||
"reading_unit_label": "Meeteenheid (bijv. kWh, m³)",
|
||||
"reading_unit_help": "Wordt naast de vastgelegde waarde getoond bij het afronden van deze taak.",
|
||||
"reading_value_label": "Meterstand",
|
||||
"reading_label": "Meting",
|
||||
"settings_templates_label": "Sjabloongalerij",
|
||||
"settings_templates_hint": "Vink sjablonen uit die je nooit nodig hebt — ze verdwijnen uit de \"Vanuit sjabloon\"-keuzes (paneel en config flow). Verder verandert er niets; altijd weer in te schakelen.",
|
||||
"worksheet": "Werkblad",
|
||||
"worksheet_scan_view": "Scan om de taak te openen",
|
||||
"worksheet_scan_complete": "Scan om af te ronden",
|
||||
"worksheet_manual_excerpt": "Handleidingfragment",
|
||||
"worksheet_pages": "pagina's",
|
||||
"worksheet_printed": "Afgedrukt",
|
||||
"worksheet_never": "Nooit"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Konserwacja",
|
||||
"objects": "Obiekty",
|
||||
"tasks": "Zadania",
|
||||
"overdue": "Zaległe",
|
||||
"due_soon": "Wkrótce",
|
||||
"triggered": "Wyzwolone",
|
||||
"ok": "OK",
|
||||
"all": "Wszystkie",
|
||||
"new_object": "+ Nowy obiekt",
|
||||
"templates_from": "Z szablonu",
|
||||
"templates_title": "Zacznij od szablonu",
|
||||
"templates_task_count": "{n} zadań",
|
||||
"template_created": "Utworzono z szablonu",
|
||||
"onboard_hint": "Dodaj pierwszy obiekt, aby śledzić konserwację.",
|
||||
"edit": "Edytuj",
|
||||
"duplicate": "Duplikuj",
|
||||
"task_duplicated": "Zadanie zduplikowane",
|
||||
"object_duplicated": "Obiekt zduplikowany",
|
||||
"delete": "Usuń",
|
||||
"add_task": "+ Dodaj zadanie",
|
||||
"complete": "Wykonaj",
|
||||
"completed": "Wykonano",
|
||||
"skip": "Pomiń",
|
||||
"skipped": "Pominięte",
|
||||
"missed": "Missed",
|
||||
"reset": "Resetuj",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Anuluj",
|
||||
"bulk_select": "Zaznacz",
|
||||
"bulk_select_all": "Zaznacz wszystko",
|
||||
"bulk_n_selected": "Zaznaczono {n}",
|
||||
"bulk_completed": "Ukończono {n} zadań",
|
||||
"bulk_archived": "Zarchiwizowano {n} zadań",
|
||||
"completing": "Wykonywanie…",
|
||||
"interval": "Interwał",
|
||||
"warning": "Ostrzeżenie",
|
||||
"last_performed": "Ostatnio wykonane",
|
||||
"next_due": "Następny termin",
|
||||
"days_until_due": "Dni do terminu",
|
||||
"avg_duration": "Śr. czas trwania",
|
||||
"trigger": "Wyzwalacz",
|
||||
"trigger_type": "Typ wyzwalacza",
|
||||
"threshold_above": "Górny limit",
|
||||
"threshold_below": "Dolny limit",
|
||||
"threshold": "Próg",
|
||||
"counter": "Licznik",
|
||||
"state_change": "Zmiana stanu",
|
||||
"runtime": "Czas pracy",
|
||||
"runtime_hours": "Docelowy czas pracy (godziny)",
|
||||
"target_value": "Wartość docelowa",
|
||||
"baseline": "Wartość bazowa",
|
||||
"target_changes": "Docelowa liczba zmian",
|
||||
"for_minutes": "Przez (minuty)",
|
||||
"time_based": "Czasowy",
|
||||
"sensor_based": "Oparty na czujniku",
|
||||
"manual": "Ręczny",
|
||||
"one_time": "Jednorazowo",
|
||||
"weekdays": "Dni tygodnia",
|
||||
"nth_weekday": "N-ty dzień tygodnia w miesiącu",
|
||||
"day_of_month": "Dzień miesiąca",
|
||||
"recurrence_on_days": "Powtarzaj w",
|
||||
"recurrence_occurrence": "Wystąpienie",
|
||||
"recurrence_weekday": "Dzień tygodnia",
|
||||
"recurrence_day": "Dzień miesiąca (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1.",
|
||||
"ord_2": "2.",
|
||||
"ord_3": "3.",
|
||||
"ord_4": "4.",
|
||||
"ord_5": "5.",
|
||||
"ord_last": "Ostatni",
|
||||
"day_word": "Dzień",
|
||||
"interval_value": "Interwał",
|
||||
"interval_unit": "Jednostka",
|
||||
"unit_days": "Dni",
|
||||
"unit_weeks": "Tygodnie",
|
||||
"unit_months": "Miesiące",
|
||||
"unit_years": "Lata",
|
||||
"due_date": "Termin",
|
||||
"cleaning": "Czyszczenie",
|
||||
"inspection": "Inspekcja",
|
||||
"replacement": "Wymiana",
|
||||
"calibration": "Kalibracja",
|
||||
"service": "Serwis",
|
||||
"reading": "Odczyt",
|
||||
"custom": "Niestandardowy",
|
||||
"history": "Historia",
|
||||
"cost": "Koszt",
|
||||
"report_button": "Raport",
|
||||
"report_title": "Raport konserwacji",
|
||||
"report_generated": "Wygenerowano",
|
||||
"report_times_done": "Wykonano",
|
||||
"report_total_cost": "Koszt całkowity",
|
||||
"report_every": "co {n} {unit}",
|
||||
"report_notes": "Notatki",
|
||||
"report_col_type": "Typ",
|
||||
"report_col_status": "Status",
|
||||
"report_col_schedule": "Harmonogram",
|
||||
"duration": "Czas trwania",
|
||||
"both": "Oba",
|
||||
"trigger_val": "Wartość wyzwalacza",
|
||||
"complete_title": "Wykonaj: ",
|
||||
"checklist": "Lista kontrolna",
|
||||
"checklist_steps_optional": "Kroki listy kontrolnej (opcjonalne)",
|
||||
"checklist_placeholder": "Wyczyść filtr\nWymień uszczelkę\nSprawdź ciśnienie",
|
||||
"checklist_help": "Jeden krok na linię. Maks. 100 elementów.",
|
||||
"err_too_long": "{field}: za długie (maks. {n} znaków)",
|
||||
"err_too_short": "{field}: za krótkie (min. {n} znaków)",
|
||||
"err_value_too_high": "{field}: za duże (maks. {n})",
|
||||
"err_value_too_low": "{field}: za małe (min. {n})",
|
||||
"err_required": "{field}: wymagane",
|
||||
"err_wrong_type": "{field}: zły typ (oczekiwano: {type})",
|
||||
"err_invalid_choice": "{field}: niedozwolona wartość",
|
||||
"err_invalid_value": "{field}: nieprawidłowa wartość",
|
||||
"feat_schedule_time": "Harmonogram według pory dnia",
|
||||
"feat_schedule_time_desc": "Zadania stają się zaległe o określonej porze dnia zamiast o północy.",
|
||||
"schedule_time_optional": "Termin o godzinie (opcjonalne, HH:MM)",
|
||||
"schedule_time_help": "Puste = północ (domyślnie). Strefa czasowa HA.",
|
||||
"at_time": "o",
|
||||
"notes_optional": "Notatki (opcjonalne)",
|
||||
"cost_optional": "Koszt (opcjonalne)",
|
||||
"duration_minutes": "Czas trwania w minutach (opcjonalne)",
|
||||
"days": "dni",
|
||||
"day": "dzień",
|
||||
"today": "Dzisiaj",
|
||||
"d_overdue": "d zaległe",
|
||||
"no_tasks": "Jeszcze brak zadań konserwacyjnych. Utwórz obiekt, aby zacząć.",
|
||||
"no_tasks_short": "Brak zadań",
|
||||
"no_history": "Jeszcze brak wpisów historii.",
|
||||
"show_all": "Pokaż wszystko",
|
||||
"cost_duration_chart": "Koszt i czas trwania",
|
||||
"installed": "Zainstalowane",
|
||||
"confirm_delete_object": "Usunąć ten obiekt i wszystkie jego zadania?",
|
||||
"confirm_delete_task": "Usunąć to zadanie?",
|
||||
"min": "Min",
|
||||
"max": "Maks",
|
||||
"save": "Zapisz",
|
||||
"saving": "Zapisywanie…",
|
||||
"edit_task": "Edytuj zadanie",
|
||||
"new_task": "Nowe zadanie konserwacyjne",
|
||||
"task_name": "Nazwa zadania",
|
||||
"maintenance_type": "Typ konserwacji",
|
||||
"priority": "Priorytet",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Niski",
|
||||
"priority_normal": "Normalny",
|
||||
"priority_high": "Wysoki",
|
||||
"schedule_type": "Typ harmonogramu",
|
||||
"interval_days": "Interwał (dni)",
|
||||
"warning_days": "Dni ostrzeżenia",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "Ostatnio wykonane (opcjonalne)",
|
||||
"interval_anchor": "Punkt zaczepienia interwału",
|
||||
"anchor_completion": "Od daty wykonania",
|
||||
"anchor_planned": "Od daty planowanej (bez przesunięć)",
|
||||
"edit_object": "Edytuj obiekt",
|
||||
"name": "Nazwa",
|
||||
"manufacturer_optional": "Producent (opcjonalne)",
|
||||
"model_optional": "Model (opcjonalne)",
|
||||
"serial_number_optional": "Numer seryjny (opcjonalne)",
|
||||
"serial_number_label": "S/N",
|
||||
"documentation_url_label": "Instrukcja",
|
||||
"object_notes_label": "Notatki",
|
||||
"sort_due_date": "Termin",
|
||||
"sort_object": "Nazwa obiektu",
|
||||
"sort_type": "Typ",
|
||||
"sort_task_name": "Nazwa zadania",
|
||||
"all_objects": "Wszystkie obiekty",
|
||||
"tasks_lower": "zadań",
|
||||
"no_tasks_yet": "Jeszcze brak zadań",
|
||||
"add_first_task": "Dodaj pierwsze zadanie",
|
||||
"trigger_configuration": "Konfiguracja wyzwalacza",
|
||||
"entity_id": "ID encji",
|
||||
"comma_separated": "oddzielone przecinkami",
|
||||
"entity_logic": "Logika encji",
|
||||
"entity_logic_any": "Wyzwala dowolna encja",
|
||||
"entity_logic_all": "Wszystkie encje muszą wyzwolić",
|
||||
"entities": "encje",
|
||||
"attribute_optional": "Atrybut (opcjonalny, puste = stan)",
|
||||
"use_entity_state": "Użyj stanu encji (bez atrybutu)",
|
||||
"trigger_above": "Wyzwól powyżej",
|
||||
"trigger_below": "Wyzwól poniżej",
|
||||
"for_at_least_minutes": "Przez co najmniej (minuty)",
|
||||
"safety_interval_days": "Interwał bezpieczeństwa (dni, opcjonalny)",
|
||||
"safety_interval": "Interwał bezpieczeństwa (opcjonalny)",
|
||||
"delta_mode": "Tryb delta",
|
||||
"from_state_optional": "Ze stanu (opcjonalne)",
|
||||
"to_state_optional": "Do stanu (opcjonalne)",
|
||||
"documentation_url_optional": "URL dokumentacji (opcjonalne)",
|
||||
"object_notes_optional": "Notatki (opcjonalne)",
|
||||
"nfc_tag_id_optional": "ID tagu NFC (opcjonalne)",
|
||||
"nfc_tags_empty_help": "W Home Assistant nie zarejestrowano jeszcze tagów NFC.",
|
||||
"nfc_tags_open_settings": "Otwórz ustawienia tagów",
|
||||
"nfc_tags_refresh": "Odśwież",
|
||||
"environmental_entity_optional": "Czujnik środowiskowy (opcjonalne)",
|
||||
"environmental_entity_helper": "np. sensor.outdoor_temperature — dostosowuje interwał na podstawie warunków środowiskowych",
|
||||
"environmental_attribute_optional": "Atrybut środowiskowy (opcjonalne)",
|
||||
"nfc_tag_id": "ID tagu NFC",
|
||||
"nfc_linked": "Tag NFC powiązany",
|
||||
"nfc_link_hint": "Kliknij, aby powiązać tag NFC",
|
||||
"responsible_user": "Odpowiedzialny użytkownik",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(Brak przypisanego użytkownika)",
|
||||
"all_users": "Wszyscy użytkownicy",
|
||||
"my_tasks": "Moje zadania",
|
||||
"tab_calendar": "Kalendarz",
|
||||
"cal_no_events": "Brak konserwacji",
|
||||
"cal_window_7": "7 dni",
|
||||
"cal_window_14": "14 dni",
|
||||
"cal_window_30": "30 dni",
|
||||
"cal_window_365": "1 rok",
|
||||
"cal_every_n_days": "co {n} dni",
|
||||
"cal_source_time": "Czas",
|
||||
"cal_source_time_adaptive": "Czas (adaptacyjny)",
|
||||
"cal_source_sensor": "Czujnik",
|
||||
"cal_predicted": "przewidywane",
|
||||
"cal_confidence_high": "wysoka pewność",
|
||||
"cal_confidence_medium": "średnia pewność",
|
||||
"cal_confidence_low": "niska pewność",
|
||||
"budget_monthly": "Budżet miesięczny",
|
||||
"budget_yearly": "Budżet roczny",
|
||||
"groups": "Grupy",
|
||||
"new_group": "Nowa grupa",
|
||||
"edit_group": "Edytuj grupę",
|
||||
"no_groups": "Jeszcze brak grup",
|
||||
"delete_group": "Usuń grupę",
|
||||
"delete_group_confirm": "Usunąć grupę '{name}'?",
|
||||
"group_select_tasks": "Wybierz zadania",
|
||||
"group_name_required": "Nazwa jest wymagana",
|
||||
"description_optional": "Opis (opcjonalny)",
|
||||
"selected": "Wybrane",
|
||||
"loading_chart": "Ładowanie danych wykresu...",
|
||||
"hide_outliers": "Ukryj wartości odstające (błędy czujnika)",
|
||||
"was_maintenance_needed": "Czy ta konserwacja była potrzebna?",
|
||||
"feedback_needed": "Potrzebna",
|
||||
"feedback_not_needed": "Niepotrzebna",
|
||||
"feedback_not_sure": "Nie jestem pewien",
|
||||
"suggested_interval": "Sugerowany interwał",
|
||||
"apply_suggestion": "Zastosuj",
|
||||
"reanalyze": "Analizuj ponownie",
|
||||
"reanalyze_result": "Nowa analiza",
|
||||
"reanalyze_insufficient_data": "Za mało danych do wygenerowania rekomendacji",
|
||||
"data_points": "punkty danych",
|
||||
"dismiss_suggestion": "Odrzuć",
|
||||
"confidence_low": "Niska",
|
||||
"confidence_medium": "Średnia",
|
||||
"confidence_high": "Wysoka",
|
||||
"recommended": "rekomendowane",
|
||||
"seasonal_awareness": "Świadomość sezonowa",
|
||||
"edit_seasonal_overrides": "Edytuj czynniki sezonowe",
|
||||
"seasonal_overrides_title": "Czynniki sezonowe (nadpisanie)",
|
||||
"seasonal_overrides_hint": "Czynnik na miesiąc (0.1–5.0). Puste = uczone automatycznie.",
|
||||
"seasonal_override_invalid": "Nieprawidłowa wartość",
|
||||
"seasonal_override_range": "Czynnik musi być między 0.1 a 5.0",
|
||||
"clear_all": "Wyczyść wszystko",
|
||||
"seasonal_chart_title": "Czynniki sezonowe",
|
||||
"seasonal_learned": "Wyuczone",
|
||||
"seasonal_manual": "Ręczne",
|
||||
"month_jan": "Sty",
|
||||
"month_feb": "Lut",
|
||||
"month_mar": "Mar",
|
||||
"month_apr": "Kwi",
|
||||
"month_may": "Maj",
|
||||
"month_jun": "Cze",
|
||||
"month_jul": "Lip",
|
||||
"month_aug": "Sie",
|
||||
"month_sep": "Wrz",
|
||||
"month_oct": "Paź",
|
||||
"month_nov": "Lis",
|
||||
"month_dec": "Gru",
|
||||
"sensor_prediction": "Predykcja czujnika",
|
||||
"degradation_trend": "Trend",
|
||||
"trend_rising": "Rosnący",
|
||||
"trend_falling": "Malejący",
|
||||
"trend_stable": "Stabilny",
|
||||
"trend_insufficient_data": "Niewystarczające dane",
|
||||
"days_until_threshold": "Dni do progu",
|
||||
"threshold_exceeded": "Próg przekroczony",
|
||||
"environmental_adjustment": "Czynnik środowiskowy",
|
||||
"sensor_prediction_urgency": "Czujnik przewiduje próg za ~{days} dni",
|
||||
"day_short": "d",
|
||||
"weibull_reliability_curve": "Krzywa niezawodności",
|
||||
"weibull_failure_probability": "Prawdopodobieństwo awarii",
|
||||
"weibull_r_squared": "Dopasowanie R²",
|
||||
"beta_early_failures": "Wczesne awarie",
|
||||
"beta_random_failures": "Losowe awarie",
|
||||
"beta_wear_out": "Zużycie",
|
||||
"beta_highly_predictable": "Wysoce przewidywalne",
|
||||
"confidence_interval": "Przedział ufności",
|
||||
"confidence_conservative": "Konserwatywny",
|
||||
"confidence_aggressive": "Optymistyczny",
|
||||
"current_interval_marker": "Bieżący interwał",
|
||||
"recommended_marker": "Rekomendowany",
|
||||
"characteristic_life": "Charakterystyczna żywotność",
|
||||
"chart_mini_sparkline": "Wykres trendu",
|
||||
"chart_history": "Historia kosztów i czasu trwania",
|
||||
"chart_seasonal": "Czynniki sezonowe, 12 miesięcy",
|
||||
"chart_weibull": "Krzywa niezawodności Weibulla",
|
||||
"chart_sparkline": "Wykres wartości wyzwalacza czujnika",
|
||||
"days_progress": "Postęp dni",
|
||||
"qr_code": "Kod QR",
|
||||
"qr_generating": "Generowanie kodu QR…",
|
||||
"qr_error": "Nie udało się wygenerować kodu QR.",
|
||||
"qr_error_no_url": "Brak skonfigurowanego URL HA. Ustaw zewnętrzny lub wewnętrzny URL w Ustawienia → System → Sieć.",
|
||||
"save_error": "Nie udało się zapisać. Spróbuj ponownie.",
|
||||
"qr_print": "Drukuj",
|
||||
"qr_download": "Pobierz SVG",
|
||||
"qr_action": "Akcja przy skanowaniu",
|
||||
"qr_action_view": "Wyświetl informacje o konserwacji",
|
||||
"qr_action_complete": "Oznacz konserwację jako wykonaną",
|
||||
"qr_url_mode": "Typ linku",
|
||||
"qr_mode_companion": "Companion App",
|
||||
"qr_mode_local": "Lokalny (mDNS)",
|
||||
"qr_mode_server": "URL serwera",
|
||||
"overview": "Przegląd",
|
||||
"analysis": "Analiza",
|
||||
"recent_activities": "Ostatnie aktywności",
|
||||
"search_notes": "Szukaj w notatkach",
|
||||
"avg_cost": "Śr. koszt",
|
||||
"no_advanced_features": "Brak włączonych funkcji zaawansowanych",
|
||||
"no_advanced_features_hint": "Włącz „Adaptacyjne interwały” lub „Wzorce sezonowe” w ustawieniach integracji, aby zobaczyć tutaj dane analityczne.",
|
||||
"analysis_not_enough_data": "Jeszcze za mało danych do analizy.",
|
||||
"analysis_not_enough_data_hint": "Analiza Weibulla wymaga co najmniej 5 wykonanych konserwacji; wzorce sezonowe stają się widoczne po 6+ punktach danych na miesiąc.",
|
||||
"analysis_manual_task_hint": "Zadania ręczne bez interwału nie generują danych analitycznych.",
|
||||
"completions": "wykonania",
|
||||
"current": "Bieżące",
|
||||
"shorter": "Krótsze",
|
||||
"longer": "Dłuższe",
|
||||
"normal": "Normalne",
|
||||
"disabled": "Wyłączone",
|
||||
"compound_logic": "Logika złożona",
|
||||
"compound": "Złożony (wiele warunków)",
|
||||
"compound_logic_and": "I — wszystkie warunki muszą zadziałać",
|
||||
"compound_logic_or": "LUB — wystarczy dowolny warunek",
|
||||
"compound_help": "Połącz kilka warunków czujników w jeden wyzwalacz.",
|
||||
"compound_no_conditions": "Brak warunków — dodaj co najmniej jeden.",
|
||||
"compound_add_condition": "Dodaj warunek",
|
||||
"compound_condition": "Warunek",
|
||||
"compound_remove_condition": "Usuń warunek",
|
||||
"card_title": "Tytuł",
|
||||
"card_show_header": "Pokaż nagłówek ze statystykami",
|
||||
"card_show_actions": "Pokaż przyciski akcji",
|
||||
"card_compact": "Tryb kompaktowy",
|
||||
"card_max_items": "Maks. elementów (0 = wszystkie)",
|
||||
"card_filter_status": "Filtruj wg statusu",
|
||||
"card_filter_status_help": "Puste = pokaż wszystkie statusy.",
|
||||
"card_filter_objects": "Filtruj wg obiektów",
|
||||
"card_filter_objects_help": "Puste = pokaż wszystkie obiekty.",
|
||||
"card_filter_entities": "Filtruj wg encji (entity_ids)",
|
||||
"card_filter_entities_help": "Wybierz encje sensor / binary_sensor z tej integracji. Puste = wszystkie.",
|
||||
"card_loading_objects": "Ładowanie obiektów…",
|
||||
"card_load_error": "Nie udało się załadować obiektów — sprawdź połączenie WebSocket.",
|
||||
"card_no_tasks_title": "Brak zadań konserwacyjnych",
|
||||
"card_no_tasks_cta": "→ Utwórz w panelu Maintenance",
|
||||
"no_objects": "Brak obiektów.",
|
||||
"action_error": "Akcja nie powiodła się. Spróbuj ponownie.",
|
||||
"area_id_optional": "Obszar (opcjonalny)",
|
||||
"installation_date_optional": "Data instalacji (opcjonalna)",
|
||||
"warranty_expiry_optional": "Wygaśnięcie gwarancji (opcjonalnie)",
|
||||
"warranty": "Gwarancja",
|
||||
"warranty_valid_until": "ważna do {date}",
|
||||
"warranty_expires_in": "wygasa za {days} dni",
|
||||
"warranty_expired": "wygasła",
|
||||
"cal_past_windows": "Minione okna",
|
||||
"cal_forward_windows": "Przyszłe okna",
|
||||
"history_edit_title": "Edytuj wpis historii",
|
||||
"history_edit_timestamp": "Znacznik czasu",
|
||||
"manufacturer": "Producent",
|
||||
"model": "Model",
|
||||
"area": "Obszar",
|
||||
"actions": "Akcje",
|
||||
"view_mode_label": "Widok",
|
||||
"view_cards": "Widok kart",
|
||||
"view_table": "Widok tabeli",
|
||||
"objects_table_columns_label": "Kolumny tabeli obiektów",
|
||||
"objects_table_columns_hint": "Wybierz, które kolumny mają być widoczne w widoku tabeli obiektów.",
|
||||
"custom_icon_optional": "Ikona (opcjonalna, np. mdi:wrench)",
|
||||
"task_enabled": "Zadanie włączone",
|
||||
"skip_reason_prompt": "Pominąć to zadanie?",
|
||||
"reason_optional": "Powód (opcjonalny)",
|
||||
"reset_date_prompt": "Oznaczyć zadanie jako wykonane?",
|
||||
"reset_date_optional": "Data ostatniego wykonania (opcjonalna, domyślnie dzisiaj)",
|
||||
"notes_label": "Notatki",
|
||||
"documentation_label": "Dokumentacja",
|
||||
"no_nfc_tag": "— Brak tagu —",
|
||||
"dashboard": "Pulpit",
|
||||
"tab_today": "Dziś",
|
||||
"palette_placeholder": "Szukaj obiektów i zadań…",
|
||||
"palette_no_results": "Brak wyników",
|
||||
"palette_hint": "↑↓ nawigacja · Enter otwórz · Esc zamknij",
|
||||
"today_all_caught_up": "Wszystko zrobione! Nic w tym tygodniu.",
|
||||
"today_overdue": "Zaległe",
|
||||
"today_due_today": "Na dziś",
|
||||
"today_this_week": "W tym tygodniu",
|
||||
"settings": "Ustawienia",
|
||||
"settings_features": "Funkcje zaawansowane",
|
||||
"settings_features_desc": "Włącz lub wyłącz funkcje zaawansowane. Wyłączenie ukrywa je z UI, ale nie usuwa danych.",
|
||||
"feat_adaptive": "Harmonogram adaptacyjny",
|
||||
"feat_adaptive_desc": "Ucz się optymalnych interwałów z historii konserwacji",
|
||||
"feat_predictions": "Predykcje czujników",
|
||||
"feat_predictions_desc": "Przewiduj daty wyzwolenia z degradacji czujnika",
|
||||
"feat_seasonal": "Korekty sezonowe",
|
||||
"feat_seasonal_desc": "Dostosuj interwały do wzorców sezonowych",
|
||||
"feat_environmental": "Korelacja środowiskowa",
|
||||
"feat_environmental_desc": "Koreluj interwały z temperaturą/wilgotnością",
|
||||
"feat_budget": "Śledzenie budżetu",
|
||||
"feat_budget_desc": "Śledź miesięczne i roczne wydatki na konserwację",
|
||||
"feat_groups": "Grupy zadań",
|
||||
"feat_groups_desc": "Organizuj zadania w grupy logiczne",
|
||||
"feat_checklists": "Listy kontrolne",
|
||||
"feat_checklists_desc": "Wieloetapowe procedury wykonania zadania",
|
||||
"settings_general": "Ogólne",
|
||||
"settings_default_warning": "Domyślne dni ostrzeżenia",
|
||||
"settings_panel_enabled": "Panel boczny",
|
||||
"settings_panel_title": "Tytuł panelu bocznego",
|
||||
"settings_notifications": "Powiadomienia",
|
||||
"settings_notify_service": "Usługa powiadomień",
|
||||
"test_notification": "Powiadomienie testowe",
|
||||
"send_test": "Wyślij test",
|
||||
"testing": "Wysyłanie…",
|
||||
"test_notification_success": "Powiadomienie testowe wysłane",
|
||||
"test_notification_failed": "Powiadomienie testowe nie powiodło się",
|
||||
"settings_notify_due_soon": "Powiadom gdy wkrótce",
|
||||
"settings_notify_overdue": "Powiadom gdy zaległe",
|
||||
"settings_notify_triggered": "Powiadom gdy wyzwolone",
|
||||
"settings_interval_hours": "Interwał powtarzania (godziny, 0 = raz)",
|
||||
"settings_quiet_hours": "Godziny ciszy",
|
||||
"settings_quiet_start": "Początek",
|
||||
"settings_quiet_end": "Koniec",
|
||||
"settings_max_per_day": "Maks. powiadomień dziennie (0 = bez limitu)",
|
||||
"settings_bundling": "Grupowanie powiadomień",
|
||||
"settings_bundle_threshold": "Próg grupowania",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Mobilne przyciski akcji",
|
||||
"settings_action_complete": "Pokaż przycisk 'Wykonaj'",
|
||||
"settings_action_skip": "Pokaż przycisk 'Pomiń'",
|
||||
"settings_action_snooze": "Pokaż przycisk 'Drzemka'",
|
||||
"settings_weekly_digest": "Cotygodniowe podsumowanie",
|
||||
"settings_weekly_digest_hint": "Jedno powiadomienie podsumowujące w poniedziałek rano, gdy są zadania.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Czas drzemki (godziny)",
|
||||
"settings_budget": "Budżet",
|
||||
"settings_currency": "Waluta",
|
||||
"settings_budget_monthly": "Budżet miesięczny",
|
||||
"settings_budget_yearly": "Budżet roczny",
|
||||
"settings_budget_alerts": "Alerty budżetowe",
|
||||
"settings_budget_threshold": "Próg alertu (%)",
|
||||
"settings_import_export": "Import / Eksport",
|
||||
"settings_export_json": "Eksportuj JSON",
|
||||
"settings_export_yaml": "Eksportuj YAML",
|
||||
"settings_export_csv": "Eksportuj CSV",
|
||||
"settings_import_csv": "Importuj CSV",
|
||||
"settings_import_placeholder": "Wklej tutaj zawartość JSON lub CSV…",
|
||||
"settings_import_btn": "Importuj",
|
||||
"settings_import_success": "{count} obiektów zaimportowanych pomyślnie.",
|
||||
"settings_export_success": "Eksport pobrany.",
|
||||
"settings_saved": "Ustawienie zapisane.",
|
||||
"settings_include_history": "Dołącz historię",
|
||||
"sort_alphabetical": "Alfabetycznie",
|
||||
"sort_due_soonest": "Najbliższy termin",
|
||||
"sort_task_count": "Liczba zadań",
|
||||
"sort_area": "Obszar",
|
||||
"sort_assigned_user": "Przypisany użytkownik",
|
||||
"sort_group": "Grupa",
|
||||
"groupby_none": "Bez grupowania",
|
||||
"groupby_area": "Wg obszaru",
|
||||
"groupby_group": "Wg grupy",
|
||||
"groupby_user": "Wg użytkownika",
|
||||
"filter_label": "Filtr",
|
||||
"user_label": "Użytkownik",
|
||||
"sort_label": "Sortowanie",
|
||||
"group_by_label": "Grupuj wg",
|
||||
"state_value_help": "Użyj wartości stanu HA (zwykle małymi literami, np. \"on\"/\"off\"). Wielkość liter jest normalizowana przy zapisie.",
|
||||
"target_changes_help": "Liczba pasujących przejść przed wyzwoleniem (domyślnie: 1).",
|
||||
"qr_print_title": "Drukuj kody QR",
|
||||
"qr_print_desc": "Wygeneruj stronę do druku z kodami QR do wycięcia i naklejenia na sprzęcie.",
|
||||
"qr_print_load": "Załaduj obiekty",
|
||||
"qr_print_filter": "Filtr",
|
||||
"qr_print_objects": "Obiekty",
|
||||
"qr_print_actions": "Akcje",
|
||||
"qr_print_url_mode": "Typ linku",
|
||||
"qr_print_estimate": "Szacowane kody QR",
|
||||
"qr_print_over_limit": "limit 200, zawęź filtr",
|
||||
"qr_print_generate": "Generuj kody QR",
|
||||
"qr_print_generating": "Generowanie…",
|
||||
"qr_print_ready": "Kody QR gotowe",
|
||||
"qr_print_print_button": "Drukuj",
|
||||
"qr_print_empty": "Nic do wygenerowania",
|
||||
"qr_action_skip": "Pomiń",
|
||||
"vacation_title": "Tryb urlopowy",
|
||||
"vacation_active": "aktywny",
|
||||
"vacation_ended": "zakończony",
|
||||
"vacation_desc": "Zaplanuj urlop: powiadomienia są wstrzymane podczas okresu plus dni bufora. Możesz dodać wyjątki dla wybranych zadań.",
|
||||
"vacation_enable": "Włącz tryb urlopowy",
|
||||
"vacation_start": "Początek",
|
||||
"vacation_end": "Koniec",
|
||||
"vacation_buffer": "Bufor (dni)",
|
||||
"vacation_exempt_title": "Powiadamiaj mimo urlopu",
|
||||
"vacation_exempt_desc": "Wybierz zadania, które mają powiadamiać także w czasie urlopu (np. krytyczna chemia basenu).",
|
||||
"vacation_load_tasks": "Wczytaj zadania",
|
||||
"vacation_preview_btn": "Pokaż podgląd",
|
||||
"vacation_preview_affected": "zadań dotyczy",
|
||||
"vacation_event_due_soon": "wkrótce będzie wymagane",
|
||||
"vacation_event_overdue": "stanie się zaległe",
|
||||
"vacation_event_triggered_est": "możliwe wyzwolenie czujnika",
|
||||
"vacation_sensor_based": "(czujnikowe)",
|
||||
"vacation_action_notify": "Powiadamiaj mimo to",
|
||||
"vacation_action_unsilence": "Ponownie wycisz",
|
||||
"vacation_marked_complete": "Oznaczono jako wykonane",
|
||||
"vacation_marked_skip": "Pominięto",
|
||||
"vacation_end_now": "Zakończ urlop teraz",
|
||||
"unassigned": "Nieprzypisane",
|
||||
"no_area": "Brak obszaru",
|
||||
"has_overdue": "Ma zaległe zadania",
|
||||
"object": "Obiekt",
|
||||
"settings_panel_access": "Dostęp do panelu",
|
||||
"settings_panel_access_desc": "Administratorzy zawsze mają pełny dostęp. Aby delegować tworzenie, edytowanie i usuwanie wybranym użytkownikom bez uprawnień administratora, włącz tę opcję i zaznacz ich poniżej — pozostali widzą tylko Wykonaj i Pomiń.",
|
||||
"settings_operator_write": "Zezwól wybranym użytkownikom na tworzenie, edycję i usuwanie",
|
||||
"settings_operator_write_desc": "Wyłączone: tylko administratorzy mogą zmieniać treść. Włączone: wybrani użytkownicy poniżej również mają pełny dostęp.",
|
||||
"no_non_admin_users": "Nie znaleziono użytkowników nie-admin. Dodaj ich w Ustawienia → Osoby.",
|
||||
"owner_label": "Właściciel",
|
||||
"feat_completion_actions": "Akcje po zakończeniu",
|
||||
"feat_completion_actions_desc": "Akcja HA per zadanie po zakończeniu + QR szybkiego zakończenia z predefiniowanymi wartościami.",
|
||||
"on_complete_action_title": "Po zakończeniu: wywołaj akcję HA (opcjonalnie)",
|
||||
"on_complete_action_desc": "Wywołuje usługę HA po zakończeniu zadania — np. zresetuj licznik urządzenia.",
|
||||
"on_complete_action_service": "Usługa",
|
||||
"on_complete_action_target": "Encja docelowa",
|
||||
"on_complete_action_data": "Dane (JSON, opcjonalnie)",
|
||||
"on_complete_action_test": "Testuj akcję",
|
||||
"on_complete_action_test_success": "Sukces",
|
||||
"on_complete_action_test_failed": "Błąd",
|
||||
"quick_complete_defaults_title": "Wartości domyślne szybkiego zakończenia (dla skanów QR, opcjonalnie)",
|
||||
"quick_complete_defaults_desc": "Predefiniowane wartości dla QR szybkiego zakończenia. Bez nich QR otwiera okno dialogowe.",
|
||||
"quick_complete_defaults_notes": "Notatki",
|
||||
"quick_complete_defaults_cost": "Koszt",
|
||||
"quick_complete_defaults_duration": "Czas trwania (minuty)",
|
||||
"quick_complete_defaults_feedback_none": "Brak opinii",
|
||||
"quick_complete_defaults_feedback_needed": "Było potrzebne",
|
||||
"quick_complete_defaults_feedback_not_needed": "Nie było potrzebne",
|
||||
"quick_complete_success": "Szybko oznaczono jako wykonane",
|
||||
"trigger_replaced": "Wyzwalacz zastąpiony",
|
||||
"add": "Dodaj",
|
||||
"show_stats": "Pokaż statystyki + wykresy",
|
||||
"hide_stats": "Ukryj statystyki",
|
||||
"adaptive_no_data": "Za mało historii ukończeń do analizy adaptacyjnej. Wykonaj to zadanie jeszcze kilka razy, aby odblokować propozycje interwału i wykresy niezawodności.",
|
||||
"suggestion_applied": "Zastosowano sugerowany interwał",
|
||||
"vacation_mode": "Tryb urlopowy",
|
||||
"vacation_status_active": "Aktywny teraz",
|
||||
"vacation_status_scheduled": "Zaplanowany",
|
||||
"vacation_status_inactive": "Nieaktywny",
|
||||
"vacation_end_now_confirm": "Zakończyć urlop natychmiast?",
|
||||
"vacation_exempt_count": "wykluczone",
|
||||
"vacation_advanced": "Zaawansowane…",
|
||||
"vacation_open_panel": "Otwórz w panelu",
|
||||
"enable": "Włącz",
|
||||
"saved": "Zapisano",
|
||||
"budget_monthly_set": "Ustaw miesięczny",
|
||||
"budget_yearly_set": "Ustaw roczny",
|
||||
"budget_advanced": "Waluta, alerty…",
|
||||
"budget_open_panel": "Otwórz w panelu",
|
||||
"groups_empty": "Brak grup.",
|
||||
"group_new_placeholder": "Dodaj grupę…",
|
||||
"group_delete_confirm": "Usunąć grupę „{name}”?",
|
||||
"groups_manage_tasks": "Zarządzaj przypisaniami zadań…",
|
||||
"groups_open_panel": "Otwórz w panelu",
|
||||
"on_complete_action_target_hint": "Uwaga: domena encji musi pasować do usługi — np. 'button.press' działa tylko na button.*, 'counter.increment' tylko na counter.*, 'input_button.press' tylko na input_button.* itd. W przypadku niezgodności akcja po cichu się nie wykona (HA zapisze w dzienniku 'Referenced entities ... missing or not currently available').",
|
||||
"show_all_objects": "Pokaż wszystkie obiekty",
|
||||
"show_all_tasks": "Wyczyść filtr — pokaż wszystkie zadania",
|
||||
"filter_to_overdue": "Filtruj listę tylko do zaległych",
|
||||
"filter_to_due_soon": "Filtruj listę tylko do zbliżających się terminów",
|
||||
"filter_to_triggered": "Filtruj listę tylko do wyzwolonych",
|
||||
"open_task": "Otwórz zadanie",
|
||||
"show_details": "Pokaż historię + statystyki",
|
||||
"hide_details": "Ukryj szczegóły",
|
||||
"history_empty": "Brak historii.",
|
||||
"history_edit_button": "Edytuj wpis",
|
||||
"total_cost": "Koszt całkowity",
|
||||
"times_performed": "Wykonano",
|
||||
"older_entries": "starsze",
|
||||
"open_in_panel": "Otwórz w panelu Konserwacja",
|
||||
"skip_reason": "Powód pominięcia (opcjonalnie)",
|
||||
"reset_to_date": "Zresetuj ostatnie wykonanie na",
|
||||
"delete_task_confirm": "Usunąć to zadanie i jego historię?",
|
||||
"delete_object_confirm": "Usunąć ten obiekt i wszystkie jego zadania?",
|
||||
"loading": "Ładowanie…",
|
||||
"archive": "Archiwizuj",
|
||||
"undo": "Cofnij",
|
||||
"task_archived": "Zadanie zarchiwizowane",
|
||||
"object_archived": "Obiekt zarchiwizowany",
|
||||
"unarchive": "Przywróć z archiwum",
|
||||
"archived": "Zarchiwizowane",
|
||||
"show_archived": "Pokaż zarchiwizowane",
|
||||
"hide_archived": "Ukryj zarchiwizowane",
|
||||
"confirm_archive_object": "Zarchiwizować ten obiekt i jego zadania? Historia zostanie zachowana i można ją później przywrócić.",
|
||||
"settings_archive": "Archiwum i przechowywanie",
|
||||
"settings_archive_desc": "Odkładaj ukończone zadania jednorazowe bez usuwania. Zarchiwizowane elementy są ukryte i nieaktywne, ale zachowują historię i koszty.",
|
||||
"settings_archive_oneoff_days": "Automatycznie archiwizuj ukończone zadania jednorazowe po (dni, 0 = wył.)",
|
||||
"settings_delete_archived_oneoff_days": "Automatycznie usuwaj zarchiwizowane zadania jednorazowe po (dni, 0 = nigdy)",
|
||||
"archive_object": "Archiwizuj obiekt",
|
||||
"unarchive_object": "Przywróć obiekt z archiwum",
|
||||
"documents": "Dokumenty",
|
||||
"documents_empty": "Brak dokumentów.",
|
||||
"doc_upload": "Prześlij plik",
|
||||
"doc_uploading": "Przesyłanie…",
|
||||
"doc_add_link": "Dodaj link",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Tytuł (opcjonalnie)",
|
||||
"doc_open": "Otwórz",
|
||||
"doc_delete_confirm": "Usunąć „{name}”?",
|
||||
"doc_too_large": "Plik jest za duży (maks. 25 MB).",
|
||||
"doc_upload_failed": "Przesyłanie nie powiodło się.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Już zapisany gdzie indziej — współdzielony, bez dodatkowego miejsca.",
|
||||
"doc_dup_in_object": "Ten plik jest już dołączony do tego obiektu.",
|
||||
"doc_link_invalid": "Dozwolone są tylko linki http/https.",
|
||||
"doc_cat_manual": "Instrukcja",
|
||||
"doc_cat_warranty": "Gwarancja",
|
||||
"doc_cat_invoice": "Faktura",
|
||||
"doc_cat_spare_parts": "Części zamienne",
|
||||
"doc_cat_photo": "Zdjęcie",
|
||||
"doc_cat_other": "Inne",
|
||||
"doc_link_badge": "Link",
|
||||
"doc_storage_title": "Magazyn dokumentów",
|
||||
"doc_storage_saved": "Zaoszczędzone przez deduplikację",
|
||||
"doc_storage_refresh": "Odśwież",
|
||||
"doc_download": "Pobierz",
|
||||
"doc_close": "Zamknij",
|
||||
"doc_camera": "Zrób zdjęcie",
|
||||
"doc_drop_hint": "Upuść pliki tutaj",
|
||||
"doc_task_none": "Brak dokumentów powiązanych z tym zadaniem.",
|
||||
"doc_link_existing": "Powiąż dokument…",
|
||||
"doc_attach": "Powiąż",
|
||||
"doc_unlink": "Odłącz",
|
||||
"doc_page": "Strona",
|
||||
"chart_range_7d": "7d",
|
||||
"chart_range_30d": "30d",
|
||||
"chart_range_90d": "90d",
|
||||
"chart_range_1y": "1r",
|
||||
"chart_since_service": "od ostatniej konserwacji",
|
||||
"chart_no_stats": "Brak statystyk długoterminowych dla tej encji — wyświetlane są tylko wartości z wpisów konserwacji",
|
||||
"auto_complete_on_recovery": "Zakończ automatycznie, gdy czujnik wróci do normy",
|
||||
"auto_complete_on_recovery_help": "Rejestruje wykonanie (ustawia ostatnie wykonanie), gdy wyzwalacz sam się rozwiąże — np. uzupełniono sól, wymieniono filtr.",
|
||||
"doc_search": "Szukaj dokumentów…",
|
||||
"doc_search_none": "Brak pasujących dokumentów",
|
||||
"link_device_optional": "Połącz z istniejącym urządzeniem (opcjonalnie)",
|
||||
"parent_object_optional": "Obiekt nadrzędny (opcjonalnie)",
|
||||
"parent_none": "(Brak nadrzędnego)",
|
||||
"paused": "Wstrzymane",
|
||||
"pause_object": "Wstrzymaj",
|
||||
"resume_object": "Wznów",
|
||||
"pause_until_prompt": "Zamroź harmonogramy tego obiektu — nic nie staje się wymagane i nic nie powiadamia do czasu wznowienia. Opcjonalnie ustaw datę automatycznego wznowienia.",
|
||||
"pause_until_label": "Wznów dnia (opcjonalnie)",
|
||||
"object_paused": "Obiekt wstrzymany",
|
||||
"object_resumed": "Obiekt wznowiony — harmonogramy uruchomione od nowa",
|
||||
"object_paused_badge": "Wstrzymane",
|
||||
"paused_until_label": "do",
|
||||
"replace_object": "Zastąp…",
|
||||
"replace_object_prompt": "Wycofaj ten obiekt i utwórz następcę. Historia i koszty pozostają zarchiwizowane przy starym; zadania i dokumenty przechodzą do nowego, liczniki startują od zera.",
|
||||
"replace_name_label": "Nazwa następcy",
|
||||
"object_replaced": "Obiekt zastąpiony — utworzono następcę",
|
||||
"reading_unit_label": "Jednostka odczytu (np. kWh, m³)",
|
||||
"reading_unit_help": "Wyświetlana obok zarejestrowanej wartości przy ukończeniu tego zadania.",
|
||||
"reading_value_label": "Wartość odczytu",
|
||||
"reading_label": "Odczyt",
|
||||
"settings_templates_label": "Galeria szablonów",
|
||||
"settings_templates_hint": "Odznacz szablony, których nigdy nie użyjesz — znikną z wyboru „Z szablonu\" (panel i config flow). Nic więcej się nie zmienia; można je włączyć ponownie w każdej chwili.",
|
||||
"worksheet": "Karta pracy",
|
||||
"worksheet_scan_view": "Zeskanuj, aby otworzyć zadanie",
|
||||
"worksheet_scan_complete": "Zeskanuj, aby ukończyć",
|
||||
"worksheet_manual_excerpt": "Fragment instrukcji",
|
||||
"worksheet_pages": "strony",
|
||||
"worksheet_printed": "Wydrukowano",
|
||||
"worksheet_never": "Nigdy"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Manutenção",
|
||||
"objects": "Objetos",
|
||||
"tasks": "Tarefas",
|
||||
"overdue": "Atrasada",
|
||||
"due_soon": "Próxima",
|
||||
"triggered": "Acionada",
|
||||
"ok": "OK",
|
||||
"all": "Todos",
|
||||
"new_object": "+ Novo objeto",
|
||||
"templates_from": "De modelo",
|
||||
"templates_title": "Começar a partir de um modelo",
|
||||
"templates_task_count": "{n} tarefas",
|
||||
"template_created": "Criado a partir de modelo",
|
||||
"onboard_hint": "Adicione o seu primeiro objeto para acompanhar a manutenção.",
|
||||
"edit": "Editar",
|
||||
"duplicate": "Duplicar",
|
||||
"task_duplicated": "Tarefa duplicada",
|
||||
"object_duplicated": "Objeto duplicado",
|
||||
"delete": "Eliminar",
|
||||
"add_task": "+ Tarefa",
|
||||
"complete": "Concluída",
|
||||
"completed": "Concluída",
|
||||
"skip": "Saltar",
|
||||
"skipped": "Saltada",
|
||||
"missed": "Missed",
|
||||
"reset": "Repor",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Cancelar",
|
||||
"bulk_select": "Selecionar",
|
||||
"bulk_select_all": "Selecionar tudo",
|
||||
"bulk_n_selected": "{n} selecionados",
|
||||
"bulk_completed": "{n} tarefas concluídas",
|
||||
"bulk_archived": "{n} tarefas arquivadas",
|
||||
"completing": "A concluir…",
|
||||
"interval": "Intervalo",
|
||||
"warning": "Aviso",
|
||||
"last_performed": "Última execução",
|
||||
"next_due": "Próximo vencimento",
|
||||
"days_until_due": "Dias até vencimento",
|
||||
"avg_duration": "Ø Duração",
|
||||
"trigger": "Acionador",
|
||||
"trigger_type": "Tipo de acionador",
|
||||
"threshold_above": "Limite superior",
|
||||
"threshold_below": "Limite inferior",
|
||||
"threshold": "Limiar",
|
||||
"counter": "Contador",
|
||||
"state_change": "Mudança de estado",
|
||||
"runtime": "Tempo de funcionamento",
|
||||
"runtime_hours": "Duração alvo (horas)",
|
||||
"target_value": "Valor alvo",
|
||||
"baseline": "Linha de base",
|
||||
"target_changes": "Alterações alvo",
|
||||
"for_minutes": "Durante (minutos)",
|
||||
"time_based": "Temporal",
|
||||
"sensor_based": "Sensor",
|
||||
"manual": "Manual",
|
||||
"one_time": "Única vez",
|
||||
"weekdays": "Dias da semana",
|
||||
"nth_weekday": "N-ésimo dia da semana do mês",
|
||||
"day_of_month": "Dia do mês",
|
||||
"recurrence_on_days": "Repetir em",
|
||||
"recurrence_occurrence": "Ocorrência",
|
||||
"recurrence_weekday": "Dia da semana",
|
||||
"recurrence_day": "Dia do mês (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1.º",
|
||||
"ord_2": "2.º",
|
||||
"ord_3": "3.º",
|
||||
"ord_4": "4.º",
|
||||
"ord_5": "5.º",
|
||||
"ord_last": "Último",
|
||||
"day_word": "Dia",
|
||||
"interval_value": "Intervalo",
|
||||
"interval_unit": "Unidade",
|
||||
"unit_days": "Dias",
|
||||
"unit_weeks": "Semanas",
|
||||
"unit_months": "Meses",
|
||||
"unit_years": "Anos",
|
||||
"due_date": "Data de vencimento",
|
||||
"cleaning": "Limpeza",
|
||||
"inspection": "Inspeção",
|
||||
"replacement": "Substituição",
|
||||
"calibration": "Calibração",
|
||||
"service": "Serviço",
|
||||
"reading": "Leitura",
|
||||
"custom": "Personalizado",
|
||||
"history": "Histórico",
|
||||
"cost": "Custo",
|
||||
"report_button": "Relatório",
|
||||
"report_title": "Relatório de manutenção",
|
||||
"report_generated": "Gerado",
|
||||
"report_times_done": "Feito",
|
||||
"report_total_cost": "Custo total",
|
||||
"report_every": "a cada {n} {unit}",
|
||||
"report_notes": "Notas",
|
||||
"report_col_type": "Tipo",
|
||||
"report_col_status": "Estado",
|
||||
"report_col_schedule": "Agenda",
|
||||
"duration": "Duração",
|
||||
"both": "Ambos",
|
||||
"trigger_val": "Valor do acionador",
|
||||
"complete_title": "Concluída: ",
|
||||
"checklist": "Lista de verificação",
|
||||
"checklist_steps_optional": "Passos da lista de verificação (opcional)",
|
||||
"checklist_placeholder": "Limpar filtro\nSubstituir vedação\nTestar pressão",
|
||||
"checklist_help": "Um passo por linha. Máx. 100 itens.",
|
||||
"err_too_long": "{field}: demasiado longo (máx. {n} caracteres)",
|
||||
"err_too_short": "{field}: demasiado curto (mín. {n} caracteres)",
|
||||
"err_value_too_high": "{field}: demasiado grande (máx. {n})",
|
||||
"err_value_too_low": "{field}: demasiado pequeno (mín. {n})",
|
||||
"err_required": "{field}: campo obrigatório",
|
||||
"err_wrong_type": "{field}: tipo incorreto (esperado: {type})",
|
||||
"err_invalid_choice": "{field}: valor não permitido",
|
||||
"err_invalid_value": "{field}: valor inválido",
|
||||
"feat_schedule_time": "Agendamento por hora",
|
||||
"feat_schedule_time_desc": "Tarefas vencem em um horário específico em vez de meia-noite.",
|
||||
"schedule_time_optional": "Vence às (opcional, HH:MM)",
|
||||
"schedule_time_help": "Vazio = meia-noite (padrão). Fuso horário HA.",
|
||||
"at_time": "às",
|
||||
"notes_optional": "Notas (opcional)",
|
||||
"cost_optional": "Custo (opcional)",
|
||||
"duration_minutes": "Duração em minutos (opcional)",
|
||||
"days": "dias",
|
||||
"day": "dia",
|
||||
"today": "Hoje",
|
||||
"d_overdue": "d em atraso",
|
||||
"no_tasks": "Sem tarefas de manutenção. Crie um objeto para começar.",
|
||||
"no_tasks_short": "Sem tarefas",
|
||||
"no_history": "Sem entradas no histórico.",
|
||||
"show_all": "Mostrar tudo",
|
||||
"cost_duration_chart": "Custos & Duração",
|
||||
"installed": "Instalado",
|
||||
"confirm_delete_object": "Eliminar este objeto e todas as suas tarefas?",
|
||||
"confirm_delete_task": "Eliminar esta tarefa?",
|
||||
"min": "Mín",
|
||||
"max": "Máx",
|
||||
"save": "Guardar",
|
||||
"saving": "A guardar…",
|
||||
"edit_task": "Editar tarefa",
|
||||
"new_task": "Nova tarefa de manutenção",
|
||||
"task_name": "Nome da tarefa",
|
||||
"maintenance_type": "Tipo de manutenção",
|
||||
"priority": "Prioridade",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Baixa",
|
||||
"priority_normal": "Normal",
|
||||
"priority_high": "Alta",
|
||||
"schedule_type": "Tipo de agendamento",
|
||||
"interval_days": "Intervalo (dias)",
|
||||
"warning_days": "Dias de aviso",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "Última execução (opcional)",
|
||||
"interval_anchor": "Âncora do intervalo",
|
||||
"anchor_completion": "A partir da data de conclusão",
|
||||
"anchor_planned": "A partir da data planeada (sem desvio)",
|
||||
"edit_object": "Editar objeto",
|
||||
"name": "Nome",
|
||||
"manufacturer_optional": "Fabricante (opcional)",
|
||||
"model_optional": "Modelo (opcional)",
|
||||
"serial_number_optional": "Número de série (opcional)",
|
||||
"serial_number_label": "N/S",
|
||||
"documentation_url_label": "Manual",
|
||||
"object_notes_label": "Notas",
|
||||
"sort_due_date": "Vencimento",
|
||||
"sort_object": "Nome do objeto",
|
||||
"sort_type": "Tipo",
|
||||
"sort_task_name": "Nome da tarefa",
|
||||
"all_objects": "Todos os objetos",
|
||||
"tasks_lower": "tarefas",
|
||||
"no_tasks_yet": "Ainda sem tarefas",
|
||||
"add_first_task": "Adicionar primeira tarefa",
|
||||
"trigger_configuration": "Configuração do acionador",
|
||||
"entity_id": "ID da entidade",
|
||||
"comma_separated": "separados por vírgulas",
|
||||
"entity_logic": "Lógica da entidade",
|
||||
"entity_logic_any": "Qualquer entidade aciona",
|
||||
"entity_logic_all": "Todas as entidades devem acionar",
|
||||
"entities": "entidades",
|
||||
"attribute_optional": "Atributo (opcional, vazio = estado)",
|
||||
"use_entity_state": "Usar estado da entidade (sem atributo)",
|
||||
"trigger_above": "Acionar acima de",
|
||||
"trigger_below": "Acionar abaixo de",
|
||||
"for_at_least_minutes": "Durante pelo menos (minutos)",
|
||||
"safety_interval_days": "Intervalo de segurança (dias, opcional)",
|
||||
"safety_interval": "Intervalo de segurança (opcional)",
|
||||
"delta_mode": "Modo delta",
|
||||
"from_state_optional": "Do estado (opcional)",
|
||||
"to_state_optional": "Para o estado (opcional)",
|
||||
"documentation_url_optional": "URL de documentação (opcional)",
|
||||
"object_notes_optional": "Notas (opcional)",
|
||||
"nfc_tag_id_optional": "ID da etiqueta NFC (opcional)",
|
||||
"nfc_tags_empty_help": "Ainda nenhuma tag NFC registada no Home Assistant.",
|
||||
"nfc_tags_open_settings": "Abrir configurações de tags",
|
||||
"nfc_tags_refresh": "Atualizar",
|
||||
"environmental_entity_optional": "Sensor ambiental (opcional)",
|
||||
"environmental_entity_helper": "ex. sensor.temperatura_exterior — ajusta o intervalo segundo as condições ambientais",
|
||||
"environmental_attribute_optional": "Atributo ambiental (opcional)",
|
||||
"nfc_tag_id": "ID da etiqueta NFC",
|
||||
"nfc_linked": "Etiqueta NFC associada",
|
||||
"nfc_link_hint": "Clique para associar etiqueta NFC",
|
||||
"responsible_user": "Utilizador responsável",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(Nenhum utilizador atribuído)",
|
||||
"all_users": "Todos os utilizadores",
|
||||
"my_tasks": "As minhas tarefas",
|
||||
"tab_calendar": "Calendário",
|
||||
"cal_no_events": "Sem manutenção",
|
||||
"cal_window_7": "7 dias",
|
||||
"cal_window_14": "14 dias",
|
||||
"cal_window_30": "30 dias",
|
||||
"cal_window_365": "1 ano",
|
||||
"cal_every_n_days": "a cada {n} dias",
|
||||
"cal_source_time": "Baseado em tempo",
|
||||
"cal_source_time_adaptive": "Baseado em tempo (adaptativo)",
|
||||
"cal_source_sensor": "Baseado em sensor",
|
||||
"cal_predicted": "previsto",
|
||||
"cal_confidence_high": "alta confiança",
|
||||
"cal_confidence_medium": "confiança média",
|
||||
"cal_confidence_low": "baixa confiança",
|
||||
"budget_monthly": "Orçamento mensal",
|
||||
"budget_yearly": "Orçamento anual",
|
||||
"groups": "Grupos",
|
||||
"new_group": "Novo grupo",
|
||||
"edit_group": "Editar grupo",
|
||||
"no_groups": "Ainda sem grupos",
|
||||
"delete_group": "Eliminar grupo",
|
||||
"delete_group_confirm": "Eliminar o grupo '{name}'?",
|
||||
"group_select_tasks": "Selecionar tarefas",
|
||||
"group_name_required": "Nome obrigatório",
|
||||
"description_optional": "Descrição (opcional)",
|
||||
"selected": "Selecionado",
|
||||
"loading_chart": "A carregar dados...",
|
||||
"hide_outliers": "Ocultar valores atípicos (erros do sensor)",
|
||||
"was_maintenance_needed": "Esta manutenção era necessária?",
|
||||
"feedback_needed": "Necessária",
|
||||
"feedback_not_needed": "Não necessária",
|
||||
"feedback_not_sure": "Não tenho a certeza",
|
||||
"suggested_interval": "Intervalo sugerido",
|
||||
"apply_suggestion": "Aplicar",
|
||||
"reanalyze": "Reanalisar",
|
||||
"reanalyze_result": "Nova análise",
|
||||
"reanalyze_insufficient_data": "Dados insuficientes para uma recomendação",
|
||||
"data_points": "pontos de dados",
|
||||
"dismiss_suggestion": "Descartar",
|
||||
"confidence_low": "Baixa",
|
||||
"confidence_medium": "Média",
|
||||
"confidence_high": "Alta",
|
||||
"recommended": "recomendado",
|
||||
"seasonal_awareness": "Consciência sazonal",
|
||||
"edit_seasonal_overrides": "Editar fatores sazonais",
|
||||
"seasonal_overrides_title": "Fatores sazonais (override)",
|
||||
"seasonal_overrides_hint": "Fator por mês (0.1–5.0). Vazio = aprendido automaticamente.",
|
||||
"seasonal_override_invalid": "Valor inválido",
|
||||
"seasonal_override_range": "O fator deve estar entre 0.1 e 5.0",
|
||||
"clear_all": "Limpar tudo",
|
||||
"seasonal_chart_title": "Fatores sazonais",
|
||||
"seasonal_learned": "Aprendido",
|
||||
"seasonal_manual": "Manual",
|
||||
"month_jan": "Jan",
|
||||
"month_feb": "Fev",
|
||||
"month_mar": "Mar",
|
||||
"month_apr": "Abr",
|
||||
"month_may": "Mai",
|
||||
"month_jun": "Jun",
|
||||
"month_jul": "Jul",
|
||||
"month_aug": "Ago",
|
||||
"month_sep": "Set",
|
||||
"month_oct": "Out",
|
||||
"month_nov": "Nov",
|
||||
"month_dec": "Dez",
|
||||
"sensor_prediction": "Previsão do sensor",
|
||||
"degradation_trend": "Tendência",
|
||||
"trend_rising": "A subir",
|
||||
"trend_falling": "A descer",
|
||||
"trend_stable": "Estável",
|
||||
"trend_insufficient_data": "Dados insuficientes",
|
||||
"days_until_threshold": "Dias até ao limiar",
|
||||
"threshold_exceeded": "Limiar ultrapassado",
|
||||
"environmental_adjustment": "Fator ambiental",
|
||||
"sensor_prediction_urgency": "O sensor prevê o limiar em ~{days} dias",
|
||||
"day_short": "dia",
|
||||
"weibull_reliability_curve": "Curva de fiabilidade",
|
||||
"weibull_failure_probability": "Probabilidade de falha",
|
||||
"weibull_r_squared": "Ajuste R²",
|
||||
"beta_early_failures": "Falhas precoces",
|
||||
"beta_random_failures": "Falhas aleatórias",
|
||||
"beta_wear_out": "Desgaste",
|
||||
"beta_highly_predictable": "Altamente previsível",
|
||||
"confidence_interval": "Intervalo de confiança",
|
||||
"confidence_conservative": "Conservador",
|
||||
"confidence_aggressive": "Otimista",
|
||||
"current_interval_marker": "Intervalo atual",
|
||||
"recommended_marker": "Recomendado",
|
||||
"characteristic_life": "Vida característica",
|
||||
"chart_mini_sparkline": "Sparkline de tendência",
|
||||
"chart_history": "Histórico de custos e duração",
|
||||
"chart_seasonal": "Fatores sazonais, 12 meses",
|
||||
"chart_weibull": "Curva de fiabilidade Weibull",
|
||||
"chart_sparkline": "Gráfico de valor do acionador",
|
||||
"days_progress": "Progresso em dias",
|
||||
"qr_code": "Código QR",
|
||||
"qr_generating": "A gerar código QR…",
|
||||
"qr_error": "Não foi possível gerar o código QR.",
|
||||
"qr_error_no_url": "Nenhum URL do HA configurado. Defina um URL externo ou interno em Definições → Sistema → Rede.",
|
||||
"save_error": "Erro ao guardar. Tente novamente.",
|
||||
"qr_print": "Imprimir",
|
||||
"qr_download": "Transferir SVG",
|
||||
"qr_action": "Ação ao digitalizar",
|
||||
"qr_action_view": "Ver informações de manutenção",
|
||||
"qr_action_complete": "Marcar manutenção como concluída",
|
||||
"qr_url_mode": "Tipo de ligação",
|
||||
"qr_mode_companion": "Companion App",
|
||||
"qr_mode_local": "Local (mDNS)",
|
||||
"qr_mode_server": "URL do servidor",
|
||||
"overview": "Visão geral",
|
||||
"analysis": "Análise",
|
||||
"recent_activities": "Atividades recentes",
|
||||
"search_notes": "Pesquisar notas",
|
||||
"avg_cost": "Ø Custo",
|
||||
"no_advanced_features": "Sem funções avançadas ativadas",
|
||||
"no_advanced_features_hint": "Ative “Intervalos Adaptativos” ou “Padrões Sazonais” nas definições da integração para ver dados de análise aqui.",
|
||||
"analysis_not_enough_data": "Ainda não há dados suficientes para a análise.",
|
||||
"analysis_not_enough_data_hint": "A análise Weibull requer pelo menos 5 manutenções concluídas; os padrões sazonais tornam-se visíveis após 6+ pontos de dados por mês.",
|
||||
"analysis_manual_task_hint": "Tarefas manuais sem intervalo não geram dados de análise.",
|
||||
"completions": "conclusões",
|
||||
"current": "Atual",
|
||||
"shorter": "Mais curto",
|
||||
"longer": "Mais longo",
|
||||
"normal": "Normal",
|
||||
"disabled": "Desativado",
|
||||
"compound_logic": "Lógica composta",
|
||||
"compound": "Composto (várias condições)",
|
||||
"compound_logic_and": "E — todas as condições devem disparar",
|
||||
"compound_logic_or": "OU — basta uma condição",
|
||||
"compound_help": "Combine várias condições de sensores num só disparador.",
|
||||
"compound_no_conditions": "Ainda sem condições — adicione pelo menos uma.",
|
||||
"compound_add_condition": "Adicionar condição",
|
||||
"compound_condition": "Condição",
|
||||
"compound_remove_condition": "Remover condição",
|
||||
"card_title": "Título",
|
||||
"card_show_header": "Mostrar cabeçalho com estatísticas",
|
||||
"card_show_actions": "Mostrar botões de ação",
|
||||
"card_compact": "Modo compacto",
|
||||
"card_max_items": "Máx. itens (0 = todos)",
|
||||
"card_filter_status": "Filtrar por estado",
|
||||
"card_filter_status_help": "Vazio = mostrar todos os estados.",
|
||||
"card_filter_objects": "Filtrar por objetos",
|
||||
"card_filter_objects_help": "Vazio = mostrar todos os objetos.",
|
||||
"card_filter_entities": "Filtrar por entidades (entity_ids)",
|
||||
"card_filter_entities_help": "Selecione entidades sensor / binary_sensor desta integração. Vazio = todas.",
|
||||
"card_loading_objects": "A carregar objetos…",
|
||||
"card_load_error": "Não foi possível carregar os objetos — verifique a ligação WebSocket.",
|
||||
"card_no_tasks_title": "Ainda sem tarefas de manutenção",
|
||||
"card_no_tasks_cta": "→ Crie uma no painel Manutenção",
|
||||
"no_objects": "Ainda sem objetos.",
|
||||
"action_error": "Ação falhada. Tente novamente.",
|
||||
"area_id_optional": "Área (opcional)",
|
||||
"installation_date_optional": "Data de instalação (opcional)",
|
||||
"warranty_expiry_optional": "Validade da garantia (opcional)",
|
||||
"warranty": "Garantia",
|
||||
"warranty_valid_until": "válida até {date}",
|
||||
"warranty_expires_in": "expira em {days} dias",
|
||||
"warranty_expired": "expirada",
|
||||
"cal_past_windows": "Janelas passadas",
|
||||
"cal_forward_windows": "Janelas futuras",
|
||||
"history_edit_title": "Editar entrada do histórico",
|
||||
"history_edit_timestamp": "Carimbo de data/hora",
|
||||
"manufacturer": "Fabricante",
|
||||
"model": "Modelo",
|
||||
"area": "Área",
|
||||
"actions": "Ações",
|
||||
"view_mode_label": "Vista",
|
||||
"view_cards": "Vista de cartões",
|
||||
"view_table": "Vista de tabela",
|
||||
"objects_table_columns_label": "Colunas da tabela de objetos",
|
||||
"objects_table_columns_hint": "Escolha que colunas aparecem na vista de tabela de objetos.",
|
||||
"custom_icon_optional": "Ícone (opcional, ex. mdi:wrench)",
|
||||
"task_enabled": "Tarefa ativada",
|
||||
"skip_reason_prompt": "Saltar esta tarefa?",
|
||||
"reason_optional": "Motivo (opcional)",
|
||||
"reset_date_prompt": "Marcar tarefa como executada?",
|
||||
"reset_date_optional": "Data da última execução (opcional, padrão: hoje)",
|
||||
"notes_label": "Notas",
|
||||
"documentation_label": "Documentação",
|
||||
"no_nfc_tag": "— Sem etiqueta —",
|
||||
"dashboard": "Painel",
|
||||
"tab_today": "Hoje",
|
||||
"palette_placeholder": "Pesquisar objetos e tarefas…",
|
||||
"palette_no_results": "Sem resultados",
|
||||
"palette_hint": "↑↓ navegar · Enter abrir · Esc fechar",
|
||||
"today_all_caught_up": "Tudo em dia! Nada para esta semana.",
|
||||
"today_overdue": "Atrasadas",
|
||||
"today_due_today": "Vence hoje",
|
||||
"today_this_week": "Esta semana",
|
||||
"settings": "Definições",
|
||||
"settings_features": "Funções avançadas",
|
||||
"settings_features_desc": "Ative ou desative funções avançadas. Desativar oculta-as da interface mas não elimina dados.",
|
||||
"feat_adaptive": "Agendamento adaptativo",
|
||||
"feat_adaptive_desc": "Aprender intervalos ideais a partir do histórico de manutenção",
|
||||
"feat_predictions": "Previsões do sensor",
|
||||
"feat_predictions_desc": "Prever datas de acionamento pela degradação do sensor",
|
||||
"feat_seasonal": "Ajustes sazonais",
|
||||
"feat_seasonal_desc": "Ajustar intervalos com base em padrões sazonais",
|
||||
"feat_environmental": "Correlação ambiental",
|
||||
"feat_environmental_desc": "Correlacionar intervalos com temperatura/humidade",
|
||||
"feat_budget": "Controlo de orçamento",
|
||||
"feat_budget_desc": "Acompanhar despesas de manutenção mensais e anuais",
|
||||
"feat_groups": "Grupos de tarefas",
|
||||
"feat_groups_desc": "Organizar tarefas em grupos lógicos",
|
||||
"feat_checklists": "Listas de verificação",
|
||||
"feat_checklists_desc": "Procedimentos com vários passos para conclusão de tarefas",
|
||||
"settings_general": "Geral",
|
||||
"settings_default_warning": "Dias de aviso predefinidos",
|
||||
"settings_panel_enabled": "Painel lateral",
|
||||
"settings_panel_title": "Título do painel lateral",
|
||||
"settings_notifications": "Notificações",
|
||||
"settings_notify_service": "Serviço de notificação",
|
||||
"test_notification": "Notificação de teste",
|
||||
"send_test": "Enviar teste",
|
||||
"testing": "A enviar…",
|
||||
"test_notification_success": "Notificação de teste enviada",
|
||||
"test_notification_failed": "Falha na notificação de teste",
|
||||
"settings_notify_due_soon": "Notificar quando próxima",
|
||||
"settings_notify_overdue": "Notificar quando atrasada",
|
||||
"settings_notify_triggered": "Notificar quando acionada",
|
||||
"settings_interval_hours": "Intervalo de repetição (horas, 0 = uma vez)",
|
||||
"settings_quiet_hours": "Horas de silêncio",
|
||||
"settings_quiet_start": "Início",
|
||||
"settings_quiet_end": "Fim",
|
||||
"settings_max_per_day": "Máx. notificações por dia (0 = ilimitado)",
|
||||
"settings_bundling": "Agrupar notificações",
|
||||
"settings_bundle_threshold": "Limiar de agrupamento",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Botões de ação móveis",
|
||||
"settings_action_complete": "Mostrar botão 'Concluída'",
|
||||
"settings_action_skip": "Mostrar botão 'Saltar'",
|
||||
"settings_action_snooze": "Mostrar botão 'Adiar'",
|
||||
"settings_weekly_digest": "Resumo semanal",
|
||||
"settings_weekly_digest_hint": "Uma notificação de resumo na segunda de manhã quando há tarefas.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Duração do adiamento (horas)",
|
||||
"settings_budget": "Orçamento",
|
||||
"settings_currency": "Moeda",
|
||||
"settings_budget_monthly": "Orçamento mensal",
|
||||
"settings_budget_yearly": "Orçamento anual",
|
||||
"settings_budget_alerts": "Alertas de orçamento",
|
||||
"settings_budget_threshold": "Limiar de alerta (%)",
|
||||
"settings_import_export": "Importar / Exportar",
|
||||
"settings_export_json": "Exportar JSON",
|
||||
"settings_export_yaml": "Exportar YAML",
|
||||
"settings_export_csv": "Exportar CSV",
|
||||
"settings_import_csv": "Importar CSV",
|
||||
"settings_import_placeholder": "Cole o conteúdo JSON ou CSV aqui…",
|
||||
"settings_import_btn": "Importar",
|
||||
"settings_import_success": "{count} objetos importados com sucesso.",
|
||||
"settings_export_success": "Exportação transferida.",
|
||||
"settings_saved": "Definição guardada.",
|
||||
"settings_include_history": "Incluir histórico",
|
||||
"sort_alphabetical": "Alfabético",
|
||||
"sort_due_soonest": "Vencimento mais próximo",
|
||||
"sort_task_count": "Quantidade de tarefas",
|
||||
"sort_area": "Área",
|
||||
"sort_assigned_user": "Usuário atribuído",
|
||||
"sort_group": "Grupo",
|
||||
"filter_label": "Filtro",
|
||||
"user_label": "Utilizador",
|
||||
"sort_label": "Ordenar",
|
||||
"group_by_label": "Agrupar por",
|
||||
"state_value_help": "Use o valor de estado HA (normalmente em minúsculas, p. ex. \"on\"/\"off\"). As maiúsculas são normalizadas ao guardar.",
|
||||
"target_changes_help": "Número de transições correspondentes antes do trigger disparar (predefinido: 1).",
|
||||
"qr_print_title": "Imprimir códigos QR",
|
||||
"qr_print_desc": "Gera uma página imprimível de códigos QR para recortar e colar nos equipamentos.",
|
||||
"qr_print_load": "Carregar objetos",
|
||||
"qr_print_filter": "Filtro",
|
||||
"qr_print_objects": "Objetos",
|
||||
"qr_print_actions": "Ações",
|
||||
"qr_print_url_mode": "Tipo de link",
|
||||
"qr_print_estimate": "Códigos QR estimados",
|
||||
"qr_print_over_limit": "máximo 200, restrinja o filtro",
|
||||
"qr_print_generate": "Gerar códigos QR",
|
||||
"qr_print_generating": "A gerar…",
|
||||
"qr_print_ready": "Códigos QR prontos",
|
||||
"qr_print_print_button": "Imprimir",
|
||||
"qr_print_empty": "Nada a gerar",
|
||||
"qr_action_skip": "Saltar",
|
||||
"vacation_title": "Modo de férias",
|
||||
"vacation_active": "ativo",
|
||||
"vacation_ended": "terminado",
|
||||
"vacation_desc": "Planeia as tuas férias: as notificações são pausadas durante o período mais dias de margem. Podes manter exceções por tarefa.",
|
||||
"vacation_enable": "Ativar modo de férias",
|
||||
"vacation_start": "Início",
|
||||
"vacation_end": "Fim",
|
||||
"vacation_buffer": "Margem (dias)",
|
||||
"vacation_exempt_title": "Notificar mesmo em férias",
|
||||
"vacation_exempt_desc": "Escolhe tarefas que devem notificar mesmo em férias (p. ex. química crítica de piscina).",
|
||||
"vacation_load_tasks": "Carregar tarefas",
|
||||
"vacation_preview_btn": "Mostrar pré-visualização",
|
||||
"vacation_preview_affected": "tarefas afetadas",
|
||||
"vacation_event_due_soon": "ficará próxima do prazo",
|
||||
"vacation_event_overdue": "ficará em atraso",
|
||||
"vacation_event_triggered_est": "possível disparo do sensor",
|
||||
"vacation_sensor_based": "(baseado em sensor)",
|
||||
"vacation_action_notify": "Notificar mesmo assim",
|
||||
"vacation_action_unsilence": "Silenciar novamente",
|
||||
"vacation_marked_complete": "Marcado como concluído",
|
||||
"vacation_marked_skip": "Saltado",
|
||||
"vacation_end_now": "Terminar férias agora",
|
||||
"groupby_none": "Sem agrupamento",
|
||||
"groupby_area": "Por área",
|
||||
"groupby_group": "Por grupo",
|
||||
"groupby_user": "Por usuário",
|
||||
"unassigned": "Não atribuído",
|
||||
"no_area": "Sem área",
|
||||
"has_overdue": "Tarefas em atraso",
|
||||
"object": "Objeto",
|
||||
"settings_panel_access": "Acesso ao painel",
|
||||
"settings_panel_access_desc": "Administradores sempre têm acesso completo. Para delegar criar, editar e excluir a não administradores específicos, ative isto e selecione-os abaixo — os demais só veem Concluir e Ignorar.",
|
||||
"settings_operator_write": "Permitir que os usuários selecionados criem, editem e excluam",
|
||||
"settings_operator_write_desc": "Desativado: apenas administradores podem alterar o conteúdo. Ativado: os usuários selecionados abaixo também têm acesso completo.",
|
||||
"no_non_admin_users": "Nenhum usuário não administrador encontrado. Adicione em Configurações → Pessoas.",
|
||||
"owner_label": "Proprietário",
|
||||
"feat_completion_actions": "Ações de conclusão",
|
||||
"feat_completion_actions_desc": "Ação HA por tarefa ao concluir + QR de conclusão rápida com valores predefinidos.",
|
||||
"on_complete_action_title": "Na conclusão: acionar ação HA (opcional)",
|
||||
"on_complete_action_desc": "Chama um serviço HA quando a tarefa é concluída — p. ex. reiniciar um contador no dispositivo.",
|
||||
"on_complete_action_service": "Serviço",
|
||||
"on_complete_action_target": "Entidade alvo",
|
||||
"on_complete_action_data": "Dados (JSON, opcional)",
|
||||
"on_complete_action_test": "Testar ação",
|
||||
"on_complete_action_test_success": "Sucesso",
|
||||
"on_complete_action_test_failed": "Falhou",
|
||||
"quick_complete_defaults_title": "Valores predefinidos de conclusão rápida (para scans QR, opcional)",
|
||||
"quick_complete_defaults_desc": "Valores predefinidos para QR de conclusão rápida. Sem eles, o QR abre o diálogo.",
|
||||
"quick_complete_defaults_notes": "Notas",
|
||||
"quick_complete_defaults_cost": "Custo",
|
||||
"quick_complete_defaults_duration": "Duração (minutos)",
|
||||
"quick_complete_defaults_feedback_none": "Sem feedback",
|
||||
"quick_complete_defaults_feedback_needed": "Era necessário",
|
||||
"quick_complete_defaults_feedback_not_needed": "Não era necessário",
|
||||
"quick_complete_success": "Concluído rapidamente",
|
||||
"trigger_replaced": "Acionador substituído",
|
||||
"add": "Adicionar",
|
||||
"show_stats": "Mostrar estatísticas + gráficos",
|
||||
"hide_stats": "Ocultar estatísticas",
|
||||
"adaptive_no_data": "Ainda não há histórico de conclusões suficiente para a análise adaptativa. Conclua esta tarefa mais algumas vezes para desbloquear as recomendações de intervalo e os gráficos de fiabilidade.",
|
||||
"suggestion_applied": "Intervalo sugerido aplicado",
|
||||
"vacation_mode": "Modo de férias",
|
||||
"vacation_status_active": "Ativo agora",
|
||||
"vacation_status_scheduled": "Agendado",
|
||||
"vacation_status_inactive": "Inativo",
|
||||
"vacation_end_now_confirm": "Terminar as férias imediatamente?",
|
||||
"vacation_exempt_count": "isentas",
|
||||
"vacation_advanced": "Avançado…",
|
||||
"vacation_open_panel": "Abrir no painel",
|
||||
"enable": "Ativar",
|
||||
"saved": "Guardado",
|
||||
"budget_monthly_set": "Definir mensal",
|
||||
"budget_yearly_set": "Definir anual",
|
||||
"budget_advanced": "Moeda, alertas…",
|
||||
"budget_open_panel": "Abrir no painel",
|
||||
"groups_empty": "Ainda sem grupos.",
|
||||
"group_new_placeholder": "Adicionar grupo…",
|
||||
"group_delete_confirm": "Eliminar o grupo \"{name}\"?",
|
||||
"groups_manage_tasks": "Gerir atribuições de tarefas…",
|
||||
"groups_open_panel": "Abrir no painel",
|
||||
"on_complete_action_target_hint": "Nota: o domínio da entidade tem de corresponder ao serviço — p. ex. 'button.press' só funciona em button.*, 'counter.increment' só em counter.*, 'input_button.press' só em input_button.* etc. Em caso de incompatibilidade, a ação falha silenciosamente (o HA regista 'Referenced entities ... missing or not currently available').",
|
||||
"show_all_objects": "Mostrar todos os objetos",
|
||||
"show_all_tasks": "Limpar filtro — mostrar todas as tarefas",
|
||||
"filter_to_overdue": "Filtrar a lista apenas para em atraso",
|
||||
"filter_to_due_soon": "Filtrar a lista apenas para a vencer em breve",
|
||||
"filter_to_triggered": "Filtrar a lista apenas para acionadas",
|
||||
"open_task": "Abrir tarefa",
|
||||
"show_details": "Mostrar histórico + estatísticas",
|
||||
"hide_details": "Ocultar detalhes",
|
||||
"history_empty": "Ainda sem histórico.",
|
||||
"history_edit_button": "Editar entrada",
|
||||
"total_cost": "Custo total",
|
||||
"times_performed": "Realizada",
|
||||
"older_entries": "mais antigas",
|
||||
"open_in_panel": "Abrir no painel Manutenção",
|
||||
"skip_reason": "Motivo para saltar (opcional)",
|
||||
"reset_to_date": "Repor última execução para",
|
||||
"delete_task_confirm": "Eliminar esta tarefa e o seu histórico?",
|
||||
"delete_object_confirm": "Eliminar este objeto e todas as suas tarefas?",
|
||||
"loading": "A carregar…",
|
||||
"archive": "Arquivar",
|
||||
"undo": "Desfazer",
|
||||
"task_archived": "Tarefa arquivada",
|
||||
"object_archived": "Objeto arquivado",
|
||||
"unarchive": "Desarquivar",
|
||||
"archived": "Arquivado",
|
||||
"show_archived": "Mostrar arquivados",
|
||||
"hide_archived": "Ocultar arquivados",
|
||||
"confirm_archive_object": "Arquivar este objeto e as suas tarefas? O histórico é mantido e pode ser restaurado mais tarde.",
|
||||
"settings_archive": "Arquivo e retenção",
|
||||
"settings_archive_desc": "Retire tarefas únicas concluídas sem as eliminar. Os itens arquivados ficam ocultos e inativos, mas mantêm histórico e custos.",
|
||||
"settings_archive_oneoff_days": "Arquivar automaticamente tarefas únicas concluídas após (dias, 0 = desligado)",
|
||||
"settings_delete_archived_oneoff_days": "Eliminar automaticamente tarefas únicas arquivadas após (dias, 0 = nunca)",
|
||||
"archive_object": "Arquivar objeto",
|
||||
"unarchive_object": "Desarquivar objeto",
|
||||
"documents": "Documentos",
|
||||
"documents_empty": "Ainda sem documentos.",
|
||||
"doc_upload": "Carregar ficheiro",
|
||||
"doc_uploading": "A carregar…",
|
||||
"doc_add_link": "Adicionar ligação",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Título (opcional)",
|
||||
"doc_open": "Abrir",
|
||||
"doc_delete_confirm": "Eliminar «{name}»?",
|
||||
"doc_too_large": "Ficheiro demasiado grande (máx. 25 MB).",
|
||||
"doc_upload_failed": "Falha no carregamento.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Já armazenado noutro local — partilhado, sem espaço extra.",
|
||||
"doc_dup_in_object": "Este ficheiro já está anexado a este objeto.",
|
||||
"doc_link_invalid": "Apenas ligações http/https são permitidas.",
|
||||
"doc_cat_manual": "Manual",
|
||||
"doc_cat_warranty": "Garantia",
|
||||
"doc_cat_invoice": "Fatura",
|
||||
"doc_cat_spare_parts": "Peças",
|
||||
"doc_cat_photo": "Foto",
|
||||
"doc_cat_other": "Outro",
|
||||
"doc_link_badge": "Ligação",
|
||||
"doc_storage_title": "Armazenamento de documentos",
|
||||
"doc_storage_saved": "Poupado por deduplicação",
|
||||
"doc_storage_refresh": "Atualizar",
|
||||
"doc_download": "Transferir",
|
||||
"doc_close": "Fechar",
|
||||
"doc_camera": "Tirar foto",
|
||||
"doc_drop_hint": "Solte os ficheiros aqui",
|
||||
"doc_task_none": "Nenhum documento associado a esta tarefa.",
|
||||
"doc_link_existing": "Associar um documento…",
|
||||
"doc_attach": "Associar",
|
||||
"doc_unlink": "Desassociar",
|
||||
"doc_page": "Página",
|
||||
"chart_range_7d": "7d",
|
||||
"chart_range_30d": "30d",
|
||||
"chart_range_90d": "90d",
|
||||
"chart_range_1y": "1a",
|
||||
"chart_since_service": "desde a última manutenção",
|
||||
"chart_no_stats": "Sem estatísticas de longo prazo para esta entidade — mostrando apenas valores de eventos de manutenção",
|
||||
"auto_complete_on_recovery": "Concluir automaticamente quando o sensor recuperar",
|
||||
"auto_complete_on_recovery_help": "Regista uma conclusão (define a última realização) quando o gatilho se resolve sozinho — p. ex., sal reabastecido, filtro substituído.",
|
||||
"doc_search": "Pesquisar documentos…",
|
||||
"doc_search_none": "Nenhum documento correspondente",
|
||||
"link_device_optional": "Associar a dispositivo existente (opcional)",
|
||||
"parent_object_optional": "Objeto principal (opcional)",
|
||||
"parent_none": "(Sem objeto principal)",
|
||||
"paused": "Pausado",
|
||||
"pause_object": "Pausar",
|
||||
"resume_object": "Retomar",
|
||||
"pause_until_prompt": "Congela os agendamentos deste objeto — nada vence nem notifica até ser retomado. Opcionalmente, defina uma data de retoma automática.",
|
||||
"pause_until_label": "Retomar em (opcional)",
|
||||
"object_paused": "Objeto pausado",
|
||||
"object_resumed": "Objeto retomado — agendamentos reiniciados",
|
||||
"object_paused_badge": "Pausado",
|
||||
"paused_until_label": "até",
|
||||
"replace_object": "Substituir…",
|
||||
"replace_object_prompt": "Retire este objeto e crie um sucessor. O histórico e os custos ficam arquivados no antigo; as tarefas e os documentos passam para o novo, os contadores começam do zero.",
|
||||
"replace_name_label": "Nome do sucessor",
|
||||
"object_replaced": "Objeto substituído — sucessor criado",
|
||||
"reading_unit_label": "Unidade de leitura (p. ex. kWh, m³)",
|
||||
"reading_unit_help": "Mostrada ao lado do valor registado ao concluir esta tarefa.",
|
||||
"reading_value_label": "Valor de leitura",
|
||||
"reading_label": "Leitura",
|
||||
"settings_templates_label": "Galeria de modelos",
|
||||
"settings_templates_hint": "Desmarque modelos de que nunca precisará — desaparecem dos seletores \"A partir de modelo\" (painel e config flow). Nada mais muda; reativáveis a qualquer momento.",
|
||||
"worksheet": "Folha de trabalho",
|
||||
"worksheet_scan_view": "Digitalize para abrir a tarefa",
|
||||
"worksheet_scan_complete": "Digitalize para concluir",
|
||||
"worksheet_manual_excerpt": "Excerto do manual",
|
||||
"worksheet_pages": "páginas",
|
||||
"worksheet_printed": "Impresso",
|
||||
"worksheet_never": "Nunca"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Обслуживание",
|
||||
"objects": "Объекты",
|
||||
"tasks": "Задачи",
|
||||
"overdue": "Просрочено",
|
||||
"due_soon": "Скоро",
|
||||
"triggered": "Сработало",
|
||||
"ok": "OK",
|
||||
"all": "Все",
|
||||
"new_object": "+ Новый объект",
|
||||
"templates_from": "Из шаблона",
|
||||
"templates_title": "Начать с шаблона",
|
||||
"templates_task_count": "{n} задач",
|
||||
"template_created": "Создано из шаблона",
|
||||
"onboard_hint": "Добавьте первый объект, чтобы отслеживать обслуживание.",
|
||||
"edit": "Изменить",
|
||||
"duplicate": "Дублировать",
|
||||
"task_duplicated": "Задача продублирована",
|
||||
"object_duplicated": "Объект продублирован",
|
||||
"delete": "Удалить",
|
||||
"add_task": "+ Добавить задачу",
|
||||
"complete": "Выполнить",
|
||||
"completed": "Выполнено",
|
||||
"skip": "Пропустить",
|
||||
"skipped": "Пропущено",
|
||||
"missed": "Missed",
|
||||
"reset": "Сбросить",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Отмена",
|
||||
"bulk_select": "Выбрать",
|
||||
"bulk_select_all": "Выбрать все",
|
||||
"bulk_n_selected": "Выбрано: {n}",
|
||||
"bulk_completed": "Выполнено задач: {n}",
|
||||
"bulk_archived": "Архивировано задач: {n}",
|
||||
"completing": "Выполнение…",
|
||||
"interval": "Интервал",
|
||||
"warning": "Предупреждение",
|
||||
"last_performed": "Последнее выполнение",
|
||||
"next_due": "Следующий срок",
|
||||
"days_until_due": "Дней до срока",
|
||||
"avg_duration": "Ср. длительность",
|
||||
"trigger": "Триггер",
|
||||
"trigger_type": "Тип триггера",
|
||||
"threshold_above": "Верхний предел",
|
||||
"threshold_below": "Нижний предел",
|
||||
"threshold": "Порог",
|
||||
"counter": "Счётчик",
|
||||
"state_change": "Изменение состояния",
|
||||
"runtime": "Время работы",
|
||||
"runtime_hours": "Целевое время работы (часы)",
|
||||
"target_value": "Целевое значение",
|
||||
"baseline": "Базовое значение",
|
||||
"target_changes": "Целевые изменения",
|
||||
"for_minutes": "На (минут)",
|
||||
"time_based": "По времени",
|
||||
"sensor_based": "По датчику",
|
||||
"manual": "Вручную",
|
||||
"one_time": "Однократно",
|
||||
"weekdays": "Дни недели",
|
||||
"nth_weekday": "N-й день недели месяца",
|
||||
"day_of_month": "День месяца",
|
||||
"recurrence_on_days": "Повторять в",
|
||||
"recurrence_occurrence": "Вхождение",
|
||||
"recurrence_weekday": "День недели",
|
||||
"recurrence_day": "День месяца (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1-й",
|
||||
"ord_2": "2-й",
|
||||
"ord_3": "3-й",
|
||||
"ord_4": "4-й",
|
||||
"ord_5": "5-й",
|
||||
"ord_last": "Последний",
|
||||
"day_word": "День",
|
||||
"interval_value": "Интервал",
|
||||
"interval_unit": "Единица",
|
||||
"unit_days": "Дни",
|
||||
"unit_weeks": "Недели",
|
||||
"unit_months": "Месяцы",
|
||||
"unit_years": "Годы",
|
||||
"due_date": "Дата выполнения",
|
||||
"cleaning": "Чистка",
|
||||
"inspection": "Осмотр",
|
||||
"replacement": "Замена",
|
||||
"calibration": "Калибровка",
|
||||
"service": "Сервис",
|
||||
"reading": "Показания",
|
||||
"custom": "Своё",
|
||||
"history": "История",
|
||||
"cost": "Стоимость",
|
||||
"report_button": "Отчёт",
|
||||
"report_title": "Отчёт об обслуживании",
|
||||
"report_generated": "Создан",
|
||||
"report_times_done": "Выполнено",
|
||||
"report_total_cost": "Итого",
|
||||
"report_every": "каждые {n} {unit}",
|
||||
"report_notes": "Заметки",
|
||||
"report_col_type": "Тип",
|
||||
"report_col_status": "Статус",
|
||||
"report_col_schedule": "Расписание",
|
||||
"duration": "Длительность",
|
||||
"both": "Оба",
|
||||
"trigger_val": "Значение триггера",
|
||||
"complete_title": "Выполнить: ",
|
||||
"checklist": "Контрольный список",
|
||||
"checklist_steps_optional": "Шаги контрольного списка (необязательно)",
|
||||
"checklist_placeholder": "Очистить фильтр\nЗаменить уплотнитель\nПроверить давление",
|
||||
"checklist_help": "Один шаг на строку. Макс. 100 элементов.",
|
||||
"err_too_long": "{field}: слишком длинно (макс. {n} символов)",
|
||||
"err_too_short": "{field}: слишком коротко (мин. {n} символов)",
|
||||
"err_value_too_high": "{field}: слишком велико (макс. {n})",
|
||||
"err_value_too_low": "{field}: слишком мало (мин. {n})",
|
||||
"err_required": "{field}: обязательное поле",
|
||||
"err_wrong_type": "{field}: неверный тип (ожидался: {type})",
|
||||
"err_invalid_choice": "{field}: недопустимое значение",
|
||||
"err_invalid_value": "{field}: неверное значение",
|
||||
"feat_schedule_time": "Планирование по времени дня",
|
||||
"feat_schedule_time_desc": "Задачи становятся просроченными в определённое время дня, а не в полночь.",
|
||||
"schedule_time_optional": "Срок (необязательно, HH:MM)",
|
||||
"schedule_time_help": "Пусто = полночь (по умолчанию). Часовой пояс HA.",
|
||||
"at_time": "в",
|
||||
"notes_optional": "Примечания (опционально)",
|
||||
"cost_optional": "Стоимость (опционально)",
|
||||
"duration_minutes": "Длительность в минутах (опционально)",
|
||||
"days": "дней",
|
||||
"day": "день",
|
||||
"today": "Сегодня",
|
||||
"d_overdue": "дн. просрочено",
|
||||
"no_tasks": "Пока нет задач по обслуживанию. Создайте объект, чтобы начать.",
|
||||
"no_tasks_short": "Нет задач",
|
||||
"no_history": "Пока нет записей в истории.",
|
||||
"show_all": "Показать все",
|
||||
"cost_duration_chart": "Стоимость и длительность",
|
||||
"installed": "Установлен",
|
||||
"confirm_delete_object": "Удалить этот объект и все его задачи?",
|
||||
"confirm_delete_task": "Удалить эту задачу?",
|
||||
"min": "Мин",
|
||||
"max": "Макс",
|
||||
"save": "Сохранить",
|
||||
"saving": "Сохранение…",
|
||||
"edit_task": "Изменить задачу",
|
||||
"new_task": "Новая задача обслуживания",
|
||||
"task_name": "Название задачи",
|
||||
"maintenance_type": "Тип обслуживания",
|
||||
"priority": "Приоритет",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Низкий",
|
||||
"priority_normal": "Обычный",
|
||||
"priority_high": "Высокий",
|
||||
"schedule_type": "Тип расписания",
|
||||
"interval_days": "Интервал (дни)",
|
||||
"warning_days": "Дни предупреждения",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"interval_anchor": "Якорь интервала",
|
||||
"anchor_completion": "От даты выполнения",
|
||||
"anchor_planned": "От плановой даты (без смещения)",
|
||||
"edit_object": "Изменить объект",
|
||||
"name": "Имя",
|
||||
"manufacturer_optional": "Производитель (опционально)",
|
||||
"model_optional": "Модель (опционально)",
|
||||
"serial_number_optional": "Серийный номер (опционально)",
|
||||
"serial_number_label": "С/Н",
|
||||
"documentation_url_label": "Руководство",
|
||||
"object_notes_label": "Заметки",
|
||||
"sort_due_date": "Срок",
|
||||
"sort_object": "Имя объекта",
|
||||
"sort_type": "Тип",
|
||||
"sort_task_name": "Имя задачи",
|
||||
"all_objects": "Все объекты",
|
||||
"tasks_lower": "задач",
|
||||
"no_tasks_yet": "Пока нет задач",
|
||||
"add_first_task": "Добавить первую задачу",
|
||||
"last_performed_optional": "Последнее выполнение (опционально)",
|
||||
"trigger_configuration": "Настройка триггера",
|
||||
"entity_id": "ID сущности",
|
||||
"comma_separated": "через запятую",
|
||||
"entity_logic": "Логика сущностей",
|
||||
"entity_logic_any": "Любая сущность срабатывает",
|
||||
"entity_logic_all": "Все сущности должны сработать",
|
||||
"entities": "сущности",
|
||||
"attribute_optional": "Атрибут (опционально, пусто = состояние)",
|
||||
"use_entity_state": "Использовать состояние сущности (без атрибута)",
|
||||
"trigger_above": "Срабатывать выше",
|
||||
"trigger_below": "Срабатывать ниже",
|
||||
"for_at_least_minutes": "Не менее (минут)",
|
||||
"safety_interval_days": "Интервал безопасности (дни, опционально)",
|
||||
"safety_interval": "Интервал безопасности (опционально)",
|
||||
"delta_mode": "Режим дельты",
|
||||
"from_state_optional": "Из состояния (опционально)",
|
||||
"to_state_optional": "В состояние (опционально)",
|
||||
"documentation_url_optional": "URL документации (опционально)",
|
||||
"object_notes_optional": "Заметки (опционально)",
|
||||
"nfc_tag_id_optional": "ID NFC-метки (опционально)",
|
||||
"nfc_tags_empty_help": "В Home Assistant ещё не зарегистрировано NFC-тегов.",
|
||||
"nfc_tags_open_settings": "Открыть настройки тегов",
|
||||
"nfc_tags_refresh": "Обновить",
|
||||
"environmental_entity_optional": "Датчик окружающей среды (опционально)",
|
||||
"environmental_entity_helper": "напр. sensor.outdoor_temperature — корректирует интервал в зависимости от условий",
|
||||
"environmental_attribute_optional": "Атрибут среды (опционально)",
|
||||
"nfc_tag_id": "ID NFC-метки",
|
||||
"nfc_linked": "NFC-метка привязана",
|
||||
"nfc_link_hint": "Нажмите, чтобы привязать NFC-метку",
|
||||
"responsible_user": "Ответственный пользователь",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(Не назначен)",
|
||||
"all_users": "Все пользователи",
|
||||
"my_tasks": "Мои задачи",
|
||||
"tab_calendar": "Календарь",
|
||||
"cal_no_events": "Без обслуживания",
|
||||
"cal_window_7": "7 дней",
|
||||
"cal_window_14": "14 дней",
|
||||
"cal_window_30": "30 дней",
|
||||
"cal_window_365": "1 год",
|
||||
"cal_every_n_days": "каждые {n} дней",
|
||||
"cal_source_time": "По времени",
|
||||
"cal_source_time_adaptive": "По времени (адаптивно)",
|
||||
"cal_source_sensor": "По датчику",
|
||||
"cal_predicted": "прогноз",
|
||||
"cal_confidence_high": "высокая надёжность",
|
||||
"cal_confidence_medium": "средняя надёжность",
|
||||
"cal_confidence_low": "низкая надёжность",
|
||||
"budget_monthly": "Месячный бюджет",
|
||||
"budget_yearly": "Годовой бюджет",
|
||||
"groups": "Группы",
|
||||
"new_group": "Новая группа",
|
||||
"edit_group": "Редактировать группу",
|
||||
"no_groups": "Групп пока нет",
|
||||
"delete_group": "Удалить группу",
|
||||
"delete_group_confirm": "Удалить группу '{name}'?",
|
||||
"group_select_tasks": "Выбрать задачи",
|
||||
"group_name_required": "Требуется имя",
|
||||
"description_optional": "Описание (опционально)",
|
||||
"selected": "Выбрано",
|
||||
"loading_chart": "Загрузка данных графика...",
|
||||
"hide_outliers": "Скрыть выбросы (сбои датчика)",
|
||||
"was_maintenance_needed": "Требовалось ли это обслуживание?",
|
||||
"feedback_needed": "Требовалось",
|
||||
"feedback_not_needed": "Не требовалось",
|
||||
"feedback_not_sure": "Не уверен",
|
||||
"suggested_interval": "Рекомендуемый интервал",
|
||||
"apply_suggestion": "Применить",
|
||||
"reanalyze": "Повторный анализ",
|
||||
"reanalyze_result": "Новый анализ",
|
||||
"reanalyze_insufficient_data": "Недостаточно данных для рекомендации",
|
||||
"data_points": "точек данных",
|
||||
"dismiss_suggestion": "Отклонить",
|
||||
"confidence_low": "Низкая",
|
||||
"confidence_medium": "Средняя",
|
||||
"confidence_high": "Высокая",
|
||||
"recommended": "рекомендуется",
|
||||
"seasonal_awareness": "Сезонная адаптация",
|
||||
"edit_seasonal_overrides": "Редактировать сезонные коэффициенты",
|
||||
"seasonal_overrides_title": "Сезонные коэффициенты (переопределение)",
|
||||
"seasonal_overrides_hint": "Коэффициент на месяц (0.1–5.0). Пусто = автоматически.",
|
||||
"seasonal_override_invalid": "Недопустимое значение",
|
||||
"seasonal_override_range": "Коэффициент должен быть от 0.1 до 5.0",
|
||||
"clear_all": "Очистить все",
|
||||
"seasonal_chart_title": "Сезонные факторы",
|
||||
"seasonal_learned": "Изученные",
|
||||
"seasonal_manual": "Ручные",
|
||||
"month_jan": "Янв",
|
||||
"month_feb": "Фев",
|
||||
"month_mar": "Мар",
|
||||
"month_apr": "Апр",
|
||||
"month_may": "Май",
|
||||
"month_jun": "Июн",
|
||||
"month_jul": "Июл",
|
||||
"month_aug": "Авг",
|
||||
"month_sep": "Сен",
|
||||
"month_oct": "Окт",
|
||||
"month_nov": "Ноя",
|
||||
"month_dec": "Дек",
|
||||
"sensor_prediction": "Предсказание по датчику",
|
||||
"degradation_trend": "Тренд",
|
||||
"trend_rising": "Растущий",
|
||||
"trend_falling": "Падающий",
|
||||
"trend_stable": "Стабильный",
|
||||
"trend_insufficient_data": "Недостаточно данных",
|
||||
"days_until_threshold": "Дней до порога",
|
||||
"threshold_exceeded": "Порог превышен",
|
||||
"environmental_adjustment": "Фактор среды",
|
||||
"sensor_prediction_urgency": "Датчик предсказывает порог через ~{days} дней",
|
||||
"day_short": "дн",
|
||||
"weibull_reliability_curve": "Кривая надёжности",
|
||||
"weibull_failure_probability": "Вероятность отказа",
|
||||
"weibull_r_squared": "Качество аппроксимации R²",
|
||||
"beta_early_failures": "Ранние отказы",
|
||||
"beta_random_failures": "Случайные отказы",
|
||||
"beta_wear_out": "Износ",
|
||||
"beta_highly_predictable": "Высокая предсказуемость",
|
||||
"confidence_interval": "Доверительный интервал",
|
||||
"confidence_conservative": "Консервативный",
|
||||
"confidence_aggressive": "Оптимистичный",
|
||||
"current_interval_marker": "Текущий интервал",
|
||||
"recommended_marker": "Рекомендуемый",
|
||||
"characteristic_life": "Характеристический срок службы",
|
||||
"chart_mini_sparkline": "Мини-график тренда",
|
||||
"chart_history": "История стоимости и длительности",
|
||||
"chart_seasonal": "Сезонные факторы, 12 месяцев",
|
||||
"chart_weibull": "Кривая надёжности Вейбулла",
|
||||
"chart_sparkline": "График значений триггера датчика",
|
||||
"days_progress": "Прогресс по дням",
|
||||
"qr_code": "QR-код",
|
||||
"qr_generating": "Генерация QR-кода…",
|
||||
"qr_error": "Не удалось сгенерировать QR-код.",
|
||||
"qr_error_no_url": "URL HA не настроен. Установите внешний или внутренний URL в Настройках → Система → Сеть.",
|
||||
"save_error": "Не удалось сохранить. Попробуйте ещё раз.",
|
||||
"qr_print": "Печать",
|
||||
"qr_download": "Скачать SVG",
|
||||
"qr_action": "Действие при сканировании",
|
||||
"qr_action_view": "Просмотр",
|
||||
"qr_action_complete": "Отметить обслуживание как выполненное",
|
||||
"qr_url_mode": "Тип ссылки",
|
||||
"qr_mode_companion": "Приложение-компаньон",
|
||||
"qr_mode_local": "Локальный (mDNS)",
|
||||
"qr_mode_server": "URL сервера",
|
||||
"overview": "Обзор",
|
||||
"analysis": "Анализ",
|
||||
"recent_activities": "Недавние действия",
|
||||
"search_notes": "Поиск по заметкам",
|
||||
"avg_cost": "Ср. стоимость",
|
||||
"no_advanced_features": "Расширенные функции не включены",
|
||||
"no_advanced_features_hint": "Включите «Адаптивные интервалы» или «Сезонные паттерны» в настройках интеграции, чтобы увидеть здесь аналитику.",
|
||||
"analysis_not_enough_data": "Недостаточно данных для анализа.",
|
||||
"analysis_not_enough_data_hint": "Для анализа Вейбулла требуется минимум 5 выполненных обслуживаний; сезонные паттерны становятся видны после 6+ точек данных в месяц.",
|
||||
"analysis_manual_task_hint": "Ручные задачи без интервала не генерируют аналитику.",
|
||||
"completions": "выполнений",
|
||||
"current": "Текущий",
|
||||
"shorter": "Короче",
|
||||
"longer": "Длиннее",
|
||||
"normal": "Нормальный",
|
||||
"disabled": "Отключено",
|
||||
"compound_logic": "Составная логика",
|
||||
"compound": "Составной (несколько условий)",
|
||||
"compound_logic_and": "И — должны сработать все условия",
|
||||
"compound_logic_or": "ИЛИ — достаточно любого условия",
|
||||
"compound_help": "Объедините несколько условий датчиков в один триггер.",
|
||||
"compound_no_conditions": "Условий пока нет — добавьте хотя бы одно.",
|
||||
"compound_add_condition": "Добавить условие",
|
||||
"compound_condition": "Условие",
|
||||
"compound_remove_condition": "Удалить условие",
|
||||
"card_title": "Заголовок",
|
||||
"card_show_header": "Показывать заголовок со статистикой",
|
||||
"card_show_actions": "Показывать кнопки действий",
|
||||
"card_compact": "Компактный режим",
|
||||
"card_max_items": "Макс. элементов (0 = все)",
|
||||
"card_filter_status": "Фильтровать по статусу",
|
||||
"card_filter_status_help": "Пусто = показать все статусы.",
|
||||
"card_filter_objects": "Фильтровать по объектам",
|
||||
"card_filter_objects_help": "Пусто = показать все объекты.",
|
||||
"card_filter_entities": "Фильтровать по сущностям (entity_ids)",
|
||||
"card_filter_entities_help": "Выберите сущности sensor / binary_sensor из этой интеграции. Пусто = все.",
|
||||
"card_loading_objects": "Загрузка объектов…",
|
||||
"card_load_error": "Не удалось загрузить объекты — проверьте WebSocket-соединение.",
|
||||
"card_no_tasks_title": "Пока нет задач обслуживания",
|
||||
"card_no_tasks_cta": "→ Создайте в панели Maintenance",
|
||||
"no_objects": "Пока нет объектов.",
|
||||
"action_error": "Не удалось выполнить действие. Попробуйте ещё раз.",
|
||||
"area_id_optional": "Зона (опционально)",
|
||||
"installation_date_optional": "Дата установки (опционально)",
|
||||
"warranty_expiry_optional": "Окончание гарантии (опционально)",
|
||||
"warranty": "Гарантия",
|
||||
"warranty_valid_until": "действует до {date}",
|
||||
"warranty_expires_in": "истекает через {days} дн.",
|
||||
"warranty_expired": "истекла",
|
||||
"cal_past_windows": "Прошлые окна",
|
||||
"cal_forward_windows": "Будущие окна",
|
||||
"history_edit_title": "Редактировать запись истории",
|
||||
"history_edit_timestamp": "Метка времени",
|
||||
"manufacturer": "Производитель",
|
||||
"model": "Модель",
|
||||
"area": "Зона",
|
||||
"actions": "Действия",
|
||||
"view_mode_label": "Вид",
|
||||
"view_cards": "Карточки",
|
||||
"view_table": "Таблица",
|
||||
"objects_table_columns_label": "Столбцы таблицы объектов",
|
||||
"objects_table_columns_hint": "Выберите, какие столбцы показывать в табличном виде объектов.",
|
||||
"custom_icon_optional": "Иконка (опционально, например mdi:wrench)",
|
||||
"task_enabled": "Задача включена",
|
||||
"skip_reason_prompt": "Пропустить эту задачу?",
|
||||
"reason_optional": "Причина (опционально)",
|
||||
"reset_date_prompt": "Отметить задачу как выполненную?",
|
||||
"reset_date_optional": "Дата последнего выполнения (опционально, по умолчанию: сегодня)",
|
||||
"notes_label": "Примечания",
|
||||
"documentation_label": "Документация",
|
||||
"no_nfc_tag": "— Нет метки —",
|
||||
"dashboard": "Панель",
|
||||
"tab_today": "Сегодня",
|
||||
"palette_placeholder": "Поиск объектов и задач…",
|
||||
"palette_no_results": "Нет совпадений",
|
||||
"palette_hint": "↑↓ выбор · Enter открыть · Esc закрыть",
|
||||
"today_all_caught_up": "Всё сделано! На этой неделе ничего нет.",
|
||||
"today_overdue": "Просрочено",
|
||||
"today_due_today": "Сегодня",
|
||||
"today_this_week": "На этой неделе",
|
||||
"settings": "Настройки",
|
||||
"settings_features": "Расширенные функции",
|
||||
"settings_features_desc": "Включите или отключите расширенные функции. Отключение скрывает их из интерфейса, но не удаляет данные.",
|
||||
"feat_adaptive": "Адаптивное планирование",
|
||||
"feat_adaptive_desc": "Изучать оптимальные интервалы из истории обслуживания",
|
||||
"feat_predictions": "Предсказания по датчикам",
|
||||
"feat_predictions_desc": "Предсказывать даты срабатывания по деградации датчика",
|
||||
"feat_seasonal": "Сезонные корректировки",
|
||||
"feat_seasonal_desc": "Корректировать интервалы на основе сезонных паттернов",
|
||||
"feat_environmental": "Экологическая корреляция",
|
||||
"feat_environmental_desc": "Связывать интервалы с температурой/влажностью",
|
||||
"feat_budget": "Отслеживание бюджета",
|
||||
"feat_budget_desc": "Отслеживать месячные и годовые расходы на обслуживание",
|
||||
"feat_groups": "Группы задач",
|
||||
"feat_groups_desc": "Организовывать задачи в логические группы",
|
||||
"feat_checklists": "Контрольные списки",
|
||||
"feat_checklists_desc": "Многошаговые процедуры для выполнения задачи",
|
||||
"settings_general": "Основные",
|
||||
"settings_default_warning": "Дни предупреждения по умолчанию",
|
||||
"settings_panel_enabled": "Боковая панель",
|
||||
"settings_panel_title": "Заголовок панели",
|
||||
"settings_notifications": "Уведомления",
|
||||
"settings_notify_service": "Сервис уведомлений",
|
||||
"test_notification": "Тестовое уведомление",
|
||||
"send_test": "Отправить тест",
|
||||
"testing": "Отправка…",
|
||||
"test_notification_success": "Тестовое уведомление отправлено",
|
||||
"test_notification_failed": "Не удалось отправить тестовое уведомление",
|
||||
"settings_notify_due_soon": "Уведомлять, когда срок скоро истекает",
|
||||
"settings_notify_overdue": "Уведомлять при просрочке",
|
||||
"settings_notify_triggered": "Уведомлять при срабатывании",
|
||||
"settings_interval_hours": "Интервал повторения (часы, 0 = один раз)",
|
||||
"settings_quiet_hours": "Часы тишины",
|
||||
"settings_quiet_start": "Начало",
|
||||
"settings_quiet_end": "Конец",
|
||||
"settings_max_per_day": "Макс. уведомлений в день (0 = без ограничений)",
|
||||
"settings_bundling": "Группировать уведомления",
|
||||
"settings_bundle_threshold": "Порог группировки",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Кнопки действий в мобильном приложении",
|
||||
"settings_action_complete": "Показывать кнопку «Выполнить»",
|
||||
"settings_action_skip": "Показывать кнопку «Пропустить»",
|
||||
"settings_action_snooze": "Показывать кнопку «Отложить»",
|
||||
"settings_weekly_digest": "Еженедельная сводка",
|
||||
"settings_weekly_digest_hint": "Одно сводное уведомление в понедельник утром, когда есть задачи.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Длительность откладывания (часы)",
|
||||
"settings_budget": "Бюджет",
|
||||
"settings_currency": "Валюта",
|
||||
"settings_budget_monthly": "Месячный бюджет",
|
||||
"settings_budget_yearly": "Годовой бюджет",
|
||||
"settings_budget_alerts": "Оповещения о бюджете",
|
||||
"settings_budget_threshold": "Порог оповещения (%)",
|
||||
"settings_import_export": "Импорт / Экспорт",
|
||||
"settings_export_json": "Экспорт JSON",
|
||||
"settings_export_yaml": "Экспорт YAML",
|
||||
"settings_export_csv": "Экспорт CSV",
|
||||
"settings_import_csv": "Импорт CSV",
|
||||
"settings_import_placeholder": "Вставьте содержимое JSON или CSV здесь…",
|
||||
"settings_import_btn": "Импортировать",
|
||||
"settings_import_success": "Импортировано объектов: {count}.",
|
||||
"settings_export_success": "Экспорт загружен.",
|
||||
"settings_saved": "Настройка сохранена.",
|
||||
"settings_include_history": "Включать историю",
|
||||
"sort_alphabetical": "По алфавиту",
|
||||
"sort_due_soonest": "Ближайший срок",
|
||||
"sort_task_count": "Количество задач",
|
||||
"sort_area": "Область",
|
||||
"sort_assigned_user": "Назначенный пользователь",
|
||||
"sort_group": "Группа",
|
||||
"groupby_none": "Без группировки",
|
||||
"groupby_area": "По области",
|
||||
"groupby_group": "По группе",
|
||||
"groupby_user": "По пользователю",
|
||||
"filter_label": "Фильтр",
|
||||
"user_label": "Пользователь",
|
||||
"sort_label": "Сортировка",
|
||||
"group_by_label": "Группировать по",
|
||||
"state_value_help": "Используйте значение состояния HA (обычно в нижнем регистре, напр. \"on\"/\"off\"). Регистр нормализуется при сохранении.",
|
||||
"target_changes_help": "Количество совпадающих переходов, после которых срабатывает триггер (по умолчанию: 1).",
|
||||
"qr_print_title": "Печать QR-кодов",
|
||||
"qr_print_desc": "Создай страницу для печати с QR-кодами для вырезания и наклеивания на оборудование.",
|
||||
"qr_print_load": "Загрузить объекты",
|
||||
"qr_print_filter": "Фильтр",
|
||||
"qr_print_objects": "Объекты",
|
||||
"qr_print_actions": "Действия",
|
||||
"qr_print_url_mode": "Тип ссылки",
|
||||
"qr_print_estimate": "Оценка QR-кодов",
|
||||
"qr_print_over_limit": "лимит 200, сузь фильтр",
|
||||
"qr_print_generate": "Создать QR-коды",
|
||||
"qr_print_generating": "Создание…",
|
||||
"qr_print_ready": "QR-коды готовы",
|
||||
"qr_print_print_button": "Печать",
|
||||
"qr_print_empty": "Нечего создавать",
|
||||
"qr_action_skip": "Пропустить",
|
||||
"vacation_title": "Режим отпуска",
|
||||
"vacation_active": "активен",
|
||||
"vacation_ended": "завершён",
|
||||
"vacation_desc": "Запланируй отпуск: уведомления приостанавливаются на период плюс несколько буферных дней. Можно задать исключения по задачам.",
|
||||
"vacation_enable": "Включить режим отпуска",
|
||||
"vacation_start": "Начало",
|
||||
"vacation_end": "Конец",
|
||||
"vacation_buffer": "Буфер (дней)",
|
||||
"vacation_exempt_title": "Уведомлять несмотря на отпуск",
|
||||
"vacation_exempt_desc": "Выбери задачи, по которым нужно уведомлять и в отпуске (например, критичная химия бассейна).",
|
||||
"vacation_load_tasks": "Загрузить задачи",
|
||||
"vacation_preview_btn": "Показать предпросмотр",
|
||||
"vacation_preview_affected": "задач затронуто",
|
||||
"vacation_event_due_soon": "скоро наступит срок",
|
||||
"vacation_event_overdue": "станет просроченной",
|
||||
"vacation_event_triggered_est": "возможно срабатывание сенсора",
|
||||
"vacation_sensor_based": "(сенсорная)",
|
||||
"vacation_action_notify": "Всё равно уведомлять",
|
||||
"vacation_action_unsilence": "Снова заглушить",
|
||||
"vacation_marked_complete": "Отмечено как выполнено",
|
||||
"vacation_marked_skip": "Пропущено",
|
||||
"vacation_end_now": "Завершить отпуск сейчас",
|
||||
"unassigned": "Не назначено",
|
||||
"no_area": "Без области",
|
||||
"has_overdue": "Просроченные задачи",
|
||||
"object": "Объект",
|
||||
"settings_panel_access": "Доступ к панели",
|
||||
"settings_panel_access_desc": "Администраторы всегда имеют полный доступ. Чтобы делегировать создание, редактирование и удаление определённым не-админ пользователям, включите это и выберите их ниже — остальные видят только Выполнить и Пропустить.",
|
||||
"settings_operator_write": "Разрешить выбранным пользователям создавать, редактировать и удалять",
|
||||
"settings_operator_write_desc": "Выключено: только администраторы могут изменять содержимое. Включено: выбранные пользователи ниже также получают полный доступ.",
|
||||
"no_non_admin_users": "Не найдено не-админ пользователей. Добавьте их в Настройках → Люди.",
|
||||
"owner_label": "Владелец",
|
||||
"feat_completion_actions": "Действия при завершении",
|
||||
"feat_completion_actions_desc": "HA-действие по задаче при завершении + QR быстрого завершения с предустановленными значениями.",
|
||||
"on_complete_action_title": "При завершении: запустить HA-действие (опционально)",
|
||||
"on_complete_action_desc": "Вызывает HA-сервис при завершении задачи — напр., сбросить счётчик на устройстве.",
|
||||
"on_complete_action_service": "Сервис",
|
||||
"on_complete_action_target": "Целевая сущность",
|
||||
"on_complete_action_data": "Данные (JSON, опционально)",
|
||||
"on_complete_action_test": "Тестировать действие",
|
||||
"on_complete_action_test_success": "Успешно",
|
||||
"on_complete_action_test_failed": "Ошибка",
|
||||
"quick_complete_defaults_title": "Значения по умолчанию для быстрого завершения (для QR-сканов, опционально)",
|
||||
"quick_complete_defaults_desc": "Предустановленные значения для QR быстрого завершения. Без них QR открывает диалог.",
|
||||
"quick_complete_defaults_notes": "Заметки",
|
||||
"quick_complete_defaults_cost": "Стоимость",
|
||||
"quick_complete_defaults_duration": "Длительность (минут)",
|
||||
"quick_complete_defaults_feedback_none": "Без отзыва",
|
||||
"quick_complete_defaults_feedback_needed": "Было необходимо",
|
||||
"quick_complete_defaults_feedback_not_needed": "Не было необходимо",
|
||||
"quick_complete_success": "Быстро отмечено как выполнено",
|
||||
"trigger_replaced": "Триггер заменён",
|
||||
"add": "Добавить",
|
||||
"show_stats": "Показать статистику + графики",
|
||||
"hide_stats": "Скрыть статистику",
|
||||
"adaptive_no_data": "Пока недостаточно истории выполнений для адаптивного анализа. Выполните эту задачу ещё несколько раз, чтобы разблокировать рекомендации по интервалу и графики надёжности.",
|
||||
"suggestion_applied": "Предлагаемый интервал применён",
|
||||
"vacation_mode": "Режим отпуска",
|
||||
"vacation_status_active": "Активен сейчас",
|
||||
"vacation_status_scheduled": "Запланирован",
|
||||
"vacation_status_inactive": "Неактивен",
|
||||
"vacation_end_now_confirm": "Завершить отпуск немедленно?",
|
||||
"vacation_exempt_count": "исключено",
|
||||
"vacation_advanced": "Дополнительно…",
|
||||
"vacation_open_panel": "Открыть на панели",
|
||||
"enable": "Включить",
|
||||
"saved": "Сохранено",
|
||||
"budget_monthly_set": "Задать месячный",
|
||||
"budget_yearly_set": "Задать годовой",
|
||||
"budget_advanced": "Валюта, оповещения…",
|
||||
"budget_open_panel": "Открыть на панели",
|
||||
"groups_empty": "Пока нет групп.",
|
||||
"group_new_placeholder": "Добавить группу…",
|
||||
"group_delete_confirm": "Удалить группу «{name}»?",
|
||||
"groups_manage_tasks": "Управление назначениями задач…",
|
||||
"groups_open_panel": "Открыть на панели",
|
||||
"on_complete_action_target_hint": "Примечание: домен сущности должен соответствовать сервису — напр. 'button.press' работает только с button.*, 'counter.increment' только с counter.*, 'input_button.press' только с input_button.* и т. д. При несоответствии действие молча не выполнится (HA запишет в журнал 'Referenced entities ... missing or not currently available').",
|
||||
"show_all_objects": "Показать все объекты",
|
||||
"show_all_tasks": "Сбросить фильтр — показать все задачи",
|
||||
"filter_to_overdue": "Фильтровать список только по просроченным",
|
||||
"filter_to_due_soon": "Фильтровать список только по скоро наступающим",
|
||||
"filter_to_triggered": "Фильтровать список только по сработавшим",
|
||||
"open_task": "Открыть задачу",
|
||||
"show_details": "Показать историю + статистику",
|
||||
"hide_details": "Скрыть детали",
|
||||
"history_empty": "Пока нет истории.",
|
||||
"history_edit_button": "Изменить запись",
|
||||
"total_cost": "Общая стоимость",
|
||||
"times_performed": "Выполнено",
|
||||
"older_entries": "ранее",
|
||||
"open_in_panel": "Открыть на панели обслуживания",
|
||||
"skip_reason": "Причина пропуска (необязательно)",
|
||||
"reset_to_date": "Сбросить последнее выполнение на",
|
||||
"delete_task_confirm": "Удалить эту задачу и её историю?",
|
||||
"delete_object_confirm": "Удалить этот объект и все его задачи?",
|
||||
"loading": "Загрузка…",
|
||||
"archive": "Архивировать",
|
||||
"undo": "Отменить",
|
||||
"task_archived": "Задача архивирована",
|
||||
"object_archived": "Объект архивирован",
|
||||
"unarchive": "Разархивировать",
|
||||
"archived": "В архиве",
|
||||
"show_archived": "Показать архив",
|
||||
"hide_archived": "Скрыть архив",
|
||||
"confirm_archive_object": "Архивировать этот объект и его задачи? История сохранится, позже можно восстановить.",
|
||||
"settings_archive": "Архив и хранение",
|
||||
"settings_archive_desc": "Убирайте выполненные разовые задачи в архив, не удаляя их. Архивные элементы скрыты и неактивны, но сохраняют историю и расходы.",
|
||||
"settings_archive_oneoff_days": "Автоархивация выполненных разовых задач через (дней, 0 = выкл)",
|
||||
"settings_delete_archived_oneoff_days": "Автоудаление архивных разовых задач через (дней, 0 = никогда)",
|
||||
"archive_object": "Архивировать объект",
|
||||
"unarchive_object": "Разархивировать объект",
|
||||
"documents": "Документы",
|
||||
"documents_empty": "Пока нет документов.",
|
||||
"doc_upload": "Загрузить файл",
|
||||
"doc_uploading": "Загрузка…",
|
||||
"doc_add_link": "Добавить ссылку",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Название (необязательно)",
|
||||
"doc_open": "Открыть",
|
||||
"doc_delete_confirm": "Удалить «{name}»?",
|
||||
"doc_too_large": "Файл слишком большой (макс. 25 МБ).",
|
||||
"doc_upload_failed": "Не удалось загрузить.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Уже сохранён в другом месте — общий, без доп. места.",
|
||||
"doc_dup_in_object": "Этот файл уже прикреплён к этому объекту.",
|
||||
"doc_link_invalid": "Разрешены только ссылки http/https.",
|
||||
"doc_cat_manual": "Инструкция",
|
||||
"doc_cat_warranty": "Гарантия",
|
||||
"doc_cat_invoice": "Счёт",
|
||||
"doc_cat_spare_parts": "Запчасти",
|
||||
"doc_cat_photo": "Фото",
|
||||
"doc_cat_other": "Другое",
|
||||
"doc_link_badge": "Ссылка",
|
||||
"doc_storage_title": "Хранилище документов",
|
||||
"doc_storage_saved": "Сэкономлено дедупликацией",
|
||||
"doc_storage_refresh": "Обновить",
|
||||
"doc_download": "Скачать",
|
||||
"doc_close": "Закрыть",
|
||||
"doc_camera": "Сделать фото",
|
||||
"doc_drop_hint": "Перетащите файлы сюда",
|
||||
"doc_task_none": "Нет документов, связанных с этой задачей.",
|
||||
"doc_link_existing": "Связать документ…",
|
||||
"doc_attach": "Связать",
|
||||
"doc_unlink": "Отвязать",
|
||||
"doc_page": "Страница",
|
||||
"chart_range_7d": "7д",
|
||||
"chart_range_30d": "30д",
|
||||
"chart_range_90d": "90д",
|
||||
"chart_range_1y": "1г",
|
||||
"chart_since_service": "с последнего обслуживания",
|
||||
"chart_no_stats": "Нет долгосрочной статистики для этой сущности — показаны только значения из записей обслуживания",
|
||||
"auto_complete_on_recovery": "Автозавершение при восстановлении датчика",
|
||||
"auto_complete_on_recovery_help": "Записывает выполнение (обновляет дату последнего обслуживания), когда триггер устраняется сам — например, соль досыпана, фильтр заменён.",
|
||||
"doc_search": "Поиск документов…",
|
||||
"doc_search_none": "Нет подходящих документов",
|
||||
"link_device_optional": "Привязать к существующему устройству (необязательно)",
|
||||
"parent_object_optional": "Родительский объект (необязательно)",
|
||||
"parent_none": "(Без родителя)",
|
||||
"paused": "Приостановлено",
|
||||
"pause_object": "Приостановить",
|
||||
"resume_object": "Возобновить",
|
||||
"pause_until_prompt": "Заморозить расписания этого объекта — ничего не наступает и не уведомляет до возобновления. При желании укажите дату автоматического возобновления.",
|
||||
"pause_until_label": "Возобновить (необязательно)",
|
||||
"object_paused": "Объект приостановлен",
|
||||
"object_resumed": "Объект возобновлён — расписания перезапущены",
|
||||
"object_paused_badge": "Приостановлено",
|
||||
"paused_until_label": "до",
|
||||
"replace_object": "Заменить…",
|
||||
"replace_object_prompt": "Списать этот объект и создать преемника. История и затраты остаются в архиве старого; задачи и документы переходят к новому, счётчики начинаются заново.",
|
||||
"replace_name_label": "Имя преемника",
|
||||
"object_replaced": "Объект заменён — преемник создан",
|
||||
"reading_unit_label": "Единица показания (напр. кВт·ч, м³)",
|
||||
"reading_unit_help": "Отображается рядом с записанным значением при выполнении этой задачи.",
|
||||
"reading_value_label": "Показание",
|
||||
"reading_label": "Показание",
|
||||
"settings_templates_label": "Галерея шаблонов",
|
||||
"settings_templates_hint": "Снимите отметку с шаблонов, которые вам не нужны — они исчезнут из выбора «Из шаблона» (панель и config flow). Больше ничего не меняется; можно включить обратно в любой момент.",
|
||||
"worksheet": "Рабочий лист",
|
||||
"worksheet_scan_view": "Сканируйте, чтобы открыть задачу",
|
||||
"worksheet_scan_complete": "Сканируйте для выполнения",
|
||||
"worksheet_manual_excerpt": "Выдержка из руководства",
|
||||
"worksheet_pages": "страницы",
|
||||
"worksheet_printed": "Напечатано",
|
||||
"worksheet_never": "Никогда"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Underhåll",
|
||||
"objects": "Objekt",
|
||||
"tasks": "Uppgifter",
|
||||
"overdue": "Försenad",
|
||||
"due_soon": "Snart",
|
||||
"triggered": "Utlöst",
|
||||
"ok": "OK",
|
||||
"all": "Alla",
|
||||
"new_object": "+ Nytt objekt",
|
||||
"templates_from": "Från mall",
|
||||
"templates_title": "Börja från en mall",
|
||||
"templates_task_count": "{n} uppgifter",
|
||||
"template_created": "Skapad från mall",
|
||||
"onboard_hint": "Lägg till ditt första objekt för att spåra underhåll.",
|
||||
"edit": "Redigera",
|
||||
"duplicate": "Duplicera",
|
||||
"task_duplicated": "Uppgift duplicerad",
|
||||
"object_duplicated": "Objekt duplicerat",
|
||||
"delete": "Ta bort",
|
||||
"add_task": "+ Lägg till uppgift",
|
||||
"complete": "Slutför",
|
||||
"completed": "Slutförd",
|
||||
"skip": "Hoppa över",
|
||||
"skipped": "Hoppade över",
|
||||
"missed": "Missed",
|
||||
"reset": "Återställ",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Avbryt",
|
||||
"bulk_select": "Välj",
|
||||
"bulk_select_all": "Välj alla",
|
||||
"bulk_n_selected": "{n} valda",
|
||||
"bulk_completed": "{n} uppgifter slutförda",
|
||||
"bulk_archived": "{n} uppgifter arkiverade",
|
||||
"completing": "Slutför…",
|
||||
"interval": "Intervall",
|
||||
"warning": "Varning",
|
||||
"last_performed": "Senast utförd",
|
||||
"next_due": "Nästa förfallodatum",
|
||||
"days_until_due": "Dagar till förfallodatum",
|
||||
"avg_duration": "Snittlig varaktighet",
|
||||
"trigger": "Utlösare",
|
||||
"trigger_type": "Utlösartyp",
|
||||
"threshold_above": "Övre gräns",
|
||||
"threshold_below": "Undre gräns",
|
||||
"threshold": "Tröskel",
|
||||
"counter": "Räknare",
|
||||
"state_change": "Tillståndsändring",
|
||||
"runtime": "Körtid",
|
||||
"runtime_hours": "Måltid (timmar)",
|
||||
"target_value": "Målvärde",
|
||||
"baseline": "Baslinje",
|
||||
"target_changes": "Antal målförändringar",
|
||||
"for_minutes": "Under (minuter)",
|
||||
"time_based": "Tidsbaserad",
|
||||
"sensor_based": "Sensorbaserad",
|
||||
"manual": "Manuell",
|
||||
"one_time": "Engångs",
|
||||
"weekdays": "Veckodagar",
|
||||
"nth_weekday": "N:te veckodag i månaden",
|
||||
"day_of_month": "Dag i månaden",
|
||||
"recurrence_on_days": "Upprepa på",
|
||||
"recurrence_occurrence": "Förekomst",
|
||||
"recurrence_weekday": "Veckodag",
|
||||
"recurrence_day": "Dag i månaden (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1:a",
|
||||
"ord_2": "2:a",
|
||||
"ord_3": "3:e",
|
||||
"ord_4": "4:e",
|
||||
"ord_5": "5:e",
|
||||
"ord_last": "Sista",
|
||||
"day_word": "Dag",
|
||||
"interval_value": "Intervall",
|
||||
"interval_unit": "Enhet",
|
||||
"unit_days": "Dagar",
|
||||
"unit_weeks": "Veckor",
|
||||
"unit_months": "Månader",
|
||||
"unit_years": "År",
|
||||
"due_date": "Förfallodatum",
|
||||
"cleaning": "Rengöring",
|
||||
"inspection": "Inspektion",
|
||||
"replacement": "Byte",
|
||||
"calibration": "Kalibrering",
|
||||
"service": "Service",
|
||||
"reading": "Avläsning",
|
||||
"custom": "Anpassad",
|
||||
"history": "Historik",
|
||||
"cost": "Kostnad",
|
||||
"report_button": "Rapport",
|
||||
"report_title": "Underhållsrapport",
|
||||
"report_generated": "Genererad",
|
||||
"report_times_done": "Utfört",
|
||||
"report_total_cost": "Total kostnad",
|
||||
"report_every": "var {n}:e {unit}",
|
||||
"report_notes": "Anteckningar",
|
||||
"report_col_type": "Typ",
|
||||
"report_col_status": "Status",
|
||||
"report_col_schedule": "Schema",
|
||||
"duration": "Varaktighet",
|
||||
"both": "Båda",
|
||||
"trigger_val": "Utlösarvärde",
|
||||
"complete_title": "Slutför: ",
|
||||
"checklist": "Checklista",
|
||||
"checklist_steps_optional": "Checkliststeg (valfritt)",
|
||||
"checklist_placeholder": "Rengör filter\nByt tätning\nTesta tryck",
|
||||
"checklist_help": "Ett steg per rad. Max 100 objekt.",
|
||||
"err_too_long": "{field}: för lång (max {n} tecken)",
|
||||
"err_too_short": "{field}: för kort (min {n} tecken)",
|
||||
"err_value_too_high": "{field}: för stor (max {n})",
|
||||
"err_value_too_low": "{field}: för liten (min {n})",
|
||||
"err_required": "{field}: krävs",
|
||||
"err_wrong_type": "{field}: fel typ (förväntad: {type})",
|
||||
"err_invalid_choice": "{field}: ej tillåtet värde",
|
||||
"err_invalid_value": "{field}: ogiltigt värde",
|
||||
"feat_schedule_time": "Schemaläggning per tid på dygnet",
|
||||
"feat_schedule_time_desc": "Uppgifter blir försenade vid en specifik tid på dygnet istället för midnatt.",
|
||||
"schedule_time_optional": "Förfaller kl. (valfritt, HH:MM)",
|
||||
"schedule_time_help": "Tomt = midnatt (standard). HA-tidszon.",
|
||||
"at_time": "kl.",
|
||||
"notes_optional": "Anteckningar (valfritt)",
|
||||
"cost_optional": "Kostnad (valfritt)",
|
||||
"duration_minutes": "Varaktighet i minuter (valfritt)",
|
||||
"days": "dagar",
|
||||
"day": "dag",
|
||||
"today": "Idag",
|
||||
"d_overdue": "d försenad",
|
||||
"no_tasks": "Inga underhållsuppgifter ännu. Skapa ett objekt för att komma igång.",
|
||||
"no_tasks_short": "Inga uppgifter",
|
||||
"no_history": "Inga historikposter ännu.",
|
||||
"show_all": "Visa alla",
|
||||
"cost_duration_chart": "Kostnad och varaktighet",
|
||||
"installed": "Installerad",
|
||||
"confirm_delete_object": "Ta bort detta objekt och alla dess uppgifter?",
|
||||
"confirm_delete_task": "Ta bort denna uppgift?",
|
||||
"min": "Min",
|
||||
"max": "Max",
|
||||
"save": "Spara",
|
||||
"saving": "Sparar…",
|
||||
"edit_task": "Redigera uppgift",
|
||||
"new_task": "Ny underhållsuppgift",
|
||||
"task_name": "Uppgiftsnamn",
|
||||
"maintenance_type": "Underhållstyp",
|
||||
"priority": "Prioritet",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Låg",
|
||||
"priority_normal": "Normal",
|
||||
"priority_high": "Hög",
|
||||
"schedule_type": "Schematyp",
|
||||
"interval_days": "Intervall (dagar)",
|
||||
"warning_days": "Varningsdagar",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "Senast utförd (valfritt)",
|
||||
"interval_anchor": "Intervallankare",
|
||||
"anchor_completion": "Från slutförandedatum",
|
||||
"anchor_planned": "Från planerat datum (ingen drift)",
|
||||
"edit_object": "Redigera objekt",
|
||||
"name": "Namn",
|
||||
"manufacturer_optional": "Tillverkare (valfritt)",
|
||||
"model_optional": "Modell (valfritt)",
|
||||
"serial_number_optional": "Serienummer (valfritt)",
|
||||
"serial_number_label": "S/N",
|
||||
"documentation_url_label": "Manual",
|
||||
"object_notes_label": "Anteckningar",
|
||||
"sort_due_date": "Förfallodatum",
|
||||
"sort_object": "Objektnamn",
|
||||
"sort_type": "Typ",
|
||||
"sort_task_name": "Uppgiftsnamn",
|
||||
"all_objects": "Alla objekt",
|
||||
"tasks_lower": "uppgifter",
|
||||
"no_tasks_yet": "Inga uppgifter ännu",
|
||||
"add_first_task": "Lägg till första uppgift",
|
||||
"trigger_configuration": "Utlösarkonfiguration",
|
||||
"entity_id": "Entitets-ID",
|
||||
"comma_separated": "kommaseparerad",
|
||||
"entity_logic": "Entitetslogik",
|
||||
"entity_logic_any": "Vilken entitet som helst utlöser",
|
||||
"entity_logic_all": "Alla entiteter måste utlösa",
|
||||
"entities": "entiteter",
|
||||
"attribute_optional": "Attribut (valfritt, tomt = tillstånd)",
|
||||
"use_entity_state": "Använd entitetstillstånd (inget attribut)",
|
||||
"trigger_above": "Utlös över",
|
||||
"trigger_below": "Utlös under",
|
||||
"for_at_least_minutes": "Under minst (minuter)",
|
||||
"safety_interval_days": "Säkerhetsintervall (dagar, valfritt)",
|
||||
"safety_interval": "Säkerhetsintervall (valfritt)",
|
||||
"delta_mode": "Delta-läge",
|
||||
"from_state_optional": "Från tillstånd (valfritt)",
|
||||
"to_state_optional": "Till tillstånd (valfritt)",
|
||||
"documentation_url_optional": "Dokumentations-URL (valfritt)",
|
||||
"object_notes_optional": "Anteckningar (valfritt)",
|
||||
"nfc_tag_id_optional": "NFC-tagg-ID (valfritt)",
|
||||
"nfc_tags_empty_help": "Inga NFC-taggar registrerade i Home Assistant än.",
|
||||
"nfc_tags_open_settings": "Öppna tag-inställningar",
|
||||
"nfc_tags_refresh": "Uppdatera",
|
||||
"environmental_entity_optional": "Miljösensor (valfritt)",
|
||||
"environmental_entity_helper": "t.ex. sensor.outdoor_temperature — justerar intervallet baserat på miljöförhållanden",
|
||||
"environmental_attribute_optional": "Miljöattribut (valfritt)",
|
||||
"nfc_tag_id": "NFC-tagg-ID",
|
||||
"nfc_linked": "NFC-tagg länkad",
|
||||
"nfc_link_hint": "Klicka för att länka NFC-tagg",
|
||||
"responsible_user": "Ansvarig användare",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(Ingen användare tilldelad)",
|
||||
"all_users": "Alla användare",
|
||||
"my_tasks": "Mina uppgifter",
|
||||
"tab_calendar": "Kalender",
|
||||
"cal_no_events": "Inget underhåll",
|
||||
"cal_window_7": "7 dagar",
|
||||
"cal_window_14": "14 dagar",
|
||||
"cal_window_30": "30 dagar",
|
||||
"cal_window_365": "1 år",
|
||||
"cal_every_n_days": "var {n} dag",
|
||||
"cal_source_time": "Tidsbaserad",
|
||||
"cal_source_time_adaptive": "Tidsbaserad (adaptiv)",
|
||||
"cal_source_sensor": "Sensorbaserad",
|
||||
"cal_predicted": "förutsagt",
|
||||
"cal_confidence_high": "hög säkerhet",
|
||||
"cal_confidence_medium": "medelhög säkerhet",
|
||||
"cal_confidence_low": "låg säkerhet",
|
||||
"budget_monthly": "Månatlig budget",
|
||||
"budget_yearly": "Årlig budget",
|
||||
"groups": "Grupper",
|
||||
"new_group": "Ny grupp",
|
||||
"edit_group": "Redigera grupp",
|
||||
"no_groups": "Inga grupper ännu",
|
||||
"delete_group": "Ta bort grupp",
|
||||
"delete_group_confirm": "Ta bort grupp '{name}'?",
|
||||
"group_select_tasks": "Välj uppgifter",
|
||||
"group_name_required": "Namn krävs",
|
||||
"description_optional": "Beskrivning (valfritt)",
|
||||
"selected": "Valda",
|
||||
"loading_chart": "Laddar diagramdata...",
|
||||
"hide_outliers": "Dölj avvikare (sensorfel)",
|
||||
"was_maintenance_needed": "Behövdes detta underhåll?",
|
||||
"feedback_needed": "Behövdes",
|
||||
"feedback_not_needed": "Behövdes inte",
|
||||
"feedback_not_sure": "Osäker",
|
||||
"suggested_interval": "Föreslaget intervall",
|
||||
"apply_suggestion": "Tillämpa",
|
||||
"reanalyze": "Analysera igen",
|
||||
"reanalyze_result": "Ny analys",
|
||||
"reanalyze_insufficient_data": "Otillräckligt med data för rekommendation",
|
||||
"data_points": "datapunkter",
|
||||
"dismiss_suggestion": "Avvisa",
|
||||
"confidence_low": "Låg",
|
||||
"confidence_medium": "Medel",
|
||||
"confidence_high": "Hög",
|
||||
"recommended": "rekommenderad",
|
||||
"seasonal_awareness": "Säsongsmedvetenhet",
|
||||
"edit_seasonal_overrides": "Redigera säsongsfaktorer",
|
||||
"seasonal_overrides_title": "Säsongsfaktorer (åsidosätt)",
|
||||
"seasonal_overrides_hint": "Faktor per månad (0.1–5.0). Tomt = lärt automatiskt.",
|
||||
"seasonal_override_invalid": "Ogiltigt värde",
|
||||
"seasonal_override_range": "Faktor måste vara mellan 0.1 och 5.0",
|
||||
"clear_all": "Rensa alla",
|
||||
"seasonal_chart_title": "Säsongsfaktorer",
|
||||
"seasonal_learned": "Lärt",
|
||||
"seasonal_manual": "Manuell",
|
||||
"month_jan": "Jan",
|
||||
"month_feb": "Feb",
|
||||
"month_mar": "Mar",
|
||||
"month_apr": "Apr",
|
||||
"month_may": "Maj",
|
||||
"month_jun": "Jun",
|
||||
"month_jul": "Jul",
|
||||
"month_aug": "Aug",
|
||||
"month_sep": "Sep",
|
||||
"month_oct": "Okt",
|
||||
"month_nov": "Nov",
|
||||
"month_dec": "Dec",
|
||||
"sensor_prediction": "Sensorprediktion",
|
||||
"degradation_trend": "Trend",
|
||||
"trend_rising": "Stigande",
|
||||
"trend_falling": "Fallande",
|
||||
"trend_stable": "Stabil",
|
||||
"trend_insufficient_data": "Otillräcklig data",
|
||||
"days_until_threshold": "Dagar till tröskel",
|
||||
"threshold_exceeded": "Tröskel överskriden",
|
||||
"environmental_adjustment": "Miljöfaktor",
|
||||
"sensor_prediction_urgency": "Sensor förutsäger tröskel om ~{days} dagar",
|
||||
"day_short": "d",
|
||||
"weibull_reliability_curve": "Tillförlitlighetskurva",
|
||||
"weibull_failure_probability": "Felsannolikhet",
|
||||
"weibull_r_squared": "Anpassning R²",
|
||||
"beta_early_failures": "Tidiga fel",
|
||||
"beta_random_failures": "Slumpmässiga fel",
|
||||
"beta_wear_out": "Slitage",
|
||||
"beta_highly_predictable": "Mycket förutsägbar",
|
||||
"confidence_interval": "Konfidensintervall",
|
||||
"confidence_conservative": "Konservativ",
|
||||
"confidence_aggressive": "Optimistisk",
|
||||
"current_interval_marker": "Aktuellt intervall",
|
||||
"recommended_marker": "Rekommenderat",
|
||||
"characteristic_life": "Karakteristisk livslängd",
|
||||
"chart_mini_sparkline": "Trenddiagram",
|
||||
"chart_history": "Kostnads- och varaktighetshistorik",
|
||||
"chart_seasonal": "Säsongsfaktorer, 12 månader",
|
||||
"chart_weibull": "Weibull tillförlitlighetskurva",
|
||||
"chart_sparkline": "Sensorutlösarvärdesdiagram",
|
||||
"days_progress": "Dagsförlopp",
|
||||
"qr_code": "QR-kod",
|
||||
"qr_generating": "Genererar QR-kod…",
|
||||
"qr_error": "Kunde inte generera QR-kod.",
|
||||
"qr_error_no_url": "Ingen HA-URL konfigurerad. Ange en extern eller intern URL i Inställningar → System → Nätverk.",
|
||||
"save_error": "Kunde inte spara. Försök igen.",
|
||||
"qr_print": "Skriv ut",
|
||||
"qr_download": "Ladda ner SVG",
|
||||
"qr_action": "Åtgärd vid skanning",
|
||||
"qr_action_view": "Visa underhållsinformation",
|
||||
"qr_action_complete": "Markera underhåll som slutfört",
|
||||
"qr_url_mode": "Länktyp",
|
||||
"qr_mode_companion": "Companion App",
|
||||
"qr_mode_local": "Lokal (mDNS)",
|
||||
"qr_mode_server": "Server-URL",
|
||||
"overview": "Översikt",
|
||||
"analysis": "Analys",
|
||||
"recent_activities": "Senaste aktiviteter",
|
||||
"search_notes": "Sök i anteckningar",
|
||||
"avg_cost": "Snittlig kostnad",
|
||||
"no_advanced_features": "Inga avancerade funktioner aktiverade",
|
||||
"no_advanced_features_hint": "Aktivera „Adaptiva intervall” eller „Säsongsmönster” i integrationsinställningar för att se analysdata här.",
|
||||
"analysis_not_enough_data": "Inte tillräckligt med data för analys ännu.",
|
||||
"analysis_not_enough_data_hint": "Weibull-analys kräver minst 5 slutförda underhåll; säsongsmönster blir synliga efter 6+ datapunkter per månad.",
|
||||
"analysis_manual_task_hint": "Manuella uppgifter utan intervall genererar inte analysdata.",
|
||||
"completions": "slutföranden",
|
||||
"current": "Aktuell",
|
||||
"shorter": "Kortare",
|
||||
"longer": "Längre",
|
||||
"normal": "Normal",
|
||||
"disabled": "Inaktiverad",
|
||||
"compound_logic": "Sammansatt logik",
|
||||
"compound": "Sammansatt (flera villkor)",
|
||||
"compound_logic_and": "OCH — alla villkor måste utlösas",
|
||||
"compound_logic_or": "ELLER — ett villkor räcker",
|
||||
"compound_help": "Kombinera flera sensorvillkor till en utlösare.",
|
||||
"compound_no_conditions": "Inga villkor än — lägg till minst ett.",
|
||||
"compound_add_condition": "Lägg till villkor",
|
||||
"compound_condition": "Villkor",
|
||||
"compound_remove_condition": "Ta bort villkor",
|
||||
"card_title": "Titel",
|
||||
"card_show_header": "Visa rubrik med statistik",
|
||||
"card_show_actions": "Visa åtgärdsknappar",
|
||||
"card_compact": "Kompakt läge",
|
||||
"card_max_items": "Max objekt (0 = alla)",
|
||||
"card_filter_status": "Filtrera efter status",
|
||||
"card_filter_status_help": "Tomt = visa alla statusar.",
|
||||
"card_filter_objects": "Filtrera efter objekt",
|
||||
"card_filter_objects_help": "Tomt = visa alla objekt.",
|
||||
"card_filter_entities": "Filtrera efter entiteter (entity_ids)",
|
||||
"card_filter_entities_help": "Välj sensor- / binary_sensor-entiteter från denna integration. Tomt = alla.",
|
||||
"card_loading_objects": "Laddar objekt…",
|
||||
"card_load_error": "Kunde inte ladda objekt — kontrollera WebSocket-anslutningen.",
|
||||
"card_no_tasks_title": "Inga underhållsuppgifter än",
|
||||
"card_no_tasks_cta": "→ Skapa en i Maintenance-panelen",
|
||||
"no_objects": "Inga objekt än.",
|
||||
"action_error": "Åtgärden misslyckades. Försök igen.",
|
||||
"area_id_optional": "Område (valfritt)",
|
||||
"installation_date_optional": "Installationsdatum (valfritt)",
|
||||
"warranty_expiry_optional": "Garantins utgång (valfritt)",
|
||||
"warranty": "Garanti",
|
||||
"warranty_valid_until": "giltig till {date}",
|
||||
"warranty_expires_in": "går ut om {days} dagar",
|
||||
"warranty_expired": "utgången",
|
||||
"cal_past_windows": "Tidigare fönster",
|
||||
"cal_forward_windows": "Kommande fönster",
|
||||
"history_edit_title": "Redigera historikpost",
|
||||
"history_edit_timestamp": "Tidsstämpel",
|
||||
"manufacturer": "Tillverkare",
|
||||
"model": "Modell",
|
||||
"area": "Område",
|
||||
"actions": "Åtgärder",
|
||||
"view_mode_label": "Vy",
|
||||
"view_cards": "Kortvy",
|
||||
"view_table": "Tabellvy",
|
||||
"objects_table_columns_label": "Kolumner i objekttabell",
|
||||
"objects_table_columns_hint": "Välj vilka kolumner som visas i objekttabellvyn.",
|
||||
"custom_icon_optional": "Ikon (valfritt, t.ex. mdi:wrench)",
|
||||
"task_enabled": "Uppgift aktiverad",
|
||||
"skip_reason_prompt": "Hoppa över denna uppgift?",
|
||||
"reason_optional": "Anledning (valfritt)",
|
||||
"reset_date_prompt": "Markera uppgift som utförd?",
|
||||
"reset_date_optional": "Datum för senaste utförande (valfritt, standard idag)",
|
||||
"notes_label": "Anteckningar",
|
||||
"documentation_label": "Dokumentation",
|
||||
"no_nfc_tag": "— Ingen tagg —",
|
||||
"dashboard": "Översikt",
|
||||
"tab_today": "Idag",
|
||||
"palette_placeholder": "Sök objekt och uppgifter…",
|
||||
"palette_no_results": "Inga träffar",
|
||||
"palette_hint": "↑↓ navigera · Enter öppna · Esc stäng",
|
||||
"today_all_caught_up": "Allt klart! Inget den här veckan.",
|
||||
"today_overdue": "Försenade",
|
||||
"today_due_today": "Förfaller idag",
|
||||
"today_this_week": "Den här veckan",
|
||||
"settings": "Inställningar",
|
||||
"settings_features": "Avancerade funktioner",
|
||||
"settings_features_desc": "Aktivera eller inaktivera avancerade funktioner. Inaktivering döljer dem från UI men tar inte bort data.",
|
||||
"feat_adaptive": "Adaptiv schemaläggning",
|
||||
"feat_adaptive_desc": "Lär dig optimala intervall från underhållshistorik",
|
||||
"feat_predictions": "Sensorpredictions",
|
||||
"feat_predictions_desc": "Förutsäg utlösningsdatum från sensordegradering",
|
||||
"feat_seasonal": "Säsongsjusteringar",
|
||||
"feat_seasonal_desc": "Justera intervall baserat på säsongsmönster",
|
||||
"feat_environmental": "Miljökorrelation",
|
||||
"feat_environmental_desc": "Korrelera intervall med temperatur/luftfuktighet",
|
||||
"feat_budget": "Budgetuppföljning",
|
||||
"feat_budget_desc": "Spåra månatliga och årliga underhållsutgifter",
|
||||
"feat_groups": "Uppgiftsgrupper",
|
||||
"feat_groups_desc": "Organisera uppgifter i logiska grupper",
|
||||
"feat_checklists": "Checklistor",
|
||||
"feat_checklists_desc": "Flerstegs procedurer för uppgiftens slutförande",
|
||||
"settings_general": "Allmänt",
|
||||
"settings_default_warning": "Standard varningsdagar",
|
||||
"settings_panel_enabled": "Sidopanel",
|
||||
"settings_panel_title": "Sidopanelens titel",
|
||||
"settings_notifications": "Notifikationer",
|
||||
"settings_notify_service": "Notifikationstjänst",
|
||||
"test_notification": "Testnotifikation",
|
||||
"send_test": "Skicka test",
|
||||
"testing": "Skickar…",
|
||||
"test_notification_success": "Testnotifikation skickad",
|
||||
"test_notification_failed": "Testnotifikation misslyckades",
|
||||
"settings_notify_due_soon": "Notifiera när snart förfallande",
|
||||
"settings_notify_overdue": "Notifiera när försenad",
|
||||
"settings_notify_triggered": "Notifiera när utlöst",
|
||||
"settings_interval_hours": "Upprepningsintervall (timmar, 0 = en gång)",
|
||||
"settings_quiet_hours": "Tysta timmar",
|
||||
"settings_quiet_start": "Start",
|
||||
"settings_quiet_end": "Slut",
|
||||
"settings_max_per_day": "Max notifikationer per dag (0 = obegränsat)",
|
||||
"settings_bundling": "Bunta notifikationer",
|
||||
"settings_bundle_threshold": "Buntningströskel",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Mobila åtgärdsknappar",
|
||||
"settings_action_complete": "Visa 'Slutför'-knapp",
|
||||
"settings_action_skip": "Visa 'Hoppa över'-knapp",
|
||||
"settings_action_snooze": "Visa 'Snooza'-knapp",
|
||||
"settings_weekly_digest": "Veckosammanfattning",
|
||||
"settings_weekly_digest_hint": "En sammanfattningsavisering måndag morgon när uppgifter förfaller.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Snooza-tid (timmar)",
|
||||
"settings_budget": "Budget",
|
||||
"settings_currency": "Valuta",
|
||||
"settings_budget_monthly": "Månatlig budget",
|
||||
"settings_budget_yearly": "Årlig budget",
|
||||
"settings_budget_alerts": "Budgetvarningar",
|
||||
"settings_budget_threshold": "Varningströskel (%)",
|
||||
"settings_import_export": "Import / Export",
|
||||
"settings_export_json": "Exportera JSON",
|
||||
"settings_export_yaml": "Exportera YAML",
|
||||
"settings_export_csv": "Exportera CSV",
|
||||
"settings_import_csv": "Importera CSV",
|
||||
"settings_import_placeholder": "Klistra in JSON- eller CSV-innehåll här…",
|
||||
"settings_import_btn": "Importera",
|
||||
"settings_import_success": "{count} objekt importerade.",
|
||||
"settings_export_success": "Export nedladdad.",
|
||||
"settings_saved": "Inställning sparad.",
|
||||
"settings_include_history": "Inkludera historik",
|
||||
"sort_alphabetical": "Alfabetisk",
|
||||
"sort_due_soonest": "Närmaste förfallodatum",
|
||||
"sort_task_count": "Antal uppgifter",
|
||||
"sort_area": "Område",
|
||||
"sort_assigned_user": "Tilldelad användare",
|
||||
"sort_group": "Grupp",
|
||||
"groupby_none": "Ingen gruppering",
|
||||
"groupby_area": "Per område",
|
||||
"groupby_group": "Per grupp",
|
||||
"groupby_user": "Per användare",
|
||||
"filter_label": "Filter",
|
||||
"user_label": "Användare",
|
||||
"sort_label": "Sortering",
|
||||
"group_by_label": "Gruppera efter",
|
||||
"state_value_help": "Använd HA-tillståndsvärdet (vanligtvis med små bokstäver, t.ex. \"on\"/\"off\"). Versaler normaliseras vid sparande.",
|
||||
"target_changes_help": "Antal matchande övergångar innan utlösaren aktiveras (standard: 1).",
|
||||
"qr_print_title": "Skriv ut QR-koder",
|
||||
"qr_print_desc": "Skapa en utskriftssida med QR-koder att klippa ut och sätta på din utrustning.",
|
||||
"qr_print_load": "Ladda objekt",
|
||||
"qr_print_filter": "Filter",
|
||||
"qr_print_objects": "Objekt",
|
||||
"qr_print_actions": "Åtgärder",
|
||||
"qr_print_url_mode": "Länktyp",
|
||||
"qr_print_estimate": "Uppskattade QR-koder",
|
||||
"qr_print_over_limit": "gräns 200, begränsa filtret",
|
||||
"qr_print_generate": "Skapa QR-koder",
|
||||
"qr_print_generating": "Skapar…",
|
||||
"qr_print_ready": "QR-koder klara",
|
||||
"qr_print_print_button": "Skriv ut",
|
||||
"qr_print_empty": "Inget att skapa",
|
||||
"qr_action_skip": "Hoppa över",
|
||||
"vacation_title": "Semesterläge",
|
||||
"vacation_active": "aktivt",
|
||||
"vacation_ended": "avslutat",
|
||||
"vacation_desc": "Planera din semester: aviseringar pausas under perioden plus några buffert-dagar. Du kan göra undantag per uppgift.",
|
||||
"vacation_enable": "Aktivera semesterläge",
|
||||
"vacation_start": "Start",
|
||||
"vacation_end": "Slut",
|
||||
"vacation_buffer": "Buffert (dagar)",
|
||||
"vacation_exempt_title": "Avisera ändå under semester",
|
||||
"vacation_exempt_desc": "Välj uppgifter som ska avisera även under semestern (t.ex. kritisk poolkemi).",
|
||||
"vacation_load_tasks": "Ladda uppgifter",
|
||||
"vacation_preview_btn": "Visa förhandsgranskning",
|
||||
"vacation_preview_affected": "uppgifter berörda",
|
||||
"vacation_event_due_soon": "blir snart förfallen",
|
||||
"vacation_event_overdue": "blir försenad",
|
||||
"vacation_event_triggered_est": "möjlig sensorutlösning",
|
||||
"vacation_sensor_based": "(sensorbaserad)",
|
||||
"vacation_action_notify": "Avisera ändå",
|
||||
"vacation_action_unsilence": "Tysta igen",
|
||||
"vacation_marked_complete": "Markerad som klar",
|
||||
"vacation_marked_skip": "Hoppade över",
|
||||
"vacation_end_now": "Avsluta semester nu",
|
||||
"unassigned": "Otilldelad",
|
||||
"no_area": "Inget område",
|
||||
"has_overdue": "Har försenade uppgifter",
|
||||
"object": "Objekt",
|
||||
"settings_panel_access": "Paneltillgång",
|
||||
"settings_panel_access_desc": "Administratörer har alltid full åtkomst. För att delegera skapa, redigera och ta bort till specifika icke-admin-användare, slå på detta och välj dem nedan — alla andra ser endast Slutför och Hoppa över.",
|
||||
"settings_operator_write": "Tillåt valda användare att skapa, redigera och ta bort",
|
||||
"settings_operator_write_desc": "Av: endast administratörer kan ändra innehåll. På: de valda användarna nedan får också full åtkomst.",
|
||||
"no_non_admin_users": "Inga icke-admin-användare hittades. Lägg till några i Inställningar → Personer.",
|
||||
"owner_label": "Ägare",
|
||||
"feat_completion_actions": "Slutförande-åtgärder",
|
||||
"feat_completion_actions_desc": "HA-åtgärd per uppgift vid slutförande + snabb-slutför-QR med förinställda värden.",
|
||||
"on_complete_action_title": "Vid slutförande: utlös HA-åtgärd (valfritt)",
|
||||
"on_complete_action_desc": "Anropar en HA-tjänst när uppgiften slutförs — t.ex. återställ en räknare på enheten.",
|
||||
"on_complete_action_service": "Tjänst",
|
||||
"on_complete_action_target": "Målentitet",
|
||||
"on_complete_action_data": "Data (JSON, valfritt)",
|
||||
"on_complete_action_test": "Testa åtgärd",
|
||||
"on_complete_action_test_success": "Lyckades",
|
||||
"on_complete_action_test_failed": "Misslyckades",
|
||||
"quick_complete_defaults_title": "Snabb-slutför standardvärden (för QR-skanningar, valfritt)",
|
||||
"quick_complete_defaults_desc": "Förinställda värden för snabb-slutför-QR. Utan dessa öppnar QR slutför-dialogen.",
|
||||
"quick_complete_defaults_notes": "Anteckningar",
|
||||
"quick_complete_defaults_cost": "Kostnad",
|
||||
"quick_complete_defaults_duration": "Varaktighet (minuter)",
|
||||
"quick_complete_defaults_feedback_none": "Ingen feedback",
|
||||
"quick_complete_defaults_feedback_needed": "Var nödvändigt",
|
||||
"quick_complete_defaults_feedback_not_needed": "Inte nödvändigt",
|
||||
"quick_complete_success": "Snabbt markerad som klar",
|
||||
"trigger_replaced": "Utlösare ersatt",
|
||||
"add": "Lägg till",
|
||||
"show_stats": "Visa statistik + grafer",
|
||||
"hide_stats": "Dölj statistik",
|
||||
"adaptive_no_data": "Ännu inte tillräckligt med slutförandehistorik för adaptiv analys. Slutför denna uppgift några gånger till för att låsa upp intervallrekommendationer och tillförlitlighetsdiagram.",
|
||||
"suggestion_applied": "Föreslaget intervall tillämpat",
|
||||
"vacation_mode": "Semesterläge",
|
||||
"vacation_status_active": "Aktivt nu",
|
||||
"vacation_status_scheduled": "Schemalagt",
|
||||
"vacation_status_inactive": "Inaktivt",
|
||||
"vacation_end_now_confirm": "Avsluta semestern omedelbart?",
|
||||
"vacation_exempt_count": "undantagna",
|
||||
"vacation_advanced": "Avancerat…",
|
||||
"vacation_open_panel": "Öppna i panelen",
|
||||
"enable": "Aktivera",
|
||||
"saved": "Sparat",
|
||||
"budget_monthly_set": "Ange månad",
|
||||
"budget_yearly_set": "Ange år",
|
||||
"budget_advanced": "Valuta, varningar…",
|
||||
"budget_open_panel": "Öppna i panelen",
|
||||
"groups_empty": "Inga grupper än.",
|
||||
"group_new_placeholder": "Lägg till grupp…",
|
||||
"group_delete_confirm": "Ta bort gruppen ”{name}”?",
|
||||
"groups_manage_tasks": "Hantera uppgiftstilldelningar…",
|
||||
"groups_open_panel": "Öppna i panelen",
|
||||
"on_complete_action_target_hint": "Obs: entitetens domän måste matcha tjänsten — t.ex. 'button.press' fungerar bara på button.*, 'counter.increment' bara på counter.*, 'input_button.press' bara på input_button.* osv. Vid en avvikelse misslyckas åtgärden tyst (HA loggar 'Referenced entities ... missing or not currently available').",
|
||||
"show_all_objects": "Visa alla objekt",
|
||||
"show_all_tasks": "Rensa filter — visa alla uppgifter",
|
||||
"filter_to_overdue": "Filtrera listan till endast försenade",
|
||||
"filter_to_due_soon": "Filtrera listan till endast snart förfallna",
|
||||
"filter_to_triggered": "Filtrera listan till endast utlösta",
|
||||
"open_task": "Öppna uppgift",
|
||||
"show_details": "Visa historik + statistik",
|
||||
"hide_details": "Dölj detaljer",
|
||||
"history_empty": "Ingen historik än.",
|
||||
"history_edit_button": "Redigera post",
|
||||
"total_cost": "Total kostnad",
|
||||
"times_performed": "Utförd",
|
||||
"older_entries": "äldre",
|
||||
"open_in_panel": "Öppna i Underhållspanelen",
|
||||
"skip_reason": "Anledning till överhoppning (valfritt)",
|
||||
"reset_to_date": "Återställ senast utförd till",
|
||||
"delete_task_confirm": "Ta bort denna uppgift och dess historik?",
|
||||
"delete_object_confirm": "Ta bort detta objekt och alla dess uppgifter?",
|
||||
"loading": "Laddar…",
|
||||
"archive": "Arkivera",
|
||||
"undo": "Ångra",
|
||||
"task_archived": "Uppgift arkiverad",
|
||||
"object_archived": "Objekt arkiverat",
|
||||
"unarchive": "Återställ",
|
||||
"archived": "Arkiverad",
|
||||
"show_archived": "Visa arkiverade",
|
||||
"hide_archived": "Dölj arkiverade",
|
||||
"confirm_archive_object": "Arkivera detta objekt och dess uppgifter? Historiken behålls och kan återställas senare.",
|
||||
"settings_archive": "Arkiv och lagring",
|
||||
"settings_archive_desc": "Lägg undan slutförda engångsuppgifter utan att radera dem. Arkiverade objekt döljs och är inaktiva men behåller historik och kostnad.",
|
||||
"settings_archive_oneoff_days": "Arkivera slutförda engångsuppgifter automatiskt efter (dagar, 0 = av)",
|
||||
"settings_delete_archived_oneoff_days": "Radera arkiverade engångsuppgifter automatiskt efter (dagar, 0 = aldrig)",
|
||||
"archive_object": "Arkivera objekt",
|
||||
"unarchive_object": "Återställ objekt",
|
||||
"documents": "Dokument",
|
||||
"documents_empty": "Inga dokument ännu.",
|
||||
"doc_upload": "Ladda upp fil",
|
||||
"doc_uploading": "Laddar upp…",
|
||||
"doc_add_link": "Lägg till länk",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Titel (valfritt)",
|
||||
"doc_open": "Öppna",
|
||||
"doc_delete_confirm": "Ta bort \"{name}\"?",
|
||||
"doc_too_large": "Filen är för stor (max 25 MB).",
|
||||
"doc_upload_failed": "Uppladdningen misslyckades.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Redan lagrad någon annanstans — delad, inget extra utrymme.",
|
||||
"doc_dup_in_object": "Den här filen är redan kopplad till detta objekt.",
|
||||
"doc_link_invalid": "Endast http/https-länkar tillåts.",
|
||||
"doc_cat_manual": "Manual",
|
||||
"doc_cat_warranty": "Garanti",
|
||||
"doc_cat_invoice": "Faktura",
|
||||
"doc_cat_spare_parts": "Reservdelar",
|
||||
"doc_cat_photo": "Foto",
|
||||
"doc_cat_other": "Övrigt",
|
||||
"doc_link_badge": "Länk",
|
||||
"doc_storage_title": "Dokumentlagring",
|
||||
"doc_storage_saved": "Sparat genom deduplicering",
|
||||
"doc_storage_refresh": "Uppdatera",
|
||||
"doc_download": "Ladda ner",
|
||||
"doc_close": "Stäng",
|
||||
"doc_camera": "Ta foto",
|
||||
"doc_drop_hint": "Släpp filer här",
|
||||
"doc_task_none": "Inga dokument kopplade till denna uppgift.",
|
||||
"doc_link_existing": "Koppla ett dokument…",
|
||||
"doc_attach": "Koppla",
|
||||
"doc_unlink": "Koppla bort",
|
||||
"doc_page": "Sida",
|
||||
"chart_range_7d": "7d",
|
||||
"chart_range_30d": "30d",
|
||||
"chart_range_90d": "90d",
|
||||
"chart_range_1y": "1å",
|
||||
"chart_since_service": "sedan senaste underhåll",
|
||||
"chart_no_stats": "Ingen långtidsstatistik för denna entitet — visar endast värden från underhållsposter",
|
||||
"auto_complete_on_recovery": "Slutför automatiskt när sensorn återhämtar sig",
|
||||
"auto_complete_on_recovery_help": "Registrerar ett slutförande (sätter senast utförd) när utlösaren löser sig själv — t.ex. salt påfyllt, filter bytt.",
|
||||
"doc_search": "Sök dokument…",
|
||||
"doc_search_none": "Inga matchande dokument",
|
||||
"link_device_optional": "Länka till befintlig enhet (valfritt)",
|
||||
"parent_object_optional": "Överordnat objekt (valfritt)",
|
||||
"parent_none": "(Inget överordnat)",
|
||||
"paused": "Pausad",
|
||||
"pause_object": "Pausa",
|
||||
"resume_object": "Återuppta",
|
||||
"pause_until_prompt": "Frys objektets scheman — inget förfaller och inget aviserar förrän det återupptas. Ange valfritt ett datum för automatisk återupptagning.",
|
||||
"pause_until_label": "Återuppta den (valfritt)",
|
||||
"object_paused": "Objekt pausat",
|
||||
"object_resumed": "Objekt återupptaget — scheman omstartade",
|
||||
"object_paused_badge": "Pausad",
|
||||
"paused_until_label": "till",
|
||||
"replace_object": "Ersätt…",
|
||||
"replace_object_prompt": "Pensionera detta objekt och skapa en efterträdare. Historik och kostnader arkiveras på det gamla; uppgifter och dokument följer med till det nya, räknare börjar om.",
|
||||
"replace_name_label": "Efterträdarens namn",
|
||||
"object_replaced": "Objekt ersatt — efterträdare skapad",
|
||||
"reading_unit_label": "Avläsningsenhet (t.ex. kWh, m³)",
|
||||
"reading_unit_help": "Visas bredvid det registrerade värdet när uppgiften slutförs.",
|
||||
"reading_value_label": "Avläst värde",
|
||||
"reading_label": "Avläsning",
|
||||
"settings_templates_label": "Mallgalleri",
|
||||
"settings_templates_hint": "Avmarkera mallar du aldrig behöver — de försvinner från \"Från mall\"-väljarna (panel och config flow). Inget annat ändras; kan återaktiveras när som helst.",
|
||||
"worksheet": "Arbetsblad",
|
||||
"worksheet_scan_view": "Skanna för att öppna uppgiften",
|
||||
"worksheet_scan_complete": "Skanna för att slutföra",
|
||||
"worksheet_manual_excerpt": "Utdrag ur manualen",
|
||||
"worksheet_pages": "sidor",
|
||||
"worksheet_printed": "Utskriven",
|
||||
"worksheet_never": "Aldrig"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "Обслуговування",
|
||||
"objects": "Об'єкти",
|
||||
"tasks": "Завдання",
|
||||
"overdue": "Прострочено",
|
||||
"due_soon": "Незабаром",
|
||||
"triggered": "Спрацювало",
|
||||
"ok": "Норма",
|
||||
"all": "Всі",
|
||||
"new_object": "+ Новий об'єкт",
|
||||
"templates_from": "Із шаблону",
|
||||
"templates_title": "Почати із шаблону",
|
||||
"templates_task_count": "{n} завдань",
|
||||
"template_created": "Створено із шаблону",
|
||||
"onboard_hint": "Додайте перший об'єкт, щоб відстежувати обслуговування.",
|
||||
"edit": "Редагувати",
|
||||
"duplicate": "Дублювати",
|
||||
"task_duplicated": "Завдання продубльовано",
|
||||
"object_duplicated": "Об'єкт продубльовано",
|
||||
"delete": "Видалити",
|
||||
"add_task": "+ Додати завдання",
|
||||
"complete": "Виконати",
|
||||
"completed": "Виконано",
|
||||
"skip": "Пропустити",
|
||||
"skipped": "Пропущено",
|
||||
"missed": "Missed",
|
||||
"reset": "Скинути",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "Скасувати",
|
||||
"bulk_select": "Вибрати",
|
||||
"bulk_select_all": "Вибрати все",
|
||||
"bulk_n_selected": "Вибрано: {n}",
|
||||
"bulk_completed": "Виконано завдань: {n}",
|
||||
"bulk_archived": "Архівовано завдань: {n}",
|
||||
"completing": "Виконується…",
|
||||
"interval": "Інтервал",
|
||||
"warning": "Попередження",
|
||||
"last_performed": "Останнє виконання",
|
||||
"next_due": "Наступний термін",
|
||||
"days_until_due": "Днів до терміну",
|
||||
"avg_duration": "Сер. тривалість",
|
||||
"trigger": "Тригер",
|
||||
"trigger_type": "Тип тригера",
|
||||
"threshold_above": "Верхня межа",
|
||||
"threshold_below": "Нижня межа",
|
||||
"threshold": "Поріг",
|
||||
"counter": "Лічильник",
|
||||
"state_change": "Зміна стану",
|
||||
"runtime": "Напрацювання",
|
||||
"runtime_hours": "Цільове напрацювання (години)",
|
||||
"target_value": "Цільове значення",
|
||||
"baseline": "Базове значення",
|
||||
"target_changes": "Цільова кількість змін",
|
||||
"for_minutes": "Протягом (хвилин)",
|
||||
"time_based": "За часом",
|
||||
"sensor_based": "За сенсором",
|
||||
"manual": "Вручну",
|
||||
"one_time": "Одноразово",
|
||||
"weekdays": "Дні тижня",
|
||||
"nth_weekday": "N-й день тижня в місяці",
|
||||
"day_of_month": "День місяця",
|
||||
"recurrence_on_days": "Повторювати у",
|
||||
"recurrence_occurrence": "Входження",
|
||||
"recurrence_weekday": "День тижня",
|
||||
"recurrence_day": "День місяця (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "1-й",
|
||||
"ord_2": "2-й",
|
||||
"ord_3": "3-й",
|
||||
"ord_4": "4-й",
|
||||
"ord_5": "5-й",
|
||||
"ord_last": "Останній",
|
||||
"day_word": "День",
|
||||
"interval_value": "Інтервал",
|
||||
"interval_unit": "Одиниця",
|
||||
"unit_days": "Дні",
|
||||
"unit_weeks": "Тижні",
|
||||
"unit_months": "Місяці",
|
||||
"unit_years": "Роки",
|
||||
"due_date": "Дата виконання",
|
||||
"cleaning": "Очищення",
|
||||
"inspection": "Огляд",
|
||||
"replacement": "Заміна",
|
||||
"calibration": "Калібрування",
|
||||
"service": "Сервіс",
|
||||
"reading": "Показання",
|
||||
"custom": "Власний",
|
||||
"history": "Історія",
|
||||
"cost": "Вартість",
|
||||
"report_button": "Звіт",
|
||||
"report_title": "Звіт про обслуговування",
|
||||
"report_generated": "Створено",
|
||||
"report_times_done": "Виконано",
|
||||
"report_total_cost": "Загальна вартість",
|
||||
"report_every": "кожні {n} {unit}",
|
||||
"report_notes": "Нотатки",
|
||||
"report_col_type": "Тип",
|
||||
"report_col_status": "Статус",
|
||||
"report_col_schedule": "Розклад",
|
||||
"duration": "Тривалість",
|
||||
"both": "Обидва",
|
||||
"trigger_val": "Значення тригера",
|
||||
"complete_title": "Виконати: ",
|
||||
"checklist": "Чекліст",
|
||||
"checklist_steps_optional": "Кроки чекліста (необов'язково)",
|
||||
"checklist_placeholder": "Очистити фільтр\nЗамінити ущільнювач\nПеревірити тиск",
|
||||
"checklist_help": "Один крок на рядок. Макс. 100 елементів.",
|
||||
"err_too_long": "{field}: задовге (макс. {n} символів)",
|
||||
"err_too_short": "{field}: закоротке (мін. {n} символів)",
|
||||
"err_value_too_high": "{field}: завелике (макс. {n})",
|
||||
"err_value_too_low": "{field}: замале (мін. {n})",
|
||||
"err_required": "{field}: обов'язкове поле",
|
||||
"err_wrong_type": "{field}: невірний тип (очікувалось: {type})",
|
||||
"err_invalid_choice": "{field}: недопустиме значення",
|
||||
"err_invalid_value": "{field}: невірне значення",
|
||||
"feat_schedule_time": "Планування за часом доби",
|
||||
"feat_schedule_time_desc": "Задачі стають простроченими у певний час доби, а не опівночі.",
|
||||
"schedule_time_optional": "Час прострочення (необов'язково, HH:MM)",
|
||||
"schedule_time_help": "Порожньо = опівночі (за замовчуванням). Часовий пояс HA.",
|
||||
"at_time": "о",
|
||||
"notes_optional": "Примітки (необов'язково)",
|
||||
"cost_optional": "Вартість (необов'язково)",
|
||||
"duration_minutes": "Тривалість у хвилинах (необов'язково)",
|
||||
"days": "днів",
|
||||
"day": "день",
|
||||
"today": "Сьогодні",
|
||||
"d_overdue": "д прострочено",
|
||||
"no_tasks": "Завдань обслуговування ще немає. Створіть об'єкт, щоб почати.",
|
||||
"no_tasks_short": "Немає завдань",
|
||||
"no_history": "Записів в історії ще немає.",
|
||||
"show_all": "Показати всі",
|
||||
"cost_duration_chart": "Вартість і тривалість",
|
||||
"installed": "Встановлено",
|
||||
"confirm_delete_object": "Видалити цей об'єкт і всі його завдання?",
|
||||
"confirm_delete_task": "Видалити це завдання?",
|
||||
"min": "Мін",
|
||||
"max": "Макс",
|
||||
"save": "Зберегти",
|
||||
"saving": "Збереження…",
|
||||
"edit_task": "Редагувати завдання",
|
||||
"new_task": "Нове завдання обслуговування",
|
||||
"task_name": "Назва завдання",
|
||||
"maintenance_type": "Тип обслуговування",
|
||||
"priority": "Пріоритет",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "Низький",
|
||||
"priority_normal": "Звичайний",
|
||||
"priority_high": "Високий",
|
||||
"schedule_type": "Тип розкладу",
|
||||
"interval_days": "Інтервал (дні)",
|
||||
"warning_days": "Днів попередження",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"interval_anchor": "Прив'язка інтервалу",
|
||||
"anchor_completion": "Від дати виконання",
|
||||
"anchor_planned": "Від запланованої дати (без зміщення)",
|
||||
"edit_object": "Редагувати об'єкт",
|
||||
"name": "Назва",
|
||||
"manufacturer_optional": "Виробник (необов'язково)",
|
||||
"model_optional": "Модель (необов'язково)",
|
||||
"serial_number_optional": "Серійний номер (необов'язково)",
|
||||
"serial_number_label": "С/Н",
|
||||
"documentation_url_label": "Посібник",
|
||||
"object_notes_label": "Примітки",
|
||||
"last_performed_optional": "Останнé виконання (необов'язково)",
|
||||
"sort_due_date": "Дата терміну",
|
||||
"sort_object": "Назва об'єкта",
|
||||
"sort_type": "Тип",
|
||||
"sort_task_name": "Назва завдання",
|
||||
"all_objects": "Всі об'єкти",
|
||||
"tasks_lower": "завдань",
|
||||
"no_tasks_yet": "Завдань ще немає",
|
||||
"add_first_task": "Додати перше завдання",
|
||||
"trigger_configuration": "Налаштування тригера",
|
||||
"entity_id": "ID об'єкта",
|
||||
"comma_separated": "через кому",
|
||||
"entity_logic": "Логіка об'єктів",
|
||||
"entity_logic_any": "Будь-який об'єкт спрацьовує",
|
||||
"entity_logic_all": "Всі об'єкти мають спрацювати",
|
||||
"entities": "об'єктів",
|
||||
"attribute_optional": "Атрибут (необов'язково, порожньо = стан)",
|
||||
"use_entity_state": "Використовувати стан об'єкта (без атрибута)",
|
||||
"trigger_above": "Спрацювати, коли вище",
|
||||
"trigger_below": "Спрацювати, коли нижче",
|
||||
"for_at_least_minutes": "Протягом не менше (хвилин)",
|
||||
"safety_interval_days": "Страховий інтервал (дні, необов'язково)",
|
||||
"safety_interval": "Страховий інтервал (необов'язково)",
|
||||
"delta_mode": "Режим дельти",
|
||||
"from_state_optional": "З стану (необов'язково)",
|
||||
"to_state_optional": "До стану (необов'язково)",
|
||||
"documentation_url_optional": "URL документації (необов'язково)",
|
||||
"object_notes_optional": "Примітки (необов'язково)",
|
||||
"nfc_tag_id_optional": "ID NFC-тега (необов'язково)",
|
||||
"nfc_tags_empty_help": "У Home Assistant ще не зареєстровано NFC-теги.",
|
||||
"nfc_tags_open_settings": "Відкрити налаштування тегів",
|
||||
"nfc_tags_refresh": "Оновити",
|
||||
"environmental_entity_optional": "Датчик навколишнього середовища (необов'язково)",
|
||||
"environmental_entity_helper": "напр. sensor.outdoor_temperature — коригує інтервал відповідно до умов навколишнього середовища",
|
||||
"environmental_attribute_optional": "Атрибут середовища (необов'язково)",
|
||||
"nfc_tag_id": "ID NFC-тега",
|
||||
"nfc_linked": "NFC-тег прив'язано",
|
||||
"nfc_link_hint": "Натисніть, щоб прив'язати NFC-тег",
|
||||
"responsible_user": "Відповідальний користувач",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(Користувача не призначено)",
|
||||
"all_users": "Всі користувачі",
|
||||
"my_tasks": "Мої завдання",
|
||||
"tab_calendar": "Календар",
|
||||
"cal_no_events": "Без обслуговування",
|
||||
"cal_window_7": "7 днів",
|
||||
"cal_window_14": "14 днів",
|
||||
"cal_window_30": "30 днів",
|
||||
"cal_window_365": "1 рік",
|
||||
"cal_every_n_days": "кожні {n} днів",
|
||||
"cal_source_time": "За часом",
|
||||
"cal_source_time_adaptive": "За часом (адаптивно)",
|
||||
"cal_source_sensor": "За датчиком",
|
||||
"cal_predicted": "прогноз",
|
||||
"cal_confidence_high": "висока надійність",
|
||||
"cal_confidence_medium": "середня надійність",
|
||||
"cal_confidence_low": "низька надійність",
|
||||
"budget_monthly": "Щомісячний бюджет",
|
||||
"budget_yearly": "Щорічний бюджет",
|
||||
"groups": "Групи",
|
||||
"new_group": "Нова група",
|
||||
"edit_group": "Редагувати групу",
|
||||
"no_groups": "Груп ще немає",
|
||||
"delete_group": "Видалити групу",
|
||||
"delete_group_confirm": "Видалити групу '{name}'?",
|
||||
"group_select_tasks": "Обрати завдання",
|
||||
"group_name_required": "Потрібна назва",
|
||||
"description_optional": "Опис (необов'язково)",
|
||||
"selected": "Обрано",
|
||||
"loading_chart": "Завантаження даних графіка...",
|
||||
"hide_outliers": "Приховати викиди (збої датчика)",
|
||||
"was_maintenance_needed": "Чи було потрібне це обслуговування?",
|
||||
"feedback_needed": "Потрібне",
|
||||
"feedback_not_needed": "Не потрібне",
|
||||
"feedback_not_sure": "Не впевнений",
|
||||
"suggested_interval": "Рекомендований інтервал",
|
||||
"apply_suggestion": "Застосувати",
|
||||
"reanalyze": "Повторно проаналізувати",
|
||||
"reanalyze_result": "Новий аналіз",
|
||||
"reanalyze_insufficient_data": "Недостатньо даних для рекомендації",
|
||||
"data_points": "точок даних",
|
||||
"dismiss_suggestion": "Відхилити",
|
||||
"confidence_low": "Низька",
|
||||
"confidence_medium": "Середня",
|
||||
"confidence_high": "Висока",
|
||||
"recommended": "рекомендовано",
|
||||
"seasonal_awareness": "Сезонна корекція",
|
||||
"edit_seasonal_overrides": "Редагувати сезонні коефіцієнти",
|
||||
"seasonal_overrides_title": "Сезонні коефіцієнти (перевизначення)",
|
||||
"seasonal_overrides_hint": "Коефіцієнт на місяць (0.1–5.0). Порожньо = автоматично.",
|
||||
"seasonal_override_invalid": "Недійсне значення",
|
||||
"seasonal_override_range": "Коефіцієнт має бути між 0.1 та 5.0",
|
||||
"clear_all": "Очистити все",
|
||||
"seasonal_chart_title": "Сезонні коефіцієнти",
|
||||
"seasonal_learned": "Навчена",
|
||||
"seasonal_manual": "Ручна",
|
||||
"month_jan": "Січ",
|
||||
"month_feb": "Лют",
|
||||
"month_mar": "Бер",
|
||||
"month_apr": "Кві",
|
||||
"month_may": "Тра",
|
||||
"month_jun": "Чер",
|
||||
"month_jul": "Лип",
|
||||
"month_aug": "Сер",
|
||||
"month_sep": "Вер",
|
||||
"month_oct": "Жов",
|
||||
"month_nov": "Лис",
|
||||
"month_dec": "Гру",
|
||||
"sensor_prediction": "Прогноз сенсора",
|
||||
"degradation_trend": "Тренд",
|
||||
"trend_rising": "Зростає",
|
||||
"trend_falling": "Спадає",
|
||||
"trend_stable": "Стабільний",
|
||||
"trend_insufficient_data": "Недостатньо даних",
|
||||
"days_until_threshold": "Днів до порогу",
|
||||
"threshold_exceeded": "Поріг перевищено",
|
||||
"environmental_adjustment": "Екологічний коефіцієнт",
|
||||
"sensor_prediction_urgency": "Сенсор прогнозує досягнення порогу через ~{days} днів",
|
||||
"day_short": "день",
|
||||
"weibull_reliability_curve": "Крива надійності",
|
||||
"weibull_failure_probability": "Ймовірність відмови",
|
||||
"weibull_r_squared": "Точність R²",
|
||||
"beta_early_failures": "Ранні відмови",
|
||||
"beta_random_failures": "Випадкові відмови",
|
||||
"beta_wear_out": "Знос",
|
||||
"beta_highly_predictable": "Дуже передбачуваний",
|
||||
"confidence_interval": "Довірчий інтервал",
|
||||
"confidence_conservative": "Консервативний",
|
||||
"confidence_aggressive": "Оптимістичний",
|
||||
"current_interval_marker": "Поточний інтервал",
|
||||
"recommended_marker": "Рекомендовано",
|
||||
"characteristic_life": "Характеристичний ресурс",
|
||||
"chart_mini_sparkline": "Мінімальний графік тренду",
|
||||
"chart_history": "Історія вартості та тривалості",
|
||||
"chart_seasonal": "Сезонні коефіцієнти, 12 місяців",
|
||||
"chart_weibull": "Крива надійності Вейбулла",
|
||||
"chart_sparkline": "Графік значень тригера сенсора",
|
||||
"days_progress": "Прогрес днів",
|
||||
"qr_code": "QR-код",
|
||||
"qr_generating": "Генерація QR-коду…",
|
||||
"qr_error": "Не вдалося згенерувати QR-код.",
|
||||
"qr_error_no_url": "URL Home Assistant не налаштовано. Задайте зовнішню або внутрішню URL-адресу в Налаштування → Система → Мережа.",
|
||||
"save_error": "Не вдалося зберегти. Спробуйте ще раз.",
|
||||
"qr_print": "Друкувати",
|
||||
"qr_download": "Завантажити SVG",
|
||||
"qr_action": "Дія при скануванні",
|
||||
"qr_action_view": "Переглянути",
|
||||
"qr_action_complete": "Позначити обслуговування виконаним",
|
||||
"qr_url_mode": "Тип посилання",
|
||||
"qr_mode_companion": "Companion App",
|
||||
"qr_mode_local": "Локальний (mDNS)",
|
||||
"qr_mode_server": "URL сервера",
|
||||
"overview": "Огляд",
|
||||
"analysis": "Аналіз",
|
||||
"recent_activities": "Остання активність",
|
||||
"search_notes": "Пошук у примітках",
|
||||
"avg_cost": "Сер. вартість",
|
||||
"no_advanced_features": "Розширені функції не увімкнено",
|
||||
"no_advanced_features_hint": "Увімкніть «Адаптивні інтервали» або «Сезонні закономірності» в налаштуваннях інтеграції, щоб побачити тут дані аналізу.",
|
||||
"analysis_not_enough_data": "Недостатньо даних для аналізу.",
|
||||
"analysis_not_enough_data_hint": "Аналіз Вейбулла потребує щонайменше 5 виконаних обслуговувань; сезонні закономірності стають видимими після 6+ записів на місяць.",
|
||||
"analysis_manual_task_hint": "Ручні завдання без інтервалу не генерують дані аналізу.",
|
||||
"completions": "виконань",
|
||||
"current": "Поточний",
|
||||
"shorter": "Коротший",
|
||||
"longer": "Довший",
|
||||
"normal": "Звичайний",
|
||||
"disabled": "Вимкнено",
|
||||
"compound_logic": "Складена логіка",
|
||||
"compound": "Складений (кілька умов)",
|
||||
"compound_logic_and": "І — усі умови мають спрацювати",
|
||||
"compound_logic_or": "АБО — достатньо будь-якої умови",
|
||||
"compound_help": "Об'єднайте кілька умов датчиків в один тригер.",
|
||||
"compound_no_conditions": "Ще немає умов — додайте принаймні одну.",
|
||||
"compound_add_condition": "Додати умову",
|
||||
"compound_condition": "Умова",
|
||||
"compound_remove_condition": "Видалити умову",
|
||||
"card_title": "Заголовок",
|
||||
"card_show_header": "Показувати заголовок зі статистикою",
|
||||
"card_show_actions": "Показувати кнопки дій",
|
||||
"card_compact": "Компактний режим",
|
||||
"card_max_items": "Макс. елементів (0 = всі)",
|
||||
"card_filter_status": "Фільтрувати за статусом",
|
||||
"card_filter_status_help": "Порожньо = показати всі статуси.",
|
||||
"card_filter_objects": "Фільтрувати за об'єктами",
|
||||
"card_filter_objects_help": "Порожньо = показати всі об'єкти.",
|
||||
"card_filter_entities": "Фільтрувати за сутностями (entity_ids)",
|
||||
"card_filter_entities_help": "Виберіть сутності sensor / binary_sensor з цієї інтеграції. Порожньо = всі.",
|
||||
"card_loading_objects": "Завантаження об'єктів…",
|
||||
"card_load_error": "Не вдалося завантажити об'єкти — перевірте WebSocket-з'єднання.",
|
||||
"card_no_tasks_title": "Поки немає завдань обслуговування",
|
||||
"card_no_tasks_cta": "→ Створіть на панелі Maintenance",
|
||||
"no_objects": "Поки немає об'єктів.",
|
||||
"action_error": "Дія не вдалась. Спробуйте ще раз.",
|
||||
"area_id_optional": "Зона (необов'язково)",
|
||||
"installation_date_optional": "Дата встановлення (необов'язково)",
|
||||
"warranty_expiry_optional": "Закінчення гарантії (необов'язково)",
|
||||
"warranty": "Гарантія",
|
||||
"warranty_valid_until": "дійсна до {date}",
|
||||
"warranty_expires_in": "закінчується через {days} дн.",
|
||||
"warranty_expired": "закінчилася",
|
||||
"cal_past_windows": "Минулі вікна",
|
||||
"cal_forward_windows": "Майбутні вікна",
|
||||
"history_edit_title": "Редагувати запис історії",
|
||||
"history_edit_timestamp": "Позначка часу",
|
||||
"manufacturer": "Виробник",
|
||||
"model": "Модель",
|
||||
"area": "Зона",
|
||||
"actions": "Дії",
|
||||
"view_mode_label": "Вигляд",
|
||||
"view_cards": "Картки",
|
||||
"view_table": "Таблиця",
|
||||
"objects_table_columns_label": "Стовпці таблиці об'єктів",
|
||||
"objects_table_columns_hint": "Виберіть, які стовпці показувати в табличному вигляді об'єктів.",
|
||||
"custom_icon_optional": "Іконка (необов'язково, наприклад mdi:wrench)",
|
||||
"task_enabled": "Завдання увімкнено",
|
||||
"skip_reason_prompt": "Пропустити це завдання?",
|
||||
"reason_optional": "Причина (необов'язково)",
|
||||
"reset_date_prompt": "Позначити як виконане?",
|
||||
"reset_date_optional": "Дата останнього виконання (необов'язково, типово: сьогодні)",
|
||||
"notes_label": "Примітки",
|
||||
"documentation_label": "Документація",
|
||||
"no_nfc_tag": "— Без тега —",
|
||||
"dashboard": "Дашборд",
|
||||
"tab_today": "Сьогодні",
|
||||
"palette_placeholder": "Пошук об'єктів і завдань…",
|
||||
"palette_no_results": "Немає збігів",
|
||||
"palette_hint": "↑↓ навігація · Enter відкрити · Esc закрити",
|
||||
"today_all_caught_up": "Усе зроблено! Цього тижня нічого немає.",
|
||||
"today_overdue": "Прострочені",
|
||||
"today_due_today": "Сьогодні",
|
||||
"today_this_week": "Цього тижня",
|
||||
"settings": "Налаштування",
|
||||
"settings_features": "Розширені функції",
|
||||
"settings_features_desc": "Увімкніть або вимкніть розширені функції. Вимкнення приховує їх з інтерфейсу, але не видаляє дані.",
|
||||
"feat_adaptive": "Адаптивне планування",
|
||||
"feat_adaptive_desc": "Навчатися оптимальним інтервалам з історії обслуговування",
|
||||
"feat_predictions": "Прогнози за сенсорами",
|
||||
"feat_predictions_desc": "Прогнозувати дати спрацювання за деградацією сенсора",
|
||||
"feat_seasonal": "Сезонні корекції",
|
||||
"feat_seasonal_desc": "Коригувати інтервали на основі сезонних закономірностей",
|
||||
"feat_environmental": "Кореляція з довкіллям",
|
||||
"feat_environmental_desc": "Корелювати інтервали з температурою/вологістю",
|
||||
"feat_budget": "Відстеження бюджету",
|
||||
"feat_budget_desc": "Відстежувати щомісячні та щорічні витрати на обслуговування",
|
||||
"feat_groups": "Групи завдань",
|
||||
"feat_groups_desc": "Організовувати завдання в логічні групи",
|
||||
"feat_checklists": "Чеклісти",
|
||||
"feat_checklists_desc": "Багатокрокові процедури для виконання завдань",
|
||||
"settings_general": "Загальне",
|
||||
"settings_default_warning": "Днів попередження за замовчуванням",
|
||||
"settings_panel_enabled": "Панель у бічному меню",
|
||||
"settings_panel_title": "Заголовок панелі",
|
||||
"settings_notifications": "Сповіщення",
|
||||
"settings_notify_service": "Служба сповіщень",
|
||||
"test_notification": "Тестове сповіщення",
|
||||
"send_test": "Надіслати тест",
|
||||
"testing": "Надсилання…",
|
||||
"test_notification_success": "Тестове сповіщення надіслано",
|
||||
"test_notification_failed": "Не вдалося надіслати тестове сповіщення",
|
||||
"settings_notify_due_soon": "Сповіщати, коли термін наближається",
|
||||
"settings_notify_overdue": "Сповіщати про прострочення",
|
||||
"settings_notify_triggered": "Сповіщати про спрацювання",
|
||||
"settings_interval_hours": "Інтервал повторення (години, 0 = одноразово)",
|
||||
"settings_quiet_hours": "Тихі години",
|
||||
"settings_quiet_start": "Початок",
|
||||
"settings_quiet_end": "Кінець",
|
||||
"settings_max_per_day": "Макс. сповіщень на день (0 = без обмежень)",
|
||||
"settings_bundling": "Групувати сповіщення",
|
||||
"settings_bundle_threshold": "Поріг групування",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "Кнопки дій у мобільних сповіщеннях",
|
||||
"settings_action_complete": "Показувати кнопку «Виконати»",
|
||||
"settings_action_skip": "Показувати кнопку «Пропустити»",
|
||||
"settings_action_snooze": "Показувати кнопку «Відкласти»",
|
||||
"settings_weekly_digest": "Щотижневий огляд",
|
||||
"settings_weekly_digest_hint": "Одне зведене сповіщення в понеділок вранці, коли є завдання.",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "Тривалість відкладення (години)",
|
||||
"settings_budget": "Бюджет",
|
||||
"settings_currency": "Валюта",
|
||||
"settings_budget_monthly": "Щомісячний бюджет",
|
||||
"settings_budget_yearly": "Щорічний бюджет",
|
||||
"settings_budget_alerts": "Сповіщення про бюджет",
|
||||
"settings_budget_threshold": "Поріг сповіщення (%)",
|
||||
"settings_import_export": "Імпорт / Експорт",
|
||||
"settings_export_json": "Експортувати JSON",
|
||||
"settings_export_yaml": "Експортувати YAML",
|
||||
"settings_export_csv": "Експортувати CSV",
|
||||
"settings_import_csv": "Імпортувати CSV",
|
||||
"settings_import_placeholder": "Вставте вміст JSON або CSV сюди…",
|
||||
"settings_import_btn": "Імпортувати",
|
||||
"settings_import_success": "{count} об'єктів успішно імпортовано.",
|
||||
"settings_export_success": "Експорт завантажено.",
|
||||
"settings_saved": "Налаштування збережено.",
|
||||
"settings_include_history": "Включити історію",
|
||||
"sort_alphabetical": "За алфавітом",
|
||||
"sort_due_soonest": "Найближчий термін",
|
||||
"sort_task_count": "Кількість завдань",
|
||||
"sort_area": "Зона",
|
||||
"sort_assigned_user": "Призначений користувач",
|
||||
"sort_group": "Група",
|
||||
"groupby_none": "Без групування",
|
||||
"groupby_area": "За зоною",
|
||||
"groupby_group": "За групою",
|
||||
"groupby_user": "За користувачем",
|
||||
"filter_label": "Фільтр",
|
||||
"user_label": "Користувач",
|
||||
"sort_label": "Сортування",
|
||||
"group_by_label": "Групувати за",
|
||||
"state_value_help": "Використовуйте значення стану HA (зазвичай у нижньому регістрі, напр. \"on\"/\"off\"). Регістр нормалізується при збереженні.",
|
||||
"target_changes_help": "Кількість відповідних переходів, після яких тригер спрацює (за замовчуванням: 1).",
|
||||
"qr_print_title": "Друкувати QR-коди",
|
||||
"qr_print_desc": "Створи сторінку для друку з QR-кодами, які можна вирізати та наклеїти на обладнання.",
|
||||
"qr_print_load": "Завантажити об'єкти",
|
||||
"qr_print_filter": "Фільтр",
|
||||
"qr_print_objects": "Об'єкти",
|
||||
"qr_print_actions": "Дії",
|
||||
"qr_print_url_mode": "Тип посилання",
|
||||
"qr_print_estimate": "Прогноз QR-кодів",
|
||||
"qr_print_over_limit": "ліміт 200, звузь фільтр",
|
||||
"qr_print_generate": "Створити QR-коди",
|
||||
"qr_print_generating": "Створення…",
|
||||
"qr_print_ready": "QR-коди готові",
|
||||
"qr_print_print_button": "Друкувати",
|
||||
"qr_print_empty": "Нічого створювати",
|
||||
"qr_action_skip": "Пропустити",
|
||||
"vacation_title": "Режим відпустки",
|
||||
"vacation_active": "активний",
|
||||
"vacation_ended": "завершено",
|
||||
"vacation_desc": "Сплануй відпустку: сповіщення призупиняються на період плюс кілька буферних днів. Можна налаштувати винятки.",
|
||||
"vacation_enable": "Увімкнути режим відпустки",
|
||||
"vacation_start": "Початок",
|
||||
"vacation_end": "Кінець",
|
||||
"vacation_buffer": "Буфер (днів)",
|
||||
"vacation_exempt_title": "Сповіщати попри відпустку",
|
||||
"vacation_exempt_desc": "Обери завдання, які мають сповіщати навіть під час відпустки (наприклад, критична хімія басейну).",
|
||||
"vacation_load_tasks": "Завантажити завдання",
|
||||
"vacation_preview_btn": "Показати попередній перегляд",
|
||||
"vacation_preview_affected": "завдань зачеплено",
|
||||
"vacation_event_due_soon": "наближається термін",
|
||||
"vacation_event_overdue": "стане простроченим",
|
||||
"vacation_event_triggered_est": "можливе спрацювання сенсора",
|
||||
"vacation_sensor_based": "(сенсорне)",
|
||||
"vacation_action_notify": "Сповіщати все одно",
|
||||
"vacation_action_unsilence": "Знову вимкнути сповіщення",
|
||||
"vacation_marked_complete": "Позначено як виконане",
|
||||
"vacation_marked_skip": "Пропущено",
|
||||
"vacation_end_now": "Завершити відпустку зараз",
|
||||
"unassigned": "Не призначено",
|
||||
"no_area": "Без зони",
|
||||
"has_overdue": "Прострочені завдання",
|
||||
"object": "Об'єкт",
|
||||
"settings_panel_access": "Доступ до панелі",
|
||||
"settings_panel_access_desc": "Адміністратори завжди мають повний доступ. Щоб делегувати створення, редагування та видалення певним не-адмін користувачам, увімкніть це та виберіть їх нижче — інші бачать лише Виконати та Пропустити.",
|
||||
"settings_operator_write": "Дозволити вибраним користувачам створювати, редагувати та видаляти",
|
||||
"settings_operator_write_desc": "Вимкнено: лише адміністратори можуть змінювати вміст. Увімкнено: вибрані користувачі нижче також отримують повний доступ.",
|
||||
"no_non_admin_users": "Не знайдено не-адмін користувачів. Додайте їх у Налаштуваннях → Особи.",
|
||||
"owner_label": "Власник",
|
||||
"feat_completion_actions": "Дії при завершенні",
|
||||
"feat_completion_actions_desc": "Дія HA по завданню при завершенні + QR швидкого завершення з попередньо встановленими значеннями.",
|
||||
"on_complete_action_title": "При завершенні: викликати HA-дію (опційно)",
|
||||
"on_complete_action_desc": "Викликає HA-сервіс, коли завдання завершено — напр., скинути лічильник на пристрої.",
|
||||
"on_complete_action_service": "Сервіс",
|
||||
"on_complete_action_target": "Цільова сутність",
|
||||
"on_complete_action_data": "Дані (JSON, опційно)",
|
||||
"on_complete_action_test": "Тестувати дію",
|
||||
"on_complete_action_test_success": "Успіх",
|
||||
"on_complete_action_test_failed": "Помилка",
|
||||
"quick_complete_defaults_title": "Стандартні значення швидкого завершення (для QR-сканів, опційно)",
|
||||
"quick_complete_defaults_desc": "Попередньо встановлені значення для QR швидкого завершення. Без них QR відкриває діалог.",
|
||||
"quick_complete_defaults_notes": "Нотатки",
|
||||
"quick_complete_defaults_cost": "Вартість",
|
||||
"quick_complete_defaults_duration": "Тривалість (хвилин)",
|
||||
"quick_complete_defaults_feedback_none": "Без зворотного зв'язку",
|
||||
"quick_complete_defaults_feedback_needed": "Було необхідно",
|
||||
"quick_complete_defaults_feedback_not_needed": "Не було необхідно",
|
||||
"quick_complete_success": "Швидко позначено виконаним",
|
||||
"trigger_replaced": "Тригер замінено",
|
||||
"add": "Додати",
|
||||
"show_stats": "Показати статистику + графіки",
|
||||
"hide_stats": "Сховати статистику",
|
||||
"adaptive_no_data": "Поки що недостатньо історії виконань для адаптивного аналізу. Виконайте це завдання ще кілька разів, щоб розблокувати рекомендації щодо інтервалу та графіки надійності.",
|
||||
"suggestion_applied": "Запропонований інтервал застосовано",
|
||||
"vacation_mode": "Режим відпустки",
|
||||
"vacation_status_active": "Активний зараз",
|
||||
"vacation_status_scheduled": "Заплановано",
|
||||
"vacation_status_inactive": "Неактивний",
|
||||
"vacation_end_now_confirm": "Завершити відпустку негайно?",
|
||||
"vacation_exempt_count": "виключено",
|
||||
"vacation_advanced": "Додатково…",
|
||||
"vacation_open_panel": "Відкрити на панелі",
|
||||
"enable": "Увімкнути",
|
||||
"saved": "Збережено",
|
||||
"budget_monthly_set": "Задати місячний",
|
||||
"budget_yearly_set": "Задати річний",
|
||||
"budget_advanced": "Валюта, сповіщення…",
|
||||
"budget_open_panel": "Відкрити на панелі",
|
||||
"groups_empty": "Поки немає груп.",
|
||||
"group_new_placeholder": "Додати групу…",
|
||||
"group_delete_confirm": "Видалити групу «{name}»?",
|
||||
"groups_manage_tasks": "Керування призначеннями завдань…",
|
||||
"groups_open_panel": "Відкрити на панелі",
|
||||
"on_complete_action_target_hint": "Примітка: домен сутності має відповідати сервісу — напр. 'button.press' працює лише з button.*, 'counter.increment' лише з counter.*, 'input_button.press' лише з input_button.* тощо. У разі невідповідності дія мовчки не виконається (HA запише в журнал 'Referenced entities ... missing or not currently available').",
|
||||
"show_all_objects": "Показати всі об'єкти",
|
||||
"show_all_tasks": "Скинути фільтр — показати всі завдання",
|
||||
"filter_to_overdue": "Фільтрувати список лише за простроченими",
|
||||
"filter_to_due_soon": "Фільтрувати список лише за тими, що скоро настануть",
|
||||
"filter_to_triggered": "Фільтрувати список лише за спрацьованими",
|
||||
"open_task": "Відкрити завдання",
|
||||
"show_details": "Показати історію + статистику",
|
||||
"hide_details": "Сховати деталі",
|
||||
"history_empty": "Поки немає історії.",
|
||||
"history_edit_button": "Редагувати запис",
|
||||
"total_cost": "Загальна вартість",
|
||||
"times_performed": "Виконано",
|
||||
"older_entries": "раніше",
|
||||
"open_in_panel": "Відкрити на панелі обслуговування",
|
||||
"skip_reason": "Причина пропуску (необов'язково)",
|
||||
"reset_to_date": "Скинути останнє виконання на",
|
||||
"delete_task_confirm": "Видалити це завдання та його історію?",
|
||||
"delete_object_confirm": "Видалити цей об'єкт і всі його завдання?",
|
||||
"loading": "Завантаження…",
|
||||
"archive": "Архівувати",
|
||||
"undo": "Скасувати",
|
||||
"task_archived": "Завдання архівовано",
|
||||
"object_archived": "Об'єкт архівовано",
|
||||
"unarchive": "Розархівувати",
|
||||
"archived": "В архіві",
|
||||
"show_archived": "Показати архів",
|
||||
"hide_archived": "Сховати архів",
|
||||
"confirm_archive_object": "Архівувати цей об'єкт та його завдання? Історія збережеться, згодом можна відновити.",
|
||||
"settings_archive": "Архів і зберігання",
|
||||
"settings_archive_desc": "Відкладайте виконані одноразові завдання в архів, не видаляючи їх. Архівні елементи приховані й неактивні, але зберігають історію та витрати.",
|
||||
"settings_archive_oneoff_days": "Автоархівування виконаних одноразових завдань через (днів, 0 = вимк)",
|
||||
"settings_delete_archived_oneoff_days": "Автовидалення архівних одноразових завдань через (днів, 0 = ніколи)",
|
||||
"archive_object": "Архівувати об'єкт",
|
||||
"unarchive_object": "Розархівувати об'єкт",
|
||||
"documents": "Документи",
|
||||
"documents_empty": "Ще немає документів.",
|
||||
"doc_upload": "Завантажити файл",
|
||||
"doc_uploading": "Завантаження…",
|
||||
"doc_add_link": "Додати посилання",
|
||||
"doc_link_url": "URL (https://…)",
|
||||
"doc_link_title": "Назва (необов'язково)",
|
||||
"doc_open": "Відкрити",
|
||||
"doc_delete_confirm": "Видалити «{name}»?",
|
||||
"doc_too_large": "Файл завеликий (макс. 25 МБ).",
|
||||
"doc_upload_failed": "Не вдалося завантажити.",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "Уже збережено в іншому місці — спільний, без додаткового місця.",
|
||||
"doc_dup_in_object": "Цей файл уже прикріплено до цього об'єкта.",
|
||||
"doc_link_invalid": "Дозволені лише посилання http/https.",
|
||||
"doc_cat_manual": "Інструкція",
|
||||
"doc_cat_warranty": "Гарантія",
|
||||
"doc_cat_invoice": "Рахунок",
|
||||
"doc_cat_spare_parts": "Запчастини",
|
||||
"doc_cat_photo": "Фото",
|
||||
"doc_cat_other": "Інше",
|
||||
"doc_link_badge": "Посилання",
|
||||
"doc_storage_title": "Сховище документів",
|
||||
"doc_storage_saved": "Заощаджено дедуплікацією",
|
||||
"doc_storage_refresh": "Оновити",
|
||||
"doc_download": "Завантажити",
|
||||
"doc_close": "Закрити",
|
||||
"doc_camera": "Зробити фото",
|
||||
"doc_drop_hint": "Перетягніть файли сюди",
|
||||
"doc_task_none": "Немає документів, пов'язаних із цим завданням.",
|
||||
"doc_link_existing": "Пов'язати документ…",
|
||||
"doc_attach": "Пов'язати",
|
||||
"doc_unlink": "Відв'язати",
|
||||
"doc_page": "Сторінка",
|
||||
"chart_range_7d": "7д",
|
||||
"chart_range_30d": "30д",
|
||||
"chart_range_90d": "90д",
|
||||
"chart_range_1y": "1р",
|
||||
"chart_since_service": "з останнього обслуговування",
|
||||
"chart_no_stats": "Немає довгострокової статистики для цієї сутності — показано лише значення із записів обслуговування",
|
||||
"auto_complete_on_recovery": "Автозавершення при відновленні датчика",
|
||||
"auto_complete_on_recovery_help": "Записує виконання (оновлює дату останнього обслуговування), коли тригер зникає сам — наприклад, сіль досипано, фільтр замінено.",
|
||||
"doc_search": "Пошук документів…",
|
||||
"doc_search_none": "Немає відповідних документів",
|
||||
"link_device_optional": "Прив'язати до наявного пристрою (необов'язково)",
|
||||
"parent_object_optional": "Батьківський об'єкт (необов'язково)",
|
||||
"parent_none": "(Без батьківського)",
|
||||
"paused": "Призупинено",
|
||||
"pause_object": "Призупинити",
|
||||
"resume_object": "Відновити",
|
||||
"pause_until_prompt": "Заморозити розклади цього об'єкта — нічого не настає і не сповіщає до відновлення. За бажанням укажіть дату автоматичного відновлення.",
|
||||
"pause_until_label": "Відновити (необов'язково)",
|
||||
"object_paused": "Об'єкт призупинено",
|
||||
"object_resumed": "Об'єкт відновлено — розклади перезапущено",
|
||||
"object_paused_badge": "Призупинено",
|
||||
"paused_until_label": "до",
|
||||
"replace_object": "Замінити…",
|
||||
"replace_object_prompt": "Списати цей об'єкт і створити наступника. Історія та витрати лишаються в архіві старого; завдання й документи переходять до нового, лічильники починаються заново.",
|
||||
"replace_name_label": "Ім'я наступника",
|
||||
"object_replaced": "Об'єкт замінено — наступника створено",
|
||||
"reading_unit_label": "Одиниця показання (напр. кВт·год, м³)",
|
||||
"reading_unit_help": "Показується поруч із записаним значенням під час виконання цієї задачі.",
|
||||
"reading_value_label": "Показання",
|
||||
"reading_label": "Показання",
|
||||
"settings_templates_label": "Галерея шаблонів",
|
||||
"settings_templates_hint": "Зніміть позначку з шаблонів, які вам не потрібні — вони зникнуть із вибору «З шаблону» (панель і config flow). Більше нічого не змінюється; можна ввімкнути знову будь-коли.",
|
||||
"worksheet": "Робочий аркуш",
|
||||
"worksheet_scan_view": "Скануйте, щоб відкрити задачу",
|
||||
"worksheet_scan_complete": "Скануйте для виконання",
|
||||
"worksheet_manual_excerpt": "Витяг з посібника",
|
||||
"worksheet_pages": "сторінки",
|
||||
"worksheet_printed": "Надруковано",
|
||||
"worksheet_never": "Ніколи"
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"maintenance": "维护",
|
||||
"objects": "维护项",
|
||||
"tasks": "任务",
|
||||
"overdue": "逾期",
|
||||
"due_soon": "即将到期",
|
||||
"triggered": "已触发",
|
||||
"trigger_replaced": "触发器已更换",
|
||||
"ok": "正常",
|
||||
"all": "全部",
|
||||
"new_object": "+ 新建维护项",
|
||||
"templates_from": "从模板",
|
||||
"templates_title": "从模板开始",
|
||||
"templates_task_count": "{n} 个任务",
|
||||
"template_created": "已从模板创建",
|
||||
"onboard_hint": "添加第一个对象以开始跟踪维护。",
|
||||
"edit": "编辑",
|
||||
"duplicate": "复制",
|
||||
"task_duplicated": "任务已复制",
|
||||
"object_duplicated": "对象已复制",
|
||||
"delete": "删除",
|
||||
"add_task": "+ 添加任务",
|
||||
"complete": "完成",
|
||||
"completed": "已完成",
|
||||
"skip": "跳过",
|
||||
"skipped": "已跳过",
|
||||
"missed": "Missed",
|
||||
"reset": "重置",
|
||||
"snooze": "Snooze",
|
||||
"snoozed": "Snoozed",
|
||||
"cancel": "取消",
|
||||
"bulk_select": "选择",
|
||||
"bulk_select_all": "全选",
|
||||
"bulk_n_selected": "已选 {n} 项",
|
||||
"bulk_completed": "已完成 {n} 个任务",
|
||||
"bulk_archived": "已归档 {n} 个任务",
|
||||
"completing": "正在完成…",
|
||||
"interval": "间隔",
|
||||
"warning": "预警",
|
||||
"last_performed": "上次执行",
|
||||
"next_due": "下次到期",
|
||||
"days_until_due": "距离到期天数",
|
||||
"avg_duration": "平均耗时",
|
||||
"trigger": "触发器",
|
||||
"trigger_type": "触发类型",
|
||||
"threshold_above": "超过阈值",
|
||||
"threshold_below": "低于阈值",
|
||||
"threshold": "阈值",
|
||||
"counter": "计数器",
|
||||
"state_change": "状态变化",
|
||||
"runtime": "运行时间",
|
||||
"runtime_hours": "目标运行时长 (小时)",
|
||||
"target_value": "目标值",
|
||||
"baseline": "基准线",
|
||||
"target_changes": "目标变化次数",
|
||||
"for_minutes": "持续 (分钟)",
|
||||
"time_based": "基于时间",
|
||||
"sensor_based": "基于传感器",
|
||||
"manual": "手动",
|
||||
"one_time": "一次性",
|
||||
"weekdays": "工作日",
|
||||
"nth_weekday": "每月第 N 个工作日",
|
||||
"day_of_month": "每月某天",
|
||||
"recurrence_on_days": "重复日期",
|
||||
"recurrence_occurrence": "发生次数",
|
||||
"recurrence_weekday": "星期",
|
||||
"recurrence_day": "每月日期 (1–31)",
|
||||
"recurrence_last_day": "Last day of the month",
|
||||
"recurrence_business_day": "Business days only (roll back from weekend)",
|
||||
"recurrence_offset": "Offset (days, ±)",
|
||||
"recurrence_offset_help": "Shift the date by ±N days, e.g. -2 = two days before.",
|
||||
"last_day_month": "Last day of month",
|
||||
"last_business_day_month": "Last business day",
|
||||
"ord_1": "第 1",
|
||||
"ord_2": "第 2",
|
||||
"ord_3": "第 3",
|
||||
"ord_4": "第 4",
|
||||
"ord_5": "第 5",
|
||||
"ord_last": "最后",
|
||||
"day_word": "日",
|
||||
"interval_value": "间隔数值",
|
||||
"interval_unit": "单位",
|
||||
"unit_days": "天",
|
||||
"unit_weeks": "周",
|
||||
"unit_months": "月",
|
||||
"unit_years": "年",
|
||||
"due_date": "到期日期",
|
||||
"cleaning": "清洁",
|
||||
"inspection": "检查",
|
||||
"replacement": "更换",
|
||||
"calibration": "校准",
|
||||
"service": "保养",
|
||||
"reading": "读数",
|
||||
"custom": "自定义",
|
||||
"history": "历史记录",
|
||||
"cost": "成本",
|
||||
"report_button": "报告",
|
||||
"report_title": "维护报告",
|
||||
"report_generated": "生成于",
|
||||
"report_times_done": "完成次数",
|
||||
"report_total_cost": "总费用",
|
||||
"report_every": "每 {n} {unit}",
|
||||
"report_notes": "备注",
|
||||
"report_col_type": "类型",
|
||||
"report_col_status": "状态",
|
||||
"report_col_schedule": "计划",
|
||||
"duration": "耗时",
|
||||
"both": "两者",
|
||||
"trigger_val": "触发值",
|
||||
"complete_title": "完成: ",
|
||||
"checklist": "检查清单",
|
||||
"checklist_steps_optional": "检查步骤 (可选)",
|
||||
"checklist_placeholder": "清理过滤器\n更换密封圈\n测试压力",
|
||||
"checklist_help": "每行一个步骤。最多 100 项。",
|
||||
"err_too_long": "{field}: 太长 (最多 {n} 个字符)",
|
||||
"err_too_short": "{field}: 太短 (最少 {n} 个字符)",
|
||||
"err_value_too_high": "{field}: 太大 (最大 {n})",
|
||||
"err_value_too_low": "{field}: 太小 (最小 {n})",
|
||||
"err_required": "{field}: 必填项",
|
||||
"err_wrong_type": "{field}: 类型错误 (预期: {type})",
|
||||
"err_invalid_choice": "{field}: 无效选项",
|
||||
"err_invalid_value": "{field}: 无效数值",
|
||||
"feat_schedule_time": "具体时间调度",
|
||||
"feat_schedule_time_desc": "任务将在特定时间点变为逾期,而非默认的午夜。",
|
||||
"schedule_time_optional": "到期时间 (可选, HH:MM)",
|
||||
"schedule_time_help": "留空 = 午夜 (默认)。基于 HA 时区。",
|
||||
"at_time": "于",
|
||||
"notes_optional": "备注 (可选)",
|
||||
"cost_optional": "成本 (可选)",
|
||||
"duration_minutes": "耗时 (分钟, 可选)",
|
||||
"days": "天",
|
||||
"day": "天",
|
||||
"today": "今天",
|
||||
"d_overdue": "天逾期",
|
||||
"no_tasks": "尚无维护任务。请创建一个维护项开始使用。",
|
||||
"no_tasks_short": "无任务",
|
||||
"no_history": "尚无历史记录。",
|
||||
"show_all": "全部显示",
|
||||
"cost_duration_chart": "成本与耗时",
|
||||
"installed": "已安装",
|
||||
"confirm_delete_object": "确定删除此维护项及其所有任务吗?",
|
||||
"confirm_delete_task": "确定删除此任务吗?",
|
||||
"min": "最小",
|
||||
"max": "最大",
|
||||
"save": "保存",
|
||||
"saving": "正在保存…",
|
||||
"edit_task": "编辑任务",
|
||||
"new_task": "新建维护任务",
|
||||
"task_name": "任务名称",
|
||||
"maintenance_type": "维护类型",
|
||||
"priority": "优先级",
|
||||
"labels": "Labels",
|
||||
"labels_placeholder": "e.g. safety, seasonal, tenant-visible",
|
||||
"labels_help": "Comma-separated tags for filtering and reporting.",
|
||||
"priority_low": "低",
|
||||
"priority_normal": "普通",
|
||||
"priority_high": "高",
|
||||
"schedule_type": "计划类型",
|
||||
"interval_days": "间隔 (天)",
|
||||
"warning_days": "预警天数",
|
||||
"earliest_completion_days": "Earliest completion (days before due)",
|
||||
"earliest_completion_days_help": "Leave empty to allow completing any time. 0 = only on/after the due date.",
|
||||
"last_performed_optional": "上次执行时间 (可选)",
|
||||
"interval_anchor": "计划锚点",
|
||||
"anchor_completion": "从完成日期起算",
|
||||
"anchor_planned": "从计划日期起算 (无偏差)",
|
||||
"edit_object": "编辑维护项",
|
||||
"name": "名称",
|
||||
"manufacturer_optional": "制造商 (可选)",
|
||||
"model_optional": "型号 (可选)",
|
||||
"serial_number_optional": "序列号 (可选)",
|
||||
"serial_number_label": "序列号",
|
||||
"documentation_url_label": "手册",
|
||||
"object_notes_label": "备注",
|
||||
"sort_due_date": "到期时间",
|
||||
"sort_object": "维护项名称",
|
||||
"sort_type": "类型",
|
||||
"sort_task_name": "任务名称",
|
||||
"all_objects": "所有维护项",
|
||||
"tasks_lower": "任务",
|
||||
"no_tasks_yet": "尚无任务",
|
||||
"add_first_task": "添加首个任务",
|
||||
"trigger_configuration": "触发器配置",
|
||||
"entity_id": "实体 ID",
|
||||
"comma_separated": "逗号分隔",
|
||||
"entity_logic": "实体逻辑",
|
||||
"entity_logic_any": "任一实体触发",
|
||||
"entity_logic_all": "所有实体均触发",
|
||||
"entities": "实体",
|
||||
"attribute_optional": "属性 (可选, 留空 = 状态)",
|
||||
"use_entity_state": "使用实体状态 (不使用属性)",
|
||||
"trigger_above": "高于此值触发",
|
||||
"trigger_below": "低于此值触发",
|
||||
"for_at_least_minutes": "持续至少 (分钟)",
|
||||
"safety_interval_days": "安全间隔 (天, 可选)",
|
||||
"safety_interval": "安全间隔 (可选)",
|
||||
"delta_mode": "增量模式",
|
||||
"from_state_optional": "起始状态 (可选)",
|
||||
"to_state_optional": "目标状态 (可选)",
|
||||
"documentation_url_optional": "文档链接 (可选)",
|
||||
"object_notes_optional": "备注 (可选)",
|
||||
"nfc_tag_id_optional": "NFC 标签 ID (可选)",
|
||||
"nfc_tags_empty_help": "Home Assistant 中尚未注册任何 NFC 标签。",
|
||||
"nfc_tags_open_settings": "打开标签设置",
|
||||
"nfc_tags_refresh": "刷新",
|
||||
"environmental_entity_optional": "环境传感器 (可选)",
|
||||
"environmental_entity_helper": "例如:sensor.outdoor_temperature — 根据环境条件自动调整间隔",
|
||||
"environmental_attribute_optional": "环境属性 (可选)",
|
||||
"nfc_tag_id": "NFC 标签 ID",
|
||||
"nfc_linked": "NFC 标签已链接",
|
||||
"nfc_link_hint": "点击链接 NFC 标签",
|
||||
"responsible_user": "负责人",
|
||||
"shared_with": "Shared with (rotation)",
|
||||
"shared_with_help": "Pick multiple people to share this task; the responsible person rotates on each completion.",
|
||||
"rotation_strategy": "Rotation",
|
||||
"rotation_none": "No rotation",
|
||||
"rotation_round_robin": "Round-robin",
|
||||
"rotation_least_completed": "Least completed",
|
||||
"rotation_random": "Random",
|
||||
"no_user_assigned": "(未分配)",
|
||||
"all_users": "所有用户",
|
||||
"my_tasks": "我的任务",
|
||||
"tab_calendar": "日历",
|
||||
"cal_no_events": "无维护事项",
|
||||
"cal_window_7": "7 天",
|
||||
"cal_window_14": "14 天",
|
||||
"cal_window_30": "30 天",
|
||||
"cal_window_365": "1 年",
|
||||
"cal_every_n_days": "每 {n} 天",
|
||||
"cal_source_time": "基于时间",
|
||||
"cal_source_time_adaptive": "基于时间 (自适应)",
|
||||
"cal_source_sensor": "基于传感器",
|
||||
"cal_predicted": "预测",
|
||||
"cal_confidence_high": "高置信度",
|
||||
"cal_confidence_medium": "中置信度",
|
||||
"cal_confidence_low": "低置信度",
|
||||
"budget_monthly": "月度预算",
|
||||
"budget_yearly": "年度预算",
|
||||
"groups": "分组",
|
||||
"new_group": "新建分组",
|
||||
"edit_group": "编辑分组",
|
||||
"no_groups": "尚无分组",
|
||||
"delete_group": "删除分组",
|
||||
"delete_group_confirm": "确定删除分组 '{name}' 吗?",
|
||||
"group_select_tasks": "选择任务",
|
||||
"group_name_required": "名称必填",
|
||||
"description_optional": "描述 (可选)",
|
||||
"selected": "已选择",
|
||||
"loading_chart": "正在加载图表数据...",
|
||||
"hide_outliers": "隐藏离群值(传感器故障)",
|
||||
"was_maintenance_needed": "此次维护是否确实需要?",
|
||||
"feedback_needed": "需要",
|
||||
"feedback_not_needed": "不需要",
|
||||
"feedback_not_sure": "不确定",
|
||||
"suggested_interval": "建议间隔",
|
||||
"apply_suggestion": "应用建议",
|
||||
"reanalyze": "重新分析",
|
||||
"reanalyze_result": "新分析结果",
|
||||
"reanalyze_insufficient_data": "数据不足,无法生成建议",
|
||||
"data_points": "个数据点",
|
||||
"dismiss_suggestion": "忽略",
|
||||
"confidence_low": "低",
|
||||
"confidence_medium": "中",
|
||||
"confidence_high": "高",
|
||||
"recommended": "推荐",
|
||||
"seasonal_awareness": "季节性感知",
|
||||
"edit_seasonal_overrides": "编辑季节性修正系数",
|
||||
"seasonal_overrides_title": "季节性修正系数 (覆盖)",
|
||||
"seasonal_overrides_hint": "每月系数 (0.1–5.0)。留空则自动学习。",
|
||||
"seasonal_override_invalid": "无效数值",
|
||||
"seasonal_override_range": "系数必须介于 0.1 到 5.0 之间",
|
||||
"clear_all": "全部清除",
|
||||
"seasonal_chart_title": "季节性因素",
|
||||
"seasonal_learned": "自动学习",
|
||||
"seasonal_manual": "手动设置",
|
||||
"month_jan": "一月",
|
||||
"month_feb": "二月",
|
||||
"month_mar": "三月",
|
||||
"month_apr": "四月",
|
||||
"month_may": "五月",
|
||||
"month_jun": "六月",
|
||||
"month_jul": "七月",
|
||||
"month_aug": "八月",
|
||||
"month_sep": "九月",
|
||||
"month_oct": "十月",
|
||||
"month_nov": "十一月",
|
||||
"month_dec": "十二月",
|
||||
"sensor_prediction": "传感器预测",
|
||||
"degradation_trend": "趋势",
|
||||
"trend_rising": "上升",
|
||||
"trend_falling": "下降",
|
||||
"trend_stable": "稳定",
|
||||
"trend_insufficient_data": "数据不足",
|
||||
"days_until_threshold": "距离阈值天数",
|
||||
"threshold_exceeded": "已超过阈值",
|
||||
"environmental_adjustment": "环境因子",
|
||||
"sensor_prediction_urgency": "传感器预测约 {days} 天后达到阈值",
|
||||
"day_short": "天",
|
||||
"weibull_reliability_curve": "韦伯可靠性曲线",
|
||||
"weibull_failure_probability": "故障概率",
|
||||
"weibull_r_squared": "拟合度 R²",
|
||||
"beta_early_failures": "早期失效",
|
||||
"beta_random_failures": "随机失效",
|
||||
"beta_wear_out": "耗损失效",
|
||||
"beta_highly_predictable": "高度可预测",
|
||||
"confidence_interval": "置信区间",
|
||||
"confidence_conservative": "保守",
|
||||
"confidence_aggressive": "进取",
|
||||
"current_interval_marker": "当前间隔",
|
||||
"recommended_marker": "推荐",
|
||||
"characteristic_life": "特征寿命",
|
||||
"chart_mini_sparkline": "趋势走势图",
|
||||
"chart_history": "成本与时长历史",
|
||||
"chart_seasonal": "12个月季节性因素图表",
|
||||
"chart_weibull": "韦伯可靠性曲线图表",
|
||||
"chart_sparkline": "传感器触发值图表",
|
||||
"days_progress": "天数进度",
|
||||
"qr_code": "二维码",
|
||||
"qr_generating": "正在生成二维码…",
|
||||
"qr_error": "无法生成二维码。",
|
||||
"qr_error_no_url": "未配置 HA URL。请前往“设置 → 系统 → 网络”设置外部或内部 URL。",
|
||||
"save_error": "保存失败。请重试。",
|
||||
"qr_print": "打印",
|
||||
"qr_download": "下载 SVG",
|
||||
"qr_action": "扫码后动作",
|
||||
"qr_action_view": "查看维护信息",
|
||||
"qr_action_complete": "标记维护为已完成",
|
||||
"qr_url_mode": "链接类型",
|
||||
"qr_mode_companion": "Companion App",
|
||||
"qr_mode_local": "本地 (mDNS)",
|
||||
"qr_mode_server": "服务器 URL",
|
||||
"overview": "概览",
|
||||
"analysis": "分析",
|
||||
"recent_activities": "近期活动",
|
||||
"search_notes": "搜索备注",
|
||||
"avg_cost": "平均成本",
|
||||
"no_advanced_features": "未启用高级功能",
|
||||
"no_advanced_features_hint": "请在集成设置中启用“自适应间隔”或“季节性模式”以在此查看分析数据。",
|
||||
"analysis_not_enough_data": "暂无足够的分析数据。",
|
||||
"analysis_not_enough_data_hint": "韦伯分析需要至少 5 次完成记录;季节性模式在每月有 6 个以上数据点后可见。",
|
||||
"analysis_manual_task_hint": "无间隔的手动任务不会生成分析数据。",
|
||||
"completions": "次完成记录",
|
||||
"current": "当前",
|
||||
"shorter": "较短",
|
||||
"longer": "较长",
|
||||
"normal": "正常",
|
||||
"disabled": "已禁用",
|
||||
"compound_logic": "组合逻辑",
|
||||
"compound": "组合(多个条件)",
|
||||
"compound_logic_and": "AND — 所有条件都需满足",
|
||||
"compound_logic_or": "OR — 任一条件即可",
|
||||
"compound_help": "将多个传感器条件组合成一个触发器。",
|
||||
"compound_no_conditions": "还没有条件 — 至少添加一个。",
|
||||
"compound_add_condition": "添加条件",
|
||||
"compound_condition": "条件",
|
||||
"compound_remove_condition": "删除条件",
|
||||
"card_title": "标题",
|
||||
"card_show_header": "显示统计信息页眉",
|
||||
"card_show_actions": "显示操作按钮",
|
||||
"card_compact": "紧凑模式",
|
||||
"card_max_items": "最大显示项 (0 = 全部)",
|
||||
"card_filter_status": "按状态过滤",
|
||||
"card_filter_status_help": "留空则显示所有状态。",
|
||||
"card_filter_objects": "按维护项过滤",
|
||||
"card_filter_objects_help": "留空则显示所有维护项。",
|
||||
"card_filter_entities": "按实体过滤 (entity_ids)",
|
||||
"card_filter_entities_help": "选择该集成的传感器或二进制传感器实体。留空则显示全部。",
|
||||
"card_loading_objects": "正在加载维护项…",
|
||||
"card_load_error": "无法加载维护项 — 请检查 WebSocket 连接。",
|
||||
"card_no_tasks_title": "暂无维护任务",
|
||||
"card_no_tasks_cta": "→ 请前往维护面板创建",
|
||||
"no_objects": "暂无维护项。",
|
||||
"action_error": "操作失败。请重试。",
|
||||
"area_id_optional": "区域 (可选)",
|
||||
"installation_date_optional": "安装日期 (可选)",
|
||||
"warranty_expiry_optional": "保修到期 (可选)",
|
||||
"warranty": "保修",
|
||||
"warranty_valid_until": "有效期至 {date}",
|
||||
"warranty_expires_in": "{days} 天后到期",
|
||||
"warranty_expired": "已过期",
|
||||
"cal_past_windows": "过去的窗口",
|
||||
"cal_forward_windows": "未来的窗口",
|
||||
"history_edit_title": "编辑历史记录",
|
||||
"history_edit_timestamp": "时间戳",
|
||||
"manufacturer": "制造商",
|
||||
"model": "型号",
|
||||
"area": "区域",
|
||||
"actions": "操作",
|
||||
"view_mode_label": "视图",
|
||||
"view_cards": "卡片视图",
|
||||
"view_table": "表格视图",
|
||||
"objects_table_columns_label": "对象表格列",
|
||||
"objects_table_columns_hint": "选择对象表格视图中显示的列。",
|
||||
"custom_icon_optional": "图标 (可选,例如 mdi:wrench)",
|
||||
"task_enabled": "任务已启用",
|
||||
"skip_reason_prompt": "跳过此任务?",
|
||||
"reason_optional": "原因 (可选)",
|
||||
"reset_date_prompt": "标记任务为已执行?",
|
||||
"reset_date_optional": "最后执行日期 (可选,默认为今天)",
|
||||
"notes_label": "备注",
|
||||
"documentation_label": "文档",
|
||||
"no_nfc_tag": "— 无标签 —",
|
||||
"dashboard": "仪表盘",
|
||||
"tab_today": "今天",
|
||||
"palette_placeholder": "搜索对象和任务…",
|
||||
"palette_no_results": "无匹配",
|
||||
"palette_hint": "↑↓ 导航 · Enter 打开 · Esc 关闭",
|
||||
"today_all_caught_up": "全部完成!本周没有待办。",
|
||||
"today_overdue": "逾期",
|
||||
"today_due_today": "今天到期",
|
||||
"today_this_week": "本周",
|
||||
"settings": "设置",
|
||||
"settings_features": "高级功能",
|
||||
"settings_features_desc": "启用或禁用高级功能。禁用将从界面隐藏相关功能,但不会删除数据。",
|
||||
"feat_adaptive": "自适应计划",
|
||||
"feat_adaptive_desc": "根据维护历史学习最佳间隔",
|
||||
"feat_predictions": "传感器预测",
|
||||
"feat_predictions_desc": "根据传感器损耗趋势预测触发日期",
|
||||
"feat_seasonal": "季节性调整",
|
||||
"feat_seasonal_desc": "根据季节性模式自动调整间隔",
|
||||
"feat_environmental": "环境关联",
|
||||
"feat_environmental_desc": "将维护间隔与温度或湿度关联",
|
||||
"feat_budget": "预算追踪",
|
||||
"feat_budget_desc": "追踪月度及年度维护支出",
|
||||
"feat_groups": "任务组",
|
||||
"feat_groups_desc": "将任务组织进逻辑组",
|
||||
"feat_checklists": "检查清单",
|
||||
"feat_checklists_desc": "为任务完成提供多步骤操作流程",
|
||||
"settings_general": "常规",
|
||||
"settings_default_warning": "默认预警天数",
|
||||
"settings_panel_enabled": "侧边栏面板",
|
||||
"settings_panel_title": "侧边栏面板标题",
|
||||
"settings_notifications": "通知",
|
||||
"settings_notify_service": "通知服务",
|
||||
"test_notification": "测试通知",
|
||||
"send_test": "发送测试",
|
||||
"testing": "正在发送…",
|
||||
"test_notification_success": "测试通知已发送",
|
||||
"test_notification_failed": "测试通知发送失败",
|
||||
"settings_notify_due_soon": "到期前通知提醒",
|
||||
"settings_notify_overdue": "超期后通知提醒",
|
||||
"settings_notify_triggered": "触发时通知提醒",
|
||||
"settings_interval_hours": "重复提醒间隔 (小时,0 = 仅一次)",
|
||||
"settings_quiet_hours": "静默时段",
|
||||
"settings_quiet_start": "开始时间",
|
||||
"settings_quiet_end": "结束时间",
|
||||
"settings_max_per_day": "每日最高通知次数 (0 = 不限)",
|
||||
"settings_bundling": "合并通知",
|
||||
"settings_bundle_threshold": "合并阈值",
|
||||
"settings_reminder_leads": "Extra reminders (days before due)",
|
||||
"settings_reminder_leads_hint": "Comma-separated lead times, e.g. 14, 3, 0 — one extra reminder fires on each matching day. Empty = off.",
|
||||
"settings_actions": "移动端操作按钮",
|
||||
"settings_action_complete": "显示“完成”按钮",
|
||||
"settings_action_skip": "显示“跳过”按钮",
|
||||
"settings_action_snooze": "显示“稍后”按钮",
|
||||
"settings_weekly_digest": "每周摘要",
|
||||
"settings_weekly_digest_hint": "当有待办任务时,周一早上发送一条汇总通知。",
|
||||
"settings_warranty_reminder": "Warranty expiry reminder",
|
||||
"settings_warranty_reminder_days": "Days before expiry",
|
||||
"settings_warranty_reminder_hint": "Notify once when an object's warranty is this many days from expiring.",
|
||||
"settings_snooze_hours": "稍后提醒间隔 (小时)",
|
||||
"settings_budget": "预算",
|
||||
"settings_currency": "货币单位",
|
||||
"settings_budget_monthly": "月度预算",
|
||||
"settings_budget_yearly": "年度预算",
|
||||
"settings_budget_alerts": "预算警报",
|
||||
"settings_budget_threshold": "警报阈值 (%)",
|
||||
"settings_import_export": "导入 / 导出",
|
||||
"settings_export_json": "导出 JSON",
|
||||
"settings_export_yaml": "导出 YAML",
|
||||
"settings_export_csv": "导出 CSV",
|
||||
"settings_import_csv": "导入 CSV",
|
||||
"settings_import_placeholder": "在此粘贴 JSON 或 CSV 内容…",
|
||||
"settings_import_btn": "导入",
|
||||
"settings_import_success": "成功导入 {count} 个维护项。",
|
||||
"settings_export_success": "导出已下载。",
|
||||
"settings_saved": "设置已保存。",
|
||||
"settings_include_history": "包含历史记录",
|
||||
"sort_alphabetical": "字母排序",
|
||||
"sort_due_soonest": "最近到期",
|
||||
"sort_task_count": "任务数量",
|
||||
"sort_area": "区域",
|
||||
"sort_assigned_user": "负责人",
|
||||
"sort_group": "任务组",
|
||||
"groupby_none": "不分组",
|
||||
"groupby_area": "按区域分组",
|
||||
"groupby_group": "按分组",
|
||||
"groupby_user": "按负责人",
|
||||
"filter_label": "过滤器",
|
||||
"user_label": "用户",
|
||||
"sort_label": "排序",
|
||||
"group_by_label": "分组依据",
|
||||
"state_value_help": "使用 HA 状态值(通常为小写,例如 \"on\"/\"off\")。保存时大小写会自动规范化。",
|
||||
"target_changes_help": "触发前需要满足的状态转换次数(默认为 1)。",
|
||||
"qr_print_title": "打印二维码",
|
||||
"qr_print_desc": "生成一张包含多个二维码的可打印页面,方便裁剪并贴在设备上。",
|
||||
"qr_print_load": "加载设备",
|
||||
"qr_print_filter": "过滤器",
|
||||
"qr_print_objects": "设备",
|
||||
"qr_print_actions": "动作",
|
||||
"qr_print_url_mode": "链接类型",
|
||||
"qr_print_estimate": "预计二维码数量",
|
||||
"qr_print_over_limit": "上限为 200,请缩小过滤范围",
|
||||
"qr_print_generate": "生成二维码",
|
||||
"qr_print_generating": "正在生成…",
|
||||
"qr_print_ready": "二维码已就绪",
|
||||
"qr_print_print_button": "打印",
|
||||
"qr_print_empty": "无内容可生成",
|
||||
"qr_action_skip": "跳过",
|
||||
"vacation_title": "度假模式",
|
||||
"vacation_active": "已激活",
|
||||
"vacation_ended": "已结束",
|
||||
"vacation_desc": "计划假期:在此时段及设定的缓冲天数内将暂停通知。您可以为特定任务设置例外。",
|
||||
"vacation_enable": "开启度假模式",
|
||||
"vacation_start": "开始日期",
|
||||
"vacation_end": "结束日期",
|
||||
"vacation_buffer": "缓冲(天)",
|
||||
"vacation_exempt_title": "度假期间仍保持通知的任务",
|
||||
"vacation_exempt_desc": "选择在假期中仍需接收通知的任务(例如关键的水池维护)。",
|
||||
"vacation_load_tasks": "加载任务",
|
||||
"vacation_preview_btn": "显示预览",
|
||||
"vacation_preview_affected": "受影响的任务",
|
||||
"vacation_event_due_soon": "即将到期",
|
||||
"vacation_event_overdue": "将超期",
|
||||
"vacation_event_triggered_est": "可能触发传感器",
|
||||
"vacation_sensor_based": "(基于传感器)",
|
||||
"vacation_action_notify": "依然通知",
|
||||
"vacation_action_unsilence": "恢复静默",
|
||||
"vacation_marked_complete": "已标记为完成",
|
||||
"vacation_marked_skip": "已跳过",
|
||||
"vacation_end_now": "立即结束度假",
|
||||
"add": "添加",
|
||||
"show_stats": "显示统计与图表",
|
||||
"hide_stats": "隐藏统计",
|
||||
"adaptive_no_data": "尚无足够的完成记录用于自适应分析。请完成此任务几次,以解锁间隔建议和可靠性图表。",
|
||||
"suggestion_applied": "已应用建议间隔",
|
||||
"vacation_mode": "度假模式",
|
||||
"vacation_status_active": "当前激活",
|
||||
"vacation_status_scheduled": "已计划",
|
||||
"vacation_status_inactive": "未激活",
|
||||
"vacation_end_now_confirm": "确定立即结束度假吗?",
|
||||
"vacation_exempt_count": "例外项",
|
||||
"vacation_advanced": "高级选项…",
|
||||
"vacation_open_panel": "在面板中打开",
|
||||
"enable": "启用",
|
||||
"saved": "已保存",
|
||||
"budget_monthly_set": "设置月度预算",
|
||||
"budget_yearly_set": "设置年度预算",
|
||||
"budget_advanced": "货币、预警…",
|
||||
"budget_open_panel": "在面板中打开",
|
||||
"groups_empty": "尚无分组。",
|
||||
"group_new_placeholder": "添加分组…",
|
||||
"group_delete_confirm": "确定删除分组 \"{name}\" 吗?",
|
||||
"groups_manage_tasks": "管理任务分配…",
|
||||
"groups_open_panel": "在面板中打开",
|
||||
"unassigned": "未分配",
|
||||
"no_area": "无区域",
|
||||
"has_overdue": "有超期任务",
|
||||
"object": "设备",
|
||||
"settings_panel_access": "面板访问权限",
|
||||
"settings_panel_access_desc": "管理员始终拥有完整访问权限。要将创建、编辑和删除权限委派给特定的普通用户,请开启此项并在下方选择他们 — 其他用户将仅能看到“完成”和“跳过”。",
|
||||
"settings_operator_write": "允许所选用户创建、编辑和删除",
|
||||
"settings_operator_write_desc": "关闭时:仅管理员可修改内容。开启时:下方所选用户也获得完整访问权限。",
|
||||
"no_non_admin_users": "未找到普通用户。请在“设置 -> 人员”中添加。",
|
||||
"owner_label": "所有者",
|
||||
"feat_completion_actions": "完成动作",
|
||||
"feat_completion_actions_desc": "为每个任务配置完成时的 HA 动作 + 预设值的快速完成二维码。",
|
||||
"on_complete_action_title": "完成时:触发 HA 动作(可选)",
|
||||
"on_complete_action_desc": "任务完成时调用 HA 服务 — 例如重置设备上的物理计数器。",
|
||||
"on_complete_action_service": "服务",
|
||||
"on_complete_action_target": "目标实体",
|
||||
"on_complete_action_target_hint": "注意:实体的域必须与服务匹配 — 例如 'button.press' 仅适用于 button.* 实体,'counter.increment' 仅适用于 counter.* 实体等。如果不匹配,动作将静默失败。",
|
||||
"on_complete_action_data": "数据(JSON, 可选)",
|
||||
"on_complete_action_test": "验证配置",
|
||||
"on_complete_action_test_success": "✓ 配置有效(动作将在任务完成时触发)",
|
||||
"on_complete_action_test_failed": "失败",
|
||||
"quick_complete_defaults_title": "快速完成默认值(用于二维码扫描, 可选)",
|
||||
"quick_complete_defaults_desc": "扫描快速完成二维码时使用的预设值。如果不设置,二维码将打开完成对话框。",
|
||||
"quick_complete_defaults_notes": "备注",
|
||||
"quick_complete_defaults_cost": "费用",
|
||||
"quick_complete_defaults_duration": "耗时(分钟)",
|
||||
"quick_complete_defaults_feedback_none": "无反馈",
|
||||
"quick_complete_defaults_feedback_needed": "是必要的",
|
||||
"quick_complete_defaults_feedback_not_needed": "不必要的",
|
||||
"quick_complete_success": "已快速标记为完成",
|
||||
"show_all_objects": "显示所有设备",
|
||||
"show_all_tasks": "清除过滤 — 显示所有任务",
|
||||
"filter_to_overdue": "仅显示超期任务",
|
||||
"filter_to_due_soon": "仅显示即将到期任务",
|
||||
"filter_to_triggered": "仅显示已触发任务",
|
||||
"open_task": "打开任务",
|
||||
"show_details": "显示历史与统计",
|
||||
"hide_details": "隐藏详情",
|
||||
"history_empty": "尚无历史记录。",
|
||||
"history_edit_button": "编辑条目",
|
||||
"total_cost": "总计费用",
|
||||
"times_performed": "执行次数",
|
||||
"older_entries": "更早的条目",
|
||||
"open_in_panel": "在维护面板中打开",
|
||||
"skip_reason": "跳过原因(可选)",
|
||||
"reset_to_date": "重置最后执行日期为",
|
||||
"delete_task_confirm": "确定删除此任务及其历史记录吗?",
|
||||
"delete_object_confirm": "确定删除此设备及其所有任务吗?",
|
||||
"loading": "加载中…",
|
||||
"archive": "归档",
|
||||
"undo": "撤销",
|
||||
"task_archived": "任务已归档",
|
||||
"object_archived": "对象已归档",
|
||||
"unarchive": "取消归档",
|
||||
"archived": "已归档",
|
||||
"show_archived": "显示已归档",
|
||||
"hide_archived": "隐藏已归档",
|
||||
"confirm_archive_object": "归档此对象及其任务?历史记录将保留,以后可恢复。",
|
||||
"settings_archive": "归档与保留",
|
||||
"settings_archive_desc": "将已完成的一次性任务归档而不删除。已归档项目会被隐藏且不再活动,但保留其历史记录和费用。",
|
||||
"settings_archive_oneoff_days": "已完成的一次性任务在多少天后自动归档(0 = 关闭)",
|
||||
"settings_delete_archived_oneoff_days": "已归档的一次性任务在多少天后自动删除(0 = 永不)",
|
||||
"archive_object": "归档对象",
|
||||
"unarchive_object": "取消归档对象",
|
||||
"documents": "文档",
|
||||
"documents_empty": "暂无文档。",
|
||||
"doc_upload": "上传文件",
|
||||
"doc_uploading": "上传中…",
|
||||
"doc_add_link": "添加链接",
|
||||
"doc_link_url": "网址 (https://…)",
|
||||
"doc_link_title": "标题(可选)",
|
||||
"doc_open": "打开",
|
||||
"doc_delete_confirm": "删除“{name}”?",
|
||||
"doc_too_large": "文件过大(最大 25 MB)。",
|
||||
"doc_upload_failed": "上传失败。",
|
||||
"completion_photo_optional": "Completion photo (optional)",
|
||||
"add_photo": "Add photo",
|
||||
"uploading": "Uploading…",
|
||||
"remove": "Remove",
|
||||
"doc_deduped": "已在别处存储——共享,不占用额外空间。",
|
||||
"doc_dup_in_object": "此文件已附加到该对象。",
|
||||
"doc_link_invalid": "仅允许 http/https 链接。",
|
||||
"doc_cat_manual": "手册",
|
||||
"doc_cat_warranty": "保修",
|
||||
"doc_cat_invoice": "发票",
|
||||
"doc_cat_spare_parts": "备件",
|
||||
"doc_cat_photo": "照片",
|
||||
"doc_cat_other": "其他",
|
||||
"doc_link_badge": "链接",
|
||||
"doc_storage_title": "文档存储",
|
||||
"doc_storage_saved": "通过去重节省",
|
||||
"doc_storage_refresh": "刷新",
|
||||
"doc_download": "下载",
|
||||
"doc_close": "关闭",
|
||||
"doc_camera": "拍照",
|
||||
"doc_drop_hint": "将文件拖放到此处",
|
||||
"doc_task_none": "没有与此任务关联的文档。",
|
||||
"doc_link_existing": "关联文档…",
|
||||
"doc_attach": "关联",
|
||||
"doc_unlink": "取消关联",
|
||||
"doc_page": "页码",
|
||||
"chart_range_7d": "7天",
|
||||
"chart_range_30d": "30天",
|
||||
"chart_range_90d": "90天",
|
||||
"chart_range_1y": "1年",
|
||||
"chart_since_service": "自上次维护以来",
|
||||
"chart_no_stats": "此实体没有长期统计数据 — 仅显示维护记录中的数值",
|
||||
"auto_complete_on_recovery": "传感器恢复时自动完成",
|
||||
"auto_complete_on_recovery_help": "当触发条件自行解除时(如已加盐、已更换滤芯),记录一次完成并更新上次执行日期。",
|
||||
"doc_search": "搜索文档…",
|
||||
"doc_search_none": "没有匹配的文档",
|
||||
"link_device_optional": "关联到现有设备(可选)",
|
||||
"parent_object_optional": "父对象(可选)",
|
||||
"parent_none": "(无父对象)",
|
||||
"paused": "已暂停",
|
||||
"pause_object": "暂停",
|
||||
"resume_object": "恢复",
|
||||
"pause_until_prompt": "冻结此对象的日程——在恢复之前不会有任何到期或通知。可选设置自动恢复日期。",
|
||||
"pause_until_label": "恢复日期(可选)",
|
||||
"object_paused": "对象已暂停",
|
||||
"object_resumed": "对象已恢复——日程已重新开始",
|
||||
"object_paused_badge": "已暂停",
|
||||
"paused_until_label": "至",
|
||||
"replace_object": "更换…",
|
||||
"replace_object_prompt": "让此对象退役并创建继任者。历史和费用留在旧对象的归档中;任务和文档转移到新对象,计数器重新开始。",
|
||||
"replace_name_label": "继任者名称",
|
||||
"object_replaced": "对象已更换——已创建继任者",
|
||||
"reading_unit_label": "读数单位(如 kWh、m³)",
|
||||
"reading_unit_help": "完成此任务时显示在记录值旁边。",
|
||||
"reading_value_label": "读数值",
|
||||
"reading_label": "读数",
|
||||
"settings_templates_label": "模板库",
|
||||
"settings_templates_hint": "取消勾选你永远不需要的模板——它们会从\"从模板\"选择器(面板和配置流程)中消失。其他一切不变;可随时重新启用。",
|
||||
"worksheet": "工作单",
|
||||
"worksheet_scan_view": "扫码打开任务",
|
||||
"worksheet_scan_complete": "扫码完成",
|
||||
"worksheet_manual_excerpt": "手册摘录",
|
||||
"worksheet_pages": "页",
|
||||
"worksheet_printed": "打印于",
|
||||
"worksheet_never": "从未"
|
||||
}
|
||||
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
@@ -0,0 +1 @@
|
||||
var d="maintenance-supporter",C=`ll-strategy-dashboard-${d}`,L="hui-maintenance-supporter-strategy-editor",D="/maintenance_supporter_strategy/maintenance-dashboard-strategy.js",m=null;function k(){return m||(m=import(D)),m}async function N(){let r=await k();if(!r.MaintenanceDashboardStrategy)throw new Error("[maintenance-supporter] strategy bundle loaded but did not export MaintenanceDashboardStrategy");return r.MaintenanceDashboardStrategy}var p=class extends HTMLElement{static getCreateSuggestions(c){return{title:"Maintenance Supporter",icon:"mdi:wrench-clock"}}static async getConfigElement(){return await k(),document.createElement(L)}static async generate(c,h){return(await N()).generate(c,h)}};function M(){try{customElements.define(C,p)}catch{}}M();var w=window;w.customStrategies=w.customStrategies||[];w.customStrategies.some(r=>r.type===d&&r.strategyType==="dashboard")||w.customStrategies.push({type:d,strategyType:"dashboard",name:"Maintenance Supporter",description:"Auto-generated dashboard. Group views by area, status, floor, or due date \u2014 picked from the strategy editor or YAML.",documentationURL:"https://github.com/iluebbe/maintenance_supporter#dashboard-strategy"});(()=>{let r=window;if(r.__msStrategyHealActive)return;r.__msStrategyHealActive=!0;let c=/^\/(auth|config|developer-tools|profile|hassio|history|logbook|map|media-browser|energy|todo|calendar)\b/,h=/Timeout waiting for strategy element ll-strategy-(dashboard-)?maintenance-supporter/i,g=`custom:${d}`;function E(a){let t=[document.documentElement],n=0;for(;t.length&&n<9e3;){let o=t.pop();if(n++,!o)continue;let e=o;if(e.nodeType===1&&e.tagName&&e.tagName.toLowerCase()===a)return e;e.shadowRoot&&t.push(e.shadowRoot);let i=o.children;if(i)for(let l of Array.from(i))t.push(l)}return null}function S(a){let t=a?.views;if(!Array.isArray(t)||!t.length)return null;let n=window.location.pathname.split("/").filter(Boolean).pop()||"",o=t.find(i=>i?.path===n);if(o)return o;let e=Number(n);return Number.isInteger(e)&&t[e]?t[e]:t[0]}function R(){try{let t=E("ha-panel-lovelace")?.lovelace;if(!t)return!1;let n=o=>o?.type;for(let o of[t.config,t.rawConfig]){if(!o)continue;if(n(o.strategy)===g)return!0;let e=S(o);if(e&&n(e.strategy)===g)return!0}return!1}catch{return!1}}function _(){let a=!1,t=0,n=!1,o=!1,e=[document.documentElement],i=0;for(;e.length&&i<9e3;){let l=e.pop();if(i++,!l)continue;let u=l;if(u.nodeType===1&&u.tagName){let s=u.tagName.toLowerCase();(s==="hui-view"||s==="hui-sections-view")&&(a=!0),(s==="ha-card"||s==="hui-card")&&t++,s==="hui-empty-state-card"&&(o=!0),s==="hui-error-card"&&h.test(u.textContent||"")&&(n=!0)}u.shadowRoot&&e.push(u.shadowRoot);let b=l.children;if(b)for(let s of Array.from(b))e.push(s)}return n?!0:o?!1:a&&t<3&&R()}let A="/maintenance_supporter_strategy_shim.js",y=0,v=0;function T(){let a=Date.now();a-v<5e3||y>=3||(v=a,y+=1,import(`${A}?heal=${a}`).catch(()=>{}).finally(()=>{let t=window.location.pathname+window.location.search;history.pushState(null,"","/lovelace"),window.dispatchEvent(new CustomEvent("location-changed")),window.setTimeout(()=>{history.pushState(null,"",t),window.dispatchEvent(new CustomEvent("location-changed"))},200)}))}function f(){if(c.test(window.location.pathname))return;let a=0,t=Date.now(),n=window.setInterval(()=>{a++;try{if(Date.now()-t<6e3)return;if(c.test(window.location.pathname)){window.clearInterval(n);return}_()?T():window.clearInterval(n),a>=30&&window.clearInterval(n)}catch{window.clearInterval(n)}},500)}try{document.readyState==="loading"?window.addEventListener("DOMContentLoaded",f):f(),window.addEventListener("location-changed",()=>{c.test(window.location.pathname)||f()})}catch{}})();
|
||||
+125
@@ -0,0 +1,125 @@
|
||||
import{a as f}from"./chunk-6EEEWEML.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-2LLDFX26.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`
|
||||
<ha-card>
|
||||
<div class="card-content">
|
||||
<div class="header">
|
||||
<div class="title">
|
||||
<span class="emoji">💰</span>
|
||||
<span>${this._config.title||a("settings_budget",t)||"Budget"}</span>
|
||||
</div>
|
||||
<span class="currency">${r}</span>
|
||||
</div>
|
||||
|
||||
${this._error?o`<div class="error">${this._error}</div>`:b}
|
||||
|
||||
<div class="track">
|
||||
<div class="track-label-row">
|
||||
<label>${a("budget_monthly",t)||"Monthly"}</label>
|
||||
<span class="track-numbers ${u}">
|
||||
${(e.monthly_spent||0).toFixed(0)} / ${(e.monthly_budget||0).toFixed(0)} ${r}
|
||||
</span>
|
||||
</div>
|
||||
<div class="bar"><div class="bar-fill ${u}" style="width:${l}%"></div></div>
|
||||
</div>
|
||||
|
||||
<div class="track">
|
||||
<div class="track-label-row">
|
||||
<label>${a("budget_yearly",t)||"Yearly"}</label>
|
||||
<span class="track-numbers ${y}">
|
||||
${(e.yearly_spent||0).toFixed(0)} / ${(e.yearly_budget||0).toFixed(0)} ${r}
|
||||
</span>
|
||||
</div>
|
||||
<div class="bar"><div class="bar-fill ${y}" style="width:${d}%"></div></div>
|
||||
</div>
|
||||
|
||||
${this._isAdmin?o`
|
||||
<div class="inputs-row">
|
||||
<div class="input-field">
|
||||
<label>${a("budget_monthly_set",t)||"Set monthly"}</label>
|
||||
<div class="input-wrap">
|
||||
<input type="number" min="0" step="1"
|
||||
.value=${this._localMonthly}
|
||||
?disabled=${this._busy}
|
||||
@input=${c=>{this._localMonthly=c.target.value,this._dirty=!0}} />
|
||||
<span class="input-suffix">${r}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-field">
|
||||
<label>${a("budget_yearly_set",t)||"Set yearly"}</label>
|
||||
<div class="input-wrap">
|
||||
<input type="number" min="0" step="1"
|
||||
.value=${this._localYearly}
|
||||
?disabled=${this._busy}
|
||||
@input=${c=>{this._localYearly=c.target.value,this._dirty=!0}} />
|
||||
<span class="input-suffix">${r}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<button class="btn ${this._dirty?"primary":"muted"}"
|
||||
@click=${this._save}
|
||||
?disabled=${this._busy||!this._dirty}>
|
||||
<ha-icon icon="${this._dirty?"mdi:content-save":"mdi:check"}"></ha-icon>
|
||||
${this._dirty?a("save",t)||"Save":a("saved",t)||"Saved"}
|
||||
</button>
|
||||
<button class="btn link" @click=${this._onDeepLink}>
|
||||
${a("budget_advanced",t)||"Currency, alerts\u2026"}
|
||||
</button>
|
||||
</div>
|
||||
`:o`
|
||||
<button class="btn link" @click=${this._onDeepLink}>
|
||||
${a("budget_open_panel",t)||"Open in panel"}
|
||||
</button>
|
||||
`}
|
||||
</div>
|
||||
</ha-card>
|
||||
`}};s.styles=[f,h`
|
||||
.currency {
|
||||
font-size: 14px; font-weight: 600;
|
||||
color: var(--secondary-text-color);
|
||||
background: var(--secondary-background-color);
|
||||
padding: 2px 10px; border-radius: 999px;
|
||||
}
|
||||
.track { display: flex; flex-direction: column; gap: 4px; }
|
||||
.track-label-row {
|
||||
display: flex; align-items: center; justify-content: space-between;
|
||||
}
|
||||
.track-label-row label {
|
||||
font-size: 12px; color: var(--secondary-text-color);
|
||||
text-transform: uppercase; letter-spacing: 0.5px;
|
||||
}
|
||||
.track-numbers { font-size: 13px; font-weight: 600; }
|
||||
.track-numbers.ok { color: var(--primary-text-color); }
|
||||
.track-numbers.warning { color: #ff9800; }
|
||||
.track-numbers.danger { color: var(--error-color, #f44336); }
|
||||
.bar {
|
||||
height: 6px; background: var(--secondary-background-color);
|
||||
border-radius: 3px; overflow: hidden;
|
||||
}
|
||||
.bar-fill { height: 100%; transition: width 0.3s; border-radius: 3px; }
|
||||
.bar-fill.ok { background: var(--primary-color); }
|
||||
.bar-fill.warning { background: #ff9800; }
|
||||
.bar-fill.danger { background: var(--error-color, #f44336); }
|
||||
.inputs-row {
|
||||
display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
|
||||
padding-top: 4px; border-top: 1px solid var(--divider-color);
|
||||
}
|
||||
.input-field { display: flex; flex-direction: column; gap: 4px; }
|
||||
.input-field label {
|
||||
font-size: 11px; color: var(--secondary-text-color);
|
||||
text-transform: uppercase; letter-spacing: 0.3px;
|
||||
}
|
||||
.input-wrap { position: relative; display: flex; align-items: center; }
|
||||
.input-wrap input {
|
||||
flex: 1; padding: 6px 32px 6px 8px; font-size: 13px;
|
||||
background: var(--secondary-background-color, #2c2c2c);
|
||||
color: var(--primary-text-color);
|
||||
border: 1px solid var(--divider-color); border-radius: 6px;
|
||||
font-family: inherit;
|
||||
}
|
||||
.input-suffix {
|
||||
position: absolute; right: 8px;
|
||||
color: var(--secondary-text-color); font-size: 13px;
|
||||
pointer-events: none;
|
||||
}
|
||||
.actions { display: flex; gap: 8px; align-items: center; }
|
||||
`],i([g({attribute:!1})],s.prototype,"hass",2),i([n()],s.prototype,"_config",2),i([n()],s.prototype,"_status",2),i([n()],s.prototype,"_busy",2),i([n()],s.prototype,"_error",2),i([n()],s.prototype,"_localMonthly",2),i([n()],s.prototype,"_localYearly",2),i([n()],s.prototype,"_dirty",2);customElements.get("maintenance-budget-section-card")||customElements.define("maintenance-budget-section-card",s);window.customCards=window.customCards||[];window.customCards.push({type:"maintenance-budget-section-card",name:"Maintenance Supporter \u2014 Budget",description:"Inline monthly + yearly budget editor",preview:!1});export{s as MaintenanceBudgetSectionCard};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,59 @@
|
||||
import{a as r}from"./chunk-2LLDFX26.js";var a=r`
|
||||
ha-card { overflow: hidden; }
|
||||
.card-content {
|
||||
padding: 16px;
|
||||
display: flex; flex-direction: column;
|
||||
gap: 12px;
|
||||
}
|
||||
.header {
|
||||
display: flex; align-items: center; justify-content: space-between;
|
||||
gap: 12px;
|
||||
}
|
||||
.title {
|
||||
display: flex; align-items: center; gap: 8px;
|
||||
font-size: 16px; font-weight: 500;
|
||||
}
|
||||
.emoji { font-size: 20px; }
|
||||
|
||||
/* Button family — primary action / muted-saved-state / link / icon-with-text */
|
||||
.btn {
|
||||
padding: 6px 12px; font-size: 13px;
|
||||
border-radius: 6px; cursor: pointer;
|
||||
border: 1px solid var(--divider-color);
|
||||
background: var(--secondary-background-color, transparent);
|
||||
color: var(--primary-text-color);
|
||||
font-weight: 500;
|
||||
display: inline-flex; align-items: center; gap: 4px;
|
||||
}
|
||||
.btn:hover { background: var(--state-icon-color, rgba(255,255,255,0.06)); }
|
||||
.btn[disabled] { opacity: 0.5; cursor: not-allowed; }
|
||||
.btn.primary {
|
||||
background: var(--primary-color);
|
||||
color: var(--text-primary-color, white);
|
||||
border-color: var(--primary-color);
|
||||
}
|
||||
.btn.primary[disabled] { opacity: 0.6; }
|
||||
.btn.muted {
|
||||
background: transparent;
|
||||
color: var(--secondary-text-color);
|
||||
border-style: dashed;
|
||||
}
|
||||
.btn.muted[disabled] { opacity: 1; cursor: default; }
|
||||
.btn.muted ha-icon, .btn.primary ha-icon { --mdc-icon-size: 14px; }
|
||||
.btn.link {
|
||||
background: transparent; border: none; padding: 6px 4px;
|
||||
color: var(--primary-color); margin-left: auto;
|
||||
}
|
||||
.btn.link:hover { background: transparent; text-decoration: underline; }
|
||||
|
||||
/* Error + loading states */
|
||||
.error {
|
||||
padding: 8px; border-radius: 6px;
|
||||
background: rgba(211, 47, 47, 0.1);
|
||||
color: var(--error-color, #d32f2f); font-size: 13px;
|
||||
}
|
||||
.loading {
|
||||
padding: 24px; text-align: center;
|
||||
color: var(--secondary-text-color);
|
||||
}
|
||||
`;export{a};
|
||||
@@ -0,0 +1 @@
|
||||
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};
|
||||
+2203
File diff suppressed because one or more lines are too long
+136
@@ -0,0 +1,136 @@
|
||||
import{a as m}from"./chunk-6EEEWEML.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-2LLDFX26.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`
|
||||
<ha-card>
|
||||
<div class="card-content">
|
||||
<div class="header">
|
||||
<div class="title">
|
||||
<span class="emoji">🏷️</span>
|
||||
<span>${this._config.title||i("groups",t)||"Groups"}</span>
|
||||
<span class="count">${r.length}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
${this._error?s`<div class="error">${this._error}</div>`:l}
|
||||
|
||||
${r.length===0?s`<div class="empty">${i("groups_empty",t)||"No groups yet."}</div>`:s`
|
||||
<div class="group-list">
|
||||
${r.map(n=>{let d=this._groups[n],v=d.task_refs?.length??0,b=this._editingId===n;return s`
|
||||
<div class="group-row">
|
||||
${b?s`
|
||||
<input class="edit-input" type="text"
|
||||
.value=${this._editingName}
|
||||
?disabled=${this._busy}
|
||||
@input=${c=>{this._editingName=c.target.value}}
|
||||
@keydown=${c=>this._onKeyDown(c,this._saveEdit.bind(this))} />
|
||||
<button class="btn small primary"
|
||||
@click=${this._saveEdit}
|
||||
?disabled=${this._busy||!this._editingName.trim()}>
|
||||
${i("save",t)||"Save"}
|
||||
</button>
|
||||
<button class="btn small"
|
||||
@click=${()=>{this._editingId=null}}>
|
||||
${i("cancel",t)||"Cancel"}
|
||||
</button>
|
||||
`:s`
|
||||
<span class="group-name">${d.name||"Unnamed"}</span>
|
||||
<span class="task-count">${v}</span>
|
||||
${this._isAdmin?s`
|
||||
<button class="icon-btn"
|
||||
title="${i("edit",t)||"Edit"}"
|
||||
@click=${()=>this._startEdit(n)}
|
||||
?disabled=${this._busy}>
|
||||
<ha-icon icon="mdi:pencil"></ha-icon>
|
||||
</button>
|
||||
<button class="icon-btn danger"
|
||||
title="${i("delete",t)||"Delete"}"
|
||||
@click=${()=>this._deleteGroup(n,d.name||"Unnamed")}
|
||||
?disabled=${this._busy}>
|
||||
<ha-icon icon="mdi:delete"></ha-icon>
|
||||
</button>
|
||||
`:l}
|
||||
`}
|
||||
</div>
|
||||
`})}
|
||||
</div>
|
||||
`}
|
||||
|
||||
${this._isAdmin?s`
|
||||
<div class="add-row">
|
||||
<input type="text"
|
||||
placeholder="${i("group_new_placeholder",t)||"Add group\u2026"}"
|
||||
.value=${this._newName}
|
||||
?disabled=${this._busy}
|
||||
@input=${n=>{this._newName=n.target.value}}
|
||||
@keydown=${n=>this._onKeyDown(n,this._addGroup.bind(this))} />
|
||||
<button class="btn primary"
|
||||
@click=${this._addGroup}
|
||||
?disabled=${this._busy||!this._newName.trim()}>
|
||||
<ha-icon icon="mdi:plus"></ha-icon>
|
||||
${i("add",t)||"Add"}
|
||||
</button>
|
||||
</div>
|
||||
<button class="btn link" @click=${this._onDeepLink}>
|
||||
${i("groups_manage_tasks",t)||"Manage task assignments\u2026"}
|
||||
</button>
|
||||
`:s`
|
||||
<button class="btn link" @click=${this._onDeepLink}>
|
||||
${i("groups_open_panel",t)||"Open in panel"}
|
||||
</button>
|
||||
`}
|
||||
</div>
|
||||
</ha-card>
|
||||
`}};e.styles=[m,u`
|
||||
.count {
|
||||
font-size: 12px; color: var(--secondary-text-color);
|
||||
background: var(--secondary-background-color);
|
||||
padding: 2px 8px; border-radius: 999px;
|
||||
}
|
||||
.empty {
|
||||
padding: 16px; text-align: center;
|
||||
color: var(--secondary-text-color); font-style: italic;
|
||||
}
|
||||
.group-list { display: flex; flex-direction: column; gap: 4px; }
|
||||
.group-row {
|
||||
display: flex; align-items: center; gap: 8px;
|
||||
padding: 6px 8px; border-radius: 6px;
|
||||
background: var(--secondary-background-color, rgba(255,255,255,0.03));
|
||||
}
|
||||
.group-name { flex: 1; font-size: 14px; }
|
||||
.task-count {
|
||||
font-size: 11px; color: var(--secondary-text-color);
|
||||
background: var(--card-background-color, rgba(0,0,0,0.2));
|
||||
padding: 1px 8px; border-radius: 999px;
|
||||
font-weight: 500;
|
||||
}
|
||||
.edit-input {
|
||||
flex: 1; padding: 4px 8px; font-size: 14px;
|
||||
background: var(--card-background-color, #1c1c1c);
|
||||
color: var(--primary-text-color);
|
||||
border: 1px solid var(--primary-color); border-radius: 4px;
|
||||
font-family: inherit;
|
||||
}
|
||||
.icon-btn {
|
||||
background: transparent; border: none; cursor: pointer;
|
||||
color: var(--secondary-text-color); padding: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.icon-btn:hover {
|
||||
background: var(--state-icon-color, rgba(255,255,255,0.06));
|
||||
color: var(--primary-text-color);
|
||||
}
|
||||
.icon-btn.danger:hover { color: var(--error-color); }
|
||||
.icon-btn ha-icon { --mdc-icon-size: 18px; }
|
||||
.add-row {
|
||||
display: flex; gap: 6px;
|
||||
padding-top: 8px; border-top: 1px solid var(--divider-color);
|
||||
}
|
||||
.add-row input {
|
||||
flex: 1; padding: 6px 8px; font-size: 13px;
|
||||
background: var(--secondary-background-color, #2c2c2c);
|
||||
color: var(--primary-text-color);
|
||||
border: 1px solid var(--divider-color); border-radius: 6px;
|
||||
font-family: inherit;
|
||||
}
|
||||
/* Card-specific overrides on the shared .btn */
|
||||
.btn.small { padding: 4px 8px; font-size: 12px; }
|
||||
.btn ha-icon { --mdc-icon-size: 16px; }
|
||||
`],a([g({attribute:!1})],e.prototype,"hass",2),a([o()],e.prototype,"_config",2),a([o()],e.prototype,"_groups",2),a([o()],e.prototype,"_loaded",2),a([o()],e.prototype,"_busy",2),a([o()],e.prototype,"_error",2),a([o()],e.prototype,"_newName",2),a([o()],e.prototype,"_editingId",2),a([o()],e.prototype,"_editingName",2);customElements.get("maintenance-groups-section-card")||customElements.define("maintenance-groups-section-card",e);window.customCards=window.customCards||[];window.customCards.push({type:"maintenance-groups-section-card",name:"Maintenance Supporter \u2014 Groups",description:"Inline group CRUD",preview:!1});export{e as MaintenanceGroupsSectionCard};
|
||||
+121
@@ -0,0 +1,121 @@
|
||||
import{a as m}from"./chunk-6EEEWEML.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-2LLDFX26.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`
|
||||
<ha-card>
|
||||
<div class="card-content">
|
||||
<div class="header">
|
||||
<div class="title">
|
||||
<span class="emoji">🏖️</span>
|
||||
<span>${this._config.title||e("vacation_mode",t)||"Vacation mode"}</span>
|
||||
</div>
|
||||
<span class="status-pill ${g}">${b}</span>
|
||||
</div>
|
||||
|
||||
${this._error?n`<div class="error">${this._error}</div>`:c}
|
||||
|
||||
${this._isAdmin?n`
|
||||
<div class="row toggle-row">
|
||||
<label>${e("enable",t)||"Enable"}</label>
|
||||
<ha-switch
|
||||
.checked=${d}
|
||||
.disabled=${this._busy}
|
||||
@change=${o=>this._toggleEnabled(o.target.checked)}
|
||||
></ha-switch>
|
||||
</div>
|
||||
|
||||
<div class="dates-row">
|
||||
<div class="date-field">
|
||||
<label>${e("vacation_start",t)||"Start"}</label>
|
||||
<input type="date" .value=${this._localStart}
|
||||
?disabled=${this._busy}
|
||||
@input=${o=>{this._localStart=o.target.value,this._dirty=!0}} />
|
||||
</div>
|
||||
<div class="date-field">
|
||||
<label>${e("vacation_end",t)||"End"}</label>
|
||||
<input type="date" .value=${this._localEnd}
|
||||
?disabled=${this._busy}
|
||||
@input=${o=>{this._localEnd=o.target.value,this._dirty=!0}} />
|
||||
</div>
|
||||
<div class="date-field buffer">
|
||||
<label>${e("vacation_buffer",t)||"Buffer days"}</label>
|
||||
<input type="number" min="0" max="14"
|
||||
.value=${String(this._localBuffer)}
|
||||
?disabled=${this._busy}
|
||||
@input=${o=>{this._localBuffer=parseInt(o.target.value,10)||0,this._dirty=!0}} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="actions">
|
||||
<button class="btn ${this._dirty?"primary":"muted"}"
|
||||
@click=${this._save}
|
||||
?disabled=${this._busy||!this._dirty}>
|
||||
<ha-icon icon="${this._dirty?"mdi:content-save":"mdi:check"}"></ha-icon>
|
||||
${this._dirty?e("save",t)||"Save":e("saved",t)||"Saved"}
|
||||
</button>
|
||||
${p?n`<button class="btn"
|
||||
@click=${this._endNow}
|
||||
?disabled=${this._busy}>
|
||||
${e("vacation_end_now",t)||"End now"}
|
||||
</button>`:c}
|
||||
${u>0?n`<button class="btn link"
|
||||
@click=${this._onDeepLink}>
|
||||
${u} ${e("vacation_exempt_count",t)||"exempt"}…
|
||||
</button>`:n`<button class="btn link"
|
||||
@click=${this._onDeepLink}>
|
||||
${e("vacation_advanced",t)||"Advanced\u2026"}
|
||||
</button>`}
|
||||
</div>
|
||||
`:n`
|
||||
<div class="readonly">
|
||||
${d&&s.start&&s.end?n`<div>${s.start} → ${s.end}</div>`:c}
|
||||
<button class="btn link" @click=${this._onDeepLink}>
|
||||
${e("vacation_open_panel",t)||"Open in panel"}
|
||||
</button>
|
||||
</div>
|
||||
`}
|
||||
</div>
|
||||
</ha-card>
|
||||
`}};a.styles=[m,h`
|
||||
.status-pill {
|
||||
font-size: 11px; font-weight: 600;
|
||||
padding: 3px 8px; border-radius: 999px;
|
||||
text-transform: uppercase; letter-spacing: 0.5px;
|
||||
}
|
||||
.status-pill.active {
|
||||
background: rgba(76, 175, 80, 0.15);
|
||||
color: #4caf50;
|
||||
}
|
||||
.status-pill.scheduled {
|
||||
background: rgba(255, 152, 0, 0.15);
|
||||
color: #ff9800;
|
||||
}
|
||||
.status-pill.inactive {
|
||||
background: rgba(158, 158, 158, 0.15);
|
||||
color: var(--secondary-text-color);
|
||||
}
|
||||
.row.toggle-row {
|
||||
display: flex; align-items: center; justify-content: space-between;
|
||||
}
|
||||
.row.toggle-row label {
|
||||
font-size: 14px; color: var(--primary-text-color);
|
||||
}
|
||||
.dates-row {
|
||||
display: grid; grid-template-columns: 1fr 1fr 100px; gap: 10px;
|
||||
}
|
||||
.date-field.buffer label { white-space: nowrap; }
|
||||
.date-field { display: flex; flex-direction: column; gap: 4px; }
|
||||
.date-field label {
|
||||
font-size: 11px; color: var(--secondary-text-color);
|
||||
text-transform: uppercase; letter-spacing: 0.3px;
|
||||
}
|
||||
.date-field input {
|
||||
padding: 6px 8px; font-size: 13px;
|
||||
background: var(--secondary-background-color, #2c2c2c);
|
||||
color: var(--primary-text-color);
|
||||
border: 1px solid var(--divider-color); border-radius: 6px;
|
||||
font-family: inherit;
|
||||
}
|
||||
.date-field input:disabled { opacity: 0.5; cursor: not-allowed; }
|
||||
.actions {
|
||||
display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
|
||||
}
|
||||
.readonly { display: flex; flex-direction: column; gap: 8px; }
|
||||
`],i([v({attribute:!1})],a.prototype,"hass",2),i([r()],a.prototype,"_config",2),i([r()],a.prototype,"_state",2),i([r()],a.prototype,"_busy",2),i([r()],a.prototype,"_error",2),i([r()],a.prototype,"_localStart",2),i([r()],a.prototype,"_localEnd",2),i([r()],a.prototype,"_localBuffer",2),i([r()],a.prototype,"_dirty",2);customElements.get("maintenance-vacation-section-card")||customElements.define("maintenance-vacation-section-card",a);window.customCards=window.customCards||[];window.customCards.push({type:"maintenance-vacation-section-card",name:"Maintenance Supporter \u2014 Vacation",description:"Inline vacation mode toggle + dates",preview:!1});export{a as MaintenanceVacationSectionCard};
|
||||
+24
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
Reference in New Issue
Block a user