mirror of
https://github.com/home-assistant/frontend.git
synced 2025-09-11 22:19:44 +00:00
Compare commits
1 Commits
sidebar-mw
...
selectors-
Author | SHA1 | Date | |
---|---|---|---|
![]() |
4c2ca9224d |
@@ -7,8 +7,8 @@ export const createMediaPlayerEntities = () => [
|
||||
media_title: "I Wanna Be A Hippy (Flamman & Abraxas Radio Mix)",
|
||||
media_artist: "Technohead",
|
||||
// Pause + Seek + Volume Set + Volume Mute + Previous Track + Next Track + Play Media +
|
||||
// Select Source + Stop + Clear + Play + Shuffle Set
|
||||
supported_features: 64063,
|
||||
// Select Source + Stop + Clear + Play + Shuffle Set + Browse Media
|
||||
supported_features: 195135,
|
||||
entity_picture: "/images/album_cover_2.jpg",
|
||||
media_duration: 300,
|
||||
media_position: 50,
|
||||
@@ -24,8 +24,8 @@ export const createMediaPlayerEntities = () => [
|
||||
media_title: "I Wanna Be A Hippy (Flamman & Abraxas Radio Mix)",
|
||||
media_artist: "Technohead",
|
||||
// Pause + Seek + Volume Set + Volume Mute + Previous Track + Next Track + Play Media +
|
||||
// Select Source + Stop + Clear + Play + Shuffle Set + Browse Media
|
||||
supported_features: 195135,
|
||||
// Select Source + Stop + Clear + Play + Shuffle Set
|
||||
supported_features: 64063,
|
||||
entity_picture: "/images/album_cover.jpg",
|
||||
media_duration: 300,
|
||||
media_position: 0,
|
||||
|
@@ -146,16 +146,6 @@ const CONFIGS = [
|
||||
entity: media_player.receiver_off
|
||||
`,
|
||||
},
|
||||
{
|
||||
heading: "Grid Full Size",
|
||||
config: `
|
||||
- type: grid
|
||||
columns: 1
|
||||
cards:
|
||||
- type: media-control
|
||||
entity: media_player.music_paused
|
||||
`,
|
||||
},
|
||||
];
|
||||
|
||||
class DemoHuiMediControlCard extends PolymerElement {
|
||||
|
@@ -74,7 +74,9 @@ export class HassioUpdate extends LitElement {
|
||||
"Supervisor",
|
||||
this.supervisor.supervisor,
|
||||
"hassio/supervisor/update",
|
||||
`https://github.com//home-assistant/hassio/releases/tag/${this.supervisor.supervisor.version_latest}`
|
||||
`https://github.com//home-assistant/hassio/releases/tag/${
|
||||
this.supervisor.supervisor.version_latest
|
||||
}`
|
||||
)}
|
||||
${this.supervisor.host.features.includes("hassos")
|
||||
? this._renderUpdateCard(
|
||||
|
2
setup.py
2
setup.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
||||
|
||||
setup(
|
||||
name="home-assistant-frontend",
|
||||
version="20201212.0",
|
||||
version="20201126.0",
|
||||
description="The Home Assistant frontend",
|
||||
url="https://github.com/home-assistant/home-assistant-polymer",
|
||||
author="The Home Assistant Authors",
|
||||
|
@@ -1,6 +0,0 @@
|
||||
export const ensureArray = (value?: any) => {
|
||||
if (!value || Array.isArray(value)) {
|
||||
return value;
|
||||
}
|
||||
return [value];
|
||||
};
|
@@ -67,10 +67,6 @@ export const computeStateDisplay = (
|
||||
}
|
||||
}
|
||||
|
||||
if (domain === "counter") {
|
||||
return formatNumber(compareState, language);
|
||||
}
|
||||
|
||||
return (
|
||||
// Return device class translation
|
||||
(stateObj.attributes.device_class &&
|
||||
|
@@ -1,12 +1,8 @@
|
||||
export const copyToClipboard = (str) => {
|
||||
if (navigator.clipboard) {
|
||||
navigator.clipboard.writeText(str);
|
||||
} else {
|
||||
const el = document.createElement("textarea");
|
||||
el.value = str;
|
||||
document.body.appendChild(el);
|
||||
el.select();
|
||||
document.execCommand("copy");
|
||||
document.body.removeChild(el);
|
||||
}
|
||||
const el = document.createElement("textarea");
|
||||
el.value = str;
|
||||
document.body.appendChild(el);
|
||||
el.select();
|
||||
document.execCommand("copy");
|
||||
document.body.removeChild(el);
|
||||
};
|
||||
|
@@ -98,12 +98,6 @@ export class HaDataTable extends LitElement {
|
||||
|
||||
@property({ type: Boolean }) public hasFab = false;
|
||||
|
||||
/**
|
||||
* Add an extra rows at the bottom of the datatabel
|
||||
* @type {TemplateResult}
|
||||
*/
|
||||
@property({ attribute: false }) public appendRow?;
|
||||
|
||||
@property({ type: Boolean, attribute: "auto-height" })
|
||||
public autoHeight = false;
|
||||
|
||||
@@ -132,8 +126,6 @@ export class HaDataTable extends LitElement {
|
||||
|
||||
@query("slot[name='header']") private _header!: HTMLSlotElement;
|
||||
|
||||
private _items: DataTableRowData[] = [];
|
||||
|
||||
private _checkableRowsCount?: number;
|
||||
|
||||
private _checkedRows: string[] = [];
|
||||
@@ -326,13 +318,10 @@ export class HaDataTable extends LitElement {
|
||||
@scroll=${this._saveScrollPos}
|
||||
>
|
||||
${scroll({
|
||||
items: this._items,
|
||||
items: !this.hasFab
|
||||
? this._filteredData
|
||||
: [...this._filteredData, ...[{ empty: true }]],
|
||||
renderItem: (row: DataTableRowData, index) => {
|
||||
if (row.append) {
|
||||
return html`
|
||||
<div class="mdc-data-table__row">${row.content}</div>
|
||||
`;
|
||||
}
|
||||
if (row.empty) {
|
||||
return html` <div class="mdc-data-table__row"></div> `;
|
||||
}
|
||||
@@ -458,20 +447,6 @@ export class HaDataTable extends LitElement {
|
||||
if (this.curRequest !== curRequest) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.appendRow || this.hasFab) {
|
||||
this._items = [...data];
|
||||
|
||||
if (this.appendRow) {
|
||||
this._items.push({ append: true, content: this.appendRow });
|
||||
}
|
||||
|
||||
if (this.hasFab) {
|
||||
this._items.push({ empty: true });
|
||||
}
|
||||
} else {
|
||||
this._items = data;
|
||||
}
|
||||
this._filteredData = data;
|
||||
}
|
||||
|
||||
|
@@ -1,5 +1,4 @@
|
||||
import "../ha-svg-icon";
|
||||
import "@material/mwc-icon-button/mwc-icon-button";
|
||||
import "../ha-icon-button";
|
||||
import "@polymer/paper-input/paper-input";
|
||||
import "@polymer/paper-item/paper-item";
|
||||
import "@polymer/paper-item/paper-item-body";
|
||||
@@ -13,8 +12,6 @@ import {
|
||||
html,
|
||||
LitElement,
|
||||
property,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import memoizeOne from "memoize-one";
|
||||
@@ -38,7 +35,6 @@ import {
|
||||
import { SubscribeMixin } from "../../mixins/subscribe-mixin";
|
||||
import { PolymerChangedEvent } from "../../polymer-types";
|
||||
import { HomeAssistant } from "../../types";
|
||||
import { mdiClose, mdiMenuUp, mdiMenuDown } from "@mdi/js";
|
||||
|
||||
interface Device {
|
||||
name: string;
|
||||
@@ -115,10 +111,6 @@ export class HaDevicePicker extends SubscribeMixin(LitElement) {
|
||||
@property({ type: Boolean })
|
||||
private _opened?: boolean;
|
||||
|
||||
@query("vaadin-combo-box-light", true) private _comboBox!: HTMLElement;
|
||||
|
||||
private _init = false;
|
||||
|
||||
private _getDevices = memoizeOne(
|
||||
(
|
||||
devices: DeviceRegistryEntry[],
|
||||
@@ -130,13 +122,7 @@ export class HaDevicePicker extends SubscribeMixin(LitElement) {
|
||||
deviceFilter: this["deviceFilter"]
|
||||
): Device[] => {
|
||||
if (!devices.length) {
|
||||
return [
|
||||
{
|
||||
id: "",
|
||||
area: "",
|
||||
name: this.hass.localize("ui.components.device-picker.no_devices"),
|
||||
},
|
||||
];
|
||||
return [];
|
||||
}
|
||||
|
||||
const deviceEntityLookup: DeviceEntityLookup = {};
|
||||
@@ -158,9 +144,7 @@ export class HaDevicePicker extends SubscribeMixin(LitElement) {
|
||||
areaLookup[area.area_id] = area;
|
||||
}
|
||||
|
||||
let inputDevices = devices.filter(
|
||||
(device) => device.id === this.value || !device.disabled_by
|
||||
);
|
||||
let inputDevices = [...devices];
|
||||
|
||||
if (includeDomains) {
|
||||
inputDevices = inputDevices.filter((device) => {
|
||||
@@ -227,15 +211,6 @@ export class HaDevicePicker extends SubscribeMixin(LitElement) {
|
||||
: this.hass.localize("ui.components.device-picker.no_area"),
|
||||
};
|
||||
});
|
||||
if (!outputDevices.length) {
|
||||
return [
|
||||
{
|
||||
id: "",
|
||||
area: "",
|
||||
name: this.hass.localize("ui.components.device-picker.no_match"),
|
||||
},
|
||||
];
|
||||
}
|
||||
if (outputDevices.length === 1) {
|
||||
return outputDevices;
|
||||
}
|
||||
@@ -243,18 +218,6 @@ export class HaDevicePicker extends SubscribeMixin(LitElement) {
|
||||
}
|
||||
);
|
||||
|
||||
public open() {
|
||||
this.updateComplete.then(() => {
|
||||
(this.shadowRoot?.querySelector("vaadin-combo-box-light") as any)?.open();
|
||||
});
|
||||
}
|
||||
|
||||
public focus() {
|
||||
this.updateComplete.then(() => {
|
||||
this.shadowRoot?.querySelector("paper-input")?.focus();
|
||||
});
|
||||
}
|
||||
|
||||
public hassSubscribe(): UnsubscribeFunc[] {
|
||||
return [
|
||||
subscribeDeviceRegistry(this.hass.connection!, (devices) => {
|
||||
@@ -269,33 +232,25 @@ export class HaDevicePicker extends SubscribeMixin(LitElement) {
|
||||
];
|
||||
}
|
||||
|
||||
protected updated(changedProps: PropertyValues) {
|
||||
if (
|
||||
(!this._init && this.devices && this.areas && this.entities) ||
|
||||
(changedProps.has("_opened") && this._opened)
|
||||
) {
|
||||
this._init = true;
|
||||
(this._comboBox as any).items = this._getDevices(
|
||||
this.devices!,
|
||||
this.areas!,
|
||||
this.entities!,
|
||||
this.includeDomains,
|
||||
this.excludeDomains,
|
||||
this.includeDeviceClasses,
|
||||
this.deviceFilter
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
protected render(): TemplateResult {
|
||||
if (!this.devices || !this.areas || !this.entities) {
|
||||
return html``;
|
||||
}
|
||||
const devices = this._getDevices(
|
||||
this.devices,
|
||||
this.areas,
|
||||
this.entities,
|
||||
this.includeDomains,
|
||||
this.excludeDomains,
|
||||
this.includeDeviceClasses,
|
||||
this.deviceFilter
|
||||
);
|
||||
return html`
|
||||
<vaadin-combo-box-light
|
||||
item-value-path="id"
|
||||
item-id-path="id"
|
||||
item-label-path="name"
|
||||
.items=${devices}
|
||||
.value=${this._value}
|
||||
.renderer=${rowRenderer}
|
||||
@opened-changed=${this._openedChanged}
|
||||
@@ -313,30 +268,34 @@ export class HaDevicePicker extends SubscribeMixin(LitElement) {
|
||||
>
|
||||
${this.value
|
||||
? html`
|
||||
<mwc-icon-button
|
||||
.label=${this.hass.localize(
|
||||
<ha-icon-button
|
||||
aria-label=${this.hass.localize(
|
||||
"ui.components.device-picker.clear"
|
||||
)}
|
||||
slot="suffix"
|
||||
class="clear-button"
|
||||
icon="hass:close"
|
||||
@click=${this._clearValue}
|
||||
no-ripple
|
||||
>
|
||||
<ha-svg-icon .path=${mdiClose}></ha-svg-icon>
|
||||
</mwc-icon-button>
|
||||
Clear
|
||||
</ha-icon-button>
|
||||
`
|
||||
: ""}
|
||||
${devices.length > 0
|
||||
? html`
|
||||
<ha-icon-button
|
||||
aria-label=${this.hass.localize(
|
||||
"ui.components.device-picker.show_devices"
|
||||
)}
|
||||
slot="suffix"
|
||||
class="toggle-button"
|
||||
.icon=${this._opened ? "hass:menu-up" : "hass:menu-down"}
|
||||
>
|
||||
Toggle
|
||||
</ha-icon-button>
|
||||
`
|
||||
: ""}
|
||||
|
||||
<mwc-icon-button
|
||||
.label=${this.hass.localize(
|
||||
"ui.components.device-picker.show_devices"
|
||||
)}
|
||||
slot="suffix"
|
||||
class="toggle-button"
|
||||
>
|
||||
<ha-svg-icon
|
||||
.path=${this._opened ? mdiMenuUp : mdiMenuDown}
|
||||
></ha-svg-icon>
|
||||
</mwc-icon-button>
|
||||
</paper-input>
|
||||
</vaadin-combo-box-light>
|
||||
`;
|
||||
@@ -373,7 +332,7 @@ export class HaDevicePicker extends SubscribeMixin(LitElement) {
|
||||
|
||||
static get styles(): CSSResult {
|
||||
return css`
|
||||
paper-input > mwc-icon-button {
|
||||
paper-input > ha-icon-button {
|
||||
--mdc-icon-button-size: 24px;
|
||||
padding: 2px;
|
||||
color: var(--secondary-text-color);
|
||||
|
@@ -101,18 +101,6 @@ export class HaEntityPicker extends LitElement {
|
||||
|
||||
@query("vaadin-combo-box-light", true) private _comboBox!: HTMLElement;
|
||||
|
||||
public open() {
|
||||
this.updateComplete.then(() => {
|
||||
(this.shadowRoot?.querySelector("vaadin-combo-box-light") as any)?.open();
|
||||
});
|
||||
}
|
||||
|
||||
public focus() {
|
||||
this.updateComplete.then(() => {
|
||||
this.shadowRoot?.querySelector("paper-input")?.focus();
|
||||
});
|
||||
}
|
||||
|
||||
private _initedStates = false;
|
||||
|
||||
private _states: HassEntity[] = [];
|
||||
@@ -165,24 +153,6 @@ export class HaEntityPicker extends LitElement {
|
||||
);
|
||||
}
|
||||
|
||||
if (!states.length) {
|
||||
return [
|
||||
{
|
||||
entity_id: "",
|
||||
state: "",
|
||||
last_changed: "",
|
||||
last_updated: "",
|
||||
context: { id: "", user_id: null },
|
||||
attributes: {
|
||||
friendly_name: this.hass!.localize(
|
||||
"ui.components.entity.entity-picker.no_match"
|
||||
),
|
||||
icon: "mdi:magnify",
|
||||
},
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
return states;
|
||||
}
|
||||
);
|
||||
@@ -233,6 +203,7 @@ export class HaEntityPicker extends LitElement {
|
||||
.label=${this.label === undefined
|
||||
? this.hass.localize("ui.components.entity.entity-picker.entity")
|
||||
: this.label}
|
||||
.value=${this._value}
|
||||
.disabled=${this.disabled}
|
||||
class="input"
|
||||
autocapitalize="none"
|
||||
|
@@ -1,5 +1,4 @@
|
||||
import "./ha-svg-icon";
|
||||
import "@material/mwc-icon-button/mwc-icon-button";
|
||||
import "./ha-icon-button";
|
||||
import "@polymer/paper-input/paper-input";
|
||||
import "@polymer/paper-item/paper-item";
|
||||
import "@polymer/paper-item/paper-item-body";
|
||||
@@ -15,8 +14,6 @@ import {
|
||||
property,
|
||||
internalProperty,
|
||||
TemplateResult,
|
||||
PropertyValues,
|
||||
query,
|
||||
} from "lit-element";
|
||||
import { fireEvent } from "../common/dom/fire_event";
|
||||
import {
|
||||
@@ -43,7 +40,6 @@ import {
|
||||
} from "../data/entity_registry";
|
||||
import { computeDomain } from "../common/entity/compute_domain";
|
||||
import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker";
|
||||
import { mdiClose, mdiMenuDown, mdiMenuUp } from "@mdi/js";
|
||||
|
||||
const rowRenderer = (
|
||||
root: HTMLElement,
|
||||
@@ -125,10 +121,6 @@ export class HaAreaPicker extends SubscribeMixin(LitElement) {
|
||||
|
||||
@internalProperty() private _opened?: boolean;
|
||||
|
||||
@query("vaadin-combo-box-light", true) private _comboBox!: HTMLElement;
|
||||
|
||||
private _init = false;
|
||||
|
||||
public hassSubscribe(): UnsubscribeFunc[] {
|
||||
return [
|
||||
subscribeAreaRegistry(this.hass.connection!, (areas) => {
|
||||
@@ -143,18 +135,6 @@ export class HaAreaPicker extends SubscribeMixin(LitElement) {
|
||||
];
|
||||
}
|
||||
|
||||
public open() {
|
||||
this.updateComplete.then(() => {
|
||||
(this.shadowRoot?.querySelector("vaadin-combo-box-light") as any)?.open();
|
||||
});
|
||||
}
|
||||
|
||||
public focus() {
|
||||
this.updateComplete.then(() => {
|
||||
this.shadowRoot?.querySelector("paper-input")?.focus();
|
||||
});
|
||||
}
|
||||
|
||||
private _getAreas = memoizeOne(
|
||||
(
|
||||
areas: AreaRegistryEntry[],
|
||||
@@ -167,15 +147,6 @@ export class HaAreaPicker extends SubscribeMixin(LitElement) {
|
||||
entityFilter: this["entityFilter"],
|
||||
noAdd: this["noAdd"]
|
||||
): AreaRegistryEntry[] => {
|
||||
if (!areas.length) {
|
||||
return [
|
||||
{
|
||||
area_id: "",
|
||||
name: this.hass.localize("ui.components.area-picker.no_areas"),
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
const deviceEntityLookup: DeviceEntityLookup = {};
|
||||
let inputDevices: DeviceRegistryEntry[] | undefined;
|
||||
let inputEntities: EntityRegistryEntry[] | undefined;
|
||||
@@ -190,12 +161,12 @@ export class HaAreaPicker extends SubscribeMixin(LitElement) {
|
||||
}
|
||||
deviceEntityLookup[entity.device_id].push(entity);
|
||||
}
|
||||
inputDevices = devices;
|
||||
inputEntities = entities.filter((entity) => entity.area_id);
|
||||
inputDevices = [...devices];
|
||||
inputEntities = entities.filter((entity) => !entity.device_id);
|
||||
} else if (deviceFilter) {
|
||||
inputDevices = devices;
|
||||
inputDevices = [...devices];
|
||||
} else if (entityFilter) {
|
||||
inputEntities = entities.filter((entity) => entity.area_id);
|
||||
inputEntities = entities.filter((entity) => !entity.device_id);
|
||||
}
|
||||
|
||||
if (includeDomains) {
|
||||
@@ -260,9 +231,7 @@ export class HaAreaPicker extends SubscribeMixin(LitElement) {
|
||||
}
|
||||
|
||||
if (entityFilter) {
|
||||
inputEntities = inputEntities!.filter((entity) =>
|
||||
entityFilter!(entity)
|
||||
);
|
||||
entities = entities.filter((entity) => entityFilter!(entity));
|
||||
}
|
||||
|
||||
let outputAreas = areas;
|
||||
@@ -287,15 +256,6 @@ export class HaAreaPicker extends SubscribeMixin(LitElement) {
|
||||
outputAreas = areas.filter((area) => areaIds!.includes(area.area_id));
|
||||
}
|
||||
|
||||
if (!outputAreas.length) {
|
||||
outputAreas = [
|
||||
{
|
||||
area_id: "",
|
||||
name: this.hass.localize("ui.components.area-picker.no_match"),
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
return noAdd
|
||||
? outputAreas
|
||||
: [
|
||||
@@ -308,35 +268,27 @@ export class HaAreaPicker extends SubscribeMixin(LitElement) {
|
||||
}
|
||||
);
|
||||
|
||||
protected updated(changedProps: PropertyValues) {
|
||||
if (
|
||||
(!this._init && this._devices && this._areas && this._entities) ||
|
||||
(changedProps.has("_opened") && this._opened)
|
||||
) {
|
||||
this._init = true;
|
||||
(this._comboBox as any).items = this._getAreas(
|
||||
this._areas!,
|
||||
this._devices!,
|
||||
this._entities!,
|
||||
this.includeDomains,
|
||||
this.excludeDomains,
|
||||
this.includeDeviceClasses,
|
||||
this.deviceFilter,
|
||||
this.entityFilter,
|
||||
this.noAdd
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
protected render(): TemplateResult {
|
||||
if (!this._devices || !this._areas || !this._entities) {
|
||||
return html``;
|
||||
}
|
||||
const areas = this._getAreas(
|
||||
this._areas,
|
||||
this._devices,
|
||||
this._entities,
|
||||
this.includeDomains,
|
||||
this.excludeDomains,
|
||||
this.includeDeviceClasses,
|
||||
this.deviceFilter,
|
||||
this.entityFilter,
|
||||
this.noAdd
|
||||
);
|
||||
return html`
|
||||
<vaadin-combo-box-light
|
||||
item-value-path="area_id"
|
||||
item-id-path="area_id"
|
||||
item-label-path="name"
|
||||
.items=${areas}
|
||||
.value=${this._value}
|
||||
.renderer=${rowRenderer}
|
||||
@opened-changed=${this._openedChanged}
|
||||
@@ -357,28 +309,34 @@ export class HaAreaPicker extends SubscribeMixin(LitElement) {
|
||||
>
|
||||
${this.value
|
||||
? html`
|
||||
<mwc-icon-button
|
||||
.label=${this.hass.localize(
|
||||
<ha-icon-button
|
||||
aria-label=${this.hass.localize(
|
||||
"ui.components.area-picker.clear"
|
||||
)}
|
||||
slot="suffix"
|
||||
class="clear-button"
|
||||
icon="hass:close"
|
||||
@click=${this._clearValue}
|
||||
no-ripple
|
||||
>
|
||||
<ha-svg-icon .path=${mdiClose}></ha-svg-icon>
|
||||
</mwc-icon-button>
|
||||
${this.hass.localize("ui.components.area-picker.clear")}
|
||||
</ha-icon-button>
|
||||
`
|
||||
: ""}
|
||||
${areas.length > 0
|
||||
? html`
|
||||
<ha-icon-button
|
||||
aria-label=${this.hass.localize(
|
||||
"ui.components.area-picker.show_areas"
|
||||
)}
|
||||
slot="suffix"
|
||||
class="toggle-button"
|
||||
.icon=${this._opened ? "hass:menu-up" : "hass:menu-down"}
|
||||
>
|
||||
${this.hass.localize("ui.components.area-picker.toggle")}
|
||||
</ha-icon-button>
|
||||
`
|
||||
: ""}
|
||||
|
||||
<mwc-icon-button
|
||||
.label=${this.hass.localize("ui.components.area-picker.toggle")}
|
||||
slot="suffix"
|
||||
class="toggle-button"
|
||||
>
|
||||
<ha-svg-icon
|
||||
.path=${this._opened ? mdiMenuUp : mdiMenuDown}
|
||||
></ha-svg-icon>
|
||||
</mwc-icon-button>
|
||||
</paper-input>
|
||||
</vaadin-combo-box-light>
|
||||
`;
|
||||
@@ -454,7 +412,7 @@ export class HaAreaPicker extends SubscribeMixin(LitElement) {
|
||||
|
||||
static get styles(): CSSResult {
|
||||
return css`
|
||||
paper-input > mwc-icon-button {
|
||||
paper-input > ha-icon-button {
|
||||
--mdc-icon-button-size: 24px;
|
||||
padding: 2px;
|
||||
color: var(--secondary-text-color);
|
||||
|
@@ -52,7 +52,6 @@ class HaBluePrintPicker extends LitElement {
|
||||
.label=${this.label ||
|
||||
this.hass.localize("ui.components.blueprint-picker.label")}
|
||||
.disabled=${this.disabled}
|
||||
horizontal-align="left"
|
||||
>
|
||||
<paper-listbox
|
||||
slot="dropdown-content"
|
||||
@@ -111,9 +110,6 @@ class HaBluePrintPicker extends LitElement {
|
||||
paper-listbox {
|
||||
min-width: 200px;
|
||||
}
|
||||
paper-item {
|
||||
cursor: pointer;
|
||||
}
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
@@ -127,7 +127,7 @@ class HaHLSPlayer extends LitElement {
|
||||
|
||||
// Parse playlist assuming it is a master playlist. Match group 1 is whether hevc, match group 2 is regular playlist url
|
||||
// See https://tools.ietf.org/html/rfc8216 for HLS spec details
|
||||
const playlistRegexp = /#EXT-X-STREAM-INF:.*?(?:CODECS=".*?(hev1|hvc1)?\..*?".*?)?(?:\n|\r\n)(.+)/g;
|
||||
const playlistRegexp = /#EXT-X-STREAM-INF:.*?(?:CODECS=".*?(?<isHevc>hev1|hvc1)?\..*?".*?)?(?:\n|\r\n)(?<streamUrl>.+)/g;
|
||||
const match = playlistRegexp.exec(masterPlaylist);
|
||||
const matchTwice = playlistRegexp.exec(masterPlaylist);
|
||||
|
||||
@@ -136,13 +136,17 @@ class HaHLSPlayer extends LitElement {
|
||||
let playlist_url: string;
|
||||
if (match !== null && matchTwice === null) {
|
||||
// Only send the regular playlist url if we match exactly once
|
||||
playlist_url = new URL(match[2], this.url).href;
|
||||
playlist_url = new URL(match.groups!.streamUrl, this.url).href;
|
||||
} else {
|
||||
playlist_url = this.url;
|
||||
}
|
||||
|
||||
// If codec is HEVC and ExoPlayer is supported, use ExoPlayer.
|
||||
if (this._useExoPlayer && match !== null && match[1] !== undefined) {
|
||||
if (
|
||||
this._useExoPlayer &&
|
||||
match !== null &&
|
||||
match.groups!.isHevc !== undefined
|
||||
) {
|
||||
this._renderHLSExoPlayer(playlist_url);
|
||||
} else if (hls.isSupported()) {
|
||||
this._renderHLSPolyfill(videoEl, hls, playlist_url);
|
||||
|
@@ -60,9 +60,8 @@ export class HaIconInput extends LitElement {
|
||||
static get styles() {
|
||||
return css`
|
||||
ha-icon {
|
||||
position: absolute;
|
||||
bottom: 2px;
|
||||
right: 0;
|
||||
position: relative;
|
||||
bottom: 4px;
|
||||
}
|
||||
`;
|
||||
}
|
||||
|
@@ -13,7 +13,7 @@ import type { HomeAssistant } from "../types";
|
||||
class HaRelativeTime extends UpdatingElement {
|
||||
@property({ attribute: false }) public hass!: HomeAssistant;
|
||||
|
||||
@property({ attribute: false }) public datetime?: string | Date;
|
||||
@property({ attribute: false }) public datetime?: string;
|
||||
|
||||
private _interval?: number;
|
||||
|
||||
|
@@ -1,45 +0,0 @@
|
||||
import {
|
||||
css,
|
||||
CSSResult,
|
||||
customElement,
|
||||
html,
|
||||
LitElement,
|
||||
property,
|
||||
} from "lit-element";
|
||||
import { HomeAssistant } from "../../types";
|
||||
import { ActionSelector } from "../../data/selector";
|
||||
import { Action } from "../../data/script";
|
||||
import "../../panels/config/automation/action/ha-automation-action";
|
||||
|
||||
@customElement("ha-selector-action")
|
||||
export class HaActionSelector extends LitElement {
|
||||
@property() public hass!: HomeAssistant;
|
||||
|
||||
@property() public selector!: ActionSelector;
|
||||
|
||||
@property() public value?: Action;
|
||||
|
||||
@property() public label?: string;
|
||||
|
||||
protected render() {
|
||||
return html`<ha-automation-action
|
||||
.actions=${this.value || []}
|
||||
.hass=${this.hass}
|
||||
></ha-automation-action>`;
|
||||
}
|
||||
|
||||
static get styles(): CSSResult {
|
||||
return css`
|
||||
ha-automation-action {
|
||||
display: block;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ha-selector-action": HaActionSelector;
|
||||
}
|
||||
}
|
@@ -77,8 +77,7 @@ export class HaAreaSelector extends LitElement {
|
||||
}
|
||||
if (this.selector.area.device?.integration) {
|
||||
if (
|
||||
this._configEntries &&
|
||||
!this._configEntries.some((entry) =>
|
||||
!this._configEntries?.some((entry) =>
|
||||
device.config_entries.includes(entry.entry_id)
|
||||
)
|
||||
) {
|
||||
|
@@ -63,8 +63,7 @@ export class HaDeviceSelector extends LitElement {
|
||||
}
|
||||
if (this.selector.device.integration) {
|
||||
if (
|
||||
this._configEntries &&
|
||||
!this._configEntries.some((entry) =>
|
||||
!this._configEntries?.some((entry) =>
|
||||
device.config_entries.includes(entry.entry_id)
|
||||
)
|
||||
) {
|
||||
|
@@ -19,7 +19,7 @@ export class HaEntitySelector extends SubscribeMixin(LitElement) {
|
||||
|
||||
@property() public selector!: EntitySelector;
|
||||
|
||||
@internalProperty() private _entityPlaformLookup?: Record<string, string>;
|
||||
@internalProperty() private _entities?: Record<string, string>;
|
||||
|
||||
@property() public value?: any;
|
||||
|
||||
@@ -45,7 +45,7 @@ export class HaEntitySelector extends SubscribeMixin(LitElement) {
|
||||
}
|
||||
entityLookup[confEnt.entity_id] = confEnt.platform;
|
||||
}
|
||||
this._entityPlaformLookup = entityLookup;
|
||||
this._entities = entityLookup;
|
||||
}),
|
||||
];
|
||||
}
|
||||
@@ -66,9 +66,8 @@ export class HaEntitySelector extends SubscribeMixin(LitElement) {
|
||||
}
|
||||
if (this.selector.entity.integration) {
|
||||
if (
|
||||
!this._entityPlaformLookup ||
|
||||
this._entityPlaformLookup[entity.entity_id] !==
|
||||
this.selector.entity.integration
|
||||
!this._entities ||
|
||||
this._entities[entity.entity_id] !== this.selector.entity.integration
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
|
@@ -1,153 +0,0 @@
|
||||
import {
|
||||
css,
|
||||
CSSResult,
|
||||
customElement,
|
||||
html,
|
||||
internalProperty,
|
||||
LitElement,
|
||||
property,
|
||||
} from "lit-element";
|
||||
import { HomeAssistant } from "../../types";
|
||||
import { TargetSelector } from "../../data/selector";
|
||||
import { ConfigEntry, getConfigEntries } from "../../data/config_entries";
|
||||
import { DeviceRegistryEntry } from "../../data/device_registry";
|
||||
import "../ha-target-picker";
|
||||
import "@material/mwc-list/mwc-list-item";
|
||||
import "@polymer/paper-input/paper-input";
|
||||
import "@material/mwc-list/mwc-list";
|
||||
import {
|
||||
EntityRegistryEntry,
|
||||
subscribeEntityRegistry,
|
||||
} from "../../data/entity_registry";
|
||||
import { Target } from "../../data/target";
|
||||
import "@material/mwc-tab-bar/mwc-tab-bar";
|
||||
import "@material/mwc-tab/mwc-tab";
|
||||
import { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket";
|
||||
import { SubscribeMixin } from "../../mixins/subscribe-mixin";
|
||||
|
||||
@customElement("ha-selector-target")
|
||||
export class HaTargetSelector extends SubscribeMixin(LitElement) {
|
||||
@property() public hass!: HomeAssistant;
|
||||
|
||||
@property() public selector!: TargetSelector;
|
||||
|
||||
@property() public value?: Target;
|
||||
|
||||
@property() public label?: string;
|
||||
|
||||
@internalProperty() private _entityPlaformLookup?: Record<string, string>;
|
||||
|
||||
@internalProperty() private _configEntries?: ConfigEntry[];
|
||||
|
||||
public hassSubscribe(): UnsubscribeFunc[] {
|
||||
return [
|
||||
subscribeEntityRegistry(this.hass.connection!, (entities) => {
|
||||
const entityLookup = {};
|
||||
for (const confEnt of entities) {
|
||||
if (!confEnt.platform) {
|
||||
continue;
|
||||
}
|
||||
entityLookup[confEnt.entity_id] = confEnt.platform;
|
||||
}
|
||||
this._entityPlaformLookup = entityLookup;
|
||||
}),
|
||||
];
|
||||
}
|
||||
|
||||
protected updated(changedProperties) {
|
||||
if (changedProperties.has("selector")) {
|
||||
const oldSelector = changedProperties.get("selector");
|
||||
if (
|
||||
oldSelector !== this.selector &&
|
||||
this.selector.target.device?.integration
|
||||
) {
|
||||
this._loadConfigEntries();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected render() {
|
||||
return html`<ha-target-picker
|
||||
.hass=${this.hass}
|
||||
.value=${this.value}
|
||||
.deviceFilter=${(device) => this._filterDevices(device)}
|
||||
.entityRegFilter=${(entity: EntityRegistryEntry) =>
|
||||
this._filterRegEntities(entity)}
|
||||
.entityFilter=${(entity: HassEntity) => this._filterEntities(entity)}
|
||||
.includeDeviceClasses=${this.selector.target.entity?.device_class
|
||||
? [this.selector.target.entity.device_class]
|
||||
: undefined}
|
||||
.includeDomains=${this.selector.target.entity?.domain
|
||||
? [this.selector.target.entity.domain]
|
||||
: undefined}
|
||||
></ha-target-picker>`;
|
||||
}
|
||||
|
||||
private _filterEntities(entity: HassEntity): boolean {
|
||||
if (this.selector.target.entity?.integration) {
|
||||
if (
|
||||
!this._entityPlaformLookup ||
|
||||
this._entityPlaformLookup[entity.entity_id] !==
|
||||
this.selector.target.entity.integration
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private _filterRegEntities(entity: EntityRegistryEntry): boolean {
|
||||
if (this.selector.target.entity?.integration) {
|
||||
if (entity.platform !== this.selector.target.entity.integration) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private _filterDevices(device: DeviceRegistryEntry): boolean {
|
||||
if (
|
||||
this.selector.target.device?.manufacturer &&
|
||||
device.manufacturer !== this.selector.target.device.manufacturer
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
if (
|
||||
this.selector.target.device?.model &&
|
||||
device.model !== this.selector.target.device.model
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
if (this.selector.target.device?.integration) {
|
||||
if (
|
||||
!this._configEntries?.some((entry) =>
|
||||
device.config_entries.includes(entry.entry_id)
|
||||
)
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private async _loadConfigEntries() {
|
||||
this._configEntries = (await getConfigEntries(this.hass)).filter(
|
||||
(entry) => entry.domain === this.selector.target.device?.integration
|
||||
);
|
||||
}
|
||||
|
||||
static get styles(): CSSResult {
|
||||
return css`
|
||||
ha-target-picker {
|
||||
margin: 0 -8px;
|
||||
display: block;
|
||||
}
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ha-selector-target": HaTargetSelector;
|
||||
}
|
||||
}
|
@@ -5,11 +5,9 @@ import { HomeAssistant } from "../../types";
|
||||
import "./ha-selector-entity";
|
||||
import "./ha-selector-device";
|
||||
import "./ha-selector-area";
|
||||
import "./ha-selector-target";
|
||||
import "./ha-selector-number";
|
||||
import "./ha-selector-boolean";
|
||||
import "./ha-selector-time";
|
||||
import "./ha-selector-action";
|
||||
import { Selector } from "../../data/selector";
|
||||
|
||||
@customElement("ha-selector")
|
||||
|
@@ -18,6 +18,11 @@ export class HaSettingsRow extends LitElement {
|
||||
|
||||
protected render(): SVGTemplateResult {
|
||||
return html`
|
||||
<style>
|
||||
paper-item-body {
|
||||
padding-right: 16px;
|
||||
}
|
||||
</style>
|
||||
<paper-item-body
|
||||
?two-line=${!this.threeLine}
|
||||
?three-line=${this.threeLine}
|
||||
@@ -38,14 +43,6 @@ export class HaSettingsRow extends LitElement {
|
||||
align-self: auto;
|
||||
align-items: center;
|
||||
}
|
||||
paper-item-body {
|
||||
padding: 8px 16px 8px 0;
|
||||
}
|
||||
paper-item-body[two-line] {
|
||||
min-height: calc(
|
||||
var(--paper-item-body-two-line-min-height, 72px) - 16px
|
||||
);
|
||||
}
|
||||
:host([narrow]) {
|
||||
align-items: normal;
|
||||
flex-direction: column;
|
||||
@@ -55,9 +52,6 @@ export class HaSettingsRow extends LitElement {
|
||||
::slotted(ha-switch) {
|
||||
padding: 16px 0;
|
||||
}
|
||||
div[secondary] {
|
||||
white-space: normal;
|
||||
}
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
@@ -1,605 +0,0 @@
|
||||
import {
|
||||
css,
|
||||
CSSResult,
|
||||
customElement,
|
||||
html,
|
||||
internalProperty,
|
||||
LitElement,
|
||||
property,
|
||||
query,
|
||||
unsafeCSS,
|
||||
} from "lit-element";
|
||||
import { HomeAssistant } from "../types";
|
||||
// @ts-ignore
|
||||
import chipStyles from "@material/chips/dist/mdc.chips.min.css";
|
||||
import {
|
||||
mdiSofa,
|
||||
mdiDevices,
|
||||
mdiClose,
|
||||
mdiPlus,
|
||||
mdiUnfoldMoreVertical,
|
||||
} from "@mdi/js";
|
||||
import "./ha-svg-icon";
|
||||
import "./ha-icon";
|
||||
import "@material/mwc-icon-button/mwc-icon-button";
|
||||
import { classMap } from "lit-html/directives/class-map";
|
||||
import "@material/mwc-button/mwc-button";
|
||||
import { UnsubscribeFunc } from "home-assistant-js-websocket";
|
||||
import {
|
||||
AreaRegistryEntry,
|
||||
subscribeAreaRegistry,
|
||||
} from "../data/area_registry";
|
||||
import {
|
||||
computeDeviceName,
|
||||
DeviceRegistryEntry,
|
||||
subscribeDeviceRegistry,
|
||||
} from "../data/device_registry";
|
||||
import {
|
||||
EntityRegistryEntry,
|
||||
subscribeEntityRegistry,
|
||||
} from "../data/entity_registry";
|
||||
import { SubscribeMixin } from "../mixins/subscribe-mixin";
|
||||
import { computeStateName } from "../common/entity/compute_state_name";
|
||||
import { stateIcon } from "../common/entity/state_icon";
|
||||
import { fireEvent } from "../common/dom/fire_event";
|
||||
import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker";
|
||||
import { computeDomain } from "../common/entity/compute_domain";
|
||||
import { Target } from "../data/target";
|
||||
import { ensureArray } from "../common/ensure-array";
|
||||
import "./entity/ha-entity-picker";
|
||||
import "./device/ha-device-picker";
|
||||
import "./ha-area-picker";
|
||||
import type { HaEntityPickerEntityFilterFunc } from "./entity/ha-entity-picker";
|
||||
import "@polymer/paper-tooltip/paper-tooltip";
|
||||
|
||||
@customElement("ha-target-picker")
|
||||
export class HaTargetPicker extends SubscribeMixin(LitElement) {
|
||||
@property() public hass!: HomeAssistant;
|
||||
|
||||
@property() public value?: Target;
|
||||
|
||||
@property() public label?: string;
|
||||
|
||||
/**
|
||||
* Show only targets with entities from specific domains.
|
||||
* @type {Array}
|
||||
* @attr include-domains
|
||||
*/
|
||||
@property({ type: Array, attribute: "include-domains" })
|
||||
public includeDomains?: string[];
|
||||
|
||||
/**
|
||||
* Show only targets with entities of these device classes.
|
||||
* @type {Array}
|
||||
* @attr include-device-classes
|
||||
*/
|
||||
@property({ type: Array, attribute: "include-device-classes" })
|
||||
public includeDeviceClasses?: string[];
|
||||
|
||||
@property() public deviceFilter?: HaDevicePickerDeviceFilterFunc;
|
||||
|
||||
@property() public entityRegFilter?: (entity: EntityRegistryEntry) => boolean;
|
||||
|
||||
@property() public entityFilter?: HaEntityPickerEntityFilterFunc;
|
||||
|
||||
@internalProperty() private _areas?: { [areaId: string]: AreaRegistryEntry };
|
||||
|
||||
@internalProperty() private _devices?: {
|
||||
[deviceId: string]: DeviceRegistryEntry;
|
||||
};
|
||||
|
||||
@internalProperty() private _entities?: EntityRegistryEntry[];
|
||||
|
||||
@internalProperty() private _addMode?: "area_id" | "entity_id" | "device_id";
|
||||
|
||||
@query("#input") private _inputElement?;
|
||||
|
||||
public hassSubscribe(): UnsubscribeFunc[] {
|
||||
return [
|
||||
subscribeAreaRegistry(this.hass.connection!, (areas) => {
|
||||
const areaLookup: { [areaId: string]: AreaRegistryEntry } = {};
|
||||
for (const area of areas) {
|
||||
areaLookup[area.area_id] = area;
|
||||
}
|
||||
this._areas = areaLookup;
|
||||
}),
|
||||
subscribeDeviceRegistry(this.hass.connection!, (devices) => {
|
||||
const deviceLookup: { [deviceId: string]: DeviceRegistryEntry } = {};
|
||||
for (const device of devices) {
|
||||
deviceLookup[device.id] = device;
|
||||
}
|
||||
this._devices = deviceLookup;
|
||||
}),
|
||||
subscribeEntityRegistry(this.hass.connection!, (entities) => {
|
||||
this._entities = entities;
|
||||
}),
|
||||
];
|
||||
}
|
||||
|
||||
protected render() {
|
||||
if (!this._areas || !this._devices || !this._entities) {
|
||||
return html``;
|
||||
}
|
||||
return html`<div class="mdc-chip-set items">
|
||||
${ensureArray(this.value?.area_id)?.map((area_id) => {
|
||||
const area = this._areas![area_id];
|
||||
return this._renderChip(
|
||||
"area_id",
|
||||
area_id,
|
||||
area?.name || area_id,
|
||||
undefined,
|
||||
mdiSofa
|
||||
);
|
||||
})}
|
||||
${ensureArray(this.value?.device_id)?.map((device_id) => {
|
||||
const device = this._devices![device_id];
|
||||
return this._renderChip(
|
||||
"device_id",
|
||||
device_id,
|
||||
device ? computeDeviceName(device, this.hass) : device_id,
|
||||
undefined,
|
||||
mdiDevices
|
||||
);
|
||||
})}
|
||||
${ensureArray(this.value?.entity_id)?.map((entity_id) => {
|
||||
const entity = this.hass.states[entity_id];
|
||||
return this._renderChip(
|
||||
"entity_id",
|
||||
entity_id,
|
||||
entity ? computeStateName(entity) : entity_id,
|
||||
entity ? stateIcon(entity) : undefined
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
${this._renderPicker()}
|
||||
<div class="mdc-chip-set">
|
||||
<div
|
||||
class="mdc-chip area_id add"
|
||||
.type=${"area_id"}
|
||||
@click=${this._showPicker}
|
||||
>
|
||||
<div class="mdc-chip__ripple"></div>
|
||||
<ha-svg-icon
|
||||
class="mdc-chip__icon mdc-chip__icon--leading"
|
||||
.path=${mdiPlus}
|
||||
></ha-svg-icon>
|
||||
<span role="gridcell">
|
||||
<span role="button" tabindex="0" class="mdc-chip__primary-action">
|
||||
<span class="mdc-chip__text"
|
||||
>${this.hass.localize(
|
||||
"ui.components.target-picker.add_area_id"
|
||||
)}</span
|
||||
>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
class="mdc-chip device_id add"
|
||||
.type=${"device_id"}
|
||||
@click=${this._showPicker}
|
||||
>
|
||||
<div class="mdc-chip__ripple"></div>
|
||||
<ha-svg-icon
|
||||
class="mdc-chip__icon mdc-chip__icon--leading"
|
||||
.path=${mdiPlus}
|
||||
></ha-svg-icon>
|
||||
<span role="gridcell">
|
||||
<span role="button" tabindex="0" class="mdc-chip__primary-action">
|
||||
<span class="mdc-chip__text"
|
||||
>${this.hass.localize(
|
||||
"ui.components.target-picker.add_device_id"
|
||||
)}</span
|
||||
>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
class="mdc-chip entity_id add"
|
||||
.type=${"entity_id"}
|
||||
@click=${this._showPicker}
|
||||
>
|
||||
<div class="mdc-chip__ripple"></div>
|
||||
<ha-svg-icon
|
||||
class="mdc-chip__icon mdc-chip__icon--leading"
|
||||
.path=${mdiPlus}
|
||||
></ha-svg-icon>
|
||||
<span role="gridcell">
|
||||
<span role="button" tabindex="0" class="mdc-chip__primary-action">
|
||||
<span class="mdc-chip__text"
|
||||
>${this.hass.localize(
|
||||
"ui.components.target-picker.add_entity_id"
|
||||
)}</span
|
||||
>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>`;
|
||||
}
|
||||
|
||||
private async _showPicker(ev) {
|
||||
this._addMode = ev.currentTarget.type;
|
||||
await this.updateComplete;
|
||||
setTimeout(() => {
|
||||
this._inputElement?.open();
|
||||
this._inputElement?.focus();
|
||||
}, 0);
|
||||
}
|
||||
|
||||
private _renderChip(
|
||||
type: string,
|
||||
id: string,
|
||||
name: string,
|
||||
icon?: string,
|
||||
iconPath?: string
|
||||
) {
|
||||
return html`
|
||||
<div
|
||||
class="mdc-chip ${classMap({
|
||||
[type]: true,
|
||||
})}"
|
||||
>
|
||||
${iconPath
|
||||
? html`<ha-svg-icon
|
||||
class="mdc-chip__icon mdc-chip__icon--leading"
|
||||
.path=${iconPath}
|
||||
></ha-svg-icon>`
|
||||
: ""}
|
||||
${icon
|
||||
? html`<ha-icon
|
||||
class="mdc-chip__icon mdc-chip__icon--leading"
|
||||
.icon=${icon}
|
||||
></ha-icon>`
|
||||
: ""}
|
||||
<span role="gridcell">
|
||||
<span role="button" tabindex="0" class="mdc-chip__primary-action">
|
||||
<span class="mdc-chip__text">${name}</span>
|
||||
</span>
|
||||
</span>
|
||||
${type === "entity_id"
|
||||
? ""
|
||||
: html` <span role="gridcell">
|
||||
<mwc-icon-button
|
||||
class="expand-btn mdc-chip__icon mdc-chip__icon--trailing"
|
||||
tabindex="-1"
|
||||
role="button"
|
||||
.label=${"Expand"}
|
||||
.id=${id}
|
||||
.type=${type}
|
||||
@click=${this._handleExpand}
|
||||
>
|
||||
<ha-svg-icon .path=${mdiUnfoldMoreVertical}></ha-svg-icon>
|
||||
</mwc-icon-button>
|
||||
<paper-tooltip class="expand" animation-delay="0"
|
||||
>${this.hass.localize(
|
||||
`ui.components.target-picker.expand_${type}`
|
||||
)}</paper-tooltip
|
||||
>
|
||||
</span>`}
|
||||
<span role="gridcell">
|
||||
<mwc-icon-button
|
||||
class="mdc-chip__icon mdc-chip__icon--trailing"
|
||||
tabindex="-1"
|
||||
role="button"
|
||||
.label=${"Remove"}
|
||||
.id=${id}
|
||||
.type=${type}
|
||||
@click=${this._handleRemove}
|
||||
>
|
||||
<ha-svg-icon .path=${mdiClose}></ha-svg-icon>
|
||||
</mwc-icon-button>
|
||||
<paper-tooltip animation-delay="0"
|
||||
>${this.hass.localize(
|
||||
`ui.components.target-picker.remove_${type}`
|
||||
)}</paper-tooltip
|
||||
>
|
||||
</span>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
private _renderPicker() {
|
||||
switch (this._addMode) {
|
||||
case "area_id":
|
||||
return html`<ha-area-picker
|
||||
.hass=${this.hass}
|
||||
id="input"
|
||||
.type=${"area_id"}
|
||||
.label=${this.hass.localize(
|
||||
"ui.components.target-picker.add_area_id"
|
||||
)}
|
||||
no-add
|
||||
.deviceFilter=${this.deviceFilter}
|
||||
.entityFilter=${this.entityRegFilter}
|
||||
.includeDeviceClasses=${this.includeDeviceClasses}
|
||||
.includeDomains=${this.includeDomains}
|
||||
@value-changed=${this._targetPicked}
|
||||
></ha-area-picker>`;
|
||||
case "device_id":
|
||||
return html`<ha-device-picker
|
||||
.hass=${this.hass}
|
||||
id="input"
|
||||
.type=${"device_id"}
|
||||
.label=${this.hass.localize(
|
||||
"ui.components.target-picker.add_device_id"
|
||||
)}
|
||||
.deviceFilter=${this.deviceFilter}
|
||||
.entityFilter=${this.entityRegFilter}
|
||||
.includeDeviceClasses=${this.includeDeviceClasses}
|
||||
.includeDomains=${this.includeDomains}
|
||||
@value-changed=${this._targetPicked}
|
||||
></ha-device-picker>`;
|
||||
case "entity_id":
|
||||
return html`<ha-entity-picker
|
||||
.hass=${this.hass}
|
||||
id="input"
|
||||
.type=${"entity_id"}
|
||||
.label=${this.hass.localize(
|
||||
"ui.components.target-picker.add_entity_id"
|
||||
)}
|
||||
.entityFilter=${this.entityFilter}
|
||||
.includeDeviceClasses=${this.includeDeviceClasses}
|
||||
.includeDomains=${this.includeDomains}
|
||||
@value-changed=${this._targetPicked}
|
||||
></ha-entity-picker>`;
|
||||
}
|
||||
return html``;
|
||||
}
|
||||
|
||||
private _targetPicked(ev) {
|
||||
ev.stopPropagation();
|
||||
if (!ev.detail.value) {
|
||||
return;
|
||||
}
|
||||
const value = ev.detail.value;
|
||||
const target = ev.currentTarget;
|
||||
target.value = "";
|
||||
this._addMode = undefined;
|
||||
fireEvent(this, "value-changed", {
|
||||
value: this.value
|
||||
? {
|
||||
...this.value,
|
||||
[target.type]: this.value[target.type]
|
||||
? [...ensureArray(this.value[target.type]), value]
|
||||
: value,
|
||||
}
|
||||
: { [target.type]: value },
|
||||
});
|
||||
}
|
||||
|
||||
private _handleExpand(ev) {
|
||||
const target = ev.currentTarget as any;
|
||||
const newDevices: string[] = [];
|
||||
const newEntities: string[] = [];
|
||||
if (target.type === "area_id") {
|
||||
Object.values(this._devices!).forEach((device) => {
|
||||
if (
|
||||
device.area_id === target.id &&
|
||||
!this.value!.device_id?.includes(device.id) &&
|
||||
this._deviceMeetsFilter(device)
|
||||
) {
|
||||
newDevices.push(device.id);
|
||||
}
|
||||
});
|
||||
this._entities!.forEach((entity) => {
|
||||
if (
|
||||
entity.area_id === target.id &&
|
||||
!this.value!.entity_id?.includes(entity.entity_id) &&
|
||||
this._entityRegMeetsFilter(entity)
|
||||
) {
|
||||
newEntities.push(entity.entity_id);
|
||||
}
|
||||
});
|
||||
} else if (target.type === "device_id") {
|
||||
this._entities!.forEach((entity) => {
|
||||
if (
|
||||
entity.device_id === target.id &&
|
||||
!this.value!.entity_id?.includes(entity.entity_id) &&
|
||||
this._entityRegMeetsFilter(entity)
|
||||
) {
|
||||
newEntities.push(entity.entity_id);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
let value = this.value;
|
||||
if (newEntities.length) {
|
||||
value = this._addItems(value, "entity_id", newEntities);
|
||||
}
|
||||
if (newDevices.length) {
|
||||
value = this._addItems(value, "device_id", newDevices);
|
||||
}
|
||||
value = this._removeItem(value, target.type, target.id);
|
||||
fireEvent(this, "value-changed", { value });
|
||||
}
|
||||
|
||||
private _handleRemove(ev) {
|
||||
const target = ev.currentTarget as any;
|
||||
fireEvent(this, "value-changed", {
|
||||
value: this._removeItem(this.value, target.type, target.id),
|
||||
});
|
||||
}
|
||||
|
||||
private _addItems(
|
||||
value: this["value"],
|
||||
type: string,
|
||||
ids: string[]
|
||||
): this["value"] {
|
||||
return {
|
||||
...value,
|
||||
[type]: value![type] ? ensureArray(value![type])!.concat(ids) : ids,
|
||||
};
|
||||
}
|
||||
|
||||
private _removeItem(
|
||||
value: this["value"],
|
||||
type: string,
|
||||
id: string
|
||||
): this["value"] {
|
||||
const newVal = ensureArray(value![type])!.filter((val) => val !== id);
|
||||
if (newVal.length) {
|
||||
return {
|
||||
...value,
|
||||
[type]: newVal,
|
||||
};
|
||||
}
|
||||
const val = { ...value }!;
|
||||
delete val[type];
|
||||
if (Object.keys(val).length) {
|
||||
return val;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
private _deviceMeetsFilter(device: DeviceRegistryEntry): boolean {
|
||||
const devEntities = this._entities?.filter(
|
||||
(entity) => entity.device_id === device.id
|
||||
);
|
||||
if (this.includeDomains) {
|
||||
if (!devEntities || !devEntities.length) {
|
||||
return false;
|
||||
}
|
||||
if (
|
||||
!devEntities.some((entity) =>
|
||||
this.includeDomains!.includes(computeDomain(entity.entity_id))
|
||||
)
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (this.includeDeviceClasses) {
|
||||
if (!devEntities || !devEntities.length) {
|
||||
return false;
|
||||
}
|
||||
if (
|
||||
!devEntities.some((entity) => {
|
||||
const stateObj = this.hass.states[entity.entity_id];
|
||||
if (!stateObj) {
|
||||
return false;
|
||||
}
|
||||
return (
|
||||
stateObj.attributes.device_class &&
|
||||
this.includeDeviceClasses!.includes(
|
||||
stateObj.attributes.device_class
|
||||
)
|
||||
);
|
||||
})
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (this.deviceFilter) {
|
||||
return this.deviceFilter(device);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private _entityRegMeetsFilter(entity: EntityRegistryEntry): boolean {
|
||||
if (
|
||||
this.includeDomains &&
|
||||
!this.includeDomains.includes(computeDomain(entity.entity_id))
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
if (this.includeDeviceClasses) {
|
||||
const stateObj = this.hass.states[entity.entity_id];
|
||||
if (!stateObj) {
|
||||
return false;
|
||||
}
|
||||
if (
|
||||
!stateObj.attributes.device_class ||
|
||||
!this.includeDeviceClasses!.includes(stateObj.attributes.device_class)
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (this.entityRegFilter) {
|
||||
return this.entityRegFilter(entity);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
static get styles(): CSSResult {
|
||||
return css`
|
||||
${unsafeCSS(chipStyles)}
|
||||
.mdc-chip {
|
||||
color: var(--primary-text-color);
|
||||
}
|
||||
.items {
|
||||
z-index: 2;
|
||||
}
|
||||
.mdc-chip.add {
|
||||
color: rgba(0, 0, 0, 0.87);
|
||||
}
|
||||
.mdc-chip:not(.add) {
|
||||
cursor: default;
|
||||
}
|
||||
.mdc-chip mwc-icon-button {
|
||||
--mdc-icon-button-size: 24px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
outline: none;
|
||||
}
|
||||
.mdc-chip mwc-icon-button ha-svg-icon {
|
||||
border-radius: 50%;
|
||||
background: var(--secondary-text-color);
|
||||
}
|
||||
.mdc-chip__icon.mdc-chip__icon--trailing {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
--mdc-icon-size: 14px;
|
||||
color: var(--card-background-color);
|
||||
}
|
||||
.mdc-chip__icon--leading {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
--mdc-icon-size: 20px;
|
||||
border-radius: 50%;
|
||||
padding: 6px;
|
||||
margin-left: -14px !important;
|
||||
}
|
||||
.expand-btn {
|
||||
margin-right: 0;
|
||||
}
|
||||
.mdc-chip.area_id:not(.add) {
|
||||
border: 2px solid #fed6a4;
|
||||
background: var(--card-background-color);
|
||||
}
|
||||
.mdc-chip.area_id:not(.add) .mdc-chip__icon--leading,
|
||||
.mdc-chip.area_id.add {
|
||||
background: #fed6a4;
|
||||
}
|
||||
.mdc-chip.device_id:not(.add) {
|
||||
border: 2px solid #a8e1fb;
|
||||
background: var(--card-background-color);
|
||||
}
|
||||
.mdc-chip.device_id:not(.add) .mdc-chip__icon--leading,
|
||||
.mdc-chip.device_id.add {
|
||||
background: #a8e1fb;
|
||||
}
|
||||
.mdc-chip.entity_id:not(.add) {
|
||||
border: 2px solid #d2e7b9;
|
||||
background: var(--card-background-color);
|
||||
}
|
||||
.mdc-chip.entity_id:not(.add) .mdc-chip__icon--leading,
|
||||
.mdc-chip.entity_id.add {
|
||||
background: #d2e7b9;
|
||||
}
|
||||
.mdc-chip:hover {
|
||||
z-index: 5;
|
||||
}
|
||||
paper-tooltip.expand {
|
||||
min-width: 200px;
|
||||
}
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ha-target-picker": HaTargetPicker;
|
||||
}
|
||||
}
|
@@ -6,7 +6,7 @@ import { navigate } from "../common/navigate";
|
||||
import { Context, HomeAssistant } from "../types";
|
||||
import { BlueprintInput } from "./blueprint";
|
||||
import { DeviceCondition, DeviceTrigger } from "./device_automation";
|
||||
import { Action, MODES } from "./script";
|
||||
import { Action } from "./script";
|
||||
|
||||
export interface AutomationEntity extends HassEntityBase {
|
||||
attributes: HassEntityAttributeBase & {
|
||||
@@ -26,7 +26,7 @@ export interface ManualAutomationConfig {
|
||||
trigger: Trigger[];
|
||||
condition?: Condition[];
|
||||
action: Action[];
|
||||
mode?: typeof MODES[number];
|
||||
mode?: "single" | "restart" | "queued" | "parallel";
|
||||
max?: number;
|
||||
}
|
||||
|
||||
|
@@ -17,7 +17,6 @@ export interface DeviceRegistryEntry {
|
||||
area_id?: string;
|
||||
name_by_user?: string;
|
||||
entry_type: "service" | null;
|
||||
disabled_by: string | null;
|
||||
}
|
||||
|
||||
export interface DeviceEntityLookup {
|
||||
@@ -27,7 +26,6 @@ export interface DeviceEntityLookup {
|
||||
export interface DeviceRegistryEntryMutableParams {
|
||||
area_id?: string | null;
|
||||
name_by_user?: string | null;
|
||||
disabled_by?: string | null;
|
||||
}
|
||||
|
||||
export const fallbackDeviceName = (
|
||||
|
@@ -7,13 +7,13 @@ import { navigate } from "../common/navigate";
|
||||
import { HomeAssistant } from "../types";
|
||||
import { Condition, Trigger } from "./automation";
|
||||
|
||||
export const MODES = ["single", "restart", "queued", "parallel"] as const;
|
||||
export const MODES = ["single", "restart", "queued", "parallel"];
|
||||
export const MODES_MAX = ["queued", "parallel"];
|
||||
|
||||
export interface ScriptEntity extends HassEntityBase {
|
||||
attributes: HassEntityAttributeBase & {
|
||||
last_triggered: string;
|
||||
mode: typeof MODES[number];
|
||||
mode: "single" | "restart" | "queued" | "parallel";
|
||||
current?: number;
|
||||
max?: number;
|
||||
};
|
||||
@@ -23,7 +23,7 @@ export interface ScriptConfig {
|
||||
alias: string;
|
||||
sequence: Action[];
|
||||
icon?: string;
|
||||
mode?: typeof MODES[number];
|
||||
mode?: "single" | "restart" | "queued" | "parallel";
|
||||
max?: number;
|
||||
}
|
||||
|
||||
|
@@ -2,11 +2,9 @@ export type Selector =
|
||||
| EntitySelector
|
||||
| DeviceSelector
|
||||
| AreaSelector
|
||||
| TargetSelector
|
||||
| NumberSelector
|
||||
| BooleanSelector
|
||||
| TimeSelector
|
||||
| ActionSelector;
|
||||
| TimeSelector;
|
||||
|
||||
export interface EntitySelector {
|
||||
entity: {
|
||||
@@ -43,21 +41,6 @@ export interface AreaSelector {
|
||||
};
|
||||
}
|
||||
|
||||
export interface TargetSelector {
|
||||
target: {
|
||||
entity?: {
|
||||
integration?: EntitySelector["entity"]["integration"];
|
||||
domain?: EntitySelector["entity"]["domain"];
|
||||
device_class?: EntitySelector["entity"]["device_class"];
|
||||
};
|
||||
device?: {
|
||||
integration?: DeviceSelector["device"]["integration"];
|
||||
manufacturer?: DeviceSelector["device"]["manufacturer"];
|
||||
model?: DeviceSelector["device"]["model"];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
export interface NumberSelector {
|
||||
number: {
|
||||
min: number;
|
||||
@@ -77,8 +60,3 @@ export interface TimeSelector {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
time: {};
|
||||
}
|
||||
|
||||
export interface ActionSelector {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
action: {};
|
||||
}
|
||||
|
@@ -1,5 +0,0 @@
|
||||
export interface Target {
|
||||
entity_id?: string[];
|
||||
device_id?: string[];
|
||||
area_id?: string[];
|
||||
}
|
@@ -20,7 +20,6 @@ export interface User {
|
||||
|
||||
export interface UpdateUserParams {
|
||||
name?: User["name"];
|
||||
is_active?: User["is_active"];
|
||||
group_ids?: User["group_ids"];
|
||||
}
|
||||
|
||||
|
@@ -17,17 +17,17 @@ import "../../components/ha-switch";
|
||||
import { PolymerChangedEvent } from "../../polymer-types";
|
||||
import { haStyleDialog } from "../../resources/styles";
|
||||
import { HomeAssistant } from "../../types";
|
||||
import { DialogBoxParams } from "./show-dialog-box";
|
||||
import { DialogParams } from "./show-dialog-box";
|
||||
|
||||
@customElement("dialog-box")
|
||||
class DialogBox extends LitElement {
|
||||
@property({ attribute: false }) public hass!: HomeAssistant;
|
||||
|
||||
@internalProperty() private _params?: DialogBoxParams;
|
||||
@internalProperty() private _params?: DialogParams;
|
||||
|
||||
@internalProperty() private _value?: string;
|
||||
|
||||
public async showDialog(params: DialogBoxParams): Promise<void> {
|
||||
public async showDialog(params: DialogParams): Promise<void> {
|
||||
this._params = params;
|
||||
if (params.prompt) {
|
||||
this._value = params.defaultValue;
|
||||
@@ -55,8 +55,8 @@ class DialogBox extends LitElement {
|
||||
return html`
|
||||
<ha-dialog
|
||||
open
|
||||
?scrimClickAction=${confirmPrompt}
|
||||
?escapeKeyAction=${confirmPrompt}
|
||||
?scrimClickAction=${this._params.prompt}
|
||||
?escapeKeyAction=${this._params.prompt}
|
||||
@closed=${this._dialogClosed}
|
||||
defaultAction="ignore"
|
||||
.heading=${this._params.title
|
||||
@@ -140,10 +140,10 @@ class DialogBox extends LitElement {
|
||||
}
|
||||
|
||||
private _dialogClosed(ev) {
|
||||
if (this._params?.prompt && ev.detail.action === "ignore") {
|
||||
if (ev.detail.action === "ignore") {
|
||||
return;
|
||||
}
|
||||
this._dismiss();
|
||||
this.closeDialog();
|
||||
}
|
||||
|
||||
private _close(): void {
|
||||
|
@@ -1,31 +1,31 @@
|
||||
import { TemplateResult } from "lit-html";
|
||||
import { fireEvent } from "../../common/dom/fire_event";
|
||||
|
||||
interface BaseDialogBoxParams {
|
||||
interface BaseDialogParams {
|
||||
confirmText?: string;
|
||||
text?: string | TemplateResult;
|
||||
title?: string;
|
||||
warning?: boolean;
|
||||
}
|
||||
|
||||
export interface AlertDialogParams extends BaseDialogBoxParams {
|
||||
export interface AlertDialogParams extends BaseDialogParams {
|
||||
confirm?: () => void;
|
||||
}
|
||||
|
||||
export interface ConfirmationDialogParams extends BaseDialogBoxParams {
|
||||
export interface ConfirmationDialogParams extends BaseDialogParams {
|
||||
dismissText?: string;
|
||||
confirm?: () => void;
|
||||
cancel?: () => void;
|
||||
}
|
||||
|
||||
export interface PromptDialogParams extends BaseDialogBoxParams {
|
||||
export interface PromptDialogParams extends BaseDialogParams {
|
||||
inputLabel?: string;
|
||||
inputType?: string;
|
||||
defaultValue?: string;
|
||||
confirm?: (out?: string) => void;
|
||||
}
|
||||
|
||||
export interface DialogBoxParams
|
||||
export interface DialogParams
|
||||
extends ConfirmationDialogParams,
|
||||
PromptDialogParams {
|
||||
confirm?: (out?: string) => void;
|
||||
@@ -37,10 +37,10 @@ export const loadGenericDialog = () => import("./dialog-box");
|
||||
|
||||
const showDialogHelper = (
|
||||
element: HTMLElement,
|
||||
dialogParams: DialogBoxParams,
|
||||
dialogParams: DialogParams,
|
||||
extra?: {
|
||||
confirmation?: DialogBoxParams["confirmation"];
|
||||
prompt?: DialogBoxParams["prompt"];
|
||||
confirmation?: DialogParams["confirmation"];
|
||||
prompt?: DialogParams["prompt"];
|
||||
}
|
||||
) =>
|
||||
new Promise((resolve) => {
|
||||
|
@@ -44,7 +44,7 @@ class MoreInfoSun extends LitElement {
|
||||
>
|
||||
<ha-relative-time
|
||||
.hass=${this.hass}
|
||||
.datetime=${item === "ris" ? risingDate : settingDate}
|
||||
.datetimeObj=${item === "ris" ? risingDate : settingDate}
|
||||
></ha-relative-time>
|
||||
</div>
|
||||
<div class="value">
|
||||
|
@@ -60,12 +60,6 @@ export class HaTabsSubpageDataTable extends LitElement {
|
||||
*/
|
||||
@property({ type: Boolean }) public hasFab = false;
|
||||
|
||||
/**
|
||||
* Add an extra rows at the bottom of the datatabel
|
||||
* @type {TemplateResult}
|
||||
*/
|
||||
@property({ attribute: false }) public appendRow?;
|
||||
|
||||
/**
|
||||
* Field with a unique id per entry in data.
|
||||
* @type {String}
|
||||
@@ -177,7 +171,6 @@ export class HaTabsSubpageDataTable extends LitElement {
|
||||
.noDataText=${this.noDataText}
|
||||
.dir=${computeRTLDirection(this.hass)}
|
||||
.clickable=${this.clickable}
|
||||
.appendRow=${this.appendRow}
|
||||
>
|
||||
${!this.narrow
|
||||
? html`
|
||||
|
@@ -17,7 +17,6 @@ import { PolymerChangedEvent } from "../../../polymer-types";
|
||||
import { haStyleDialog } from "../../../resources/styles";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { AreaRegistryDetailDialogParams } from "./show-dialog-area-registry-detail";
|
||||
import { navigate } from "../../../common/navigate";
|
||||
|
||||
class DialogAreaDetail extends LitElement {
|
||||
@property({ attribute: false }) public hass!: HomeAssistant;
|
||||
@@ -155,8 +154,6 @@ class DialogAreaDetail extends LitElement {
|
||||
} finally {
|
||||
this._submitting = false;
|
||||
}
|
||||
|
||||
navigate(this, "/config/areas/dashboard");
|
||||
}
|
||||
|
||||
static get styles(): CSSResult[] {
|
||||
|
@@ -39,7 +39,7 @@ export class HaWaitForTriggerAction extends LitElement
|
||||
)}
|
||||
>
|
||||
<ha-switch
|
||||
.checked=${continue_on_timeout ?? true}
|
||||
.checked=${continue_on_timeout}
|
||||
@change=${this._continueChanged}
|
||||
></ha-switch>
|
||||
</ha-formfield>
|
||||
|
@@ -18,9 +18,13 @@ import "@polymer/paper-input/paper-textarea";
|
||||
import "@polymer/paper-dropdown-menu/paper-dropdown-menu-light";
|
||||
import "../../../components/entity/ha-entity-toggle";
|
||||
import "@material/mwc-button/mwc-button";
|
||||
import "./trigger/ha-automation-trigger";
|
||||
import "./condition/ha-automation-condition";
|
||||
import "./action/ha-automation-action";
|
||||
import { fireEvent } from "../../../common/dom/fire_event";
|
||||
import { haStyle } from "../../../resources/styles";
|
||||
import { HassEntity } from "home-assistant-js-websocket";
|
||||
import { navigate } from "../../../common/navigate";
|
||||
import {
|
||||
BlueprintOrError,
|
||||
Blueprints,
|
||||
@@ -59,7 +63,7 @@ export class HaBlueprintAutomationEditor extends LitElement {
|
||||
|
||||
protected render() {
|
||||
const blueprint = this._blueprint;
|
||||
return html`<ha-config-section vertical .isWide=${this.isWide}>
|
||||
return html`<ha-config-section .isWide=${this.isWide}>
|
||||
${!this.narrow
|
||||
? html` <span slot="header">${this.config.alias}</span> `
|
||||
: ""}
|
||||
@@ -115,7 +119,7 @@ export class HaBlueprintAutomationEditor extends LitElement {
|
||||
</ha-card>
|
||||
</ha-config-section>
|
||||
|
||||
<ha-config-section vertical .isWide=${this.isWide}>
|
||||
<ha-config-section .isWide=${this.isWide}>
|
||||
<span slot="header"
|
||||
>${this.hass.localize(
|
||||
"ui.panel.config.automation.editor.blueprint.header"
|
||||
@@ -140,6 +144,11 @@ export class HaBlueprintAutomationEditor extends LitElement {
|
||||
"ui.panel.config.automation.editor.blueprint.no_blueprints"
|
||||
)
|
||||
: html`<ha-circular-progress active></ha-circular-progress>`}
|
||||
<mwc-button @click=${this._navigateBlueprints}>
|
||||
${this.hass.localize(
|
||||
"ui.panel.config.automation.editor.blueprint.manage_blueprints"
|
||||
)}
|
||||
</mwc-button>
|
||||
</div>
|
||||
|
||||
${this.config.use_blueprint.path
|
||||
@@ -148,37 +157,41 @@ export class HaBlueprintAutomationEditor extends LitElement {
|
||||
There is an error in this Blueprint: ${blueprint.error}
|
||||
</p>`
|
||||
: html`${blueprint?.metadata.description
|
||||
? html`<p class="card-content pre-line">
|
||||
${blueprint.metadata.description}
|
||||
</p>`
|
||||
? html`<p>${blueprint.metadata.description}</p>`
|
||||
: ""}
|
||||
${blueprint?.metadata?.input &&
|
||||
Object.keys(blueprint.metadata.input).length
|
||||
? Object.entries(blueprint.metadata.input).map(
|
||||
([key, value]) =>
|
||||
html`<ha-settings-row .narrow=${this.narrow}>
|
||||
<span slot="heading">${value?.name || key}</span>
|
||||
<span slot="description">${value?.description}</span>
|
||||
${value?.selector
|
||||
? html`<ha-selector
|
||||
.hass=${this.hass}
|
||||
.selector=${value.selector}
|
||||
.key=${key}
|
||||
.value=${(this.config.use_blueprint.input &&
|
||||
this.config.use_blueprint.input[key]) ||
|
||||
value?.default}
|
||||
@value-changed=${this._inputChanged}
|
||||
></ha-selector>`
|
||||
: html`<paper-input
|
||||
.key=${key}
|
||||
required
|
||||
.value=${this.config.use_blueprint.input &&
|
||||
this.config.use_blueprint.input[key]}
|
||||
@value-changed=${this._inputChanged}
|
||||
no-label-float
|
||||
></paper-input>`}
|
||||
</ha-settings-row>`
|
||||
)
|
||||
? html`<h3>
|
||||
${this.hass.localize(
|
||||
"ui.panel.config.automation.editor.blueprint.inputs"
|
||||
)}
|
||||
</h3>
|
||||
${Object.entries(blueprint.metadata.input).map(
|
||||
([key, value]) =>
|
||||
html`<ha-settings-row .narrow=${this.narrow}>
|
||||
<span slot="heading">${value?.name || key}</span>
|
||||
<span slot="description"
|
||||
>${value?.description}</span
|
||||
>
|
||||
${value?.selector
|
||||
? html`<ha-selector
|
||||
.hass=${this.hass}
|
||||
.selector=${value.selector}
|
||||
.key=${key}
|
||||
.value=${(this.config.use_blueprint.input &&
|
||||
this.config.use_blueprint.input[key]) ||
|
||||
value?.default}
|
||||
@value-changed=${this._inputChanged}
|
||||
></ha-selector>`
|
||||
: html`<paper-input
|
||||
.key=${key}
|
||||
.value=${this.config.use_blueprint.input &&
|
||||
this.config.use_blueprint.input[key]}
|
||||
@value-changed=${this._inputChanged}
|
||||
no-label-float
|
||||
></paper-input>`}
|
||||
</ha-settings-row>`
|
||||
)}`
|
||||
: html`<p class="padding">
|
||||
${this.hass.localize(
|
||||
"ui.panel.config.automation.editor.blueprint.no_inputs"
|
||||
@@ -224,18 +237,12 @@ export class HaBlueprintAutomationEditor extends LitElement {
|
||||
) {
|
||||
return;
|
||||
}
|
||||
const input = { ...this.config.use_blueprint.input, [key]: value };
|
||||
|
||||
if (value === "" || value === undefined) {
|
||||
delete input[key];
|
||||
}
|
||||
|
||||
fireEvent(this, "value-changed", {
|
||||
value: {
|
||||
...this.config!,
|
||||
use_blueprint: {
|
||||
...this.config.use_blueprint,
|
||||
input,
|
||||
input: { ...this.config.use_blueprint.input, [key]: value },
|
||||
},
|
||||
},
|
||||
});
|
||||
@@ -260,18 +267,25 @@ export class HaBlueprintAutomationEditor extends LitElement {
|
||||
});
|
||||
}
|
||||
|
||||
private _navigateBlueprints() {
|
||||
navigate(this, "/config/blueprint");
|
||||
}
|
||||
|
||||
static get styles(): CSSResult[] {
|
||||
return [
|
||||
haStyle,
|
||||
css`
|
||||
ha-card {
|
||||
overflow: hidden;
|
||||
}
|
||||
.padding {
|
||||
padding: 16px;
|
||||
}
|
||||
.pre-line {
|
||||
white-space: pre-line;
|
||||
}
|
||||
.blueprint-picker-container {
|
||||
padding: 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
h3 {
|
||||
margin: 16px;
|
||||
@@ -290,10 +304,10 @@ export class HaBlueprintAutomationEditor extends LitElement {
|
||||
border-top: 1px solid var(--divider-color);
|
||||
}
|
||||
:host(:not([narrow])) ha-settings-row paper-input {
|
||||
width: 60%;
|
||||
width: 50%;
|
||||
}
|
||||
:host(:not([narrow])) ha-settings-row ha-selector {
|
||||
width: 60%;
|
||||
width: 50%;
|
||||
}
|
||||
`,
|
||||
];
|
||||
|
@@ -32,7 +32,6 @@ import "../../../components/ha-svg-icon";
|
||||
import "../../../components/ha-yaml-editor";
|
||||
import { showToast } from "../../../util/toast";
|
||||
import type { HaYamlEditor } from "../../../components/ha-yaml-editor";
|
||||
import { copyToClipboard } from "../../../common/util/copy-clipboard";
|
||||
import {
|
||||
AutomationConfig,
|
||||
AutomationEntity,
|
||||
@@ -207,7 +206,6 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) {
|
||||
? html`<blueprint-automation-editor
|
||||
.hass=${this.hass}
|
||||
.narrow=${this.narrow}
|
||||
.isWide=${this.isWide}
|
||||
.stateObj=${stateObj}
|
||||
.config=${this._config}
|
||||
@value-changed=${this._valueChanged}
|
||||
@@ -215,7 +213,6 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) {
|
||||
: html`<manual-automation-editor
|
||||
.hass=${this.hass}
|
||||
.narrow=${this.narrow}
|
||||
.isWide=${this.isWide}
|
||||
.stateObj=${stateObj}
|
||||
.config=${this._config}
|
||||
@value-changed=${this._valueChanged}
|
||||
@@ -397,7 +394,7 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) {
|
||||
|
||||
private async _copyYaml() {
|
||||
if (this._editor?.yaml) {
|
||||
copyToClipboard(this._editor.yaml);
|
||||
navigator.clipboard.writeText(this._editor.yaml);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -12,7 +12,6 @@ import {
|
||||
internalProperty,
|
||||
query,
|
||||
TemplateResult,
|
||||
css,
|
||||
} from "lit-element";
|
||||
import "../../../components/ha-dialog";
|
||||
import { haStyleDialog } from "../../../resources/styles";
|
||||
@@ -74,9 +73,7 @@ class DialogImportBlueprint extends LitElement {
|
||||
this._result.blueprint.metadata.domain
|
||||
)}
|
||||
<br />
|
||||
<p class="pre-line">
|
||||
${this._result.blueprint.metadata.description}
|
||||
</p>
|
||||
${this._result.blueprint.metadata.description}
|
||||
${this._result.validation_errors
|
||||
? html`
|
||||
<p class="error">
|
||||
@@ -107,16 +104,7 @@ class DialogImportBlueprint extends LitElement {
|
||||
<pre>${this._result.raw_data}</pre>
|
||||
</ha-expansion-panel>`
|
||||
: html`${this.hass.localize(
|
||||
"ui.panel.config.blueprint.add.import_introduction_link",
|
||||
"community_link",
|
||||
html`<a
|
||||
href="https://www.home-assistant.io/get-blueprints"
|
||||
target="_blank"
|
||||
rel="noreferrer noopener"
|
||||
>${this.hass.localize(
|
||||
"ui.panel.config.blueprint.add.community_forums"
|
||||
)}</a
|
||||
>`
|
||||
"ui.panel.config.blueprint.add.import_introduction"
|
||||
)}<paper-input
|
||||
id="input"
|
||||
.label=${this.hass.localize(
|
||||
@@ -211,15 +199,8 @@ class DialogImportBlueprint extends LitElement {
|
||||
}
|
||||
}
|
||||
|
||||
static get styles(): CSSResult[] {
|
||||
return [
|
||||
haStyleDialog,
|
||||
css`
|
||||
.pre-line {
|
||||
white-space: pre-line;
|
||||
}
|
||||
`,
|
||||
];
|
||||
static get styles(): CSSResult {
|
||||
return haStyleDialog;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
import "../../../components/ha-fab";
|
||||
import "@material/mwc-icon-button";
|
||||
import { mdiHelpCircle, mdiDelete, mdiRobot, mdiDownload } from "@mdi/js";
|
||||
import { mdiPlus, mdiHelpCircle, mdiDelete, mdiRobot } from "@mdi/js";
|
||||
import "@polymer/paper-tooltip/paper-tooltip";
|
||||
import {
|
||||
CSSResult,
|
||||
@@ -112,6 +112,7 @@ class HaBlueprintOverview extends LitElement {
|
||||
create: {
|
||||
title: "",
|
||||
type: narrow ? "icon-button" : undefined,
|
||||
width: narrow ? undefined : "180px",
|
||||
template: (_, blueprint: any) =>
|
||||
blueprint.error
|
||||
? ""
|
||||
@@ -125,9 +126,8 @@ class HaBlueprintOverview extends LitElement {
|
||||
"ui.panel.config.blueprint.overview.use_blueprint"
|
||||
)}
|
||||
@click=${(ev) => this._createNew(ev)}
|
||||
>
|
||||
<ha-svg-icon .path=${mdiRobot}></ha-svg-icon>
|
||||
</mwc-icon-button>`
|
||||
><ha-svg-icon .path=${mdiRobot}></ha-svg-icon
|
||||
></mwc-icon-button>`
|
||||
: html`<mwc-button
|
||||
.blueprint=${blueprint}
|
||||
@click=${(ev) => this._createNew(ev)}
|
||||
@@ -170,23 +170,6 @@ class HaBlueprintOverview extends LitElement {
|
||||
"ui.panel.config.blueprint.overview.no_blueprints"
|
||||
)}
|
||||
hasFab
|
||||
.appendRow=${html` <div
|
||||
class="mdc-data-table__cell"
|
||||
style="width: 100%; text-align: center;"
|
||||
role="cell"
|
||||
>
|
||||
<a
|
||||
href="https://www.home-assistant.io/get-blueprints"
|
||||
target="_blank"
|
||||
rel="noreferrer noopener"
|
||||
>
|
||||
<mwc-button
|
||||
>${this.hass.localize(
|
||||
"ui.panel.config.blueprint.overview.discover_more"
|
||||
)}</mwc-button
|
||||
>
|
||||
</a>
|
||||
</div>`}
|
||||
>
|
||||
<mwc-icon-button slot="toolbar-icon" @click=${this._showHelp}>
|
||||
<ha-svg-icon .path=${mdiHelpCircle}></ha-svg-icon>
|
||||
@@ -199,7 +182,7 @@ class HaBlueprintOverview extends LitElement {
|
||||
extended
|
||||
@click=${this._addBlueprint}
|
||||
>
|
||||
<ha-svg-icon slot="icon" .path=${mdiDownload}></ha-svg-icon>
|
||||
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
|
||||
</ha-fab>
|
||||
</hass-tabs-subpage-data-table>
|
||||
`;
|
||||
@@ -212,10 +195,7 @@ class HaBlueprintOverview extends LitElement {
|
||||
${this.hass.localize("ui.panel.config.blueprint.overview.introduction")}
|
||||
<p>
|
||||
<a
|
||||
href="${documentationUrl(
|
||||
this.hass,
|
||||
"/docs/automation/using_blueprints/"
|
||||
)}"
|
||||
href="${documentationUrl(this.hass, "/docs/blueprint/editor/")}"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
|
@@ -8,6 +8,7 @@ import {
|
||||
html,
|
||||
LitElement,
|
||||
property,
|
||||
internalProperty,
|
||||
PropertyValues,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
@@ -30,7 +31,7 @@ export class HaDeviceEntitiesCard extends LitElement {
|
||||
|
||||
@property() public entities!: EntityRegistryStateEntry[];
|
||||
|
||||
@property() public showDisabled = false;
|
||||
@internalProperty() private _showDisabled = false;
|
||||
|
||||
private _entityRows: Array<LovelaceRow | HuiErrorCard> = [];
|
||||
|
||||
@@ -67,7 +68,7 @@ export class HaDeviceEntitiesCard extends LitElement {
|
||||
})}
|
||||
</div>
|
||||
${disabledEntities.length
|
||||
? !this.showDisabled
|
||||
? !this._showDisabled
|
||||
? html`
|
||||
<button
|
||||
class="show-more"
|
||||
@@ -118,7 +119,7 @@ export class HaDeviceEntitiesCard extends LitElement {
|
||||
}
|
||||
|
||||
private _toggleShowDisabled() {
|
||||
this.showDisabled = !this.showDisabled;
|
||||
this._showDisabled = !this._showDisabled;
|
||||
}
|
||||
|
||||
private _renderEntity(entry: EntityRegistryStateEntry): TemplateResult {
|
||||
@@ -226,9 +227,3 @@ export class HaDeviceEntitiesCard extends LitElement {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ha-device-entities-card": HaDeviceEntitiesCard;
|
||||
}
|
||||
}
|
||||
|
@@ -19,11 +19,10 @@ import {
|
||||
|
||||
import { DeviceRegistryDetailDialogParams } from "./show-dialog-device-registry-detail";
|
||||
import { HomeAssistant } from "../../../../types";
|
||||
import type { HaSwitch } from "../../../../components/ha-switch";
|
||||
import { PolymerChangedEvent } from "../../../../polymer-types";
|
||||
import { computeDeviceName } from "../../../../data/device_registry";
|
||||
import { fireEvent } from "../../../../common/dom/fire_event";
|
||||
import { haStyle, haStyleDialog } from "../../../../resources/styles";
|
||||
import { haStyleDialog } from "../../../../resources/styles";
|
||||
|
||||
@customElement("dialog-device-registry-detail")
|
||||
class DialogDeviceRegistryDetail extends LitElement {
|
||||
@@ -37,8 +36,6 @@ class DialogDeviceRegistryDetail extends LitElement {
|
||||
|
||||
@internalProperty() private _areaId?: string;
|
||||
|
||||
@internalProperty() private _disabledBy!: string | null;
|
||||
|
||||
@internalProperty() private _submitting?: boolean;
|
||||
|
||||
public async showDialog(
|
||||
@@ -48,7 +45,6 @@ class DialogDeviceRegistryDetail extends LitElement {
|
||||
this._error = undefined;
|
||||
this._nameByUser = this._params.device.name_by_user || "";
|
||||
this._areaId = this._params.device.area_id;
|
||||
this._disabledBy = this._params.device.disabled_by;
|
||||
await this.updateComplete;
|
||||
}
|
||||
|
||||
@@ -84,32 +80,6 @@ class DialogDeviceRegistryDetail extends LitElement {
|
||||
.value=${this._areaId}
|
||||
@value-changed=${this._areaPicked}
|
||||
></ha-area-picker>
|
||||
<div class="row">
|
||||
<ha-switch
|
||||
.checked=${!this._disabledBy}
|
||||
@change=${this._disabledByChanged}
|
||||
>
|
||||
</ha-switch>
|
||||
<div>
|
||||
<div>
|
||||
${this.hass.localize("ui.panel.config.devices.enabled_label")}
|
||||
</div>
|
||||
<div class="secondary">
|
||||
${this._disabledBy && this._disabledBy !== "user"
|
||||
? this.hass.localize(
|
||||
"ui.panel.config.devices.enabled_cause",
|
||||
"cause",
|
||||
this.hass.localize(
|
||||
`config_entry.disabled_by.${this._disabledBy}`
|
||||
)
|
||||
)
|
||||
: ""}
|
||||
${this.hass.localize(
|
||||
"ui.panel.config.devices.enabled_description"
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<mwc-button
|
||||
@@ -139,17 +109,12 @@ class DialogDeviceRegistryDetail extends LitElement {
|
||||
this._areaId = event.detail.value;
|
||||
}
|
||||
|
||||
private _disabledByChanged(ev: Event): void {
|
||||
this._disabledBy = (ev.target as HaSwitch).checked ? null : "user";
|
||||
}
|
||||
|
||||
private async _updateEntry(): Promise<void> {
|
||||
this._submitting = true;
|
||||
try {
|
||||
await this._params!.updateEntry({
|
||||
name_by_user: this._nameByUser.trim() || null,
|
||||
area_id: this._areaId || null,
|
||||
disabled_by: this._disabledBy || null,
|
||||
});
|
||||
this._params = undefined;
|
||||
} catch (err) {
|
||||
@@ -163,7 +128,6 @@ class DialogDeviceRegistryDetail extends LitElement {
|
||||
|
||||
static get styles(): CSSResult[] {
|
||||
return [
|
||||
haStyle,
|
||||
haStyleDialog,
|
||||
css`
|
||||
.form {
|
||||
@@ -175,15 +139,6 @@ class DialogDeviceRegistryDetail extends LitElement {
|
||||
.error {
|
||||
color: var(--error-color);
|
||||
}
|
||||
ha-switch {
|
||||
margin-right: 16px;
|
||||
}
|
||||
.row {
|
||||
margin-top: 8px;
|
||||
color: var(--primary-text-color);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
|
@@ -46,7 +46,6 @@ import "./device-detail/ha-device-entities-card";
|
||||
import "./device-detail/ha-device-info-card";
|
||||
import { showDeviceAutomationDialog } from "./device-detail/show-dialog-device-automation";
|
||||
import { brandsUrl } from "../../../util/brands-url";
|
||||
import { haStyle } from "../../../resources/styles";
|
||||
|
||||
export interface EntityRegistryStateEntry extends EntityRegistryEntry {
|
||||
stateName?: string | null;
|
||||
@@ -247,28 +246,6 @@ export class HaConfigDevicePage extends LitElement {
|
||||
.devices=${this.devices}
|
||||
.device=${device}
|
||||
>
|
||||
${
|
||||
device.disabled_by
|
||||
? html`
|
||||
<div>
|
||||
<p class="warning">
|
||||
${this.hass.localize(
|
||||
"ui.panel.config.devices.enabled_cause",
|
||||
"cause",
|
||||
this.hass.localize(
|
||||
`ui.panel.config.devices.disabled_by.${device.disabled_by}`
|
||||
)
|
||||
)}
|
||||
</p>
|
||||
</div>
|
||||
<div class="card-actions" slot="actions">
|
||||
<mwc-button unelevated @click=${this._enableDevice}>
|
||||
${this.hass.localize("ui.common.enable")}
|
||||
</mwc-button>
|
||||
</div>
|
||||
`
|
||||
: html``
|
||||
}
|
||||
${this._renderIntegrationInfo(device, integrations)}
|
||||
</ha-device-info-card>
|
||||
|
||||
@@ -278,7 +255,6 @@ export class HaConfigDevicePage extends LitElement {
|
||||
<ha-device-entities-card
|
||||
.hass=${this.hass}
|
||||
.entities=${entities}
|
||||
.showDisabled=${device.disabled_by !== null}
|
||||
>
|
||||
</ha-device-entities-card>
|
||||
`
|
||||
@@ -296,14 +272,9 @@ export class HaConfigDevicePage extends LitElement {
|
||||
)}
|
||||
<ha-icon-button
|
||||
@click=${this._showAutomationDialog}
|
||||
.disabled=${device.disabled_by}
|
||||
title=${device.disabled_by
|
||||
? this.hass.localize(
|
||||
"ui.panel.config.devices.automation.create_disabled"
|
||||
)
|
||||
: this.hass.localize(
|
||||
"ui.panel.config.devices.automation.create"
|
||||
)}
|
||||
title=${this.hass.localize(
|
||||
"ui.panel.config.devices.automation.create"
|
||||
)}
|
||||
icon="hass:plus-circle"
|
||||
></ha-icon-button>
|
||||
</h1>
|
||||
@@ -371,16 +342,9 @@ export class HaConfigDevicePage extends LitElement {
|
||||
|
||||
<ha-icon-button
|
||||
@click=${this._createScene}
|
||||
.disabled=${device.disabled_by}
|
||||
title=${
|
||||
device.disabled_by
|
||||
? this.hass.localize(
|
||||
"ui.panel.config.devices.scene.create_disabled"
|
||||
)
|
||||
: this.hass.localize(
|
||||
"ui.panel.config.devices.scene.create"
|
||||
)
|
||||
}
|
||||
title=${this.hass.localize(
|
||||
"ui.panel.config.devices.scene.create"
|
||||
)}
|
||||
icon="hass:plus-circle"
|
||||
></ha-icon-button>
|
||||
</h1>
|
||||
@@ -451,14 +415,9 @@ export class HaConfigDevicePage extends LitElement {
|
||||
)}
|
||||
<ha-icon-button
|
||||
@click=${this._showScriptDialog}
|
||||
.disabled=${device.disabled_by}
|
||||
title=${device.disabled_by
|
||||
? this.hass.localize(
|
||||
"ui.panel.config.devices.script.create_disabled"
|
||||
)
|
||||
: this.hass.localize(
|
||||
"ui.panel.config.devices.script.create"
|
||||
)}
|
||||
title=${this.hass.localize(
|
||||
"ui.panel.config.devices.script.create"
|
||||
)}
|
||||
icon="hass:plus-circle"
|
||||
></ha-icon-button>
|
||||
</h1>
|
||||
@@ -673,137 +632,128 @@ export class HaConfigDevicePage extends LitElement {
|
||||
});
|
||||
}
|
||||
|
||||
private async _enableDevice(): Promise<void> {
|
||||
await updateDeviceRegistryEntry(this.hass, this.deviceId, {
|
||||
disabled_by: null,
|
||||
});
|
||||
}
|
||||
static get styles(): CSSResult {
|
||||
return css`
|
||||
.container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin: auto;
|
||||
max-width: 1000px;
|
||||
margin-top: 32px;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
|
||||
static get styles(): CSSResult[] {
|
||||
return [
|
||||
haStyle,
|
||||
css`
|
||||
.container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin: auto;
|
||||
max-width: 1000px;
|
||||
margin-top: 32px;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
.card-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.card-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.card-header ha-icon-button {
|
||||
margin-right: -8px;
|
||||
color: var(--primary-color);
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.card-header ha-icon-button {
|
||||
margin-right: -8px;
|
||||
color: var(--primary-color);
|
||||
height: auto;
|
||||
}
|
||||
.device-info {
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.device-info {
|
||||
padding: 16px;
|
||||
}
|
||||
.show-more {
|
||||
}
|
||||
|
||||
.show-more {
|
||||
}
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-family: var(--paper-font-headline_-_font-family);
|
||||
-webkit-font-smoothing: var(
|
||||
--paper-font-headline_-_-webkit-font-smoothing
|
||||
);
|
||||
font-size: var(--paper-font-headline_-_font-size);
|
||||
font-weight: var(--paper-font-headline_-_font-weight);
|
||||
letter-spacing: var(--paper-font-headline_-_letter-spacing);
|
||||
line-height: var(--paper-font-headline_-_line-height);
|
||||
opacity: var(--dark-primary-opacity);
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-family: var(--paper-font-headline_-_font-family);
|
||||
-webkit-font-smoothing: var(
|
||||
--paper-font-headline_-_-webkit-font-smoothing
|
||||
);
|
||||
font-size: var(--paper-font-headline_-_font-size);
|
||||
font-weight: var(--paper-font-headline_-_font-weight);
|
||||
letter-spacing: var(--paper-font-headline_-_letter-spacing);
|
||||
line-height: var(--paper-font-headline_-_line-height);
|
||||
opacity: var(--dark-primary-opacity);
|
||||
}
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.column,
|
||||
.fullwidth {
|
||||
padding: 8px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.column {
|
||||
width: 33%;
|
||||
flex-grow: 1;
|
||||
}
|
||||
.fullwidth {
|
||||
width: 100%;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.column,
|
||||
.fullwidth {
|
||||
padding: 8px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.column {
|
||||
width: 33%;
|
||||
flex-grow: 1;
|
||||
}
|
||||
.fullwidth {
|
||||
width: 100%;
|
||||
flex-grow: 1;
|
||||
}
|
||||
.header-right {
|
||||
align-self: center;
|
||||
}
|
||||
|
||||
.header-right {
|
||||
align-self: center;
|
||||
}
|
||||
.header-right img {
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.header-right img {
|
||||
height: 30px;
|
||||
}
|
||||
.header-right {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.header-right {
|
||||
display: flex;
|
||||
}
|
||||
.header-right:first-child {
|
||||
width: 100%;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.header-right:first-child {
|
||||
width: 100%;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
.header-right > *:not(:first-child) {
|
||||
margin-left: 16px;
|
||||
}
|
||||
|
||||
.header-right > *:not(:first-child) {
|
||||
margin-left: 16px;
|
||||
}
|
||||
.battery {
|
||||
align-self: center;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.battery {
|
||||
align-self: center;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
}
|
||||
.column > *:not(:first-child) {
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.column > *:not(:first-child) {
|
||||
margin-top: 16px;
|
||||
}
|
||||
:host([narrow]) .column {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
:host([narrow]) .column {
|
||||
width: 100%;
|
||||
}
|
||||
:host([narrow]) .container {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
:host([narrow]) .container {
|
||||
margin-top: 0;
|
||||
}
|
||||
paper-item {
|
||||
cursor: pointer;
|
||||
font-size: var(--paper-font-body1_-_font-size);
|
||||
}
|
||||
|
||||
paper-item {
|
||||
cursor: pointer;
|
||||
font-size: var(--paper-font-body1_-_font-size);
|
||||
}
|
||||
paper-item.no-link {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
paper-item.no-link {
|
||||
cursor: default;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: var(--primary-color);
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: var(--primary-color);
|
||||
}
|
||||
ha-card {
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
ha-card {
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
ha-card a {
|
||||
color: var(--primary-text-color);
|
||||
}
|
||||
`,
|
||||
];
|
||||
ha-card a {
|
||||
color: var(--primary-text-color);
|
||||
}
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
@@ -1,9 +1,5 @@
|
||||
import { mdiPlus, mdiFilterVariant, mdiCancel } from "@mdi/js";
|
||||
import "@material/mwc-list/mwc-list-item";
|
||||
import "@polymer/paper-tooltip/paper-tooltip";
|
||||
import { mdiPlus } from "@mdi/js";
|
||||
import {
|
||||
css,
|
||||
CSSResult,
|
||||
customElement,
|
||||
html,
|
||||
internalProperty,
|
||||
@@ -11,9 +7,7 @@ import {
|
||||
property,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { classMap } from "lit-html/directives/class-map";
|
||||
import memoizeOne from "memoize-one";
|
||||
import type { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item";
|
||||
import { HASSDomEvent } from "../../../common/dom/fire_event";
|
||||
import { navigate } from "../../../common/navigate";
|
||||
import { LocalizeFunc } from "../../../common/translations/localize";
|
||||
@@ -24,7 +18,6 @@ import {
|
||||
RowClickedEvent,
|
||||
} from "../../../components/data-table/ha-data-table";
|
||||
import "../../../components/entity/ha-battery-icon";
|
||||
import "../../../components/ha-button-menu";
|
||||
import { AreaRegistryEntry } from "../../../data/area_registry";
|
||||
import { ConfigEntry } from "../../../data/config_entries";
|
||||
import {
|
||||
@@ -41,7 +34,6 @@ import { domainToName } from "../../../data/integration";
|
||||
import "../../../layouts/hass-tabs-subpage-data-table";
|
||||
import { HomeAssistant, Route } from "../../../types";
|
||||
import { configSections } from "../ha-panel-config";
|
||||
import { haStyle } from "../../../resources/styles";
|
||||
|
||||
interface DeviceRowData extends DeviceRegistryEntry {
|
||||
device?: DeviceRowData;
|
||||
@@ -72,12 +64,6 @@ export class HaConfigDeviceDashboard extends LitElement {
|
||||
window.location.search
|
||||
);
|
||||
|
||||
@internalProperty() private _showDisabled = false;
|
||||
|
||||
@internalProperty() private _filter = "";
|
||||
|
||||
@internalProperty() private _numHiddenDevices = 0;
|
||||
|
||||
private _activeFilters = memoizeOne(
|
||||
(
|
||||
entries: ConfigEntry[],
|
||||
@@ -88,10 +74,6 @@ export class HaConfigDeviceDashboard extends LitElement {
|
||||
filters.forEach((value, key) => {
|
||||
switch (key) {
|
||||
case "config_entry": {
|
||||
// If we are requested to show the devices for a given config entry,
|
||||
// also show the disabled ones by default.
|
||||
this._showDisabled = true;
|
||||
|
||||
const configEntry = entries.find(
|
||||
(entry) => entry.entry_id === value
|
||||
);
|
||||
@@ -123,7 +105,6 @@ export class HaConfigDeviceDashboard extends LitElement {
|
||||
entities: EntityRegistryEntry[],
|
||||
areas: AreaRegistryEntry[],
|
||||
filters: URLSearchParams,
|
||||
showDisabled: boolean,
|
||||
localize: LocalizeFunc
|
||||
) => {
|
||||
// Some older installations might have devices pointing at invalid entryIDs
|
||||
@@ -136,9 +117,6 @@ export class HaConfigDeviceDashboard extends LitElement {
|
||||
deviceLookup[device.id] = device;
|
||||
}
|
||||
|
||||
// If nothing gets filtered, this is our correct count of devices
|
||||
let startLength = outputDevices.length;
|
||||
|
||||
const deviceEntityLookup: DeviceEntityLookup = {};
|
||||
for (const entity of entities) {
|
||||
if (!entity.device_id) {
|
||||
@@ -167,7 +145,6 @@ export class HaConfigDeviceDashboard extends LitElement {
|
||||
outputDevices = outputDevices.filter((device) =>
|
||||
device.config_entries.includes(value)
|
||||
);
|
||||
startLength = outputDevices.length;
|
||||
const configEntry = entries.find((entry) => entry.entry_id === value);
|
||||
if (configEntry) {
|
||||
filterDomains.push(configEntry.domain);
|
||||
@@ -175,10 +152,6 @@ export class HaConfigDeviceDashboard extends LitElement {
|
||||
}
|
||||
});
|
||||
|
||||
if (!showDisabled) {
|
||||
outputDevices = outputDevices.filter((device) => !device.disabled_by);
|
||||
}
|
||||
|
||||
outputDevices = outputDevices.map((device) => {
|
||||
return {
|
||||
...device,
|
||||
@@ -209,19 +182,16 @@ export class HaConfigDeviceDashboard extends LitElement {
|
||||
};
|
||||
});
|
||||
|
||||
this._numHiddenDevices = startLength - outputDevices.length;
|
||||
return { devicesOutput: outputDevices, filteredDomains: filterDomains };
|
||||
}
|
||||
);
|
||||
|
||||
private _columns = memoizeOne(
|
||||
(narrow: boolean, showDisabled: boolean): DataTableColumnContainer => {
|
||||
(narrow: boolean): DataTableColumnContainer => {
|
||||
const columns: DataTableColumnContainer = narrow
|
||||
? {
|
||||
name: {
|
||||
title: this.hass.localize(
|
||||
"ui.panel.config.devices.data_table.device"
|
||||
),
|
||||
title: "Device",
|
||||
sortable: true,
|
||||
filterable: true,
|
||||
direction: "asc",
|
||||
@@ -307,24 +277,6 @@ export class HaConfigDeviceDashboard extends LitElement {
|
||||
: html` - `;
|
||||
},
|
||||
};
|
||||
if (showDisabled) {
|
||||
columns.disabled_by = {
|
||||
title: "",
|
||||
type: "icon",
|
||||
template: (disabled_by) =>
|
||||
disabled_by
|
||||
? html`<div
|
||||
tabindex="0"
|
||||
style="display:inline-block; position: relative;"
|
||||
>
|
||||
<ha-svg-icon .path=${mdiCancel}></ha-svg-icon>
|
||||
<paper-tooltip animation-delay="0" position="left">
|
||||
${this.hass.localize("ui.panel.config.devices.disabled")}
|
||||
</paper-tooltip>
|
||||
</div>`
|
||||
: "",
|
||||
};
|
||||
}
|
||||
return columns;
|
||||
}
|
||||
);
|
||||
@@ -346,119 +298,9 @@ export class HaConfigDeviceDashboard extends LitElement {
|
||||
this.entities,
|
||||
this.areas,
|
||||
this._searchParms,
|
||||
this._showDisabled,
|
||||
this.hass.localize
|
||||
);
|
||||
const includeZHAFab = filteredDomains.includes("zha");
|
||||
const activeFilters = this._activeFilters(
|
||||
this.entries,
|
||||
this._searchParms,
|
||||
this.hass.localize
|
||||
);
|
||||
|
||||
const headerToolbar = html`
|
||||
<search-input
|
||||
no-label-float
|
||||
no-underline
|
||||
@value-changed=${this._handleSearchChange}
|
||||
.filter=${this._filter}
|
||||
.label=${this.hass.localize("ui.panel.config.devices.picker.search")}
|
||||
></search-input
|
||||
>${activeFilters
|
||||
? html`<div class="active-filters">
|
||||
${this.narrow
|
||||
? html` <div>
|
||||
<ha-icon icon="hass:filter-variant"></ha-icon>
|
||||
<paper-tooltip animation-delay="0" position="left">
|
||||
${this.hass.localize(
|
||||
"ui.panel.config.filtering.filtering_by"
|
||||
)}
|
||||
${activeFilters.join(", ")}
|
||||
${this._numHiddenDevices
|
||||
? "(" +
|
||||
this.hass.localize(
|
||||
"ui.panel.config.devices.picker.filter.hidden_devices",
|
||||
"number",
|
||||
this._numHiddenDevices
|
||||
) +
|
||||
")"
|
||||
: ""}
|
||||
</paper-tooltip>
|
||||
</div>`
|
||||
: `${this.hass.localize(
|
||||
"ui.panel.config.filtering.filtering_by"
|
||||
)} ${activeFilters.join(", ")}
|
||||
${
|
||||
this._numHiddenDevices
|
||||
? "(" +
|
||||
this.hass.localize(
|
||||
"ui.panel.config.devices.picker.filter.hidden_devices",
|
||||
"number",
|
||||
this._numHiddenDevices
|
||||
) +
|
||||
")"
|
||||
: ""
|
||||
}
|
||||
`}
|
||||
<mwc-button @click=${this._clearFilter}
|
||||
>${this.hass.localize(
|
||||
"ui.panel.config.filtering.clear"
|
||||
)}</mwc-button
|
||||
>
|
||||
</div>`
|
||||
: ""}
|
||||
${this._numHiddenDevices && !activeFilters
|
||||
? html`<div class="active-filters">
|
||||
${this.narrow
|
||||
? html` <div>
|
||||
<ha-icon icon="hass:filter-variant"></ha-icon>
|
||||
<paper-tooltip animation-delay="0" position="left">
|
||||
${this.hass.localize(
|
||||
"ui.panel.config.devices.picker.filter.hidden_devices",
|
||||
"number",
|
||||
this._numHiddenDevices
|
||||
)}
|
||||
</paper-tooltip>
|
||||
</div>`
|
||||
: `${this.hass.localize(
|
||||
"ui.panel.config.devices.picker.filter.hidden_devices",
|
||||
"number",
|
||||
this._numHiddenDevices
|
||||
)}`}
|
||||
<mwc-button @click=${this._showAll}
|
||||
>${this.hass.localize(
|
||||
"ui.panel.config.devices.picker.filter.show_all"
|
||||
)}</mwc-button
|
||||
>
|
||||
</div>`
|
||||
: ""}
|
||||
<ha-button-menu corner="BOTTOM_START" multi>
|
||||
<mwc-icon-button
|
||||
slot="trigger"
|
||||
.label=${this.hass!.localize(
|
||||
"ui.panel.config.devices.picker.filter.filter"
|
||||
)}
|
||||
.title=${this.hass!.localize(
|
||||
"ui.panel.config.devices.picker.filter.filter"
|
||||
)}
|
||||
>
|
||||
<ha-svg-icon .path=${mdiFilterVariant}></ha-svg-icon>
|
||||
</mwc-icon-button>
|
||||
<mwc-list-item
|
||||
@request-selected="${this._showDisabledChanged}"
|
||||
graphic="control"
|
||||
.selected=${this._showDisabled}
|
||||
>
|
||||
<ha-checkbox
|
||||
slot="graphic"
|
||||
.checked=${this._showDisabled}
|
||||
></ha-checkbox>
|
||||
${this.hass!.localize(
|
||||
"ui.panel.config.devices.picker.filter.show_disabled"
|
||||
)}
|
||||
</mwc-list-item>
|
||||
</ha-button-menu>
|
||||
`;
|
||||
|
||||
return html`
|
||||
<hass-tabs-subpage-data-table
|
||||
@@ -469,9 +311,13 @@ export class HaConfigDeviceDashboard extends LitElement {
|
||||
: "/config"}
|
||||
.tabs=${configSections.integrations}
|
||||
.route=${this.route}
|
||||
.columns=${this._columns(this.narrow, this._showDisabled)}
|
||||
.columns=${this._columns(this.narrow)}
|
||||
.data=${devicesOutput}
|
||||
.filter=${this._filter}
|
||||
.activeFilters=${this._activeFilters(
|
||||
this.entries,
|
||||
this._searchParms,
|
||||
this.hass.localize
|
||||
)}
|
||||
@row-click=${this._handleRowClicked}
|
||||
clickable
|
||||
.hasFab=${includeZHAFab}
|
||||
@@ -487,15 +333,6 @@ export class HaConfigDeviceDashboard extends LitElement {
|
||||
</ha-fab>
|
||||
</a>`
|
||||
: html``}
|
||||
<div
|
||||
class=${classMap({
|
||||
"search-toolbar": this.narrow,
|
||||
"table-header": !this.narrow,
|
||||
})}
|
||||
slot="header"
|
||||
>
|
||||
${headerToolbar}
|
||||
</div>
|
||||
</hass-tabs-subpage-data-table>
|
||||
`;
|
||||
}
|
||||
@@ -526,136 +363,6 @@ export class HaConfigDeviceDashboard extends LitElement {
|
||||
const deviceId = ev.detail.id;
|
||||
navigate(this, `/config/devices/device/${deviceId}`);
|
||||
}
|
||||
|
||||
private _showDisabledChanged(ev: CustomEvent<RequestSelectedDetail>) {
|
||||
if (ev.detail.source !== "property") {
|
||||
return;
|
||||
}
|
||||
this._showDisabled = ev.detail.selected;
|
||||
}
|
||||
|
||||
private _handleSearchChange(ev: CustomEvent) {
|
||||
this._filter = ev.detail.value;
|
||||
}
|
||||
|
||||
private _clearFilter() {
|
||||
navigate(this, window.location.pathname, true);
|
||||
}
|
||||
|
||||
private _showAll() {
|
||||
this._showDisabled = true;
|
||||
}
|
||||
|
||||
static get styles(): CSSResult[] {
|
||||
return [
|
||||
haStyle,
|
||||
css`
|
||||
hass-loading-screen {
|
||||
--app-header-background-color: var(--sidebar-background-color);
|
||||
--app-header-text-color: var(--sidebar-text-color);
|
||||
}
|
||||
a {
|
||||
color: var(--primary-color);
|
||||
}
|
||||
h2 {
|
||||
margin-top: 0;
|
||||
font-family: var(--paper-font-headline_-_font-family);
|
||||
-webkit-font-smoothing: var(
|
||||
--paper-font-headline_-_-webkit-font-smoothing
|
||||
);
|
||||
font-size: var(--paper-font-headline_-_font-size);
|
||||
font-weight: var(--paper-font-headline_-_font-weight);
|
||||
letter-spacing: var(--paper-font-headline_-_letter-spacing);
|
||||
line-height: var(--paper-font-headline_-_line-height);
|
||||
opacity: var(--dark-primary-opacity);
|
||||
}
|
||||
p {
|
||||
font-family: var(--paper-font-subhead_-_font-family);
|
||||
-webkit-font-smoothing: var(
|
||||
--paper-font-subhead_-_-webkit-font-smoothing
|
||||
);
|
||||
font-weight: var(--paper-font-subhead_-_font-weight);
|
||||
line-height: var(--paper-font-subhead_-_line-height);
|
||||
}
|
||||
ha-data-table {
|
||||
width: 100%;
|
||||
--data-table-border-width: 0;
|
||||
}
|
||||
:host(:not([narrow])) ha-data-table {
|
||||
height: calc(100vh - 1px - var(--header-height));
|
||||
display: block;
|
||||
}
|
||||
ha-button-menu {
|
||||
margin-right: 8px;
|
||||
}
|
||||
.table-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
border-bottom: 1px solid rgba(var(--rgb-primary-text-color), 0.12);
|
||||
}
|
||||
search-input {
|
||||
margin-left: 16px;
|
||||
flex-grow: 1;
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
.search-toolbar search-input {
|
||||
margin-left: 8px;
|
||||
top: 1px;
|
||||
}
|
||||
.search-toolbar {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
color: var(--secondary-text-color);
|
||||
}
|
||||
.search-toolbar ha-button-menu {
|
||||
position: static;
|
||||
}
|
||||
.selected-txt {
|
||||
font-weight: bold;
|
||||
padding-left: 16px;
|
||||
}
|
||||
.table-header .selected-txt {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.search-toolbar .selected-txt {
|
||||
font-size: 16px;
|
||||
}
|
||||
.header-btns > mwc-button,
|
||||
.header-btns > ha-icon-button {
|
||||
margin: 8px;
|
||||
}
|
||||
.active-filters {
|
||||
color: var(--primary-text-color);
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 2px 2px 2px 8px;
|
||||
margin-left: 4px;
|
||||
font-size: 14px;
|
||||
}
|
||||
.active-filters ha-icon {
|
||||
color: var(--primary-color);
|
||||
}
|
||||
.active-filters mwc-button {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.active-filters::before {
|
||||
background-color: var(--primary-color);
|
||||
opacity: 0.12;
|
||||
border-radius: 4px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
content: "";
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
|
@@ -111,19 +111,10 @@ export class EntityRegistrySettings extends SubscribeMixin(LitElement) {
|
||||
return html`
|
||||
${!stateObj
|
||||
? html`
|
||||
<div class="container warning">
|
||||
<div class="container">
|
||||
${this.hass!.localize(
|
||||
"ui.dialogs.entity_registry.editor.unavailable"
|
||||
)}
|
||||
${this._device?.disabled_by
|
||||
? html`<br />${this.hass!.localize(
|
||||
"ui.dialogs.entity_registry.editor.device_disabled"
|
||||
)}<br /><mwc-button @click=${this._openDeviceSettings}>
|
||||
${this.hass!.localize(
|
||||
"ui.dialogs.entity_registry.editor.open_device_settings"
|
||||
)}
|
||||
</mwc-button>`
|
||||
: ""}
|
||||
</div>
|
||||
`
|
||||
: ""}
|
||||
@@ -170,7 +161,6 @@ export class EntityRegistrySettings extends SubscribeMixin(LitElement) {
|
||||
<div class="row">
|
||||
<ha-switch
|
||||
.checked=${!this._disabledBy}
|
||||
.disabled=${this._device?.disabled_by}
|
||||
@change=${this._disabledByChanged}
|
||||
>
|
||||
</ha-switch>
|
||||
|
@@ -189,11 +189,9 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
|
||||
? (name, entity: any) =>
|
||||
html`
|
||||
${name}<br />
|
||||
<div class="secondary">
|
||||
${entity.entity_id} |
|
||||
${this.hass.localize(`component.${entity.platform}.title`) ||
|
||||
entity.platform}
|
||||
</div>
|
||||
${entity.entity_id} |
|
||||
${this.hass.localize(`component.${entity.platform}.title`) ||
|
||||
entity.platform}
|
||||
`
|
||||
: undefined,
|
||||
},
|
||||
|
@@ -5,8 +5,6 @@ import { classMap } from "lit-html/directives/class-map";
|
||||
export class HaConfigSection extends LitElement {
|
||||
@property() public isWide = false;
|
||||
|
||||
@property({ type: Boolean }) public vertical = false;
|
||||
|
||||
protected render() {
|
||||
return html`
|
||||
<div
|
||||
@@ -18,8 +16,8 @@ export class HaConfigSection extends LitElement {
|
||||
<div
|
||||
class="together layout ${classMap({
|
||||
narrow: !this.isWide,
|
||||
vertical: this.vertical || !this.isWide,
|
||||
horizontal: !this.vertical && this.isWide,
|
||||
vertical: !this.isWide,
|
||||
horizontal: this.isWide,
|
||||
})}"
|
||||
>
|
||||
<div class="intro"><slot name="introduction"></slot></div>
|
||||
|
@@ -148,7 +148,7 @@ export class HaConfigHelpers extends LitElement {
|
||||
.narrow=${this.narrow}
|
||||
back-path="/config"
|
||||
.route=${this.route}
|
||||
.tabs=${configSections.helpers}
|
||||
.tabs=${configSections.automation}
|
||||
.columns=${this._columns(this.narrow, this.hass.language)}
|
||||
.data=${this._getItems(this._stateItems)}
|
||||
@row-click=${this._openEditDialog}
|
||||
|
@@ -68,8 +68,6 @@ class DialogPersonDetail extends LitElement {
|
||||
|
||||
@internalProperty() private _submitting = false;
|
||||
|
||||
@internalProperty() private _personExists = false;
|
||||
|
||||
private _deviceTrackersAvailable = memoizeOne((hass) => {
|
||||
return Object.keys(hass.states).some(
|
||||
(entityId) =>
|
||||
@@ -81,7 +79,6 @@ class DialogPersonDetail extends LitElement {
|
||||
this._params = params;
|
||||
this._error = undefined;
|
||||
if (this._params.entry) {
|
||||
this._personExists = true;
|
||||
this._name = this._params.entry.name || "";
|
||||
this._userId = this._params.entry.user_id || undefined;
|
||||
this._deviceTrackers = this._params.entry.device_trackers || [];
|
||||
@@ -91,7 +88,6 @@ class DialogPersonDetail extends LitElement {
|
||||
: undefined;
|
||||
this._isAdmin = this._user?.group_ids.includes(SYSTEM_GROUP_ID_ADMIN);
|
||||
} else {
|
||||
this._personExists = false;
|
||||
this._name = "";
|
||||
this._userId = undefined;
|
||||
this._user = undefined;
|
||||
@@ -402,7 +398,6 @@ class DialogPersonDetail extends LitElement {
|
||||
await this._params!.updateEntry(values);
|
||||
} else {
|
||||
await this._params!.createEntry(values);
|
||||
this._personExists = true;
|
||||
}
|
||||
this._params = undefined;
|
||||
} catch (err) {
|
||||
@@ -427,14 +422,6 @@ class DialogPersonDetail extends LitElement {
|
||||
}
|
||||
|
||||
private _close(): void {
|
||||
// If we do not have a person ID yet (= person creation dialog was just cancelled), but
|
||||
// we already created a user ID for it, delete it now to not have it "free floating".
|
||||
if (!this._personExists && this._userId) {
|
||||
deleteUser(this.hass, this._userId);
|
||||
this._params?.refreshUsers();
|
||||
this._userId = undefined;
|
||||
}
|
||||
|
||||
this._params = undefined;
|
||||
}
|
||||
|
||||
|
@@ -35,7 +35,6 @@ import "../../../components/ha-icon-input";
|
||||
import "../../../components/ha-svg-icon";
|
||||
import "../../../components/ha-yaml-editor";
|
||||
import type { HaYamlEditor } from "../../../components/ha-yaml-editor";
|
||||
import { copyToClipboard } from "../../../common/util/copy-clipboard";
|
||||
import {
|
||||
Action,
|
||||
deleteScript,
|
||||
@@ -546,7 +545,7 @@ export class HaScriptEditor extends KeyboardShortcutMixin(LitElement) {
|
||||
|
||||
private async _copyYaml() {
|
||||
if (this._editor?.yaml) {
|
||||
copyToClipboard(this._editor.yaml);
|
||||
navigator.clipboard.writeText(this._editor.yaml);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -84,7 +84,7 @@ export class HaConfigTags extends SubscribeMixin(LitElement) {
|
||||
${tag.last_scanned_datetime
|
||||
? html`<ha-relative-time
|
||||
.hass=${this.hass}
|
||||
.datetime=${tag.last_scanned_datetime}
|
||||
.datetimeObj=${tag.last_scanned_datetime}
|
||||
></ha-relative-time>`
|
||||
: this.hass.localize("ui.panel.config.tags.never_scanned")}
|
||||
</div>`
|
||||
@@ -103,7 +103,7 @@ export class HaConfigTags extends SubscribeMixin(LitElement) {
|
||||
${last_scanned_datetime
|
||||
? html`<ha-relative-time
|
||||
.hass=${this.hass}
|
||||
.datetime=${last_scanned_datetime}
|
||||
.datetimeObj=${last_scanned_datetime}
|
||||
></ha-relative-time>`
|
||||
: this.hass.localize("ui.panel.config.tags.never_scanned")}
|
||||
`,
|
||||
|
@@ -241,7 +241,7 @@ export class DialogAddUser extends LitElement {
|
||||
user = userResponse.user;
|
||||
} catch (err) {
|
||||
this._loading = false;
|
||||
this._error = err.message;
|
||||
this._error = err.code;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -255,7 +255,7 @@ export class DialogAddUser extends LitElement {
|
||||
} catch (err) {
|
||||
await deleteUser(this.hass, user.id);
|
||||
this._loading = false;
|
||||
this._error = err.message;
|
||||
this._error = err.code;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -13,7 +13,6 @@ import {
|
||||
} from "lit-element";
|
||||
import { computeRTLDirection } from "../../../common/util/compute_rtl";
|
||||
import { createCloseHeading } from "../../../components/ha-dialog";
|
||||
import "../../../components/ha-help-tooltip";
|
||||
import "../../../components/ha-formfield";
|
||||
import "../../../components/ha-switch";
|
||||
import { adminChangePassword } from "../../../data/auth";
|
||||
@@ -38,8 +37,6 @@ class DialogUserDetail extends LitElement {
|
||||
|
||||
@internalProperty() private _isAdmin?: boolean;
|
||||
|
||||
@internalProperty() private _isActive?: boolean;
|
||||
|
||||
@internalProperty() private _error?: string;
|
||||
|
||||
@internalProperty() private _params?: UserDetailDialogParams;
|
||||
@@ -51,7 +48,6 @@ class DialogUserDetail extends LitElement {
|
||||
this._error = undefined;
|
||||
this._name = params.entry.name || "";
|
||||
this._isAdmin = params.entry.group_ids.includes(SYSTEM_GROUP_ID_ADMIN);
|
||||
this._isActive = params.entry.is_active;
|
||||
await this.updateComplete;
|
||||
}
|
||||
|
||||
@@ -95,6 +91,15 @@ class DialogUserDetail extends LitElement {
|
||||
</span>
|
||||
`
|
||||
: ""}
|
||||
${user.is_active
|
||||
? html`
|
||||
<span class="state"
|
||||
>${this.hass.localize(
|
||||
"ui.panel.config.users.editor.active"
|
||||
)}</span
|
||||
>
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
<div class="form">
|
||||
<paper-input
|
||||
@@ -105,21 +110,17 @@ class DialogUserDetail extends LitElement {
|
||||
"ui.panel.config.users.editor.name"
|
||||
)}"
|
||||
></paper-input>
|
||||
<div class="row">
|
||||
<ha-formfield
|
||||
.label=${this.hass.localize(
|
||||
"ui.panel.config.users.editor.admin"
|
||||
)}
|
||||
.dir=${computeRTLDirection(this.hass)}
|
||||
<ha-formfield
|
||||
.label=${this.hass.localize("ui.panel.config.users.editor.admin")}
|
||||
.dir=${computeRTLDirection(this.hass)}
|
||||
>
|
||||
<ha-switch
|
||||
.disabled=${user.system_generated || user.is_owner}
|
||||
.checked=${this._isAdmin}
|
||||
@change=${this._adminChanged}
|
||||
>
|
||||
<ha-switch
|
||||
.disabled=${user.system_generated || user.is_owner}
|
||||
.checked=${this._isAdmin}
|
||||
@change=${this._adminChanged}
|
||||
>
|
||||
</ha-switch>
|
||||
</ha-formfield>
|
||||
</div>
|
||||
</ha-switch>
|
||||
</ha-formfield>
|
||||
${!this._isAdmin
|
||||
? html`
|
||||
<br />
|
||||
@@ -128,27 +129,6 @@ class DialogUserDetail extends LitElement {
|
||||
)}
|
||||
`
|
||||
: ""}
|
||||
<div class="row">
|
||||
<ha-formfield
|
||||
.label=${this.hass.localize(
|
||||
"ui.panel.config.users.editor.active"
|
||||
)}
|
||||
.dir=${computeRTLDirection(this.hass)}
|
||||
>
|
||||
<ha-switch
|
||||
.disabled=${user.system_generated || user.is_owner}
|
||||
.checked=${this._isActive}
|
||||
@change=${this._activeChanged}
|
||||
>
|
||||
</ha-switch>
|
||||
</ha-formfield>
|
||||
<ha-help-tooltip
|
||||
.label=${this.hass.localize(
|
||||
"ui.panel.config.users.editor.active_tooltip"
|
||||
)}
|
||||
>
|
||||
</ha-help-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -212,16 +192,11 @@ class DialogUserDetail extends LitElement {
|
||||
this._isAdmin = ev.target.checked;
|
||||
}
|
||||
|
||||
private async _activeChanged(ev): Promise<void> {
|
||||
this._isActive = ev.target.checked;
|
||||
}
|
||||
|
||||
private async _updateEntry() {
|
||||
this._submitting = true;
|
||||
try {
|
||||
await this._params!.updateEntry({
|
||||
name: this._name.trim(),
|
||||
is_active: this._isActive,
|
||||
group_ids: [
|
||||
this._isAdmin ? SYSTEM_GROUP_ID_ADMIN : SYSTEM_GROUP_ID_USER,
|
||||
],
|
||||
@@ -318,13 +293,8 @@ class DialogUserDetail extends LitElement {
|
||||
.state:not(:first-child) {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.row {
|
||||
display: flex;
|
||||
padding: 8px 0;
|
||||
}
|
||||
ha-help-tooltip {
|
||||
margin-left: 4px;
|
||||
position: relative;
|
||||
ha-switch {
|
||||
margin-top: 8px;
|
||||
}
|
||||
`,
|
||||
];
|
||||
|
@@ -46,17 +46,10 @@ export class HaConfigUsers extends LitElement {
|
||||
width: "25%",
|
||||
direction: "asc",
|
||||
grows: true,
|
||||
template: (name, user: any) =>
|
||||
narrow
|
||||
? html` ${name}<br />
|
||||
<div class="secondary">
|
||||
${user.username} |
|
||||
${this.hass.localize(`groups.${user.group_ids[0]}`)}
|
||||
</div>`
|
||||
: html` ${name ||
|
||||
this.hass!.localize(
|
||||
"ui.panel.config.users.editor.unnamed_user"
|
||||
)}`,
|
||||
template: (name) => html`
|
||||
${name ||
|
||||
this.hass!.localize("ui.panel.config.users.editor.unnamed_user")}
|
||||
`,
|
||||
},
|
||||
username: {
|
||||
title: this.hass.localize(
|
||||
@@ -66,7 +59,6 @@ export class HaConfigUsers extends LitElement {
|
||||
filterable: true,
|
||||
width: "20%",
|
||||
direction: "asc",
|
||||
hidden: narrow,
|
||||
template: (username) => html`
|
||||
${username ||
|
||||
this.hass!.localize("ui.panel.config.users.editor.unnamed_user")}
|
||||
@@ -79,24 +71,13 @@ export class HaConfigUsers extends LitElement {
|
||||
sortable: true,
|
||||
filterable: true,
|
||||
width: "20%",
|
||||
direction: "asc",
|
||||
hidden: narrow,
|
||||
template: (groupIds) => html`
|
||||
${this.hass.localize(`groups.${groupIds[0]}`)}
|
||||
`,
|
||||
},
|
||||
is_active: {
|
||||
title: this.hass.localize(
|
||||
"ui.panel.config.users.picker.headers.is_active"
|
||||
),
|
||||
type: "icon",
|
||||
sortable: true,
|
||||
filterable: true,
|
||||
width: "80px",
|
||||
template: (is_active) =>
|
||||
is_active ? html`<ha-icon icon="hass:check"> </ha-icon>` : "",
|
||||
},
|
||||
system_generated: {
|
||||
};
|
||||
if (!narrow) {
|
||||
columns.system_generated = {
|
||||
title: this.hass.localize(
|
||||
"ui.panel.config.users.picker.headers.system"
|
||||
),
|
||||
@@ -106,9 +87,8 @@ export class HaConfigUsers extends LitElement {
|
||||
width: "160px",
|
||||
template: (generated) =>
|
||||
generated ? html`<ha-icon icon="hass:check"> </ha-icon>` : "",
|
||||
},
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
return columns;
|
||||
}
|
||||
);
|
||||
|
@@ -84,6 +84,9 @@ export class HuiButtonCard extends LitElement implements LovelaceCard {
|
||||
}
|
||||
|
||||
public setConfig(config: ButtonCardConfig): void {
|
||||
if (!config.entity) {
|
||||
throw new Error("Entity must be specified");
|
||||
}
|
||||
if (config.entity && !isValidEntityId(config.entity)) {
|
||||
throw new Error("Invalid entity");
|
||||
}
|
||||
|
@@ -109,7 +109,7 @@ class HuiEntitiesCard extends LitElement implements LovelaceCard {
|
||||
}
|
||||
|
||||
public setConfig(config: EntitiesCardConfig): void {
|
||||
if (!config.entities || !Array.isArray(config.entities)) {
|
||||
if (!config || !config.entities.length) {
|
||||
throw new Error("Entities must be specified");
|
||||
}
|
||||
|
||||
|
@@ -2,14 +2,7 @@ import { customElement } from "lit-element";
|
||||
import { HuiButtonCard } from "./hui-button-card";
|
||||
|
||||
@customElement("hui-entity-button-card")
|
||||
class HuiEntityButtonCard extends HuiButtonCard {
|
||||
public setConfig(config): void {
|
||||
if (!config.entity) {
|
||||
throw new Error("Entity must be specified");
|
||||
}
|
||||
super.setConfig(config);
|
||||
}
|
||||
}
|
||||
class HuiEntityButtonCard extends HuiButtonCard {}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
|
@@ -16,6 +16,7 @@ import "../../../components/state-history-charts";
|
||||
import { CacheConfig, getRecentWithCache } from "../../../data/cached-history";
|
||||
import { HistoryResult } from "../../../data/history";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { findEntities } from "../common/find-entites";
|
||||
import { hasConfigOrEntitiesChanged } from "../common/has-changed";
|
||||
import { processConfigEntities } from "../common/process-config-entities";
|
||||
import { EntityConfig } from "../entity-rows/types";
|
||||
@@ -29,9 +30,22 @@ export class HuiHistoryGraphCard extends LitElement implements LovelaceCard {
|
||||
return document.createElement("hui-history-graph-card-editor");
|
||||
}
|
||||
|
||||
public static getStubConfig(): HistoryGraphCardConfig {
|
||||
// Hard coded to sun.sun to prevent high server load when it would pick an entity with a lot of state changes
|
||||
return { type: "history-graph", entities: ["sun.sun"] };
|
||||
public static getStubConfig(
|
||||
hass: HomeAssistant,
|
||||
entities: string[],
|
||||
entitiesFallback: string[]
|
||||
): HistoryGraphCardConfig {
|
||||
const includeDomains = ["sensor"];
|
||||
const maxEntities = 1;
|
||||
const foundEntities = findEntities(
|
||||
hass,
|
||||
maxEntities,
|
||||
entities,
|
||||
entitiesFallback,
|
||||
includeDomains
|
||||
);
|
||||
|
||||
return { type: "history-graph", entities: foundEntities };
|
||||
}
|
||||
|
||||
@property({ attribute: false }) public hass?: HomeAssistant;
|
||||
@@ -57,12 +71,12 @@ export class HuiHistoryGraphCard extends LitElement implements LovelaceCard {
|
||||
}
|
||||
|
||||
public setConfig(config: HistoryGraphCardConfig): void {
|
||||
if (!config.entities || !Array.isArray(config.entities)) {
|
||||
throw new Error("Entities need to be an array");
|
||||
if (!config.entities.length) {
|
||||
throw new Error("Entities must be specified");
|
||||
}
|
||||
|
||||
if (!config.entities.length) {
|
||||
throw new Error("You must include at least one entity");
|
||||
if (config.entities && !Array.isArray(config.entities)) {
|
||||
throw new Error("Entities need to be an array");
|
||||
}
|
||||
|
||||
this._config = config;
|
||||
|
@@ -29,7 +29,7 @@ class HuiHorizontalStackCard extends HuiStackCard {
|
||||
}
|
||||
#root > * {
|
||||
flex: 1 1 0;
|
||||
margin: var(--horizontal-stack-card-margin, var(--stack-card-margin, 0 4px));
|
||||
margin: 0 4px;
|
||||
min-width: 0;
|
||||
}
|
||||
#root > *:first-child {
|
||||
|
@@ -246,73 +246,78 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard {
|
||||
${!isUnavailable &&
|
||||
(mediaDescription || stateObj.attributes.media_title || showControls)
|
||||
? html`
|
||||
<div>
|
||||
<div class="title-controls">
|
||||
${!mediaDescription && !stateObj.attributes.media_title
|
||||
? ""
|
||||
: html`
|
||||
<div class="media-info">
|
||||
<hui-marquee
|
||||
.text=${stateObj.attributes.media_title ||
|
||||
mediaDescription}
|
||||
.active=${this._marqueeActive}
|
||||
@mouseover=${this._marqueeMouseOver}
|
||||
@mouseleave=${this._marqueeMouseLeave}
|
||||
></hui-marquee>
|
||||
${!stateObj.attributes.media_title
|
||||
? ""
|
||||
: mediaDescription}
|
||||
</div>
|
||||
`}
|
||||
${!showControls
|
||||
? ""
|
||||
: html`
|
||||
<div class="controls">
|
||||
${controls!.map(
|
||||
(control) => html`
|
||||
<ha-icon-button
|
||||
.title=${this.hass.localize(
|
||||
`ui.card.media_player.${control.action}`
|
||||
)}
|
||||
.icon=${control.icon}
|
||||
action=${control.action}
|
||||
@click=${this._handleClick}
|
||||
></ha-icon-button>
|
||||
`
|
||||
)}
|
||||
${supportsFeature(stateObj, SUPPORT_BROWSE_MEDIA)
|
||||
? html`
|
||||
<mwc-icon-button
|
||||
class="browse-media"
|
||||
.title=${this.hass.localize(
|
||||
"ui.card.media_player.browse_media"
|
||||
)}
|
||||
@click=${this._handleBrowseMedia}
|
||||
><ha-svg-icon
|
||||
.path=${mdiPlayBoxMultiple}
|
||||
></ha-svg-icon
|
||||
></mwc-icon-button>
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
`}
|
||||
</div>
|
||||
${!this._showProgressBar
|
||||
<div
|
||||
class="title-controls"
|
||||
style=${styleMap({
|
||||
paddingRight: isOffState
|
||||
? "0"
|
||||
: `${this._cardHeight - 40}px`,
|
||||
})}
|
||||
>
|
||||
${!mediaDescription && !stateObj.attributes.media_title
|
||||
? ""
|
||||
: html`
|
||||
<paper-progress
|
||||
.max=${stateObj.attributes.media_duration}
|
||||
style=${styleMap({
|
||||
"--paper-progress-active-color":
|
||||
this._foregroundColor || "var(--accent-color)",
|
||||
cursor: supportsFeature(stateObj, SUPPORT_SEEK)
|
||||
? "pointer"
|
||||
: "initial",
|
||||
})}
|
||||
@click=${this._handleSeek}
|
||||
></paper-progress>
|
||||
<div class="media-info">
|
||||
<hui-marquee
|
||||
.text=${stateObj.attributes.media_title ||
|
||||
mediaDescription}
|
||||
.active=${this._marqueeActive}
|
||||
@mouseover=${this._marqueeMouseOver}
|
||||
@mouseleave=${this._marqueeMouseLeave}
|
||||
></hui-marquee>
|
||||
${!stateObj.attributes.media_title
|
||||
? ""
|
||||
: mediaDescription}
|
||||
</div>
|
||||
`}
|
||||
${!showControls
|
||||
? ""
|
||||
: html`
|
||||
<div class="controls">
|
||||
${controls!.map(
|
||||
(control) => html`
|
||||
<ha-icon-button
|
||||
.title=${this.hass.localize(
|
||||
`ui.card.media_player.${control.action}`
|
||||
)}
|
||||
.icon=${control.icon}
|
||||
action=${control.action}
|
||||
@click=${this._handleClick}
|
||||
></ha-icon-button>
|
||||
`
|
||||
)}
|
||||
${supportsFeature(stateObj, SUPPORT_BROWSE_MEDIA)
|
||||
? html`
|
||||
<mwc-icon-button
|
||||
class="browse-media"
|
||||
.title=${this.hass.localize(
|
||||
"ui.card.media_player.browse_media"
|
||||
)}
|
||||
@click=${this._handleBrowseMedia}
|
||||
><ha-svg-icon
|
||||
.path=${mdiPlayBoxMultiple}
|
||||
></ha-svg-icon
|
||||
></mwc-icon-button>
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
`}
|
||||
</div>
|
||||
${!this._showProgressBar
|
||||
? ""
|
||||
: html`
|
||||
<paper-progress
|
||||
.max=${stateObj.attributes.media_duration}
|
||||
style=${styleMap({
|
||||
"--paper-progress-active-color":
|
||||
this._foregroundColor || "var(--accent-color)",
|
||||
cursor: supportsFeature(stateObj, SUPPORT_SEEK)
|
||||
? "pointer"
|
||||
: "initial",
|
||||
})}
|
||||
@click=${this._handleSeek}
|
||||
></paper-progress>
|
||||
`}
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
@@ -630,11 +635,6 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard {
|
||||
.player {
|
||||
position: relative;
|
||||
padding: 16px;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
color: var(--text-primary-color);
|
||||
transition-property: color, padding;
|
||||
transition-duration: 0.4s;
|
||||
@@ -671,7 +671,7 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard {
|
||||
|
||||
mwc-icon-button.browse-media {
|
||||
position: absolute;
|
||||
right: 4px;
|
||||
right: 0;
|
||||
--mdc-icon-size: 24px;
|
||||
}
|
||||
|
||||
@@ -693,7 +693,7 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard {
|
||||
.more-info {
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
right: 4px;
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
.media-info {
|
||||
|
@@ -29,7 +29,7 @@ class HuiVerticalStackCard extends HuiStackCard {
|
||||
height: 100%;
|
||||
}
|
||||
#root > * {
|
||||
margin: var(--vertical-stack-card-margin, var(--stack-card-margin, 4px 0));
|
||||
margin: 4px 0 4px 0;
|
||||
}
|
||||
#root > *:first-child {
|
||||
margin-top: 0;
|
||||
|
@@ -1,8 +1,7 @@
|
||||
import "@material/mwc-button";
|
||||
import "@material/mwc-icon-button";
|
||||
import { ActionDetail } from "@material/mwc-list/mwc-list-foundation";
|
||||
import "@material/mwc-list/mwc-list-item";
|
||||
import { mdiArrowDown, mdiArrowUp, mdiDotsVertical } from "@mdi/js";
|
||||
import "@material/mwc-icon-button";
|
||||
import "../../../components/ha-button-menu";
|
||||
import {
|
||||
css,
|
||||
CSSResult,
|
||||
@@ -10,20 +9,21 @@ import {
|
||||
html,
|
||||
LitElement,
|
||||
property,
|
||||
queryAssignedNodes,
|
||||
TemplateResult,
|
||||
queryAssignedNodes,
|
||||
} from "lit-element";
|
||||
import { fireEvent } from "../../../common/dom/fire_event";
|
||||
import "../../../components/ha-button-menu";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { showEditCardDialog } from "../editor/card-editor/show-edit-card-dialog";
|
||||
import { swapCard, moveCard, addCard, deleteCard } from "../editor/config-util";
|
||||
import { confDeleteCard } from "../editor/delete-card";
|
||||
import { Lovelace, LovelaceCard } from "../types";
|
||||
import { computeCardSize } from "../common/compute-card-size";
|
||||
import { mdiDotsVertical, mdiArrowDown, mdiArrowUp } from "@mdi/js";
|
||||
import { ActionDetail } from "@material/mwc-list/mwc-list-foundation";
|
||||
import { showSelectViewDialog } from "../editor/select-view/show-select-view-dialog";
|
||||
import { saveConfig } from "../../../data/lovelace";
|
||||
import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { showSaveSuccessToast } from "../../../util/toast-saved-success";
|
||||
import { computeCardSize } from "../common/compute-card-size";
|
||||
import { showEditCardDialog } from "../editor/card-editor/show-edit-card-dialog";
|
||||
import { addCard, deleteCard, moveCard, swapCard } from "../editor/config-util";
|
||||
import { showSelectViewDialog } from "../editor/select-view/show-select-view-dialog";
|
||||
import { Lovelace, LovelaceCard } from "../types";
|
||||
|
||||
@customElement("hui-card-options")
|
||||
export class HuiCardOptions extends LitElement {
|
||||
@@ -168,7 +168,11 @@ export class HuiCardOptions extends LitElement {
|
||||
}
|
||||
|
||||
private _editCard(): void {
|
||||
fireEvent(this, "ll-edit-card", { path: this.path! });
|
||||
showEditCardDialog(this, {
|
||||
lovelaceConfig: this.lovelace!.config,
|
||||
saveConfig: this.lovelace!.saveConfig,
|
||||
path: this.path!,
|
||||
});
|
||||
}
|
||||
|
||||
private _cardUp(): void {
|
||||
@@ -225,7 +229,7 @@ export class HuiCardOptions extends LitElement {
|
||||
}
|
||||
|
||||
private _deleteCard(): void {
|
||||
fireEvent(this, "ll-delete-card", { path: this.path! });
|
||||
confDeleteCard(this, this.hass!, this.lovelace!, this.path!);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -72,7 +72,7 @@ class HuiMarquee extends LitElement {
|
||||
display: flex;
|
||||
position: relative;
|
||||
align-items: center;
|
||||
height: 1.2em;
|
||||
height: 1em;
|
||||
contain: strict;
|
||||
}
|
||||
|
||||
|
@@ -59,9 +59,6 @@ export class HuiThemeSelectEditor extends LitElement {
|
||||
paper-dropdown-menu {
|
||||
width: 100%;
|
||||
}
|
||||
paper-item {
|
||||
cursor: pointer;
|
||||
}
|
||||
`;
|
||||
}
|
||||
|
||||
|
@@ -353,9 +353,11 @@ export class HuiCardPicker extends LitElement {
|
||||
max-width: 500px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border-radius: var(--ha-card-border-radius, 4px);
|
||||
border-radius: 4px;
|
||||
border: 1px solid var(--divider-color);
|
||||
background: var(--primary-background-color, #fafafa);
|
||||
cursor: pointer;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
@@ -373,6 +375,7 @@ export class HuiCardPicker extends LitElement {
|
||||
--ha-card-background,
|
||||
var(--card-background-color, white)
|
||||
);
|
||||
border-radius: 0 0 4px 4px;
|
||||
border-bottom: 1px solid var(--divider-color);
|
||||
}
|
||||
|
||||
@@ -405,10 +408,6 @@ export class HuiCardPicker extends LitElement {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
box-sizing: border-box;
|
||||
border: var(--ha-card-border-width, 1px) solid
|
||||
var(--ha-card-border-color, var(--divider-color));
|
||||
border-radius: var(--ha-card-border-radius, 4px);
|
||||
}
|
||||
|
||||
.manual {
|
||||
|
@@ -450,10 +450,6 @@ export class HuiDialogEditCard extends LitElement
|
||||
}
|
||||
.element-preview {
|
||||
position: relative;
|
||||
height: max-content;
|
||||
background: var(--primary-background-color);
|
||||
padding: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.element-preview ha-circular-progress {
|
||||
top: 50%;
|
||||
|
@@ -8,7 +8,7 @@ export interface CreateCardDialogParams {
|
||||
entities?: string[]; // We can pass entity id's that will be added to the config when a card is picked
|
||||
}
|
||||
|
||||
export const importCreateCardDialog = () => import("./hui-dialog-create-card");
|
||||
const importCreateCardDialog = () => import("./hui-dialog-create-card");
|
||||
|
||||
export const showCreateCardDialog = (
|
||||
element: HTMLElement,
|
||||
|
@@ -6,7 +6,7 @@ export interface DeleteCardDialogParams {
|
||||
cardConfig?: LovelaceCardConfig;
|
||||
}
|
||||
|
||||
export const importDeleteCardDialog = () => import("./hui-dialog-delete-card");
|
||||
const importDeleteCardDialog = () => import("./hui-dialog-delete-card");
|
||||
|
||||
export const showDeleteCardDialog = (
|
||||
element: HTMLElement,
|
||||
|
@@ -8,7 +8,7 @@ export interface EditCardDialogParams {
|
||||
cardConfig?: LovelaceCardConfig;
|
||||
}
|
||||
|
||||
export const importEditCardDialog = () => import("./hui-dialog-edit-card");
|
||||
const importEditCardDialog = () => import("./hui-dialog-edit-card");
|
||||
|
||||
export const showEditCardDialog = (
|
||||
element: HTMLElement,
|
||||
|
@@ -793,6 +793,10 @@ class HUIRoot extends LitElement {
|
||||
|
||||
ha-app-layout {
|
||||
min-height: 100%;
|
||||
background: var(
|
||||
--lovelace-background,
|
||||
var(--primary-background-color)
|
||||
);
|
||||
}
|
||||
ha-tabs {
|
||||
width: 100%;
|
||||
@@ -880,12 +884,6 @@ class HUIRoot extends LitElement {
|
||||
.menu-link {
|
||||
text-decoration: none;
|
||||
}
|
||||
hui-view {
|
||||
background: var(
|
||||
--lovelace-background,
|
||||
var(--primary-background-color)
|
||||
);
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
|
@@ -1,10 +1,3 @@
|
||||
// hui-view dependencies for when in edit mode.
|
||||
import "../../../components/ha-fab";
|
||||
import "../components/hui-card-options";
|
||||
import { importCreateCardDialog } from "../editor/card-editor/show-create-card-dialog";
|
||||
import { importDeleteCardDialog } from "../editor/card-editor/show-delete-card-dialog";
|
||||
import { importEditCardDialog } from "../editor/card-editor/show-edit-card-dialog";
|
||||
|
||||
importCreateCardDialog();
|
||||
importDeleteCardDialog();
|
||||
importEditCardDialog();
|
||||
|
@@ -10,7 +10,6 @@ import {
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { classMap } from "lit-html/directives/class-map";
|
||||
import { fireEvent } from "../../../common/dom/fire_event";
|
||||
import { computeRTL } from "../../../common/util/compute_rtl";
|
||||
import { nextRender } from "../../../common/util/render-status";
|
||||
import "../../../components/entity/ha-state-label-badge";
|
||||
@@ -22,6 +21,7 @@ import type {
|
||||
import type { HomeAssistant } from "../../../types";
|
||||
import type { HuiErrorCard } from "../cards/hui-error-card";
|
||||
import { computeCardSize } from "../common/compute-card-size";
|
||||
import { showCreateCardDialog } from "../editor/card-editor/show-create-card-dialog";
|
||||
import type { Lovelace, LovelaceBadge, LovelaceCard } from "../types";
|
||||
|
||||
let editCodeLoaded = false;
|
||||
@@ -148,7 +148,11 @@ export class MasonryView extends LitElement implements LovelaceViewElement {
|
||||
}
|
||||
|
||||
private _addCard(): void {
|
||||
fireEvent(this, "ll-create-card");
|
||||
showCreateCardDialog(this, {
|
||||
lovelaceConfig: this.lovelace!.config,
|
||||
saveConfig: this.lovelace!.saveConfig,
|
||||
path: [this.index!],
|
||||
});
|
||||
}
|
||||
|
||||
private async _createColumns() {
|
||||
@@ -289,7 +293,7 @@ export class MasonryView extends LitElement implements LovelaceViewElement {
|
||||
|
||||
.column > * {
|
||||
display: block;
|
||||
margin: var(--masonry-view-card-margin, 4px 4px 8px);
|
||||
margin: 4px 4px 8px;
|
||||
}
|
||||
|
||||
ha-fab {
|
||||
|
@@ -20,23 +20,11 @@ import { processConfigEntities } from "../common/process-config-entities";
|
||||
import { createBadgeElement } from "../create-element/create-badge-element";
|
||||
import { createCardElement } from "../create-element/create-card-element";
|
||||
import { createViewElement } from "../create-element/create-view-element";
|
||||
import { showCreateCardDialog } from "../editor/card-editor/show-create-card-dialog";
|
||||
import { showEditCardDialog } from "../editor/card-editor/show-edit-card-dialog";
|
||||
import { confDeleteCard } from "../editor/delete-card";
|
||||
import type { Lovelace, LovelaceBadge, LovelaceCard } from "../types";
|
||||
|
||||
const DEFAULT_VIEW_LAYOUT = "masonry";
|
||||
const PANEL_VIEW_LAYOUT = "panel";
|
||||
|
||||
declare global {
|
||||
// for fire event
|
||||
interface HASSDomEvents {
|
||||
"ll-create-card": undefined;
|
||||
"ll-edit-card": { path: [number] | [number, number] };
|
||||
"ll-delete-card": { path: [number] | [number, number] };
|
||||
}
|
||||
}
|
||||
|
||||
@customElement("hui-view")
|
||||
export class HUIView extends UpdatingElement {
|
||||
@property({ attribute: false }) public hass?: HomeAssistant;
|
||||
@@ -118,23 +106,6 @@ export class HUIView extends UpdatingElement {
|
||||
|
||||
if (configChanged && !this._layoutElement) {
|
||||
this._layoutElement = createViewElement(viewConfig!);
|
||||
this._layoutElement.addEventListener("ll-create-card", () => {
|
||||
showCreateCardDialog(this, {
|
||||
lovelaceConfig: this.lovelace!.config,
|
||||
saveConfig: this.lovelace!.saveConfig,
|
||||
path: [this.index!],
|
||||
});
|
||||
});
|
||||
this._layoutElement.addEventListener("ll-edit-card", (ev) => {
|
||||
showEditCardDialog(this, {
|
||||
lovelaceConfig: this.lovelace!.config,
|
||||
saveConfig: this.lovelace!.saveConfig,
|
||||
path: ev.detail.path,
|
||||
});
|
||||
});
|
||||
this._layoutElement.addEventListener("ll-delete-card", (ev) => {
|
||||
confDeleteCard(this, this.hass!, this.lovelace!, ev.detail.path);
|
||||
});
|
||||
}
|
||||
|
||||
if (configChanged) {
|
||||
|
154
src/panels/profile/ha-change-password-card.js
Normal file
154
src/panels/profile/ha-change-password-card.js
Normal file
@@ -0,0 +1,154 @@
|
||||
import "@material/mwc-button";
|
||||
import "@polymer/paper-dialog/paper-dialog";
|
||||
import "../../components/ha-circular-progress";
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import "../../components/ha-card";
|
||||
import LocalizeMixin from "../../mixins/localize-mixin";
|
||||
import "../../styles/polymer-ha-style";
|
||||
|
||||
/*
|
||||
* @appliesMixin LocalizeMixin
|
||||
*/
|
||||
class HaChangePasswordCard extends LocalizeMixin(PolymerElement) {
|
||||
static get template() {
|
||||
return html`
|
||||
<style include="ha-style">
|
||||
.error {
|
||||
color: red;
|
||||
}
|
||||
.status {
|
||||
color: var(--primary-color);
|
||||
}
|
||||
.error,
|
||||
.status {
|
||||
position: absolute;
|
||||
top: -4px;
|
||||
}
|
||||
.currentPassword {
|
||||
margin-top: -4px;
|
||||
}
|
||||
</style>
|
||||
<div>
|
||||
<ha-card
|
||||
header="[[localize('ui.panel.profile.change_password.header')]]"
|
||||
>
|
||||
<div class="card-content">
|
||||
<template is="dom-if" if="[[_errorMsg]]">
|
||||
<div class="error">[[_errorMsg]]</div>
|
||||
</template>
|
||||
<template is="dom-if" if="[[_statusMsg]]">
|
||||
<div class="status">[[_statusMsg]]</div>
|
||||
</template>
|
||||
<paper-input
|
||||
class="currentPassword"
|
||||
label="[[localize('ui.panel.profile.change_password.current_password')]]"
|
||||
type="password"
|
||||
value="{{_currentPassword}}"
|
||||
required
|
||||
auto-validate
|
||||
error-message="[[localize('ui.panel.profile.change_password.error_required')]]"
|
||||
></paper-input>
|
||||
<template is="dom-if" if="[[_currentPassword]]">
|
||||
<paper-input
|
||||
label="[[localize('ui.panel.profile.change_password.new_password')]]"
|
||||
type="password"
|
||||
value="{{_password1}}"
|
||||
required
|
||||
auto-validate
|
||||
error-message="[[localize('ui.panel.profile.change_password.error_required')]]"
|
||||
></paper-input>
|
||||
<paper-input
|
||||
label="[[localize('ui.panel.profile.change_password.confirm_new_password')]]"
|
||||
type="password"
|
||||
value="{{_password2}}"
|
||||
required
|
||||
auto-validate
|
||||
error-message="[[localize('ui.panel.profile.change_password.error_required')]]"
|
||||
></paper-input>
|
||||
</template>
|
||||
</div>
|
||||
<div class="card-actions">
|
||||
<template is="dom-if" if="[[_loading]]">
|
||||
<div><ha-circular-progress active></ha-circular-progress></div>
|
||||
</template>
|
||||
<template is="dom-if" if="[[!_loading]]">
|
||||
<mwc-button on-click="_changePassword"
|
||||
>[[localize('ui.panel.profile.change_password.submit')]]</mwc-button
|
||||
>
|
||||
</template>
|
||||
</div>
|
||||
</ha-card>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
hass: Object,
|
||||
|
||||
_loading: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
},
|
||||
|
||||
// Error message when can't talk to server etc
|
||||
_statusMsg: String,
|
||||
_errorMsg: String,
|
||||
|
||||
_currentPassword: String,
|
||||
_password1: String,
|
||||
_password2: String,
|
||||
};
|
||||
}
|
||||
|
||||
ready() {
|
||||
super.ready();
|
||||
this.addEventListener("keypress", (ev) => {
|
||||
this._statusMsg = null;
|
||||
if (ev.keyCode === 13) {
|
||||
this._changePassword();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async _changePassword() {
|
||||
this._statusMsg = null;
|
||||
if (!this._currentPassword || !this._password1 || !this._password2) return;
|
||||
|
||||
if (this._password1 !== this._password2) {
|
||||
this._errorMsg = "New password confirmation doesn't match";
|
||||
return;
|
||||
}
|
||||
|
||||
if (this._currentPassword === this._password1) {
|
||||
this._errorMsg = "New password must be different than current password";
|
||||
return;
|
||||
}
|
||||
|
||||
this._loading = true;
|
||||
this._errorMsg = null;
|
||||
|
||||
try {
|
||||
await this.hass.callWS({
|
||||
type: "config/auth_provider/homeassistant/change_password",
|
||||
current_password: this._currentPassword,
|
||||
new_password: this._password1,
|
||||
});
|
||||
|
||||
this.setProperties({
|
||||
_statusMsg: "Password changed successfully",
|
||||
_currentPassword: null,
|
||||
_password1: null,
|
||||
_password2: null,
|
||||
});
|
||||
} catch (err) {
|
||||
this._errorMsg = err.message;
|
||||
}
|
||||
|
||||
this._loading = false;
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define("ha-change-password-card", HaChangePasswordCard);
|
@@ -1,195 +0,0 @@
|
||||
import "@polymer/paper-input/paper-input";
|
||||
import "@polymer/paper-dialog/paper-dialog";
|
||||
import {
|
||||
css,
|
||||
CSSResult,
|
||||
customElement,
|
||||
html,
|
||||
internalProperty,
|
||||
LitElement,
|
||||
property,
|
||||
PropertyValues,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import "@material/mwc-button";
|
||||
import "../../components/ha-circular-progress";
|
||||
import "../../components/ha-card";
|
||||
import { haStyle } from "../../resources/styles";
|
||||
import type { HomeAssistant } from "../../types";
|
||||
|
||||
@customElement("ha-change-password-card")
|
||||
class HaChangePasswordCard extends LitElement {
|
||||
@property({ attribute: false }) public hass!: HomeAssistant;
|
||||
|
||||
@internalProperty() private _loading = false;
|
||||
|
||||
@internalProperty() private _statusMsg?: string;
|
||||
|
||||
@internalProperty() private _errorMsg?: string;
|
||||
|
||||
@internalProperty() private _currentPassword?: string;
|
||||
|
||||
@internalProperty() private _password?: string;
|
||||
|
||||
@internalProperty() private _passwordConfirm?: string;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`
|
||||
<div>
|
||||
<ha-card
|
||||
.header=${this.hass.localize(
|
||||
"ui.panel.profile.change_password.header"
|
||||
)}
|
||||
>
|
||||
<div class="card-content">
|
||||
${this._errorMsg
|
||||
? html` <div class="error">${this._errorMsg}</div> `
|
||||
: ""}
|
||||
${this._statusMsg
|
||||
? html` <div class="status">${this._statusMsg}</div> `
|
||||
: ""}
|
||||
|
||||
<paper-input
|
||||
id="currentPassword"
|
||||
.label=${this.hass.localize(
|
||||
"ui.panel.profile.change_password.current_password"
|
||||
)}
|
||||
type="password"
|
||||
.value=${this._currentPassword}
|
||||
@value-changed=${this._currentPasswordChanged}
|
||||
required
|
||||
></paper-input>
|
||||
|
||||
${this._currentPassword
|
||||
? html` <paper-input
|
||||
.label=${this.hass.localize(
|
||||
"ui.panel.profile.change_password.new_password"
|
||||
)}
|
||||
name="password"
|
||||
type="password"
|
||||
.value=${this._password}
|
||||
@value-changed=${this._newPasswordChanged}
|
||||
required
|
||||
auto-validate
|
||||
></paper-input>
|
||||
<paper-input
|
||||
.label=${this.hass.localize(
|
||||
"ui.panel.profile.change_password.confirm_new_password"
|
||||
)}
|
||||
name="passwordConfirm"
|
||||
type="password"
|
||||
.value=${this._passwordConfirm}
|
||||
@value-changed=${this._newPasswordConfirmChanged}
|
||||
required
|
||||
auto-validate
|
||||
></paper-input>`
|
||||
: ""}
|
||||
</div>
|
||||
|
||||
<div class="card-actions">
|
||||
${this._loading
|
||||
? html`<div>
|
||||
<ha-circular-progress active></ha-circular-progress>
|
||||
</div>`
|
||||
: html`<mwc-button
|
||||
@click=${this._changePassword}
|
||||
.disabled=${!this._passwordConfirm}
|
||||
>${this.hass.localize(
|
||||
"ui.panel.profile.change_password.submit"
|
||||
)}</mwc-button
|
||||
>`}
|
||||
</div>
|
||||
</ha-card>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
private _currentPasswordChanged(ev: CustomEvent) {
|
||||
this._currentPassword = ev.detail.value;
|
||||
}
|
||||
|
||||
private _newPasswordChanged(ev: CustomEvent) {
|
||||
this._password = ev.detail.value;
|
||||
}
|
||||
|
||||
private _newPasswordConfirmChanged(ev: CustomEvent) {
|
||||
this._passwordConfirm = ev.detail.value;
|
||||
}
|
||||
|
||||
protected firstUpdated(changedProps: PropertyValues) {
|
||||
super.firstUpdated(changedProps);
|
||||
this.addEventListener("keypress", (ev) => {
|
||||
this._statusMsg = undefined;
|
||||
if (ev.keyCode === 13) {
|
||||
this._changePassword();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private async _changePassword() {
|
||||
this._statusMsg = undefined;
|
||||
if (!this._currentPassword || !this._password || !this._passwordConfirm) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this._password !== this._passwordConfirm) {
|
||||
this._errorMsg = this.hass.localize(
|
||||
"ui.panel.profile.change_password.error_new_mismatch"
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if (this._currentPassword === this._password) {
|
||||
this._errorMsg = this.hass.localize(
|
||||
"ui.panel.profile.change_password.error_new_is_old"
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
this._loading = true;
|
||||
this._errorMsg = undefined;
|
||||
|
||||
try {
|
||||
await this.hass.callWS({
|
||||
type: "config/auth_provider/homeassistant/change_password",
|
||||
current_password: this._currentPassword,
|
||||
new_password: this._password,
|
||||
});
|
||||
} catch (err) {
|
||||
this._errorMsg = err.message;
|
||||
return;
|
||||
} finally {
|
||||
this._loading = false;
|
||||
}
|
||||
|
||||
this._statusMsg = this.hass.localize(
|
||||
"ui.panel.profile.change_password.success"
|
||||
);
|
||||
this._currentPassword = undefined;
|
||||
this._password = undefined;
|
||||
this._passwordConfirm = undefined;
|
||||
}
|
||||
|
||||
static get styles(): CSSResult[] {
|
||||
return [
|
||||
haStyle,
|
||||
css`
|
||||
.error {
|
||||
color: var(--error-color);
|
||||
}
|
||||
.status {
|
||||
color: var(--primary-color);
|
||||
}
|
||||
#currentPassword {
|
||||
margin-top: -8px;
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ha-change-password-card": HaChangePasswordCard;
|
||||
}
|
||||
}
|
@@ -25,7 +25,7 @@ class HaPushNotificationsRow extends LocalizeMixin(PolymerElement) {
|
||||
>[[localize('ui.panel.profile.push_notifications.header')]]</span
|
||||
>
|
||||
<span slot="description">
|
||||
[[localize(_descrLocalizeKey)]]
|
||||
[[_description(_platformLoaded, _pushSupported)]]
|
||||
<a
|
||||
href="[[_computeDocumentationUrl(hass)]]"
|
||||
target="_blank"
|
||||
@@ -45,10 +45,6 @@ class HaPushNotificationsRow extends LocalizeMixin(PolymerElement) {
|
||||
return {
|
||||
hass: Object,
|
||||
narrow: Boolean,
|
||||
_descrLocalizeKey: {
|
||||
type: String,
|
||||
computed: "_descriptionKey(_platformLoaded, _pushSupported)",
|
||||
},
|
||||
_platformLoaded: {
|
||||
type: Boolean,
|
||||
computed: "_compPlatformLoaded(hass)",
|
||||
@@ -76,7 +72,7 @@ class HaPushNotificationsRow extends LocalizeMixin(PolymerElement) {
|
||||
return !platformLoaded || !pushSupported_;
|
||||
}
|
||||
|
||||
_descriptionKey(platformLoaded, pushSupported_) {
|
||||
_description(platformLoaded, pushSupported_) {
|
||||
let key;
|
||||
if (!pushSupported_) {
|
||||
key = "error_use_https";
|
||||
@@ -85,7 +81,7 @@ class HaPushNotificationsRow extends LocalizeMixin(PolymerElement) {
|
||||
} else {
|
||||
key = "description";
|
||||
}
|
||||
return `ui.panel.profile.push_notifications.${key}`;
|
||||
return this.localize(`ui.panel.profile.push_notifications.${key}`);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -21,8 +21,7 @@ export const panelTitleMixin = <T extends Constructor<HassBaseEl>>(
|
||||
if (
|
||||
!oldHass ||
|
||||
oldHass.panels !== this.hass.panels ||
|
||||
oldHass.panelUrl !== this.hass.panelUrl ||
|
||||
oldHass.localize !== this.hass.localize
|
||||
oldHass.panelUrl !== this.hass.panelUrl
|
||||
) {
|
||||
setTitle(getPanelTitle(this.hass));
|
||||
}
|
||||
|
@@ -36,8 +36,6 @@ export default <T extends Constructor<HassBaseEl>>(superClass: T) =>
|
||||
// eslint-disable-next-line: variable-name
|
||||
private __coreProgress?: string;
|
||||
|
||||
private __loadedFragmetTranslations: Set<string> = new Set();
|
||||
|
||||
private __loadedTranslations: {
|
||||
// track what things have been loaded
|
||||
[category: string]: LoadedTranslationCategory;
|
||||
@@ -103,7 +101,6 @@ export default <T extends Constructor<HassBaseEl>>(superClass: T) =>
|
||||
document.querySelector("html")!.setAttribute("lang", hass.language);
|
||||
this.style.direction = computeRTL(hass) ? "rtl" : "ltr";
|
||||
this._loadCoreTranslations(hass.language);
|
||||
this.__loadedFragmetTranslations = new Set();
|
||||
this._loadFragmentTranslations(hass.language, hass.panelUrl);
|
||||
}
|
||||
|
||||
@@ -198,31 +195,10 @@ export default <T extends Constructor<HassBaseEl>>(superClass: T) =>
|
||||
language: string,
|
||||
panelUrl: string
|
||||
) {
|
||||
if (!panelUrl) {
|
||||
return;
|
||||
if (translationMetadata.fragments.includes(panelUrl)) {
|
||||
const result = await getTranslation(panelUrl, language);
|
||||
this._updateResources(result.language, result.data);
|
||||
}
|
||||
const panelComponent = this.hass?.panels?.[panelUrl]?.component_name;
|
||||
|
||||
// If it's the first call we don't have panel info yet to check the component.
|
||||
// If the url is not known it might be a custom lovelace dashboard, so we load lovelace translations
|
||||
const fragment = translationMetadata.fragments.includes(
|
||||
panelComponent || panelUrl
|
||||
)
|
||||
? panelComponent || panelUrl
|
||||
: !panelComponent
|
||||
? "lovelace"
|
||||
: undefined;
|
||||
|
||||
if (!fragment) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.__loadedFragmetTranslations.has(fragment)) {
|
||||
return;
|
||||
}
|
||||
this.__loadedFragmetTranslations.add(fragment);
|
||||
const result = await getTranslation(fragment, language);
|
||||
this._updateResources(result.language, result.data);
|
||||
}
|
||||
|
||||
private async _loadCoreTranslations(language: string) {
|
||||
@@ -234,7 +210,7 @@ export default <T extends Constructor<HassBaseEl>>(superClass: T) =>
|
||||
this.__coreProgress = language;
|
||||
try {
|
||||
const result = await getTranslation(null, language);
|
||||
await this._updateResources(result.language, result.data);
|
||||
this._updateResources(result.language, result.data);
|
||||
} finally {
|
||||
this.__coreProgress = undefined;
|
||||
}
|
||||
@@ -250,29 +226,18 @@ export default <T extends Constructor<HassBaseEl>>(superClass: T) =>
|
||||
// before this.hass is even created. In this case our base state comes
|
||||
// from this._pendingHass instead. Otherwise the first set of strings is
|
||||
// overwritten when we call _updateHass the second time!
|
||||
|
||||
// Allow hass to be updated
|
||||
await new Promise((resolve) => setTimeout(resolve, 0));
|
||||
|
||||
if (language !== (this.hass ?? this._pendingHass).language) {
|
||||
// the language was changed, abort
|
||||
return;
|
||||
}
|
||||
|
||||
const baseHass = this.hass ?? this._pendingHass;
|
||||
const resources = {
|
||||
[language]: {
|
||||
...(this.hass ?? this._pendingHass)?.resources?.[language],
|
||||
...baseHass?.resources?.[language],
|
||||
...data,
|
||||
},
|
||||
};
|
||||
const changes: Partial<HomeAssistant> = {
|
||||
resources,
|
||||
localize: await computeLocalize(this, language, resources),
|
||||
};
|
||||
|
||||
if (language === (this.hass ?? this._pendingHass).language) {
|
||||
this._updateHass(changes);
|
||||
const changes: Partial<HomeAssistant> = { resources };
|
||||
if (this.hass && language === this.hass.language) {
|
||||
changes.localize = await computeLocalize(this, language, resources);
|
||||
}
|
||||
this._updateHass(changes);
|
||||
}
|
||||
|
||||
private _refetchCachedHassTranslations(
|
||||
|
@@ -98,8 +98,7 @@
|
||||
"disabled_by": {
|
||||
"user": "User",
|
||||
"integration": "Integration",
|
||||
"config_entry": "Config Entry",
|
||||
"device": "Device"
|
||||
"config_entry": "Config Entry"
|
||||
}
|
||||
},
|
||||
"ui": {
|
||||
@@ -328,7 +327,6 @@
|
||||
"entity-picker": {
|
||||
"entity": "Entity",
|
||||
"clear": "Clear",
|
||||
"no_match": "No matching entities found",
|
||||
"show_entities": "Show entities"
|
||||
},
|
||||
"entity-attribute-picker": {
|
||||
@@ -336,16 +334,6 @@
|
||||
"show_attributes": "Show attributes"
|
||||
}
|
||||
},
|
||||
"target-picker": {
|
||||
"expand_area_id": "Expand this area in the seperate devices and entities that it contains. After expanding it will not update the devices and entities when the area changes.",
|
||||
"expand_device_id": "Expand this device in seperate entities. After expanding it will not update the entities when the device changes.",
|
||||
"remove_area_id": "Remove area",
|
||||
"remove_device_id": "Remove device",
|
||||
"remove_entity_id": "Remove entity",
|
||||
"add_area_id": "Pick area",
|
||||
"add_device_id": "Pick device",
|
||||
"add_entity_id": "Pick entity"
|
||||
},
|
||||
"user-picker": {
|
||||
"no_user": "No user",
|
||||
"add_user": "Add user",
|
||||
@@ -360,8 +348,6 @@
|
||||
"clear": "Clear",
|
||||
"toggle": "Toggle",
|
||||
"show_devices": "Show devices",
|
||||
"no_devices": "You don't have any devices",
|
||||
"no_match": "No matching devices found",
|
||||
"device": "Device",
|
||||
"no_area": "No area"
|
||||
},
|
||||
@@ -370,8 +356,6 @@
|
||||
"show_areas": "Show areas",
|
||||
"area": "Area",
|
||||
"add_new": "Add new area…",
|
||||
"no_areas": "You don't have any areas",
|
||||
"no_match": "No matching areas found",
|
||||
"add_dialog": {
|
||||
"title": "Add new area",
|
||||
"text": "Enter the name of the new area.",
|
||||
@@ -628,8 +612,6 @@
|
||||
"unavailable": "This entity is not currently available.",
|
||||
"enabled_label": "Enable entity",
|
||||
"enabled_cause": "Disabled by {cause}.",
|
||||
"device_disabled": "The device of this entity is disabled.",
|
||||
"open_device_settings": "Open device settings",
|
||||
"enabled_description": "Disabled entities will not be added to Home Assistant.",
|
||||
"enabled_delay_confirm": "The enabled entities will be added to Home Assistant in {delay} seconds",
|
||||
"enabled_restart_confirm": "Restart Home Assistant to finish enabling the entities",
|
||||
@@ -805,7 +787,7 @@
|
||||
},
|
||||
"areas": {
|
||||
"caption": "Areas",
|
||||
"description": "Group devices and entities into areas",
|
||||
"description": "Manage areas in your home",
|
||||
"data_table": {
|
||||
"area": "Area",
|
||||
"devices": "Devices"
|
||||
@@ -835,7 +817,7 @@
|
||||
},
|
||||
"tags": {
|
||||
"caption": "Tags",
|
||||
"description": "Trigger automations when a NFC tag, QR code, etc. is scanned",
|
||||
"description": "Manage tags",
|
||||
"learn_more": "Learn more about tags",
|
||||
"no_tags": "No tags",
|
||||
"add_tag": "Add tag",
|
||||
@@ -866,7 +848,7 @@
|
||||
},
|
||||
"helpers": {
|
||||
"caption": "Helpers",
|
||||
"description": "Elements that help build automations",
|
||||
"description": "Manage elements that help build automations",
|
||||
"types": {
|
||||
"input_text": "Text",
|
||||
"input_number": "Number",
|
||||
@@ -894,7 +876,7 @@
|
||||
},
|
||||
"core": {
|
||||
"caption": "General",
|
||||
"description": "Unit system, location, time zone & other general parameters",
|
||||
"description": "Change your general Home Assistant configuration",
|
||||
"section": {
|
||||
"core": {
|
||||
"header": "General Configuration",
|
||||
@@ -923,7 +905,7 @@
|
||||
"caption": "Info",
|
||||
"copy_raw": "Raw Text",
|
||||
"copy_github": "For GitHub",
|
||||
"description": "Version, system health and links to documentation",
|
||||
"description": "View info about your Home Assistant installation",
|
||||
"home_assistant_logo": "Home Assistant logo",
|
||||
"path_configuration": "Path to configuration.yaml: {path}",
|
||||
"developed_by": "Developed by a bunch of awesome people.",
|
||||
@@ -958,7 +940,7 @@
|
||||
},
|
||||
"lovelace": {
|
||||
"caption": "Lovelace Dashboards",
|
||||
"description": "Create customized sets of cards to control your home",
|
||||
"description": "Manage your Lovelace Dashboards",
|
||||
"dashboards": {
|
||||
"default_dashboard": "This is the default dashboard",
|
||||
"caption": "Dashboards",
|
||||
@@ -1113,7 +1095,7 @@
|
||||
},
|
||||
"automation": {
|
||||
"caption": "Automations",
|
||||
"description": "Create custom behavior rules for your home",
|
||||
"description": "Manage automations",
|
||||
"picker": {
|
||||
"header": "Automation Editor",
|
||||
"introduction": "The automation editor allows you to create and edit automations. Please follow the link below to read the instructions to make sure that you have configured Home Assistant correctly.",
|
||||
@@ -1165,6 +1147,8 @@
|
||||
"header": "Blueprint",
|
||||
"blueprint_to_use": "Blueprint to use",
|
||||
"no_blueprints": "You don't have any blueprints",
|
||||
"manage_blueprints": "Manage Blueprints",
|
||||
"inputs": "Inputs",
|
||||
"no_inputs": "This blueprint doesn't have any inputs."
|
||||
},
|
||||
"modes": {
|
||||
@@ -1461,8 +1445,8 @@
|
||||
"description": "Manage blueprints",
|
||||
"overview": {
|
||||
"header": "Blueprint Editor",
|
||||
"introduction": "The blueprint configuration allows you to import and manage your blueprints.",
|
||||
"learn_more": "Learn more about using blueprints",
|
||||
"introduction": "The blueprint editor allows you to create and edit blueprints.",
|
||||
"learn_more": "Learn more about blueprints",
|
||||
"headers": {
|
||||
"name": "Name",
|
||||
"domain": "Domain",
|
||||
@@ -1472,28 +1456,26 @@
|
||||
"confirm_delete_text": "Are you sure you want to delete this blueprint?",
|
||||
"add_blueprint": "Import blueprint",
|
||||
"use_blueprint": "Create automation",
|
||||
"delete_blueprint": "Delete blueprint",
|
||||
"discover_more": "Discover more Blueprints"
|
||||
"delete_blueprint": "Delete blueprint"
|
||||
},
|
||||
"add": {
|
||||
"header": "Import a blueprint",
|
||||
"import_header": "Blueprint \"{name}\"",
|
||||
"import_introduction_link": "You can import blueprints of other users from Github and the {community_link}. Enter the URL of the blueprint below.",
|
||||
"community_forums": "community forums",
|
||||
"header": "Add new blueprint",
|
||||
"import_header": "Import \"{name}\" (type: {domain})",
|
||||
"import_introduction": "You can import blueprints of other users from Github and the community forums. Enter the URL of the blueprint below.",
|
||||
"url": "URL of the blueprint",
|
||||
"raw_blueprint": "Blueprint content",
|
||||
"importing": "Loading blueprint...",
|
||||
"import_btn": "Preview blueprint",
|
||||
"saving": "Importing blueprint...",
|
||||
"save_btn": "Import blueprint",
|
||||
"importing": "Importing blueprint...",
|
||||
"import_btn": "Import blueprint",
|
||||
"saving": "Saving blueprint...",
|
||||
"save_btn": "Save blueprint",
|
||||
"error_no_url": "Please enter the URL of the blueprint.",
|
||||
"unsupported_blueprint": "This blueprint is not supported",
|
||||
"file_name": "Blueprint Path"
|
||||
"file_name": "Local blueprint file name"
|
||||
}
|
||||
},
|
||||
"script": {
|
||||
"caption": "Scripts",
|
||||
"description": "Execute a sequence of actions",
|
||||
"description": "Manage scripts",
|
||||
"picker": {
|
||||
"header": "Script Editor",
|
||||
"introduction": "The script editor allows you to create and edit scripts. Please follow the link below to read the instructions to make sure that you have configured Home Assistant correctly.",
|
||||
@@ -1543,7 +1525,7 @@
|
||||
},
|
||||
"scene": {
|
||||
"caption": "Scenes",
|
||||
"description": "Capture device states and easily recall them later",
|
||||
"description": "Manage scenes",
|
||||
"activated": "Activated scene {name}.",
|
||||
"picker": {
|
||||
"header": "Scene Editor",
|
||||
@@ -1589,7 +1571,7 @@
|
||||
"cloud": {
|
||||
"description_login": "Logged in as {email}",
|
||||
"description_not_login": "Not logged in",
|
||||
"description_features": "Control home when away and integrate with Alexa and Google Assistant",
|
||||
"description_features": "Control away from home, integrate with Alexa and Google Assistant.",
|
||||
"login": {
|
||||
"title": "Cloud Login",
|
||||
"introduction": "Home Assistant Cloud provides you with a secure remote connection to your instance while away from home. It also allows you to connect with cloud-only services: Amazon Alexa and Google Assistant.",
|
||||
@@ -1756,27 +1738,18 @@
|
||||
"devices": {
|
||||
"add_prompt": "No {name} have been added using this device yet. You can add one by clicking the + button above.",
|
||||
"caption": "Devices",
|
||||
"description": "Manage configured devices",
|
||||
"description": "Manage connected devices",
|
||||
"device_info": "Device info",
|
||||
"unnamed_device": "Unnamed device",
|
||||
"unknown_error": "Unknown error",
|
||||
"name": "Name",
|
||||
"update": "Update",
|
||||
"no_devices": "No devices",
|
||||
"enabled_label": "Enable device",
|
||||
"enabled_cause": "The device is disabled by {cause}.",
|
||||
"disabled_by": {
|
||||
"user": "User",
|
||||
"integration": "Integration",
|
||||
"config_entry": "Config Entry"
|
||||
},
|
||||
"enabled_description": "Disabled devices will not be shown and entities belonging to the device will be disabled and not added to Home Assistant.",
|
||||
"automation": {
|
||||
"automations": "Automations",
|
||||
"no_automations": "No automations",
|
||||
"unknown_automation": "Unknown automation",
|
||||
"create": "Create automation with device",
|
||||
"create_disable": "Can't create automation with disabled device",
|
||||
"triggers": {
|
||||
"caption": "Do something when...",
|
||||
"no_triggers": "No triggers",
|
||||
@@ -1797,14 +1770,12 @@
|
||||
"script": {
|
||||
"scripts": "Scripts",
|
||||
"no_scripts": "No scripts",
|
||||
"create": "Create script with device",
|
||||
"create_disable": "Can't create script with disabled device"
|
||||
"create": "Create script with device"
|
||||
},
|
||||
"scene": {
|
||||
"scenes": "Scenes",
|
||||
"no_scenes": "No scenes",
|
||||
"create": "Create scene with device",
|
||||
"create_disable": "Can't create scene with disabled device"
|
||||
"create": "Create scene with device"
|
||||
},
|
||||
"cant_edit": "You can only edit items that are created in the UI.",
|
||||
"device_not_found": "Device not found.",
|
||||
@@ -1819,7 +1790,6 @@
|
||||
"scenes": "Scenes",
|
||||
"confirm_rename_entity_ids": "Do you also want to rename the entity IDs of your entities?",
|
||||
"confirm_rename_entity_ids_warning": "This will not change any configuration (like automations, scripts, scenes, dashboards) that is currently using these entities! You will have to update them yourself to use the new entity IDs!",
|
||||
"disabled": "Disabled",
|
||||
"data_table": {
|
||||
"device": "Device",
|
||||
"manufacturer": "Manufacturer",
|
||||
@@ -1831,16 +1801,7 @@
|
||||
"no_area": "No area"
|
||||
},
|
||||
"delete": "Delete",
|
||||
"confirm_delete": "Are you sure you want to delete this device?",
|
||||
"picker": {
|
||||
"search": "Search devices",
|
||||
"filter": {
|
||||
"filter": "Filter",
|
||||
"show_disabled": "Show disabled devices",
|
||||
"hidden_devices": "{number} hidden {number, plural,\n one {device}\n other {devices}\n}",
|
||||
"show_all": "Show all"
|
||||
}
|
||||
}
|
||||
"confirm_delete": "Are you sure you want to delete this device?"
|
||||
},
|
||||
"entities": {
|
||||
"caption": "Entities",
|
||||
@@ -1955,7 +1916,7 @@
|
||||
},
|
||||
"integrations": {
|
||||
"caption": "Integrations",
|
||||
"description": "Manage integrations with services, devices, ...",
|
||||
"description": "Manage integrations",
|
||||
"integration": "integration",
|
||||
"discovered": "Discovered",
|
||||
"attention": "Attention required",
|
||||
@@ -2028,7 +1989,7 @@
|
||||
},
|
||||
"users": {
|
||||
"caption": "Users",
|
||||
"description": "Manage the Home Assistant user accounts",
|
||||
"description": "Manage users",
|
||||
"users_privileges_note": "The user group feature is a work in progress. The user will be unable to administer the instance via the UI. We're still auditing all management API endpoints to ensure that they correctly limit access to administrators.",
|
||||
"picker": {
|
||||
"headers": {
|
||||
@@ -2061,8 +2022,7 @@
|
||||
"system_generated_users_not_removable": "Unable to remove system generated users.",
|
||||
"system_generated_users_not_editable": "Unable to update system generated users.",
|
||||
"unnamed_user": "Unnamed User",
|
||||
"confirm_user_deletion": "Are you sure you want to delete {name}?",
|
||||
"active_tooltip": "Controls if user can login"
|
||||
"confirm_user_deletion": "Are you sure you want to delete {name}?"
|
||||
},
|
||||
"add_user": {
|
||||
"caption": "Add user",
|
||||
@@ -2911,10 +2871,7 @@
|
||||
"new_password": "New Password",
|
||||
"confirm_new_password": "Confirm New Password",
|
||||
"error_required": "Required",
|
||||
"submit": "Submit",
|
||||
"error_new_mismatch": "Entered new password values do not match",
|
||||
"error_new_is_old": "New password must be different than current password",
|
||||
"success": "Password changed successfully"
|
||||
"submit": "Submit"
|
||||
},
|
||||
"mfa": {
|
||||
"header": "Multi-factor Authentication Modules",
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -2,13 +2,11 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Entrada de configuració",
|
||||
"device": "Dispositiu",
|
||||
"integration": "Integració",
|
||||
"user": "Usuari"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"owner": "Propietari",
|
||||
"system-admin": "Administradors",
|
||||
"system-read-only": "Usuaris de només lectura",
|
||||
"system-users": "Usuaris"
|
||||
@@ -547,8 +545,6 @@
|
||||
"add_new": "Afegir àrea nova...",
|
||||
"area": "Àrea",
|
||||
"clear": "Esborra",
|
||||
"no_areas": "No tens cap àrea",
|
||||
"no_match": "No s'han trobat àrees coincidents",
|
||||
"show_areas": "Mostra àrees"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
@@ -569,8 +565,6 @@
|
||||
"clear": "Esborra",
|
||||
"device": "Dispositiu",
|
||||
"no_area": "Sense àrees",
|
||||
"no_devices": "No tens cap dispositiu",
|
||||
"no_match": "No s'han trobat dispositius coincidents",
|
||||
"show_devices": "Mostra dispositius",
|
||||
"toggle": "Commuta"
|
||||
},
|
||||
@@ -582,7 +576,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "Esborra",
|
||||
"entity": "Entitat",
|
||||
"no_match": "No s'han trobat entitats coincidents",
|
||||
"show_entities": "Mostra entitats"
|
||||
}
|
||||
},
|
||||
@@ -716,16 +709,6 @@
|
||||
"service-picker": {
|
||||
"service": "Servei"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Selecciona àrea",
|
||||
"add_device_id": "Selecciona dispositiu",
|
||||
"add_entity_id": "Selecciona entitat",
|
||||
"expand_area_id": "Expandeix aquesta àrea en els dispositius i entitats que conté. Després d'expandir-la, no s'actualitzaran els dispositius i les entitats quan l'àrea canviï.",
|
||||
"expand_device_id": "Expandeix aquest dispositiu en entitats separades. Després d'expandir-lo, no s'actualitzaran les entitats quan el dispositiu canviï.",
|
||||
"remove_area_id": "Elimina àrea",
|
||||
"remove_device_id": "Elimina dispositiu",
|
||||
"remove_entity_id": "Elimina entitat"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Afegeix usuari",
|
||||
"no_user": "Cap usuari",
|
||||
@@ -749,7 +732,6 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Estàs segur que vols eliminar aquesta entrada?",
|
||||
"delete": "Elimina",
|
||||
"device_disabled": "El dispositiu d'aquesta entitat està desactivat.",
|
||||
"enabled_cause": "Desactivada per {cause}.",
|
||||
"enabled_delay_confirm": "Les entitats activades s'afegiran a Home Assistant d'aquí a {delay} segons",
|
||||
"enabled_description": "Les entitats desactivades no s'afegiran a Home Assistant.",
|
||||
@@ -760,7 +742,6 @@
|
||||
"icon_error": "Els icones han de tenir el format 'prefix:nom_icona', per exemple: 'mdi:home'",
|
||||
"name": "Nom",
|
||||
"note": "Nota: podria no funcionar amb alguna de les integracions.",
|
||||
"open_device_settings": "Obre la configuració del dispositiu",
|
||||
"unavailable": "Aquesta entitat no està disponible actualment.",
|
||||
"update": "Actualitza"
|
||||
},
|
||||
@@ -1048,7 +1029,7 @@
|
||||
"confirmation_text": "Tots els dispositius d'aquesta àrea quedaran sense assignar.",
|
||||
"confirmation_title": "Estàs segur que vols eliminar aquesta àrea?"
|
||||
},
|
||||
"description": "Agrupa dispositius i entitats en àrees",
|
||||
"description": "Gestiona les àrees de la casa",
|
||||
"editor": {
|
||||
"area_id": "ID d'àrea",
|
||||
"create": "Crea",
|
||||
@@ -1070,7 +1051,7 @@
|
||||
},
|
||||
"automation": {
|
||||
"caption": "Automatització",
|
||||
"description": "Crea regles de comportament personalitzades per a casa teva",
|
||||
"description": "Gestiona les automatitzacions",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Utilitza un plànol"
|
||||
@@ -1258,7 +1239,7 @@
|
||||
"edit_ui": "Edita a través d'interfície",
|
||||
"edit_yaml": "Edita com a YAML",
|
||||
"enable_disable": "Activa/desactiva automatització",
|
||||
"introduction": "Utilitza les automatitzacions per donar més vida a la teva casa.",
|
||||
"introduction": "Utilitza les automatitzacions per donar més vida a la teva casa",
|
||||
"load_error_not_editable": "Només es poden editar les automatitzacions de l'arxiu automations.yaml.",
|
||||
"load_error_unknown": "Error en carregar l'automatització ({err_no}).",
|
||||
"max": {
|
||||
@@ -1418,34 +1399,28 @@
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Introdueix l'URL del plànol.",
|
||||
"file_name": "Directori del plànol",
|
||||
"header": "Importa un plànol nou",
|
||||
"import_btn": "Vista prèvia del plànol",
|
||||
"import_header": "Plànol \"{name}\"",
|
||||
"header": "Afegiu plànol nou",
|
||||
"import_btn": "Importa plànol",
|
||||
"import_header": "Importa {name} ({domain})",
|
||||
"import_introduction": "Pots importar plànols d'altres usuaris des de Github i els fòrums de la comunitat. Introdueix, a sota, l'URL del plànol.",
|
||||
"importing": "Carregant plànol...",
|
||||
"raw_blueprint": "Contingut del plànol",
|
||||
"save_btn": "Importa plànol",
|
||||
"saving": "Important plànol...",
|
||||
"importing": "Important plànol",
|
||||
"save_btn": "Desa plànol",
|
||||
"saving": "Desant plànol...",
|
||||
"unsupported_blueprint": "Aquest plànols no és compatible",
|
||||
"url": "URL del plànol"
|
||||
},
|
||||
"caption": "Plànols",
|
||||
"description": "Gestiona els plànols",
|
||||
"overview": {
|
||||
"add_blueprint": "Importa plànol",
|
||||
"add_blueprint": "Afegiu plànol",
|
||||
"confirm_delete_header": "Eliminar aquest plànol?",
|
||||
"confirm_delete_text": "Segur que vols eliminar aquest plànol?",
|
||||
"delete_blueprint": "Elimina plànol",
|
||||
"header": "Editor de plànols",
|
||||
"headers": {
|
||||
"domain": "Domini",
|
||||
"file_name": "Nom de l'arxiu",
|
||||
"name": "Nom"
|
||||
},
|
||||
"introduction": "La configuració de plànols et permet importar-ne i gestionar-los.",
|
||||
"learn_more": "Més informació sobre l'ús dels plànols",
|
||||
"use_blueprint": "Crea automatització"
|
||||
"introduction": "L'editor de plànols et permet crear i editar plànols.",
|
||||
"learn_more": "Més informació sobre els plànols"
|
||||
}
|
||||
},
|
||||
"cloud": {
|
||||
@@ -1528,7 +1503,7 @@
|
||||
"title": "Alexa"
|
||||
},
|
||||
"caption": "Home Assistant Cloud",
|
||||
"description_features": "Controla la casa quan siguis fora i integra-hi Alexa i Google Assistant",
|
||||
"description_features": "Controla la casa des de fora, pots integrar Alexa i Google Assistant.",
|
||||
"description_login": "Sessió iniciada com a {email}",
|
||||
"description_not_login": "No has iniciat sessió",
|
||||
"dialog_certificate": {
|
||||
@@ -1623,7 +1598,7 @@
|
||||
},
|
||||
"core": {
|
||||
"caption": "General",
|
||||
"description": "Sistema d'unitats, ubicació, zona horària i altres paràmetres generals",
|
||||
"description": "Canvia la configuració general de Home Assistant",
|
||||
"section": {
|
||||
"core": {
|
||||
"core_config": {
|
||||
@@ -1685,7 +1660,6 @@
|
||||
"unknown_condition": "Condició desconeguda"
|
||||
},
|
||||
"create": "Crea una automatització amb el dispositiu",
|
||||
"create_disable": "No es pot crear una automatització amb dispositius desactivats",
|
||||
"no_automations": "No hi ha automatitzacions",
|
||||
"no_device_automations": "No hi ha automatitzacions disponibles per a aquest dispositiu.",
|
||||
"triggers": {
|
||||
@@ -1711,18 +1685,9 @@
|
||||
"no_devices": "Sense dispositius"
|
||||
},
|
||||
"delete": "Elimina",
|
||||
"description": "Gestiona els dispositius configurats",
|
||||
"description": "Gestiona els dispositius connectats",
|
||||
"device_info": "Informació del dispositiu",
|
||||
"device_not_found": "Dispositiu no trobat.",
|
||||
"disabled": "Desactivat",
|
||||
"disabled_by": {
|
||||
"config_entry": "Entrada de configuració",
|
||||
"integration": "Integració",
|
||||
"user": "Usuari"
|
||||
},
|
||||
"enabled_cause": "El dispositiu està desactivat per {cause}.",
|
||||
"enabled_description": "Els dispositius desactivats no es mostraran i les entitats que hi pertanyin es desactivaran i no s'afegiran a Home Assistant.",
|
||||
"enabled_label": "Activa dispositiu",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Afegeix a Lovelace",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {entitat desabilitada}\n other {entitats desabilitades}\n}",
|
||||
@@ -1732,25 +1697,14 @@
|
||||
},
|
||||
"name": "Nom",
|
||||
"no_devices": "No hi ha dispositius",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filtre",
|
||||
"hidden_devices": "{number} {number, plural,\n one {dispositiu amagat}\n other {dispositius amagats}\n}",
|
||||
"show_all": "Mostra-ho tot",
|
||||
"show_disabled": "Mostra dispositius desactivats"
|
||||
},
|
||||
"search": "Cerca dispositius"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Crea una escena amb el dispositiu",
|
||||
"create_disable": "No es pot crear una escena amb dispositius desactivats",
|
||||
"no_scenes": "No hi ha escenes",
|
||||
"scenes": "Escenes"
|
||||
},
|
||||
"scenes": "Escenes",
|
||||
"script": {
|
||||
"create": "Crea un programa (script) amb el dispositiu",
|
||||
"create_disable": "No es pot crear un script amb dispositius desactivats",
|
||||
"no_scripts": "No hi ha scripts",
|
||||
"scripts": "Scripts"
|
||||
},
|
||||
@@ -1783,7 +1737,6 @@
|
||||
},
|
||||
"header": "Entitats",
|
||||
"headers": {
|
||||
"area": "Àrea",
|
||||
"entity_id": "ID de l'entitat",
|
||||
"integration": "Integració",
|
||||
"name": "Nom",
|
||||
@@ -1816,7 +1769,7 @@
|
||||
"header": "Configuració de Home Assistant",
|
||||
"helpers": {
|
||||
"caption": "Ajudants",
|
||||
"description": "Elements útils per a construir automatitzacions",
|
||||
"description": "Gestiona elements útils per a construir automatitzacions",
|
||||
"dialog": {
|
||||
"add_helper": "Afegeix ajudant",
|
||||
"add_platform": "Afegeix {platform}",
|
||||
@@ -1848,7 +1801,7 @@
|
||||
"copy_github": "Per GitHub",
|
||||
"copy_raw": "Text en brut",
|
||||
"custom_uis": "Interfícies d'usuari personalitzades:",
|
||||
"description": "Versió, estat del sistema i enllaços a la documentació",
|
||||
"description": "Consulta informació de la teva instal·lació de Home Assistant",
|
||||
"developed_by": "Desenvolupat per un munt de gent fantàstica.",
|
||||
"documentation": "Documentació",
|
||||
"frontend": "frontend-ui",
|
||||
@@ -1954,7 +1907,7 @@
|
||||
},
|
||||
"configure": "Configurar",
|
||||
"configured": "Configurades",
|
||||
"description": "Gestiona les integracions amb serveis, dispositius, ...",
|
||||
"description": "Gestiona les integracions",
|
||||
"details": "Detalls de la integració",
|
||||
"discovered": "Descobertes",
|
||||
"home_assistant_website": "lloc web de Home Assistant",
|
||||
@@ -2039,7 +1992,7 @@
|
||||
"open": "Obrir"
|
||||
}
|
||||
},
|
||||
"description": "Crea conjunts de panells personalitzats per controlar la teva casa",
|
||||
"description": "Gestiona els teus panells Lovelace",
|
||||
"resources": {
|
||||
"cant_edit_yaml": "Estàs utilitzant Lovelace en mode YAML per tant no pots gestionar els recursos des de la interfície d'usuari. Els pots gestionar des del fitxer 'configuration.yaml'.",
|
||||
"caption": "Recursos",
|
||||
@@ -2182,7 +2135,7 @@
|
||||
"refresh_node": {
|
||||
"battery_note": "Si el node funciona amb bateria, assegura't de que estigui actiu abans de continuar",
|
||||
"button": "Actualitza node",
|
||||
"complete": "Actualització del node completada",
|
||||
"complete": "Actualització del node completa",
|
||||
"description": "Això farà que OpenZWave torni a consultar el node i n'actualitzi les classes de comandes, funcions i valors.",
|
||||
"node_status": "Estat del node",
|
||||
"refreshing_description": "Actualitzant la informació del node...",
|
||||
@@ -2238,7 +2191,7 @@
|
||||
"scene": {
|
||||
"activated": "Escena {name} activada.",
|
||||
"caption": "Escenes",
|
||||
"description": "Captura els estats dels dispositius i recorda'ls més tard",
|
||||
"description": "Gestiona les escenes",
|
||||
"editor": {
|
||||
"default_name": "Nova escena",
|
||||
"devices": {
|
||||
@@ -2256,7 +2209,7 @@
|
||||
"without_device": "Entitats sense dispositiu"
|
||||
},
|
||||
"icon": "Icona",
|
||||
"introduction": "Utilitza les escenes per donar més vida a la teva casa.",
|
||||
"introduction": "Utilitza les escenes per donar més vida a la teva llar.",
|
||||
"load_error_not_editable": "Només es poden editar les escenes de l'arxiu scenes.yaml.",
|
||||
"load_error_unknown": "Error en carregar l'escena ({err_no}).",
|
||||
"name": "Nom",
|
||||
@@ -2282,7 +2235,7 @@
|
||||
},
|
||||
"script": {
|
||||
"caption": "Programació (scripts)",
|
||||
"description": "Executa una seqüència d'accions",
|
||||
"description": "Gestiona els programes (scripts)",
|
||||
"editor": {
|
||||
"alias": "Nom",
|
||||
"default_name": "Nou script",
|
||||
@@ -2393,7 +2346,7 @@
|
||||
"confirm_remove": "Estàs segur que vols eliminar l'etiqueta {tag}?",
|
||||
"confirm_remove_title": "Elimina l'etiqueta?",
|
||||
"create_automation": "Crea una automatització amb una etiqueta",
|
||||
"description": "Dispara automatitzacions quan una etiqueta NFC, un codi QR, etc; s'escanegi",
|
||||
"description": "Gestiona les etiquetes",
|
||||
"detail": {
|
||||
"companion_apps": "aplicacions de companion",
|
||||
"create": "Crea",
|
||||
@@ -2428,11 +2381,10 @@
|
||||
"username": "Nom d'usuari"
|
||||
},
|
||||
"caption": "Usuaris",
|
||||
"description": "Gestiona els comptes d'usuari de Home Assistant",
|
||||
"description": "Gestiona els usuaris",
|
||||
"editor": {
|
||||
"activate_user": "Activar usuari",
|
||||
"active": "Actiu",
|
||||
"active_tooltip": "Controla si l'usuari pot iniciar sessió",
|
||||
"admin": "Administrador",
|
||||
"caption": "Mostra usuari",
|
||||
"change_password": "Canviar contrasenya",
|
||||
@@ -2441,7 +2393,7 @@
|
||||
"delete_user": "Eliminar usuari",
|
||||
"group": "Grup",
|
||||
"id": "ID",
|
||||
"name": "Nom de visualització",
|
||||
"name": "Nom",
|
||||
"new_password": "Nova contrasenya",
|
||||
"owner": "Propietari",
|
||||
"password_changed": "La contrasenya s'ha canviat correctament",
|
||||
@@ -2449,24 +2401,19 @@
|
||||
"system_generated_users_not_editable": "No es poden actualitzar usuaris generats pel sistema.",
|
||||
"system_generated_users_not_removable": "No es poden eliminar usuaris generats pel sistema.",
|
||||
"unnamed_user": "Usuari sense nom",
|
||||
"update_user": "Actualitza",
|
||||
"username": "Nom d'usuari"
|
||||
"update_user": "Actualitza"
|
||||
},
|
||||
"picker": {
|
||||
"add_user": "Afegeix usuari",
|
||||
"headers": {
|
||||
"group": "Grup",
|
||||
"is_active": "Actiu",
|
||||
"is_owner": "Propietari",
|
||||
"name": "Nom de visualització",
|
||||
"system": "Generat pel sistema",
|
||||
"username": "Nom d'usuari"
|
||||
"name": "Nom",
|
||||
"system": "Sistema"
|
||||
}
|
||||
},
|
||||
"users_privileges_note": "El grup d'usuaris encara no està del tot acabat. L'usuari no podrà administrar la instància a través de la interfície d'usuari. Encara estem verificant tots els punts de l'API de gestió per assegurar-nos que limiten correctament l'accés als administradors."
|
||||
},
|
||||
"zha": {
|
||||
"add_device": "Afegeix dispositiu",
|
||||
"add_device_page": {
|
||||
"discovered_text": "Els dispositius apareixeran aquí un cop descoberts.",
|
||||
"discovery_text": "Els dispositius descoberts apareixeran aquí. Segueix les instruccions del/s teu/s dispositiu/s i posa el dispositiu/s en mode d'emparellament.",
|
||||
@@ -2512,16 +2459,6 @@
|
||||
"value": "Valor"
|
||||
},
|
||||
"description": "Gestiona la xarxa domòtica Zigbee (ZHA)",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Configuració completada",
|
||||
"CONFIGURED_status_text": "Inicialitzant",
|
||||
"INITIALIZED": "Inicialització completada",
|
||||
"INITIALIZED_status_text": "El dispositiu està llest per a utilitzar-se",
|
||||
"INTERVIEW_COMPLETE": "Consulta completada",
|
||||
"INTERVIEW_COMPLETE_status_text": "Configurant",
|
||||
"PAIRED": "Dispositiu trobat",
|
||||
"PAIRED_status_text": "Iniciant consulta"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Domòtica Zigbee (ZHA) - Dispositiu"
|
||||
},
|
||||
@@ -2537,7 +2474,6 @@
|
||||
"unbind_button_label": "Desvincula grup"
|
||||
},
|
||||
"groups": {
|
||||
"add_group": "Afegeix grup",
|
||||
"add_members": "Afegeix membres",
|
||||
"adding_members": "Afegint membres",
|
||||
"caption": "Grups",
|
||||
@@ -2580,11 +2516,7 @@
|
||||
"hint_wakeup": "Alguns dispositius com els sensors Xiaomi tenen un botó per despertar-los que pots prémer a intervals de 5 segons per mantenir-los desperts mentre hi interactues.",
|
||||
"introduction": "Executa comandes ZHA que afecten un sol dispositiu. Tria un dispositiu per veure el seu llistat de comandes disponibles."
|
||||
},
|
||||
"title": "Domòtica Zigbee (ZHA)",
|
||||
"visualization": {
|
||||
"caption": "Visualització",
|
||||
"header": "Visualització de xarxa"
|
||||
}
|
||||
"title": "Domòtica Zigbee (ZHA)"
|
||||
},
|
||||
"zone": {
|
||||
"add_zone": "Afegeix zona",
|
||||
@@ -3184,7 +3116,7 @@
|
||||
"close": "Tanca",
|
||||
"empty_config": "Comença amb un panell buit",
|
||||
"header": "Pren el control de la interfície d'usuari Lovelace",
|
||||
"para": "Aquest panell Lovelace està gestionat per Home Assistant. S'actualitza automàticament quan hi ha noves entitats o nous components de Lovelace disponibles. Si prens el control, aquest panell no s'actualitzarà automàticament. Sempre pots crear un nou panell a configuració i fer-hi proves.",
|
||||
"para": "Aquest panell Lovelace s'està gestionant per Home Assistant. S'actualitza automàticament quan hi ha noves entitats o nous components de Lovelace disponibles. Si prens el control, aquest panell no s'actualitzarà automàticament. Sempre pots crear un nou panell a configuració i fer-hi proves.",
|
||||
"para_sure": "Estàs segur que vols prendre el control de la interfície d'usuari?",
|
||||
"save": "Prendre el control",
|
||||
"yaml_config": "Per ajudar a familiaritzar-te, aquí tens la configuració actual del teu panell Lovelace:",
|
||||
@@ -3451,13 +3383,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Confirmar contrasenya nova",
|
||||
"current_password": "Contrasenya actual",
|
||||
"error_new_is_old": "La contrasenya nova ha de ser diferent de la contrasenya actual",
|
||||
"error_new_mismatch": "Els valors introduïts de la nova contrasenya no coincideixen",
|
||||
"error_required": "Obligatori",
|
||||
"header": "Canvi de contrasenya",
|
||||
"new_password": "Contrasenya nova",
|
||||
"submit": "Envia",
|
||||
"success": "La contrasenya s'ha canviat correctament"
|
||||
"submit": "Envia"
|
||||
},
|
||||
"current_user": "Has iniciat la sessió com a {fullName}.",
|
||||
"customize_sidebar": {
|
||||
|
@@ -2,7 +2,6 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Položka nastavení",
|
||||
"device": "Zařízení",
|
||||
"integration": "Integrace",
|
||||
"user": "Uživatel"
|
||||
}
|
||||
@@ -547,14 +546,11 @@
|
||||
"add_new": "Přidat novou oblast ...",
|
||||
"area": "Oblast",
|
||||
"clear": "Vymazat",
|
||||
"no_areas": "Nemáte žádné oblasti",
|
||||
"no_match": "Nebyly nalezeny žádné odpovídající oblasti",
|
||||
"show_areas": "Zobrazit oblasti"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
"add_user": "Přidat uživatele",
|
||||
"remove_user": "Odebrat uživatele",
|
||||
"select_blueprint": "Vyberte šablonu"
|
||||
"remove_user": "Odebrat uživatele"
|
||||
},
|
||||
"data-table": {
|
||||
"no-data": "Žádná data",
|
||||
@@ -569,8 +565,6 @@
|
||||
"clear": "Zrušit",
|
||||
"device": "Zařízení",
|
||||
"no_area": "Žádná oblast",
|
||||
"no_devices": "Nemáte žádná zařízení",
|
||||
"no_match": "Nebyla nalezena žádná odpovídající zařízení",
|
||||
"show_devices": "Zobrazit zařízení",
|
||||
"toggle": "Přepnout"
|
||||
},
|
||||
@@ -582,7 +576,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "Zrušit",
|
||||
"entity": "Entita",
|
||||
"no_match": "Nebyly nalezeny žádné odpovídající entity",
|
||||
"show_entities": "Zobrazit entity"
|
||||
}
|
||||
},
|
||||
@@ -716,16 +709,6 @@
|
||||
"service-picker": {
|
||||
"service": "Služba"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Vyberte oblast",
|
||||
"add_device_id": "Vyberte zařízení",
|
||||
"add_entity_id": "Vyberte entitu",
|
||||
"expand_area_id": "Rozdělit tuto oblast na jednotlivá zařízení a entity, které obsahuje. Po rozdělení nebudou zařízení a entity aktualizovány, pokud dojde ke změnám oblasti.",
|
||||
"expand_device_id": "Rozdělit toto zařízení na jednotlivé entity. Po rozdělení nebudou entity aktualizovány, pokud dojde ke změnám zařízení.",
|
||||
"remove_area_id": "Odebrat oblast",
|
||||
"remove_device_id": "Odebrat zařízení",
|
||||
"remove_entity_id": "Odebrat entitu"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Přidat uživatele",
|
||||
"no_user": "Žádný uživatel",
|
||||
@@ -749,7 +732,6 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Opravdu chcete tuto položku smazat?",
|
||||
"delete": "Odstranit",
|
||||
"device_disabled": "Zařízení této entity je zakázáno.",
|
||||
"enabled_cause": "Zakázáno {cause}.",
|
||||
"enabled_delay_confirm": "Povolené entity budou přidány do Home Assistant za {delay} sekund",
|
||||
"enabled_description": "Zakázané entity nebudou přidány do Home Assistant.",
|
||||
@@ -760,7 +742,6 @@
|
||||
"icon_error": "Ikony by měly být ve formátu 'prefix:nazevikony', např. 'mdi:home'",
|
||||
"name": "Jméno",
|
||||
"note": "Poznámka: U všech integrací to ještě nemusí fungovat.",
|
||||
"open_device_settings": "Otevřít nastavení zařízení",
|
||||
"unavailable": "Tato entita není momentálně k dispozici.",
|
||||
"update": "Aktualizovat"
|
||||
},
|
||||
@@ -901,7 +882,6 @@
|
||||
"navigation": {
|
||||
"areas": "Oblasti",
|
||||
"automation": "Automatizace",
|
||||
"blueprint": "Šablony",
|
||||
"core": "Obecné",
|
||||
"customize": "Přizpůsobení",
|
||||
"devices": "Zařízení",
|
||||
@@ -910,7 +890,7 @@
|
||||
"info": "Informace",
|
||||
"integrations": "Integrace",
|
||||
"logs": "Logy",
|
||||
"lovelace": "Ovládací panely Lovelace",
|
||||
"lovelace": "Lovelace Dashboardy",
|
||||
"navigate_to": "Přejít na {panel}",
|
||||
"navigate_to_config": "Přejít na nastavení {panel}",
|
||||
"person": "Osoby",
|
||||
@@ -973,7 +953,7 @@
|
||||
"zha_device_info": {
|
||||
"buttons": {
|
||||
"add": "Přidejte zařízení prostřednictvím tohoto zařízení",
|
||||
"clusters": "Správa clusterů",
|
||||
"clusters": "Clustery",
|
||||
"reconfigure": "Přenastavit zařízení",
|
||||
"remove": "Odebrat zařízení",
|
||||
"zigbee_information": "Podpis zařízení Zigbee"
|
||||
@@ -1048,7 +1028,7 @@
|
||||
"confirmation_text": "Všechna zařízení v této oblasti budou nastavena jako nepřiřazena.",
|
||||
"confirmation_title": "Opravdu chcete tuto oblast smazat?"
|
||||
},
|
||||
"description": "Seskupte zařízení a entity do oblastí",
|
||||
"description": "Správa oblastí ve vaší domácnosti",
|
||||
"editor": {
|
||||
"area_id": "ID oblasti",
|
||||
"create": "VYTVOŘIT",
|
||||
@@ -1070,11 +1050,8 @@
|
||||
},
|
||||
"automation": {
|
||||
"caption": "Automatizace",
|
||||
"description": "Vytvořte si pro svůj domov vlastní pravidla chování",
|
||||
"description": "Správa automatizací",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Použít šablonu"
|
||||
},
|
||||
"header": "Vytvoření automatizace",
|
||||
"how": "Jak chcete vytvořit svou novou automatizaci?",
|
||||
"start_empty": "Začněte s prázdnou automatizací",
|
||||
@@ -1166,12 +1143,7 @@
|
||||
},
|
||||
"alias": "Název",
|
||||
"blueprint": {
|
||||
"blueprint_to_use": "Šablona k použití",
|
||||
"header": "Šablona",
|
||||
"inputs": "Vstupy",
|
||||
"manage_blueprints": "Správa šablon",
|
||||
"no_blueprints": "Nemáme žádné šablony",
|
||||
"no_inputs": "Šablona nemá žádné vstupy."
|
||||
"inputs": "Vstupy"
|
||||
},
|
||||
"conditions": {
|
||||
"add": "Přidat podmínku",
|
||||
@@ -1417,35 +1389,24 @@
|
||||
},
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Zadejte adresu URL adresu šablony",
|
||||
"file_name": "Cesta k šabloně",
|
||||
"header": "Import šablony",
|
||||
"import_btn": "Náhled šablony",
|
||||
"import_header": "Šablona \"{name}\"",
|
||||
"import_introduction": "Můžete importovat šablony od ostatních uživatelů z GitHubu a komunitních fór. Níže zadejte URL adresu šablony.",
|
||||
"importing": "Načítám šablonu...",
|
||||
"raw_blueprint": "Obsah šablony",
|
||||
"save_btn": "Importovat šablonu",
|
||||
"saving": "Importuji šablonu...",
|
||||
"unsupported_blueprint": "Tato šablona není podporována.",
|
||||
"url": "URL adresa šablony"
|
||||
"error_no_url": "Zadejte adresu URL šablonky konfigurace",
|
||||
"header": "Přidat novou šablonku konfigurace",
|
||||
"import_btn": "Importovat šablonku konfigurace",
|
||||
"import_header": "Importovat \"{name}\" (typ: {domain})",
|
||||
"import_introduction": "Z Githubu a komunitních fór můžete importovat šablonky konfigurace sdílené ostatními uživateli. Zadejte adresu URL šablonky konfigurace.",
|
||||
"importing": "Importuje se šablonka konfigurace",
|
||||
"save_btn": "Uložit šablonku konfigurace",
|
||||
"saving": "Ukládání konfigurační šablonky",
|
||||
"url": "URL šablonky konfigurace"
|
||||
},
|
||||
"caption": "Šablony",
|
||||
"description": "Správa šablon",
|
||||
"overview": {
|
||||
"add_blueprint": "Import šablony",
|
||||
"confirm_delete_header": "Odstranit tuto šablonu?",
|
||||
"confirm_delete_text": "Opravdu chcete smazat tuto šablonu?",
|
||||
"delete_blueprint": "Smazat šablonu",
|
||||
"header": "Editor šablon",
|
||||
"confirm_delete_header": "Odstranit tuto šablonku konfigurace?",
|
||||
"headers": {
|
||||
"domain": "Doména",
|
||||
"file_name": "Název souboru",
|
||||
"name": "Jméno"
|
||||
},
|
||||
"introduction": "Nastavení šablon vám umožňuje importovat a spravovat vaše šablony.",
|
||||
"learn_more": "Další informace o používání šablon",
|
||||
"use_blueprint": "Vytvořit automatizaci"
|
||||
"learn_more": "Další informace o šablonkách konfigurace"
|
||||
}
|
||||
},
|
||||
"cloud": {
|
||||
@@ -1458,7 +1419,7 @@
|
||||
"enable_state_reporting": "Povolit hlášení stavu",
|
||||
"info": "Díky integraci Alexa pro Home Assistant Cloud budete moci ovládat všechna zařízení v Home Assistant pomocí jakéhokoli zařízení podporujícího Alexa.",
|
||||
"info_state_reporting": "Pokud povolíte hlášení stavu, Home Assistant bude posílat veškeré změny stavů všech exponovaných entit do Amazonu. Toto vám umožní sledovat aktuální stavy entity v aplikaci Alexa a použít tyto stavy k vytvoření rutin.",
|
||||
"manage_entities": "Správa entit",
|
||||
"manage_entities": "Spravovat entity",
|
||||
"state_reporting_error": "Nelze {enable_disable} hlášení stavu.",
|
||||
"sync_entities": "Synchronizovat entity",
|
||||
"sync_entities_error": "Chyba při synchronizaci entit:",
|
||||
@@ -1487,7 +1448,7 @@
|
||||
"integrations_introduction": "Integrace pro Home Assistant Cloud vám umožní připojit se ke cloudovým službám, aniž byste museli veřejně zpřístupnit vaší instanci Home Assistant na internetu.",
|
||||
"integrations_introduction2": "Na webových stránkách najdete ",
|
||||
"integrations_link_all_features": " všechny dostupné funkce",
|
||||
"manage_account": "Správa účtu",
|
||||
"manage_account": "Spravovat účet",
|
||||
"nabu_casa_account": "Účet Nabu Casa",
|
||||
"not_connected": "Není připojeno",
|
||||
"remote": {
|
||||
@@ -1528,7 +1489,7 @@
|
||||
"title": "Alexa"
|
||||
},
|
||||
"caption": "Home Assistant Cloud",
|
||||
"description_features": "Ovládejte, i když nejste doma, a propojte s Alexou a Google Assistantem",
|
||||
"description_features": "Ovládejte vzdáleně, integrace s Alexou a Google Assistant.",
|
||||
"description_login": "Přihlášen jako {email}",
|
||||
"description_not_login": "Nepřihlášen",
|
||||
"dialog_certificate": {
|
||||
@@ -1623,7 +1584,7 @@
|
||||
},
|
||||
"core": {
|
||||
"caption": "Obecné",
|
||||
"description": "Jednotkový systém, umístění, časové pásmo a další obecné parametry",
|
||||
"description": "Změny obecného nastavení Home Assistant",
|
||||
"section": {
|
||||
"core": {
|
||||
"core_config": {
|
||||
@@ -1685,7 +1646,6 @@
|
||||
"unknown_condition": "Neznámá podmínka"
|
||||
},
|
||||
"create": "Vytvořit automatizaci se zařízením",
|
||||
"create_disable": "Nelze vytvořit automatizaci se zakázaným zařízením",
|
||||
"no_automations": "Žádné automatizace",
|
||||
"no_device_automations": "Pro toto zařízení nejsou k dispozici žádné automatizace.",
|
||||
"triggers": {
|
||||
@@ -1699,7 +1659,7 @@
|
||||
"caption": "Zařízení",
|
||||
"confirm_delete": "Opravdu chcete toto zařízení odstranit?",
|
||||
"confirm_rename_entity_ids": "Chcete také přejmenovat ID entit?",
|
||||
"confirm_rename_entity_ids_warning": "Žádná nastavení (např. automatizace, skripty, scény, ovládací panely), která tyto entity aktuálně používá, nebudou změněna! Vše budete muset aktualizovat sami, aby se používaly nová ID entit!",
|
||||
"confirm_rename_entity_ids_warning": "Žádná nastavení (např. automatizace, skripty, scény, dashboardy), která tyto entity aktuálně používá, nebudou změněna! Vše budete muset aktualizovat sami, aby se používaly nová ID entit!",
|
||||
"data_table": {
|
||||
"area": "Oblast",
|
||||
"battery": "Baterie",
|
||||
@@ -1714,15 +1674,6 @@
|
||||
"description": "Správa připojených zařízení",
|
||||
"device_info": "Informace o zařízení",
|
||||
"device_not_found": "Zařízení nebylo nalezeno.",
|
||||
"disabled": "Zakázáno",
|
||||
"disabled_by": {
|
||||
"config_entry": "Položka nastavení",
|
||||
"integration": "Integrace",
|
||||
"user": "Uživatel"
|
||||
},
|
||||
"enabled_cause": "Zařízení je zakázáno přes {cause}.",
|
||||
"enabled_description": "Zakázaná zařízení se nebudou zobrazovat a entity patřící k těmto zařízením budou zakázány a nebudou přidány do Home Assistant.",
|
||||
"enabled_label": "Povolit zařízení",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Přidat do Lovelace",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {zakázaná entita}\n other {zakázaných entit}\n}",
|
||||
@@ -1732,25 +1683,14 @@
|
||||
},
|
||||
"name": "Jméno",
|
||||
"no_devices": "Žádná zařízení",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filtrovat",
|
||||
"hidden_devices": "{number} {number, plural,\n one {skryté zařízení}\n few {skrytá zařízení}\n other {skrytých zařízení}\n}",
|
||||
"show_all": "Zobrazit vše",
|
||||
"show_disabled": "Zobrazit zakázaná zařízení"
|
||||
},
|
||||
"search": "Hledat zařízení"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Vytvořit scénu se zařízením",
|
||||
"create_disable": "Nelze vytvořit scénu se zakázaným zařízením",
|
||||
"no_scenes": "Žádné scény",
|
||||
"scenes": "Scény"
|
||||
},
|
||||
"scenes": "Scény",
|
||||
"script": {
|
||||
"create": "Vytvořit skript se zařízením",
|
||||
"create_disable": "Nelze vytvořit skript se zakázaným zařízením",
|
||||
"no_scripts": "Žádné skripty",
|
||||
"scripts": "Skripty"
|
||||
},
|
||||
@@ -1783,7 +1723,6 @@
|
||||
},
|
||||
"header": "Entity",
|
||||
"headers": {
|
||||
"area": "Oblast",
|
||||
"entity_id": "ID entity",
|
||||
"integration": "Integrace",
|
||||
"name": "Název",
|
||||
@@ -1816,7 +1755,7 @@
|
||||
"header": "Nastavení Home Assistant",
|
||||
"helpers": {
|
||||
"caption": "Pomocníci",
|
||||
"description": "Prvky, které pomáhají vytvářet automatizace",
|
||||
"description": "Správa prvků, které mohou pomoci při vytváření automatizací",
|
||||
"dialog": {
|
||||
"add_helper": "Přidat pomocníka",
|
||||
"add_platform": "Přidat {platform}",
|
||||
@@ -1848,7 +1787,7 @@
|
||||
"copy_github": "Pro GitHub",
|
||||
"copy_raw": "Nezpracovaný text",
|
||||
"custom_uis": "Vlastní uživatelská rozhraní:",
|
||||
"description": "Verze, stav systému a odkazy na dokumentaci",
|
||||
"description": "Informace o instalaci Home Assistant",
|
||||
"developed_by": "Vyvinuto partou úžasných lidí.",
|
||||
"documentation": "Dokumentace",
|
||||
"frontend": "frontend-ui",
|
||||
@@ -1890,7 +1829,7 @@
|
||||
"virtualenv": "Virtuální prostředí"
|
||||
},
|
||||
"lovelace": {
|
||||
"dashboards": "Ovládací panely",
|
||||
"dashboards": "Dashboardy",
|
||||
"mode": "Režim",
|
||||
"resources": "Zdroje"
|
||||
}
|
||||
@@ -1954,7 +1893,7 @@
|
||||
},
|
||||
"configure": "Nastavit",
|
||||
"configured": "Nastaveno",
|
||||
"description": "Správa integrací a jejich služeb, zařízení, ...",
|
||||
"description": "Správa integrací",
|
||||
"details": "Podrobnosti o integraci",
|
||||
"discovered": "Objeveno",
|
||||
"home_assistant_website": "stránky Home Assistant",
|
||||
@@ -1998,24 +1937,24 @@
|
||||
"title": "Logy"
|
||||
},
|
||||
"lovelace": {
|
||||
"caption": "Ovládací panely Lovelace",
|
||||
"caption": "Lovelace Dashboardy",
|
||||
"dashboards": {
|
||||
"cant_edit_default": "Standardní ovládací panel Lovelace nelze upravovat z uživatelského rozhraní. Můžete jej skrýt nastavením jiného ovládacího panelu jako výchozího.",
|
||||
"cant_edit_yaml": "Ovládací panely definované v YAML nelze upravovat z uživatelského rozhraní. Změňte je v configuration.yaml.",
|
||||
"caption": "Ovládací panely",
|
||||
"cant_edit_default": "Standardní Lovelace dashboard nelze upravovat z uživatelského rozhraní. Můžete jej skrýt nastavením jiného dashboardu jako výchozího.",
|
||||
"cant_edit_yaml": "Dashboardy definované v YAML nelze upravovat z uživatelského rozhraní. Změňte je v configuration.yaml.",
|
||||
"caption": "Dashboardy",
|
||||
"conf_mode": {
|
||||
"storage": "Řízeno uživatelským rozhraním",
|
||||
"yaml": "Soubor YAML"
|
||||
},
|
||||
"confirm_delete": "Opravdu chcete odstranit tento ovládací panel?",
|
||||
"default_dashboard": "Toto je výchozí ovládací panel",
|
||||
"confirm_delete": "Opravdu chcete odstranit tento dashboard?",
|
||||
"default_dashboard": "Toto je výchozí dashboard",
|
||||
"detail": {
|
||||
"create": "Vytvořit",
|
||||
"delete": "Smazat",
|
||||
"dismiss": "Zavřít",
|
||||
"edit_dashboard": "Upravit ovládací panel",
|
||||
"edit_dashboard": "Upravit dashboard",
|
||||
"icon": "Ikona",
|
||||
"new_dashboard": "Přidat nový ovládací panel",
|
||||
"new_dashboard": "Přidat nový dashboard",
|
||||
"remove_default": "Odebrat jako výchozí na tomto zařízení",
|
||||
"require_admin": "Pouze správce",
|
||||
"set_default": "Nastavit jako výchozí na tomto zařízení",
|
||||
@@ -2027,7 +1966,7 @@
|
||||
"url_error_msg": "Adresa URL by měla obsahovat - a nesmí obsahovat mezery ani speciální znaky, s výjimkou _ a -"
|
||||
},
|
||||
"picker": {
|
||||
"add_dashboard": "Přidat ovládací panel",
|
||||
"add_dashboard": "Přidat dashboard",
|
||||
"headers": {
|
||||
"conf_mode": "Metoda nastavení",
|
||||
"default": "Výchozí",
|
||||
@@ -2039,7 +1978,7 @@
|
||||
"open": "Otevřít"
|
||||
}
|
||||
},
|
||||
"description": "Vytvořte vlastní sady karet pro ovládání svého domova",
|
||||
"description": "Správa Lovelace Dashboardů",
|
||||
"resources": {
|
||||
"cant_edit_yaml": "Používáte Lovelace v režimu YAML, proto nemůžete spravovat své zdroje prostřednictvím uživatelského rozhraní. Spravujte je v souboru configuration.yaml.",
|
||||
"caption": "Zdroje",
|
||||
@@ -2080,7 +2019,7 @@
|
||||
"description_publish": "Publikovat paket",
|
||||
"listening_to": "Naslouchám",
|
||||
"message_received": "Zpráva {id} přijata na {topic} v {time} :",
|
||||
"payload": "Obsah (povolena šablona)",
|
||||
"payload": "Obsah",
|
||||
"publish": "Publikovat",
|
||||
"start_listening": "Začít naslouchat",
|
||||
"stop_listening": "Přestat naslouchat",
|
||||
@@ -2109,7 +2048,7 @@
|
||||
"network": "Síť",
|
||||
"node": {
|
||||
"config": "Nastavení",
|
||||
"dashboard": "Ovládací panel"
|
||||
"dashboard": "Dashboard"
|
||||
},
|
||||
"nodes": "Uzly",
|
||||
"select_instance": "Vyberte instanci"
|
||||
@@ -2142,7 +2081,7 @@
|
||||
"node_config": {
|
||||
"header": "Nastavení uzlu",
|
||||
"help_source": "Popisy parametrů nastavení a text nápovědy poskytuje projekt OpenZWave.",
|
||||
"introduction": "Správa různých parametrů nastavení uzlu Z-Wave.",
|
||||
"introduction": "Spravujte různé parametry nastavení uzlu Z-Wave.",
|
||||
"wakeup_help": "Uzly napájené z baterie musí být vzhůru, aby mohly změnit své nastavení. Pokud uzel není vzhůru, OpenZWave se pokusí aktualizovat nastavení uzlu při příštím probuzení, což může být o několik hodin (nebo dní) později. Zařízení probudíte takto:"
|
||||
},
|
||||
"node_metadata": {
|
||||
@@ -2238,7 +2177,7 @@
|
||||
"scene": {
|
||||
"activated": "Aktivovaná scéna {name}.",
|
||||
"caption": "Scény",
|
||||
"description": "Zachyťte stavy zařízení a snadno je později vyvolejte",
|
||||
"description": "Správa scén",
|
||||
"editor": {
|
||||
"default_name": "Nová scéna",
|
||||
"devices": {
|
||||
@@ -2282,7 +2221,7 @@
|
||||
},
|
||||
"script": {
|
||||
"caption": "Skripty",
|
||||
"description": "Provádějte posloupnosti akcí",
|
||||
"description": "Správa skriptů",
|
||||
"editor": {
|
||||
"alias": "Název",
|
||||
"default_name": "Nový skript",
|
||||
@@ -2393,7 +2332,7 @@
|
||||
"confirm_remove": "Opravdu chcete odebrat štítek {tag}?",
|
||||
"confirm_remove_title": "Odebrat štítek?",
|
||||
"create_automation": "Vytvořit automatizaci se štítkem",
|
||||
"description": "Spusťte automatizaci skenováním NFC tagu, QR kódu atd.",
|
||||
"description": "Správa štítků",
|
||||
"detail": {
|
||||
"companion_apps": "doprovodné aplikace",
|
||||
"create": "Vytvořit",
|
||||
@@ -2428,11 +2367,10 @@
|
||||
"username": "Uživatelské jméno"
|
||||
},
|
||||
"caption": "Uživatelé",
|
||||
"description": "Správa uživatelských účtů pro Home Assistant",
|
||||
"description": "Správa uživatelů",
|
||||
"editor": {
|
||||
"activate_user": "Aktivovat uživatele",
|
||||
"active": "Aktivní",
|
||||
"active_tooltip": "Určuje, zda se uživatel může přihlásit",
|
||||
"admin": "Administrátor",
|
||||
"caption": "Zobrazit uživatele",
|
||||
"change_password": "Změnit heslo",
|
||||
@@ -2512,16 +2450,6 @@
|
||||
"value": "Hodnota"
|
||||
},
|
||||
"description": "Správa Zigbee Home Automation",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Nastavení dokončeno",
|
||||
"CONFIGURED_status_text": "Inicializuji",
|
||||
"INITIALIZED": "Inicializace dokončena",
|
||||
"INITIALIZED_status_text": "Zařízení je připraveno k použití",
|
||||
"INTERVIEW_COMPLETE": "Dotazování dokončeno",
|
||||
"INTERVIEW_COMPLETE_status_text": "Nastavuji",
|
||||
"PAIRED": "Zařízení nalezeno",
|
||||
"PAIRED_status_text": "Začínám dotazování"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee Home Automation - Zařízení"
|
||||
},
|
||||
@@ -2625,7 +2553,7 @@
|
||||
"value": "Hodnota",
|
||||
"wakeup_interval": "Interval probuzení"
|
||||
},
|
||||
"description": "Správa síťě Z-Wave",
|
||||
"description": "Spravujte svou síť Z-Wave",
|
||||
"learn_more": "Další informace o Z-Wave",
|
||||
"network_management": {
|
||||
"header": "Správa sítě Z-Wave",
|
||||
@@ -2764,11 +2692,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"all_listeners": "Tato šablona naslouchá všem změnám stavu.",
|
||||
"description": "Šablony jsou vykreslovány pomocí šablonovacího systému Jinja2 s některými specifickými rozšířeními pro Home Assistant.",
|
||||
"description": "Šablony jsou vykreslovány pomocí Jinja2 šablonového enginu s některými specifickými rozšířeními pro Home Assistant.",
|
||||
"domain": "Doména",
|
||||
"editor": "Editor šablon",
|
||||
"entity": "Entita",
|
||||
"jinja_documentation": "Dokumentace šablon Jinja2",
|
||||
"jinja_documentation": "Dokumentace šablony Jinja2",
|
||||
"listeners": "Tato šablona naslouchá následujícím změnám stavu:",
|
||||
"no_listeners": "Tato šablona nenaslouchá žádným událostem a nebude automaticky aktualizována.",
|
||||
"reset": "Obnovit ukázkovou šablonu",
|
||||
@@ -2776,7 +2704,7 @@
|
||||
"template_extensions": "Rozšíření šablony Home Assistant",
|
||||
"time": "Tato šablona se aktualizuje na začátku každé minuty.",
|
||||
"title": "Šablony",
|
||||
"unknown_error_template": "Neznámá chyba při vykreslení šablony"
|
||||
"unknown_error_template": "Šablona vykreslování neznámých chyb"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2841,7 +2769,7 @@
|
||||
}
|
||||
},
|
||||
"changed_toast": {
|
||||
"message": "Nastavení Lovelace pro tento ovládací panel bylo aktualizováno. Chcete obnovit stránku?",
|
||||
"message": "Nastavení Lovelace pro tento dashboard bylo aktualizováno. Chcete obnovit stránku?",
|
||||
"refresh": "Obnovit"
|
||||
},
|
||||
"editor": {
|
||||
@@ -3182,17 +3110,17 @@
|
||||
"save_config": {
|
||||
"cancel": "Zahodit změnu",
|
||||
"close": "Zavřít",
|
||||
"empty_config": "Začít s prázdným ovládacím panel",
|
||||
"empty_config": "Začít s prázdným dashboardem",
|
||||
"header": "Převzít kontrolu nad vaší Lovelace UI",
|
||||
"para": "Tento ovládací panel momentálně spravuje Home Assistant. Je automaticky aktualizován při přidání nové entity nebo Lovelace komponenty. Pokud převezmete kontrolu, nebudeme již provádět změny automaticky za vás. Vždy si můžete vytvořit nový ovládací panel na hraní.",
|
||||
"para": "Tento dashboard momentálně spravuje Home Assistant. Je automaticky aktualizován při přidání nové entity nebo Lovelace komponenty. Pokud převezmete kontrolu, nebudeme již provádět změny automaticky za vás. Vždy si můžete vytvořit nový dashboard na hraní.",
|
||||
"para_sure": "Opravdu chcete převzít kontrolu nad uživalským rozhraním ?",
|
||||
"save": "Převzít kontrolu",
|
||||
"yaml_config": "Abyste mohli snadněji začít, zde je aktuální nastavení tohoto ovládacího panelu:",
|
||||
"yaml_control": "Chcete-li převzít kontrolu v režimu YAML, vytvořte soubor YAML s názvem, který jste uvedli ve svém nastavení pro tento ovládací panel, nebo výchozí \"ui-lovelace.yaml\".",
|
||||
"yaml_config": "Abyste mohli snadněji začít, zde je aktuální nastavení tohoto dashboardu:",
|
||||
"yaml_control": "Chcete-li převzít kontrolu v režimu YAML, vytvořte soubor YAML s názvem, který jste uvedli ve svém nastavení pro tento dashboard, nebo výchozí \"ui-lovelace.yaml\".",
|
||||
"yaml_mode": "Používáte režim YAML, což znamená, že nemůžete změnit nastavení Lovelace z uživatelského rozhraní. Pokud chcete měnit Lovelace z uživatelského rozhraní, odstraňte \"mode: yaml\" z vašeho nastavení Lovelace v \"configuration.yaml\"."
|
||||
},
|
||||
"select_view": {
|
||||
"dashboard_label": "Ovládací panel",
|
||||
"dashboard_label": "Dashboard",
|
||||
"header": "Vyberte pohled"
|
||||
},
|
||||
"sub-element-editor": {
|
||||
@@ -3217,7 +3145,7 @@
|
||||
},
|
||||
"menu": {
|
||||
"close": "Zavřít",
|
||||
"configure_ui": "Upravit ovládací panel",
|
||||
"configure_ui": "Upravit Dashboard",
|
||||
"exit_edit_mode": "Ukončit režim úprav uživatelského rozhraní",
|
||||
"help": "Nápověda",
|
||||
"refresh": "Obnovit",
|
||||
@@ -3451,13 +3379,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Potvrďte nové heslo",
|
||||
"current_password": "Současné heslo",
|
||||
"error_new_is_old": "Nové heslo se musí lišit od aktuálního hesla",
|
||||
"error_new_mismatch": "Zadaná nová hesla se neshodují",
|
||||
"error_required": "Povinný",
|
||||
"header": "Změnit heslo",
|
||||
"new_password": "Nové heslo",
|
||||
"submit": "Odeslat",
|
||||
"success": "Heslo bylo úspěšně změněno"
|
||||
"submit": "Odeslat"
|
||||
},
|
||||
"current_user": "Nyní jste přihlášeni jako {fullName}.",
|
||||
"customize_sidebar": {
|
||||
@@ -3466,9 +3391,9 @@
|
||||
"header": "Změna pořadí a skrytí položek postranního panelu"
|
||||
},
|
||||
"dashboard": {
|
||||
"description": "Vyberte výchozí ovládací panel pro toto zařízení.",
|
||||
"dropdown_label": "Ovládací panel",
|
||||
"header": "Ovládací panel"
|
||||
"description": "Vyberte výchozí dashboard pro toto zařízení.",
|
||||
"dropdown_label": "Dashboard",
|
||||
"header": "Dashboard"
|
||||
},
|
||||
"enable_shortcuts": {
|
||||
"description": "Povolte nebo zakažte klávesové zkratky pro provádění různých akcí v uživatelském rozhraní.",
|
||||
|
@@ -7,7 +7,6 @@
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"owner": "Besitzer",
|
||||
"system-admin": "Administratoren",
|
||||
"system-read-only": "Nur-Lesen Benutzer",
|
||||
"system-users": "Benutzer"
|
||||
@@ -710,9 +709,6 @@
|
||||
"service-picker": {
|
||||
"service": "Dienst"
|
||||
},
|
||||
"target-picker": {
|
||||
"remove_area_id": "Bereich entfernen"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Benutzer hinzufügen",
|
||||
"no_user": "Kein Benutzer",
|
||||
@@ -1695,11 +1691,6 @@
|
||||
"description": "Verbundene Geräte verwalten",
|
||||
"device_info": "Geräteinformationen",
|
||||
"device_not_found": "Gerät nicht gefunden.",
|
||||
"disabled": "Deaktiviert",
|
||||
"disabled_by": {
|
||||
"user": "Benutzer"
|
||||
},
|
||||
"enabled_label": "Gerät aktivieren",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Zu Lovelace hinzufügen",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {deaktivierte Entität}\n other {deaktivierte Entitäten}\n}",
|
||||
@@ -1709,13 +1700,6 @@
|
||||
},
|
||||
"name": "Name",
|
||||
"no_devices": "Keine Geräte",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filter",
|
||||
"show_all": "Alle anzeigen"
|
||||
},
|
||||
"search": "Geräte suchen"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Szene mit Gerät erstellen",
|
||||
"no_scenes": "Keine Szenen",
|
||||
@@ -1756,7 +1740,6 @@
|
||||
},
|
||||
"header": "Entitäten",
|
||||
"headers": {
|
||||
"area": "Bereich",
|
||||
"entity_id": "Entitäts-ID",
|
||||
"integration": "Integration",
|
||||
"name": "Name",
|
||||
@@ -2421,18 +2404,14 @@
|
||||
"system_generated_users_not_editable": "Systemgenerierte Benutzer können nicht aktualisiert werden.",
|
||||
"system_generated_users_not_removable": "Vom System generierte Benutzer können nicht entfernt werden.",
|
||||
"unnamed_user": "Unbenannter Benutzer",
|
||||
"update_user": "Aktualisieren",
|
||||
"username": "Benutzername"
|
||||
"update_user": "Aktualisieren"
|
||||
},
|
||||
"picker": {
|
||||
"add_user": "Benutzer hinzufügen",
|
||||
"headers": {
|
||||
"group": "Gruppe",
|
||||
"is_active": "Aktiv",
|
||||
"is_owner": "Besitzer",
|
||||
"name": "Name",
|
||||
"system": "System",
|
||||
"username": "Benutzername"
|
||||
"system": "System"
|
||||
}
|
||||
},
|
||||
"users_privileges_note": "Benutzergruppen sind derzeit noch in Entwicklung. Der Benutzer wird nicht in der Lage sein, Änderungen an der Instanz über das UI vorzunehmen. Derzeit überprüfen wir noch alle API Endpunkte um sicherzustellen dass diese nur von Administratoren genutzt werden können."
|
||||
@@ -2484,15 +2463,6 @@
|
||||
"value": "Wert"
|
||||
},
|
||||
"description": "Zigbee Home Automation Netzwerkmanagement",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Konfiguration abgeschlossen",
|
||||
"CONFIGURED_status_text": "Initialisieren",
|
||||
"INITIALIZED": "Initialisierung abgeschlossen",
|
||||
"INITIALIZED_status_text": "Das Gerät ist einsatzbereit",
|
||||
"INTERVIEW_COMPLETE": "Interview abgeschlossen",
|
||||
"INTERVIEW_COMPLETE_status_text": "Konfigurieren",
|
||||
"PAIRED": "Gerät gefunden"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee Home Automation - Gerät"
|
||||
},
|
||||
@@ -3422,12 +3392,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Neues Passwort Bestätigen",
|
||||
"current_password": "Aktuelles Passwort",
|
||||
"error_new_is_old": "Das neue Kennwort muss sich von dem aktuellen Kennwort unterscheiden.",
|
||||
"error_required": "Erforderlich",
|
||||
"header": "Passwort ändern",
|
||||
"new_password": "Neues Passwort",
|
||||
"submit": "Absenden",
|
||||
"success": "Das Passwort wurde erfolgreich geändert"
|
||||
"submit": "Absenden"
|
||||
},
|
||||
"current_user": "Du bist derzeit als {fullName} angemeldet.",
|
||||
"customize_sidebar": {
|
||||
|
@@ -2,7 +2,6 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Config Entry",
|
||||
"device": "Device",
|
||||
"integration": "Integration",
|
||||
"user": "User"
|
||||
}
|
||||
@@ -547,8 +546,6 @@
|
||||
"add_new": "Add new area…",
|
||||
"area": "Area",
|
||||
"clear": "Clear",
|
||||
"no_areas": "You don't have any areas",
|
||||
"no_match": "No matching areas found",
|
||||
"show_areas": "Show areas"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
@@ -569,8 +566,6 @@
|
||||
"clear": "Clear",
|
||||
"device": "Device",
|
||||
"no_area": "No area",
|
||||
"no_devices": "You don't have any devices",
|
||||
"no_match": "No matching devices found",
|
||||
"show_devices": "Show devices",
|
||||
"toggle": "Toggle"
|
||||
},
|
||||
@@ -582,7 +577,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "Clear",
|
||||
"entity": "Entity",
|
||||
"no_match": "No matching entities found",
|
||||
"show_entities": "Show entities"
|
||||
}
|
||||
},
|
||||
@@ -716,16 +710,6 @@
|
||||
"service-picker": {
|
||||
"service": "Service"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Pick area",
|
||||
"add_device_id": "Pick device",
|
||||
"add_entity_id": "Pick entity",
|
||||
"expand_area_id": "Expand this area in the seperate devices and entities that it contains. After expanding it will not update the devices and entities when the area changes.",
|
||||
"expand_device_id": "Expand this device in seperate entities. After expanding it will not update the entities when the device changes.",
|
||||
"remove_area_id": "Remove area",
|
||||
"remove_device_id": "Remove device",
|
||||
"remove_entity_id": "Remove entity"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Add user",
|
||||
"no_user": "No user",
|
||||
@@ -749,7 +733,6 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Are you sure you want to delete this entry?",
|
||||
"delete": "Delete",
|
||||
"device_disabled": "The device of this entity is disabled.",
|
||||
"enabled_cause": "Disabled by {cause}.",
|
||||
"enabled_delay_confirm": "The enabled entities will be added to Home Assistant in {delay} seconds",
|
||||
"enabled_description": "Disabled entities will not be added to Home Assistant.",
|
||||
@@ -760,7 +743,6 @@
|
||||
"icon_error": "Icons should be in the format 'prefix:iconname', e.g. 'mdi:home'",
|
||||
"name": "Name",
|
||||
"note": "Note: This might not work yet with all integrations.",
|
||||
"open_device_settings": "Open device settings",
|
||||
"unavailable": "This entity is not currently available.",
|
||||
"update": "Update"
|
||||
},
|
||||
@@ -1048,7 +1030,7 @@
|
||||
"confirmation_text": "All devices in this area will become unassigned.",
|
||||
"confirmation_title": "Are you sure you want to delete this area?"
|
||||
},
|
||||
"description": "Group devices and entities into areas",
|
||||
"description": "Manage areas in your home",
|
||||
"editor": {
|
||||
"area_id": "Area ID",
|
||||
"create": "Create",
|
||||
@@ -1070,7 +1052,7 @@
|
||||
},
|
||||
"automation": {
|
||||
"caption": "Automations",
|
||||
"description": "Create custom behavior rules for your home",
|
||||
"description": "Manage automations",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Use a blueprint"
|
||||
@@ -1418,15 +1400,15 @@
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Please enter the URL of the blueprint.",
|
||||
"file_name": "Blueprint Path",
|
||||
"header": "Import a blueprint",
|
||||
"import_btn": "Preview blueprint",
|
||||
"import_header": "Blueprint \"{name}\"",
|
||||
"file_name": "Local blueprint file name",
|
||||
"header": "Add new blueprint",
|
||||
"import_btn": "Import blueprint",
|
||||
"import_header": "Import \"{name}\" (type: {domain})",
|
||||
"import_introduction": "You can import blueprints of other users from Github and the community forums. Enter the URL of the blueprint below.",
|
||||
"importing": "Loading blueprint...",
|
||||
"importing": "Importing blueprint...",
|
||||
"raw_blueprint": "Blueprint content",
|
||||
"save_btn": "Import blueprint",
|
||||
"saving": "Importing blueprint...",
|
||||
"save_btn": "Save blueprint",
|
||||
"saving": "Saving blueprint...",
|
||||
"unsupported_blueprint": "This blueprint is not supported",
|
||||
"url": "URL of the blueprint"
|
||||
},
|
||||
@@ -1443,8 +1425,8 @@
|
||||
"file_name": "File name",
|
||||
"name": "Name"
|
||||
},
|
||||
"introduction": "The blueprint configuration allows you to import and manage your blueprints.",
|
||||
"learn_more": "Learn more about using blueprints",
|
||||
"introduction": "The blueprint editor allows you to create and edit blueprints.",
|
||||
"learn_more": "Learn more about blueprints",
|
||||
"use_blueprint": "Create automation"
|
||||
}
|
||||
},
|
||||
@@ -1528,7 +1510,7 @@
|
||||
"title": "Alexa"
|
||||
},
|
||||
"caption": "Home Assistant Cloud",
|
||||
"description_features": "Control home when away and integrate with Alexa and Google Assistant",
|
||||
"description_features": "Control away from home, integrate with Alexa and Google Assistant.",
|
||||
"description_login": "Logged in as {email}",
|
||||
"description_not_login": "Not logged in",
|
||||
"dialog_certificate": {
|
||||
@@ -1623,7 +1605,7 @@
|
||||
},
|
||||
"core": {
|
||||
"caption": "General",
|
||||
"description": "Unit system, location, time zone & other general parameters",
|
||||
"description": "Change your general Home Assistant configuration",
|
||||
"section": {
|
||||
"core": {
|
||||
"core_config": {
|
||||
@@ -1685,7 +1667,6 @@
|
||||
"unknown_condition": "Unknown condition"
|
||||
},
|
||||
"create": "Create automation with device",
|
||||
"create_disable": "Can't create automation with disabled device",
|
||||
"no_automations": "No automations",
|
||||
"no_device_automations": "There are no automations available for this device.",
|
||||
"triggers": {
|
||||
@@ -1711,18 +1692,9 @@
|
||||
"no_devices": "No devices"
|
||||
},
|
||||
"delete": "Delete",
|
||||
"description": "Manage configured devices",
|
||||
"description": "Manage connected devices",
|
||||
"device_info": "Device info",
|
||||
"device_not_found": "Device not found.",
|
||||
"disabled": "Disabled",
|
||||
"disabled_by": {
|
||||
"config_entry": "Config Entry",
|
||||
"integration": "Integration",
|
||||
"user": "User"
|
||||
},
|
||||
"enabled_cause": "The device is disabled by {cause}.",
|
||||
"enabled_description": "Disabled devices will not be shown and entities belonging to the device will be disabled and not added to Home Assistant.",
|
||||
"enabled_label": "Enable device",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Add to Lovelace",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {disabled entity}\n other {disabled entities}\n}",
|
||||
@@ -1732,25 +1704,14 @@
|
||||
},
|
||||
"name": "Name",
|
||||
"no_devices": "No devices",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filter",
|
||||
"hidden_devices": "{number} hidden {number, plural,\n one {device}\n other {devices}\n}",
|
||||
"show_all": "Show all",
|
||||
"show_disabled": "Show disabled devices"
|
||||
},
|
||||
"search": "Search devices"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Create scene with device",
|
||||
"create_disable": "Can't create scene with disabled device",
|
||||
"no_scenes": "No scenes",
|
||||
"scenes": "Scenes"
|
||||
},
|
||||
"scenes": "Scenes",
|
||||
"script": {
|
||||
"create": "Create script with device",
|
||||
"create_disable": "Can't create script with disabled device",
|
||||
"no_scripts": "No scripts",
|
||||
"scripts": "Scripts"
|
||||
},
|
||||
@@ -1816,7 +1777,7 @@
|
||||
"header": "Configure Home Assistant",
|
||||
"helpers": {
|
||||
"caption": "Helpers",
|
||||
"description": "Elements that help build automations",
|
||||
"description": "Manage elements that help build automations",
|
||||
"dialog": {
|
||||
"add_helper": "Add helper",
|
||||
"add_platform": "Add {platform}",
|
||||
@@ -1848,7 +1809,7 @@
|
||||
"copy_github": "For GitHub",
|
||||
"copy_raw": "Raw Text",
|
||||
"custom_uis": "Custom UIs:",
|
||||
"description": "Version, system health and links to documentation",
|
||||
"description": "View info about your Home Assistant installation",
|
||||
"developed_by": "Developed by a bunch of awesome people.",
|
||||
"documentation": "Documentation",
|
||||
"frontend": "frontend-ui",
|
||||
@@ -1954,7 +1915,7 @@
|
||||
},
|
||||
"configure": "Configure",
|
||||
"configured": "Configured",
|
||||
"description": "Manage integrations with services, devices, ...",
|
||||
"description": "Manage integrations",
|
||||
"details": "Integration details",
|
||||
"discovered": "Discovered",
|
||||
"home_assistant_website": "Home Assistant website",
|
||||
@@ -2039,7 +2000,7 @@
|
||||
"open": "Open"
|
||||
}
|
||||
},
|
||||
"description": "Create customized sets of cards to control your home",
|
||||
"description": "Manage your Lovelace Dashboards",
|
||||
"resources": {
|
||||
"cant_edit_yaml": "You are using Lovelace in YAML mode, therefore you cannot manage your resources through the UI. Manage them in configuration.yaml.",
|
||||
"caption": "Resources",
|
||||
@@ -2238,7 +2199,7 @@
|
||||
"scene": {
|
||||
"activated": "Activated scene {name}.",
|
||||
"caption": "Scenes",
|
||||
"description": "Capture device states and easily recall them later",
|
||||
"description": "Manage scenes",
|
||||
"editor": {
|
||||
"default_name": "New Scene",
|
||||
"devices": {
|
||||
@@ -2282,7 +2243,7 @@
|
||||
},
|
||||
"script": {
|
||||
"caption": "Scripts",
|
||||
"description": "Execute a sequence of actions",
|
||||
"description": "Manage scripts",
|
||||
"editor": {
|
||||
"alias": "Name",
|
||||
"default_name": "New Script",
|
||||
@@ -2393,7 +2354,7 @@
|
||||
"confirm_remove": "Are you sure you want to remove tag {tag}?",
|
||||
"confirm_remove_title": "Remove tag?",
|
||||
"create_automation": "Create automation with tag",
|
||||
"description": "Trigger automations when a NFC tag, QR code, etc. is scanned",
|
||||
"description": "Manage tags",
|
||||
"detail": {
|
||||
"companion_apps": "companion apps",
|
||||
"create": "Create",
|
||||
@@ -2428,11 +2389,10 @@
|
||||
"username": "Username"
|
||||
},
|
||||
"caption": "Users",
|
||||
"description": "Manage the Home Assistant user accounts",
|
||||
"description": "Manage users",
|
||||
"editor": {
|
||||
"activate_user": "Activate user",
|
||||
"active": "Active",
|
||||
"active_tooltip": "Controls if user can login",
|
||||
"admin": "Administrator",
|
||||
"caption": "View user",
|
||||
"change_password": "Change password",
|
||||
@@ -3451,13 +3411,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Confirm New Password",
|
||||
"current_password": "Current Password",
|
||||
"error_new_is_old": "New password must be different than current password",
|
||||
"error_new_mismatch": "Entered new password values do not match",
|
||||
"error_required": "Required",
|
||||
"header": "Change Password",
|
||||
"new_password": "New Password",
|
||||
"submit": "Submit",
|
||||
"success": "Password changed successfully"
|
||||
"submit": "Submit"
|
||||
},
|
||||
"current_user": "You are currently logged in as {fullName}.",
|
||||
"customize_sidebar": {
|
||||
|
@@ -666,16 +666,6 @@
|
||||
"service-picker": {
|
||||
"service": "Servicio"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Seleccionar área",
|
||||
"add_device_id": "Seleccionar dispositivo",
|
||||
"add_entity_id": "Seleccionar entidad",
|
||||
"expand_area_id": "Expanda esta área en los dispositivos y entidades independientes que contiene. Después de expandirlo no actualizará los dispositivos y entidades cuando cambie el área.",
|
||||
"expand_device_id": "Expanda este dispositivo en entidades independientes. Después de expandirlo no actualizará las entidades cuando cambie el dispositivo.",
|
||||
"remove_area_id": "Eliminar área",
|
||||
"remove_device_id": "Eliminar dispositivo",
|
||||
"remove_entity_id": "Eliminar entidad"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Agregar usuario",
|
||||
"no_user": "Sin usuario",
|
||||
@@ -699,7 +689,6 @@
|
||||
"editor": {
|
||||
"confirm_delete": "¿Está seguro de que desea eliminar esta entrada?",
|
||||
"delete": "Eliminar",
|
||||
"device_disabled": "El dispositivo de esta entidad está deshabilitado.",
|
||||
"enabled_cause": "Deshabilitado por {cause}.",
|
||||
"enabled_delay_confirm": "Las entidades habilitadas se agregarán a Home Assistant en {delay} segundos",
|
||||
"enabled_description": "Las entidades deshabilitadas no serán agregadas a Home Assistant.",
|
||||
@@ -710,7 +699,6 @@
|
||||
"icon_error": "Los iconos deben estar en el formato 'prefijo:nombre del icono', por ejemplo, 'mdi: home'",
|
||||
"name": "Sustituir nombre",
|
||||
"note": "Nota: esto podría no funcionar todavía con todas las integraciones.",
|
||||
"open_device_settings": "Abrir la configuración del dispositivo",
|
||||
"unavailable": "Esta entidad no está disponible actualmente.",
|
||||
"update": "Actualizar"
|
||||
},
|
||||
@@ -1501,7 +1489,6 @@
|
||||
"unknown_condition": "Condición desconocida"
|
||||
},
|
||||
"create": "Crear automatización con dispositivo",
|
||||
"create_disable": "No se puede crear automatización con un dispositivo deshabilitado",
|
||||
"no_automations": "Sin automatizaciones",
|
||||
"no_device_automations": "No hay automatizaciones disponibles para este dispositivo.",
|
||||
"triggers": {
|
||||
@@ -1528,14 +1515,6 @@
|
||||
"description": "Administrar dispositivos conectados",
|
||||
"device_info": "Información del dispositivo",
|
||||
"device_not_found": "Dispositivo no encontrado.",
|
||||
"disabled": "Deshabilitado",
|
||||
"disabled_by": {
|
||||
"config_entry": "Entrada de configuración",
|
||||
"integration": "Integración",
|
||||
"user": "Usuario"
|
||||
},
|
||||
"enabled_description": "Los dispositivos deshabilitados no se mostrarán y las entidades que pertenecen al dispositivo se deshabilitarán y no se agregarán a Home Assistant.",
|
||||
"enabled_label": "Habilitar dispositivo",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Agregar a Lovelace",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {entidad deshabilitada}\n other {entidades deshabilitadas}\n}",
|
||||
@@ -1545,24 +1524,14 @@
|
||||
},
|
||||
"name": "Nombre",
|
||||
"no_devices": "Sin dispositivos",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filtrar",
|
||||
"show_all": "Mostrar todo",
|
||||
"show_disabled": "Mostrar los dispositivos deshabilitadas"
|
||||
},
|
||||
"search": "Mostrar dispositivos"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Crear escena con dispositivo",
|
||||
"create_disable": "No se puede crear una escena con un dispositivo deshabilitado",
|
||||
"no_scenes": "Sin escenas",
|
||||
"scenes": "Escenas"
|
||||
},
|
||||
"scenes": "Escenas",
|
||||
"script": {
|
||||
"create": "Crear script con dispositivo",
|
||||
"create_disable": "No se puede crear un script con un dispositivo deshabilitado",
|
||||
"no_scripts": "Sin scripts",
|
||||
"scripts": "Scripts"
|
||||
},
|
||||
@@ -2199,7 +2168,6 @@
|
||||
"editor": {
|
||||
"activate_user": "Activar usuario",
|
||||
"active": "Activo",
|
||||
"active_tooltip": "Controla si el usuario puede iniciar sesión",
|
||||
"admin": "Administrador",
|
||||
"caption": "Ver usuario",
|
||||
"change_password": "Cambiar contraseña",
|
||||
@@ -3168,13 +3136,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Confirmar nueva contraseña",
|
||||
"current_password": "Contraseña actual",
|
||||
"error_new_is_old": "La nueva contraseña debe ser diferente a la contraseña actual",
|
||||
"error_new_mismatch": "Las contraseñas no coinciden",
|
||||
"error_required": "Necesario",
|
||||
"header": "Cambiar contraseña",
|
||||
"new_password": "Nueva contraseña",
|
||||
"submit": "Enviar",
|
||||
"success": "La contraseña se cambió con éxito"
|
||||
"submit": "Enviar"
|
||||
},
|
||||
"current_user": "Actualmente estás conectado como {fullName} .",
|
||||
"customize_sidebar": {
|
||||
|
@@ -2,7 +2,6 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Entrada de configuración",
|
||||
"device": "Dispositivo",
|
||||
"integration": "Integración",
|
||||
"user": "Usuario"
|
||||
}
|
||||
@@ -547,8 +546,6 @@
|
||||
"add_new": "Añade una nueva área ...",
|
||||
"area": "Área",
|
||||
"clear": "Limpiar",
|
||||
"no_areas": "No tienes áreas",
|
||||
"no_match": "No se han encontrado áreas coincidentes",
|
||||
"show_areas": "Mostrar áreas"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
@@ -569,8 +566,6 @@
|
||||
"clear": "Limpiar",
|
||||
"device": "Dispositivo",
|
||||
"no_area": "Ningún área",
|
||||
"no_devices": "No tienes ningún dispositivo",
|
||||
"no_match": "No se han encontrado dispositivos coincidentes",
|
||||
"show_devices": "Mostrar dispositivos",
|
||||
"toggle": "Interruptor"
|
||||
},
|
||||
@@ -582,7 +577,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "Limpiar",
|
||||
"entity": "Entidad",
|
||||
"no_match": "No se han encontrado entidades coincidentes",
|
||||
"show_entities": "Mostrar entidades"
|
||||
}
|
||||
},
|
||||
@@ -716,16 +710,6 @@
|
||||
"service-picker": {
|
||||
"service": "Servicio"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Seleccionar área",
|
||||
"add_device_id": "Seleccionar dispositivo",
|
||||
"add_entity_id": "Seleccionar entidad",
|
||||
"expand_area_id": "Expande este área en los dispositivos y entidades independientes que contiene. Después de expandirse, no actualizará los dispositivos y entidades cuando cambie el área.",
|
||||
"expand_device_id": "Expande este dispositivo en entidades separadas. Después de expandirse, no actualizará las entidades cuando cambie el dispositivo.",
|
||||
"remove_area_id": "Eliminar área",
|
||||
"remove_device_id": "Eliminar dispositivo",
|
||||
"remove_entity_id": "Eliminar entidad"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Añadir usuario",
|
||||
"no_user": "Sin usuario",
|
||||
@@ -749,7 +733,6 @@
|
||||
"editor": {
|
||||
"confirm_delete": "¿Estás seguro de que quieres eliminar este elemento?",
|
||||
"delete": "Eliminar",
|
||||
"device_disabled": "El dispositivo de esta entidad está deshabilitado.",
|
||||
"enabled_cause": "Desactivado por {cause}.",
|
||||
"enabled_delay_confirm": "Las entidades habilitadas se agregarán a Home Assistant en {delay} segundos",
|
||||
"enabled_description": "Las entidades deshabilitadas no se agregarán a Home Assistant.",
|
||||
@@ -760,7 +743,6 @@
|
||||
"icon_error": "Los iconos deben tener el formato 'prefijo:nombreicono', por ejemplo, 'mdi:home'",
|
||||
"name": "Nombre",
|
||||
"note": "Nota: puede que esto no funcione todavía con todas las integraciones",
|
||||
"open_device_settings": "Abrir la configuración del dispositivo",
|
||||
"unavailable": "Esta entidad no está disponible actualmente.",
|
||||
"update": "Actualizar"
|
||||
},
|
||||
@@ -1048,7 +1030,7 @@
|
||||
"confirmation_text": "Todos los dispositivos en esta área quedarán sin asignar.",
|
||||
"confirmation_title": "¿Estás seguro de que deseas eliminar esta área?"
|
||||
},
|
||||
"description": "Agrupa dispositivos y entidades en áreas",
|
||||
"description": "Administra áreas en tu hogar",
|
||||
"editor": {
|
||||
"area_id": "ID de área",
|
||||
"create": "Crear",
|
||||
@@ -1070,7 +1052,7 @@
|
||||
},
|
||||
"automation": {
|
||||
"caption": "Automatizaciones",
|
||||
"description": "Crea reglas de comportamiento personalizadas para tu hogar",
|
||||
"description": "Administra las automatizaciones",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Usa un plano"
|
||||
@@ -1093,7 +1075,7 @@
|
||||
"duplicate": "Duplicar",
|
||||
"header": "Acciones",
|
||||
"introduction": "Las acciones son lo que hará Home Assistant cuando se desencadene la automatización.",
|
||||
"learn_more": "Aprende más sobre las acciones.",
|
||||
"learn_more": "Saber más sobre las acciones.",
|
||||
"name": "Acción",
|
||||
"type_select": "Tipo de acción",
|
||||
"type": {
|
||||
@@ -1180,7 +1162,7 @@
|
||||
"duplicate": "Duplicar",
|
||||
"header": "Condiciones",
|
||||
"introduction": "Las condiciones son opcionales e impedirán cualquier\nejecución posterior a menos que se cumplan todas las condiciones.",
|
||||
"learn_more": "Aprende más sobre las condiciones",
|
||||
"learn_more": "Saber más sobre las condiciones",
|
||||
"name": "Condición",
|
||||
"type_select": "Tipo de condición",
|
||||
"type": {
|
||||
@@ -1284,7 +1266,7 @@
|
||||
"duplicate": "Duplicar",
|
||||
"header": "Desencadenantes",
|
||||
"introduction": "Los desencadenantes son los que inician el funcionamiento de una regla de automatización. Es posible especificar varios desencadenantes para la misma regla. Una vez que se inicia un desencadenante, Home Assistant comprobará las condiciones, si las hubiere, y ejecutará la acción.",
|
||||
"learn_more": "Aprende más sobre los desencadenantes",
|
||||
"learn_more": "Saber más sobre los desencadenantes",
|
||||
"name": "Desencadenante",
|
||||
"type_select": "Tipo de desencadenante",
|
||||
"type": {
|
||||
@@ -1392,7 +1374,7 @@
|
||||
"name": "Nombre"
|
||||
},
|
||||
"introduction": "El editor de automatización te permite crear y editar automatizaciones. En el enlace siguiente puedes leer las instrucciones para asegurarte de que has configurado correctamente Home Assistant.",
|
||||
"learn_more": "Aprende más sobre las automatizaciones",
|
||||
"learn_more": "Saber más sobre las automatizaciones",
|
||||
"no_automations": "No pudimos encontrar ninguna automatización editable",
|
||||
"only_editable": "Solo las automatizaciones definidas en automations.yaml son editables.",
|
||||
"pick_automation": "Elije la automatización para editar",
|
||||
@@ -1418,15 +1400,15 @@
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Por favor, introduce la URL del plano.",
|
||||
"file_name": "Ruta del plano",
|
||||
"header": "Importar un plano",
|
||||
"import_btn": "Vista previa del plano",
|
||||
"import_header": "Plano \"{name}\"",
|
||||
"file_name": "Nombre de archivo del plano local",
|
||||
"header": "Añadir nuevo plano",
|
||||
"import_btn": "Importar plano",
|
||||
"import_header": "Importar {name} (tipo: {domain})",
|
||||
"import_introduction": "Puedes importar planos de otros usuarios desde Github y los foros de la comunidad. Introduce la URL del plano a continuación.",
|
||||
"importing": "Cargando plano...",
|
||||
"importing": "Importando plano...",
|
||||
"raw_blueprint": "Contenido del plano",
|
||||
"save_btn": "Importar plano",
|
||||
"saving": "Importando plano...",
|
||||
"save_btn": "Guardar plano",
|
||||
"saving": "Guardando plano...",
|
||||
"unsupported_blueprint": "Este plano no es compatible",
|
||||
"url": "URL del plano"
|
||||
},
|
||||
@@ -1443,8 +1425,8 @@
|
||||
"file_name": "Nombre de archivo",
|
||||
"name": "Nombre"
|
||||
},
|
||||
"introduction": "La configuración de planos te permite importar y administrar tus planos.",
|
||||
"learn_more": "Aprende más sobre el uso de planos",
|
||||
"introduction": "El editor de planos te permite crear y editar planos.",
|
||||
"learn_more": "Más información sobre planos",
|
||||
"use_blueprint": "Crear automatización"
|
||||
}
|
||||
},
|
||||
@@ -1504,7 +1486,7 @@
|
||||
"webhooks": {
|
||||
"disable_hook_error_msg": "No se pudo deshabilitar el webhook:",
|
||||
"info": "Cualquier cosa que esté configurada para ser activada por un webhook puede recibir una URL de acceso público para permitirte enviar datos a Home Assistant desde cualquier lugar, sin exponer tu instancia a Internet.",
|
||||
"link_learn_more": "Aprende más sobre la creación de automatizaciones basadas en webhook.",
|
||||
"link_learn_more": "Saber más sobre la creación de automatizaciones basadas en webhook.",
|
||||
"loading": "Cargando ...",
|
||||
"manage": "Administrar",
|
||||
"no_hooks_yet": "Parece que aún no tienes webhooks. Comienza configurando un",
|
||||
@@ -1528,7 +1510,7 @@
|
||||
"title": "Alexa"
|
||||
},
|
||||
"caption": "Nube Home Assistant",
|
||||
"description_features": "Controla tu hogar cuando estés fuera e intégralo con Alexa y Google Assistant",
|
||||
"description_features": "Control fuera de casa, integración con Alexa y Google Assistant.",
|
||||
"description_login": "Has iniciado sesión como {email}",
|
||||
"description_not_login": "No has iniciado sesión",
|
||||
"dialog_certificate": {
|
||||
@@ -1584,7 +1566,7 @@
|
||||
"introduction2": "Este servicio está a cargo de nuestro socio.",
|
||||
"introduction2a": ", una compañía fundada por los fundadores de Home Assistant y Hass.io.",
|
||||
"introduction3": "Home Assistant Cloud es un servicio de suscripción con una prueba gratuita de un mes. No se necesita información de pago.",
|
||||
"learn_more_link": "Aprende más sobre Home Assistant Cloud",
|
||||
"learn_more_link": "Saber más sobre Home Assistant Cloud",
|
||||
"password": "Contraseña",
|
||||
"password_error_msg": "Las contraseñas tienen al menos 8 caracteres.",
|
||||
"sign_in": "Inicia sesión",
|
||||
@@ -1623,7 +1605,7 @@
|
||||
},
|
||||
"core": {
|
||||
"caption": "Configuración general",
|
||||
"description": "Sistema de unidades, ubicación, zona horaria y otros parámetros generales",
|
||||
"description": "Cambia la configuración general de Home Assistant",
|
||||
"section": {
|
||||
"core": {
|
||||
"core_config": {
|
||||
@@ -1685,7 +1667,6 @@
|
||||
"unknown_condition": "Condición desconocida"
|
||||
},
|
||||
"create": "Crear automatización con el dispositivo",
|
||||
"create_disable": "No se puede crear una automatización con un dispositivo deshabilitado",
|
||||
"no_automations": "Sin automatizaciones",
|
||||
"no_device_automations": "No hay automatizaciones disponibles para este dispositivo.",
|
||||
"triggers": {
|
||||
@@ -1711,18 +1692,9 @@
|
||||
"no_devices": "Sin dispositivos"
|
||||
},
|
||||
"delete": "Eliminar",
|
||||
"description": "Administra dispositivos configurados",
|
||||
"description": "Administrar dispositivos conectados",
|
||||
"device_info": "Información del dispositivo",
|
||||
"device_not_found": "Dispositivo no encontrado.",
|
||||
"disabled": "Deshabilitado",
|
||||
"disabled_by": {
|
||||
"config_entry": "Entrada de configuración",
|
||||
"integration": "Integración",
|
||||
"user": "Usuario"
|
||||
},
|
||||
"enabled_cause": "El dispositivo está deshabilitado por {cause} .",
|
||||
"enabled_description": "Los dispositivos deshabilitados no se mostrarán y las entidades que pertenecen al dispositivo se deshabilitarán y no se añadirán a Home Assistant.",
|
||||
"enabled_label": "Habilitar dispositivo",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Añadir a Lovelace",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {entidad deshabilitada}\n other {entidades deshabilitadas}\n}",
|
||||
@@ -1732,25 +1704,14 @@
|
||||
},
|
||||
"name": "Nombre",
|
||||
"no_devices": "Sin dispositivos",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filtrar",
|
||||
"hidden_devices": "{number} {number, plural,\n one {dispositivo oculto}\n other {dispositivos ocultos}\n}",
|
||||
"show_all": "Mostrar todo",
|
||||
"show_disabled": "Mostrar dispositivos deshabilitados"
|
||||
},
|
||||
"search": "Buscar dispositivos"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Crear escena con el dispositivo",
|
||||
"create_disable": "No se puede crear una escena con un dispositivo deshabilitado",
|
||||
"no_scenes": "Sin escenas",
|
||||
"scenes": "Escenas"
|
||||
},
|
||||
"scenes": "Escenas",
|
||||
"script": {
|
||||
"create": "Crear script con el dispositivo",
|
||||
"create_disable": "No se puede crear un script con un dispositivo deshabilitado",
|
||||
"no_scripts": "Sin scripts",
|
||||
"scripts": "Scripts"
|
||||
},
|
||||
@@ -1783,7 +1744,6 @@
|
||||
},
|
||||
"header": "Entidades",
|
||||
"headers": {
|
||||
"area": "Área",
|
||||
"entity_id": "ID de entidad",
|
||||
"integration": "Integración",
|
||||
"name": "Nombre",
|
||||
@@ -1816,7 +1776,7 @@
|
||||
"header": "Configurar Home Assistant",
|
||||
"helpers": {
|
||||
"caption": "Ayudantes",
|
||||
"description": "Elementos que ayudan a construir automatizaciones",
|
||||
"description": "Administra los elementos que pueden ayudar a construir automatizaciones.",
|
||||
"dialog": {
|
||||
"add_helper": "Añadir ayudante",
|
||||
"add_platform": "Añadir {platform}",
|
||||
@@ -1848,7 +1808,7 @@
|
||||
"copy_github": "Para GitHub",
|
||||
"copy_raw": "Texto sin procesar",
|
||||
"custom_uis": "IU personalizadas:",
|
||||
"description": "Versión, estado del sistema y enlaces a la documentación",
|
||||
"description": "Ver información sobre tu instalación de Home Assistant",
|
||||
"developed_by": "Desarrollado por un montón de gente impresionante.",
|
||||
"documentation": "Documentación",
|
||||
"frontend": "interfaz de usuario",
|
||||
@@ -1954,7 +1914,7 @@
|
||||
},
|
||||
"configure": "Configurar",
|
||||
"configured": "Configurado",
|
||||
"description": "Gestiona integraciones con servicios, dispositivos, ...",
|
||||
"description": "Administra las integraciones",
|
||||
"details": "Detalles de la integración",
|
||||
"discovered": "Descubierto",
|
||||
"home_assistant_website": "Sitio web de Home Assistant",
|
||||
@@ -2039,7 +1999,7 @@
|
||||
"open": "Abrir"
|
||||
}
|
||||
},
|
||||
"description": "Crea conjuntos personalizados de tarjetas para controlar tu hogar",
|
||||
"description": "Administra tus Paneles de Control Lovelace",
|
||||
"resources": {
|
||||
"cant_edit_yaml": "Estás utilizando Lovelace en modo YAML, por tanto no puedes administrar tus recursos a través de la IU. Adminístralos en configuration.yaml.",
|
||||
"caption": "Recursos",
|
||||
@@ -2229,7 +2189,7 @@
|
||||
"update": "Actualizar"
|
||||
},
|
||||
"introduction": "Aquí puedes definir a cada persona de interés en Home Assistant.",
|
||||
"learn_more": "Aprende más sobre las personas",
|
||||
"learn_more": "Saber más sobre las personas",
|
||||
"no_persons_created_yet": "Parece que aún no has creado ninguna persona.",
|
||||
"note_about_persons_configured_in_yaml": "Nota: las personas configuradas a través de configuration.yaml no se pueden editar a través de la IU.",
|
||||
"person_not_found": "No pudimos encontrar a la persona que intentabas editar.",
|
||||
@@ -2238,7 +2198,7 @@
|
||||
"scene": {
|
||||
"activated": "Activada escena {name}.",
|
||||
"caption": "Escenas",
|
||||
"description": "Captura los estados de los dispositivos y recupéralos fácilmente más tarde",
|
||||
"description": "Administra las escenas",
|
||||
"editor": {
|
||||
"default_name": "Nueva Escena",
|
||||
"devices": {
|
||||
@@ -2273,7 +2233,7 @@
|
||||
"name": "Nombre"
|
||||
},
|
||||
"introduction": "El editor de escenas te permite crear y editar escenas. Por favor, sigue el siguiente enlace para leer las instrucciones para asegurarte de que has configurado Home Assistant correctamente.",
|
||||
"learn_more": "Aprende más sobre las escenas",
|
||||
"learn_more": "Saber más sobre las escenas",
|
||||
"no_scenes": "No pudimos encontrar ninguna escena editable",
|
||||
"only_editable": "Solo las escenas definidas en scenes.yaml son editables.",
|
||||
"pick_scene": "Elige una escena para editar",
|
||||
@@ -2282,7 +2242,7 @@
|
||||
},
|
||||
"script": {
|
||||
"caption": "Scripts",
|
||||
"description": "Ejecuta una secuencia de acciones",
|
||||
"description": "Administra los scripts",
|
||||
"editor": {
|
||||
"alias": "Nombre",
|
||||
"default_name": "Nuevo script",
|
||||
@@ -2294,7 +2254,7 @@
|
||||
"id_already_exists": "Este ID ya existe",
|
||||
"id_already_exists_save_error": "No puedes guardar este script porque el ID no es único, elije otro ID o déjalo en blanco para generar uno automáticamente.",
|
||||
"introduction": "Utiliza scripts para ejecutar una secuencia de acciones.",
|
||||
"link_available_actions": "Aprende más sobre las acciones disponibles.",
|
||||
"link_available_actions": "Saber más sobre las acciones disponibles.",
|
||||
"load_error_not_editable": "Solo los scripts dentro de scripts.yaml son editables.",
|
||||
"max": {
|
||||
"parallel": "Número máximo de ejecuciones paralelas",
|
||||
@@ -2323,7 +2283,7 @@
|
||||
"name": "Nombre"
|
||||
},
|
||||
"introduction": "El editor de scripts te permite crear y editar scripts. Por favor, sigue el siguiente enlace para leer las instrucciones para asegurarte de que has configurado Home Assistant correctamente.",
|
||||
"learn_more": "Aprende más sobre los scripts",
|
||||
"learn_more": "Saber más sobre los scripts",
|
||||
"no_scripts": "No hemos encontrado ningún script editable",
|
||||
"run_script": "Ejecutar script",
|
||||
"show_info": "Mostrar información sobre el script",
|
||||
@@ -2393,7 +2353,7 @@
|
||||
"confirm_remove": "¿Estás seguro de que quieres eliminar la etiqueta {tag} ?",
|
||||
"confirm_remove_title": "¿Eliminar etiqueta?",
|
||||
"create_automation": "Crear automatización con etiqueta",
|
||||
"description": "Activa automatizaciones cuando se escanea una etiqueta NFC, un código QR, etc.",
|
||||
"description": "Administrar etiquetas",
|
||||
"detail": {
|
||||
"companion_apps": "aplicaciones complementarias",
|
||||
"create": "Crear",
|
||||
@@ -2412,7 +2372,7 @@
|
||||
"last_scanned": "Última vez escaneada",
|
||||
"name": "Nombre"
|
||||
},
|
||||
"learn_more": "Aprende más sobre las etiquetas",
|
||||
"learn_more": "Más información sobre las etiquetas",
|
||||
"never_scanned": "Nunca escaneado",
|
||||
"no_tags": "Sin etiquetas",
|
||||
"write": "Escribir"
|
||||
@@ -2428,11 +2388,10 @@
|
||||
"username": "Nombre de usuario"
|
||||
},
|
||||
"caption": "Usuarios",
|
||||
"description": "Administra las cuentas de usuario de Home Assistant",
|
||||
"description": "Administra usuarios",
|
||||
"editor": {
|
||||
"activate_user": "Activar usuario",
|
||||
"active": "Activo",
|
||||
"active_tooltip": "Controla si el usuario puede iniciar sesión",
|
||||
"admin": "Administrador",
|
||||
"caption": "Ver usuario",
|
||||
"change_password": "Cambiar la contraseña",
|
||||
@@ -2512,16 +2471,6 @@
|
||||
"value": "Valor"
|
||||
},
|
||||
"description": "Administración de red de Domótica Zigbee",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Configuración completada",
|
||||
"CONFIGURED_status_text": "Inicializando",
|
||||
"INITIALIZED": "Inicialización completada",
|
||||
"INITIALIZED_status_text": "El dispositivo está listo para ser usado",
|
||||
"INTERVIEW_COMPLETE": "Entrevista completada",
|
||||
"INTERVIEW_COMPLETE_status_text": "Configurando",
|
||||
"PAIRED": "Dispositivo encontrado",
|
||||
"PAIRED_status_text": "Iniciando entrevista"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Domótica Zigbee - Dispositivo"
|
||||
},
|
||||
@@ -2626,7 +2575,7 @@
|
||||
"wakeup_interval": "Intervalo de activación"
|
||||
},
|
||||
"description": "Administra tu red Z-Wave",
|
||||
"learn_more": "Aprende más sobre Z-Wave",
|
||||
"learn_more": "Saber más sobre Z-Wave",
|
||||
"network_management": {
|
||||
"header": "Administración de red Z-Wave",
|
||||
"introduction": "Ejecutar comandos que afectan a la red Z-Wave. No recibirás comentarios sobre si la mayoría de los comandos tuvieron éxito, pero puedes consultar el Registro OZW para intentar averiguarlo."
|
||||
@@ -3365,7 +3314,7 @@
|
||||
"demo": {
|
||||
"demo_by": "por {name}",
|
||||
"introduction": "¡Bienvenido a casa! Has llegado a la demostración de Home Assistant donde mostramos las mejores interfaces de usuario creadas por nuestra comunidad.",
|
||||
"learn_more": "Aprende más sobre Home Assistant",
|
||||
"learn_more": "Saber más sobre Home Assistant",
|
||||
"next_demo": "Siguiente demostración"
|
||||
}
|
||||
},
|
||||
@@ -3445,19 +3394,16 @@
|
||||
"profile": {
|
||||
"advanced_mode": {
|
||||
"description": "Desbloquea las funciones avanzadas.",
|
||||
"link_promo": "Aprende más",
|
||||
"link_promo": "Saber más",
|
||||
"title": "Modo avanzado"
|
||||
},
|
||||
"change_password": {
|
||||
"confirm_new_password": "Confirmar nueva contraseña",
|
||||
"current_password": "Contraseña actual",
|
||||
"error_new_is_old": "La nueva contraseña debe ser diferente a la contraseña actual",
|
||||
"error_new_mismatch": "Los nuevos valores de contraseña introducidos no coinciden",
|
||||
"error_required": "Obligatorio",
|
||||
"header": "Cambiar contraseña",
|
||||
"new_password": "Nueva contraseña",
|
||||
"submit": "Enviar",
|
||||
"success": "Contraseña cambiada con éxito"
|
||||
"submit": "Enviar"
|
||||
},
|
||||
"current_user": "Has iniciado sesión como {fullName}.",
|
||||
"customize_sidebar": {
|
||||
@@ -3526,7 +3472,7 @@
|
||||
"error_load_platform": "Configurar notify.html5.",
|
||||
"error_use_https": "Requiere SSL activado para frontend.",
|
||||
"header": "Notificaciones push",
|
||||
"link_promo": "Aprende más",
|
||||
"link_promo": "Saber más",
|
||||
"push_notifications": "Notificaciones push"
|
||||
},
|
||||
"refresh_tokens": {
|
||||
|
@@ -2,7 +2,6 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Seade kanne",
|
||||
"device": "Seade",
|
||||
"integration": "Sidumine",
|
||||
"user": "Kasutaja"
|
||||
}
|
||||
@@ -547,8 +546,6 @@
|
||||
"add_new": "Lisa uus ala...",
|
||||
"area": "Ala",
|
||||
"clear": "Puhasta",
|
||||
"no_areas": "Alad puuduvad",
|
||||
"no_match": "Sobivaid alasid ei leitud",
|
||||
"show_areas": "Näita alasid"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
@@ -569,8 +566,6 @@
|
||||
"clear": "Puhasta",
|
||||
"device": "Seade",
|
||||
"no_area": "Ala puudub",
|
||||
"no_devices": "Seadmed puuduvad",
|
||||
"no_match": "Sobivaid seadmeid ei leitud",
|
||||
"show_devices": "Näita seadmeid",
|
||||
"toggle": "Lülita"
|
||||
},
|
||||
@@ -582,7 +577,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "Puhasta",
|
||||
"entity": "Olem",
|
||||
"no_match": "Sobivaid olemeid ei leitud",
|
||||
"show_entities": "Näita olemeid"
|
||||
}
|
||||
},
|
||||
@@ -591,7 +585,7 @@
|
||||
"no_history_found": "Oleku ajalugu ei leitud"
|
||||
},
|
||||
"logbook": {
|
||||
"by": ", allikas:",
|
||||
"by": "allikas:",
|
||||
"by_service": "teenuse poolt",
|
||||
"entries_not_found": "Logiraamatu kandeid ei leitud.",
|
||||
"messages": {
|
||||
@@ -716,16 +710,6 @@
|
||||
"service-picker": {
|
||||
"service": "Teenus"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Vali ala",
|
||||
"add_device_id": "Vali seade",
|
||||
"add_entity_id": "Vali olem",
|
||||
"expand_area_id": "Laienda seda ala eraldi seadmetesse jaolemitesse mis sellesse kuuluvad. Pärast laiendamist ei värskendata seadmeid ja olemeid, kui ala muutub.",
|
||||
"expand_device_id": "Laienda seda seadet eraldi olemitesse. Pärast laiendamist ei värskendata olemeid, kui seade muutub.",
|
||||
"remove_area_id": "Eemalda ala",
|
||||
"remove_device_id": "Eemalda seade",
|
||||
"remove_entity_id": "Eemalda olem"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Lisa kasutaja",
|
||||
"no_user": "Kasutaja puudub",
|
||||
@@ -749,7 +733,6 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Oled kindel, et soovid selle kirje kustutada?",
|
||||
"delete": "Kustuta",
|
||||
"device_disabled": "Selle olemi seade on keelatud.",
|
||||
"enabled_cause": "Keelatud, sest {cause}.",
|
||||
"enabled_delay_confirm": "Lubatud üksused lisatakse Home Assistanti {delay} sekundi pärast",
|
||||
"enabled_description": "Keelatud olemeid ei lisata Home Assistant'i.",
|
||||
@@ -760,7 +743,6 @@
|
||||
"icon_error": "Ikoonid peaksid olema vormingus 'prefix: iconname', nt 'mdi: home'",
|
||||
"name": "Nime muutmine",
|
||||
"note": "Märkus: see ei pruugi veel töötada kõigi sidumistega.",
|
||||
"open_device_settings": "Seadme sätete avamine",
|
||||
"unavailable": "See olem pole praegu saadaval.",
|
||||
"update": "Uuenda"
|
||||
},
|
||||
@@ -1048,7 +1030,7 @@
|
||||
"confirmation_text": "Kõik sellele ala seadmed jäävad peremehetuks.",
|
||||
"confirmation_title": "Oled kindel, et soovid selle ala kustutada?"
|
||||
},
|
||||
"description": "Seadmete ja olemite rühmitamine aladesse",
|
||||
"description": "Ülevaade kõikidest oma kodu aladest.",
|
||||
"editor": {
|
||||
"area_id": "Piirkonna ID",
|
||||
"create": "LOO",
|
||||
@@ -1070,7 +1052,7 @@
|
||||
},
|
||||
"automation": {
|
||||
"caption": "Automatiseeringud",
|
||||
"description": "Loo oma kodu jaoks kohandatud käitumisreeglid",
|
||||
"description": "Loo ja redigeeri automatiseeringuid",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Kasuta kavandit"
|
||||
@@ -1418,19 +1400,19 @@
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Sisesta kavandi URL.",
|
||||
"file_name": "Kohaliku kavandifaili asukoht",
|
||||
"header": "Impordi kavand",
|
||||
"import_btn": "Kavandi eelvaade",
|
||||
"import_header": "Kavand \"{name}\"",
|
||||
"import_introduction": "Teiste kasutajate kavandeid saad importida Githubist ja kogukonna foorumitest. Sisesta allpool kavandi URL.",
|
||||
"importing": "Kavandi laadimine...",
|
||||
"file_name": "Kohaliku kavandifaili nimi",
|
||||
"header": "Uue kavandi lisamine",
|
||||
"import_btn": "Impordi kavand",
|
||||
"import_header": "Impordi {name} ( type:{domain} )",
|
||||
"import_introduction": "Teiste kasutajate kavandeid saad importida Githubist ja kogukonna foorumitest. Sisesta alloleva kavandi URL.",
|
||||
"importing": "Kavandi importimine ...",
|
||||
"raw_blueprint": "Kavandi sisu",
|
||||
"save_btn": "Impordi kavand",
|
||||
"saving": "Kavandiimportimine...",
|
||||
"save_btn": "Salvesta kavand",
|
||||
"saving": "Kavandi salvestamine ...",
|
||||
"unsupported_blueprint": "Seda kavandit ei toetata",
|
||||
"url": "Kavandi URL"
|
||||
},
|
||||
"caption": "Kavandid",
|
||||
"caption": "",
|
||||
"description": "Kavandite haldamine",
|
||||
"overview": {
|
||||
"add_blueprint": "Laadi kavand",
|
||||
@@ -1443,8 +1425,8 @@
|
||||
"file_name": "Faili nimi",
|
||||
"name": "Nimi"
|
||||
},
|
||||
"introduction": "Kavandite seadistus võimaldab importida ja hallata oma kavandeid.",
|
||||
"learn_more": "Lisateave kavandite kasutamise kohta",
|
||||
"introduction": "Kavandite redaktor võimaldab luua ja muuta kavandeid.",
|
||||
"learn_more": "Lisateave kavandite kohta",
|
||||
"use_blueprint": "Loo automatiseering"
|
||||
}
|
||||
},
|
||||
@@ -1474,7 +1456,7 @@
|
||||
"enable_state_reporting": "Lubada olekuteavitused",
|
||||
"enter_pin_error": "PIN-koodi ei saa salvestada:",
|
||||
"enter_pin_hint": "Turvaseadmete kasutamiseks sisesta PIN",
|
||||
"enter_pin_info": "Turvaseadmetega suhtlemiseks sisesta PIN-kood. Turvaseadmed on uksed, garaažiuksed ja lukud. Google Assistanti kaudu selliste seadmetega suheldes palutakse Teil see PIN-kood öelda / sisestada.",
|
||||
"enter_pin_info": "Turvaseadmetega suhtlemiseks sisestage PIN-kood. Turvaseadmed on uksed, garaažiuksed ja lukud. Google Assistanti kaudu selliste seadmetega suheldes palutakse Teil see PIN-kood öelda / sisestada.",
|
||||
"info": "Google Assistanti integreerimisel läbi Home Assistant Cloudi saate juhtida kõiki oma Home Assistanti seadmeid mis tahes Google Assistanti toega seadme kaudu.",
|
||||
"info_state_reporting": "Kui lubate olekute avaldamise, saadab Home Assistant Google'ile kõik avaldatud olemite olekumuutused. See võimaldab Teil alati näha Google'i rakenduses uusimaid olekuid.",
|
||||
"manage_entities": "Halda olemeid",
|
||||
@@ -1496,7 +1478,7 @@
|
||||
"info": "Home Assistant Cloud pakub turvalist kaugühendust teie Home Assistantiga kodust eemal olles.",
|
||||
"instance_is_available": "Teie Home Assistant on saadaval aadressil",
|
||||
"instance_will_be_available": "Teie Home Assistanti on aadressiks saab",
|
||||
"link_learn_how_it_works": "Loe kuidas see töötab",
|
||||
"link_learn_how_it_works": "Loe, kuidas see töötab",
|
||||
"title": "Kaugjuhtimine"
|
||||
},
|
||||
"sign_out": "Logi välja",
|
||||
@@ -1553,7 +1535,7 @@
|
||||
"check_your_email": "Parooli lähtestamise kohta saate juhiseid oma e-posti aadressilt.",
|
||||
"email": "E-post",
|
||||
"email_error_msg": "Vigane meiliaadress",
|
||||
"instructions": "Sisesta oma e-posti aadress ja me saadame teile lingi parooli lähtestamiseks.",
|
||||
"instructions": "Sisestage oma e-posti aadress ja me saadame teile lingi parooli lähtestamiseks.",
|
||||
"send_reset_email": "Saatke lähtestamismeil",
|
||||
"subtitle": "Unustasid oma salasõna",
|
||||
"title": "Unustasid salasõna"
|
||||
@@ -1623,7 +1605,7 @@
|
||||
},
|
||||
"core": {
|
||||
"caption": "Üldine",
|
||||
"description": "Ühikud, asukoht, ajavöönd ja muud üldised parameetrid",
|
||||
"description": "Home Assistant'i üldiste seadete muutmine",
|
||||
"section": {
|
||||
"core": {
|
||||
"core_config": {
|
||||
@@ -1685,7 +1667,6 @@
|
||||
"unknown_condition": "Tundmatu tingimus"
|
||||
},
|
||||
"create": "Loo seadmega automatiseering",
|
||||
"create_disable": "Keelatud seadmega ei saa automaatiseeringuid luua",
|
||||
"no_automations": "Automatiseeringuid pole",
|
||||
"no_device_automations": "Selle seadme jaoks pole automatiseerimisi saadaval.",
|
||||
"triggers": {
|
||||
@@ -1711,18 +1692,9 @@
|
||||
"no_devices": "Seadmeid pole"
|
||||
},
|
||||
"delete": "Kustuta",
|
||||
"description": "Halda häälestatud seadmeid",
|
||||
"description": "Halda ühendatud seadmeid",
|
||||
"device_info": "Seadme info",
|
||||
"device_not_found": "Seadet ei leitud.",
|
||||
"disabled": "Keelatud",
|
||||
"disabled_by": {
|
||||
"config_entry": "Seade kanne",
|
||||
"integration": "Sidumine",
|
||||
"user": "Kasutaja"
|
||||
},
|
||||
"enabled_cause": "{cause} on seadme keelanud.",
|
||||
"enabled_description": "Keelatud seadmeid ei kuvata ja seadmele kuuluvad olemid keelatakse ning neid ei lisata Home Assistantile.",
|
||||
"enabled_label": "Luba seade",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Lisa Lovelace'i",
|
||||
"disabled_entities": "{count} {count, plural,\n one {keelatud olem}\n other {keelatud olemit}\n}",
|
||||
@@ -1732,25 +1704,14 @@
|
||||
},
|
||||
"name": "Nimi",
|
||||
"no_devices": "Seadmeid pole",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filtreeri",
|
||||
"hidden_devices": "{number} peidetud {number, plural,\n one {olem}\n other {olemit}\n}",
|
||||
"show_all": "Kuva kõik",
|
||||
"show_disabled": "Kuva keelatud seadmed"
|
||||
},
|
||||
"search": "Otsi seadmeid"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Loo seadmega stseen",
|
||||
"create_disable": "Keelatud seadmega ei saa stseene luua",
|
||||
"no_scenes": "Stseene pole",
|
||||
"scenes": "Stseenid"
|
||||
},
|
||||
"scenes": "Stseenid",
|
||||
"script": {
|
||||
"create": "Loo seadmega skript",
|
||||
"create_disable": "Keelatud seadmega ei saa skripte luua",
|
||||
"no_scripts": "Skripte pole",
|
||||
"scripts": "Skriptid"
|
||||
},
|
||||
@@ -1783,7 +1744,6 @@
|
||||
},
|
||||
"header": "Olemid",
|
||||
"headers": {
|
||||
"area": "Ala",
|
||||
"entity_id": "Olemi ID",
|
||||
"integration": "Sidumine",
|
||||
"name": "Nimi",
|
||||
@@ -1816,7 +1776,7 @@
|
||||
"header": "Home Assistant'i seadistamine",
|
||||
"helpers": {
|
||||
"caption": "Abimehed",
|
||||
"description": "Elemendid mis aitavad automatiseeringuid luua",
|
||||
"description": "Hallake elemente mis aitavad automatiseeringuid luua",
|
||||
"dialog": {
|
||||
"add_helper": "Lisage abistaja",
|
||||
"add_platform": "Lisa {platform}",
|
||||
@@ -1848,7 +1808,7 @@
|
||||
"copy_github": "GitHubi jaoks",
|
||||
"copy_raw": "Ainult tekst",
|
||||
"custom_uis": "Kohandatud kasutajaliidesed:",
|
||||
"description": "Versioon, süsteemi olek ja lingid dokumentatsioonile",
|
||||
"description": "Kuva Home Assistant'i info",
|
||||
"developed_by": "Tehtud paljude lahedate inimeste poolt.",
|
||||
"documentation": "Dokumentatsioon",
|
||||
"frontend": "frontend-ui",
|
||||
@@ -1866,9 +1826,9 @@
|
||||
"checks": {
|
||||
"cloud": {
|
||||
"alexa_enabled": "Alexa on lubatud",
|
||||
"can_reach_cert_server": "Ühendus serdiserveriga",
|
||||
"can_reach_cloud": "Ühendus Home Assistant Cloudiga",
|
||||
"can_reach_cloud_auth": "Ühendus tuvastusserveriga",
|
||||
"can_reach_cert_server": "Ühendu serdiserveriga",
|
||||
"can_reach_cloud": "Ühendu Home Assistant Cloudiga",
|
||||
"can_reach_cloud_auth": "Ühendu tuvastusserveriga",
|
||||
"google_enabled": "Google on lubatud",
|
||||
"logged_in": "Sisse logitud",
|
||||
"relayer_connected": "Edastaja on ühendatud",
|
||||
@@ -1954,7 +1914,7 @@
|
||||
},
|
||||
"configure": "Seadista",
|
||||
"configured": "Seadistatud",
|
||||
"description": "Halda teenuste, seadmete jne. sidumisi",
|
||||
"description": "Halda ja seadista sidumisi",
|
||||
"details": "Sidumise üksikasjad",
|
||||
"discovered": "Leitud",
|
||||
"home_assistant_website": "Home Assistant veebisait",
|
||||
@@ -2039,7 +1999,7 @@
|
||||
"open": "Ava"
|
||||
}
|
||||
},
|
||||
"description": "Loo oma kodu juhtimiseks kohandatud juhtpaneele",
|
||||
"description": "Hallake oma Lovelace juhtpaneele",
|
||||
"resources": {
|
||||
"cant_edit_yaml": "Kasutate Lovelace YAML režiimis. Seega ei saa Te hallata oma ressursse kasutajaliidese kaudu. Halda neid kirjes configuration.yaml.",
|
||||
"caption": "Ressursid",
|
||||
@@ -2238,7 +2198,7 @@
|
||||
"scene": {
|
||||
"activated": "Stseen {name} on käivitatud.",
|
||||
"caption": "Stseenid",
|
||||
"description": "Seadme olekute hõivamine ja nende hilisem taaskasutamine",
|
||||
"description": "Loo ja muuda stseene",
|
||||
"editor": {
|
||||
"default_name": "Uus stseen",
|
||||
"devices": {
|
||||
@@ -2282,7 +2242,7 @@
|
||||
},
|
||||
"script": {
|
||||
"caption": "Skriptid",
|
||||
"description": "Vallanda toimingute jada",
|
||||
"description": "Loo ja muuda skripte",
|
||||
"editor": {
|
||||
"alias": "Nimi",
|
||||
"default_name": "Uus skript",
|
||||
@@ -2332,7 +2292,7 @@
|
||||
},
|
||||
"server_control": {
|
||||
"caption": "Serveri juhtimine",
|
||||
"description": "Taaskäivita ja peata Home Assistant serverit",
|
||||
"description": "Taaskäivita ja peata Home Assistant server",
|
||||
"section": {
|
||||
"reloading": {
|
||||
"automation": "Taaslae automatiseeringud",
|
||||
@@ -2370,7 +2330,7 @@
|
||||
"zone": "Taaslae tsoonid"
|
||||
},
|
||||
"server_management": {
|
||||
"confirm_restart": "Oled kindel, et soovid Home Assistant'i taaskäivitada?",
|
||||
"confirm_restart": "Oled kindel, et soovid taaskäivitada Home Assistant'i?",
|
||||
"confirm_stop": "Oled kindel, et soovid seisata Home Assistant'i?",
|
||||
"heading": "Serveri haldamine",
|
||||
"introduction": "Kontrolli oma Home Assistant serverit... Home Assistant'ist.",
|
||||
@@ -2393,7 +2353,7 @@
|
||||
"confirm_remove": "Kas soovid kindlasti eemaldada märgise {tag}?",
|
||||
"confirm_remove_title": "Kas kustutan märgise?",
|
||||
"create_automation": "Lisa automatiseering TAG abil",
|
||||
"description": "Käivita automaatiseering NFC-sildi, QR-koodi jne. skännimisel",
|
||||
"description": "Halda TAGe",
|
||||
"detail": {
|
||||
"companion_apps": "mobiilirakendused",
|
||||
"create": "Loo",
|
||||
@@ -2428,11 +2388,10 @@
|
||||
"username": "Kasutajanimi"
|
||||
},
|
||||
"caption": "Kasutajad",
|
||||
"description": "Halda kasutakontosid",
|
||||
"description": "Halda kasutajaid",
|
||||
"editor": {
|
||||
"activate_user": "Aktiveeri kasutaja",
|
||||
"active": "Aktiivne",
|
||||
"active_tooltip": "Määrab kas kasutaja saab sisse logida",
|
||||
"admin": "Administraator",
|
||||
"caption": "Vaata kasutajat",
|
||||
"change_password": "Muuda salasõna",
|
||||
@@ -2512,16 +2471,6 @@
|
||||
"value": "Väärtus"
|
||||
},
|
||||
"description": "Zigbee Home Automation võrgu haldamine",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Seadistamine on lõpetatud",
|
||||
"CONFIGURED_status_text": "Lähtestan",
|
||||
"INITIALIZED": "Lähtestamine on lõpetatud",
|
||||
"INITIALIZED_status_text": "Seade on kasutamiseks valmis",
|
||||
"INTERVIEW_COMPLETE": "Küsitlemine on lõpetatud",
|
||||
"INTERVIEW_COMPLETE_status_text": "Seadistan",
|
||||
"PAIRED": "Seade on leitud",
|
||||
"PAIRED_status_text": "Alustan küsitlemist"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee Home Automation - Seade"
|
||||
},
|
||||
@@ -2543,7 +2492,7 @@
|
||||
"caption": "Grupid",
|
||||
"create": "Loo grupp",
|
||||
"create_group": "Zigbee Home Automation - Loo grupp",
|
||||
"create_group_details": "Sisesta uue Zigbee grupi loomiseks vajalikud üksikasjad.",
|
||||
"create_group_details": "Sisestage uue zigbee grupi loomiseks vajalikud üksikasjad.",
|
||||
"creating_group": "Loon gruppi",
|
||||
"description": "Loo ja muuda Zigbee gruppe",
|
||||
"group_details": "Siin on kõik valitud Zigbee rühma üksikasjad.",
|
||||
@@ -2872,7 +2821,7 @@
|
||||
},
|
||||
"calendar": {
|
||||
"calendar_entities": "Kalendri olemid",
|
||||
"description": "Kalendri kaardil kuvatakse kalender mis sisaldab päeva-, nädala- ja loendivaateid",
|
||||
"description": "Kalendri kaardil kuvatakse kalender mis sisaldab päeva, nädala ja loendivaateid",
|
||||
"inital_view": "Vaikevaade",
|
||||
"name": "Kalender",
|
||||
"views": {
|
||||
@@ -2897,7 +2846,7 @@
|
||||
"required": "Nõutav"
|
||||
},
|
||||
"entities": {
|
||||
"description": "Olemite kaart on kõige levinum kaarditüüp. See rühmitab olemid loenditeks.",
|
||||
"description": "Olemite kaart on kõige levinum kaarditüüp. See rühmitabolemid loenditeks.",
|
||||
"edit_special_row": "Selle rea üksikasjade vaatamiseks klõpsa nuppu Muuda",
|
||||
"entity_row_editor": "Olemirea redaktor",
|
||||
"entity_row": {
|
||||
@@ -2927,7 +2876,7 @@
|
||||
"toggle": "Vaheta olemeid."
|
||||
},
|
||||
"entity-filter": {
|
||||
"description": "Olemifiltri kaart võimaldab teil määratleda nende olemite loendit mida soovid jälgida ainult teatud olekus.",
|
||||
"description": "Olemifiltri kaart võimaldab teil määratleda nende olemite loendit mida soovite jälgida ainult teatud olekus.",
|
||||
"name": "Olemi filter"
|
||||
},
|
||||
"entity": {
|
||||
@@ -3451,13 +3400,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Kinnita uut salasõna",
|
||||
"current_password": "Praegune salasõna",
|
||||
"error_new_is_old": "Uus salasõna peab praegusest erinema",
|
||||
"error_new_mismatch": "Sisestatud uus salasõna ei ühti",
|
||||
"error_required": "Nõutav",
|
||||
"header": "Muuda salasõna",
|
||||
"new_password": "Uus salasõna",
|
||||
"submit": "Esita",
|
||||
"success": "Salasõna muutmine õnnestus"
|
||||
"submit": "Esita"
|
||||
},
|
||||
"current_user": "Oled praegu sisse logitud kui {fullName}.",
|
||||
"customize_sidebar": {
|
||||
|
@@ -2,13 +2,11 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Asetus",
|
||||
"device": "Laite",
|
||||
"integration": "Integraatio",
|
||||
"user": "Käyttäjä"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"owner": "Omistaja",
|
||||
"system-admin": "Järjestelmänvalvojat",
|
||||
"system-read-only": "Pelkästään luku -käyttäjät",
|
||||
"system-users": "Käyttäjät"
|
||||
@@ -513,23 +511,15 @@
|
||||
"continue": "Jatka",
|
||||
"copied": "Kopioitu",
|
||||
"delete": "Poista",
|
||||
"disable": "Poista käytöstä",
|
||||
"enable": "Ota käyttöön",
|
||||
"error_required": "Pakollinen",
|
||||
"leave": "Poistu",
|
||||
"loading": "Ladataan",
|
||||
"menu": "Valikko",
|
||||
"next": "Seuraava",
|
||||
"no": "Ei",
|
||||
"not_now": "Ei nyt",
|
||||
"overflow_menu": "Ylivuotovalikko",
|
||||
"previous": "Edellinen",
|
||||
"refresh": "Päivitä",
|
||||
"remove": "Poista",
|
||||
"rename": "Nimeä uudelleen",
|
||||
"save": "Tallenna",
|
||||
"skip": "Ohita",
|
||||
"stay": "Pysy",
|
||||
"successfully_deleted": "Poistettu onnistuneesti",
|
||||
"successfully_saved": "Tallennus onnistui",
|
||||
"undo": "Kumoa",
|
||||
@@ -547,14 +537,8 @@
|
||||
"add_new": "Lisää uusi alue...",
|
||||
"area": "Alue",
|
||||
"clear": "Tyhjennä",
|
||||
"no_areas": "Sinulla ei ole alueita",
|
||||
"no_match": "Vastaavia alueita ei löytynyt",
|
||||
"show_areas": "Näytä alueet"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
"add_user": "Lisää käyttäjä",
|
||||
"remove_user": "Poista käyttäjä"
|
||||
},
|
||||
"data-table": {
|
||||
"no-data": "Ei dataa",
|
||||
"search": "Hae"
|
||||
@@ -568,8 +552,6 @@
|
||||
"clear": "Tyhjennä",
|
||||
"device": "Laite",
|
||||
"no_area": "Ei aluetta",
|
||||
"no_devices": "Sinulla ei ole laitteita",
|
||||
"no_match": "Vastaavia laitteita ei löytynyt",
|
||||
"show_devices": "Näytä laitteet",
|
||||
"toggle": "Vaihda"
|
||||
},
|
||||
@@ -581,7 +563,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "Tyhjennä",
|
||||
"entity": "Kohde",
|
||||
"no_match": "Vastaavia kohteita ei löytynyt",
|
||||
"show_entities": "Näytä kohteet"
|
||||
}
|
||||
},
|
||||
@@ -701,14 +682,6 @@
|
||||
"service-picker": {
|
||||
"service": "Palvelu"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Valitse alue",
|
||||
"add_device_id": "Valitse laite",
|
||||
"add_entity_id": "Valitse kohde",
|
||||
"remove_area_id": "Poista alue",
|
||||
"remove_device_id": "Poista laite",
|
||||
"remove_entity_id": "Poista kohde"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Lisää käyttäjä",
|
||||
"no_user": "Ei käyttäjää",
|
||||
@@ -732,17 +705,14 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Haluatko varmasti poistaa tämän kohteen?",
|
||||
"delete": "Poista",
|
||||
"device_disabled": "Tämän kohteen laite on poistettu käytöstä.",
|
||||
"enabled_cause": "{cause} on poistanut sen käytöstä.",
|
||||
"enabled_description": "Käytöstä poistettuja kohteita ei lisätä Home Assistantiin.",
|
||||
"enabled_label": "Ota kohte käyttöön",
|
||||
"enabled_restart_confirm": "Käynnistä Home Assistant uudelleen, jotta kohteet otetaan käyttöön",
|
||||
"entity_id": "Kohde ID",
|
||||
"icon": "Kuvakkeen yliajo",
|
||||
"icon_error": "Kuvakkeen tulisi olla muodossa etuliite:ikoni, esimerkiksi: mdi:home",
|
||||
"name": "Nimen yliajo",
|
||||
"note": "Huomaa: tämä ei ehkä vielä toimi kaikissa integraatioissa.",
|
||||
"open_device_settings": "Avaa laitteen asetukset",
|
||||
"unavailable": "Tämä kohde ei ole tällä hetkellä käytettävissä.",
|
||||
"update": "Päivitä"
|
||||
},
|
||||
@@ -872,27 +842,6 @@
|
||||
},
|
||||
"quick-bar": {
|
||||
"commands": {
|
||||
"navigation": {
|
||||
"areas": "Alueet",
|
||||
"automation": "Automaatiot",
|
||||
"core": "Yleinen",
|
||||
"customize": "Kustomointi",
|
||||
"devices": "Laitteet",
|
||||
"entities": "Kohteet",
|
||||
"helpers": "Apurit",
|
||||
"info": "Tiedot",
|
||||
"integrations": "Integraatiot",
|
||||
"logs": "Lokit",
|
||||
"lovelace": "Lovelace-kojelaudat",
|
||||
"navigate_to": "Siirry kohteeseen {panel}",
|
||||
"navigate_to_config": "Konfiguroi {panel}",
|
||||
"person": "Henkilöt",
|
||||
"script": "Skriptit",
|
||||
"server_control": "Palvelimen hallinta",
|
||||
"tags": "Tägit",
|
||||
"users": "Käyttäjät",
|
||||
"zone": "Alueet"
|
||||
},
|
||||
"reload": {
|
||||
"homekit": "Lataa HomeKit uudelleen",
|
||||
"input_boolean": "Lataa booleanit uudelleen",
|
||||
@@ -1017,10 +966,6 @@
|
||||
"automation": {
|
||||
"caption": "Automaatiot",
|
||||
"description": "Luo ja muokkaa automaatioita",
|
||||
"dialog_new": {
|
||||
"header": "Luo uusi automaatio",
|
||||
"how": "Miten haluat luoda uuden automaation?"
|
||||
},
|
||||
"editor": {
|
||||
"actions": {
|
||||
"add": "Lisää toiminto",
|
||||
@@ -1287,9 +1232,7 @@
|
||||
},
|
||||
"time": {
|
||||
"at": "Kellonaikana",
|
||||
"label": "Aika",
|
||||
"type_input": "Päivämäärä- ja aika-apurin arvo",
|
||||
"type_value": "Kiinteä aika"
|
||||
"label": "Aika"
|
||||
},
|
||||
"webhook": {
|
||||
"label": "Webhook",
|
||||
@@ -1325,34 +1268,6 @@
|
||||
"only_editable": "Vain automaatiot tiedostossa automations.yaml ovat muokattavissa.",
|
||||
"pick_automation": "Valitse automaatio, jota haluat muokata",
|
||||
"show_info_automation": "Näytä tietoja automaatiosta"
|
||||
},
|
||||
"thingtalk": {
|
||||
"create": "Luo automaatio",
|
||||
"link_devices": {
|
||||
"header": "Upeaa! Nyt meidän on linkitettävä joitakin laitteita",
|
||||
"unknown_placeholder": "Tuntematon paikkamerkki"
|
||||
},
|
||||
"task_selection": {
|
||||
"error_empty": "Kirjoita komento tai napauta ohita.",
|
||||
"error_unsupported": "Emme voineet luoda automaatiota sille (vielä?).",
|
||||
"for_example": "Esimerkiksi:",
|
||||
"header": "Luo uusi automaatio",
|
||||
"introduction": "Kirjoita alle, mitä tämän automaation pitäisi tehdä, ja yritämme muuntaa sen Home Assistant -automaatioksi.",
|
||||
"language_note": "Huomautus: Toistaiseksi tuetaan vain englantia."
|
||||
}
|
||||
}
|
||||
},
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"file_name": "Blueprint polku"
|
||||
},
|
||||
"overview": {
|
||||
"headers": {
|
||||
"domain": "Toimialue",
|
||||
"file_name": "Tiedoston nimi",
|
||||
"name": "Nimi"
|
||||
},
|
||||
"use_blueprint": "Luo automaatio"
|
||||
}
|
||||
},
|
||||
"cloud": {
|
||||
@@ -1592,7 +1507,6 @@
|
||||
"unknown_condition": "Tuntematon ehto"
|
||||
},
|
||||
"create": "Luo automaatio laitteella",
|
||||
"create_disable": "Automaatiota ei voi luoda käytöstä poistetulla laitteella",
|
||||
"no_automations": "Ei automaatioita",
|
||||
"no_device_automations": "Tälle laitteelle ei ole käytettävissä automaatioita.",
|
||||
"triggers": {
|
||||
@@ -1621,14 +1535,6 @@
|
||||
"description": "Hallitse yhdistettyjä laitteita.",
|
||||
"device_info": "Laitteen tiedot",
|
||||
"device_not_found": "Laitetta ei löydy.",
|
||||
"disabled": "Poistettu käytöstä",
|
||||
"disabled_by": {
|
||||
"config_entry": "Asetus",
|
||||
"integration": "Integraatio",
|
||||
"user": "Käyttäjä"
|
||||
},
|
||||
"enabled_description": "Poistettuja laitteita ei näytetä, ja laitteeseen kuuluvat kohteet poistetaan käytöstä, eikä niitä lisätä Home Assistantiin.",
|
||||
"enabled_label": "Ota laite käyttöön",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Lisää Lovelace näkymään",
|
||||
"disabled_entities": "{count} {count, plural,\n one {kohde}\n other {kohdetta}\n}",
|
||||
@@ -1638,24 +1544,14 @@
|
||||
},
|
||||
"name": "Nimi",
|
||||
"no_devices": "Ei laitteita",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Suodatin",
|
||||
"show_all": "Näytä kaikki",
|
||||
"show_disabled": "Näytä käytöstä poistetut laitteet"
|
||||
},
|
||||
"search": "Etsi laitteita"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Luo tilanne laitteella",
|
||||
"create_disable": "Kohtausta ei voi luoda käytöstä poistetulla laitteella",
|
||||
"no_scenes": "Ei tilanteita",
|
||||
"scenes": "Tilanteet"
|
||||
},
|
||||
"scenes": "Tilanteet",
|
||||
"script": {
|
||||
"create": "Luo tilanne laitteella",
|
||||
"create_disable": "Skriptiä ei voi luoda käytöstä poistetulla laitteella",
|
||||
"no_scripts": "Ei skriptejä",
|
||||
"scripts": "Skriptit"
|
||||
},
|
||||
@@ -1687,7 +1583,6 @@
|
||||
},
|
||||
"header": "Kohteet",
|
||||
"headers": {
|
||||
"area": "Alue",
|
||||
"entity_id": "Kohde ID",
|
||||
"integration": "Integraatio",
|
||||
"name": "Nimi",
|
||||
@@ -1749,8 +1644,6 @@
|
||||
"info": {
|
||||
"built_using": "Rakennettu käyttäen",
|
||||
"caption": "Tiedot",
|
||||
"copy_github": "GitHubille",
|
||||
"copy_raw": "Raaka teksti",
|
||||
"custom_uis": "Mukautetut käyttöliittymät:",
|
||||
"description": "Tietoja Home Assistant -asennuksesta",
|
||||
"developed_by": "Kehittänyt joukko mahtavia ihmisiä.",
|
||||
@@ -1766,42 +1659,6 @@
|
||||
"server": "palvelin",
|
||||
"source": "Lähde:",
|
||||
"system_health_error": "Järjestelmän kunto-komponenttia ei ole ladattu. Lisää 'system_health:' kohteeseen configuration.yaml",
|
||||
"system_health": {
|
||||
"checks": {
|
||||
"cloud": {
|
||||
"alexa_enabled": "Alexa käytössä",
|
||||
"can_reach_cert_server": "Tavoita varmennepalvelin",
|
||||
"can_reach_cloud": "Saavuta Home Assistant Cloud",
|
||||
"can_reach_cloud_auth": "Saavuta todennuspalvelin",
|
||||
"google_enabled": "Google käytössä",
|
||||
"logged_in": "Kirjautunut sisään",
|
||||
"relayer_connected": "Rele yhdistetty",
|
||||
"remote_connected": "Kaukosäädin yhdistetty",
|
||||
"remote_enabled": "Kaukosäädin käytössä",
|
||||
"subscription_expiration": "Tilauksen vanhentuminen"
|
||||
},
|
||||
"homeassistant": {
|
||||
"arch": "CPU-arkkitehtuuri",
|
||||
"dev": "Kehitys",
|
||||
"docker": "Docker",
|
||||
"hassio": "HassOS",
|
||||
"installation_type": "Asennustyyppi",
|
||||
"os_name": "Käyttöjärjestelmän nimi",
|
||||
"os_version": "Käyttöjärjestelmän versio",
|
||||
"python_version": "Python-versio",
|
||||
"timezone": "Aikavyöhyke",
|
||||
"version": "Versio",
|
||||
"virtualenv": "Virtuaalinen ympäristö"
|
||||
},
|
||||
"lovelace": {
|
||||
"dashboards": "Kojelaudat",
|
||||
"mode": "Tila",
|
||||
"resources": "Resurssit"
|
||||
}
|
||||
},
|
||||
"manage": "Hallitse",
|
||||
"more_info": "lisätietoja"
|
||||
},
|
||||
"title": "Tiedot"
|
||||
},
|
||||
"integration_panel_move": {
|
||||
@@ -2101,7 +1958,6 @@
|
||||
},
|
||||
"services": {
|
||||
"add_node": "Lisää solmu",
|
||||
"cancel_command": "Peruuta komento",
|
||||
"remove_node": "Poista solmu"
|
||||
}
|
||||
},
|
||||
@@ -2217,8 +2073,6 @@
|
||||
},
|
||||
"picker": {
|
||||
"add_script": "Lisää skripti",
|
||||
"duplicate": "Kopioi",
|
||||
"duplicate_script": "Kopioi skripti",
|
||||
"edit_script": "Muokkaa skriptiä",
|
||||
"header": "Skriptieditori",
|
||||
"headers": {
|
||||
@@ -2265,7 +2119,6 @@
|
||||
"script": "Lataa skriptit uudelleen",
|
||||
"smtp": "Lataa smtp-ilmoituspalvelut uudelleen",
|
||||
"statistics": "Lataa tilastoentiteetit uudelleen",
|
||||
"telegram": "Päivitä Telegram-ilmoituspalvelut",
|
||||
"template": "Lataa mallientiteetiteetit uudelleen",
|
||||
"trend": "Lataa trendientiteetiteetit uudelleen",
|
||||
"universal": "Lataa universaali mediasoittimen entiteetit uudelleen",
|
||||
@@ -2292,7 +2145,6 @@
|
||||
"add_tag": "Lisää tunniste",
|
||||
"automation_title": "Tunniste {name} skannataan",
|
||||
"caption": "Tunnisteet",
|
||||
"confirm_remove_title": "Poista tägi?",
|
||||
"create_automation": "Automaation luominen tunnisteella",
|
||||
"description": "Hallitse tunnisteita",
|
||||
"detail": {
|
||||
@@ -2333,7 +2185,6 @@
|
||||
"editor": {
|
||||
"activate_user": "Aktivoi käyttäjä",
|
||||
"active": "Aktiivinen",
|
||||
"active_tooltip": "Määrittää, voiko käyttäjä kirjautua sisään",
|
||||
"admin": "Järjestelmänvalvoja",
|
||||
"caption": "Näytä käyttäjä",
|
||||
"change_password": "Vaihda salasana",
|
||||
@@ -2350,24 +2201,18 @@
|
||||
"system_generated_users_not_editable": "Järjestelmän luomia käyttäjiä ei voi päivittää.",
|
||||
"system_generated_users_not_removable": "Järjestelmän luomia käyttäjiä ei voi poistaa.",
|
||||
"unnamed_user": "Nimeämätön käyttäjä",
|
||||
"update_user": "Päivitä",
|
||||
"username": "Käyttäjätunnus"
|
||||
"update_user": "Päivitä"
|
||||
},
|
||||
"picker": {
|
||||
"add_user": "Lisää käyttäjä",
|
||||
"headers": {
|
||||
"group": "Ryhmä",
|
||||
"is_active": "Aktiivinen",
|
||||
"is_owner": "Omistaja",
|
||||
"name": "Nimi",
|
||||
"system": "Järjestelmä",
|
||||
"username": "Käyttäjätunnus"
|
||||
"system": "Järjestelmä"
|
||||
}
|
||||
},
|
||||
"users_privileges_note": "Käyttäjät-ryhmä on vielä kesken. Käyttäjä ei voi hallita Home Assistantia käyttöliittymän kautta. Auditoimme edelleen kaikkia hallinta-API-päätepisteitä varmistaaksemme, että ne rajoittavat pääsyn oikein."
|
||||
},
|
||||
"zha": {
|
||||
"add_device": "Lisää laite",
|
||||
"add_device_page": {
|
||||
"discovered_text": "Laitteet tulevat tänne, kun ne löydetään.",
|
||||
"discovery_text": "Löydetyt laitteet näkyvät täällä. Noudata laitteen (laitteiden) ohjeita ja aseta laite pariliitostilaan.",
|
||||
@@ -2413,16 +2258,6 @@
|
||||
"value": "Arvo"
|
||||
},
|
||||
"description": "Zigbee kotiautomaation verkonhallinta",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Määritys valmis",
|
||||
"CONFIGURED_status_text": "Alustetaan",
|
||||
"INITIALIZED": "Alustus on valmis",
|
||||
"INITIALIZED_status_text": "Laite on käyttövalmis",
|
||||
"INTERVIEW_COMPLETE": "Haastattelu valmis",
|
||||
"INTERVIEW_COMPLETE_status_text": "Määrittää",
|
||||
"PAIRED": "Laite löydetty",
|
||||
"PAIRED_status_text": "Haastattelun aloittaminen"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee-kotiautomaatio - laite"
|
||||
},
|
||||
@@ -2438,7 +2273,6 @@
|
||||
"unbind_button_label": "Pura ryhmän sidonta"
|
||||
},
|
||||
"groups": {
|
||||
"add_group": "Lisää ryhmä",
|
||||
"add_members": "Lisää jäseniä",
|
||||
"adding_members": "Lisätään jäseniä",
|
||||
"caption": "Ryhmät",
|
||||
@@ -2481,11 +2315,7 @@
|
||||
"hint_wakeup": "Joissakin laitteissa, kuten Xiaomi-antureissa, on herätyspainike, jota voit painaa 5 sekunnin välein, jotka pitävät laitteet hereillä, kun olet vuorovaikutuksessa niiden kanssa.",
|
||||
"introduction": "Suorita ZHA-komennot, jotka vaikuttavat yhteen laitteeseen. Valitse laite nähdäksesi luettelon käytettävissä olevista komennoista."
|
||||
},
|
||||
"title": "Zigbee-kotiautomaatio",
|
||||
"visualization": {
|
||||
"caption": "Visualisointi",
|
||||
"header": "Verkon visualisointi"
|
||||
}
|
||||
"title": "Zigbee-kotiautomaatio"
|
||||
},
|
||||
"zone": {
|
||||
"add_zone": "Lisää vyöhyke",
|
||||
@@ -2881,10 +2711,6 @@
|
||||
"description": "Glance-kortti on hyödyllinen useiden anturien ryhmittelemiseksi kompaktiin yleiskuvaan.",
|
||||
"name": "Pikavilkaisu"
|
||||
},
|
||||
"grid": {
|
||||
"description": "Ruudukkokortin avulla voit näyttää useita kortteja ruudukossa.",
|
||||
"name": "Ruudukko"
|
||||
},
|
||||
"history-graph": {
|
||||
"description": "Historiakaavio-kortin avulla voit näyttää kaavion kullekin luettelossa olevalle kohteelle.",
|
||||
"name": "Historiakuvaaja"
|
||||
@@ -2905,9 +2731,6 @@
|
||||
"description": "Valokortti antaa sinun muuttaa valon kirkkautta.",
|
||||
"name": "Valo"
|
||||
},
|
||||
"logbook": {
|
||||
"name": "Lokikirja"
|
||||
},
|
||||
"map": {
|
||||
"dark_mode": "Tumma tila?",
|
||||
"default_zoom": "Oletuszoomaus",
|
||||
@@ -2980,18 +2803,11 @@
|
||||
"entity": "Kohde",
|
||||
"no_description": "Ei kuvausta saatavilla."
|
||||
},
|
||||
"common": {
|
||||
"add": "Lisää",
|
||||
"clear": "Tyhjennä",
|
||||
"edit": "Muokkaa",
|
||||
"none": "Ei mitään"
|
||||
},
|
||||
"edit_badges": {
|
||||
"panel_mode": "Näitä kylttejä ei näytetä, koska tämä näkymä on \"Paneelitilassa\"."
|
||||
},
|
||||
"edit_card": {
|
||||
"add": "Lisää kortti",
|
||||
"clear": "Tyhjennä",
|
||||
"confirm_cancel": "Haluatko varmasti peruuttaa?",
|
||||
"delete": "Poista kortti",
|
||||
"duplicate": "Kopioi kortti",
|
||||
@@ -3032,22 +2848,6 @@
|
||||
}
|
||||
},
|
||||
"header": "Muokkaa käyttöliittymää",
|
||||
"header-footer": {
|
||||
"choose_header_footer": "Valitse {type}",
|
||||
"footer": "Alatunniste",
|
||||
"header": "Otsikko",
|
||||
"types": {
|
||||
"buttons": {
|
||||
"name": "Painikkeet"
|
||||
},
|
||||
"graph": {
|
||||
"name": "Kaavio"
|
||||
},
|
||||
"picture": {
|
||||
"name": "Kuva"
|
||||
}
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"open": "Avaa Lovelace-valikko",
|
||||
"raw_editor": "Raaka konfigurointieditori"
|
||||
@@ -3092,13 +2892,6 @@
|
||||
"dashboard_label": "Kojelauta",
|
||||
"header": "Valitse näkymä"
|
||||
},
|
||||
"sub-element-editor": {
|
||||
"types": {
|
||||
"footer": "Alatunnisteen muokkausohjelma",
|
||||
"header": "Otsikkoeditori",
|
||||
"row": "Kohderivieditori"
|
||||
}
|
||||
},
|
||||
"suggest_card": {
|
||||
"add": "Lisää Lovelace-käyttöliittymään",
|
||||
"create_own": "Valitse toinen kortti",
|
||||
@@ -3348,13 +3141,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Vahvista uusi salasana",
|
||||
"current_password": "Nykyinen salasana",
|
||||
"error_new_is_old": "Uuden salasanan on oltava eri kuin nykyinen salasana",
|
||||
"error_new_mismatch": "Annetut uudet salasanat eivät täsmää",
|
||||
"error_required": "Pakollinen",
|
||||
"header": "Vaihda salasana",
|
||||
"new_password": "Uusi salasana",
|
||||
"submit": "Lähetä",
|
||||
"success": "Salasanan vaihtaminen onnistui"
|
||||
"submit": "Lähetä"
|
||||
},
|
||||
"current_user": "Olet tällä hetkellä kirjautuneena tunnuksella {fullName}.",
|
||||
"customize_sidebar": {
|
||||
@@ -3367,9 +3157,6 @@
|
||||
"dropdown_label": "Kojelauta",
|
||||
"header": "Kojelauta"
|
||||
},
|
||||
"enable_shortcuts": {
|
||||
"header": "Pikanäppäimet"
|
||||
},
|
||||
"force_narrow": {
|
||||
"description": "Tämä piilottaa oletusarvoisesti sivupalkin, joka muistuttaa mobiilikokemusta.",
|
||||
"header": "Piilota sivupalkki aina"
|
||||
@@ -3455,9 +3242,6 @@
|
||||
"header": "Värinä"
|
||||
}
|
||||
},
|
||||
"shopping_list": {
|
||||
"start_conversation": "Aloita keskustelu"
|
||||
},
|
||||
"shopping-list": {
|
||||
"add_item": "Lisää tavara",
|
||||
"clear_completed": "Poista valmiit",
|
||||
|
@@ -2,7 +2,6 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Paramètre de configuration",
|
||||
"device": "Appareil",
|
||||
"integration": "Intégration",
|
||||
"user": "Utilisateur"
|
||||
}
|
||||
@@ -547,8 +546,6 @@
|
||||
"add_new": "Ajouter une pièce...",
|
||||
"area": "Pièce",
|
||||
"clear": "Effacer",
|
||||
"no_areas": "Vous n'avez pas de pièce",
|
||||
"no_match": "Aucune pièce correspondante trouvée",
|
||||
"show_areas": "Afficher les pièces"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
@@ -569,8 +566,6 @@
|
||||
"clear": "Effacer",
|
||||
"device": "Appareil",
|
||||
"no_area": "Pas de zone",
|
||||
"no_devices": "Vous n'avez aucun appareil",
|
||||
"no_match": "Aucun appareil correspondant trouvé",
|
||||
"show_devices": "Afficher les appareils",
|
||||
"toggle": "Permuter"
|
||||
},
|
||||
@@ -582,7 +577,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "Effacer",
|
||||
"entity": "Entité",
|
||||
"no_match": "Aucune entité correspondante trouvée",
|
||||
"show_entities": "Afficher les entités"
|
||||
}
|
||||
},
|
||||
@@ -599,8 +593,8 @@
|
||||
"changed_to_state": "changé en {state}.",
|
||||
"cleared_device_class": "effacé (no {device_class} detected)",
|
||||
"detected_device_class": "détecté {device_class}",
|
||||
"rose": "s'est levé",
|
||||
"set": "s'est couché",
|
||||
"rose": "aube",
|
||||
"set": "Coucher",
|
||||
"turned_off": "éteint",
|
||||
"turned_on": "activé",
|
||||
"was_at_home": "Présent",
|
||||
@@ -716,16 +710,6 @@
|
||||
"service-picker": {
|
||||
"service": "Service"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Choisissez la zone",
|
||||
"add_device_id": "Choisissez un appareil",
|
||||
"add_entity_id": "Choisissez une entité",
|
||||
"expand_area_id": "Développe cette zone dans les périphériques et entités séparés qu'elle contient. Une fois développé, il ne mettra pas à jour les appareils et les entités lorsque la zone change.",
|
||||
"expand_device_id": "Développe cet appareil dans des entités séparées. Une fois développé, il ne mettra pas à jour les entités lorsque l'appareil change.",
|
||||
"remove_area_id": "Supprimer la zone",
|
||||
"remove_device_id": "Supprimer l'appareil",
|
||||
"remove_entity_id": "Supprimer l'entité"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Ajouter un utilisateur",
|
||||
"no_user": "Aucun utilisateur",
|
||||
@@ -749,7 +733,6 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Voulez-vous vraiment supprimer cette entrée ?",
|
||||
"delete": "Supprimer",
|
||||
"device_disabled": "L'appareil de cette entité est désactivé.",
|
||||
"enabled_cause": "Désactivé par {cause} .",
|
||||
"enabled_delay_confirm": "Les entités activées seront ajoutées à Home Assistant dans {delay} secondes",
|
||||
"enabled_description": "Les entités désactivées ne seront pas ajoutées à Home Assistant.",
|
||||
@@ -760,7 +743,6 @@
|
||||
"icon_error": "Les icônes doivent être au format «préfixe: iconname», par exemple «mdi: home»",
|
||||
"name": "Nom",
|
||||
"note": "Remarque: cela peut ne pas encore fonctionner avec toutes les intégrations.",
|
||||
"open_device_settings": "Ouvrir les paramètres de l'appareil",
|
||||
"unavailable": "Cette entité n'est pas disponible actuellement.",
|
||||
"update": "Mise à jour"
|
||||
},
|
||||
@@ -1048,7 +1030,7 @@
|
||||
"confirmation_text": "Tous les appareils de cette pièce ne seront plus attribués.",
|
||||
"confirmation_title": "Êtes-vous sûr de vouloir supprimer cette pièce ?"
|
||||
},
|
||||
"description": "Regrouper les appareils et les entités en zones",
|
||||
"description": "Vue d'ensemble de toutes les pièces de votre maison.",
|
||||
"editor": {
|
||||
"area_id": "ID de la zone",
|
||||
"create": "Créer",
|
||||
@@ -1070,7 +1052,7 @@
|
||||
},
|
||||
"automation": {
|
||||
"caption": "Automatisations",
|
||||
"description": "Créez des règles de comportement personnalisées pour votre maison",
|
||||
"description": "Créer et modifier des automatisations",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Utiliser un plan"
|
||||
@@ -1283,7 +1265,7 @@
|
||||
"delete_confirm": "Voulez-vous effacer ?",
|
||||
"duplicate": "Dupliquer",
|
||||
"header": "Déclencheurs",
|
||||
"introduction": "Les déclencheurs sont ce qui lance le traitement d'une règle d'automatisation. Il est possible de spécifier plusieurs déclencheurs pour une même règle. Dès qu'un déclencheur est activé, Home Assistant validera les conditions, s'il y en a, et appellera l'action.",
|
||||
"introduction": "Les déclencheurs sont ce qui lance le traitement d'une règle d'automatisation. Il est possible de spécifier plusieurs déclencheurs pour une même règle. Dès qu'un déclencheur est activé, Home Assistant validera les conditions, s'il y en a, et appellera l'action.\n\n[En apprendre plus sur les déclencheurs.](https://home-assistant.io/docs/automation/trigger/)",
|
||||
"learn_more": "En savoir plus sur les déclencheurs",
|
||||
"name": "Déclencheur",
|
||||
"type_select": "Type de déclencheur",
|
||||
@@ -1418,15 +1400,15 @@
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Veuillez entrer l'URL du plan",
|
||||
"file_name": "Chemin du fichier de plan local",
|
||||
"header": "Importer un plan",
|
||||
"import_btn": "Aperçu du plan",
|
||||
"file_name": "Nom du fichier de plan local",
|
||||
"header": "Ajouter un nouveau plan",
|
||||
"import_btn": "Importer un plan",
|
||||
"import_header": "Importer \" {name} \" (type: {domain} )",
|
||||
"import_introduction": "Vous pouvez importer les plans d'autres utilisateurs de Github et des forums de la communauté. Entrez l'URL du plan ci-dessous.",
|
||||
"importing": "Chargement du plan ...",
|
||||
"importing": "Importation du plan ...",
|
||||
"raw_blueprint": "Contenu du plan",
|
||||
"save_btn": "Importer un plan",
|
||||
"saving": "Importation du plan ...",
|
||||
"save_btn": "Sauver le plan",
|
||||
"saving": "Enregistrement du plan ...",
|
||||
"unsupported_blueprint": "Ce plan n'est pas pris en charge",
|
||||
"url": "URL du plan"
|
||||
},
|
||||
@@ -1528,7 +1510,7 @@
|
||||
"title": "Alexa"
|
||||
},
|
||||
"caption": "Cloud Home Assistant",
|
||||
"description_features": "Contrôlez votre domicile lorsque vous êtes absent et intégrez avec Alexa et Google Assistant",
|
||||
"description_features": "Contrôle hors de la maison, intégration avec Alexa et Google Assistant.",
|
||||
"description_login": "Connecté en tant que {email}",
|
||||
"description_not_login": "Non connecté",
|
||||
"dialog_certificate": {
|
||||
@@ -1623,7 +1605,7 @@
|
||||
},
|
||||
"core": {
|
||||
"caption": "Général",
|
||||
"description": "Unités de mesure, emplacement, fuseau horaire et autres paramètres généraux",
|
||||
"description": "Changer la configuration générale de votre Home Assistant.",
|
||||
"section": {
|
||||
"core": {
|
||||
"core_config": {
|
||||
@@ -1685,7 +1667,6 @@
|
||||
"unknown_condition": "Condition inconnue"
|
||||
},
|
||||
"create": "Créer une automatisation avec l'appareil",
|
||||
"create_disable": "Impossible de créer une automatisation avec un appareil désactivé",
|
||||
"no_automations": "Aucune automatisation",
|
||||
"no_device_automations": "Aucune automatisation n'est disponible pour cet appareil.",
|
||||
"triggers": {
|
||||
@@ -1699,7 +1680,7 @@
|
||||
"caption": "Appareils",
|
||||
"confirm_delete": "Voulez-vous vraiment supprimer cet appareil ?",
|
||||
"confirm_rename_entity_ids": "Voulez-vous aussi renommer les ID de vos entités?",
|
||||
"confirm_rename_entity_ids_warning": "Cela ne changera aucune configuration (comme les automatisations, les scripts, les scènes, Lovelace) qui utilisent actuellement ces entités, vous devrez les mettre à jour vous-même.",
|
||||
"confirm_rename_entity_ids_warning": "Cela ne changera aucune configuration (comme les automatismes, les scripts, les scènes, Lovelace) qui utilisent actuellement ces entités, vous devrez les mettre à jour vous-même.",
|
||||
"data_table": {
|
||||
"area": "Zone",
|
||||
"battery": "Batterie",
|
||||
@@ -1711,18 +1692,9 @@
|
||||
"no_devices": "Aucun appareil"
|
||||
},
|
||||
"delete": "Supprimer",
|
||||
"description": "Gérer les appareils configurés",
|
||||
"description": "Gérer les appareils connectés",
|
||||
"device_info": "Informations sur l’appareil",
|
||||
"device_not_found": "Appareil non trouvé.",
|
||||
"disabled": "Désactivé",
|
||||
"disabled_by": {
|
||||
"config_entry": "Paramètre de configuration",
|
||||
"integration": "Intégration",
|
||||
"user": "Utilisateur"
|
||||
},
|
||||
"enabled_cause": "L'appareil est désactivé par {cause}.",
|
||||
"enabled_description": "Les appareils désactivés ne seront pas affichés et les entités appartenant à l'appareil seront désactivées et ne seront pas ajoutées à Home Assistant.",
|
||||
"enabled_label": "Activer l'appareil",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Ajouter à Lovelace",
|
||||
"disabled_entities": "+{count} {count, plural,\none {entité désactivée}\nother {entité désactivée}\n}",
|
||||
@@ -1732,24 +1704,14 @@
|
||||
},
|
||||
"name": "Nom",
|
||||
"no_devices": "Aucun appareil",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filtre",
|
||||
"show_all": "Tout afficher",
|
||||
"show_disabled": "Afficher les appareils désactivés"
|
||||
},
|
||||
"search": "Rechercher des appareils"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Créer une scène avec l'appareil",
|
||||
"create_disable": "Impossible de créer une scène avec un appareil désactivé",
|
||||
"no_scenes": "Pas de scènes",
|
||||
"scenes": "Scènes"
|
||||
},
|
||||
"scenes": "Scènes",
|
||||
"script": {
|
||||
"create": "Créer un script avec l'appareil",
|
||||
"create_disable": "Impossible de créer un script avec un appareil désactivé",
|
||||
"no_scripts": "Pas de scripts",
|
||||
"scripts": "Scripts"
|
||||
},
|
||||
@@ -1782,7 +1744,6 @@
|
||||
},
|
||||
"header": "Entités",
|
||||
"headers": {
|
||||
"area": "Pièce",
|
||||
"entity_id": "ID de l'entité",
|
||||
"integration": "Intégration",
|
||||
"name": "Nom",
|
||||
@@ -1815,7 +1776,7 @@
|
||||
"header": "Configurer Home Assistant",
|
||||
"helpers": {
|
||||
"caption": "Entrées",
|
||||
"description": "Éléments pouvant aider à construire des automatisations.",
|
||||
"description": "Gérer les éléments qui peuvent aider à créer des automatisations",
|
||||
"dialog": {
|
||||
"add_helper": "Ajouter une entrée",
|
||||
"add_platform": "Ajouter {platform}",
|
||||
@@ -1847,7 +1808,7 @@
|
||||
"copy_github": "Pour Github",
|
||||
"copy_raw": "Texte brut",
|
||||
"custom_uis": "Interfaces utilisateur personnalisées :",
|
||||
"description": "Version, état du système et liens vers la documentation",
|
||||
"description": "Informations sur votre installation Home Assistant",
|
||||
"developed_by": "Développé par un groupe de personnes formidables.",
|
||||
"documentation": "Documentation",
|
||||
"frontend": "interface utilisateur",
|
||||
@@ -2038,7 +1999,7 @@
|
||||
"open": "Ouvrir"
|
||||
}
|
||||
},
|
||||
"description": "Créez des jeux de cartes personnalisés pour contrôler votre maison",
|
||||
"description": "Configurez vos tableaux de bord Lovelace",
|
||||
"resources": {
|
||||
"cant_edit_yaml": "Vous utilisez Lovelace en mode YAML, vous ne pouvez donc pas gérer vos ressources via l'interface utilisateur. Gérez-les dans configuration.yaml.",
|
||||
"caption": "Ressources",
|
||||
@@ -2237,7 +2198,7 @@
|
||||
"scene": {
|
||||
"activated": "Scène activée {name}.",
|
||||
"caption": "Scènes",
|
||||
"description": "Capturez les états de l'appareil et rappelez-les facilement plus tard",
|
||||
"description": "Créer et modifier des scènes",
|
||||
"editor": {
|
||||
"default_name": "Nouvelle scène",
|
||||
"devices": {
|
||||
@@ -2281,7 +2242,7 @@
|
||||
},
|
||||
"script": {
|
||||
"caption": "Scripts",
|
||||
"description": "Exécuter une séquence d'actions",
|
||||
"description": "Créer et modifier des scripts.",
|
||||
"editor": {
|
||||
"alias": "Nom",
|
||||
"default_name": "Nouveau script",
|
||||
@@ -2392,7 +2353,7 @@
|
||||
"confirm_remove": "Voulez-vous vraiment supprimer la balise {tag} ?",
|
||||
"confirm_remove_title": "Supprimer la balise ?",
|
||||
"create_automation": "Créer une automatisation avec une balise",
|
||||
"description": "Déclenchez les automatisations lorsqu’une balise NFC, un code QR, etc. est scanné",
|
||||
"description": "Gérer les balises",
|
||||
"detail": {
|
||||
"companion_apps": "applications associées",
|
||||
"create": "Créer",
|
||||
@@ -2427,11 +2388,10 @@
|
||||
"username": "Nom d'utilisateur"
|
||||
},
|
||||
"caption": "Utilisateurs",
|
||||
"description": "Gérer les comptes utilisateur de Home Assistant",
|
||||
"description": "Gérer les utilisateurs",
|
||||
"editor": {
|
||||
"activate_user": "Activer l'utilisateur",
|
||||
"active": "Actif",
|
||||
"active_tooltip": "Contrôle si l'utilisateur peut se connecter",
|
||||
"admin": "Administrateur",
|
||||
"caption": "Voir l'utilisateur",
|
||||
"change_password": "Changer le mot de passe",
|
||||
@@ -2511,16 +2471,6 @@
|
||||
"value": "Valeur"
|
||||
},
|
||||
"description": "Gestion de réseau domotique Zigbee",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Configuration terminée",
|
||||
"CONFIGURED_status_text": "Initialisation",
|
||||
"INITIALIZED": "Initialisation terminée",
|
||||
"INITIALIZED_status_text": "L'appareil est prêt à être utilisé",
|
||||
"INTERVIEW_COMPLETE": "Processus d'interrogation terminé",
|
||||
"INTERVIEW_COMPLETE_status_text": "Configurer",
|
||||
"PAIRED": "Appareil trouvé",
|
||||
"PAIRED_status_text": "Démarrage du processus d'interrogation"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee Home Automation - Appareil"
|
||||
},
|
||||
@@ -3092,7 +3042,7 @@
|
||||
"panel_mode": "Ces badges ne seront pas affichés car cette vue est en \"Mode Panneau\"."
|
||||
},
|
||||
"edit_card": {
|
||||
"add": "Ajouter une carte",
|
||||
"add": "Ajouter une action",
|
||||
"clear": "Effacer",
|
||||
"confirm_cancel": "Êtes-vous sûr de vouloir annuler ?",
|
||||
"delete": "Supprimer la carte",
|
||||
@@ -3408,7 +3358,7 @@
|
||||
"button_detect": "Détecter",
|
||||
"finish": "Suivant",
|
||||
"intro": "Bonjour {name}, bienvenue dans Home Assistant. Comment voudriez-vous nommer votre maison?",
|
||||
"intro_location": "Nous aimerions savoir où vous habitez. Ces informations vous aideront à afficher des informations et à configurer des automatisations basés sur le soleil. Ces données ne sont jamais partagées en dehors de votre réseau.",
|
||||
"intro_location": "Nous aimerions savoir où vous habitez. Ces informations vous aideront à afficher des informations et à configurer des automatismes basés sur le soleil. Ces données ne sont jamais partagées en dehors de votre réseau.",
|
||||
"intro_location_detect": "Nous pouvons vous aider à renseigner ces informations en adressant une demande unique à un service externe.",
|
||||
"location_name": "Nom de votre installation Home Assistant",
|
||||
"location_name_default": "Maison"
|
||||
@@ -3450,13 +3400,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Confirmer le nouveau mot de passe",
|
||||
"current_password": "Mot de passe actuel",
|
||||
"error_new_is_old": "Le nouveau mot de passe doit être différent du mot de passe actuel",
|
||||
"error_new_mismatch": "Les mots de passe saisis ne correspondent pas",
|
||||
"error_required": "Requis",
|
||||
"header": "Changer le mot de passe",
|
||||
"new_password": "nouveau mot de passe",
|
||||
"submit": "Envoyer",
|
||||
"success": "Le mot de passe a été changé avec succès"
|
||||
"submit": "Envoyer"
|
||||
},
|
||||
"current_user": "Vous êtes actuellement connecté en tant que {fullName}.",
|
||||
"customize_sidebar": {
|
||||
|
@@ -1400,7 +1400,6 @@
|
||||
"caption": "בצע משהו רק אם..."
|
||||
},
|
||||
"create": "צור אוטומציה עם המכשיר",
|
||||
"create_disable": "non posso creare automazioni condispositivi disabilitati",
|
||||
"no_automations": "אין אוטומציות",
|
||||
"no_device_automations": "אין אוטומציות זמינות עבור מכשיר זה.",
|
||||
"triggers": {
|
||||
@@ -1426,7 +1425,6 @@
|
||||
"description": "ניהול התקנים מחוברים",
|
||||
"device_info": "פרטי התקן",
|
||||
"device_not_found": "המכשיר לא נמצא.",
|
||||
"disabled": "disabilitato",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "הוסף לממשק Lovelace",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {disabled entity}\n other {disabled entities}\n}",
|
||||
@@ -1436,24 +1434,14 @@
|
||||
},
|
||||
"name": "שם",
|
||||
"no_devices": "אין התקנים",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "filtro",
|
||||
"show_all": "mostra tutto",
|
||||
"show_disabled": "mostra entità disabilitate"
|
||||
},
|
||||
"search": "cerca dispositivi"
|
||||
},
|
||||
"scene": {
|
||||
"create": "צור סצינה עם המכשיר",
|
||||
"create_disable": "non posso creare scene con dispositivi disabilitati",
|
||||
"no_scenes": "אין סצינות",
|
||||
"scenes": "סצינות"
|
||||
},
|
||||
"scenes": "סצינות",
|
||||
"script": {
|
||||
"create": "צור סקריפט עם המכשיר",
|
||||
"create_disable": "non posso creare script con dispositivi disabilitati",
|
||||
"no_scripts": "אין סקריפטים",
|
||||
"scripts": "סקריפטים"
|
||||
},
|
||||
@@ -2920,12 +2908,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "אשר סיסמה חדשה",
|
||||
"current_password": "סיסמה נוכחית",
|
||||
"error_new_is_old": "la nuova password deve essere diversa dalla attuale",
|
||||
"error_required": "נדרש",
|
||||
"header": "שינוי סיסמה",
|
||||
"new_password": "סיסמה חדשה",
|
||||
"submit": "שלח",
|
||||
"success": "cambio password riuscito"
|
||||
"submit": "שלח"
|
||||
},
|
||||
"current_user": "אתה מחובר כעת כ- {fullName} .",
|
||||
"dashboard": {
|
||||
|
@@ -2,13 +2,11 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Konfigurációs bejegyzés",
|
||||
"device": "Eszköz",
|
||||
"integration": "Integráció",
|
||||
"user": "Felhasználó"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"owner": "Tulajdonos",
|
||||
"system-admin": "Adminisztrátorok",
|
||||
"system-read-only": "Felhasználók csak olvasási jogosultsággal",
|
||||
"system-users": "Felhasználók"
|
||||
@@ -547,8 +545,6 @@
|
||||
"add_new": "Új terület hozzáadása...",
|
||||
"area": "Terület",
|
||||
"clear": "Törlés",
|
||||
"no_areas": "Nincsenek területei.",
|
||||
"no_match": "Nem található egyező terület",
|
||||
"show_areas": "Területek megjelenítése"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
@@ -569,8 +565,6 @@
|
||||
"clear": "Törlés",
|
||||
"device": "Eszköz",
|
||||
"no_area": "Nincs terület",
|
||||
"no_devices": "Nincsenek eszközei",
|
||||
"no_match": "Nem található egyező eszköz",
|
||||
"show_devices": "Eszközök megjelenítése",
|
||||
"toggle": "Váltás"
|
||||
},
|
||||
@@ -582,7 +576,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "Törlés",
|
||||
"entity": "Entitás",
|
||||
"no_match": "Nem található egyező entitás",
|
||||
"show_entities": "Entitások megjelenítése"
|
||||
}
|
||||
},
|
||||
@@ -716,16 +709,6 @@
|
||||
"service-picker": {
|
||||
"service": "Szolgáltatás"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Terület kiválasztása",
|
||||
"add_device_id": "Eszköz kiválasztása",
|
||||
"add_entity_id": "Entitás kiválasztása",
|
||||
"expand_area_id": "Bontsd ki ezt a területet a benne található különálló eszközökben és entitásokban. A kibontás után nem fognak frissülni az eszközök és az entitások, amikor a terület megváltozik.",
|
||||
"expand_device_id": "Bontsd ki ezt az eszközt külön entitásokban. A kibontás után nem fognak frissülni az entitások, amikor az eszköz megváltozik.",
|
||||
"remove_area_id": "Terület eltávolítása",
|
||||
"remove_device_id": "Eszköz eltávolítása",
|
||||
"remove_entity_id": "Entitás eltávolítása"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Felhasználó hozzáadása",
|
||||
"no_user": "Nincs felhasználó",
|
||||
@@ -749,7 +732,6 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Biztosan törölni szeretnéd ezt a bejegyzést?",
|
||||
"delete": "Törlés",
|
||||
"device_disabled": "Ennek az entitásnak az eszköze le van tiltva.",
|
||||
"enabled_cause": "Letiltva. ({cause})",
|
||||
"enabled_delay_confirm": "Az engedélyezett entitások {delay} másodpercen belül hozzá lesznek adva a Home Assistant-hoz",
|
||||
"enabled_description": "A letiltott entitások nem lesznek hozzáadva a Home Assistant-hoz.",
|
||||
@@ -760,7 +742,6 @@
|
||||
"icon_error": "Az ikonokat a 'prefix:ikonnév' formátumban kell megadni, pl.: 'mdi:home'",
|
||||
"name": "Név",
|
||||
"note": "Megjegyzés: lehet, hogy ez még nem működik minden integrációval.",
|
||||
"open_device_settings": "Eszközbeállítások megnyitása",
|
||||
"unavailable": "Ez az entitás jelenleg nem elérhető.",
|
||||
"update": "Frissítés"
|
||||
},
|
||||
@@ -1048,7 +1029,7 @@
|
||||
"confirmation_text": "Minden ebben a területben lévő eszköz hozzárendelés nélküli lesz.",
|
||||
"confirmation_title": "Biztosan törölni szeretnéd ezt a területet?"
|
||||
},
|
||||
"description": "Eszközök és entitások csoportosítása területekre",
|
||||
"description": "Otthoni területek kezelése",
|
||||
"editor": {
|
||||
"area_id": "Terület ID",
|
||||
"create": "Létrehozás",
|
||||
@@ -1070,7 +1051,7 @@
|
||||
},
|
||||
"automation": {
|
||||
"caption": "Automatizálások",
|
||||
"description": "Egyéni viselkedési szabályok létrehozása az otthonodhoz",
|
||||
"description": "Automatizálások kezelése",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Tervrajz használata"
|
||||
@@ -1418,22 +1399,22 @@
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Add meg a tervrajz URL címét.",
|
||||
"file_name": "Tervrajz elérési útja",
|
||||
"header": "Tervrajz importálása",
|
||||
"import_btn": "Tervrajz előnézete",
|
||||
"import_header": "\"{name}\" tervrajz",
|
||||
"file_name": "Helyi tervrajz neve",
|
||||
"header": "Új tervrajz hozzáadása",
|
||||
"import_btn": "Tervrajz importálása",
|
||||
"import_header": "{name} importálása ({domain})",
|
||||
"import_introduction": "Importálhatod más felhasználók tervrajzait a Githubról és a közösségi fórumról. Írd be alább a terv URL címét.",
|
||||
"importing": "Tervrajz betöltése...",
|
||||
"importing": "Tervrajz importálása...",
|
||||
"raw_blueprint": "Tervrajz tartalma",
|
||||
"save_btn": "Tervrajz importálása",
|
||||
"saving": "Tervrajz importálása...",
|
||||
"save_btn": "Tervrajz mentése",
|
||||
"saving": "Tervrajz mentése...",
|
||||
"unsupported_blueprint": "Ez a tervrajz nem támogatott",
|
||||
"url": "A tervrajz URL-címe"
|
||||
},
|
||||
"caption": "Tervrajzok",
|
||||
"description": "Tervrajzok kezelése",
|
||||
"overview": {
|
||||
"add_blueprint": "Tervrajz importálása",
|
||||
"add_blueprint": "Tervrajz hozzáadása",
|
||||
"confirm_delete_header": "Törlöd ezt a tervrajzot?",
|
||||
"confirm_delete_text": "Biztosan törölni szeretnéd ezt a tervrajzot?",
|
||||
"delete_blueprint": "Tervrajz törlése",
|
||||
@@ -1528,7 +1509,7 @@
|
||||
"title": "Alexa"
|
||||
},
|
||||
"caption": "Home Assistant Felhő",
|
||||
"description_features": "Irányítsd az otthonod, amikor távol vagy, és integráld Alexával és a Google Segéddel",
|
||||
"description_features": "Távoli vezérlés, Alexa és Google Asszisztens integráció",
|
||||
"description_login": "Bejelentkezve mint {email}",
|
||||
"description_not_login": "Nincs bejelentkezve",
|
||||
"dialog_certificate": {
|
||||
@@ -1623,7 +1604,7 @@
|
||||
},
|
||||
"core": {
|
||||
"caption": "Általános",
|
||||
"description": "Egységrendszer, hely, időzóna és egyéb általános paraméterek",
|
||||
"description": "Az általános Home Assistant konfiguráció módosítása",
|
||||
"section": {
|
||||
"core": {
|
||||
"core_config": {
|
||||
@@ -1685,7 +1666,6 @@
|
||||
"unknown_condition": "Ismeretlen feltétel"
|
||||
},
|
||||
"create": "Automatizálás létrehozása eszközzel",
|
||||
"create_disable": "Nem lehet automatizálást létrehozni a letiltott eszközzel",
|
||||
"no_automations": "Nincsenek automatizálások",
|
||||
"no_device_automations": "Ehhez az eszközhöz nem állnak rendelkezésre automatizálások.",
|
||||
"triggers": {
|
||||
@@ -1711,18 +1691,9 @@
|
||||
"no_devices": "Nincsenek eszközök"
|
||||
},
|
||||
"delete": "Törlés",
|
||||
"description": "Konfigurált eszközök kezelése",
|
||||
"description": "Csatlakoztatott eszközök kezelése",
|
||||
"device_info": "Eszköz információ",
|
||||
"device_not_found": "Eszköz nem található.",
|
||||
"disabled": "Letiltva",
|
||||
"disabled_by": {
|
||||
"config_entry": "Konfigurációs bejegyzés",
|
||||
"integration": "Integráció",
|
||||
"user": "Felhasználó"
|
||||
},
|
||||
"enabled_cause": "Az eszköz le van tiltva. ({cause})",
|
||||
"enabled_description": "A letiltott eszközök nem jelennek meg, az eszközhöz tartozó entitások pedig le lesznek tiltva, és nem lesznek hozzáadva a Home Assistant programhoz.",
|
||||
"enabled_label": "Eszköz engedélyezése",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Hozzáadás a Lovelace-hez",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {letiltott entitás}\n other {letiltott entitás}\n}",
|
||||
@@ -1732,25 +1703,14 @@
|
||||
},
|
||||
"name": "Név",
|
||||
"no_devices": "Nincsenek eszközök",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Szűrő",
|
||||
"hidden_devices": "{number} rejtett {number, plural,\n one {eszköz}\n other {eszköz}\n}",
|
||||
"show_all": "Az összes megjelenítése",
|
||||
"show_disabled": "Letiltott eszközök megjelenítése"
|
||||
},
|
||||
"search": "Eszközök keresése"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Jelenet létrehozása eszközzel",
|
||||
"create_disable": "Nem lehet létrehozni a jelenetet letiltott eszközzel",
|
||||
"no_scenes": "Nincsenek jelenetek",
|
||||
"scenes": "Jelenetek"
|
||||
},
|
||||
"scenes": "Jelenetek",
|
||||
"script": {
|
||||
"create": "Szkript létrehozása eszközzel",
|
||||
"create_disable": "Nem lehet szkriptet létrehozni letiltott eszközzel",
|
||||
"no_scripts": "Nincsenek szkriptek",
|
||||
"scripts": "Szkriptek"
|
||||
},
|
||||
@@ -1783,7 +1743,6 @@
|
||||
},
|
||||
"header": "Entitások",
|
||||
"headers": {
|
||||
"area": "Terület",
|
||||
"entity_id": "Entitás ID",
|
||||
"integration": "Integráció",
|
||||
"name": "Név",
|
||||
@@ -1816,7 +1775,7 @@
|
||||
"header": "Home Assistant beállítása",
|
||||
"helpers": {
|
||||
"caption": "Segítők",
|
||||
"description": "Automatizálások létrehozását elősegítő elemek",
|
||||
"description": "Automatizálások létrehozását segítő elemek kezelése",
|
||||
"dialog": {
|
||||
"add_helper": "Segítő hozzáadása",
|
||||
"add_platform": "{platform} hozzáadása",
|
||||
@@ -1848,7 +1807,7 @@
|
||||
"copy_github": "A GitHub számára",
|
||||
"copy_raw": "Nyers szöveg",
|
||||
"custom_uis": "Egyéni felhasználói felületek:",
|
||||
"description": "Verzió, rendszerállapot és dokumentációra mutató linkek",
|
||||
"description": "Telepítési információ megtekintése a Home Assistant-ról",
|
||||
"developed_by": "Egy csomó fantasztikus ember által kifejlesztve.",
|
||||
"documentation": "Dokumentáció",
|
||||
"frontend": "frontend-ui",
|
||||
@@ -1954,7 +1913,7 @@
|
||||
},
|
||||
"configure": "Beállítás",
|
||||
"configured": "Konfigurálva",
|
||||
"description": "Integrációk kezelése (szolgáltatások, eszközök...)",
|
||||
"description": "Integrációk kezelése",
|
||||
"details": "Integráció részletei",
|
||||
"discovered": "Felfedezett",
|
||||
"home_assistant_website": "Home Assistant weboldal",
|
||||
@@ -2039,7 +1998,7 @@
|
||||
"open": "Megnyitás"
|
||||
}
|
||||
},
|
||||
"description": "Hozz létre személyre szabott kártyafelosztásokat az otthonod vezérléséhez",
|
||||
"description": "Lovelace irányítópultok kezelése",
|
||||
"resources": {
|
||||
"cant_edit_yaml": "A Lovelace-t YAML módban használod, ezért az erőforrásokat nem kezelheted a felhasználói felületről. Kezeld őket a configuration.yaml fájlban.",
|
||||
"caption": "Erőforrások",
|
||||
@@ -2238,7 +2197,7 @@
|
||||
"scene": {
|
||||
"activated": "Aktivált jelenet: {name}.",
|
||||
"caption": "Jelenetek",
|
||||
"description": "Eszköz állapotok rögzítése, hogy később egyszerűen előhívhasd őket",
|
||||
"description": "Jelenetek kezelése",
|
||||
"editor": {
|
||||
"default_name": "Új jelenet",
|
||||
"devices": {
|
||||
@@ -2282,7 +2241,7 @@
|
||||
},
|
||||
"script": {
|
||||
"caption": "Szkriptek",
|
||||
"description": "Műveletsorozat végrehajtása",
|
||||
"description": "Szkriptek kezelése",
|
||||
"editor": {
|
||||
"alias": "Név",
|
||||
"default_name": "Új Szkript",
|
||||
@@ -2393,7 +2352,7 @@
|
||||
"confirm_remove": "Biztosan el szeretnéd távolítani a(z) {tag} címkét?",
|
||||
"confirm_remove_title": "Eltávolítod a címkét?",
|
||||
"create_automation": "Automatizálás létrehozása címkével",
|
||||
"description": "Automatizálások indítása NFC-címke, QR-kód stb. beolvasásakor",
|
||||
"description": "Címkék kezelése",
|
||||
"detail": {
|
||||
"companion_apps": "társalkalmazások",
|
||||
"create": "Létrehozás",
|
||||
@@ -2428,11 +2387,10 @@
|
||||
"username": "Felhasználónév"
|
||||
},
|
||||
"caption": "Felhasználók",
|
||||
"description": "Home Assistant felhasználói fiókok kezelése",
|
||||
"description": "Felhasználók kezelése",
|
||||
"editor": {
|
||||
"activate_user": "Felhasználó aktiválása",
|
||||
"active": "Aktív",
|
||||
"active_tooltip": "Szabályozza, hogy a felhasználó be tud-e jelentkezni",
|
||||
"admin": "Adminisztrátor",
|
||||
"caption": "Felhasználó megtekintése",
|
||||
"change_password": "Jelszó módosítása",
|
||||
@@ -2441,7 +2399,7 @@
|
||||
"delete_user": "Felhasználó törlése",
|
||||
"group": "Csoport",
|
||||
"id": "ID",
|
||||
"name": "Megjelenítendő név",
|
||||
"name": "Név",
|
||||
"new_password": "Új Jelszó",
|
||||
"owner": "Tulajdonos",
|
||||
"password_changed": "A jelszó módosítása sikeresen megtörtént",
|
||||
@@ -2449,18 +2407,14 @@
|
||||
"system_generated_users_not_editable": "Nem lehet frissíteni a rendszer által létrehozott felhasználókat.",
|
||||
"system_generated_users_not_removable": "Nem lehet eltávolítani a rendszer által létrehozott felhasználókat.",
|
||||
"unnamed_user": "Névtelen felhasználó",
|
||||
"update_user": "Frissítés",
|
||||
"username": "Felhasználónév"
|
||||
"update_user": "Frissítés"
|
||||
},
|
||||
"picker": {
|
||||
"add_user": "Felhasználó hozzáadása",
|
||||
"headers": {
|
||||
"group": "Csoport",
|
||||
"is_active": "Aktív",
|
||||
"is_owner": "Tulajdonos",
|
||||
"name": "Megjelenítendő név",
|
||||
"system": "Rendszer által létrehozott",
|
||||
"username": "Felhasználónév"
|
||||
"name": "Név",
|
||||
"system": "Rendszer"
|
||||
}
|
||||
},
|
||||
"users_privileges_note": "A felhasználói csoport funkció jelenleg is fejlesztés alatt áll. A felhasználó nem tudja kezelni a példányt a felhasználói felületen keresztül. Folyamatosan ellenőrizzük az összes felügyeleti API-végpontot annak érdekében, hogy azok helyesen korlátozzák a hozzáférést az adminisztrátorok részére."
|
||||
@@ -2512,16 +2466,6 @@
|
||||
"value": "Érték"
|
||||
},
|
||||
"description": "Zigbee Home Automation hálózat menedzsment",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "A konfigurálás befejeződött",
|
||||
"CONFIGURED_status_text": "Inicializálás",
|
||||
"INITIALIZED": "Az inicializálás befejeződött",
|
||||
"INITIALIZED_status_text": "A készülék használatra kész",
|
||||
"INTERVIEW_COMPLETE": "Interjú kész",
|
||||
"INTERVIEW_COMPLETE_status_text": "Konfigurálás",
|
||||
"PAIRED": "Eszköz megtalálva",
|
||||
"PAIRED_status_text": "Interjú indítása"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee Home Automation - Eszköz"
|
||||
},
|
||||
@@ -2841,7 +2785,7 @@
|
||||
}
|
||||
},
|
||||
"changed_toast": {
|
||||
"message": "Az ehhez az irányítópulthoz tartozó Lovelace konfiguráció módosítva lett. Frissítesz az aktualizáláshoz?",
|
||||
"message": "Az ehhez az irányítópulthoz tartozó Lovelace konfiguráció módosítva lett, szeretnél frissíteni az aktualizáláshoz?",
|
||||
"refresh": "Frissítés"
|
||||
},
|
||||
"editor": {
|
||||
@@ -3451,13 +3395,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Új Jelszó Megerősítése",
|
||||
"current_password": "Jelenlegi Jelszó",
|
||||
"error_new_is_old": "Az új jelszónak különböznie kell az aktuális jelszótól",
|
||||
"error_new_mismatch": "A megadott új jelszavak nem egyeznek",
|
||||
"error_required": "Szükséges",
|
||||
"header": "Jelszó Módosítása",
|
||||
"new_password": "Új Jelszó",
|
||||
"submit": "Küldés",
|
||||
"success": "A jelszó sikeresen módosíva lett"
|
||||
"submit": "Küldés"
|
||||
},
|
||||
"current_user": "Jelenleg {fullName} felhasználóként vagy bejelentkezve.",
|
||||
"customize_sidebar": {
|
||||
|
@@ -21,7 +21,7 @@
|
||||
"map": "Քարտեզ",
|
||||
"profile": "Անձնագիր",
|
||||
"shopping_list": "Գնումների ցուցակ",
|
||||
"states": "Ակնարկ"
|
||||
"states": "Գլխավոր"
|
||||
},
|
||||
"state_attributes": {
|
||||
"climate": {
|
||||
@@ -89,7 +89,7 @@
|
||||
"disarmed": "Զինաթափված",
|
||||
"disarming": "Զինաթափող",
|
||||
"pending": "Սպասում",
|
||||
"triggered": "Գործարկել է"
|
||||
"triggered": "պատճառը"
|
||||
},
|
||||
"automation": {
|
||||
"off": "Անջատած",
|
||||
@@ -207,7 +207,7 @@
|
||||
},
|
||||
"default": {
|
||||
"unavailable": "Անհասանելի",
|
||||
"unknown": "Անհայտ"
|
||||
"unknown": "հայտնի չէ"
|
||||
},
|
||||
"device_tracker": {
|
||||
"not_home": "Հեռու"
|
||||
@@ -480,9 +480,6 @@
|
||||
},
|
||||
"service-picker": {
|
||||
"service": "Ծառայություն"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_entity_id": "Ընտրեք սուբյեկտ"
|
||||
}
|
||||
},
|
||||
"dialogs": {
|
||||
@@ -491,11 +488,6 @@
|
||||
"enable_new_entities_label": "Միացնել նոր ավելացված օբյեկտները:",
|
||||
"title": "Համակարգի Պարամետրերը"
|
||||
},
|
||||
"entity_registry": {
|
||||
"editor": {
|
||||
"open_device_settings": "Բացել սարքի կարգավորումները"
|
||||
}
|
||||
},
|
||||
"more_info_control": {
|
||||
"script": {
|
||||
"last_action": "Վերջին գործողությունը"
|
||||
@@ -804,33 +796,6 @@
|
||||
"introduction": "Կսմթել յուրաքանչյուր անձի հատկանիշները: Անհապաղ գործողության մեջ կավելացվեն / խմբագրված փոփոխությունները: Հեռացված կարգավորումները ուժի մեջ են մտնում սուբյեկտի թարմացման դեպքում:"
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"automation": {
|
||||
"create_disable": "Հնարավոր չէ ստեղծել ավտոմատացում անջատված սարքով"
|
||||
},
|
||||
"disabled": "Անջատված",
|
||||
"disabled_by": {
|
||||
"config_entry": "Կարգավորման կետ",
|
||||
"integration": "Ինտեգրում",
|
||||
"user": "Օգտատեր"
|
||||
},
|
||||
"enabled_cause": "Անջատված է {cause}-ի կողմից",
|
||||
"enabled_label": "Միացնել սարքը",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Ֆիլտր",
|
||||
"show_all": "Ցույց տալ ամբողջը",
|
||||
"show_disabled": "Ցուցադրել ապաակտիվացված սարքերը"
|
||||
},
|
||||
"search": "Որոնել սարքեր"
|
||||
},
|
||||
"scene": {
|
||||
"create_disable": "Հնարավոր չէ սցենար ստեղծել անջատված սարքով"
|
||||
},
|
||||
"script": {
|
||||
"create_disable": "Անջատված սարքով հնարավոր չէ ստեղծել սկրիպտ"
|
||||
}
|
||||
},
|
||||
"entities": {
|
||||
"caption": "Անշարժ գույքի ռեգիստր",
|
||||
"description": "Բոլոր հայտնի սուբյեկտների ակնարկ:",
|
||||
@@ -934,7 +899,6 @@
|
||||
"description": "Կառավարեք օգտվողներին",
|
||||
"editor": {
|
||||
"activate_user": "Ակտիվացրեք օգտագործողին",
|
||||
"active_tooltip": "Վերահսկում է, եթե օգտագործողը կարող է մուտք գործել",
|
||||
"caption": "Տեսնել օգտագործողին",
|
||||
"change_password": "Փոխել գաղտնաբառը",
|
||||
"deactivate_user": "Ապաակտիվացնել օգտագործողին",
|
||||
@@ -1283,13 +1247,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Հաստատեք նոր գաղտնաբառ",
|
||||
"current_password": "Ընթացիկ գաղտնաբառ",
|
||||
"error_new_is_old": "Նոր գաղտնաբառը պետք է տարբերվի ներկայիս գաղտնաբառից",
|
||||
"error_new_mismatch": "Գաղտնաբառերը չեն համընկնում",
|
||||
"error_required": "Պահանջվում է",
|
||||
"header": "Փոխել գաղտնաբառը",
|
||||
"new_password": "Նոր գաղտնաբառը",
|
||||
"submit": "Ներկայացնել",
|
||||
"success": "Գաղտնաբառը հաջողությամբ փոխվեց"
|
||||
"submit": "Ներկայացնել"
|
||||
},
|
||||
"current_user": "Դուք մուտք եք գործել որպես {fullName} :",
|
||||
"force_narrow": {
|
||||
|
@@ -2,7 +2,6 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Voce di configurazione",
|
||||
"device": "Dispositivo",
|
||||
"integration": "Integrazione",
|
||||
"user": "Utente"
|
||||
}
|
||||
@@ -547,8 +546,6 @@
|
||||
"add_new": "Aggiungi nuova area…",
|
||||
"area": "Area",
|
||||
"clear": "Cancella",
|
||||
"no_areas": "Non hai aree",
|
||||
"no_match": "Non sono state trovate aree corrispondenti",
|
||||
"show_areas": "Mostra le aree"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
@@ -569,8 +566,6 @@
|
||||
"clear": "Cancella",
|
||||
"device": "Dispositivo",
|
||||
"no_area": "Nessuna area",
|
||||
"no_devices": "Non hai alcun dispositivo",
|
||||
"no_match": "Non sono stati trovati dispositivi corrispondenti",
|
||||
"show_devices": "Mostra dispositivi",
|
||||
"toggle": "Azionare"
|
||||
},
|
||||
@@ -582,7 +577,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "Cancella",
|
||||
"entity": "Entità",
|
||||
"no_match": "Non sono state trovate entità corrispondenti",
|
||||
"show_entities": "Mostra entità"
|
||||
}
|
||||
},
|
||||
@@ -716,16 +710,6 @@
|
||||
"service-picker": {
|
||||
"service": "Servizio"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Scegli area",
|
||||
"add_device_id": "Scegli dispositivo",
|
||||
"add_entity_id": "Scegli entità",
|
||||
"expand_area_id": "Espandi quest'area nei dispositivi e nelle entità separate che contiene. Dopo l'espansione non aggiornerà i dispositivi e le entità quando l'area cambia.",
|
||||
"expand_device_id": "Espandi questo dispositivo in entità separate. Dopo l'espansione non aggiornerà le entità quando il dispositivo cambia.",
|
||||
"remove_area_id": "Rimuovi area",
|
||||
"remove_device_id": "Rimuovi dispositivo",
|
||||
"remove_entity_id": "Rimuovi entità"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Aggiungi utente",
|
||||
"no_user": "Nessun utente",
|
||||
@@ -749,7 +733,6 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Sei sicuro di voler eliminare questa voce?",
|
||||
"delete": "Elimina",
|
||||
"device_disabled": "Il dispositivo di questa entità è disabilitato.",
|
||||
"enabled_cause": "Disabilitato da {cause}.",
|
||||
"enabled_delay_confirm": "Le entità abilitate saranno aggiunte a Home Assistant in {delay} secondi",
|
||||
"enabled_description": "Le entità disabilitate non saranno aggiunte a Home Assistant",
|
||||
@@ -760,7 +743,6 @@
|
||||
"icon_error": "Le icone dovrebbero essere nel formato 'prefisso:nome_icona', ad esempio 'mdi:home'.",
|
||||
"name": "Nome",
|
||||
"note": "Nota: questo potrebbe non funzionare ancora con tutte le integrazioni.",
|
||||
"open_device_settings": "Apri le impostazioni del dispositivo",
|
||||
"unavailable": "Questa entità non è attualmente disponibile.",
|
||||
"update": "Aggiorna"
|
||||
},
|
||||
@@ -1048,7 +1030,7 @@
|
||||
"confirmation_text": "Tutti i dispositivi in quest'area non saranno assegnati.",
|
||||
"confirmation_title": "Sei sicuro di voler cancellare quest'area?"
|
||||
},
|
||||
"description": "Raggruppa dispositivi ed entità in aree",
|
||||
"description": "Gestisci le aree della tua casa",
|
||||
"editor": {
|
||||
"area_id": "Area ID",
|
||||
"create": "Crea",
|
||||
@@ -1070,7 +1052,7 @@
|
||||
},
|
||||
"automation": {
|
||||
"caption": "Automazioni",
|
||||
"description": "Crea regole di comportamento personalizzate per la tua casa",
|
||||
"description": "Gestisci le Automazioni",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Usa un progetto"
|
||||
@@ -1418,15 +1400,15 @@
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Inserisci l'URL del progetto.",
|
||||
"file_name": "Percorso del progetto",
|
||||
"header": "Importa un progetto",
|
||||
"import_btn": "Anteprima del progetto",
|
||||
"import_header": "Progetto \"{name}\"",
|
||||
"file_name": "Nome del file di progetto locale",
|
||||
"header": "Aggiungi un nuovo progetto",
|
||||
"import_btn": "Importa progetto",
|
||||
"import_header": "Importa \"{name}\" (tipo: {domain})",
|
||||
"import_introduction": "Puoi importare progetti di altri utenti da Github e dai forum della comunità. Immettere l'URL del progetto di seguito.",
|
||||
"importing": "Caricamento progetto ...",
|
||||
"importing": "Importazione del progetto in corso ...",
|
||||
"raw_blueprint": "Contenuto del progetto",
|
||||
"save_btn": "Importa progetto",
|
||||
"saving": "Importazione del progetto ...",
|
||||
"save_btn": "Salva progetto",
|
||||
"saving": "Salvataggio del progetto in corso ...",
|
||||
"unsupported_blueprint": "Questo progetto non è supportato",
|
||||
"url": "URL del progetto"
|
||||
},
|
||||
@@ -1443,8 +1425,8 @@
|
||||
"file_name": "Nome file",
|
||||
"name": "Nome"
|
||||
},
|
||||
"introduction": "La configurazione del progetto ti consente di importare e gestire i tuoi progetti.",
|
||||
"learn_more": "Ulteriori informazioni sull'utilizzo dei progetti",
|
||||
"introduction": "L'editor del progetto consente di creare e modificare i progetti.",
|
||||
"learn_more": "Per saperne di più sui progetti",
|
||||
"use_blueprint": "Crea automazione"
|
||||
}
|
||||
},
|
||||
@@ -1528,7 +1510,7 @@
|
||||
"title": "Alexa"
|
||||
},
|
||||
"caption": "Home Assistant Cloud",
|
||||
"description_features": "Controlla la casa quando sei via e integra con Alexa e Google Assistant",
|
||||
"description_features": "Controllo fuori casa, integrazione con Alexa e Google Assistant.",
|
||||
"description_login": "Connesso come {email}",
|
||||
"description_not_login": "Accesso non effettuato",
|
||||
"dialog_certificate": {
|
||||
@@ -1623,7 +1605,7 @@
|
||||
},
|
||||
"core": {
|
||||
"caption": "Generale",
|
||||
"description": "Sistema di unità, posizione, fuso orario e altri parametri generali",
|
||||
"description": "Modifica la configurazione generale di Home Assistant",
|
||||
"section": {
|
||||
"core": {
|
||||
"core_config": {
|
||||
@@ -1685,7 +1667,6 @@
|
||||
"unknown_condition": "Condizione sconosciuta"
|
||||
},
|
||||
"create": "Crea l'automazione con il dispositivo",
|
||||
"create_disable": "Non è possibile creare automazione con un dispositivo disabilitato",
|
||||
"no_automations": "Nessuna automazione",
|
||||
"no_device_automations": "Non ci sono Automazioni disponibili per questo dispositivo.",
|
||||
"triggers": {
|
||||
@@ -1711,18 +1692,9 @@
|
||||
"no_devices": "Nessun dispositivo"
|
||||
},
|
||||
"delete": "Elimina",
|
||||
"description": "Gestisci i dispositivi configurati",
|
||||
"description": "Gestisci i dispositivi collegati",
|
||||
"device_info": "Informazioni sul dispositivo",
|
||||
"device_not_found": "Dispositivo non trovato.",
|
||||
"disabled": "Disabilitato",
|
||||
"disabled_by": {
|
||||
"config_entry": "Voce di configurazione",
|
||||
"integration": "Integrazione",
|
||||
"user": "Utente"
|
||||
},
|
||||
"enabled_cause": "Il dispositivo è stato disabilitato da {cause}.",
|
||||
"enabled_description": "I dispositivi disabilitati non verranno mostrati e le entità appartenenti al dispositivo verranno disabilitate e non aggiunte a Home Assistant.",
|
||||
"enabled_label": "Abilita dispositivo",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Aggiungi a Lovelace",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {entità disabilitata}\n other {entità disabilitate}\n}",
|
||||
@@ -1732,25 +1704,14 @@
|
||||
},
|
||||
"name": "Nome",
|
||||
"no_devices": "Nessun dispositivo",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filtro",
|
||||
"hidden_devices": "nascosto/i {number} {number, plural,\n one {dispositivo}\n other {dispositivi}\n}",
|
||||
"show_all": "Mostra tutto",
|
||||
"show_disabled": "Mostra dispositivi disabilitati"
|
||||
},
|
||||
"search": "Cerca dispositivi"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Crea una Scena con il dispositivo",
|
||||
"create_disable": "Non è possibile creare scene con un dispositivo disabilitato",
|
||||
"no_scenes": "Nessuna Scena",
|
||||
"scenes": "Scene"
|
||||
},
|
||||
"scenes": "Scene",
|
||||
"script": {
|
||||
"create": "Crea uno script con il dispositivo",
|
||||
"create_disable": "Non è possibile creare script con un dispositivo disabilitato",
|
||||
"no_scripts": "Nessuno script",
|
||||
"scripts": "Script"
|
||||
},
|
||||
@@ -1783,7 +1744,6 @@
|
||||
},
|
||||
"header": "Entità",
|
||||
"headers": {
|
||||
"area": "Area",
|
||||
"entity_id": "ID entità",
|
||||
"integration": "Integrazione",
|
||||
"name": "Nome",
|
||||
@@ -1816,7 +1776,7 @@
|
||||
"header": "Configura Home Assistant",
|
||||
"helpers": {
|
||||
"caption": "Aiutanti",
|
||||
"description": "Elementi che aiutano a costruire le automazioni",
|
||||
"description": "Gestisci elementi che possono aiutare a costruire le automazioni.",
|
||||
"dialog": {
|
||||
"add_helper": "Aggiungi aiutante",
|
||||
"add_platform": "Aggiungi {platform}",
|
||||
@@ -1848,7 +1808,7 @@
|
||||
"copy_github": "Per GitHub",
|
||||
"copy_raw": "Testo non elaborato",
|
||||
"custom_uis": "Interfacce Utente personalizzate:",
|
||||
"description": "Versione, integrità del sistema e collegamenti alla documentazione",
|
||||
"description": "Visualizza le informazioni sull'installazione di Home Assistant",
|
||||
"developed_by": "Sviluppato da un gruppo di persone fantastiche.",
|
||||
"documentation": "Documentazione",
|
||||
"frontend": "frontend-ui",
|
||||
@@ -1954,7 +1914,7 @@
|
||||
},
|
||||
"configure": "Configura",
|
||||
"configured": "Configurato",
|
||||
"description": "Gestisci le integrazioni con servizi, dispositivi, ...",
|
||||
"description": "Gestisci le integrazioni",
|
||||
"details": "Dettagli dell'integrazione",
|
||||
"discovered": "Rilevato",
|
||||
"home_assistant_website": "Sito Web di Home Assistant",
|
||||
@@ -2039,7 +1999,7 @@
|
||||
"open": "Aprire"
|
||||
}
|
||||
},
|
||||
"description": "Crea insiemi di schede personalizzate per controllare la tua casa",
|
||||
"description": "Gestisci le tue plance di Lovelace",
|
||||
"resources": {
|
||||
"cant_edit_yaml": "Si utilizza Lovelace in modalità YAML, pertanto non è possibile gestire le risorse tramite l'Interfaccia Utente. Gestirli in configuration.yaml.",
|
||||
"caption": "Risorse",
|
||||
@@ -2238,7 +2198,7 @@
|
||||
"scene": {
|
||||
"activated": "Scena attivata {name}.",
|
||||
"caption": "Scene",
|
||||
"description": "Cattura gli stati del dispositivo e richiamarli facilmente in seguito",
|
||||
"description": "Gestisci le scene",
|
||||
"editor": {
|
||||
"default_name": "Nuova scena",
|
||||
"devices": {
|
||||
@@ -2282,7 +2242,7 @@
|
||||
},
|
||||
"script": {
|
||||
"caption": "Script",
|
||||
"description": "Esegui una sequenza di azioni",
|
||||
"description": "Gestisci gli script",
|
||||
"editor": {
|
||||
"alias": "Nome",
|
||||
"default_name": "Nuovo script",
|
||||
@@ -2393,7 +2353,7 @@
|
||||
"confirm_remove": "Sei sicuro di voler rimuovere l'etichetta {tag}?",
|
||||
"confirm_remove_title": "Rimuovere l'etichetta?",
|
||||
"create_automation": "Creare un'automazione con l'etichetta",
|
||||
"description": "Attiva le automazioni quando viene scansionato un tag NFC, un codice QR, ecc",
|
||||
"description": "Gestisci le etichette",
|
||||
"detail": {
|
||||
"companion_apps": "app complementari",
|
||||
"create": "Crea",
|
||||
@@ -2428,11 +2388,10 @@
|
||||
"username": "Nome utente"
|
||||
},
|
||||
"caption": "Utenti",
|
||||
"description": "Gestisci gli account utente di Home Assistant",
|
||||
"description": "Gestisci gli utenti",
|
||||
"editor": {
|
||||
"activate_user": "Attiva utente",
|
||||
"active": "Attivo",
|
||||
"active_tooltip": "Controlla se l'utente può effettuare il login",
|
||||
"admin": "Amministratore",
|
||||
"caption": "Visualizza utente",
|
||||
"change_password": "Cambia password",
|
||||
@@ -2512,16 +2471,6 @@
|
||||
"value": "Valore"
|
||||
},
|
||||
"description": "Gestione rete Zigbee Home Automation",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Configurazione completata",
|
||||
"CONFIGURED_status_text": "Inizializzazione",
|
||||
"INITIALIZED": "Inizializzazione completata",
|
||||
"INITIALIZED_status_text": "Il dispositivo è pronto per l'uso",
|
||||
"INTERVIEW_COMPLETE": "Interrogazione completata",
|
||||
"INTERVIEW_COMPLETE_status_text": "Configurazione",
|
||||
"PAIRED": "Dispositivo trovato",
|
||||
"PAIRED_status_text": "Inizio interrogazione"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee Home Automation - Dispositivo"
|
||||
},
|
||||
@@ -2862,8 +2811,8 @@
|
||||
"card": {
|
||||
"alarm-panel": {
|
||||
"available_states": "Stati disponibili",
|
||||
"description": "La scheda del Pannello di Allarme consente di attivare e disattivare le tue integrazioni del pannello di controllo allarme.",
|
||||
"name": "Pannello di Allarme"
|
||||
"description": "La scheda del pannello di allarme consente di Attivare e Disattivare le tue integrazioni del pannello di controllo di allarme.",
|
||||
"name": "Pannello di allarme"
|
||||
},
|
||||
"button": {
|
||||
"default_action_help": "L'azione predefinita dipende dalle capacità dell'entità, verrà attivata o disattivata o verranno mostrate più informazioni.",
|
||||
@@ -2927,7 +2876,7 @@
|
||||
"toggle": "Attiva/disattiva entità."
|
||||
},
|
||||
"entity-filter": {
|
||||
"description": "La scheda Filtro Entità consente di definire un elenco di entità che si desidera monitorare quando sono solamente in un determinato stato.",
|
||||
"description": "La scheda Filtro Entità consente di definire un elenco di entità che si desidera monitorare solo in un determinato stato.",
|
||||
"name": "Filtro Entità"
|
||||
},
|
||||
"entity": {
|
||||
@@ -2935,10 +2884,10 @@
|
||||
"name": "Entità"
|
||||
},
|
||||
"gauge": {
|
||||
"description": "La scheda Indicatore è una scheda di base che consente di visualizzare i dati di un sensore.",
|
||||
"description": "La scheda Indicatore è una scheda di base che consente di visualizzare visivamente i dati del sensore.",
|
||||
"name": "Indicatore",
|
||||
"severity": {
|
||||
"define": "Definire l'intensità?",
|
||||
"define": "Definire la gravità?",
|
||||
"green": "Verde",
|
||||
"red": "Rosso",
|
||||
"yellow": "Giallo"
|
||||
@@ -2950,15 +2899,15 @@
|
||||
"camera_image": "Entità Fotocamera",
|
||||
"camera_view": "Vista fotocamera",
|
||||
"double_tap_action": "Azione doppio tocco",
|
||||
"entities": "Molte Entità",
|
||||
"entity": "Singola Entità",
|
||||
"hold_action": "Azione tocco prolungato",
|
||||
"entities": "Entità",
|
||||
"entity": "Entità",
|
||||
"hold_action": "Azione di attesa",
|
||||
"hours_to_show": "Ore da mostrare",
|
||||
"icon": "Icona",
|
||||
"icon_height": "Altezza icona",
|
||||
"image": "Percorso immagine",
|
||||
"manual": "Manuale",
|
||||
"manual_description": "Devi aggiungere una scheda personalizzata o vuoi semplicemente scrivere manualmente il file in yaml?",
|
||||
"manual_description": "Devi aggiungere una scheda personalizzata o semplicemente si vuole scrivere manualmente il file in yaml?",
|
||||
"maximum": "Massimo",
|
||||
"minimum": "Minimo",
|
||||
"name": "Nome",
|
||||
@@ -2971,7 +2920,7 @@
|
||||
"show_state": "Mostrare lo stato?",
|
||||
"state": "Stato",
|
||||
"state_color": "Colorare le icone in base allo stato?",
|
||||
"tap_action": "Azione tocco",
|
||||
"tap_action": "Tocca Azione",
|
||||
"theme": "Tema",
|
||||
"title": "Titolo",
|
||||
"unit": "Unità",
|
||||
@@ -2988,27 +2937,27 @@
|
||||
},
|
||||
"history-graph": {
|
||||
"description": "La scheda Grafico Storico consente di visualizzare un grafico per ciascuna delle entità elencate.",
|
||||
"name": "Grafico Storico"
|
||||
"name": "Grafico cronologico"
|
||||
},
|
||||
"horizontal-stack": {
|
||||
"description": "La scheda Pila Orizzontale consente di raggruppare insieme più schede, in modo che siano sempre l'una accanto all'altra nello spazio di una colonna.",
|
||||
"name": "Pila orizzontale"
|
||||
},
|
||||
"humidifier": {
|
||||
"description": "La scheda Umidificatore fornisce il controllo della tua entità umidificatore. Ti consente di modificare l'umidità e la modalità di funzionamento dell'entità.",
|
||||
"description": "La scheda Umidificatore fornisce il controllo della tua entità umidificatore, consentendo di modificare l'umidità e la modalità dell'entità.",
|
||||
"name": "Umidificatore"
|
||||
},
|
||||
"iframe": {
|
||||
"description": "La scheda Pagina Web consente di incorporare la tua pagina web preferita direttamente in Home Assistant.",
|
||||
"name": "Pagina Web"
|
||||
"description": "La scheda Pagina Web consente di incorporare la pagina Web preferita direttamente in Home Assistant.",
|
||||
"name": "Pagina web"
|
||||
},
|
||||
"light": {
|
||||
"description": "La scheda Luce consente di modificare la luminosità della luce.",
|
||||
"name": "Luce"
|
||||
},
|
||||
"logbook": {
|
||||
"description": "La scheda Registro mostra un elenco di eventi per le entità.",
|
||||
"name": "Registro"
|
||||
"description": "La scheda del Diario di bordo mostra un elenco di eventi per le entità.",
|
||||
"name": "Diario di bordo"
|
||||
},
|
||||
"map": {
|
||||
"dark_mode": "Modalità scura?",
|
||||
@@ -3021,7 +2970,7 @@
|
||||
},
|
||||
"markdown": {
|
||||
"content": "Contenuto",
|
||||
"description": "La scheda Markdown viene utilizzata per eseguire il rendering di testo scritto in linguaggio Markdown per una gradevole formattazione della visualizzazione.",
|
||||
"description": "La scheda Ribassi viene utilizzata per presentare i ribassi.",
|
||||
"name": "Markdown"
|
||||
},
|
||||
"media-control": {
|
||||
@@ -3038,7 +2987,7 @@
|
||||
},
|
||||
"picture-glance": {
|
||||
"description": "La scheda Occhiata Immagine mostra un'immagine e gli stati dell'entità corrispondenti come una icona. Le entità sul lato destro consentono azioni di commutazione, altre mostrano più informazioni di dialogo.",
|
||||
"name": "Sguardo d'Immagine",
|
||||
"name": "Vista immagine",
|
||||
"state_entity": "Stato Entità"
|
||||
},
|
||||
"picture": {
|
||||
@@ -3047,7 +2996,7 @@
|
||||
},
|
||||
"plant-status": {
|
||||
"description": "La scheda dello Stato della Pianta è per tutti gli adorabili botanici là fuori.",
|
||||
"name": "Stato della Pianta"
|
||||
"name": "Stato pianta"
|
||||
},
|
||||
"sensor": {
|
||||
"description": "La scheda Sensore offre una rapida panoramica dello stato dei sensori con un grafico opzionale per visualizzare il cambiamento nel tempo.",
|
||||
@@ -3057,7 +3006,7 @@
|
||||
"show_more_detail": "Mostra ulteriori dettagli"
|
||||
},
|
||||
"shopping-list": {
|
||||
"description": "La scheda Lista della Spesa consente di aggiungere, modificare, selezionare e cancellare gli articoli dalla tua lista della spesa.",
|
||||
"description": "La scheda della Lista della Spesa consente di aggiungere, modificare, selezionare e cancellare gli articoli dalla lista della spesa.",
|
||||
"integration_not_loaded": "Questa carta richiede l'integrazione \"shopping_list\" per essere configurata.",
|
||||
"name": "Lista della spesa"
|
||||
},
|
||||
@@ -3106,7 +3055,7 @@
|
||||
"options": "Altre opzioni",
|
||||
"pick_card": "Quale scheda vorresti aggiungere?",
|
||||
"pick_card_view_title": "Quale scheda vorresti aggiungere alla tua vista {name}?",
|
||||
"search_cards": "Cerca schede",
|
||||
"search_cards": "Schede di ricerca",
|
||||
"show_code_editor": "Mostra Editor di Codice",
|
||||
"show_visual_editor": "Mostra Editor Visivo",
|
||||
"toggle_editor": "Attiva / disattiva l'editor",
|
||||
@@ -3451,13 +3400,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Conferma la nuova password",
|
||||
"current_password": "Password corrente",
|
||||
"error_new_is_old": "La nuova password deve essere diversa dalla password corrente",
|
||||
"error_new_mismatch": "I valori della nuova password immessi non corrispondono",
|
||||
"error_required": "Richiesto",
|
||||
"header": "Cambia password",
|
||||
"new_password": "Nuova password",
|
||||
"submit": "Invia",
|
||||
"success": "Password modificata correttamente"
|
||||
"submit": "Invia"
|
||||
},
|
||||
"current_user": "Sei attualmente connesso come {fullName}.",
|
||||
"customize_sidebar": {
|
||||
|
@@ -2,13 +2,11 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "構成エントリ",
|
||||
"device": "デバイス",
|
||||
"integration": "インテグレーション",
|
||||
"user": "ユーザー"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"owner": "オーナー",
|
||||
"system-admin": "管理者",
|
||||
"system-read-only": "読み取り専用ユーザー",
|
||||
"system-users": "ユーザー"
|
||||
@@ -533,8 +531,6 @@
|
||||
"add_new": "新しいエリアを追加…",
|
||||
"area": "エリア",
|
||||
"clear": "消去",
|
||||
"no_areas": "エリアがありません",
|
||||
"no_match": "一致するエリアが見つかりません",
|
||||
"show_areas": "エリアを表示"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
@@ -555,8 +551,6 @@
|
||||
"clear": "削除",
|
||||
"device": "デバイス",
|
||||
"no_area": "エリアなし",
|
||||
"no_devices": "デバイスがありません",
|
||||
"no_match": "一致するデバイスが見つかりません",
|
||||
"show_devices": "デバイスを表示",
|
||||
"toggle": "切り替え"
|
||||
},
|
||||
@@ -568,7 +562,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "消去",
|
||||
"entity": "エンティティ",
|
||||
"no_match": "一致するエンティティが見つかりません",
|
||||
"show_entities": "エンティティを表示"
|
||||
}
|
||||
},
|
||||
@@ -702,16 +695,6 @@
|
||||
"service-picker": {
|
||||
"service": "サービス"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "エリアを選択",
|
||||
"add_device_id": "デバイスを選択",
|
||||
"add_entity_id": "エンティティを選択",
|
||||
"expand_area_id": "含まれている個別のデバイスとエンティティでこの領域を展開します。拡張後、領域が変更されてもデバイスとエンティティは更新されません。",
|
||||
"expand_device_id": "このデバイスを別々のエンティティで展開します。展開した後は、デバイスが変更されたときにエンティティが更新されません。",
|
||||
"remove_area_id": "エリアを削除する",
|
||||
"remove_device_id": "デバイスを削除",
|
||||
"remove_entity_id": "エンティティの削除"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "ユーザーを追加",
|
||||
"no_user": "ユーザーなし",
|
||||
@@ -735,7 +718,6 @@
|
||||
"editor": {
|
||||
"confirm_delete": "このエントリを削除してもよろしいですか?",
|
||||
"delete": "削除",
|
||||
"device_disabled": "このエンティティのデバイスは無効になっています。",
|
||||
"enabled_cause": "{cause} によって無効にされました。",
|
||||
"enabled_delay_confirm": "有効なエンティティは {delay} 秒でホーム アシスタントに追加されます",
|
||||
"enabled_description": "無効化されたエンティティは Home Assistant に追加されません。",
|
||||
@@ -746,7 +728,6 @@
|
||||
"icon_error": "アイコンは「prefix:iconname」の形式にする必要があります(例:「mdi:home」)。",
|
||||
"name": "名前の上書き",
|
||||
"note": "注: これは、まだすべてのインテグレーションで動作しない場合があります。",
|
||||
"open_device_settings": "デバイス設定を開く",
|
||||
"unavailable": "このエンティティは現在利用できません。",
|
||||
"update": "更新"
|
||||
},
|
||||
@@ -1011,7 +992,7 @@
|
||||
"dismiss": "閉じる",
|
||||
"service_call_failed": "サービス{service}の呼び出しに失敗しました。",
|
||||
"started": "ホームアシスタントが開始されました!",
|
||||
"starting": "Home Assistantが起動中です。全て利用可能なるまでもうしばらくお待ち下さい。",
|
||||
"starting": "Home Assistantが起動中です。終了するまですべてが利用できるわけではありません。",
|
||||
"triggered": "トリガーしました {name}"
|
||||
},
|
||||
"panel": {
|
||||
@@ -1371,7 +1352,7 @@
|
||||
"delete_automation": "オートメーションを削除",
|
||||
"delete_confirm": "このオートメーションを削除してもよろしいですか?",
|
||||
"duplicate": "複製",
|
||||
"duplicate_automation": "オートメーションを複製",
|
||||
"duplicate_automation": "重複したオートメーション",
|
||||
"edit_automation": "オートメーションを編集",
|
||||
"header": "オートメーションエディター",
|
||||
"headers": {
|
||||
@@ -1404,13 +1385,11 @@
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "設計図のURLを入力してください。",
|
||||
"file_name": "設計図のパス",
|
||||
"header": "新しい設計図を追加する",
|
||||
"import_btn": "設計図をインポートする",
|
||||
"import_header": "インポート{name} ( {domain} )",
|
||||
"import_introduction": "Github やコミュニティフォーラムから他のユーザーの設計図をインポートできます。以下に、設計図の URL を入力します。",
|
||||
"importing": "設計図をインポートしています...",
|
||||
"raw_blueprint": "設計図コンテンツ",
|
||||
"save_btn": "設計図の保存",
|
||||
"saving": "設計図を保存しています...",
|
||||
"unsupported_blueprint": "この設計図はサポートされていません",
|
||||
@@ -1422,16 +1401,12 @@
|
||||
"add_blueprint": "設計図を追加する",
|
||||
"confirm_delete_header": "この設計図を削除しますか?",
|
||||
"confirm_delete_text": "この設計図を削除してもよ思いますか?",
|
||||
"delete_blueprint": "設計図を削除",
|
||||
"header": "設計図エディタ",
|
||||
"headers": {
|
||||
"domain": "ドメイン",
|
||||
"file_name": "ファイル名",
|
||||
"name": "名前"
|
||||
},
|
||||
"introduction": "設計図エディターを使用すると、設計図を作成および編集できます。",
|
||||
"learn_more": "設計図の詳細",
|
||||
"use_blueprint": "オートメーションを作成"
|
||||
"learn_more": "設計図の詳細"
|
||||
}
|
||||
},
|
||||
"cloud": {
|
||||
@@ -1671,7 +1646,6 @@
|
||||
"unknown_condition": "状態不明"
|
||||
},
|
||||
"create": "デバイスからオートメーションを作成",
|
||||
"create_disable": "無効なデバイスで自動化を作成できません",
|
||||
"no_automations": "オートメーションなし",
|
||||
"no_device_automations": "このデバイスで利用可能なオートメーションはありません。",
|
||||
"triggers": {
|
||||
@@ -1700,15 +1674,6 @@
|
||||
"description": "接続されたデバイスの管理",
|
||||
"device_info": "デバイス情報",
|
||||
"device_not_found": "デバイスが見つかりません。",
|
||||
"disabled": "無効",
|
||||
"disabled_by": {
|
||||
"config_entry": "構成エントリ",
|
||||
"integration": "インテグレーション",
|
||||
"user": "ユーザー"
|
||||
},
|
||||
"enabled_cause": "デバイスは{cause}によって無効にされています。",
|
||||
"enabled_description": "無効なデバイスは表示されず、デバイスに属するエンティティは無効になり、ホーム アシスタントに追加されません。",
|
||||
"enabled_label": "デバイスを有効にする",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Lovelaceに追加",
|
||||
"disabled_entities": "{count} {count, plural,\n one {無効なエンティティ}\n other {無効なエンティティ}\n}",
|
||||
@@ -1718,25 +1683,14 @@
|
||||
},
|
||||
"name": "名前",
|
||||
"no_devices": "デバイスなし",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "フィルター",
|
||||
"hidden_devices": "{number} 非表示 {number, plural,\n one {デバイス}\n other {デバイス}\n}",
|
||||
"show_all": "すべてを表示",
|
||||
"show_disabled": "無効なデバイスを表示する"
|
||||
},
|
||||
"search": "デバイスを探す"
|
||||
},
|
||||
"scene": {
|
||||
"create": "デバイスからシーンを作成",
|
||||
"create_disable": "デバイスが無効になっているのでシーンを作成できません",
|
||||
"no_scenes": "シーンなし",
|
||||
"scenes": "シーン"
|
||||
},
|
||||
"scenes": "シーン",
|
||||
"script": {
|
||||
"create": "デバイスからスクリプトを作成",
|
||||
"create_disable": "デバイスが無効になっているのでスクリプトを作成できません",
|
||||
"no_scripts": "スクリプトなし",
|
||||
"scripts": "スクリプト"
|
||||
},
|
||||
@@ -1769,7 +1723,6 @@
|
||||
},
|
||||
"header": "エンティティ",
|
||||
"headers": {
|
||||
"area": "エリア",
|
||||
"entity_id": "エンティティ ID",
|
||||
"integration": "インテグレーション",
|
||||
"name": "名前",
|
||||
@@ -1831,8 +1784,6 @@
|
||||
"info": {
|
||||
"built_using": "を使用して構築",
|
||||
"caption": "情報",
|
||||
"copy_github": "GitHubの場合",
|
||||
"copy_raw": "本来のテキスト",
|
||||
"custom_uis": "カスタムの UIs:",
|
||||
"description": "ホーム アシスタントのインストールに関する情報を表示する",
|
||||
"developed_by": "素晴らしい人々の集まりによって開発されました。",
|
||||
@@ -2418,7 +2369,6 @@
|
||||
"editor": {
|
||||
"activate_user": "ユーザーを有効化",
|
||||
"active": "アクティブ",
|
||||
"active_tooltip": "ユーザーがログインできるかどうかを制御します",
|
||||
"admin": "管理者",
|
||||
"caption": "ユーザーを表示",
|
||||
"change_password": "パスワードの変更",
|
||||
@@ -2435,24 +2385,19 @@
|
||||
"system_generated_users_not_editable": "システムが生成されたユーザーを変更できません。",
|
||||
"system_generated_users_not_removable": "システムで生成されたユーザーを削除できません。",
|
||||
"unnamed_user": "名前のないユーザー",
|
||||
"update_user": "更新",
|
||||
"username": "ユーザー名"
|
||||
"update_user": "更新"
|
||||
},
|
||||
"picker": {
|
||||
"add_user": "ユーザーを追加する",
|
||||
"headers": {
|
||||
"group": "グループ",
|
||||
"is_active": "アクティブ",
|
||||
"is_owner": "オーナー",
|
||||
"name": "名前",
|
||||
"system": "システム",
|
||||
"username": "ユーザー名"
|
||||
"system": "システム"
|
||||
}
|
||||
},
|
||||
"users_privileges_note": "ユーザーグループは作業中です。ユーザーは、UIを介してインスタンスを管理できなくなります。すべての管理APIエンドポイントを引き続き監査して、管理者へのアクセスを正しく制限していることを確認しています。"
|
||||
},
|
||||
"zha": {
|
||||
"add_device": "デバイスの追加",
|
||||
"add_device_page": {
|
||||
"discovered_text": "検出されると、デバイスがここに表示されます。",
|
||||
"discovery_text": "検出されたデバイスがここに表示されます。デバイスの指示に従い、ペアリングモードにします。",
|
||||
@@ -2498,16 +2443,6 @@
|
||||
"value": "バリュー"
|
||||
},
|
||||
"description": "Zigbee Home Automationネットワーク管理",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "構成の完了",
|
||||
"CONFIGURED_status_text": "初期化中",
|
||||
"INITIALIZED": "初期化が完了しました",
|
||||
"INITIALIZED_status_text": "デバイスを使用する準備ができました",
|
||||
"INTERVIEW_COMPLETE": "インタビュー完了",
|
||||
"INTERVIEW_COMPLETE_status_text": "構成",
|
||||
"PAIRED": "デバイスが見つかりました",
|
||||
"PAIRED_status_text": "インタビュー開始"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbeeホームオートメーション-デバイス"
|
||||
},
|
||||
@@ -2523,7 +2458,6 @@
|
||||
"unbind_button_label": "グループのバインド解除"
|
||||
},
|
||||
"groups": {
|
||||
"add_group": "グループの追加",
|
||||
"add_members": "メンバーの追加",
|
||||
"adding_members": "メンバーの追加",
|
||||
"caption": "グループ",
|
||||
@@ -2566,11 +2500,7 @@
|
||||
"hint_wakeup": "Xiaomiセンサーなどの一部のデバイスには、約5秒間隔で押すことができるウェイクアップボタンがあり、デバイスを操作している間、デバイスをウェイクアップしたままにできます。",
|
||||
"introduction": "単一のデバイスに影響する ZHA コマンドを実行します。デバイスを選択して、使用可能なコマンドの一覧を表示します。"
|
||||
},
|
||||
"title": "Zigbeeホームオートメーション",
|
||||
"visualization": {
|
||||
"caption": "可視化",
|
||||
"header": "ネットワークの視覚化"
|
||||
}
|
||||
"title": "Zigbeeホームオートメーション"
|
||||
},
|
||||
"zone": {
|
||||
"add_zone": "ゾーンを追加",
|
||||
@@ -3237,7 +3167,7 @@
|
||||
"entity_non_numeric": "エンティティが数値ではありません: {entity}",
|
||||
"entity_not_found": "エンティティが使用できません: {entity}",
|
||||
"entity_unavailable": "{entity}は現在利用できません",
|
||||
"starting": "Home Assistantが起動中です。全て利用可能なるまでもうしばらくお待ち下さい。"
|
||||
"starting": "ホームアシスタントが起動していますが、まだすべてが利用可能なわけではありません"
|
||||
}
|
||||
},
|
||||
"mailbox": {
|
||||
@@ -3437,13 +3367,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "新しいパスワードの確認",
|
||||
"current_password": "現在のパスワード",
|
||||
"error_new_is_old": "新しいパスワードは現在のパスワードと異なる必要があります",
|
||||
"error_new_mismatch": "入力された新しいパスワードが一致しません",
|
||||
"error_required": "必須",
|
||||
"header": "パスワードの変更",
|
||||
"new_password": "新しいパスワード",
|
||||
"submit": "送信",
|
||||
"success": "パスワードが正常に変更されました"
|
||||
"submit": "送信"
|
||||
},
|
||||
"current_user": "現在、 {fullName}としてログインしています。",
|
||||
"customize_sidebar": {
|
||||
|
@@ -7,7 +7,6 @@
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"owner": "소유자",
|
||||
"system-admin": "관리자",
|
||||
"system-read-only": "읽기 전용 사용자",
|
||||
"system-users": "사용자"
|
||||
@@ -333,13 +332,13 @@
|
||||
"zwave": {
|
||||
"default": {
|
||||
"dead": "응답없음",
|
||||
"initializing": "초기화 중",
|
||||
"initializing": "초기화중",
|
||||
"ready": "준비",
|
||||
"sleeping": "절전모드"
|
||||
},
|
||||
"query_stage": {
|
||||
"dead": "응답없음 ({query_stage})",
|
||||
"initializing": "초기화 중 ({query_stage})"
|
||||
"initializing": "초기화중 ({query_stage})"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -683,9 +682,9 @@
|
||||
"enabled_description": "비활성화 된 구성요소는 Home Assistant 에 추가되지 않습니다.",
|
||||
"enabled_label": "구성요소 활성화",
|
||||
"entity_id": "구성요소 ID",
|
||||
"icon": "아이콘",
|
||||
"icon": "아이콘 재정의",
|
||||
"icon_error": "아이콘은 접두사:아이콘이름 형식이어야 합니다. 예: mdi:home",
|
||||
"name": "이름",
|
||||
"name": "이름 재정의",
|
||||
"note": "참고: 모든 통합 구성요소에서 아직 작동하지 않을 수 있습니다.",
|
||||
"unavailable": "이 구성요소는 현재 사용할 수 없습니다.",
|
||||
"update": "업데이트"
|
||||
@@ -748,7 +747,6 @@
|
||||
"edit": "구성요소 편집",
|
||||
"history": "기록 내용",
|
||||
"last_changed": "최근 변경 됨",
|
||||
"last_updated": "최근 업데이트 됨",
|
||||
"person": {
|
||||
"create_zone": "현재 위치로 지역 만들기"
|
||||
},
|
||||
@@ -809,7 +807,6 @@
|
||||
"navigation": {
|
||||
"areas": "영역",
|
||||
"automation": "자동화",
|
||||
"blueprint": "블루프린트",
|
||||
"core": "일반",
|
||||
"customize": "사용자화",
|
||||
"devices": "기기",
|
||||
@@ -844,7 +841,7 @@
|
||||
"input_select": "선택입력 다시 읽어오기",
|
||||
"input_text": "문자입력 다시 읽어오기",
|
||||
"min_max": "최소/최대 구성요소 다시 읽어오기",
|
||||
"mqtt": "직접 구성한 MQTT 구성요소 다시 읽어오기",
|
||||
"mqtt": "MQTT 구성요소 다시 읽어오기",
|
||||
"person": "구성원 다시 읽어오기",
|
||||
"ping": "ping 이진 센서 구성요소 다시 읽어오기",
|
||||
"reload": "{domain} 다시 읽어오기",
|
||||
@@ -975,13 +972,6 @@
|
||||
"automation": {
|
||||
"caption": "자동화",
|
||||
"description": "자동화를 관리합니다",
|
||||
"dialog_new": {
|
||||
"start_empty": "빈 자동화로 시작하기",
|
||||
"thingtalk": {
|
||||
"create": "만들기",
|
||||
"input_label": "이 자동화로 무엇을 하시겠습니까?"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"actions": {
|
||||
"add": "동작 추가",
|
||||
@@ -1062,14 +1052,6 @@
|
||||
"unsupported_action": "UI 미지원 동작: {action}"
|
||||
},
|
||||
"alias": "이름",
|
||||
"blueprint": {
|
||||
"blueprint_to_use": "사용할 블루프린트",
|
||||
"header": "블루프린트",
|
||||
"inputs": "입력",
|
||||
"manage_blueprints": "블루프린트 관리",
|
||||
"no_blueprints": "블루프린트가 존재하지 않습니다",
|
||||
"no_inputs": "이 블루프린트에는 입력이 없습니다."
|
||||
},
|
||||
"conditions": {
|
||||
"add": "조건 추가",
|
||||
"delete": "삭제",
|
||||
@@ -1185,7 +1167,7 @@
|
||||
"trigger": "트리거"
|
||||
},
|
||||
"event": {
|
||||
"context_user_pick": "사용자 선택",
|
||||
"context_user_pick": "사용자 추가",
|
||||
"context_user_picked": "사용자 발행 이벤트",
|
||||
"context_users": "트리거된 이벤트로 제한",
|
||||
"event_data": "이벤트 데이터",
|
||||
@@ -1286,39 +1268,6 @@
|
||||
"show_info_automation": "자동화에 대한 정보 표시"
|
||||
}
|
||||
},
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "블루프린트의 URL 을 입력해주세요.",
|
||||
"file_name": "블루프린트 경로",
|
||||
"header": "블루프린트 가져오기",
|
||||
"import_btn": "블루프린트 미리보기",
|
||||
"import_header": "\"{name}\" 블루프린트",
|
||||
"import_introduction": "Github 및 커뮤니티 포럼에서 다른 사용자의 블루프린트를 가져올 수 있습니다. 블루프린트의 URL 을 하단의 입력란에 입력해주세요.",
|
||||
"importing": "블루프린트를 읽는 중 ...",
|
||||
"raw_blueprint": "블루프린트 내용",
|
||||
"save_btn": "블루프린트 가져오기",
|
||||
"saving": "블루프린트 가져오는 중 ...",
|
||||
"unsupported_blueprint": "이 블루프린트는 지원되지 않습니다.",
|
||||
"url": "블루프린트의 URL"
|
||||
},
|
||||
"caption": "블루프린트",
|
||||
"description": "블루프린트를 관리합니다",
|
||||
"overview": {
|
||||
"add_blueprint": "블루프린트 가져오기",
|
||||
"confirm_delete_header": "이 블루프린트를 삭제하시겠습니까?",
|
||||
"confirm_delete_text": "이 블루프린트를 삭제하시겠습니까?",
|
||||
"delete_blueprint": "블루프린트 삭제",
|
||||
"header": "블루프린트 편집기",
|
||||
"headers": {
|
||||
"domain": "도메인",
|
||||
"file_name": "파일 이름",
|
||||
"name": "이름"
|
||||
},
|
||||
"introduction": "블루프린트 구성을 사용하면 블루프린트를 가져오고 관리할 수 있습니다.",
|
||||
"learn_more": "블루프린트 사용에 대해 더 알아보기",
|
||||
"use_blueprint": "자동화 만들기"
|
||||
}
|
||||
},
|
||||
"cloud": {
|
||||
"account": {
|
||||
"alexa": {
|
||||
@@ -1561,7 +1510,7 @@
|
||||
"caption": "기기",
|
||||
"confirm_delete": "이 기기를 삭제하시겠습니까?",
|
||||
"confirm_rename_entity_ids": "구성요소의 ID 이름 또한 바꾸시겠습니까?",
|
||||
"confirm_rename_entity_ids_warning": "현재 이러한 구성요소를 사용하고 있는 구성 (자동화, 스크립트, 씬, 대시보드 등)은 변경되지 않습니다. 새로운 구성요소 ID 를 사용하려면 직접 업데이트해야 합니다.",
|
||||
"confirm_rename_entity_ids_warning": "현재 이러한 구성요소를 사용하고 있는 구성 (자동화, 스크립트, 씬, Lovelace 등)은 변경되지 않으므로 직접 업데이트해야 합니다.",
|
||||
"data_table": {
|
||||
"area": "영역",
|
||||
"battery": "배터리",
|
||||
@@ -1623,7 +1572,6 @@
|
||||
},
|
||||
"header": "구성요소",
|
||||
"headers": {
|
||||
"area": "영역",
|
||||
"entity_id": "구성요소 ID",
|
||||
"integration": "통합 구성요소",
|
||||
"name": "이름",
|
||||
@@ -1634,7 +1582,7 @@
|
||||
"remove_selected": {
|
||||
"button": "선택된 구성요소 제거",
|
||||
"confirm_partly_text": "선택한 {selected} 개의 구성요소 중 {removable} 개의 구성요소를 제거할 수 있습니다. 통합 구성요소가 더 이상 구성요소를 제공하지 않는 경우에만 구성요소를 제거할 수 있으며, 제거된 통합 구성요소의 구성요소를 제거하기 전에 Home Assistant 를 다시 시작해야 할 수 있습니다. 제거 가능한 구성요소를 제거하시겠습니까?",
|
||||
"confirm_partly_title": "선택된 {number} {number, plural,\n one { 개의 구성요소만}\n other { 개의 구성요소만}\n} 제거할 수 있습니다.",
|
||||
"confirm_partly_title": "선택된 {number} 개의 구성요소만 제거할 수 있습니다.",
|
||||
"confirm_text": "이러한 구성요소가 포함된 경우 Lovelace 구성 및 자동화에서 제거해야 합니다.",
|
||||
"confirm_title": "{number} 개의 구성요소를 제거하시겠습니까?"
|
||||
},
|
||||
@@ -1684,7 +1632,7 @@
|
||||
"built_using": "다음을 사용하여 제작",
|
||||
"caption": "정보",
|
||||
"custom_uis": "사용자 UI :",
|
||||
"description": "버전, 시스템 상태 및 문서에 대한 링크입니다",
|
||||
"description": "설치된 Home Assistant 에 대한 정보입니다",
|
||||
"developed_by": "Home Assistant 는 수많은 멋진 사람들에 의해 개발되었습니다.",
|
||||
"documentation": "관련문서",
|
||||
"frontend": "프런트엔드-UI",
|
||||
@@ -2024,7 +1972,7 @@
|
||||
"scene": {
|
||||
"activated": "{name} 씬이 활성화 됨.",
|
||||
"caption": "씬",
|
||||
"description": "기기의 상태를 캡처하고 나중에 쉽게 호출할 수 있습니다",
|
||||
"description": "씬을 관리합니다",
|
||||
"editor": {
|
||||
"default_name": "새로운 씬",
|
||||
"devices": {
|
||||
@@ -2136,7 +2084,7 @@
|
||||
"input_text": "문자입력 다시 읽어오기",
|
||||
"introduction": "Home Assistant 의 일부 구성 내용은 재시작 없이 다시 읽어 들일 수 있습니다. 다시 읽어오기를 누르면 현재 사용 중인 YAML 구성 내용을 내리고 새로운 구성 내용을 읽어 들입니다.",
|
||||
"min_max": "최소/최대 구성요소 다시 읽어오기",
|
||||
"mqtt": "직접 구성한 MQTT 구성요소 다시 읽어오기",
|
||||
"mqtt": "MQTT 구성요소 다시 읽어오기",
|
||||
"person": "구성원 다시 읽어오기",
|
||||
"ping": "ping 이진 센서 구성요소 다시 읽어오기",
|
||||
"reload": "{domain} 다시 읽어오기",
|
||||
@@ -2174,7 +2122,7 @@
|
||||
"automation_title": "{name} 태그가 검색되었습니다",
|
||||
"caption": "태그",
|
||||
"create_automation": "태그로 자동화 구성하기",
|
||||
"description": "NFC 태그, QR 코드 등이 스캔될 때 자동화를 트리거합니다",
|
||||
"description": "태그를 관리합니다",
|
||||
"detail": {
|
||||
"create": "만들기",
|
||||
"create_and_write": "만들고 쓰기",
|
||||
@@ -2218,7 +2166,7 @@
|
||||
"delete_user": "사용자 삭제",
|
||||
"group": "그룹",
|
||||
"id": "ID",
|
||||
"name": "표시 이름",
|
||||
"name": "이름",
|
||||
"new_password": "새로운 비밀번호",
|
||||
"owner": "소유자",
|
||||
"password_changed": "비밀번호가 변경되었습니다.",
|
||||
@@ -2226,23 +2174,18 @@
|
||||
"system_generated_users_not_editable": "시스템 자동 생성 사용자는 업데이트할 수 없습니다.",
|
||||
"system_generated_users_not_removable": "시스템 자동 생성 사용자는 제거할 수 없습니다.",
|
||||
"unnamed_user": "이름이 없는 사용자",
|
||||
"update_user": "업데이트",
|
||||
"username": "사용자 이름"
|
||||
"update_user": "업데이트"
|
||||
},
|
||||
"picker": {
|
||||
"headers": {
|
||||
"group": "그룹",
|
||||
"is_active": "활성화",
|
||||
"is_owner": "소유자",
|
||||
"name": "표시 이름",
|
||||
"system": "시스템 자동 생성",
|
||||
"username": "사용자 이름"
|
||||
"name": "이름",
|
||||
"system": "시스템"
|
||||
}
|
||||
},
|
||||
"users_privileges_note": "사용자 그룹 기능은 현재 작업 중이며, 사용자는 UI 를 통해 인스턴스를 관리할 수 없습니다. 모든 사용자 관리 API 엔드포인트가 관리자에 대한 액세스를 올바르게 제한하는지를 확인하는 중입니다."
|
||||
},
|
||||
"zha": {
|
||||
"add_device": "기기 추가",
|
||||
"add_device_page": {
|
||||
"discovered_text": "기기가 발견되면 여기에 표시됩니다.",
|
||||
"discovery_text": "발견된 기기가 여기에 표시됩니다. 기기의 설명서를 참고하여 기기를 페어링 모드로 설정해주세요.",
|
||||
@@ -2288,16 +2231,6 @@
|
||||
"value": "값"
|
||||
},
|
||||
"description": "Zigbee Home Automation 네트워크를 관리합니다",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "구성이 완료되었습니다",
|
||||
"CONFIGURED_status_text": "초기화 중",
|
||||
"INITIALIZED": "초기화가 완료되었습니다",
|
||||
"INITIALIZED_status_text": "기기를 사용할 준비가 되었습니다",
|
||||
"INTERVIEW_COMPLETE": "인터뷰가 완료되었습니다",
|
||||
"INTERVIEW_COMPLETE_status_text": "구성 중",
|
||||
"PAIRED": "기기가 발견되었습니다",
|
||||
"PAIRED_status_text": "인터뷰 시작 중"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee Home Automation - 기기"
|
||||
},
|
||||
@@ -2313,7 +2246,6 @@
|
||||
"unbind_button_label": "그룹 바인딩 해제"
|
||||
},
|
||||
"groups": {
|
||||
"add_group": "그룹 추가",
|
||||
"add_members": "구성 기기 추가",
|
||||
"adding_members": "구성 기기 추가",
|
||||
"caption": "그룹",
|
||||
@@ -2356,11 +2288,7 @@
|
||||
"hint_wakeup": "Xiaomi 센서와 같은 일부 기기는 상호 작용하는 동안 기기의 절전 모드 해제가 가능한 약 5초 동안 누를 수 있는 절전 해제 버튼이 있습니다.",
|
||||
"introduction": "단일 기기에 영향을 주는 ZHA 명령을 실행합니다. 사용 가능한 명령 목록을 보려면 기기를 선택해주세요."
|
||||
},
|
||||
"title": "Zigbee Home Automation",
|
||||
"visualization": {
|
||||
"caption": "시각화",
|
||||
"header": "네트워크 시각화"
|
||||
}
|
||||
"title": "Zigbee Home Automation"
|
||||
},
|
||||
"zone": {
|
||||
"add_zone": "지역 추가",
|
||||
@@ -2529,8 +2457,6 @@
|
||||
"filter_attributes": "속성 필터",
|
||||
"filter_entities": "구성요소 필터",
|
||||
"filter_states": "상태 필터",
|
||||
"last_changed": "최근 변경 됨",
|
||||
"last_updated": "최근 업데이트 됨",
|
||||
"more_info": "정보 더보기",
|
||||
"no_entities": "구성요소가 없습니다",
|
||||
"set_state": "상태 설정",
|
||||
@@ -2546,7 +2472,7 @@
|
||||
"entity": "구성요소",
|
||||
"jinja_documentation": "Jinja2 템플릿 문서 보기",
|
||||
"listeners": "이 템플릿은 다음의 상태 변경 이벤트를 수신합니다.",
|
||||
"no_listeners": "이 템플릿은 이벤트를 수신하지 않으며 자동으로 업데이트되지 않습니다.",
|
||||
"no_listeners": "이 템플릿은 상태 변경 이벤트를 수신하지 않으며 자동으로 업데이트되지 않습니다.",
|
||||
"reset": "데모 템플릿으로 재설정",
|
||||
"result_type": "결과 유형",
|
||||
"template_extensions": "Home Assistant 템플릿 확장기능 문서 보기",
|
||||
@@ -2621,12 +2547,6 @@
|
||||
"refresh": "새로고침"
|
||||
},
|
||||
"editor": {
|
||||
"action-editor": {
|
||||
"actions": {
|
||||
"url": "URL"
|
||||
},
|
||||
"url_path": "URL 경로"
|
||||
},
|
||||
"card": {
|
||||
"alarm-panel": {
|
||||
"available_states": "사용 가능한 상태요소",
|
||||
@@ -2658,7 +2578,7 @@
|
||||
},
|
||||
"entities": {
|
||||
"description": "구성요소 카드는 가장 일반적인 유형의 카드입니다. 항목을 목록으로 그룹화합니다.",
|
||||
"edit_special_row": "편집 버튼을 클릭하여 이 행의 세부 정보 보기",
|
||||
"edit_special_row": "코드 편집기를 사용하여 행 편집",
|
||||
"entity_row": {
|
||||
"attribute": "속성",
|
||||
"button": "버튼",
|
||||
@@ -2786,8 +2706,7 @@
|
||||
},
|
||||
"picture-glance": {
|
||||
"description": "그림 한눈에 보기 카드는 이미지와 해당 구성요소의 상태가 아이콘으로 표시됩니다. 오른쪽의 구성요소는 토글 작업을 허용하고 다른 구성요소는 추가 정보 대화상자를 표시합니다.",
|
||||
"name": "그림 한눈에 보기",
|
||||
"state_entity": "상태 구성요소"
|
||||
"name": "그림 한눈에 보기"
|
||||
},
|
||||
"picture": {
|
||||
"description": "그림 카드를 사용하면 인터페이스의 다양한 경로를 탐색하거나 서비스를 호출하는 데 사용할 이미지를 설정할 수 있습니다.",
|
||||
|
@@ -2,13 +2,11 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Konfiguratioun's Entrée",
|
||||
"device": "Apparat",
|
||||
"integration": "Integratioun",
|
||||
"user": "Benotzer"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"owner": "Besëtzer",
|
||||
"system-admin": "Administrateuren",
|
||||
"system-read-only": "Benotzer mat nëmmen Lies Rechter",
|
||||
"system-users": "Benotzer"
|
||||
@@ -549,11 +547,6 @@
|
||||
"clear": "Läschen",
|
||||
"show_areas": "Beräicher uweisen"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
"add_user": "Benotzer erstellen",
|
||||
"remove_user": "Benotzer läschen",
|
||||
"select_blueprint": "Plang auswielen"
|
||||
},
|
||||
"data-table": {
|
||||
"no-data": "Keng Donnée",
|
||||
"search": "Sichen"
|
||||
@@ -697,14 +690,6 @@
|
||||
"service-picker": {
|
||||
"service": "Service"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Beräich auswielen",
|
||||
"add_device_id": "Apparat auswielen",
|
||||
"add_entity_id": "Entitéit auswielen",
|
||||
"remove_area_id": "Beräich läschen",
|
||||
"remove_device_id": "Apparat läschen",
|
||||
"remove_entity_id": "Entitéit läschen"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Benotzer erstellen",
|
||||
"no_user": "Kee Benotzer",
|
||||
@@ -728,17 +713,14 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Sécher fir dës Entrée ze läsche?",
|
||||
"delete": "Läschen",
|
||||
"device_disabled": "Den Apparat vun dëser Entitéit ass déaktivéiert.",
|
||||
"enabled_cause": "Desaktivéiert duerch {cause}.",
|
||||
"enabled_description": "Deaktivéiert Entitéiten ginn net am Home Assistant bäigesat.",
|
||||
"enabled_label": "Entitéit aktivéieren",
|
||||
"enabled_restart_confirm": "Start Home Assistant nei fir dës Entitéiten z'aktivéieren",
|
||||
"entity_id": "ID vun der Entitéit",
|
||||
"icon": "Ikon",
|
||||
"icon_error": "Ikonen sollten am format 'prefix:numm' sinn, Beispill: 'mdi:home'",
|
||||
"name": "Numm",
|
||||
"note": "Note: dëst funktionéiert villäicht nach net mat all Integratioun.",
|
||||
"open_device_settings": "Apparat Astellungen opmachen",
|
||||
"unavailable": "Dës Entitéit ass net erreechbar fir de Moment.",
|
||||
"update": "Aktualiséieren"
|
||||
},
|
||||
@@ -806,11 +788,6 @@
|
||||
},
|
||||
"more_info_control": {
|
||||
"controls": "Kontrollen",
|
||||
"cover": {
|
||||
"close_cover": "Paart zoumaachen",
|
||||
"open_cover": "Paart opmaachen",
|
||||
"open_tilt_cover": "Paart op Kipp stelle"
|
||||
},
|
||||
"details": "Detailler",
|
||||
"dismiss": "Dialog ofbriechen",
|
||||
"edit": "Entitéit änneren",
|
||||
@@ -874,29 +851,6 @@
|
||||
},
|
||||
"quick-bar": {
|
||||
"commands": {
|
||||
"navigation": {
|
||||
"areas": "Beräicher",
|
||||
"automation": "Automatisme",
|
||||
"blueprint": "Pläng",
|
||||
"core": "Generell",
|
||||
"customize": "Personaliséierungen",
|
||||
"devices": "Apparate",
|
||||
"entities": "Entitéite",
|
||||
"helpers": "Helfer",
|
||||
"info": "Info",
|
||||
"integrations": "Integratioune",
|
||||
"logs": "Logs",
|
||||
"lovelace": "Lovelace Tableau de Bord",
|
||||
"navigate_to": "Navigéieren zu {panel}",
|
||||
"navigate_to_config": "Navigéieren zu {panel} Konfiguratioun",
|
||||
"person": "Persoune",
|
||||
"scene": "Zeene",
|
||||
"script": "Skripte",
|
||||
"server_control": "Server Kontrolle",
|
||||
"tags": "Tags",
|
||||
"users": "Benotzer",
|
||||
"zone": "Zone"
|
||||
},
|
||||
"reload": {
|
||||
"automation": "Automatisme frësch lueden",
|
||||
"command_line": "Kommando Zeilen Entitéite frësch lueden",
|
||||
@@ -1039,20 +993,6 @@
|
||||
"automation": {
|
||||
"caption": "Automatismen",
|
||||
"description": "Automatismen verwalten",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Plang benotzen"
|
||||
},
|
||||
"header": "Nei Automatisme erstellen",
|
||||
"how": "Wéi wëlls du deng nei Automatisme erstellen?",
|
||||
"start_empty": "Mat enger eideler Automatisme ufänken",
|
||||
"thingtalk": {
|
||||
"create": "Erstellen",
|
||||
"header": "Beschréif den Automatisme deen soll erstallt ginn",
|
||||
"input_label": "Wat soll dësen Automatisme maachen?",
|
||||
"intro": "A mir probéieren et fir dech z'erstellen. Zum Beispill: Schalt Luuchten aus wann ech fort ginn."
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"actions": {
|
||||
"add": "Aktioun dobäisetzen",
|
||||
@@ -1133,14 +1073,6 @@
|
||||
"unsupported_action": "Keng UI Ënnerstëtzung fir Aktioun: {action}"
|
||||
},
|
||||
"alias": "Numm",
|
||||
"blueprint": {
|
||||
"blueprint_to_use": "Plang fir ze benotzen",
|
||||
"header": "Plang",
|
||||
"inputs": "Agab",
|
||||
"manage_blueprints": "Pläng verwalten",
|
||||
"no_blueprints": "Du hues kee Plang",
|
||||
"no_inputs": "Dëse Plang huet keng Agab."
|
||||
},
|
||||
"conditions": {
|
||||
"add": "Konditioun dobäisetzen",
|
||||
"delete": "Läschen",
|
||||
@@ -1383,39 +1315,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Gëff d'URL vum Plang un.",
|
||||
"file_name": "Lokal Plang Datei Numm",
|
||||
"header": "Neie Plang erstellen",
|
||||
"import_btn": "Plang importéieren",
|
||||
"import_header": "Import \"{name}\" (typ: {domain})",
|
||||
"import_introduction": "Du kanns Pl¨ng vun aaner Github Benotzer an Community Forumer importéieren. Gëff d'URL vum Plang an.",
|
||||
"importing": "Plang gëtt importéiert...",
|
||||
"raw_blueprint": "Plang Inhalt",
|
||||
"save_btn": "Plang späicheren",
|
||||
"saving": "Plang gëtt gespäichert...",
|
||||
"unsupported_blueprint": "Dëse Plang gëtt net ënnerstëtzt",
|
||||
"url": "URL vum Plang"
|
||||
},
|
||||
"caption": "Pläng",
|
||||
"description": "Pläng verwalten",
|
||||
"overview": {
|
||||
"add_blueprint": "Plang importéieren",
|
||||
"confirm_delete_header": "Dëse Plang läschen?",
|
||||
"confirm_delete_text": "Sécher fir dëse Plang ze läsche?",
|
||||
"delete_blueprint": "Plang läschen",
|
||||
"header": "Plang Editeur",
|
||||
"headers": {
|
||||
"domain": "Domain",
|
||||
"file_name": "Datei Numm",
|
||||
"name": "Numm"
|
||||
},
|
||||
"introduction": "De Plang Editeur erlabt et Pläng z'erstellen an ze veränneren.",
|
||||
"learn_more": "Méi iwwert Plèang léieren",
|
||||
"use_blueprint": "Automatisme erstellen"
|
||||
}
|
||||
},
|
||||
"cloud": {
|
||||
"account": {
|
||||
"alexa": {
|
||||
@@ -1653,7 +1552,6 @@
|
||||
"unknown_condition": "Onbekannte Konditioun"
|
||||
},
|
||||
"create": "Automatisme mat Apparat erstellen",
|
||||
"create_disable": "Ka keen Automatisme mat déaktivéiertem Apparat erstellen",
|
||||
"no_automations": "Keng Automatismen",
|
||||
"no_device_automations": "Et gi keng Automatisme fir dësen Apparat.",
|
||||
"triggers": {
|
||||
@@ -1682,13 +1580,6 @@
|
||||
"description": "Verwalt verbonnen Apparater",
|
||||
"device_info": "Informatioune vum Apparat",
|
||||
"device_not_found": "Apparat net fonnt.",
|
||||
"disabled": "Deaktivéiert",
|
||||
"disabled_by": {
|
||||
"integration": "Integratioun",
|
||||
"user": "Benotzer"
|
||||
},
|
||||
"enabled_cause": "Dësen Apparat ass duerch {cause} déaktivéiert.",
|
||||
"enabled_label": "Apparat aktivéieren",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Zu Lovelace bäisetzen",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {Déaktivéiert Entitéit}\n other {Déaktivéiert Entitéiten}\n}",
|
||||
@@ -1698,24 +1589,14 @@
|
||||
},
|
||||
"name": "Numm",
|
||||
"no_devices": "Keng Apparater",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filter",
|
||||
"show_all": "All uweisen",
|
||||
"show_disabled": "Déaktivéiert Apparater uweisen"
|
||||
},
|
||||
"search": "Apparater sichen"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Zeen mat Apparat erstellen",
|
||||
"create_disable": "Ka keng Zeen mat déaktivéiertem Apparat erstellen",
|
||||
"no_scenes": "Keng Zeenen",
|
||||
"scenes": "Zeenen"
|
||||
},
|
||||
"scenes": "Zeenen",
|
||||
"script": {
|
||||
"create": "Skript mat Apparat erstellen",
|
||||
"create_disable": "Ka kee Skript mat déaktivéiertem Apparat erstellen",
|
||||
"no_scripts": "Keng Skripten",
|
||||
"scripts": "Skripten"
|
||||
},
|
||||
@@ -1747,7 +1628,6 @@
|
||||
},
|
||||
"header": "Entitéiten",
|
||||
"headers": {
|
||||
"area": "Beräich",
|
||||
"entity_id": "ID vun der Entitéit",
|
||||
"integration": "Integratioun",
|
||||
"name": "Numm",
|
||||
@@ -1809,8 +1689,6 @@
|
||||
"info": {
|
||||
"built_using": "Erstallt mat",
|
||||
"caption": "Info",
|
||||
"copy_github": "Fir Github",
|
||||
"copy_raw": "Rengen Text",
|
||||
"custom_uis": "Personaliséierte Benotzer Interface:",
|
||||
"description": "Informatioune zu denger Home Assistant Installation uweisen",
|
||||
"developed_by": "Entwéckelt vun enger ganzer Rei fantastesche Leit.",
|
||||
@@ -2274,8 +2152,6 @@
|
||||
},
|
||||
"picker": {
|
||||
"add_script": "Neie Skript erstellen",
|
||||
"duplicate": "Duplizéieren",
|
||||
"duplicate_script": "Skript duplizéieren",
|
||||
"edit_script": "Skript änneren",
|
||||
"header": "Skript Editeur",
|
||||
"headers": {
|
||||
@@ -2391,7 +2267,6 @@
|
||||
"editor": {
|
||||
"activate_user": "Benotzer aktivéieren",
|
||||
"active": "Aktiv",
|
||||
"active_tooltip": "Kontrolléiert ob de Benotzer sech verbanne kann",
|
||||
"admin": "Administrator",
|
||||
"caption": "Benotzer kucken",
|
||||
"change_password": "Passwuert änneren",
|
||||
@@ -2408,24 +2283,18 @@
|
||||
"system_generated_users_not_editable": "Net méiglech System generéiert Benotzer z'aktualiséieren.",
|
||||
"system_generated_users_not_removable": "Ka keng System generéiert Benotzer läschen.",
|
||||
"unnamed_user": "Benotzer ouni Numm",
|
||||
"update_user": "Aktualiséieren",
|
||||
"username": "Benotzernumm"
|
||||
"update_user": "Aktualiséieren"
|
||||
},
|
||||
"picker": {
|
||||
"add_user": "Benotzer erstellen",
|
||||
"headers": {
|
||||
"group": "Grupp",
|
||||
"is_active": "Aktiv",
|
||||
"is_owner": "Besëtzer",
|
||||
"name": "Numm",
|
||||
"system": "System",
|
||||
"username": "Benotzernumm"
|
||||
"system": "System"
|
||||
}
|
||||
},
|
||||
"users_privileges_note": "Benotzer Gruppp ass nach \"Work in progress\". De Benotzer kann d'Instanz net via UI verwalten. MIr sin mat engem Audit am gaang vun all Management API Endpunkt fir sécher ze stellen dass déi den accès richteg op Administrateuren limitéieren."
|
||||
},
|
||||
"zha": {
|
||||
"add_device": "Apparat dobäisetzen",
|
||||
"add_device_page": {
|
||||
"discovered_text": "Apparater tauchen hei op soubaal se entdeckt sinn.",
|
||||
"discovery_text": "Entdeckten Apparater tauchen op dëser Platz op. Suivéiert d'Instruktiounen fir är Apparater an aktivéiert den Kupplung's Mod.",
|
||||
@@ -2471,16 +2340,6 @@
|
||||
"value": "Wäert"
|
||||
},
|
||||
"description": "Gestioun vum Zigbee Home Automation Reseau",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Konfiguratioun fäerdeg",
|
||||
"CONFIGURED_status_text": "Initialiséiert",
|
||||
"INITIALIZED": "Initialiséierung fäerdeg",
|
||||
"INITIALIZED_status_text": "Den Apparat ass prett fir ze benotzen",
|
||||
"INTERVIEW_COMPLETE": "Interview fäerdeg",
|
||||
"INTERVIEW_COMPLETE_status_text": "Konfiguréiert",
|
||||
"PAIRED": "Apparat fonnt",
|
||||
"PAIRED_status_text": "Interview fänkt un"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee Haus Automatismen - Apparat"
|
||||
},
|
||||
@@ -2496,7 +2355,6 @@
|
||||
"unbind_button_label": "Grupp opléisen"
|
||||
},
|
||||
"groups": {
|
||||
"add_group": "Grupp dobäisetzen",
|
||||
"add_members": "Membere bäisetzen",
|
||||
"adding_members": "Membere gi bäigesat",
|
||||
"caption": "Gruppe",
|
||||
@@ -2539,11 +2397,7 @@
|
||||
"hint_wakeup": "Verschidden Apparater wéi Xiaomi Sensoren hunn ee klenge Knäppchen deen een an Intervalle vu ~5s drécke ka fir dass den Apparat un bléift wärend der Interaktioun.",
|
||||
"introduction": "ZHA Kommandoe ausféieren déi nëmmen een Apparat betreffen. Wielt een Apparat aus fir seng Lëscht vun verfügbare Kommandoe ze gesinn."
|
||||
},
|
||||
"title": "Zigbee Haus Automatismen",
|
||||
"visualization": {
|
||||
"caption": "Visualisatioun",
|
||||
"header": "Visualisatioun vum Netzwierk"
|
||||
}
|
||||
"title": "Zigbee Haus Automatismen"
|
||||
},
|
||||
"zone": {
|
||||
"add_zone": "Zon dobäisetzen",
|
||||
@@ -2712,8 +2566,6 @@
|
||||
"filter_attributes": "Attributer filteren",
|
||||
"filter_entities": "Entitéite filteren",
|
||||
"filter_states": "Zoustänn filteren",
|
||||
"last_changed": "Läscht Ännerung",
|
||||
"last_updated": "Läscht Aktualiséierung",
|
||||
"more_info": "Méi Info",
|
||||
"no_entities": "Keng Entitéiten",
|
||||
"set_state": "Zoustand setzen",
|
||||
@@ -2965,10 +2817,6 @@
|
||||
"description": "Luucht Kaart erlaabt et d'Hellegkeet vun de Luuchten ze veränneren.",
|
||||
"name": "Luucht"
|
||||
},
|
||||
"logbook": {
|
||||
"description": "Logbuch weist eng Lëscht vun Evenementer vun Entitéiten un.",
|
||||
"name": "Logbuch"
|
||||
},
|
||||
"map": {
|
||||
"dark_mode": "Däischteren Modus",
|
||||
"default_zoom": "Standard Zoom",
|
||||
@@ -3047,9 +2895,6 @@
|
||||
"edit": "Änneren",
|
||||
"none": "Keen"
|
||||
},
|
||||
"edit_badges": {
|
||||
"panel_mode": "Dës Badge gi net ugewise well dës Usiicht am \"Panel Modus\" ass."
|
||||
},
|
||||
"edit_card": {
|
||||
"add": "Kaart dobäisetzen",
|
||||
"clear": "Läschen",
|
||||
@@ -3094,7 +2939,6 @@
|
||||
},
|
||||
"header": "UI änneren",
|
||||
"header-footer": {
|
||||
"choose_header_footer": "{typ} auswielen",
|
||||
"footer": "Fousszeilen",
|
||||
"header": "Entête",
|
||||
"types": {
|
||||
@@ -3103,9 +2947,6 @@
|
||||
},
|
||||
"graph": {
|
||||
"name": "Graph"
|
||||
},
|
||||
"picture": {
|
||||
"name": "Bild"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3156,8 +2997,7 @@
|
||||
"sub-element-editor": {
|
||||
"types": {
|
||||
"footer": "Fousszeilen Editeur",
|
||||
"header": "Entête Editeur",
|
||||
"row": "Editeur vun der Réih vun Entitéiten"
|
||||
"header": "Entête Editeur"
|
||||
}
|
||||
},
|
||||
"suggest_card": {
|
||||
@@ -3409,13 +3249,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Neit Passwuert confirméieren",
|
||||
"current_password": "Aktuellt Passwuert",
|
||||
"error_new_is_old": "Neit Passwuert muss anescht sinn wéi dat aktuellt Passwuert",
|
||||
"error_new_mismatch": "Verschidde Wäerter fir neit Passwuert ausgefëllt",
|
||||
"error_required": "Obligatoresch",
|
||||
"header": "Passwuert änneren",
|
||||
"new_password": "Neit Passwuert",
|
||||
"submit": "Ofschécken",
|
||||
"success": "Passwuert erfollegräich geännert"
|
||||
"submit": "Ofschécken"
|
||||
},
|
||||
"current_user": "Dir sidd aktuell ageloggt als {fullName}.",
|
||||
"customize_sidebar": {
|
||||
|
@@ -1,11 +1,5 @@
|
||||
{
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"device": "Įrenginys"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"owner": "Savininkas",
|
||||
"system-admin": "Administratoriai",
|
||||
"system-read-only": "Tik skaitymo privilegija",
|
||||
"system-users": "Vartotojai"
|
||||
@@ -296,24 +290,8 @@
|
||||
"save": "Išsaugoti"
|
||||
},
|
||||
"components": {
|
||||
"area-picker": {
|
||||
"no_areas": "Neturite jokių sričių",
|
||||
"no_match": "Nerasta atitinkančių sričių"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
"add_user": "Pridėti vartotoją",
|
||||
"remove_user": "Pašalinti vartotoją",
|
||||
"select_blueprint": "Pasirinkite techninį planą"
|
||||
},
|
||||
"device-picker": {
|
||||
"device": "Įrenginys",
|
||||
"no_devices": "Neturite jokių įrenginių",
|
||||
"no_match": "Nerasta atitinkančių įrenginių"
|
||||
},
|
||||
"entity": {
|
||||
"entity-picker": {
|
||||
"no_match": "Nerasta atitinkančių objektų"
|
||||
}
|
||||
"device": "Įrenginys"
|
||||
},
|
||||
"logbook": {
|
||||
"by_service": "pagal paslaugą",
|
||||
@@ -353,14 +331,6 @@
|
||||
},
|
||||
"past": "prieš {time}"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Pasirinkite sritį",
|
||||
"add_device_id": "Pasirinkite įrenginį",
|
||||
"add_entity_id": "Pasirinkite objektą",
|
||||
"remove_area_id": "Pašalinti sritį",
|
||||
"remove_device_id": "Pašalinti įrenginį",
|
||||
"remove_entity_id": "Pašalinti objektą"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Pridėti naudotoją",
|
||||
"no_user": "Nėra vartotojo",
|
||||
@@ -369,10 +339,6 @@
|
||||
},
|
||||
"dialogs": {
|
||||
"entity_registry": {
|
||||
"editor": {
|
||||
"device_disabled": "Šio objekto įrenginys išjungtas.",
|
||||
"open_device_settings": "Atidaryti įrenginio nustatymus"
|
||||
},
|
||||
"faq": "dokumentacija"
|
||||
},
|
||||
"helper_settings": {
|
||||
@@ -403,31 +369,6 @@
|
||||
}
|
||||
},
|
||||
"quick-bar": {
|
||||
"commands": {
|
||||
"navigation": {
|
||||
"areas": "Sritys",
|
||||
"automation": "Automatizacijos",
|
||||
"blueprint": "Techniniai planai",
|
||||
"core": "Bendra",
|
||||
"customize": "Tinkinimas",
|
||||
"devices": "Įrenginiai",
|
||||
"entities": "Objectai",
|
||||
"helpers": "Pagelbikliai",
|
||||
"info": "Informacija",
|
||||
"integrations": "Integracijos",
|
||||
"logs": "Įvykių žurnalai",
|
||||
"lovelace": "Lovelace ataskaitų sritis",
|
||||
"navigate_to": "Pereiti į {panel}",
|
||||
"navigate_to_config": "Pereiti į {panel} konfigūraciją",
|
||||
"person": "Žmonės",
|
||||
"scene": "Scenos",
|
||||
"script": "Skriptai",
|
||||
"server_control": "Serverio valdikliai",
|
||||
"tags": "Žymės",
|
||||
"users": "Vartotojai",
|
||||
"zone": "Zonos"
|
||||
}
|
||||
},
|
||||
"filter_placeholder": "Objekto filtras"
|
||||
}
|
||||
},
|
||||
@@ -473,20 +414,6 @@
|
||||
}
|
||||
},
|
||||
"automation": {
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Naudoti techninį planą"
|
||||
},
|
||||
"header": "Kurti naują automatizavimą",
|
||||
"how": "Kaip norite sukurti naują automatizavimą?",
|
||||
"start_empty": "Pradėkite nuo tuščios automatizacijos",
|
||||
"thingtalk": {
|
||||
"create": "Sukurti",
|
||||
"header": "Apibūdinkite automatizaciją, kurią norite sukurti",
|
||||
"input_label": "Ką turėtų atlikti šis automatizavimas?",
|
||||
"intro": "Ir mes pasistengsime jį jums sukurti. Pavyzdžiui: išeidami išjunkite šviesas."
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"actions": {
|
||||
"add": "Pridėti veiksmą",
|
||||
@@ -509,14 +436,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"blueprint": {
|
||||
"blueprint_to_use": "Naudotini techniniai planai",
|
||||
"header": "Techninis planas",
|
||||
"inputs": "Įvestys",
|
||||
"manage_blueprints": "Tvarkyti techninius planus",
|
||||
"no_blueprints": "Neturite jokių techninių planų.",
|
||||
"no_inputs": "Šis techninis planas neturi jokių įvesčių."
|
||||
},
|
||||
"conditions": {
|
||||
"delete": "Ištrinti",
|
||||
"duplicate": "Dubliuoti",
|
||||
@@ -625,39 +544,6 @@
|
||||
"learn_more": "Sužinokite daugiau apie automatizavimą"
|
||||
}
|
||||
},
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Įveskite techninio plano universalųjį adresą (URL).",
|
||||
"file_name": "Kelias iki techninio plano",
|
||||
"header": "Importuoti techninį planą",
|
||||
"import_btn": "Peržiūrėti techninį planą",
|
||||
"import_header": "\"{Name}\" techninis planas",
|
||||
"import_introduction": "Galite importuoti kitų vartotojų techninius planus iš Github ir bendruomenės forumų. Žemiau įveskite projekto universalųjį adresą (URL).",
|
||||
"importing": "Įkeliamas techninis planas...",
|
||||
"raw_blueprint": "Techninio plano turinys",
|
||||
"save_btn": "Importuoti techninį planą",
|
||||
"saving": "Importuojamas techninis planas...",
|
||||
"unsupported_blueprint": "Šis techninis planas nepalaikomas",
|
||||
"url": "Techninio plano universalusis adresas (URL)"
|
||||
},
|
||||
"caption": "Techniniai planai",
|
||||
"description": "Tvarkyti techninius planus",
|
||||
"overview": {
|
||||
"add_blueprint": "Importuoti techninius planus",
|
||||
"confirm_delete_header": "Ištrinti šį techninį planą?",
|
||||
"confirm_delete_text": "Ar tikrai norite ištrinti šį techninį planą?",
|
||||
"delete_blueprint": "Ištrinti techninį planą",
|
||||
"header": "Techninių planų rengyklė",
|
||||
"headers": {
|
||||
"domain": "Domenas",
|
||||
"file_name": "Failo vardas",
|
||||
"name": "Pavadinimas"
|
||||
},
|
||||
"introduction": "Techninio plano konfigūracija leidžia importuoti ir valdyti jūsų techninius planus.",
|
||||
"learn_more": "Sužinokite daugiau apie techninių planų naudojimą",
|
||||
"use_blueprint": "Sukurti automatizavimą"
|
||||
}
|
||||
},
|
||||
"cloud": {
|
||||
"account": {
|
||||
"connected": "Prisijungęs",
|
||||
@@ -684,7 +570,6 @@
|
||||
"no_conditions": "Nėra sąlygų",
|
||||
"unknown_condition": "Nežinoma sąlyga"
|
||||
},
|
||||
"create_disable": "Negalima sukurti automatizavimo su išjungtu įrenginiu",
|
||||
"triggers": {
|
||||
"no_triggers": "Nėra paleidiklių",
|
||||
"unknown_trigger": "Nežinomas paleidiklis"
|
||||
@@ -696,31 +581,7 @@
|
||||
"device": "Įrenginys",
|
||||
"model": "Modelis"
|
||||
},
|
||||
"description": "Tvarkyti prijungtus įrenginius",
|
||||
"disabled": "Išjungta",
|
||||
"disabled_by": {
|
||||
"config_entry": "Konfigūracijos įrašas",
|
||||
"integration": "Integracija",
|
||||
"user": "Vartotojas"
|
||||
},
|
||||
"enabled_cause": "Įrenginį išjungė {cause}.",
|
||||
"enabled_description": "Išjungti įrenginiai nebus rodomi, o įrenginiui priklausantys objektai bus išjungti ir nepridedami į Home Assistant.",
|
||||
"enabled_label": "Įgalinti įrenginį",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filtras",
|
||||
"hidden_devices": "{number} paslėptas (-i) {number, plural,\n one {įrenginys}\n other {įrenginiai}\n}",
|
||||
"show_all": "Rodyti viską",
|
||||
"show_disabled": "Rodyti išjungtus įrenginius"
|
||||
},
|
||||
"search": "Ieškoti įrenginių"
|
||||
},
|
||||
"scene": {
|
||||
"create_disable": "Negalima sukurti scenos su išjungtu įrenginiu"
|
||||
},
|
||||
"script": {
|
||||
"create_disable": "Negalima sukurti skripto su išjungtu įrenginiu"
|
||||
}
|
||||
"description": "Tvarkyti prijungtus įrenginius"
|
||||
},
|
||||
"entities": {
|
||||
"caption": "Subjektų registras",
|
||||
@@ -730,9 +591,6 @@
|
||||
"show_all": "Rodyti viską"
|
||||
},
|
||||
"header": "Subjektų registras",
|
||||
"headers": {
|
||||
"area": "Sritis"
|
||||
},
|
||||
"introduction2": "Naudokite subjekto registrą, kad perrašytumėte pavadinimą, pakeiskite subjekto ID arba pašalintumėte įrašą iš namų asistento. Atminkite, kad pašalindami registro įrašą tai nepanaikins pačio subjekto. Norėdami tai padaryti, sekite toliau pateiktą nuorodą ir pašalinkite ją iš integracijos puslapio."
|
||||
}
|
||||
},
|
||||
@@ -743,27 +601,6 @@
|
||||
"timer": "Laikmatis"
|
||||
}
|
||||
},
|
||||
"info": {
|
||||
"copy_github": "GitHub'ui",
|
||||
"copy_raw": "Neapdorotas tekstas",
|
||||
"system_health": {
|
||||
"checks": {
|
||||
"cloud": {
|
||||
"alexa_enabled": "Alexa įgalinta",
|
||||
"google_enabled": "Google įgalinta",
|
||||
"logged_in": "Prisijungė",
|
||||
"remote_connected": "Nuotolinis prijungtas",
|
||||
"remote_enabled": "Nuotolinis įgalintas",
|
||||
"subscription_expiration": "Prenumeratos galiojimo laikas"
|
||||
},
|
||||
"lovelace": {
|
||||
"dashboards": "Ataskaitų sritys",
|
||||
"mode": "Režimas",
|
||||
"resources": "Ištekliai"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"integrations": {
|
||||
"config_entry": {
|
||||
"hub": "Prijungtas per",
|
||||
@@ -820,8 +657,6 @@
|
||||
"save_script": "Įrašyti scenarijų"
|
||||
},
|
||||
"picker": {
|
||||
"duplicate": "Dubliuoti",
|
||||
"duplicate_script": "Dubliuoti skriptą",
|
||||
"run_script": "Vykdyti scenarijų"
|
||||
}
|
||||
},
|
||||
@@ -841,42 +676,16 @@
|
||||
"username": "Vartotojo vardas"
|
||||
},
|
||||
"editor": {
|
||||
"active_tooltip": "Tikrina, ar vartotojas gali prisijungti",
|
||||
"caption": "Peržiūrėti vartotoją",
|
||||
"username": "Vartotojo vardas"
|
||||
},
|
||||
"picker": {
|
||||
"add_user": "Pridėti vartotoją",
|
||||
"headers": {
|
||||
"is_active": "Aktyvus",
|
||||
"is_owner": "Savininkas",
|
||||
"username": "Vartotojo vardas"
|
||||
}
|
||||
"caption": "Peržiūrėti vartotoją"
|
||||
}
|
||||
},
|
||||
"zha": {
|
||||
"add_device": "Pridėti įrenginį",
|
||||
"add_device_page": {
|
||||
"discovery_text": "Čia bus rodomi atrasti įrenginiai. Vadovaukitės jūsų įtaiso instrukcijomis ir nustatykite jį suporavimo režimui.",
|
||||
"header": "„Zigbee“ namų automatika - pridėti įrenginių",
|
||||
"spinner": "Ieškoma ZHA Zigbee įrenginių..."
|
||||
},
|
||||
"description": "„Zigbee Home Automation“ tinklo valdymas",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Konfigūracija baigta",
|
||||
"CONFIGURED_status_text": "Inicijuojama",
|
||||
"INITIALIZED": "Inicijavimas baigtas",
|
||||
"INITIALIZED_status_text": "Įrenginys paruoštas naudoti",
|
||||
"INTERVIEW_COMPLETE_status_text": "Konfigūruojama",
|
||||
"PAIRED": "Rastas įrenginys"
|
||||
},
|
||||
"groups": {
|
||||
"add_group": "Pridėti grupę"
|
||||
},
|
||||
"visualization": {
|
||||
"caption": "Vizualizacija",
|
||||
"header": "Tinklo vizualizacija"
|
||||
}
|
||||
"description": "„Zigbee Home Automation“ tinklo valdymas"
|
||||
},
|
||||
"zwave": {
|
||||
"caption": "Z-Wave",
|
||||
@@ -901,8 +710,6 @@
|
||||
"title": "Paslaugos"
|
||||
},
|
||||
"states": {
|
||||
"last_changed": "Pakeista",
|
||||
"last_updated": "Atnaujinta",
|
||||
"title": "Būsenos"
|
||||
},
|
||||
"templates": {
|
||||
@@ -962,27 +769,13 @@
|
||||
"position": "Padėtis",
|
||||
"tilt-position": "Pakreipimo padėtis"
|
||||
}
|
||||
},
|
||||
"logbook": {
|
||||
"description": "Veiksmų žurnalo kortelėje rodomas įvykių sąrašas.",
|
||||
"name": "Veiksmų žurnalas"
|
||||
},
|
||||
"picture-glance": {
|
||||
"state_entity": "Būsenos objektas"
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"add": "Pridėti",
|
||||
"clear": "Išvalyti",
|
||||
"edit": "Redaguoti",
|
||||
"none": "Nė vienas"
|
||||
},
|
||||
"edit_badges": {
|
||||
"panel_mode": "Šie ženkleliai nebus rodomi, nes šis rodinys yra „Skydelio režime“."
|
||||
},
|
||||
"edit_card": {
|
||||
"add": "Pridėti kortelę",
|
||||
"clear": "Išvalyti",
|
||||
"delete": "Ištrinti",
|
||||
"edit": "Redaguoti",
|
||||
"move": "Perkelti",
|
||||
@@ -1002,22 +795,6 @@
|
||||
"move_right": "Perkelti rodinį į dešinę"
|
||||
},
|
||||
"header": "Redaguoti UI",
|
||||
"header-footer": {
|
||||
"choose_header_footer": "Pasirinkite {type}",
|
||||
"footer": "Poraštė",
|
||||
"header": "Antraštė",
|
||||
"types": {
|
||||
"buttons": {
|
||||
"name": "Mygtukai"
|
||||
},
|
||||
"graph": {
|
||||
"name": "Diagrama"
|
||||
},
|
||||
"picture": {
|
||||
"name": "Paveikslėlis"
|
||||
}
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"raw_editor": "Konfigūracijos redaktorius"
|
||||
},
|
||||
@@ -1040,13 +817,6 @@
|
||||
"header": "Valdykite savo „Lovelace“ vartotojo sąsają",
|
||||
"para_sure": "Ar tikrai norite kontroliuoti savo vartotojo sąsają?",
|
||||
"save": "Kontroliuoti"
|
||||
},
|
||||
"sub-element-editor": {
|
||||
"types": {
|
||||
"footer": "Poraštės rengyklė",
|
||||
"header": "Antraštės rengyklė",
|
||||
"row": "Objekto eilučių rengyklė"
|
||||
}
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
@@ -1118,11 +888,8 @@
|
||||
"profile": {
|
||||
"change_password": {
|
||||
"current_password": "Dabartinis slaptažodis",
|
||||
"error_new_is_old": "Naujas slaptažodis turi skirtis nuo dabartinio slaptažodžio",
|
||||
"error_new_mismatch": "Nesutampa naujojo slaptažodžio laukai",
|
||||
"header": "Keisti slaptažodį",
|
||||
"new_password": "Naujas slaptažodis",
|
||||
"success": "Slaptažodis pakeistas sėkmingai"
|
||||
"new_password": "Naujas slaptažodis"
|
||||
},
|
||||
"language": {
|
||||
"dropdown_label": "Kalba",
|
||||
|
@@ -2,13 +2,11 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Konfigurer oppføring",
|
||||
"device": "Enhet",
|
||||
"integration": "Integrasjon",
|
||||
"user": "Bruker"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"owner": "Eier",
|
||||
"system-admin": "Administratorer",
|
||||
"system-read-only": "Brukere med lesetilgang",
|
||||
"system-users": "Brukere"
|
||||
@@ -300,7 +298,7 @@
|
||||
"on": "På"
|
||||
},
|
||||
"timer": {
|
||||
"active": "Aktiv",
|
||||
"active": "aktiv",
|
||||
"idle": "Inaktiv",
|
||||
"paused": "pauset"
|
||||
},
|
||||
@@ -547,8 +545,6 @@
|
||||
"add_new": "Legg til nytt område ...",
|
||||
"area": "Område",
|
||||
"clear": "Tøm",
|
||||
"no_areas": "Du har ingen områder",
|
||||
"no_match": "Fant ingen samsvarende områder",
|
||||
"show_areas": "Vis områder"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
@@ -569,8 +565,6 @@
|
||||
"clear": "Tøm",
|
||||
"device": "Enhet",
|
||||
"no_area": "Ingen område",
|
||||
"no_devices": "Du har ingen enheter",
|
||||
"no_match": "Fant ingen samsvarende enheter",
|
||||
"show_devices": "Vis enheter",
|
||||
"toggle": "Veksle"
|
||||
},
|
||||
@@ -582,7 +576,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "Tøm",
|
||||
"entity": "Entitet",
|
||||
"no_match": "Fant ingen samsvarende entiteter",
|
||||
"show_entities": "Vis entiteter"
|
||||
}
|
||||
},
|
||||
@@ -716,16 +709,6 @@
|
||||
"service-picker": {
|
||||
"service": "Tjeneste"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Velg område",
|
||||
"add_device_id": "Velg enhet",
|
||||
"add_entity_id": "Velg entitet",
|
||||
"expand_area_id": "Utvid dette området med de separate enhetene og entitetene det inneholder. Etter utvidelse vil den ikke oppdatere enhetene og entitetene når området endres.",
|
||||
"expand_device_id": "Utvid denne enheten i separate entiteter. Etter utvidelse vil den ikke oppdatere entitetene når enheten endres.",
|
||||
"remove_area_id": "Fjern område",
|
||||
"remove_device_id": "Fjern enhet",
|
||||
"remove_entity_id": "Fjern entitet"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Legg til bruker",
|
||||
"no_user": "Ingen bruker",
|
||||
@@ -749,7 +732,6 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Er du sikker på at du vil slette denne oppføringen?",
|
||||
"delete": "Slett",
|
||||
"device_disabled": "Enheten til denne enhtiteen er deaktivert",
|
||||
"enabled_cause": "Deaktivert av {cause}.",
|
||||
"enabled_delay_confirm": "De aktiverte enhetene blir lagt til i Home Assistant om {delay} sekunder",
|
||||
"enabled_description": "Deaktiverte entiteter vil ikke bli lagt til i Home Assistant.",
|
||||
@@ -760,7 +742,6 @@
|
||||
"icon_error": "Ikoner bør være i formatet 'prefiks:ikonnavn', f.eks 'mdi:home'",
|
||||
"name": "Navn",
|
||||
"note": "Merk: Dette fungerer kanskje ikke ennå med alle integrasjoner.",
|
||||
"open_device_settings": "Åpne enhetsinnstillinger",
|
||||
"unavailable": "Denne entiteten er ikke tilgjengelig for øyeblikket.",
|
||||
"update": "Oppdater"
|
||||
},
|
||||
@@ -1048,7 +1029,7 @@
|
||||
"confirmation_text": "Alle enheter som tilhører dette området vil ikke bli tildelt.",
|
||||
"confirmation_title": "Er du sikker på at du vil slette dette området?"
|
||||
},
|
||||
"description": "Gruppere enheter og enheter i områder",
|
||||
"description": "Administrere områder i hjemmet ditt",
|
||||
"editor": {
|
||||
"area_id": "Område ID",
|
||||
"create": "Opprett",
|
||||
@@ -1070,7 +1051,7 @@
|
||||
},
|
||||
"automation": {
|
||||
"caption": "Automasjoner",
|
||||
"description": "Lag egendefinerte atferdsregler for hjemmet ditt",
|
||||
"description": "Administrer automasjoner",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Bruke en blueprint"
|
||||
@@ -1418,15 +1399,15 @@
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Vennligst skriv inn URL-en til blueprint",
|
||||
"file_name": "Blueprint Bane",
|
||||
"header": "Importer en blueprint",
|
||||
"import_btn": "Forhåndsvisning av blueprint",
|
||||
"import_header": "Blueprint \"{name}\"",
|
||||
"file_name": "Lokalt blueprint filnavn",
|
||||
"header": "Legg til ny blueprint",
|
||||
"import_btn": "Importer blueprint",
|
||||
"import_header": "Importer {name} (type: {domain})",
|
||||
"import_introduction": "Du kan importere blueprints av andre brukere fra Github og fellesskapsforumet. Skriv inn URL-en til blueprint nedenfor.",
|
||||
"importing": "Laster blueprint...",
|
||||
"importing": "Importerer blueprint...",
|
||||
"raw_blueprint": "Blueprint innhold",
|
||||
"save_btn": "Importer blueprint",
|
||||
"saving": "Importerer blueprint...",
|
||||
"save_btn": "Lagre blueprint",
|
||||
"saving": "Lagrer blueprint...",
|
||||
"unsupported_blueprint": "Denne blueprinten støttes ikke",
|
||||
"url": "URL til blueprint"
|
||||
},
|
||||
@@ -1443,8 +1424,8 @@
|
||||
"file_name": "Filnavn",
|
||||
"name": "Navn"
|
||||
},
|
||||
"introduction": "Med blueprint-konfigurasjonen kan du importere og administrere dine blueprints.",
|
||||
"learn_more": "Finn ut mer om hvordan du bruker blueprints",
|
||||
"introduction": "Med blueprint editor kan du opprette og redigere blueprints",
|
||||
"learn_more": "Lær mer om blueprint",
|
||||
"use_blueprint": "Opprett automasjon"
|
||||
}
|
||||
},
|
||||
@@ -1528,7 +1509,7 @@
|
||||
"title": ""
|
||||
},
|
||||
"caption": "",
|
||||
"description_features": "Kontroller hjemmet når du er borte og integrer med Alexa og Google Assistant",
|
||||
"description_features": "Kontroller borte fra hjemmet, integrer med Alexa og Google Assistant.",
|
||||
"description_login": "Logget inn som {email}",
|
||||
"description_not_login": "Ikke pålogget",
|
||||
"dialog_certificate": {
|
||||
@@ -1623,7 +1604,7 @@
|
||||
},
|
||||
"core": {
|
||||
"caption": "Generelt",
|
||||
"description": "Enhetssystem, plassering, tidssone og andre generelle parametere",
|
||||
"description": "Endre den generelle konfigurasjonen for Home Assistant",
|
||||
"section": {
|
||||
"core": {
|
||||
"core_config": {
|
||||
@@ -1685,7 +1666,6 @@
|
||||
"unknown_condition": "Ukjent tilstand"
|
||||
},
|
||||
"create": "Lag automasjon med enheten",
|
||||
"create_disable": "Kan ikke opprette automasjon med deaktivert enhet",
|
||||
"no_automations": "Ingen automasjoner",
|
||||
"no_device_automations": "Det er ingen automasjoner tilgjengelig for denne enheten.",
|
||||
"triggers": {
|
||||
@@ -1711,18 +1691,9 @@
|
||||
"no_devices": "Ingen enheter"
|
||||
},
|
||||
"delete": "Slett",
|
||||
"description": "Administrer konfigurerte enheter",
|
||||
"description": "Administrer tilkoblede enheter",
|
||||
"device_info": "Enhetsinformasjon",
|
||||
"device_not_found": "Enhet ikke funnet",
|
||||
"disabled": "Deaktivert",
|
||||
"disabled_by": {
|
||||
"config_entry": "Konfigurer oppføring",
|
||||
"integration": "Integrasjon",
|
||||
"user": "Bruker"
|
||||
},
|
||||
"enabled_cause": "Enheten er deaktivert av {cause}",
|
||||
"enabled_description": "Deaktiverte enheter vises ikke, og entiteter som tilhører enheten deaktiveres og ikke legges til i Home Assistant",
|
||||
"enabled_label": "Aktivér enhet",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Legg til i Lovelace",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {deaktivert entitet}\n other {deaktiverte entiteter}\n}",
|
||||
@@ -1732,25 +1703,14 @@
|
||||
},
|
||||
"name": "Navn",
|
||||
"no_devices": "Ingen enheter",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filter",
|
||||
"hidden_devices": "{number} {number, plural,\n one {skjult enhet}\n other {skjulte enheter}\n}",
|
||||
"show_all": "Vis alle",
|
||||
"show_disabled": "Vis deaktiverte enheter"
|
||||
},
|
||||
"search": "Søk etter enheter"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Lag scene med enheten",
|
||||
"create_disable": "Kan ikke opprette scene med deaktivert enhet",
|
||||
"no_scenes": "Ingen scener",
|
||||
"scenes": "Scener"
|
||||
},
|
||||
"scenes": "Scener",
|
||||
"script": {
|
||||
"create": "Lag skript med enheten",
|
||||
"create_disable": "Kan ikke opprette skript med deaktivert enhet",
|
||||
"no_scripts": "Ingen skript",
|
||||
"scripts": "Skript"
|
||||
},
|
||||
@@ -1783,7 +1743,6 @@
|
||||
},
|
||||
"header": "Entiteter",
|
||||
"headers": {
|
||||
"area": "Område",
|
||||
"entity_id": "Entitets-ID",
|
||||
"integration": "Integrasjon",
|
||||
"name": "Navn",
|
||||
@@ -1816,7 +1775,7 @@
|
||||
"header": "Konfigurer Home Assistant",
|
||||
"helpers": {
|
||||
"caption": "Hjelpere",
|
||||
"description": "Elementer som hjelper med å bygge automatiseringer",
|
||||
"description": "Administrere elementer som bidrar til å bygge automasjoner",
|
||||
"dialog": {
|
||||
"add_helper": "Legg hjelper",
|
||||
"add_platform": "Legg til {platform}",
|
||||
@@ -1848,7 +1807,7 @@
|
||||
"copy_github": "",
|
||||
"copy_raw": "Rå tekst",
|
||||
"custom_uis": "Tilpassede brukergrensesnitt:",
|
||||
"description": "Versjon, systemhelse og lenker til dokumentasjon",
|
||||
"description": "Vise informasjon om installasjonen av Home Assistant",
|
||||
"developed_by": "Utviklet av en gjeng med fantastiske mennesker.",
|
||||
"documentation": "Dokumentasjon",
|
||||
"frontend": "frontend",
|
||||
@@ -1954,7 +1913,7 @@
|
||||
},
|
||||
"configure": "Konfigurer",
|
||||
"configured": "Konfigurert",
|
||||
"description": "Administrer integrasjoner med tjenester, enheter, ...",
|
||||
"description": "Administrer integrasjoner",
|
||||
"details": "Integrasjonsdetaljer",
|
||||
"discovered": "Oppdaget",
|
||||
"home_assistant_website": "Nettsted for Home Assistant",
|
||||
@@ -2039,7 +1998,7 @@
|
||||
"open": "Åpne"
|
||||
}
|
||||
},
|
||||
"description": "Opprett tilpassede sett med kort for å kontrollere hjemmet ditt",
|
||||
"description": "Administrer Lovelace Dashboards",
|
||||
"resources": {
|
||||
"cant_edit_yaml": "Du bruker Lovelace i YAML-modus, derfor kan du ikke administrere ressursene dine via brukergrensesnittet. Behandle dem i configuration.yaml.",
|
||||
"caption": "Ressurser",
|
||||
@@ -2238,7 +2197,7 @@
|
||||
"scene": {
|
||||
"activated": "Aktivert scene {name}.",
|
||||
"caption": "Scener",
|
||||
"description": "Ta opp enhetstilstander og få dem til å huske dem på en enkel måte senere",
|
||||
"description": "Administrer scener",
|
||||
"editor": {
|
||||
"default_name": "Ny scene",
|
||||
"devices": {
|
||||
@@ -2282,7 +2241,7 @@
|
||||
},
|
||||
"script": {
|
||||
"caption": "Skript",
|
||||
"description": "Utføre en sekvens med handlinger",
|
||||
"description": "Administrer skript",
|
||||
"editor": {
|
||||
"alias": "Navn",
|
||||
"default_name": "Nytt skript",
|
||||
@@ -2393,7 +2352,7 @@
|
||||
"confirm_remove": "Er du sikker på at du vil fjerne taggen {tag} ?",
|
||||
"confirm_remove_title": "Fjerne tag?",
|
||||
"create_automation": "Opprett automasjon med tag",
|
||||
"description": "Utløs automatisasjoner når en NFC-tag, QR-kode osv. Skannes",
|
||||
"description": "Administrer tagger",
|
||||
"detail": {
|
||||
"companion_apps": "kompanjong apper",
|
||||
"create": "Opprett",
|
||||
@@ -2428,11 +2387,10 @@
|
||||
"username": "Brukernavn"
|
||||
},
|
||||
"caption": "Brukere",
|
||||
"description": "Administrer Home Assistant-brukerkontoer",
|
||||
"description": "Administrer brukere",
|
||||
"editor": {
|
||||
"activate_user": "Aktiver bruker",
|
||||
"active": "Aktiv",
|
||||
"active_tooltip": "Kontrollerer om brukeren kan logge inn",
|
||||
"admin": "",
|
||||
"caption": "Vis bruker",
|
||||
"change_password": "Endre passord",
|
||||
@@ -2441,7 +2399,7 @@
|
||||
"delete_user": "Slett bruker",
|
||||
"group": "Gruppe",
|
||||
"id": "Id",
|
||||
"name": "Visningsnavn",
|
||||
"name": "Navn",
|
||||
"new_password": "Nytt passord",
|
||||
"owner": "Eier",
|
||||
"password_changed": "Passordet ble endret",
|
||||
@@ -2449,18 +2407,14 @@
|
||||
"system_generated_users_not_editable": "Kan ikke oppdatere systemopprettede brukere.",
|
||||
"system_generated_users_not_removable": "Kan ikke fjerne systemopprettede brukere.",
|
||||
"unnamed_user": "Bruker uten navn",
|
||||
"update_user": "Oppdater",
|
||||
"username": "Brukernavn"
|
||||
"update_user": "Oppdater"
|
||||
},
|
||||
"picker": {
|
||||
"add_user": "Legg til bruker",
|
||||
"headers": {
|
||||
"group": "Gruppe",
|
||||
"is_active": "Aktiv",
|
||||
"is_owner": "Eier",
|
||||
"name": "Visningsnavn",
|
||||
"system": "System generert",
|
||||
"username": "Brukernavn"
|
||||
"name": "Navn",
|
||||
"system": ""
|
||||
}
|
||||
},
|
||||
"users_privileges_note": "Brukergruppefunksjonen er et pågående arbeid. Brukeren vil ikke kunne administrere forekomsten via brukergrensesnittet. Vi overvåker fortsatt alle administrasjons-API-endepunkter for å sikre at de begrenser tilgangen til administratorer på riktig måte."
|
||||
@@ -2512,16 +2466,6 @@
|
||||
"value": "Verdi"
|
||||
},
|
||||
"description": "ZigBee Hjemmeautomasjon nettverksadministrasjon",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Konfigurasjonen er fullført",
|
||||
"CONFIGURED_status_text": "Initialiserer",
|
||||
"INITIALIZED": "Initialiseringen er fullført",
|
||||
"INITIALIZED_status_text": "Enheten er klar til bruk",
|
||||
"INTERVIEW_COMPLETE": "Intervju fullført",
|
||||
"INTERVIEW_COMPLETE_status_text": "Konfigurerer",
|
||||
"PAIRED": "Enhet funnet",
|
||||
"PAIRED_status_text": "Starter intervju"
|
||||
},
|
||||
"devices": {
|
||||
"header": "ZigBee Hjemmeautomasjon - Enhet"
|
||||
},
|
||||
@@ -3029,20 +2973,20 @@
|
||||
"name": "Mediekontroll"
|
||||
},
|
||||
"picture-elements": {
|
||||
"description": "Bildeelementer-kortet er et av de mest allsidige korttypene. Kortene lar deg plassere ikoner eller tekst og til og med tjenester! På et bilde basert på koordinater.",
|
||||
"description": "Picture Elements-kortet er en av de mest allsidige korttyper. Kortene lar deg plassere ikoner eller tekst og til og med tjenester! På et bilde basert på koordinater.",
|
||||
"name": "Bildeelementer"
|
||||
},
|
||||
"picture-entity": {
|
||||
"description": "Bilde entitet kortet viser en entitet i form av et bilde. I stedet for bilder fra URL, kan det også vise bilde av kameraentiteter.",
|
||||
"name": "Bilde entitet"
|
||||
"name": "Bildeoppføring"
|
||||
},
|
||||
"picture-glance": {
|
||||
"description": "Bilde blikk-kortet viser et bilde og tilhørende entitetstilstander som et ikon. Entitetene på høyre side tillater veksling av handlinger, andre viser dialogboksen mer informasjon.",
|
||||
"description": "Picture Glance-kortet viser et bilde og tilhørende entitetstilstander som et ikon. Entitetene på høyre side tillater veksling av handlinger, andre viser dialogboksen mer informasjon.",
|
||||
"name": "Bilde blikk",
|
||||
"state_entity": "Statusentitet"
|
||||
},
|
||||
"picture": {
|
||||
"description": "Bildekortet lar deg sette inn et bilde som skal brukes til navigasjon til forskjellige baner i grensesnittet ditt eller for å tilkalle en tjeneste.",
|
||||
"description": "Bildekortet lar deg stille inn et bilde som skal brukes til navigasjon til forskjellige baner i grensesnittet ditt eller for å tilkalle en tjeneste.",
|
||||
"name": "Bilde"
|
||||
},
|
||||
"plant-status": {
|
||||
@@ -3451,13 +3395,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Bekreft nytt passord",
|
||||
"current_password": "Nåværende passord",
|
||||
"error_new_is_old": "Nytt passord må være annerledes enn gjeldende passord",
|
||||
"error_new_mismatch": "Oppgitte nye passordverdier stemmer ikke overens",
|
||||
"error_required": "Nødvendig",
|
||||
"header": "Endre passord",
|
||||
"new_password": "Nytt passord",
|
||||
"submit": "Send inn",
|
||||
"success": "Passordet ble endret"
|
||||
"submit": "Send inn"
|
||||
},
|
||||
"current_user": "Du er logget inn som {fullName}.",
|
||||
"customize_sidebar": {
|
||||
@@ -3478,7 +3419,7 @@
|
||||
"description": "Dette vil skjule sidepanelet som standard, tilsvarende opplevelsen på en mobil.",
|
||||
"header": "Skjul alltid sidepanelet"
|
||||
},
|
||||
"is_owner": "Du er en eier",
|
||||
"is_owner": "Du er en eier.",
|
||||
"language": {
|
||||
"dropdown_label": "Språk",
|
||||
"header": "Språk",
|
||||
|
@@ -2,13 +2,11 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Configuratie-item",
|
||||
"device": "Apparaat",
|
||||
"integration": "Integratie",
|
||||
"user": "Gebruiker"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"owner": "Eigenaar",
|
||||
"system-admin": "Beheerders",
|
||||
"system-read-only": "Alleen-lezen gebruikers",
|
||||
"system-users": "Gebruikers"
|
||||
@@ -547,8 +545,6 @@
|
||||
"add_new": "Gebied toevoegen...",
|
||||
"area": "Gebied",
|
||||
"clear": "Wis",
|
||||
"no_areas": "Je hebt geen gebieden",
|
||||
"no_match": "Geen overeenkomende gebieden gevonden",
|
||||
"show_areas": "Toon gebieden"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
@@ -569,8 +565,6 @@
|
||||
"clear": "Wis",
|
||||
"device": "Apparaat",
|
||||
"no_area": "Geen gebied",
|
||||
"no_devices": "Je hebt geen apparaten",
|
||||
"no_match": "Geen overeenkomende apparaten gevonden",
|
||||
"show_devices": "Apparaten weergeven",
|
||||
"toggle": "Omschakelen"
|
||||
},
|
||||
@@ -582,7 +576,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "Wis",
|
||||
"entity": "Entiteit",
|
||||
"no_match": "Geen overeenkomende entiteiten gevonden",
|
||||
"show_entities": "Entiteiten weergeven"
|
||||
}
|
||||
},
|
||||
@@ -598,7 +591,7 @@
|
||||
"became_unavailable": "is niet meer beschikbaar",
|
||||
"changed_to_state": "gewijzigd in {state}",
|
||||
"cleared_device_class": "niets gedetecteerd (geen {device_class} gedetecteerd)",
|
||||
"detected_device_class": "{device_class} gedetecteerd",
|
||||
"detected_device_class": "gedetecteerd {device_class}",
|
||||
"rose": "opkomst",
|
||||
"set": "ondergang",
|
||||
"turned_off": "is uitgeschakeld",
|
||||
@@ -716,16 +709,6 @@
|
||||
"service-picker": {
|
||||
"service": "Service"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Kies gebied",
|
||||
"add_device_id": "Kies apparaat",
|
||||
"add_entity_id": "Kies entiteit",
|
||||
"expand_area_id": "Breid dit gebied uit in de afzonderlijke apparaten en entiteiten die het bevat. Na het uitbreiden zal het de apparaten en entiteiten niet bijwerken wanneer het gebied verandert.",
|
||||
"expand_device_id": "Breid dit apparaat uit in afzonderlijke entiteiten. Na het uitbreiden worden de entiteiten niet bijgewerkt wanneer het apparaat verandert.",
|
||||
"remove_area_id": "Verwijder gebied",
|
||||
"remove_device_id": "Verwijder apparaat",
|
||||
"remove_entity_id": "Verwijder entiteit"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Gebruiker toevoegen",
|
||||
"no_user": "Geen gebruiker",
|
||||
@@ -749,7 +732,6 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Weet je zeker dat je dit item wilt verwijderen?",
|
||||
"delete": "Verwijderen",
|
||||
"device_disabled": "Het apparaat van deze entiteit is uitgeschakeld.",
|
||||
"enabled_cause": "Uitgeschakeld vanwege {cause}",
|
||||
"enabled_delay_confirm": "De ingeschakelde entiteiten worden over {delay} seconden aan Home Assistant toegevoegd",
|
||||
"enabled_description": "Uitgeschakelde entiteiten zullen niet aan Home Assistant worden toegevoegd",
|
||||
@@ -760,7 +742,6 @@
|
||||
"icon_error": "Pictogrammen moeten de notatie 'prefix:pictogramnaam' hebben, bijvoorbeeld 'mdi:home'",
|
||||
"name": "Naam",
|
||||
"note": "Opmerking: dit werkt mogelijk nog niet met alle integraties.",
|
||||
"open_device_settings": "Open de apparaatinstellingen",
|
||||
"unavailable": "Deze entiteit is momenteel niet beschikbaar.",
|
||||
"update": "Bijwerken"
|
||||
},
|
||||
@@ -901,7 +882,6 @@
|
||||
"navigation": {
|
||||
"areas": "Gebieden",
|
||||
"automation": "Automatiseringen",
|
||||
"blueprint": "Blueprints",
|
||||
"core": "Algemeen",
|
||||
"customize": "Aanpassingen",
|
||||
"devices": "Apparaten",
|
||||
@@ -1025,7 +1005,7 @@
|
||||
"dismiss": "Afwijzen",
|
||||
"service_call_failed": "Kan service {service} niet aanroepen",
|
||||
"started": "Home Assistant is gestart!",
|
||||
"starting": "Home Assistant is aan het opstarten. Gedurende het opstarten is niet alles beschikbaar.",
|
||||
"starting": "Home Assistant is aan het opstarten. Gedurende het opstarten zal niet alles beschikbaar zijn.",
|
||||
"triggered": "Geactiveerd {name}"
|
||||
},
|
||||
"panel": {
|
||||
@@ -1048,7 +1028,7 @@
|
||||
"confirmation_text": "Alle apparaten in dit gebied zullen niet meer toegewezen zijn.",
|
||||
"confirmation_title": "Weet je zeker dat je dit gebied wilt verwijderen?"
|
||||
},
|
||||
"description": "Groepeer apparaten en entiteiten in gebieden",
|
||||
"description": "Overzicht van alle gebieden in je huis.",
|
||||
"editor": {
|
||||
"area_id": "Gebieds-ID",
|
||||
"create": "Aanmaken",
|
||||
@@ -1070,10 +1050,10 @@
|
||||
},
|
||||
"automation": {
|
||||
"caption": "Automatiseringen",
|
||||
"description": "Maak aangepaste gedragsregels voor uw huis",
|
||||
"description": "Het maken en bewerken van automatiseringen",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Gebruik een Blueprint"
|
||||
"use_blueprint": "Gebruik een blauwdruk"
|
||||
},
|
||||
"header": "Een nieuwe automatisering maken",
|
||||
"how": "Hoe wil je je nieuwe automatisering maken?",
|
||||
@@ -1166,12 +1146,12 @@
|
||||
},
|
||||
"alias": "Naam",
|
||||
"blueprint": {
|
||||
"blueprint_to_use": "Blueprint om te gebruiken",
|
||||
"header": "Blueprint",
|
||||
"blueprint_to_use": "Blauwdruk om te gebruiken",
|
||||
"header": "Blauwdruk",
|
||||
"inputs": "Inputs",
|
||||
"manage_blueprints": "Beheer Blueprints",
|
||||
"no_blueprints": "Je hebt geen Blueprints",
|
||||
"no_inputs": "Deze Blueprint heeft geen inputs."
|
||||
"manage_blueprints": "Beheer blauwdrukken",
|
||||
"no_blueprints": "Je hebt geen blauwdrukken",
|
||||
"no_inputs": "Deze blauwdruk heeft geen inputs."
|
||||
},
|
||||
"conditions": {
|
||||
"add": "Voorwaarde toevoegen",
|
||||
@@ -1417,35 +1397,27 @@
|
||||
},
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Voer de URL van de Blueprint in.",
|
||||
"file_name": "Blueprint pad",
|
||||
"header": "Voeg een nieuwe Blueprint toe",
|
||||
"import_btn": "Bekijk een Blueprint",
|
||||
"import_header": "Blueprint \"{name}\"",
|
||||
"import_introduction": "U kunt Blueprints van andere gebruikers importeren vanuit Github en de communityforums. Voer de URL van de Blueprint hieronder in.",
|
||||
"importing": "Blueprint importeren ...",
|
||||
"raw_blueprint": "Blueprint inhoud",
|
||||
"save_btn": "Blueprint importeren",
|
||||
"saving": "Blueprint importeren ...",
|
||||
"unsupported_blueprint": "Deze Blueprint wordt niet ondersteund",
|
||||
"url": "URL van de Blueprint"
|
||||
"error_no_url": "Voer de URL van de blauwdruk in.",
|
||||
"header": "Voeg een nieuwe blauwdruk toe",
|
||||
"import_btn": "Blauwdruk importeren",
|
||||
"import_header": "Importeer {name} ( {domain} )",
|
||||
"import_introduction": "U kunt blauwdrukken van andere gebruikers importeren vanuit Github en de communityforums. Voer de URL van de blauwdruk hieronder in.",
|
||||
"importing": "Blauwdruk importeren ...",
|
||||
"save_btn": "Bewaar blauwdruk",
|
||||
"saving": "Blauwdruk opslaan ...",
|
||||
"url": "URL van de blauwdruk"
|
||||
},
|
||||
"caption": "Blueprints",
|
||||
"description": "Beheer Blueprints",
|
||||
"caption": "Blauwdrukken",
|
||||
"description": "Beheer blauwdrukken",
|
||||
"overview": {
|
||||
"add_blueprint": "Blueprint importeren",
|
||||
"confirm_delete_header": "Deze Blueprint verwijderen?",
|
||||
"confirm_delete_header": "Deze blauwdruk verwijderen?",
|
||||
"confirm_delete_text": "Weet je zeker dat je deze blauwdruk wilt verwijderen?",
|
||||
"delete_blueprint": "Verwijder Blueprint",
|
||||
"header": "Blueprinteditor",
|
||||
"header": "Blauwdrukeditor",
|
||||
"headers": {
|
||||
"domain": "Domein",
|
||||
"file_name": "Bestandsnaam",
|
||||
"name": "Naam"
|
||||
},
|
||||
"introduction": "Met de Blueprinteditor kunt je Blueprints maken en bewerken.",
|
||||
"learn_more": "Meer informatie over Blueprints",
|
||||
"use_blueprint": "Automatisering maken"
|
||||
"introduction": "Met de blauwdrukeditor kunt je blauwdrukken maken en bewerken.",
|
||||
"learn_more": "Meer informatie over blauwdrukken"
|
||||
}
|
||||
},
|
||||
"cloud": {
|
||||
@@ -1528,7 +1500,7 @@
|
||||
"title": "Alexa"
|
||||
},
|
||||
"caption": "Home Assistent Cloud",
|
||||
"description_features": "Bedien uw huis wanneer u weg bent en integreer met Alexa en Google Assistant",
|
||||
"description_features": "Bestuur weg van huis, verbind met Alexa en Google Assistant.",
|
||||
"description_login": "Ingelogd als {email}",
|
||||
"description_not_login": "Niet ingelogd",
|
||||
"dialog_certificate": {
|
||||
@@ -1623,7 +1595,7 @@
|
||||
},
|
||||
"core": {
|
||||
"caption": "Algemeen",
|
||||
"description": "Eenheidssysteem, locatie, tijdzone en andere algemene parameters",
|
||||
"description": "Wijzig je algemene Home Assistant-configuratie",
|
||||
"section": {
|
||||
"core": {
|
||||
"core_config": {
|
||||
@@ -1685,7 +1657,6 @@
|
||||
"unknown_condition": "Onbekende toestand"
|
||||
},
|
||||
"create": "Maak een automatisering aan met het apparaat",
|
||||
"create_disable": "Kan geen automatisering maken met een uitgeschakeld apparaat",
|
||||
"no_automations": "Geen automatiseringen",
|
||||
"no_device_automations": "Er zijn geen automatiseringen beschikbaar voor dit apparaat.",
|
||||
"triggers": {
|
||||
@@ -1711,18 +1682,9 @@
|
||||
"no_devices": "Geen apparaten"
|
||||
},
|
||||
"delete": "Verwijderen",
|
||||
"description": "Beheer geconfigureerde apparaten",
|
||||
"description": "Beheer verbonden apparaten",
|
||||
"device_info": "Apparaat info",
|
||||
"device_not_found": "Apparaat niet gevonden.",
|
||||
"disabled": "Uitgeschakeld",
|
||||
"disabled_by": {
|
||||
"config_entry": "Configuratie-invoer",
|
||||
"integration": "Integratie",
|
||||
"user": "Gebruiker"
|
||||
},
|
||||
"enabled_cause": "Het apparaat is uitgeschakeld door {cause}.",
|
||||
"enabled_description": "Uitgeschakelde apparaten worden niet weergegeven en entiteiten die bij het apparaat horen, worden uitgeschakeld en niet toegevoegd aan Home Assistant.",
|
||||
"enabled_label": "Schakel apparaat in",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Voeg toe aan de Lovelace gebruikersinterface",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {uitgeschakelde entiteit}\n other {uitgeschakelde entiteiten}\n}",
|
||||
@@ -1732,25 +1694,14 @@
|
||||
},
|
||||
"name": "Naam",
|
||||
"no_devices": "Geen apparaten",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filter",
|
||||
"hidden_devices": "{number} verborgen {number, plural,\n one {apparaat}\n other {apparaten}\n}",
|
||||
"show_all": "Alles weergeven",
|
||||
"show_disabled": "Toon uitgeschakelde apparaten"
|
||||
},
|
||||
"search": "Zoek apparaten"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Maak een scène aan met het apparaat",
|
||||
"create_disable": "Kan geen scène maken met een uitgeschakeld apparaat",
|
||||
"no_scenes": "Geen scènes",
|
||||
"scenes": "Scènes"
|
||||
},
|
||||
"scenes": "Scènes",
|
||||
"script": {
|
||||
"create": "Maak een script aan met het apparaat",
|
||||
"create_disable": "Kan geen script maken met een uitgeschakeld apparaat",
|
||||
"no_scripts": "Geen scripts",
|
||||
"scripts": "Scripts"
|
||||
},
|
||||
@@ -1783,7 +1734,6 @@
|
||||
},
|
||||
"header": "Entiteiten",
|
||||
"headers": {
|
||||
"area": "Gebied",
|
||||
"entity_id": "Entiteits-ID",
|
||||
"integration": "Integratie",
|
||||
"name": "Naam",
|
||||
@@ -1848,7 +1798,7 @@
|
||||
"copy_github": "Voor GitHub",
|
||||
"copy_raw": "Ruwe tekst",
|
||||
"custom_uis": "Aangepaste UI's:",
|
||||
"description": "Versie, systeemstatus en links naar documentatie",
|
||||
"description": "Informatie over je Home Assistant installatie",
|
||||
"developed_by": "Ontwikkeld door een stel geweldige mensen.",
|
||||
"documentation": "Documentatie",
|
||||
"frontend": "Frontend",
|
||||
@@ -1914,11 +1864,11 @@
|
||||
"delete": "Verwijder",
|
||||
"delete_button": "Verwijder {integration}.",
|
||||
"delete_confirm": "Weet je zeker dat je deze integratie wilt verwijderen?",
|
||||
"device_unavailable": "Apparaat niet beschikbaar",
|
||||
"device_unavailable": "apparaat niet beschikbaar",
|
||||
"devices": "{count} {count, plural,\n one {apparaat}\n other {apparaten}\n}",
|
||||
"documentation": "Documentatie",
|
||||
"entities": "{count} {count, plural,\n one {entiteit}\n other {entiteiten}\n}",
|
||||
"entity_unavailable": "Entiteit niet beschikbaar",
|
||||
"entity_unavailable": "entiteit niet beschikbaar",
|
||||
"firmware": "Firmware: {version}",
|
||||
"hub": "Verbonden via",
|
||||
"manuf": "door {manufacturer}",
|
||||
@@ -1954,7 +1904,7 @@
|
||||
},
|
||||
"configure": "Configureer",
|
||||
"configured": "Geconfigureerd",
|
||||
"description": "Beheer integraties met services, apparaten, ...",
|
||||
"description": "Beheer en installeer integraties",
|
||||
"details": "Integratiedetails",
|
||||
"discovered": "Ontdekt",
|
||||
"home_assistant_website": "Home Assistant-website",
|
||||
@@ -2039,7 +1989,7 @@
|
||||
"open": "Open"
|
||||
}
|
||||
},
|
||||
"description": "Maak aangepaste cards om uw huis te besturen",
|
||||
"description": "Configureer je Lovelace-dashboards",
|
||||
"resources": {
|
||||
"cant_edit_yaml": "Je gebruikt Lovelace in YAML-modus, daarom kun je je bronnen niet beheren via de gebruikersinterface. Beheer ze in configuration.yaml.",
|
||||
"caption": "Bronnen",
|
||||
@@ -2238,7 +2188,7 @@
|
||||
"scene": {
|
||||
"activated": "Scène {name} geactiveerd.",
|
||||
"caption": "Scènes",
|
||||
"description": "Leg apparaatstatussen vast en roep ze later gemakkelijk op",
|
||||
"description": "Maak en bewerk scènes",
|
||||
"editor": {
|
||||
"default_name": "Nieuwe scène",
|
||||
"devices": {
|
||||
@@ -2282,7 +2232,7 @@
|
||||
},
|
||||
"script": {
|
||||
"caption": "Scripts",
|
||||
"description": "Voer een reeks acties uit",
|
||||
"description": "Maak en bewerk scripts",
|
||||
"editor": {
|
||||
"alias": "Naam",
|
||||
"default_name": "Nieuw script",
|
||||
@@ -2393,7 +2343,7 @@
|
||||
"confirm_remove": "Weet je zeker dat je tag {tag} wilt verwijderen?",
|
||||
"confirm_remove_title": "Tag verwijderen?",
|
||||
"create_automation": "Creëer automatisering met tag",
|
||||
"description": "Activeer automatiseringen wanneer een NFC-tag, QR-code, enz. wordt gescand",
|
||||
"description": "Beheer tags",
|
||||
"detail": {
|
||||
"companion_apps": "bijbehorende apps",
|
||||
"create": "Creëer",
|
||||
@@ -2428,11 +2378,10 @@
|
||||
"username": "Gebruikersnaam"
|
||||
},
|
||||
"caption": "Gebruikers",
|
||||
"description": "Gebruikers van Home Assistant beheren",
|
||||
"description": "Gebruikers beheren",
|
||||
"editor": {
|
||||
"activate_user": "Activeer gebruiker",
|
||||
"active": "Actief",
|
||||
"active_tooltip": "Bepaal of de gebruiker kan inloggen",
|
||||
"admin": "Beheerder",
|
||||
"caption": "Bekijk gebruiker",
|
||||
"change_password": "Wachtwoord wijzigen",
|
||||
@@ -2441,7 +2390,7 @@
|
||||
"delete_user": "Verwijder gebruiker",
|
||||
"group": "Groep",
|
||||
"id": "ID",
|
||||
"name": "Weergavenaam",
|
||||
"name": "Naam",
|
||||
"new_password": "Nieuw wachtwoord",
|
||||
"owner": "Eigenaar",
|
||||
"password_changed": "Het wachtwoord is gewijzigd!",
|
||||
@@ -2449,24 +2398,19 @@
|
||||
"system_generated_users_not_editable": "Kan door het systeem gegenereerde gebruikers niet bijwerken.",
|
||||
"system_generated_users_not_removable": "Kan door het systeem gegenereerde gebruikers niet verwijderen.",
|
||||
"unnamed_user": "Naamloze gebruiker",
|
||||
"update_user": "Bijwerken",
|
||||
"username": "Gebruikersnaam"
|
||||
"update_user": "Bijwerken"
|
||||
},
|
||||
"picker": {
|
||||
"add_user": "Gebruiker toevoegen",
|
||||
"headers": {
|
||||
"group": "Groep",
|
||||
"is_active": "Actief",
|
||||
"is_owner": "Eigenaar",
|
||||
"name": "Weergavenaam",
|
||||
"system": "Systeem gegenereerd",
|
||||
"username": "Gebruikersnaam"
|
||||
"name": "Naam",
|
||||
"system": "Systeem"
|
||||
}
|
||||
},
|
||||
"users_privileges_note": "Gebruikersgroepen zijn nog in ontwikkeling. De gebruiker kan de instantie niet beheren via de interface. We controleren nog steeds alle beheer API eindpunten om ervoor te zorgen dat ze de toegang tot beheerders correct beperken."
|
||||
},
|
||||
"zha": {
|
||||
"add_device": "Apparaat toevoegen",
|
||||
"add_device_page": {
|
||||
"discovered_text": "Apparaten zullen hier verschijnen zodra ze zijn ontdekt.",
|
||||
"discovery_text": "Gevonden apparaten worden hier weergegeven. Volg de instructies voor je apparaat of apparaten en plaats het apparaat of de apparaten in de koppelingsmodus.",
|
||||
@@ -2512,16 +2456,6 @@
|
||||
"value": "Waarde"
|
||||
},
|
||||
"description": "Zigbee Home Automation netwerkbeheer",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Configuratie voltooid",
|
||||
"CONFIGURED_status_text": "Initialiseren",
|
||||
"INITIALIZED": "Initialisatie voltooid",
|
||||
"INITIALIZED_status_text": "Het apparaat is klaar voor gebruik",
|
||||
"INTERVIEW_COMPLETE": "Interview compleet",
|
||||
"INTERVIEW_COMPLETE_status_text": "Configureren",
|
||||
"PAIRED": "Apparaat gevonden",
|
||||
"PAIRED_status_text": "Start interview"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee Home Automation - Apparaat"
|
||||
},
|
||||
@@ -2537,7 +2471,6 @@
|
||||
"unbind_button_label": "Ontkoppel groep"
|
||||
},
|
||||
"groups": {
|
||||
"add_group": "Groep toevoegen",
|
||||
"add_members": "Leden toevoegen",
|
||||
"adding_members": "Leden toevoegen",
|
||||
"caption": "Groepen",
|
||||
@@ -2580,11 +2513,7 @@
|
||||
"hint_wakeup": "Sommige apparaten, zoals Xiaomi-sensoren hebben een wekknop die je met tussenpozen van 5 seconden kunt indrukken om het apparaat wakker te houden terwijl je ermee communiceert",
|
||||
"introduction": "Voer ZHA-commando's uit die van invloed zijn op een enkel apparaat. Kies een apparaat om een lijst met beschikbare commando's te zien."
|
||||
},
|
||||
"title": "Zigbee Home Automation",
|
||||
"visualization": {
|
||||
"caption": "Visualisatie",
|
||||
"header": "Netwerkvisualisatie"
|
||||
}
|
||||
"title": "Zigbee Home Automation"
|
||||
},
|
||||
"zone": {
|
||||
"add_zone": "Zone toevoegen",
|
||||
@@ -3038,8 +2967,7 @@
|
||||
},
|
||||
"picture-glance": {
|
||||
"description": "De Picture Glance-kaart toont een afbeelding en de bijbehorende entiteitstoestanden als een pictogram. De entiteiten aan de rechterkant staan schakelacties toe, andere tonen het dialoogvenster met meer informatie.",
|
||||
"name": "Afbeelding oogopslag",
|
||||
"state_entity": "Status entiteit"
|
||||
"name": "Afbeelding oogopslag"
|
||||
},
|
||||
"picture": {
|
||||
"description": "Met de Picture-kaart kunt u een afbeelding instellen voor navigatie naar verschillende paden in uw interface of om een service te activeren.",
|
||||
@@ -3250,7 +3178,7 @@
|
||||
"attribute_not_found": "Kenmerk {attribute} niet beschikbaar in: {entity}",
|
||||
"entity_non_numeric": "Entiteit is niet-numeriek: {entity}",
|
||||
"entity_not_found": "Entiteit niet beschikbaar: {entity}",
|
||||
"entity_unavailable": "Entiteit is momenteel niet beschikbaar: {entity}",
|
||||
"entity_unavailable": "{entity} is momenteel niet beschikbaar",
|
||||
"starting": "Home Assistant is aan het opstarten, wellicht is nog niet alles beschikbaar"
|
||||
}
|
||||
},
|
||||
@@ -3451,13 +3379,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Bevestig nieuw wachtwoord",
|
||||
"current_password": "Huidige wachtwoord",
|
||||
"error_new_is_old": "Het nieuwe wachtwoord moet anders zijn dan het huidige wachtwoord",
|
||||
"error_new_mismatch": "Ingevoerde wachtwoordwaarden komen niet overeen",
|
||||
"error_required": "Verplicht",
|
||||
"header": "Wachtwoord wijzigen",
|
||||
"new_password": "Nieuw wachtwoord",
|
||||
"submit": "Verzenden",
|
||||
"success": "Wachtwoord is succesvol veranderd"
|
||||
"submit": "Verzenden"
|
||||
},
|
||||
"current_user": "Je bent momenteel ingelogd als {fullName}.",
|
||||
"customize_sidebar": {
|
||||
|
@@ -2,7 +2,6 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Wpis konfiguracji",
|
||||
"device": "Urządzenie",
|
||||
"integration": "Integracja",
|
||||
"user": "Użytkownik"
|
||||
}
|
||||
@@ -547,8 +546,6 @@
|
||||
"add_new": "Dodaj nowy obszar...",
|
||||
"area": "Obszar",
|
||||
"clear": "Wyczyść",
|
||||
"no_areas": "Nie masz żadnych obszarów",
|
||||
"no_match": "Nie znaleziono pasujących obszarów",
|
||||
"show_areas": "Pokaż obszary"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
@@ -569,8 +566,6 @@
|
||||
"clear": "Wyczyść",
|
||||
"device": "Urządzenie",
|
||||
"no_area": "Brak obszaru",
|
||||
"no_devices": "Nie masz żadnych urządzeń",
|
||||
"no_match": "Nie znaleziono pasujących urządzeń",
|
||||
"show_devices": "Pokaż urządzenia",
|
||||
"toggle": "Przełącz"
|
||||
},
|
||||
@@ -582,7 +577,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "Wyczyść",
|
||||
"entity": "Encja",
|
||||
"no_match": "Nie znaleziono pasujących encji",
|
||||
"show_entities": "Pokaż encje"
|
||||
}
|
||||
},
|
||||
@@ -716,14 +710,6 @@
|
||||
"service-picker": {
|
||||
"service": "Usługa"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Wybierz obszar",
|
||||
"add_device_id": "Wybierz urządzenie",
|
||||
"add_entity_id": "Wybierz encję",
|
||||
"remove_area_id": "Usuń obszar",
|
||||
"remove_device_id": "Usuń urządzenie",
|
||||
"remove_entity_id": "Usuń encję"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Dodaj użytkownika",
|
||||
"no_user": "Brak użytkownika",
|
||||
@@ -747,7 +733,6 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Czy na pewno chcesz usunąć ten wpis?",
|
||||
"delete": "Usuń",
|
||||
"device_disabled": "Urządzenie tej encji jest wyłączone",
|
||||
"enabled_cause": "Wyłączone przez {cause}.",
|
||||
"enabled_delay_confirm": "Włączone encje zostaną dodane do Home Assistanta po {delay} sekundach",
|
||||
"enabled_description": "Wyłączone encje nie będą dostępne w Home Assistant.",
|
||||
@@ -758,7 +743,6 @@
|
||||
"icon_error": "Ikony powinny mieć format 'prefix:iconname', np. 'mdi:home'",
|
||||
"name": "Nazwa",
|
||||
"note": "Uwaga: to może jeszcze nie działać ze wszystkimi integracjami.",
|
||||
"open_device_settings": "Otwórz ustawienia urządzenia",
|
||||
"unavailable": "Ta encja nie jest obecnie dostępna.",
|
||||
"update": "Aktualizuj"
|
||||
},
|
||||
@@ -1046,7 +1030,7 @@
|
||||
"confirmation_text": "Wszystkie urządzenia z tego obszaru pozostaną bez przypisanego obszaru.",
|
||||
"confirmation_title": "Czy na pewno chcesz usunąć ten obszar?"
|
||||
},
|
||||
"description": "Grupuj urządzenia i encje w obszary",
|
||||
"description": "Zarządzaj obszarami w twoim domu",
|
||||
"editor": {
|
||||
"area_id": "Identyfikator obszaru",
|
||||
"create": "Utwórz",
|
||||
@@ -1068,7 +1052,7 @@
|
||||
},
|
||||
"automation": {
|
||||
"caption": "Automatyzacje",
|
||||
"description": "Twórz niestandardowe zasady zachowania w swoim domu",
|
||||
"description": "Zarządzaj automatyzacjami",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Użyj schematu"
|
||||
@@ -1416,15 +1400,15 @@
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Wprowadź adres URL schematu.",
|
||||
"file_name": "Ścieżka do schematu",
|
||||
"header": "Importuj schemat",
|
||||
"import_btn": "Podgląd schematu",
|
||||
"import_header": "Schemat: \"{name}\"",
|
||||
"file_name": "Nazwa lokalnego pliku schematu",
|
||||
"header": "Dodaj nowy schemat",
|
||||
"import_btn": "Importuj schemat",
|
||||
"import_header": "Importuj \"{name}\" (typ: {domain})",
|
||||
"import_introduction": "Możesz importować schematy innych użytkowników z Githuba i forów społecznościowych. Wprowadź poniżej adres URL schematu.",
|
||||
"importing": "Wczytywanie schematu...",
|
||||
"importing": "Importowanie schematu...",
|
||||
"raw_blueprint": "Zawartość schematu",
|
||||
"save_btn": "Importuj schemat",
|
||||
"saving": "Importowanie schematu...",
|
||||
"save_btn": "Zapisz schemat",
|
||||
"saving": "Zapisywanie schematu...",
|
||||
"unsupported_blueprint": "Ten schemat nie jest obsługiwany",
|
||||
"url": "URL schematu"
|
||||
},
|
||||
@@ -1441,8 +1425,8 @@
|
||||
"file_name": "Nazwa pliku",
|
||||
"name": "Nazwa"
|
||||
},
|
||||
"introduction": "Konfiguracja schematów umożliwia ich importowanie i zarządzanie nimi.",
|
||||
"learn_more": "Dowiedz się więcej o używaniu schematów",
|
||||
"introduction": "Edytor schematów pozwala tworzyć i edytować schematy",
|
||||
"learn_more": "Dowiedz się więcej o schematach",
|
||||
"use_blueprint": "Utwórz automatyzację"
|
||||
}
|
||||
},
|
||||
@@ -1526,7 +1510,7 @@
|
||||
"title": "Alexa"
|
||||
},
|
||||
"caption": "Chmura Home Assistant",
|
||||
"description_features": "Sterowanie spoza domu i integracja z Alexą i Asystentem Google.",
|
||||
"description_features": "Sterowanie spoza domu, integracja z Alexą i Asystentem Google.",
|
||||
"description_login": "Zalogowany jako {email}",
|
||||
"description_not_login": "Nie zalogowany",
|
||||
"dialog_certificate": {
|
||||
@@ -1621,7 +1605,7 @@
|
||||
},
|
||||
"core": {
|
||||
"caption": "Ogólne",
|
||||
"description": "System metryczny, lokalizacja, strefa czasowa oraz inne parametry ogólne",
|
||||
"description": "Zmień podstawowe opcje Home Assistanta",
|
||||
"section": {
|
||||
"core": {
|
||||
"core_config": {
|
||||
@@ -1683,7 +1667,6 @@
|
||||
"unknown_condition": "Nieznany warunek"
|
||||
},
|
||||
"create": "Utwórz automatyzację z urządzeniem",
|
||||
"create_disable": "Nie można utworzyć automatyzacji z wyłączonym urządzeniem",
|
||||
"no_automations": "Brak automatyzacji",
|
||||
"no_device_automations": "Brak dostępnych automatyzacji dla tego urządzenia.",
|
||||
"triggers": {
|
||||
@@ -1709,18 +1692,9 @@
|
||||
"no_devices": "Brak urządzeń"
|
||||
},
|
||||
"delete": "Usuń",
|
||||
"description": "Zarządzaj skonfigurowanymi urządzeniami",
|
||||
"description": "Zarządzaj podłączonymi urządzeniami",
|
||||
"device_info": "Informacje o urządzeniu",
|
||||
"device_not_found": "Urządzenie nie zostało znalezione.",
|
||||
"disabled": "Wyłączone",
|
||||
"disabled_by": {
|
||||
"config_entry": "Wpis konfiguracji",
|
||||
"integration": "Integracja",
|
||||
"user": "Użytkownik"
|
||||
},
|
||||
"enabled_cause": "Urządzenie jest wyłączone przez {cause}",
|
||||
"enabled_description": "Wyłączone urządzenia nie będą wyświetlane, a encje do niego należące zostaną wyłączone i nie zostaną dodane do Home Assistanta.",
|
||||
"enabled_label": "Włącz urządzenie",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Dodaj do interfejsu użytkownika Lovelace",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {wyłączona encja}\n few {wyłączone encje}\n many {wyłączonych encji}\n other {wyłączonych encji}\n}",
|
||||
@@ -1730,25 +1704,14 @@
|
||||
},
|
||||
"name": "Nazwa",
|
||||
"no_devices": "Brak urządzeń",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filtr",
|
||||
"hidden_devices": "{number} {number, plural,\n one {ukryte urządzenie}\n few {ukryte urządzenia}\n many {ukrytych urządzeń}\n other {ukrytych urządzeń}\n}",
|
||||
"show_all": "Pokaż wszystkie",
|
||||
"show_disabled": "Pokaż wyłączone urządzenia"
|
||||
},
|
||||
"search": "Wyszukiwanie urządzeń"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Utwórz scenę z urządzeniem",
|
||||
"create_disable": "Nie można utworzyć sceny z wyłączonym urządzeniem",
|
||||
"no_scenes": "Brak scen",
|
||||
"scenes": "Sceny"
|
||||
},
|
||||
"scenes": "Sceny",
|
||||
"script": {
|
||||
"create": "Utwórz skrypt z urządzeniem",
|
||||
"create_disable": "Nie można utworzyć skryptu z wyłączonym urządzeniem",
|
||||
"no_scripts": "Brak skryptów",
|
||||
"scripts": "Skrypty"
|
||||
},
|
||||
@@ -1781,7 +1744,6 @@
|
||||
},
|
||||
"header": "Rejestr encji",
|
||||
"headers": {
|
||||
"area": "Obszar",
|
||||
"entity_id": "Identyfikator encji",
|
||||
"integration": "Integracja",
|
||||
"name": "Nazwa",
|
||||
@@ -1814,7 +1776,7 @@
|
||||
"header": "Konfiguruj Home Assistanta",
|
||||
"helpers": {
|
||||
"caption": "Pomocnicy",
|
||||
"description": "Elementy, które pomagają w tworzeniu automatyzacji",
|
||||
"description": "Zarządzaj elementami, które pomagają w tworzeniu automatyzacji",
|
||||
"dialog": {
|
||||
"add_helper": "Dodaj pomocnika",
|
||||
"add_platform": "Dodaj {platform}",
|
||||
@@ -1846,7 +1808,7 @@
|
||||
"copy_github": "Dla GitHuba",
|
||||
"copy_raw": "Tekst",
|
||||
"custom_uis": "Niestandardowe interfejsy użytkownika:",
|
||||
"description": "Wersja, kondycja systemu i linki do dokumentacji",
|
||||
"description": "Informacje o instalacji Home Assistanta",
|
||||
"developed_by": "Opracowany przez grono wspaniałych ludzi.",
|
||||
"documentation": "Dokumentacja",
|
||||
"frontend": "frontend-ui",
|
||||
@@ -1912,7 +1874,7 @@
|
||||
"delete": "Usuń",
|
||||
"delete_button": "Usuń {integration}",
|
||||
"delete_confirm": "Czy na pewno chcesz usunąć tę integrację?",
|
||||
"device_unavailable": "Urządzenie niedostępne",
|
||||
"device_unavailable": "urządzenie niedostępne",
|
||||
"devices": "{count} {count, plural,\n one {urządzenie}\n few {urządzenia}\n many {urządzeń}\n other {urządzeń}\n}",
|
||||
"documentation": "Dokumentacja",
|
||||
"entities": "{count} {count, plural,\n one {encja}\n few {encje}\n many {encji}\n other {encji}\n}",
|
||||
@@ -1952,7 +1914,7 @@
|
||||
},
|
||||
"configure": "Konfiguruj",
|
||||
"configured": "Skonfigurowane",
|
||||
"description": "Zarządzaj integracjami z usługami, urządzeniami, ...",
|
||||
"description": "Zarządzaj integracjami",
|
||||
"details": "Szczegóły integracji",
|
||||
"discovered": "Wykryte",
|
||||
"home_assistant_website": "Home Assistant",
|
||||
@@ -2037,7 +1999,7 @@
|
||||
"open": "Otwórz"
|
||||
}
|
||||
},
|
||||
"description": "Twórz niestandardowe zestawy kart do sterowania domem",
|
||||
"description": "Zarządzaj dashboardami interfejsu użytkownika Lovelace",
|
||||
"resources": {
|
||||
"cant_edit_yaml": "Korzystasz z interfejsu użytkownika Lovelace w trybie YAML, dlatego nie możesz zarządzać zasobami za pomocą interfejsu użytkownika. Zarządzaj nimi w pliku configuration.yaml.",
|
||||
"caption": "Zasoby",
|
||||
@@ -2236,7 +2198,7 @@
|
||||
"scene": {
|
||||
"activated": "Aktywowana scena {name}.",
|
||||
"caption": "Sceny",
|
||||
"description": "Przechwytuj stany urządzeń i łatwo przywołuj je później",
|
||||
"description": "Zarządzaj scenami",
|
||||
"editor": {
|
||||
"default_name": "Nowa scena",
|
||||
"devices": {
|
||||
@@ -2280,7 +2242,7 @@
|
||||
},
|
||||
"script": {
|
||||
"caption": "Skrypty",
|
||||
"description": "Wykonywanie sekwencji akcji",
|
||||
"description": "Zarządzaj skryptami",
|
||||
"editor": {
|
||||
"alias": "Nazwa",
|
||||
"default_name": "Nowy skrypt",
|
||||
@@ -2391,7 +2353,7 @@
|
||||
"confirm_remove": "Czy na pewno chcesz usunąć tag {tag}?",
|
||||
"confirm_remove_title": "Usunąć tag?",
|
||||
"create_automation": "Utwórz automatyzację z tagiem",
|
||||
"description": "Uruchamiaj automatyzacje po zeskanowaniu tagu NFC, kodu QR, itp",
|
||||
"description": "Zarządzaj tagami",
|
||||
"detail": {
|
||||
"companion_apps": "aplikacji towarzyszącej",
|
||||
"create": "Utwórz",
|
||||
@@ -2426,11 +2388,10 @@
|
||||
"username": "Nazwa użytkownika"
|
||||
},
|
||||
"caption": "Użytkownicy",
|
||||
"description": "Zarządzaj kontami użytkowników Home Assistanta",
|
||||
"description": "Zarządzaj użytkownikami",
|
||||
"editor": {
|
||||
"activate_user": "Aktywuj użytkownika",
|
||||
"active": "Aktywny",
|
||||
"active_tooltip": "Określa, czy użytkownik może się zalogować",
|
||||
"admin": "Administrator",
|
||||
"caption": "Wyświetl użytkownika",
|
||||
"change_password": "Zmień hasło",
|
||||
@@ -2510,16 +2471,6 @@
|
||||
"value": "Wartość"
|
||||
},
|
||||
"description": "Zarządzanie siecią Zigbee Home Automation",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Konfigurowanie zakończona",
|
||||
"CONFIGURED_status_text": "Inicjalizacja",
|
||||
"INITIALIZED": "Inicjalizacja zakończona",
|
||||
"INITIALIZED_status_text": "Urządzenie jest gotowe do użycia",
|
||||
"INTERVIEW_COMPLETE": "Odpytywanie zakończone",
|
||||
"INTERVIEW_COMPLETE_status_text": "Konfigurowanie",
|
||||
"PAIRED": "Znaleziono urządzenie",
|
||||
"PAIRED_status_text": "Rozpoczęcie odpytywania"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee Home Automation - urządzenie"
|
||||
},
|
||||
@@ -3449,13 +3400,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Potwierdź nowe hasło",
|
||||
"current_password": "Bieżące hasło",
|
||||
"error_new_is_old": "Nowe hasło musi być inne niż obecne hasło",
|
||||
"error_new_mismatch": "Wprowadzone nowe hasła nie są zgodne",
|
||||
"error_required": "Wymagane",
|
||||
"header": "Zmień hasło",
|
||||
"new_password": "Nowe hasło",
|
||||
"submit": "Zatwierdź",
|
||||
"success": "Hasło zostało pomyślnie zmienione"
|
||||
"submit": "Zatwierdź"
|
||||
},
|
||||
"current_user": "Jesteś obecnie zalogowany jako {fullName}.",
|
||||
"customize_sidebar": {
|
||||
|
@@ -2,13 +2,11 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Editar configuração",
|
||||
"device": "Dispositivo",
|
||||
"integration": "Integração",
|
||||
"user": "Utilizador"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"owner": "Proprietário",
|
||||
"system-admin": "Administradores",
|
||||
"system-read-only": "Utilizadores só com permissões de leitura",
|
||||
"system-users": "Utilizadores"
|
||||
@@ -547,15 +545,8 @@
|
||||
"add_new": "Adicionar nova área…",
|
||||
"area": "Área",
|
||||
"clear": "Limpar",
|
||||
"no_areas": "Você não tem nenhuma área",
|
||||
"no_match": "Nenhuma área correspondente encontrada",
|
||||
"show_areas": "Mostrar áreas"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
"add_user": "Adicionar um utilizador",
|
||||
"remove_user": "Remover utilizador",
|
||||
"select_blueprint": "Escolhe um projeto"
|
||||
},
|
||||
"data-table": {
|
||||
"no-data": "Dados do evento",
|
||||
"search": "Procurar"
|
||||
@@ -569,8 +560,6 @@
|
||||
"clear": "Apagar",
|
||||
"device": "Dispositivo",
|
||||
"no_area": "Sem área",
|
||||
"no_devices": "Você não tem nenhum dispositivo",
|
||||
"no_match": "Nenhum dispositivo correspondente encontrado",
|
||||
"show_devices": "Mostrar dispositivos",
|
||||
"toggle": "Alternar"
|
||||
},
|
||||
@@ -582,7 +571,6 @@
|
||||
"entity-picker": {
|
||||
"clear": "Limpar",
|
||||
"entity": "Entidade",
|
||||
"no_match": "Nenhuma entidade correspondente encontrada",
|
||||
"show_entities": "Mostrar entidades"
|
||||
}
|
||||
},
|
||||
@@ -694,13 +682,13 @@
|
||||
"second": "{count} {count, plural,\n one {segundo}\n other {segundos}\n}",
|
||||
"week": "{count} {count, plural,\n one {semana}\n other {semanas}\n}"
|
||||
},
|
||||
"future": "Em {time}",
|
||||
"future": "Há {time}",
|
||||
"future_duration": {
|
||||
"day": "Dentro de {count} {count, plural,\n one {dia}\n other {dias}\n}",
|
||||
"hour": "Dentro de {count} {count, plural,\n one {hora}\n other {horas}\n}",
|
||||
"minute": "Dentro de {count} {count, plural,\n one {minuto}\n other {minutos}\n}",
|
||||
"day": "In {count} {count, plural,\n one {dia}\n other {dias}\n}",
|
||||
"hour": "In {count} {count, plural,\n one {hora}\n other {horas}\n}",
|
||||
"minute": "In {count} {count, plural,\n one {minuto}\n other {minutos}\n}",
|
||||
"second": "In {count} {count, plural,\n one {segundo}\n other {segundos}\n}",
|
||||
"week": "Dentro de {count} {count, plural,\n one {semana}\n other {semanas}\n}"
|
||||
"week": "In {count} {count, plural,\n one {semana}\n other {semanas}\n}"
|
||||
},
|
||||
"just_now": "Agora mesmo",
|
||||
"never": "Nunca",
|
||||
@@ -716,16 +704,6 @@
|
||||
"service-picker": {
|
||||
"service": "Serviço"
|
||||
},
|
||||
"target-picker": {
|
||||
"add_area_id": "Escolha a área",
|
||||
"add_device_id": "Escolha o dispositivo",
|
||||
"add_entity_id": "Escolher entidade",
|
||||
"expand_area_id": "Expandir esta área nos dispositivos e entidades separadas que ela contém. Após a expansão não atualizará os dispositivos e entidades quando a área mudar.",
|
||||
"expand_device_id": "Expandir este dispositivo em entidades separadas. Após a expansão não atualizará as entidades quando o dispositivo mudar.",
|
||||
"remove_area_id": "Remover área",
|
||||
"remove_device_id": "Remover dispositivo",
|
||||
"remove_entity_id": "Remover entidade"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Adicionar Utilizador",
|
||||
"no_user": "Nenhum utilizador",
|
||||
@@ -749,23 +727,20 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Tem certeza de que deseja apagar esta entrada?",
|
||||
"delete": "Apagar",
|
||||
"device_disabled": "O dispositivo desta entidade está desativado.",
|
||||
"enabled_cause": "Desativado por {cause}.",
|
||||
"enabled_delay_confirm": "As entidades ativadas serão adicionadas ao Home Assistant em {delay} segundos",
|
||||
"enabled_description": "Entidades desativadas não serão adicionadas ao Home Assistant.",
|
||||
"enabled_label": "Ativar entidade",
|
||||
"enabled_restart_confirm": "Reinicie o Home Assistant para ativar as entidades",
|
||||
"entity_id": "Identificação da entidade",
|
||||
"icon": "Ícone",
|
||||
"icon": "Substituição do ícone",
|
||||
"icon_error": "Os ícones devem estar no formato 'prefixo:nome do ícone', por exemplo 'mdi:home'.",
|
||||
"name": "Nome",
|
||||
"name": "Substituição do nome",
|
||||
"note": "Nota: isto pode ainda não funcionar com todas as integrações.",
|
||||
"open_device_settings": "Abrir configurações do dispositivo",
|
||||
"unavailable": "Esta entidade não está atualmente disponível.",
|
||||
"update": "Atualizar"
|
||||
},
|
||||
"faq": "Documentação",
|
||||
"no_unique_id": "Esta entidade (\"{entity_id}\") não tem uma identificação única, portanto suas configurações não podem ser geridas a partir da UI. Para mais informações, ver {faq_link}.",
|
||||
"no_unique_id": "Esta entidade não tem uma identificação única, portanto suas configurações não podem ser geridas a partir da UI. Para mais informações, ver {faq_link}.",
|
||||
"related": "Relacionadas",
|
||||
"settings": "Definições"
|
||||
},
|
||||
@@ -780,7 +755,6 @@
|
||||
"initial": "Valor inicial",
|
||||
"maximum": "Valor máximo",
|
||||
"minimum": "Valor mínimo",
|
||||
"restore": "Restaurar o último valor conhecido quando o Home Assistant inicia",
|
||||
"step": "Tamanho do passo"
|
||||
},
|
||||
"generic": {
|
||||
@@ -829,11 +803,8 @@
|
||||
"more_info_control": {
|
||||
"controls": "Controlos",
|
||||
"cover": {
|
||||
"close_cover": "Fechar estore/persiana",
|
||||
"close_tile_cover": "Fechar inclinação do estore",
|
||||
"open_cover": "Abrir estore/persiana",
|
||||
"open_tilt_cover": "Abrir inclinação do estore",
|
||||
"stop_cover": "Impedir que estore/persiana se mova"
|
||||
"close_cover": "Fechar a capa",
|
||||
"open_cover": "Abrir capa"
|
||||
},
|
||||
"details": "Detalhes",
|
||||
"dismiss": "Descartar diálogo",
|
||||
@@ -901,7 +872,6 @@
|
||||
"navigation": {
|
||||
"areas": "Áreas",
|
||||
"automation": "Automação",
|
||||
"blueprint": "Projecto",
|
||||
"core": "Geral",
|
||||
"customize": "Personalização",
|
||||
"devices": "Dispositivos",
|
||||
@@ -1071,20 +1041,6 @@
|
||||
"automation": {
|
||||
"caption": "Automação",
|
||||
"description": "Gerir Automações",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Utilize o projeto"
|
||||
},
|
||||
"header": "Criar uma automatização",
|
||||
"how": "Como quer criar uma automatização?",
|
||||
"start_empty": "Começar com uma automatização vazia",
|
||||
"thingtalk": {
|
||||
"create": "Criar",
|
||||
"header": "Descreva a automatização que pretende criar",
|
||||
"input_label": "O que deve fazer esta automatização?",
|
||||
"intro": "E nós vamos tentar criar por ti. Por exemplo: Desliga as luzes quando eu sair."
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"actions": {
|
||||
"add": "Adicionar ação",
|
||||
@@ -1165,14 +1121,6 @@
|
||||
"unsupported_action": "Ação não suportada: {action}"
|
||||
},
|
||||
"alias": "Nome",
|
||||
"blueprint": {
|
||||
"blueprint_to_use": "Projeto a usar",
|
||||
"header": "Projeto",
|
||||
"inputs": "Entrada",
|
||||
"manage_blueprints": "Gerir projetos",
|
||||
"no_blueprints": "Tu nao tens nenhum projeto",
|
||||
"no_inputs": "Este projeto não tem nenhuma entrada"
|
||||
},
|
||||
"conditions": {
|
||||
"add": "Acrescentar condição",
|
||||
"delete": "Apagar",
|
||||
@@ -1258,7 +1206,7 @@
|
||||
"edit_ui": "Editar com IU",
|
||||
"edit_yaml": "Editar como YAML",
|
||||
"enable_disable": "Habilitar/desabilitar automação",
|
||||
"introduction": "Utilize automações para dar vida à sua casa",
|
||||
"introduction": "Crie automações para dar vida à sua casa",
|
||||
"load_error_not_editable": "Apenas as automações em automations.yaml são editáveis.",
|
||||
"load_error_unknown": "Erro ao carregar a automação ({err_no}).",
|
||||
"max": {
|
||||
@@ -1300,7 +1248,6 @@
|
||||
"event": {
|
||||
"context_user_pick": "Selecionar o utilizador",
|
||||
"context_user_picked": "Evento do utilizador",
|
||||
"context_users": "Limite a eventos desencadeados por",
|
||||
"event_data": "Dados do evento",
|
||||
"event_type": "Tipo de evento",
|
||||
"label": "Evento"
|
||||
@@ -1401,52 +1348,16 @@
|
||||
"thingtalk": {
|
||||
"create": "Criar automação",
|
||||
"link_devices": {
|
||||
"ambiguous_entities": "Um ou mais dispositivos têm mais do que uma entidade correspondente, por favor escolha aquela que pretende utilizar.",
|
||||
"header": "Ótimo! Agora precisamos conectar alguns dispositivos",
|
||||
"unknown_placeholder": "placeholder desconhecido"
|
||||
"header": "Ótimo! Agora precisamos conectar alguns dispositivos"
|
||||
},
|
||||
"task_selection": {
|
||||
"error_empty": "Entre um comando ou salte este passo.",
|
||||
"error_unsupported": "Não conseguimos (ainda?) criar uma automação para isso.",
|
||||
"for_example": "Por exemplo:",
|
||||
"header": "Criar uma nova automação",
|
||||
"introduction": "Digite abaixo o que esta automação deve fazer, e nós tentaremos convertê-la em uma automação Home Assistant.",
|
||||
"language_note": "Nota: Por enquanto, apenas o inglês é suportado."
|
||||
}
|
||||
}
|
||||
},
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"error_no_url": "Por favor introduza o URL do projeto",
|
||||
"file_name": "Caminho do projeto",
|
||||
"header": "Importar a receita",
|
||||
"import_btn": "Importar projeto",
|
||||
"import_header": "Receita \"{name}\"",
|
||||
"import_introduction": "Você pode importar projetos de outros utilizadores pelo Github e pelo fórum da comunidade. introduza o URL do projeto abaixo",
|
||||
"importing": "A importar projeto...",
|
||||
"raw_blueprint": "Conteúdo do projeto",
|
||||
"saving": "A importar projeto...",
|
||||
"unsupported_blueprint": "Projeto não suportado",
|
||||
"url": "URL do projeto"
|
||||
},
|
||||
"caption": "Projeto",
|
||||
"description": "Gerir projeto",
|
||||
"overview": {
|
||||
"add_blueprint": "Importar projeto",
|
||||
"confirm_delete_header": "Apagar projeto",
|
||||
"confirm_delete_text": "Tem a certeza que pretende apagar este projeto?",
|
||||
"delete_blueprint": "Excluir projeto",
|
||||
"header": "Editor de projetos",
|
||||
"headers": {
|
||||
"domain": "Domínio",
|
||||
"file_name": "Nome do ficheiro",
|
||||
"name": "Nome"
|
||||
},
|
||||
"introduction": "Este editor de projetos permite criar e editar projetos.",
|
||||
"learn_more": "Aprenda mais sobre projetos",
|
||||
"use_blueprint": "Criar automação"
|
||||
}
|
||||
},
|
||||
"cloud": {
|
||||
"account": {
|
||||
"alexa": {
|
||||
@@ -1684,13 +1595,10 @@
|
||||
"unknown_condition": "Condição desconhecida"
|
||||
},
|
||||
"create": "Criar automação com dispositivo",
|
||||
"create_disable": "Não é possível criar a automação com um dispositivo desativado",
|
||||
"no_automations": "Sem automações",
|
||||
"no_device_automations": "Não há automações disponíveis para este dispositivo.",
|
||||
"triggers": {
|
||||
"caption": "Fazer alguma coisa quando...",
|
||||
"no_triggers": "Sem acionadores",
|
||||
"unknown_trigger": "Acionador desconhecido"
|
||||
"caption": "Fazer alguma coisa quando..."
|
||||
},
|
||||
"unknown_automation": "Automação desconhecida"
|
||||
},
|
||||
@@ -1710,18 +1618,9 @@
|
||||
"no_devices": "Sem dispositivos"
|
||||
},
|
||||
"delete": "Apagar",
|
||||
"description": "Gerir dispositivos configurados",
|
||||
"description": "Gerir dispositivos ligados",
|
||||
"device_info": "Informação do dispositivo",
|
||||
"device_not_found": "Dispositivo não encontrado.",
|
||||
"disabled": "Desativado",
|
||||
"disabled_by": {
|
||||
"config_entry": "",
|
||||
"integration": "Integração",
|
||||
"user": "Utilizador"
|
||||
},
|
||||
"enabled_cause": "O dispositivo foi desativado por {cause} .",
|
||||
"enabled_description": "Os dispositivos desativados não serão mostrados e as entidades pertencentes ao dispositivo serão desactivadas e não serão adicionadas ao Home Assistant.",
|
||||
"enabled_label": "Ativar dispositivo",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Adicionar ao Lovelace",
|
||||
"disabled_entities": "+{count} {count, plural,\n one {entidade inactiva}\n other {entidades inactivas}\n}",
|
||||
@@ -1731,25 +1630,14 @@
|
||||
},
|
||||
"name": "Nome",
|
||||
"no_devices": "Sem dispositivos",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filtro",
|
||||
"hidden_devices": "{number} dispositivo/s {number, plural,\n one {escondido}\n other {escondidos}\n}",
|
||||
"show_all": "Mostrar tudo",
|
||||
"show_disabled": "Mostrar entidades desativadas"
|
||||
},
|
||||
"search": "Pesquisar dispositivos"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Criar cena com o dispositivo",
|
||||
"create_disable": "Não é possível criar cenarios com o dispositivo desativado",
|
||||
"no_scenes": "Sem cenários",
|
||||
"scenes": "Cenas"
|
||||
},
|
||||
"scenes": "Cenas",
|
||||
"script": {
|
||||
"create": "Criar script com o dispositivo",
|
||||
"create_disable": "Não é possível criar o script com um dispositivo desativado",
|
||||
"no_scripts": "Sem scripts",
|
||||
"scripts": "Scripts"
|
||||
},
|
||||
@@ -1765,12 +1653,12 @@
|
||||
"disable_selected": {
|
||||
"button": "Desativar seleção",
|
||||
"confirm_text": "Entidades desativadas não serão adicionadas ao Home Assistant.",
|
||||
"confirm_title": "Quer desativar {number} {number, plural,\n one {entity}\n other {entities}\n}?"
|
||||
"confirm_title": "Deseja desativar {number} entidades?"
|
||||
},
|
||||
"enable_selected": {
|
||||
"button": "Ativar seleção ",
|
||||
"confirm_text": "Assim ficarão disponíveis no Home Assistant caso actualmente estejam desactivados.",
|
||||
"confirm_title": "Deseja ativar {number} {number, plural,\n one {entidade}\n other {entidades}\n}?"
|
||||
"confirm_title": "Deseja ativar {number} entidades?"
|
||||
},
|
||||
"filter": {
|
||||
"filter": "Filtro",
|
||||
@@ -1782,7 +1670,6 @@
|
||||
},
|
||||
"header": "Entidades",
|
||||
"headers": {
|
||||
"area": "Área",
|
||||
"entity_id": "ID da Entidade",
|
||||
"integration": "Integração",
|
||||
"name": "Nome",
|
||||
@@ -1795,7 +1682,7 @@
|
||||
"confirm_partly_text": "Você pode remover apenas {removable} das {selected} entidades selecionadas. As entidades só podem ser removidas quando a integração deixar de suportá-las. Por vezes é necessário reiniciar o Home Assistant antes de poder remover as entidades de uma integração removida. Tem a certeza de que deseja remover as entidades removíveis?",
|
||||
"confirm_partly_title": "Apenas {number} {number, plural,\n uma {selected entity} pode ser removida \n outras {selected entities} podem ser removidas \n}.",
|
||||
"confirm_text": "Deve remover da configuração do Lovelace e das automações se contêm estas entidades",
|
||||
"confirm_title": "Deseja remover {number} {number, plural,\n one {entidade}\n other {entidades}\n}?"
|
||||
"confirm_title": "Deseja remover {number} entidades?"
|
||||
},
|
||||
"search": "Procurar entidades",
|
||||
"selected": "Selecionou {number}",
|
||||
@@ -1845,7 +1732,6 @@
|
||||
"built_using": "Construído com",
|
||||
"caption": "Informação",
|
||||
"copy_github": "Para GitHub",
|
||||
"copy_raw": "Texto simples",
|
||||
"custom_uis": "IUs personalizados:",
|
||||
"description": "Ver informações sobre a instalação do Home Assistant",
|
||||
"developed_by": "Desenvolvido por um punhado de pessoas incríveis.",
|
||||
@@ -1870,7 +1756,6 @@
|
||||
"can_reach_cloud_auth": "Ligar ao servidor de autenticação",
|
||||
"google_enabled": "Google ativo",
|
||||
"logged_in": "Ligado em",
|
||||
"relayer_connected": "Intermediário Ligado",
|
||||
"remote_connected": "Ligado remotamente",
|
||||
"remote_enabled": "Remoto ativo",
|
||||
"subscription_expiration": "Validade da Subscrição"
|
||||
@@ -1953,9 +1838,9 @@
|
||||
},
|
||||
"configure": "Configurar",
|
||||
"configured": "Configurado",
|
||||
"description": "Gerir integrações com serviços, dispositivos, ...",
|
||||
"description": "Gerir integrações",
|
||||
"details": "Detalhes da integração",
|
||||
"discovered": "Descoberto",
|
||||
"discovered": "Detetados",
|
||||
"home_assistant_website": "Site do Home Assistant ",
|
||||
"ignore": {
|
||||
"confirm_delete_ignore": "Isto fará com que a integração volte a aparecer nas suas integrações descobertas, quando for descoberta. Isto pode requerer um reinício ou demorar algum tempo.",
|
||||
@@ -2095,7 +1980,6 @@
|
||||
"network": "Rede",
|
||||
"node_id": "ID de nó",
|
||||
"ozw_instance": "Instância OpenZWave",
|
||||
"query_stage": "Fase de consulta",
|
||||
"wakeup_instructions": "Instruções ao acordar",
|
||||
"zwave": "Z-Wave"
|
||||
},
|
||||
@@ -2106,10 +1990,6 @@
|
||||
},
|
||||
"navigation": {
|
||||
"network": "Rede",
|
||||
"node": {
|
||||
"config": "Configuração",
|
||||
"dashboard": "Painel de instrumentos"
|
||||
},
|
||||
"nodes": "Nós",
|
||||
"select_instance": "Selecione a instância"
|
||||
},
|
||||
@@ -2138,15 +2018,6 @@
|
||||
"introduction": "Gerir funções de rede.",
|
||||
"node_count": "{count} nós"
|
||||
},
|
||||
"node_config": {
|
||||
"header": "Configuração do Nó",
|
||||
"help_source": "As descrições dos parâmetros de configuração e o texto de ajuda são fornecidos pelo projeto OpenZWave.",
|
||||
"introduction": "Administrar os diferentes parâmetros de configuração para um nó Z-Wave.",
|
||||
"wakeup_help": "Os nós alimentados por bateria devem estar acordados para mudar a sua configuração. Se o nó não estiver acordado, o OpenZWave irá tentar atualizar a configuração do nó da próxima vez que ele acordar, o que pode acontecer horas (ou dias) depois. Siga estes passos para acordar o seu dispositivo:"
|
||||
},
|
||||
"node_metadata": {
|
||||
"product_manual": "Manual do produto"
|
||||
},
|
||||
"node_query_stages": {
|
||||
"associations": "Refrescando grupos de associação e membros",
|
||||
"cacheload": "Carregando informações do arquivo de cache do OpenZWave. Os nós da bateria permanecerão nesta fase até que o nó acorde.",
|
||||
@@ -2237,7 +2108,7 @@
|
||||
"scene": {
|
||||
"activated": "Ativar cena {name}.",
|
||||
"caption": "Cenários",
|
||||
"description": "Capture os estados dos dispositivos e facilmente recupere os mesmos mais tarde",
|
||||
"description": "Gerir cenários",
|
||||
"editor": {
|
||||
"default_name": "Nova Cena",
|
||||
"devices": {
|
||||
@@ -2255,7 +2126,7 @@
|
||||
"without_device": "Entidades sem dispositivo"
|
||||
},
|
||||
"icon": "Ícone",
|
||||
"introduction": "Utilize cenários para dar vida à sua casa.",
|
||||
"introduction": "Crie cenários para dar vida à sua casa.",
|
||||
"load_error_not_editable": "Apenas cenários em scenes.yaml são editáveis.",
|
||||
"load_error_unknown": "Erro ao carregar cena ({err_no}).",
|
||||
"name": "Nome",
|
||||
@@ -2392,7 +2263,7 @@
|
||||
"confirm_remove": "Tens a certeza que queres remover a etiqueta {tag}?",
|
||||
"confirm_remove_title": "Remover a etiqueta?",
|
||||
"create_automation": "Criar automação com etiqueta",
|
||||
"description": "Acionar automatizações quando uma tag NFC, código QR, etc. é lido.",
|
||||
"description": "Gerir etiquetas",
|
||||
"detail": {
|
||||
"companion_apps": "Aplicações de dispositivos móveis",
|
||||
"create": "Criar",
|
||||
@@ -2411,7 +2282,6 @@
|
||||
"last_scanned": "Última ocorrência",
|
||||
"name": "Nome"
|
||||
},
|
||||
"learn_more": "Saiba mais sobre tags",
|
||||
"never_scanned": "Nunca lido",
|
||||
"no_tags": "Sem etiquetas",
|
||||
"write": "Escrever"
|
||||
@@ -2431,7 +2301,6 @@
|
||||
"editor": {
|
||||
"activate_user": "Ativar utilizador",
|
||||
"active": "Ativo",
|
||||
"active_tooltip": "Controla se o utilizador pode fazer login",
|
||||
"admin": "Administrador",
|
||||
"caption": "Ver utilizador",
|
||||
"change_password": "Alterar palavra-passe",
|
||||
@@ -2440,7 +2309,7 @@
|
||||
"delete_user": "Apagar utilizador",
|
||||
"group": "Grupo",
|
||||
"id": "ID",
|
||||
"name": "Nome em Exibição",
|
||||
"name": "Nome",
|
||||
"new_password": "Nova senha",
|
||||
"owner": "Proprietário",
|
||||
"password_changed": "A senha foi alterada com sucesso",
|
||||
@@ -2448,24 +2317,19 @@
|
||||
"system_generated_users_not_editable": "Não foi possível atualizar os utilizadores gerados pelo sistema.",
|
||||
"system_generated_users_not_removable": "Não é possível remover utilizadores gerados pelo sistema.",
|
||||
"unnamed_user": "Utilizador sem nome",
|
||||
"update_user": "Atualizar",
|
||||
"username": "Nome de Utilizador"
|
||||
"update_user": "Atualizar"
|
||||
},
|
||||
"picker": {
|
||||
"add_user": "Adicionar Utilizador",
|
||||
"headers": {
|
||||
"group": "Grupo",
|
||||
"is_active": "Ativo",
|
||||
"is_owner": "Proprietário",
|
||||
"name": "Nome em Exibição",
|
||||
"system": "Gerado pelo sistema",
|
||||
"username": "Nome de Utilizador"
|
||||
"name": "Nome",
|
||||
"system": "Sistema"
|
||||
}
|
||||
},
|
||||
"users_privileges_note": "O grupo de utilizadores é um trabalho em progresso. O utilizador não poderá administrar a instância por meio da interface de utilizador. Ainda estamos a auditar todos os endpoints da API de gestão para garantir que eles limitam corretamente o acesso aos administradores."
|
||||
},
|
||||
"zha": {
|
||||
"add_device": "Adicionar Dispositivo",
|
||||
"add_device_page": {
|
||||
"discovered_text": "Os dispositivos aparecem aqui uma vez descobertos.",
|
||||
"discovery_text": "Os dispositivos descobertos aparecerão aqui. Siga as instruções para o(s) seu(s) dispositivo(s) e coloque o(s) dispositivo(s) em modo de emparelhamento.",
|
||||
@@ -2511,16 +2375,6 @@
|
||||
"value": "Valor"
|
||||
},
|
||||
"description": "Gestão de rede Zigbee Home Automation",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Configuração Completa",
|
||||
"CONFIGURED_status_text": "A inicializar",
|
||||
"INITIALIZED": "Inicialização completa",
|
||||
"INITIALIZED_status_text": "O dispositivo está pronto para uso",
|
||||
"INTERVIEW_COMPLETE": "Entrevista Completa",
|
||||
"INTERVIEW_COMPLETE_status_text": "Configurando",
|
||||
"PAIRED": "Dispositivo encontrado",
|
||||
"PAIRED_status_text": "A iniciar entrevista"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee Home Automation - Dispositivo"
|
||||
},
|
||||
@@ -2536,7 +2390,6 @@
|
||||
"unbind_button_label": "Desvincular grupo"
|
||||
},
|
||||
"groups": {
|
||||
"add_group": "Adicionar grupo",
|
||||
"add_members": "Adicionar membros",
|
||||
"adding_members": "A Adicionar membros",
|
||||
"caption": "Grupos",
|
||||
@@ -2579,11 +2432,7 @@
|
||||
"hint_wakeup": "Alguns dispositivos, como os sensores Xiaomi, têm um botão de ativação que você pode pressionar em intervalos de ~ 5 segundos para manter os dispositivos acordados enquanto você interage com eles.",
|
||||
"introduction": "Execute comandos ZHA que afetem um único dispositivo. Escolha um dispositivo para ver uma lista de comandos disponíveis."
|
||||
},
|
||||
"title": "Automação residencial zigbee",
|
||||
"visualization": {
|
||||
"caption": "Visualização",
|
||||
"header": "Visualização de rede"
|
||||
}
|
||||
"title": "Automação residencial zigbee"
|
||||
},
|
||||
"zone": {
|
||||
"add_zone": "Adicionar zona",
|
||||
@@ -2773,7 +2622,6 @@
|
||||
"reset": "Redefinir para modelo de demonstração",
|
||||
"result_type": "Tipo de resultado",
|
||||
"template_extensions": "Extensões de templates do Home Assistant",
|
||||
"time": "Este modelo atualiza ao início de cada minuto",
|
||||
"title": "Template",
|
||||
"unknown_error_template": "Erro desconhecido ao processar o template"
|
||||
}
|
||||
@@ -2840,7 +2688,7 @@
|
||||
}
|
||||
},
|
||||
"changed_toast": {
|
||||
"message": "A configuração do Lovelace foi atualizada para este painel, gostaria de atualizar para verificar as alterações?",
|
||||
"message": "A configuração do Lovelace foi atualizada para este painel, gostaria de atualizar?",
|
||||
"refresh": "Atualizar"
|
||||
},
|
||||
"editor": {
|
||||
@@ -2982,7 +2830,6 @@
|
||||
"name": "Relance"
|
||||
},
|
||||
"grid": {
|
||||
"description": "O cartão em Grelha permite mostrar vários cartões numa grelha.",
|
||||
"name": "Grelha"
|
||||
},
|
||||
"history-graph": {
|
||||
@@ -3005,10 +2852,6 @@
|
||||
"description": "O cartão Luz permite alterar o brilho da luz.",
|
||||
"name": "Luz"
|
||||
},
|
||||
"logbook": {
|
||||
"description": "O cartão dos registos mostra a lista de eventos para as entidades",
|
||||
"name": "Registos"
|
||||
},
|
||||
"map": {
|
||||
"dark_mode": "Modo escuro?",
|
||||
"default_zoom": "Zoom padrão",
|
||||
@@ -3037,8 +2880,7 @@
|
||||
},
|
||||
"picture-glance": {
|
||||
"description": "O cartão Vista de imagem mostra uma imagem e os estados das entidades correspondentes como um ícone. As entidades do lado direito permitem alternar ações, outras mostram a opção mais informações.",
|
||||
"name": "Vista sobre imagem",
|
||||
"state_entity": "Estado da entidade"
|
||||
"name": "Vista sobre imagem"
|
||||
},
|
||||
"picture": {
|
||||
"description": "O cartão de imagem permite definir uma imagem a ser usada para navegação em vários pontos na sua interface ou para chamar um serviço.",
|
||||
@@ -3450,13 +3292,10 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Confirmar a nova palavra-passe",
|
||||
"current_password": "Palavra-passe atual",
|
||||
"error_new_is_old": "A nova palavra-passe deve ser diferente da palavra-passe atual",
|
||||
"error_new_mismatch": "Os novos valores da palavra-passe introduzidos não coincidem",
|
||||
"error_required": "Obrigatório",
|
||||
"header": "Alterar palavra-passe",
|
||||
"new_password": "Nova palavra-passe",
|
||||
"submit": "Enviar",
|
||||
"success": "Palavra-passe alterada com sucesso"
|
||||
"submit": "Enviar"
|
||||
},
|
||||
"current_user": "Esta atualmente ligado como {fullName}",
|
||||
"customize_sidebar": {
|
||||
@@ -3470,7 +3309,6 @@
|
||||
"header": "Painel de instrumentos"
|
||||
},
|
||||
"enable_shortcuts": {
|
||||
"description": "Ativar ou desativar atalhos de teclado para executar várias ações na IU.",
|
||||
"header": "Atalhos de Teclado"
|
||||
},
|
||||
"force_narrow": {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user