278 files
This commit is contained in:
1 parent
d7a0a08372
commit
1b4f5f68c6
278 files changed
+36892
-7150
No files matched your search
@@ -57,7 +57,6 @@
|
||||
"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",
|
||||
@@ -105,12 +104,12 @@
|
||||
"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",
|
||||
"minutes_short": "min",
|
||||
"both": "Both",
|
||||
"trigger_val": "Trigger value",
|
||||
"complete_title": "Complete: ",
|
||||
@@ -127,6 +126,45 @@
|
||||
"err_wrong_type": "{field}: wrong type (expected: {type})",
|
||||
"err_invalid_choice": "{field}: not an allowed value",
|
||||
"err_invalid_value": "{field}: invalid value",
|
||||
"ws_err_not_found": "Not found — it may have been deleted meanwhile",
|
||||
"ws_err_invalid_input": "Invalid input",
|
||||
"ws_err_invalid_date": "Invalid date",
|
||||
"ws_err_invalid_format": "Invalid format",
|
||||
"ws_err_invalid_url": "Invalid link",
|
||||
"ws_err_not_configured": "Not set up yet",
|
||||
"ws_err_not_loaded": "Not loaded yet — try again in a moment",
|
||||
"ws_err_limit_reached": "Limit reached",
|
||||
"ws_err_too_many": "Too many entries",
|
||||
"ws_err_too_large": "Too large",
|
||||
"ws_err_not_archived": "Not archived",
|
||||
"ws_err_invalid_target": "Invalid target",
|
||||
"ws_err_create_failed": "Could not be created",
|
||||
"ws_err_archived": "Archived — restore it first",
|
||||
"ws_err_already_archived": "Already archived",
|
||||
"ws_err_unavailable": "Currently unavailable",
|
||||
"ws_err_unauthorized": "Not permitted for your user",
|
||||
"ws_err_too_many_views": "Too many saved views",
|
||||
"ws_err_storage_unavailable": "Storage is not available",
|
||||
"ws_err_replace_failed": "Replacement failed",
|
||||
"ws_err_not_paused": "Not paused",
|
||||
"ws_err_not_available": "Nothing available",
|
||||
"ws_err_no_url": "No link given",
|
||||
"ws_err_no_phases": "This task has no phases",
|
||||
"ws_err_invalid_view": "Invalid view",
|
||||
"ws_err_invalid_user": "Unknown user",
|
||||
"ws_err_invalid_range": "Invalid range",
|
||||
"ws_err_invalid_parent": "Invalid parent object",
|
||||
"ws_err_invalid_device": "Unknown device",
|
||||
"ws_err_empty_csv": "The CSV file is empty",
|
||||
"ws_err_empty": "Nothing to import",
|
||||
"ws_err_duplicate_failed": "Could not duplicate",
|
||||
"ws_err_already_paused": "Already paused",
|
||||
"ws_err_invalid_cursor": "Invalid phase position",
|
||||
"ws_err_invalid_entity_slug": "Invalid entity name",
|
||||
"ws_err_invalid_trigger_config": "Invalid trigger configuration",
|
||||
"ws_err_no_defaults": "No quick-complete defaults set",
|
||||
"ws_err_self_link_device": "An object cannot be linked to itself",
|
||||
"ws_err_too_early": "Too early — this task can only be completed closer to its due date",
|
||||
"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_toggle": "Due at a specific time",
|
||||
@@ -207,7 +245,6 @@
|
||||
"trigger_equals": "Trigger when equal to (=)",
|
||||
"trigger_not_equals": "Trigger when different from (≠)",
|
||||
"for_at_least_minutes": "For at least (minutes)",
|
||||
"safety_interval_days": "Safety interval (days, optional)",
|
||||
"safety_interval": "Safety interval (optional)",
|
||||
"trigger_combinator": "Combine trigger and interval",
|
||||
"trigger_combinator_any": "Trigger or interval (whichever first)",
|
||||
@@ -247,10 +284,6 @@
|
||||
"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)",
|
||||
@@ -348,9 +381,9 @@
|
||||
"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.",
|
||||
"subsave_warning": "Saved, but one setting was rejected: {detail}",
|
||||
"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",
|
||||
@@ -358,16 +391,9 @@
|
||||
"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",
|
||||
@@ -413,6 +439,8 @@
|
||||
"cal_past_windows": "Past windows",
|
||||
"cal_forward_windows": "Forward windows",
|
||||
"history_edit_title": "Edit history entry",
|
||||
"history_delete_entry": "Delete entry",
|
||||
"history_delete_confirm": "Delete this history entry? The task's last-performed date falls back to the previous completion; photos stay with the object and consumed parts are not restocked.",
|
||||
"history_edit_timestamp": "Timestamp",
|
||||
"manufacturer": "Manufacturer",
|
||||
"model": "Model",
|
||||
@@ -470,6 +498,12 @@
|
||||
"settings_default_warning": "Default warning days",
|
||||
"settings_consumable_threshold": "Consumable low threshold (%)",
|
||||
"settings_battery_low_percent": "Battery low threshold (%)",
|
||||
"settings_battery_lifetimes": "Typical battery lifetimes",
|
||||
"settings_battery_lifetimes_hint": "Only used for batteries without a percentage: a Battery Notes note that has just a type and a last-replaced date, or a sensor that only reports \"low\". Their due date is last replaced + this lifetime. Batteries that report a level get their forecast from the measured discharge instead. Once the fleet has seen three replacements of a type, the median interval takes over from the built-in value — your own value always wins.",
|
||||
"settings_battery_lifetime_months": "months",
|
||||
"settings_battery_lifetime_reset": "Use default",
|
||||
"settings_battery_lifetime_in_fleet": "in your fleet",
|
||||
"settings_battery_lifetime_learned_models": "Learned per model: {list}",
|
||||
"settings_thresholds_hint": "Defaults for new Suggested setups (percent-remaining consumables) and for fleet batteries without their own Battery Notes threshold. Existing tasks keep their value.",
|
||||
"settings_value_out_of_range": "Value must be between {min} and {max}",
|
||||
"bn_summary": "{name}: {pct} % for {n} batteries",
|
||||
@@ -478,6 +512,8 @@
|
||||
"bn_overrides": "{n} devices with their own threshold:",
|
||||
"bn_more": "+ {n} more",
|
||||
"settings_row_actions": "Task row actions",
|
||||
"settings_ref_numbers_in_lists": "Reference numbers in lists",
|
||||
"settings_ref_numbers_in_lists_hint": "Show the #8 / #8.3 chips in front of object and task names in the Today list, the task table, the object cards and the objects table.",
|
||||
"row_actions_buttons_compact": "Buttons (icons only on phones)",
|
||||
"row_actions_buttons": "Buttons with text",
|
||||
"row_actions_icons": "Icons (classic)",
|
||||
@@ -527,6 +563,8 @@
|
||||
"settings_snooze_hours": "Snooze duration (hours)",
|
||||
"settings_budget": "Budget",
|
||||
"settings_currency": "Currency",
|
||||
"settings_currency_decimals": "Decimal places for amounts",
|
||||
"settings_currency_decimals_hint": "How many decimals every amount shows: KPIs, budgets, costs in lists and reports, budget alerts. 0 = whole numbers.",
|
||||
"settings_budget_monthly": "Monthly budget",
|
||||
"settings_budget_yearly": "Yearly budget",
|
||||
"settings_budget_alerts": "Budget alerts",
|
||||
@@ -536,7 +574,6 @@
|
||||
"settings_export_yaml": "Export YAML",
|
||||
"settings_export_csv": "Export CSV",
|
||||
"settings_export_settings": "Export settings (JSON)",
|
||||
"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.",
|
||||
@@ -644,7 +681,6 @@
|
||||
"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)",
|
||||
@@ -710,7 +746,6 @@
|
||||
"choose_photos": "Choose photos",
|
||||
"choose_photo": "Choose photo",
|
||||
"photos_android_hint": "The Android app hands over one photo per pick — each pick is added.",
|
||||
"add_photos": "Add photos",
|
||||
"photos_limit": "Up to {max} photos per completion",
|
||||
"history_edit_photos_hint": "Removing a photo here keeps the file in the object's documents.",
|
||||
"uploading": "Uploading…",
|
||||
@@ -731,6 +766,8 @@
|
||||
"doc_download": "Download",
|
||||
"doc_close": "Close",
|
||||
"doc_camera": "Take photo",
|
||||
"camera_capture_shoot": "Capture",
|
||||
"camera_switch_lens": "Switch camera",
|
||||
"doc_drop_hint": "Drop files here",
|
||||
"doc_task_none": "No documents linked to this task.",
|
||||
"doc_link_existing": "Link a document…",
|
||||
@@ -747,6 +784,12 @@
|
||||
"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",
|
||||
"doc_description": "Description (optional)",
|
||||
"doc_sort": "Sort documents",
|
||||
"doc_sort_newest": "Newest first",
|
||||
"doc_sort_oldest": "Oldest first",
|
||||
"doc_sort_title": "By title (1, 2, 3 …)",
|
||||
"doc_sort_category": "By category",
|
||||
"link_device_optional": "Link to existing device (optional)",
|
||||
"parent_object_optional": "Parent object (optional)",
|
||||
"parent_none": "(No parent)",
|
||||
@@ -854,15 +897,27 @@
|
||||
"settings_notify_scope": "Notify only for view",
|
||||
"settings_notify_scope_all": "All tasks",
|
||||
"settings_notify_scope_hint": "Only tasks matching the selected saved view's label/user filters send reminders. Status, sorting and grouping of the view are ignored here.",
|
||||
"settings_notify_completed": "Completion notifications",
|
||||
"settings_notify_completed_hint": "Household news when a task is completed, with the reason and who did it. \"Automatic only\" announces just the completions nobody made on the spot: sensor recovery, shopping-list check-off, an automation's service call. Sent to the household service only; quiet hours and the daily cap apply.",
|
||||
"notify_completed_off": "Off",
|
||||
"notify_completed_automatic": "Automatic completions only",
|
||||
"notify_completed_all": "All completions",
|
||||
"settings_notify_rule": "Your own notification rule",
|
||||
"settings_notify_rule_hint": "Every notification also fires the event maintenance_supporter_notification (kind, status, object, task, reference numbers, priority, deep link, the payload). Route it with an automation — e.g. into Ticker, Telegram or Pushover.",
|
||||
"settings_notify_event_only": "Only fire the event, send nothing myself",
|
||||
"settings_notify_event_only_hint": "Your automation is the whole delivery. Rate limits, quiet hours and the daily cap still apply to when the event fires.",
|
||||
"settings_notify_extra_data": "Extra notification data (template)",
|
||||
"settings_notify_extra_data_hint": "JSON or YAML, Jinja allowed; merged into the notify call's data (your keys win). Variables: kind, status, priority, object_name, task_name, object_ref, task_ref, days_until_due, next_due, responsible_user_id, url, target, title, message. Test it with the Send test button.",
|
||||
"settings_notify_extra_data_hint": "JSON or YAML, Jinja allowed; merged into the notify call's data (your keys win). Variables: kind, status, priority, labels, notes, area_name, object_name, task_name, object_ref, task_ref, days_until_due, next_due, last_performed, responsible_user_id, sensor_entity_id, url, target, title, message. Test it with the Send test button.",
|
||||
"card_saved_view": "Saved view",
|
||||
"card_saved_view_none": "None",
|
||||
"card_saved_view_help": "Applies the view's status, user and label filters on top of the filters above. The view's sorting and grouping are panel display settings and are not applied on the card.",
|
||||
"panel_card_tab": "Open on tab",
|
||||
"panel_card_tab_default": "Remembered tab (as in the panel)",
|
||||
"panel_card_view": "Open with saved view",
|
||||
"panel_card_height": "Height",
|
||||
"panel_card_height_help": "Empty = fill the screen below the card (panel view). Otherwise a CSS length such as 600px or 80vh for views with other cards.",
|
||||
"panel_card_not_registered": "The Maintenance Supporter panel is not available — is the integration set up?",
|
||||
"panel_card_load_failed": "The Maintenance Supporter panel could not be loaded — reload the page (after an update: clear the browser cache).",
|
||||
"doc_part_none": "No documents linked to this part.",
|
||||
"settings_templates_toggle_group": "Enable or disable all templates in this group",
|
||||
"setups_button": "Suggested setups",
|
||||
@@ -920,6 +975,13 @@
|
||||
"battery_fleet_status_ok": "Healthy",
|
||||
"battery_fleet_status_due": "Due",
|
||||
"battery_fleet_predicted_on": "Expected around {date}",
|
||||
"battery_fleet_predicted_typical": "Expected around {date} — {months} months typical for {type} ({source})",
|
||||
"lifetime_source_default": "built-in default",
|
||||
"lifetime_source_table": "built-in table",
|
||||
"lifetime_source_learned": "learned from {n} replacements",
|
||||
"lifetime_source_override": "your setting",
|
||||
"lifetime_source_learned_device": "learned from this device's {n} replacements",
|
||||
"lifetime_source_learned_model": "learned from {n} replacements on devices of this model",
|
||||
"battery_fleet_predicted_trend": "Predicted from this battery's discharge trend: around {date} ({confidence})",
|
||||
"battery_fleet_rechargeable": "Rechargeable: charge instead of replacing — never on the shopping list",
|
||||
"battery_fleet_sort_name": "Sort by name",
|
||||
@@ -973,11 +1035,13 @@
|
||||
"print_inc_parts": "Parts used",
|
||||
"print_inc_photos": "Photos",
|
||||
"print_inc_documents": "Linked documents",
|
||||
"print_inc_doc_desc": "Document descriptions",
|
||||
"print_inc_checklist": "Checklist",
|
||||
"print_inc_notes": "Notes",
|
||||
"print_inc_costs": "Cost and duration",
|
||||
"print_inc_person": "Completed by",
|
||||
"print_inc_refs": "Reference numbers",
|
||||
"print_inc_bare": "Completions without details",
|
||||
"print_inc_qr": "QR code per task",
|
||||
"print_button": "Print",
|
||||
"report_scan_hint": "Scan to open the task",
|
||||
|
||||
Reference in new issue
Block a user