mirror of
https://github.com/home-assistant/frontend.git
synced 2025-04-24 13:27:22 +00:00
Merge pull request #8509 from home-assistant/dev
This commit is contained in:
commit
c42430ccf9
@ -369,14 +369,13 @@ gulp.task(
|
||||
const newData = {};
|
||||
Object.entries(data).forEach(([key, value]) => {
|
||||
// Filter out translations without native name.
|
||||
if (data[key].nativeName) {
|
||||
newData[key] = data[key];
|
||||
if (value.nativeName) {
|
||||
newData[key] = value;
|
||||
} else {
|
||||
console.warn(
|
||||
`Skipping language ${key}. Native name was not translated.`
|
||||
);
|
||||
}
|
||||
if (data[key]) newData[key] = value;
|
||||
});
|
||||
return newData;
|
||||
})
|
||||
|
@ -69,7 +69,8 @@ class HassioAddonStore extends LitElement {
|
||||
if (this.supervisor.addon.repositories) {
|
||||
repos = this.addonRepositories(
|
||||
this.supervisor.addon.repositories,
|
||||
this.supervisor.addon.addons
|
||||
this.supervisor.addon.addons,
|
||||
this._filter
|
||||
);
|
||||
}
|
||||
|
||||
@ -140,7 +141,11 @@ class HassioAddonStore extends LitElement {
|
||||
}
|
||||
|
||||
private addonRepositories = memoizeOne(
|
||||
(repositories: HassioAddonRepository[], addons: HassioAddonInfo[]) => {
|
||||
(
|
||||
repositories: HassioAddonRepository[],
|
||||
addons: HassioAddonInfo[],
|
||||
filter?: string
|
||||
) => {
|
||||
return repositories.sort(sortRepos).map((repo) => {
|
||||
const filteredAddons = addons.filter(
|
||||
(addon) => addon.repository === repo.slug
|
||||
@ -152,7 +157,7 @@ class HassioAddonStore extends LitElement {
|
||||
.hass=${this.hass}
|
||||
.repo=${repo}
|
||||
.addons=${filteredAddons}
|
||||
.filter=${this._filter!}
|
||||
.filter=${filter!}
|
||||
></hassio-addon-repository>
|
||||
`
|
||||
: html``;
|
||||
|
@ -26,16 +26,15 @@ class HassioAddonConfigDashboard extends LitElement {
|
||||
if (!this.addon) {
|
||||
return html`<ha-circular-progress active></ha-circular-progress>`;
|
||||
}
|
||||
const hasOptions =
|
||||
this.addon.options && Object.keys(this.addon.options).length;
|
||||
const hasSchema =
|
||||
hasOptions && this.addon.schema && Object.keys(this.addon.schema).length;
|
||||
const hasConfiguration =
|
||||
(this.addon.options && Object.keys(this.addon.options).length) ||
|
||||
(this.addon.schema && Object.keys(this.addon.schema).length);
|
||||
|
||||
return html`
|
||||
<div class="content">
|
||||
${hasOptions || hasSchema || this.addon.network || this.addon.audio
|
||||
${hasConfiguration || this.addon.network || this.addon.audio
|
||||
? html`
|
||||
${hasOptions || hasSchema
|
||||
${hasConfiguration
|
||||
? html`
|
||||
<hassio-addon-config
|
||||
.hass=${this.hass}
|
||||
|
@ -145,12 +145,10 @@ class HassioAddonConfig extends LitElement {
|
||||
|
||||
protected firstUpdated(changedProps) {
|
||||
super.firstUpdated(changedProps);
|
||||
this._canShowSchema =
|
||||
Object.keys(this.addon.options).length !== 0 &&
|
||||
!this.addon.schema!.find(
|
||||
// @ts-ignore
|
||||
(entry) => !SUPPORTED_UI_TYPES.includes(entry.type) || entry.multiple
|
||||
);
|
||||
this._canShowSchema = !this.addon.schema!.find(
|
||||
// @ts-ignore
|
||||
(entry) => !SUPPORTED_UI_TYPES.includes(entry.type) || entry.multiple
|
||||
);
|
||||
this._yamlMode = !this._canShowSchema;
|
||||
}
|
||||
|
||||
|
@ -63,16 +63,16 @@ class DialogSupervisorAddonUpdate extends LitElement {
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`
|
||||
<ha-dialog
|
||||
.heading="Update ${this.addon.name}"
|
||||
.open=${this._opened}
|
||||
scrimClickAction
|
||||
escapeKeyAction
|
||||
>
|
||||
<ha-dialog .open=${this._opened} scrimClickAction escapeKeyAction>
|
||||
${this._action === null
|
||||
? html`<div>
|
||||
Are you sure you want to update this add-on to version
|
||||
${this.addon.version_latest}?
|
||||
? html`<slot name="heading">
|
||||
<h2 id="title" class="header_title">
|
||||
Update ${this.addon.name}
|
||||
</h2>
|
||||
</slot>
|
||||
<div>
|
||||
Are you sure you want to update the ${this.addon.name} add-on to
|
||||
version ${this.addon.version_latest}?
|
||||
</div>
|
||||
|
||||
<ha-settings-row>
|
||||
@ -80,7 +80,8 @@ class DialogSupervisorAddonUpdate extends LitElement {
|
||||
Snapshot
|
||||
</span>
|
||||
<span slot="description">
|
||||
Create a snapshot of the add-on before updating
|
||||
Create a snapshot of the ${this.addon.name} add-on before
|
||||
updating
|
||||
</span>
|
||||
<ha-switch
|
||||
.checked=${this._createSnapshot}
|
||||
@ -100,8 +101,8 @@ class DialogSupervisorAddonUpdate extends LitElement {
|
||||
</ha-circular-progress>
|
||||
<p class="progress-text">
|
||||
${this._action === "update"
|
||||
? `Update to version ${this.addon.version_latest} in progress`
|
||||
: "Creating snapshot in progress"}
|
||||
? `Updating ${this.addon.name} to version ${this.addon.version_latest}`
|
||||
: "Creating snapshot of Home Assistant Core"}
|
||||
</p>`}
|
||||
${this._error ? html`<p class="error">${this._error}</p>` : ""}
|
||||
</ha-dialog>
|
||||
|
@ -61,14 +61,14 @@ class DialogSupervisorCoreUpdate extends LitElement {
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`
|
||||
<ha-dialog
|
||||
.open=${this._opened}
|
||||
heading="Update Home Assistant Core"
|
||||
scrimClickAction
|
||||
escapeKeyAction
|
||||
>
|
||||
<ha-dialog .open=${this._opened} scrimClickAction escapeKeyAction>
|
||||
${this._action === null
|
||||
? html`<div>
|
||||
? html`<slot name="heading">
|
||||
<h2 id="title" class="header_title">
|
||||
Update Home Assistant Core
|
||||
</h2>
|
||||
</slot>
|
||||
<div>
|
||||
Are you sure you want to update Home Assistant Core to version
|
||||
${this.core.version_latest}?
|
||||
</div>
|
||||
@ -98,8 +98,8 @@ class DialogSupervisorCoreUpdate extends LitElement {
|
||||
</ha-circular-progress>
|
||||
<p class="progress-text">
|
||||
${this._action === "update"
|
||||
? `Update to version ${this.core.version_latest} in progress`
|
||||
: "Creating snapshot in progress"}
|
||||
? `Updating Home Assistant Core to version ${this.core.version_latest}`
|
||||
: "Creating snapshot of Home Assistant Core"}
|
||||
</p>`}
|
||||
${this._error ? html`<p class="error">${this._error}</p>` : ""}
|
||||
</ha-dialog>
|
||||
|
24
package.json
24
package.json
@ -23,16 +23,16 @@
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@braintree/sanitize-url": "^5.0.0",
|
||||
"@codemirror/commands": "^0.17.2",
|
||||
"@codemirror/gutter": "^0.17.2",
|
||||
"@codemirror/highlight": "^0.17.2",
|
||||
"@codemirror/history": "^0.17.2",
|
||||
"@codemirror/legacy-modes": "^0.17.1",
|
||||
"@codemirror/search": "^0.17.1",
|
||||
"@codemirror/state": "^0.17.1",
|
||||
"@codemirror/stream-parser": "^0.17.1",
|
||||
"@codemirror/text": "^0.17.2",
|
||||
"@codemirror/view": "^0.17.7",
|
||||
"@codemirror/commands": "^0.17.0",
|
||||
"@codemirror/gutter": "^0.17.0",
|
||||
"@codemirror/highlight": "^0.17.0",
|
||||
"@codemirror/history": "^0.17.0",
|
||||
"@codemirror/legacy-modes": "^0.17.0",
|
||||
"@codemirror/search": "^0.17.0",
|
||||
"@codemirror/state": "^0.17.0",
|
||||
"@codemirror/stream-parser": "^0.17.0",
|
||||
"@codemirror/text": "^0.17.0",
|
||||
"@codemirror/view": "^0.17.0",
|
||||
"@formatjs/intl-getcanonicallocales": "^1.4.6",
|
||||
"@formatjs/intl-pluralrules": "^3.4.10",
|
||||
"@fullcalendar/common": "5.1.0",
|
||||
@ -56,8 +56,8 @@
|
||||
"@material/mwc-tab": "^0.20.0",
|
||||
"@material/mwc-tab-bar": "^0.20.0",
|
||||
"@material/top-app-bar": "=9.0.0-canary.1c156d69d.0",
|
||||
"@mdi/js": "5.6.55",
|
||||
"@mdi/svg": "5.6.55",
|
||||
"@mdi/js": "5.9.55",
|
||||
"@mdi/svg": "5.9.55",
|
||||
"@polymer/app-layout": "^3.0.2",
|
||||
"@polymer/app-route": "^3.0.2",
|
||||
"@polymer/app-storage": "^3.0.2",
|
||||
|
2
setup.py
2
setup.py
@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
||||
|
||||
setup(
|
||||
name="home-assistant-frontend",
|
||||
version="20210226.0",
|
||||
version="20210301.0",
|
||||
description="The Home Assistant frontend",
|
||||
url="https://github.com/home-assistant/home-assistant-polymer",
|
||||
author="The Home Assistant Authors",
|
||||
|
@ -34,7 +34,8 @@ import {
|
||||
import { SubscribeMixin } from "../../mixins/subscribe-mixin";
|
||||
import { PolymerChangedEvent } from "../../polymer-types";
|
||||
import { HomeAssistant } from "../../types";
|
||||
import { HaComboBox } from "../ha-combo-box";
|
||||
import type { HaComboBox } from "../ha-combo-box";
|
||||
import "../ha-combo-box";
|
||||
|
||||
interface Device {
|
||||
name: string;
|
||||
|
@ -137,7 +137,7 @@ export class HaCodeEditor extends UpdatingElement {
|
||||
...loaded.historyKeymap,
|
||||
...loaded.tabKeyBindings,
|
||||
saveKeyBinding,
|
||||
]),
|
||||
] as KeyBinding[]),
|
||||
loaded.tagExtension(modeTag, this._mode),
|
||||
loaded.theme,
|
||||
loaded.Prec.fallback(loaded.highlightStyle),
|
||||
|
@ -80,7 +80,11 @@ class HaSlider extends PaperSliderClass {
|
||||
}
|
||||
|
||||
_setImmediateValue(newImmediateValue) {
|
||||
super._setImmediateValue(Math.round(newImmediateValue));
|
||||
super._setImmediateValue(
|
||||
this.step >= 1
|
||||
? Math.round(newImmediateValue)
|
||||
: Math.round(newImmediateValue * 100) / 100
|
||||
);
|
||||
}
|
||||
|
||||
_calcStep(value) {
|
||||
|
@ -216,7 +216,6 @@ export const getLogbookMessage = (
|
||||
case "cold":
|
||||
case "gas":
|
||||
case "heat":
|
||||
case "colightld":
|
||||
case "moisture":
|
||||
case "motion":
|
||||
case "occupancy":
|
||||
@ -246,9 +245,17 @@ export const getLogbookMessage = (
|
||||
}
|
||||
|
||||
case "cover":
|
||||
return state === "open"
|
||||
? hass.localize(`${LOGBOOK_LOCALIZE_PATH}.was_opened`)
|
||||
: hass.localize(`${LOGBOOK_LOCALIZE_PATH}.was_closed`);
|
||||
switch (state) {
|
||||
case "open":
|
||||
return hass.localize(`${LOGBOOK_LOCALIZE_PATH}.was_opened`);
|
||||
case "opening":
|
||||
return hass.localize(`${LOGBOOK_LOCALIZE_PATH}.is_opening`);
|
||||
case "closing":
|
||||
return hass.localize(`${LOGBOOK_LOCALIZE_PATH}.is_closing`);
|
||||
case "closed":
|
||||
return hass.localize(`${LOGBOOK_LOCALIZE_PATH}.was_closed`);
|
||||
}
|
||||
break;
|
||||
|
||||
case "lock":
|
||||
if (state === "unlocked") {
|
||||
|
@ -89,6 +89,11 @@ export const reconfigureNode = (
|
||||
ieee: ieeeAddress,
|
||||
});
|
||||
|
||||
export const refreshTopology = (hass: HomeAssistant): Promise<void> =>
|
||||
hass.callWS({
|
||||
type: "zha/topology/update",
|
||||
});
|
||||
|
||||
export const fetchAttributesForCluster = (
|
||||
hass: HomeAssistant,
|
||||
ieeeAddress: string,
|
||||
|
@ -48,10 +48,19 @@ const authProm = isExternal
|
||||
const connProm = async (auth) => {
|
||||
try {
|
||||
const conn = await createConnection({ auth });
|
||||
|
||||
// Clear url if we have been able to establish a connection
|
||||
// Clear auth data from url if we have been able to establish a connection
|
||||
if (location.search.includes("auth_callback=1")) {
|
||||
history.replaceState(null, "", location.pathname);
|
||||
const searchParams = new URLSearchParams(location.search);
|
||||
// https://github.com/home-assistant/home-assistant-js-websocket/blob/master/lib/auth.ts
|
||||
// Remove all data from QueryCallbackData type
|
||||
searchParams.delete("auth_callback");
|
||||
searchParams.delete("code");
|
||||
searchParams.delete("state");
|
||||
history.replaceState(
|
||||
null,
|
||||
"",
|
||||
`${location.pathname}?${searchParams.toString()}`
|
||||
);
|
||||
}
|
||||
|
||||
return { auth, conn };
|
||||
|
@ -79,6 +79,11 @@ export class HaDeviceActionsZha extends LitElement {
|
||||
"ui.dialogs.zha_device_info.buttons.clusters"
|
||||
)}
|
||||
</mwc-button>
|
||||
<mwc-button @click=${this._onViewInVisualizationClick}>
|
||||
${this.hass!.localize(
|
||||
"ui.dialogs.zha_device_info.buttons.view_in_visualization"
|
||||
)}
|
||||
</mwc-button>
|
||||
<mwc-button class="warning" @click=${this._removeDevice}>
|
||||
${this.hass!.localize(
|
||||
"ui.dialogs.zha_device_info.buttons.remove"
|
||||
@ -104,6 +109,13 @@ export class HaDeviceActionsZha extends LitElement {
|
||||
navigate(this, "/config/zha/add/" + this._zhaDevice!.ieee);
|
||||
}
|
||||
|
||||
private _onViewInVisualizationClick() {
|
||||
navigate(
|
||||
this,
|
||||
"/config/zha/visualization/" + this._zhaDevice!.device_reg_id
|
||||
);
|
||||
}
|
||||
|
||||
private async _handleZigbeeInfoClicked() {
|
||||
showZHADeviceZigbeeInfoDialog(this, { device: this._zhaDevice! });
|
||||
}
|
||||
|
@ -59,6 +59,8 @@ class ZHAConfigDashboardRouter extends HassRouterPage {
|
||||
el.groupId = this.routeTail.path.substr(1);
|
||||
} else if (this._currentPage === "device") {
|
||||
el.ieee = this.routeTail.path.substr(1);
|
||||
} else if (this._currentPage === "visualization") {
|
||||
el.zoomedDeviceId = this.routeTail.path.substr(1);
|
||||
}
|
||||
|
||||
const searchParams = new URLSearchParams(window.location.search);
|
||||
|
@ -9,23 +9,33 @@ import {
|
||||
PropertyValues,
|
||||
query,
|
||||
} from "lit-element";
|
||||
import { Edge, EdgeOptions, Network, Node } from "vis-network";
|
||||
|
||||
import "@material/mwc-button";
|
||||
import { navigate } from "../../../../../common/navigate";
|
||||
import {
|
||||
fetchDevices,
|
||||
refreshTopology,
|
||||
ZHADevice,
|
||||
} from "../../../../../data/zha";
|
||||
import "../../../../../layouts/hass-subpage";
|
||||
import type { HomeAssistant } from "../../../../../types";
|
||||
import { Network, Edge, Node, EdgeOptions } from "vis-network";
|
||||
import "../../../../../common/search/search-input";
|
||||
import "../../../../../components/device/ha-device-picker";
|
||||
import "../../../../../components/ha-button-menu";
|
||||
import "../../../../../components/ha-svg-icon";
|
||||
import { fetchDevices, ZHADevice } from "../../../../../data/zha";
|
||||
import "../../../../../layouts/hass-subpage";
|
||||
import { PolymerChangedEvent } from "../../../../../polymer-types";
|
||||
import type { HomeAssistant } from "../../../../../types";
|
||||
import { formatAsPaddedHex } from "./functions";
|
||||
import { DeviceRegistryEntry } from "../../../../../data/device_registry";
|
||||
|
||||
@customElement("zha-network-visualization-page")
|
||||
export class ZHANetworkVisualizationPage extends LitElement {
|
||||
@property({ type: Object }) public hass!: HomeAssistant;
|
||||
|
||||
@property({ type: Boolean }) public narrow!: boolean;
|
||||
@property({ type: Boolean, reflect: true }) public narrow = false;
|
||||
|
||||
@property()
|
||||
public zoomedDeviceId?: string;
|
||||
|
||||
@query("#visualization", true)
|
||||
private _visualization?: HTMLElement;
|
||||
@ -45,9 +55,6 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
@internalProperty()
|
||||
private _filter?: string;
|
||||
|
||||
@internalProperty()
|
||||
private _zoomedDeviceId?: string;
|
||||
|
||||
protected firstUpdated(changedProperties: PropertyValues): void {
|
||||
super.firstUpdated(changedProperties);
|
||||
if (this.hass) {
|
||||
@ -98,6 +105,12 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
this._network.on("stabilized", () => {
|
||||
if (this.zoomedDeviceId) {
|
||||
this._zoomToDevice();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected render() {
|
||||
@ -121,13 +134,18 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
</search-input>
|
||||
<ha-device-picker
|
||||
.hass=${this.hass}
|
||||
.value=${this._zoomedDeviceId}
|
||||
.value=${this.zoomedDeviceId}
|
||||
.label=${this.hass.localize(
|
||||
"ui.panel.config.zha.visualization.zoom_label"
|
||||
)}
|
||||
.includeDomains="['zha']"
|
||||
@value-changed=${this._zoomToDevice}
|
||||
.deviceFilter=${(device) => this._filterDevices(device)}
|
||||
@value-changed=${this._onZoomToDevice}
|
||||
></ha-device-picker>
|
||||
<mwc-button @click=${this._refreshTopology}
|
||||
>${this.hass!.localize(
|
||||
"ui.panel.config.zha.visualization.refresh_topology"
|
||||
)}</mwc-button
|
||||
>
|
||||
</div>
|
||||
<div id="visualization"></div>
|
||||
</hass-subpage>
|
||||
@ -248,7 +266,7 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
filteredNodeIds.push(node.id!);
|
||||
}
|
||||
});
|
||||
this._zoomedDeviceId = "";
|
||||
this.zoomedDeviceId = "";
|
||||
this._zoomOut();
|
||||
this._network.selectNodes(filteredNodeIds, true);
|
||||
} else {
|
||||
@ -256,21 +274,25 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
}
|
||||
}
|
||||
|
||||
private _zoomToDevice(event: PolymerChangedEvent<string>) {
|
||||
private _onZoomToDevice(event: PolymerChangedEvent<string>) {
|
||||
event.stopPropagation();
|
||||
this._zoomedDeviceId = event.detail.value;
|
||||
this.zoomedDeviceId = event.detail.value;
|
||||
if (!this._network) {
|
||||
return;
|
||||
}
|
||||
this._zoomToDevice();
|
||||
}
|
||||
|
||||
private _zoomToDevice() {
|
||||
this._filter = "";
|
||||
if (!this._zoomedDeviceId) {
|
||||
if (!this.zoomedDeviceId) {
|
||||
this._zoomOut();
|
||||
} else {
|
||||
const device: ZHADevice | undefined = this._devicesByDeviceId.get(
|
||||
this._zoomedDeviceId
|
||||
this.zoomedDeviceId
|
||||
);
|
||||
if (device) {
|
||||
this._network.fit({
|
||||
this._network!.fit({
|
||||
nodes: [device.ieee],
|
||||
animation: { duration: 500, easingFunction: "easeInQuad" },
|
||||
});
|
||||
@ -285,6 +307,24 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
});
|
||||
}
|
||||
|
||||
private async _refreshTopology(): Promise<void> {
|
||||
await refreshTopology(this.hass);
|
||||
}
|
||||
|
||||
private _filterDevices(device: DeviceRegistryEntry): boolean {
|
||||
if (!this.hass) {
|
||||
return false;
|
||||
}
|
||||
for (const parts of device.identifiers) {
|
||||
for (const part of parts) {
|
||||
if (part === "zha") {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static get styles(): CSSResult[] {
|
||||
return [
|
||||
css`
|
||||
@ -299,30 +339,59 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
line-height: var(--paper-font-display1_-_line-height);
|
||||
opacity: var(--dark-primary-opacity);
|
||||
}
|
||||
|
||||
.table-header {
|
||||
border-bottom: 1px solid --divider-color;
|
||||
padding: 0 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
height: var(--header-height);
|
||||
}
|
||||
|
||||
:host([narrow]) .table-header {
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
height: var(--header-height) * 3;
|
||||
}
|
||||
|
||||
.search-toolbar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: var(--secondary-text-color);
|
||||
padding: 0 16px;
|
||||
}
|
||||
|
||||
search-input {
|
||||
position: relative;
|
||||
top: 2px;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
:host(:not([narrow])) search-input {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
search-input.header {
|
||||
left: -8px;
|
||||
}
|
||||
|
||||
ha-device-picker {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
:host(:not([narrow])) ha-device-picker {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
mwc-button {
|
||||
font-weight: 500;
|
||||
color: var(--primary-color);
|
||||
}
|
||||
|
||||
:host(:not([narrow])) mwc-button {
|
||||
margin: 5px;
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
|
@ -86,10 +86,15 @@ class HaPanelDevService extends LitElement {
|
||||
</p>
|
||||
|
||||
${this._yamlMode
|
||||
? html`<ha-yaml-editor
|
||||
.defaultValue=${this._serviceData}
|
||||
@value-changed=${this._yamlChanged}
|
||||
></ha-yaml-editor>`
|
||||
? html`<ha-service-picker
|
||||
.hass=${this.hass}
|
||||
.value=${this._serviceData?.service}
|
||||
@value-changed=${this._serviceChanged}
|
||||
></ha-service-picker>
|
||||
<ha-yaml-editor
|
||||
.defaultValue=${this._serviceData}
|
||||
@value-changed=${this._yamlChanged}
|
||||
></ha-yaml-editor>`
|
||||
: html`<ha-card
|
||||
><div>
|
||||
<ha-service-control
|
||||
@ -97,7 +102,7 @@ class HaPanelDevService extends LitElement {
|
||||
.value=${this._serviceData}
|
||||
.narrow=${this.narrow}
|
||||
showAdvanced
|
||||
@value-changed=${this._serviceChanged}
|
||||
@value-changed=${this._serviceDataChanged}
|
||||
></ha-service-control></div
|
||||
></ha-card>`}
|
||||
</div>
|
||||
@ -266,11 +271,17 @@ class HaPanelDevService extends LitElement {
|
||||
if (!ev.detail.isValid) {
|
||||
return;
|
||||
}
|
||||
this._serviceChanged(ev);
|
||||
this._serviceDataChanged(ev);
|
||||
}
|
||||
|
||||
private _serviceDataChanged(ev) {
|
||||
this._serviceData = ev.detail.value;
|
||||
}
|
||||
|
||||
private _serviceChanged(ev) {
|
||||
this._serviceData = ev.detail.value;
|
||||
ev.stopPropagation();
|
||||
this._serviceData = { service: ev.detail.value || "", data: {} };
|
||||
this._yamlEditor?.setValue(this._serviceData);
|
||||
}
|
||||
|
||||
private _fillExampleData() {
|
||||
|
@ -257,7 +257,7 @@ class LovelacePanel extends LitElement {
|
||||
}
|
||||
}
|
||||
|
||||
this._state = "loaded";
|
||||
this._state = this._state === "yaml-editor" ? this._state : "loaded";
|
||||
this._setLovelaceConfig(conf, confMode);
|
||||
}
|
||||
|
||||
|
@ -11,11 +11,13 @@ import {
|
||||
internalProperty,
|
||||
LitElement,
|
||||
property,
|
||||
PropertyValues,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { classMap } from "lit-html/directives/class-map";
|
||||
import { array, assert, object, optional, string, type } from "superstruct";
|
||||
import { computeRTL } from "../../common/util/compute_rtl";
|
||||
import { deepEqual } from "../../common/util/deep-equal";
|
||||
import "../../components/ha-circular-progress";
|
||||
import "../../components/ha-code-editor";
|
||||
import type { HaCodeEditor } from "../../components/ha-code-editor";
|
||||
@ -29,6 +31,7 @@ import {
|
||||
import "../../layouts/ha-app-layout";
|
||||
import { haStyle } from "../../resources/styles";
|
||||
import type { HomeAssistant } from "../../types";
|
||||
import { showToast } from "../../util/toast";
|
||||
import type { Lovelace } from "./types";
|
||||
|
||||
const lovelaceStruct = type({
|
||||
@ -101,10 +104,37 @@ class LovelaceFullConfigEditor extends LitElement {
|
||||
`;
|
||||
}
|
||||
|
||||
protected firstUpdated() {
|
||||
protected firstUpdated(changedProps: PropertyValues) {
|
||||
super.firstUpdated(changedProps);
|
||||
this.yamlEditor.value = safeDump(this.lovelace!.config);
|
||||
}
|
||||
|
||||
protected updated(changedProps: PropertyValues) {
|
||||
const oldLovelace = changedProps.get("lovelace") as Lovelace | undefined;
|
||||
if (
|
||||
oldLovelace &&
|
||||
this.lovelace &&
|
||||
oldLovelace.config !== this.lovelace.config &&
|
||||
!deepEqual(oldLovelace.config, this.lovelace.config)
|
||||
) {
|
||||
showToast(this, {
|
||||
message: this.hass!.localize(
|
||||
"ui.panel.lovelace.editor.raw_editor.lovelace_changed"
|
||||
),
|
||||
action: {
|
||||
action: () => {
|
||||
this.yamlEditor.value = safeDump(this.lovelace!.config);
|
||||
},
|
||||
text: this.hass!.localize(
|
||||
"ui.panel.lovelace.editor.raw_editor.reload"
|
||||
),
|
||||
},
|
||||
duration: 0,
|
||||
dismissable: false,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
static get styles(): CSSResult[] {
|
||||
return [
|
||||
haStyle,
|
||||
|
@ -41,7 +41,7 @@ class HuiSectionRow extends LitElement implements LovelaceRow {
|
||||
static get styles(): CSSResult {
|
||||
return css`
|
||||
.label {
|
||||
color: var(--primary-text-color);
|
||||
color: var(--section-header-text-color, var(--primary-text-color));
|
||||
margin-left: 8px;
|
||||
margin-bottom: 8px;
|
||||
margin-top: 16px;
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { HighlightStyle, tags } from "@codemirror/highlight";
|
||||
import { EditorView as CMEditorView } from "@codemirror/view";
|
||||
import { EditorView as CMEditorView, KeyBinding } from "@codemirror/view";
|
||||
import { StreamLanguage } from "@codemirror/stream-parser";
|
||||
import { jinja2 } from "@codemirror/legacy-modes/mode/jinja2";
|
||||
import { yaml } from "@codemirror/legacy-modes/mode/yaml";
|
||||
@ -18,7 +18,7 @@ export const langs = {
|
||||
yaml: StreamLanguage.define(yaml),
|
||||
};
|
||||
|
||||
export const tabKeyBindings = [
|
||||
export const tabKeyBindings: KeyBinding[] = [
|
||||
{ key: "Tab", run: indentMore },
|
||||
{
|
||||
key: "Shift-Tab",
|
||||
@ -35,6 +35,8 @@ export const theme = CMEditorView.theme({
|
||||
height: "var(--code-mirror-height, auto)",
|
||||
},
|
||||
|
||||
$scroller: { outline: "none" },
|
||||
|
||||
$content: { caretColor: "var(--secondary-text-color)" },
|
||||
|
||||
$$focused: { outline: "none" },
|
||||
@ -51,34 +53,43 @@ export const theme = CMEditorView.theme({
|
||||
"$panels.top": { borderBottom: "1px solid var(--divider-color)" },
|
||||
"$panels.bottom": { borderTop: "1px solid var(--divider-color)" },
|
||||
|
||||
"$panel.search": {
|
||||
padding: "2px 6px 4px",
|
||||
position: "relative",
|
||||
"& [name=close]": {
|
||||
position: "absolute",
|
||||
top: "0",
|
||||
right: "4px",
|
||||
backgroundColor: "inherit",
|
||||
border: "none",
|
||||
font: "inherit",
|
||||
padding: "4px",
|
||||
margin: 0,
|
||||
outline: "none",
|
||||
fontSize: "150%",
|
||||
},
|
||||
},
|
||||
"$panel.search input": { margin: "4px 4px 0" },
|
||||
|
||||
$button: {
|
||||
border: "1px solid var(--primary-color)",
|
||||
padding: "8px",
|
||||
padding: "0px 16px",
|
||||
textTransform: "uppercase",
|
||||
margin: "4px",
|
||||
background: "none",
|
||||
color: "var(--primary-color)",
|
||||
fontFamily:
|
||||
"var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif))",
|
||||
fontSize: "var(--mdc-typography-button-font-size, 0.875rem)",
|
||||
height: "36px",
|
||||
fontWeight: "var(--mdc-typography-button-font-weight, 500)",
|
||||
borderRadius: "4px",
|
||||
letterSpacing: "var(--mdc-typography-button-letter-spacing, 0.0892857em)",
|
||||
},
|
||||
|
||||
$textfield: {
|
||||
backgroundColor: "var(--secondary-background-color)",
|
||||
padding: "8px",
|
||||
padding: "4px 0px 5px",
|
||||
borderRadius: "0",
|
||||
fontSize: "16px",
|
||||
color: "var(--primary-text-color)",
|
||||
border: "0",
|
||||
background: "none",
|
||||
fontFamily: "Roboto",
|
||||
borderBottom:
|
||||
"1px solid var(--paper-input-container-color, var(--secondary-text-color))",
|
||||
margin: "4px 4px 0",
|
||||
"& ::placeholder": {
|
||||
color: "var(--paper-input-container-color, var(--secondary-text-color))",
|
||||
},
|
||||
"&:focus": {
|
||||
outline: "none",
|
||||
borderBottom: "2px solid var(--primary-color)",
|
||||
paddingBottom: "4px",
|
||||
},
|
||||
},
|
||||
|
||||
$selectionMatch: {
|
||||
|
@ -311,6 +311,8 @@
|
||||
"was_disconnected": "was disconnected",
|
||||
"was_opened": "was opened",
|
||||
"was_closed": "was closed",
|
||||
"is_opening": "is opening",
|
||||
"is_closing": "is closing",
|
||||
"was_unlocked": "was unlocked",
|
||||
"was_locked": "was locked",
|
||||
"was_plugged_in": "was plugged in",
|
||||
@ -598,8 +600,8 @@
|
||||
"last_changed": "Last changed",
|
||||
"last_updated": "Last updated",
|
||||
"script": {
|
||||
"last_action": "Last Action",
|
||||
"last_triggered": "Last Triggered"
|
||||
"last_action": "Last action",
|
||||
"last_triggered": "Last triggered"
|
||||
},
|
||||
"sun": {
|
||||
"elevation": "Elevation",
|
||||
@ -743,7 +745,8 @@
|
||||
"remove": "Remove Device",
|
||||
"clusters": "Manage Clusters",
|
||||
"reconfigure": "Reconfigure Device",
|
||||
"zigbee_information": "Zigbee device signature"
|
||||
"zigbee_information": "Zigbee device signature",
|
||||
"view_in_visualization": "View in Visualization"
|
||||
},
|
||||
"services": {
|
||||
"reconfigure": "Reconfigure ZHA device (heal device). Use this if you are having issues with the device. If the device in question is a battery powered device please ensure it is awake and accepting commands when you use this service.",
|
||||
@ -2363,7 +2366,8 @@
|
||||
"header": "Network Visualization",
|
||||
"caption": "Visualization",
|
||||
"highlight_label": "Highlight Devices",
|
||||
"zoom_label": "Zoom To Device"
|
||||
"zoom_label": "Zoom To Device",
|
||||
"refresh_topology": "Refresh Topology"
|
||||
},
|
||||
"group_binding": {
|
||||
"header": "Group Binding",
|
||||
@ -2650,6 +2654,8 @@
|
||||
"save": "Save",
|
||||
"unsaved_changes": "Unsaved changes",
|
||||
"saved": "Saved",
|
||||
"reload": "Reload",
|
||||
"lovelace_changed": "The Lovelace config was updated, do you want to load the updated config in the editor and lose your current changes?",
|
||||
"confirm_remove_config_title": "Are you sure you want to remove your Lovelace UI configuration?",
|
||||
"confirm_remove_config_text": "We will automatically generate your Lovelace UI views with your areas and devices if you remove your Lovelace UI configuration.",
|
||||
"confirm_unsaved_changes": "You have unsaved changes, are you sure you want to exit?",
|
||||
|
@ -120,7 +120,7 @@
|
||||
},
|
||||
"automation": {
|
||||
"last_triggered": "Última execució",
|
||||
"trigger": "Executar"
|
||||
"trigger": "Executar accions"
|
||||
},
|
||||
"camera": {
|
||||
"not_available": "Imatge no disponible"
|
||||
@ -200,7 +200,8 @@
|
||||
},
|
||||
"script": {
|
||||
"cancel": "Cancel·la",
|
||||
"cancel_multiple": "Cancel·la {number}"
|
||||
"cancel_multiple": "Cancel·la {number}",
|
||||
"run": "Executa"
|
||||
},
|
||||
"service": {
|
||||
"run": "Executa"
|
||||
@ -295,6 +296,19 @@
|
||||
"yes": "Sí"
|
||||
},
|
||||
"components": {
|
||||
"addon-picker": {
|
||||
"addon": "Complement",
|
||||
"error": {
|
||||
"fetch_addons": {
|
||||
"description": "L'obtenció dels complements ha retornat un error.",
|
||||
"title": "S'ha produït un error en l'obtenció dels complements"
|
||||
},
|
||||
"no_supervisor": {
|
||||
"description": "No s'ha trobat cap Supervisor, per tant, no es poden carregar complements.",
|
||||
"title": "Sense Supervisor"
|
||||
}
|
||||
}
|
||||
},
|
||||
"area-picker": {
|
||||
"add_dialog": {
|
||||
"add": "Afegeix",
|
||||
@ -682,6 +696,7 @@
|
||||
"scene": "Escenes",
|
||||
"script": "Programació (scripts)",
|
||||
"server_control": "Controls del servidor",
|
||||
"tag": "Etiquetes",
|
||||
"tags": "Etiquetes",
|
||||
"users": "Usuaris",
|
||||
"zone": "Zones"
|
||||
@ -950,7 +965,7 @@
|
||||
"delete_confirm": "Segur que vols eliminar-ho?",
|
||||
"duplicate": "Duplica",
|
||||
"header": "Condicions",
|
||||
"introduction": "Les condicions són opcionals i impedeixen que continui l'execució mentre totes elles no es satisfacin.",
|
||||
"introduction": "Les condicions són opcionals i impedeixen que s'executi l'automatització tret de que totes elles se satisfacin.",
|
||||
"learn_more": "Més informació sobre les condicions",
|
||||
"name": "Condició",
|
||||
"type_select": "Tipus de condició",
|
||||
@ -1485,6 +1500,7 @@
|
||||
"cant_edit": "Només pots editar els elements creats a la interfície d'usuari (UI).",
|
||||
"caption": "Dispositius",
|
||||
"confirm_delete": "Estàs segur que vols eliminar aquest dispositiu?",
|
||||
"confirm_disable_config_entry": "No hi ha més dispositius per a l'entrada de configuració {entry_name}. En comptes, vols desactivar l'entrada de configuració?",
|
||||
"confirm_rename_entity_ids": "Vols, també, canviar el nom dels ID's de les entitats?",
|
||||
"confirm_rename_entity_ids_warning": "Això no canviarà cap configuració (com automatitzacions, scripts, escenes, panells) que estigui utilitzant aquestes entitats. Les hauràs d'actualitzar tu mateix per utilitzar els nous identificadors.",
|
||||
"data_table": {
|
||||
@ -1597,7 +1613,8 @@
|
||||
},
|
||||
"filtering": {
|
||||
"clear": "Esborra",
|
||||
"filtering_by": "Filtratge per"
|
||||
"filtering_by": "Filtratge per",
|
||||
"show": "Mostra"
|
||||
},
|
||||
"header": "Configuració de Home Assistant",
|
||||
"helpers": {
|
||||
@ -1668,7 +1685,19 @@
|
||||
"delete_confirm": "Estàs segur que vols eliminar aquesta integració?",
|
||||
"device_unavailable": "Dispositiu no disponible",
|
||||
"devices": "{count} {count, plural,\n one {dispositiu}\n other {dispositius}\n}",
|
||||
"disable_restart_confirm": "Reinicia Home Assistant per acabar de desactivar aquesta integració",
|
||||
"disable": {
|
||||
"disable_confirm": "Estàs segur que vols desactivar aquesta entrada de configuració? Els seus dispositius i entitats es desactivaran.",
|
||||
"disabled": "Desactivada",
|
||||
"disabled_by": {
|
||||
"device": "dispositiu",
|
||||
"integration": "integració",
|
||||
"user": "usuari"
|
||||
},
|
||||
"disabled_cause": "Desactivada per {cause}"
|
||||
},
|
||||
"documentation": "Documentació",
|
||||
"enable_restart_confirm": "Reinicia Home Assistant per acabar d'activar aquesta integració",
|
||||
"entities": "{count} {count, plural,\n one {entitat}\n other {entitats}\n}",
|
||||
"entity_unavailable": "Entitat no disponible",
|
||||
"firmware": "Firmware: {version}",
|
||||
@ -1711,6 +1740,11 @@
|
||||
"confirm_new": "Vols configurar {integration}?",
|
||||
"description": "Gestiona les integracions amb serveis, dispositius, ...",
|
||||
"details": "Detalls de la integració",
|
||||
"disable": {
|
||||
"disabled_integrations": "{number} desactivada/es",
|
||||
"hide_disabled": "Amaga integracions desactivades",
|
||||
"show_disabled": "Mostra integracions desactivades"
|
||||
},
|
||||
"discovered": "Descobertes",
|
||||
"home_assistant_website": "lloc web de Home Assistant",
|
||||
"ignore": {
|
||||
@ -2047,7 +2081,7 @@
|
||||
"id": "ID de l'entitat",
|
||||
"id_already_exists": "Aquest ID ja existeix",
|
||||
"id_already_exists_save_error": "No pots desar aquest script perquè l'ID no és únic, tria'n un altre o deixa-ho en blanc perquè se'n generi un automàticament.",
|
||||
"introduction": "Utilitza els scripts per executar seqüències d'accions.",
|
||||
"introduction": "Utilitza els scripts per executar una seqüència d'accions.",
|
||||
"link_available_actions": "Més informació sobre les accions disponibles.",
|
||||
"load_error_not_editable": "Només es poden editar els scripts del fitxer scripts.yaml.",
|
||||
"max": {
|
||||
@ -2536,6 +2570,7 @@
|
||||
"states": {
|
||||
"alert_entity_field": "L'entitat és un camp obligatori",
|
||||
"attributes": "Atributs",
|
||||
"copy_id": "Copia l'identificador al porta-retalls",
|
||||
"current_entities": "Entitats actuals",
|
||||
"description1": "Defineix la representació d'un dispositiu a Home Assistant.",
|
||||
"description2": "No hi haurà cap comunicació amb el dispositiu real.",
|
||||
@ -2594,11 +2629,11 @@
|
||||
},
|
||||
"cards": {
|
||||
"actions": {
|
||||
"action_confirmation": "Estàs segur que vols exectuar l'acció \"{action}\"?",
|
||||
"action_confirmation": "Estàs segur que vols executar l'acció \"{action}\"?",
|
||||
"no_entity_more_info": "No s'ha proporcionat cap entitat per mostrar el diàleg de més informació",
|
||||
"no_entity_toggle": "No s'ha proporcionat cap entitat a commutar",
|
||||
"no_navigation_path": "No s'ha especificat cap ruta de navegació",
|
||||
"no_service": "No s'ha especificat cap servei per a l'execució",
|
||||
"no_service": "No s'ha especificat cap servei a executar",
|
||||
"no_url": "No s'ha especificat cap URL per obrir"
|
||||
},
|
||||
"confirm_delete": "Estàs segur que vols eliminar aquesta targeta?",
|
||||
@ -2969,7 +3004,7 @@
|
||||
"confirm_remove_config_text": "Si elimines la configuració de la interfície d'usuari Lovelace es generaran automàticament les visualitzacions de Lovelace amb les teves àrees i dispositius.",
|
||||
"confirm_remove_config_title": "Estàs segur que vols eliminar la configuració de la interfície d'usuari Lovelace?",
|
||||
"confirm_unsaved_changes": "Hi han canvis no desats. Segur que vols sortir?",
|
||||
"confirm_unsaved_comments": "La configuració conté comentaris que es descartaran. Vols continuar?",
|
||||
"confirm_unsaved_comments": "La configuració pot contenir comentaris que no es desaran. Vols continuar?",
|
||||
"error_invalid_config": "La configuració no és vàlida: {error}",
|
||||
"error_parse_yaml": "No es pot analitzar YAML: {error}",
|
||||
"error_remove": "No s'ha pogut eliminar la configuració: {error}",
|
||||
@ -3062,8 +3097,10 @@
|
||||
},
|
||||
"my": {
|
||||
"component_not_loaded": "La instància de Home Assistant no admet aquesta redirecció. Necessites la integració {integration} per poder fer aquesta redirecció.",
|
||||
"documentation": "documentació",
|
||||
"error": "S'ha produït un error desconegut",
|
||||
"faq_link": "Preguntes freqüents de Home Assistant",
|
||||
"no_supervisor": "La teva instal·lació de Home Assistant no admet aquesta redirecció. Necessites tenir instal·lat o bé el Sistema Operatiu Home Assistant o Home Assistant Supervisat. Per a més informació, consulta {docs_link}.",
|
||||
"not_supported": "La instància de Home Assistant no admet aquesta redirecció. Consulta {link} per veure les redireccions compatibles i en quina versió es van introduir."
|
||||
},
|
||||
"page-authorize": {
|
||||
|
@ -696,6 +696,7 @@
|
||||
"scene": "Scény",
|
||||
"script": "Skripty",
|
||||
"server_control": "Ovládání serveru",
|
||||
"tag": "Štítky",
|
||||
"tags": "Štítky",
|
||||
"users": "Uživatelé",
|
||||
"zone": "Zóny"
|
||||
|
@ -200,7 +200,8 @@
|
||||
},
|
||||
"script": {
|
||||
"cancel": "Abbrechen",
|
||||
"cancel_multiple": "Abbrechen {number}"
|
||||
"cancel_multiple": "Abbrechen {number}",
|
||||
"run": "Ausführen"
|
||||
},
|
||||
"service": {
|
||||
"run": "Ausführen"
|
||||
@ -295,6 +296,19 @@
|
||||
"yes": "Ja"
|
||||
},
|
||||
"components": {
|
||||
"addon-picker": {
|
||||
"addon": "Add-on",
|
||||
"error": {
|
||||
"fetch_addons": {
|
||||
"description": "Das Abrufen von Add-ons hat einen Fehler zurückgegeben.",
|
||||
"title": "Fehler beim Abrufen der Add-ons"
|
||||
},
|
||||
"no_supervisor": {
|
||||
"description": "Kein Supervisor gefunden, daher konnten Add-ons nicht geladen werden.",
|
||||
"title": "Kein Supervisor"
|
||||
}
|
||||
}
|
||||
},
|
||||
"area-picker": {
|
||||
"add_dialog": {
|
||||
"add": "Hinzufügen",
|
||||
@ -467,6 +481,12 @@
|
||||
"week": "Vor {count} {count, plural,\n one {Woche}\n other {Wochen}\n}"
|
||||
}
|
||||
},
|
||||
"service-control": {
|
||||
"required": "Dieses Feld ist erforderlich",
|
||||
"service_data": "Dienstdaten",
|
||||
"target": "Ziele",
|
||||
"target_description": "Was dieser Dienst als Bereiche, Geräte oder Entitäten verwenden soll."
|
||||
},
|
||||
"service-picker": {
|
||||
"service": "Dienst"
|
||||
},
|
||||
@ -676,6 +696,7 @@
|
||||
"scene": "Szenen",
|
||||
"script": "Skripte",
|
||||
"server_control": "Serversteuerung",
|
||||
"tag": "NFC Tags",
|
||||
"tags": "Tags",
|
||||
"users": "Benutzer",
|
||||
"zone": "Zonen"
|
||||
@ -890,7 +911,8 @@
|
||||
},
|
||||
"event": {
|
||||
"event": "Ereignis:",
|
||||
"label": "Ereignis auslösen"
|
||||
"label": "Ereignis auslösen",
|
||||
"service_data": "Dienstdaten"
|
||||
},
|
||||
"repeat": {
|
||||
"label": "Wiederholen",
|
||||
@ -1478,6 +1500,7 @@
|
||||
"cant_edit": "Du kannst nur Elemente bearbeiten, die in der Benutzeroberfläche erstellt wurden.",
|
||||
"caption": "Geräte",
|
||||
"confirm_delete": "Möchtest du dieses Gerät wirklich löschen?",
|
||||
"confirm_disable_config_entry": "Es gibt keine Geräte mehr für den Konfigurationseintrag {entry_name}. Möchtest du stattdessen den Konfigurationseintrag deaktivieren?",
|
||||
"confirm_rename_entity_ids": "Möchten Sie auch die Entitäts-IDs Ihrer Entitäten umbenennen?",
|
||||
"confirm_rename_entity_ids_warning": "Dies ändert keine Konfiguration (wie Automatisierungen, Skripte, Szenen, Dashboards), die derzeit diese Entitäten verwendet! Du musst sie selbst aktualisieren, um die neuen Entitäts-IDs zu verwenden!",
|
||||
"data_table": {
|
||||
@ -1590,7 +1613,8 @@
|
||||
},
|
||||
"filtering": {
|
||||
"clear": "Leeren",
|
||||
"filtering_by": "Filtern nach"
|
||||
"filtering_by": "Filtern nach",
|
||||
"show": "Anzeigen"
|
||||
},
|
||||
"header": "Home Assistant konfigurieren",
|
||||
"helpers": {
|
||||
@ -1661,7 +1685,19 @@
|
||||
"delete_confirm": "Möchtest du diese Integration wirklich löschen?",
|
||||
"device_unavailable": "Gerät nicht verfügbar",
|
||||
"devices": "{count} {count, plural,\n one {Gerät}\n other {Geräte}\n}",
|
||||
"disable_restart_confirm": "Home Assistant neu starten, um das Deaktivieren dieser Integration abzuschließen",
|
||||
"disable": {
|
||||
"disable_confirm": "Möchtest du diesen Konfigurationseintrag wirklich deaktivieren? Die Geräte und Entitäten werden deaktiviert.",
|
||||
"disabled": "Deaktiviert",
|
||||
"disabled_by": {
|
||||
"device": "Gerät",
|
||||
"integration": "Integration",
|
||||
"user": "Benutzer"
|
||||
},
|
||||
"disabled_cause": "Deaktiviert durch {cause}."
|
||||
},
|
||||
"documentation": "Dokumentation",
|
||||
"enable_restart_confirm": "Home Assistant neu starten, um das Aktivieren dieser Integration abzuschließen",
|
||||
"entities": "{count} {count, plural,\none {Entität}\nother {Entitäten}\n}",
|
||||
"entity_unavailable": "Entität nicht verfügbar",
|
||||
"firmware": "Firmware: {version}",
|
||||
@ -1681,8 +1717,10 @@
|
||||
"config_flow": {
|
||||
"aborted": "Abgebrochen",
|
||||
"close": "Schließen",
|
||||
"could_not_load": "Der Konfigurationsfluss konnte nicht geladen werden",
|
||||
"created_config": "Erstellte Konfiguration für {name}.",
|
||||
"dismiss": "Dialog schließen",
|
||||
"error": "Fehler",
|
||||
"error_saving_area": "Fehler beim Speichern des Bereichs: {error}",
|
||||
"external_step": {
|
||||
"description": "Für diesen Schritt müssen Sie eine externe Website besuchen, um den Vorgang abzuschließen.",
|
||||
@ -1691,6 +1729,10 @@
|
||||
"finish": "Fertig",
|
||||
"loading_first_time": "Bitte warten, während die Integration installiert wird",
|
||||
"not_all_required_fields": "Nicht alle Pflichtfelder sind ausgefüllt.",
|
||||
"pick_flow_step": {
|
||||
"new_flow": "Nein, richte eine andere Instanz von {integration} ein",
|
||||
"title": "Wir haben diese entdeckt, willst du sie einrichten?"
|
||||
},
|
||||
"submit": "Absenden"
|
||||
},
|
||||
"configure": "Konfigurieren",
|
||||
@ -1698,6 +1740,11 @@
|
||||
"confirm_new": "Möchtest du {integration} einrichten?",
|
||||
"description": "Integrationen zu Diensten, Geräten, usw. verwalten",
|
||||
"details": "Details zur Integration",
|
||||
"disable": {
|
||||
"disabled_integrations": "{number} deaktiviert",
|
||||
"hide_disabled": "Deaktivierte Integrationen ausblenden",
|
||||
"show_disabled": "Deaktivierte Integrationen anzeigen"
|
||||
},
|
||||
"discovered": "Entdeckt",
|
||||
"home_assistant_website": "Home Assistant Website",
|
||||
"ignore": {
|
||||
@ -2331,6 +2378,7 @@
|
||||
"common": {
|
||||
"add_node": "Knoten hinzufügen",
|
||||
"close": "Schließen",
|
||||
"home_id": "Heim-ID",
|
||||
"network": "Netzwerk",
|
||||
"node_id": "Knoten-ID",
|
||||
"remove_node": "Node entfernen"
|
||||
@ -2344,6 +2392,7 @@
|
||||
"dump_not_ready_text": "Wenn du einen Export erstellst, während nicht alle Knoten bereit sind, können benötigte Daten fehlen. Gib deinem Netzwerk etwas Zeit, um alle Knoten abzufragen. Möchtest du mit dem Dump fortfahren?",
|
||||
"dump_not_ready_title": "Es sind noch nicht alle Knoten bereit",
|
||||
"header": "Verwalte dein Z-Wave-Netzwerk",
|
||||
"home_id": "Heim-ID",
|
||||
"introduction": "Verwalte dein Z-Wave-Netzwerk und Z-Wave-Knoten",
|
||||
"nodes_ready": "Knoten bereit",
|
||||
"server_version": "Serverversion"
|
||||
@ -2495,17 +2544,23 @@
|
||||
"type": "Ereignistyp"
|
||||
},
|
||||
"services": {
|
||||
"accepts_target": "Dieser Dienst akzeptiert ein Ziel, zum Beispiel: \"entity_id: light.bed_light\"",
|
||||
"all_parameters": "Alle verfügbare Parameter",
|
||||
"call_service": "Dienst ausführen",
|
||||
"column_description": "Beschreibung",
|
||||
"column_example": "Beispiel",
|
||||
"column_parameter": "Parameter",
|
||||
"description": "Mit dem Dienstentwicklungstool kannst du jeden verfügbaren Dienst in Home Assistant aufrufen.",
|
||||
"fill_example_data": "Mit Beispieldaten füllen",
|
||||
"title": "Dienste"
|
||||
"title": "Dienste",
|
||||
"ui_mode": "Zum UI Modus",
|
||||
"yaml_mode": "Zum YAML Modus",
|
||||
"yaml_parameters": "Parameter nur im YAML Modus verfügbar"
|
||||
},
|
||||
"states": {
|
||||
"alert_entity_field": "Die Entität ist ein Pflichtfeld",
|
||||
"attributes": "Attribute",
|
||||
"copy_id": "ID in die Zwischenablage kopieren",
|
||||
"current_entities": "Aktuelle Entitäten",
|
||||
"description1": "Stelle die Darstellung eines Geräts in Home Assistant ein.",
|
||||
"description2": "Dies führt nicht zur Kommunikation mit dem eigentlichen Gerät.",
|
||||
@ -3031,8 +3086,11 @@
|
||||
"playback_title": "Nachrichtenwiedergabe"
|
||||
},
|
||||
"my": {
|
||||
"component_not_loaded": "Diese Weiterleitung wird von deiner Home Assistant-Instanz nicht unterstützt. Du benötigst die Integration {integration}, um diese Weiterleitung zu verwenden.",
|
||||
"documentation": "Dokumentation",
|
||||
"error": "Ein unbekannter Fehler ist aufgetreten.",
|
||||
"faq_link": "Meine Home Assistant FAQ",
|
||||
"no_supervisor": "Diese Weiterleitung wird von deiner Home Assistant-Installation nicht unterstützt. Benötigt entweder das Home Assistant-Betriebssystem oder die Home Assistant Supervised-Installationsmethode. Weitere Informationen finden Sie unter {docs_link}.",
|
||||
"not_supported": "Diese Weiterleitung wird von deiner Home Assistant-Instanz nicht unterstützt. Überprüfe den {link} auf die unterstützten Weiterleitungen und die Version, in der sie eingeführt wurden."
|
||||
},
|
||||
"page-authorize": {
|
||||
|
@ -696,6 +696,7 @@
|
||||
"scene": "Σκηνές",
|
||||
"script": "Scripts",
|
||||
"server_control": "Στοιχεία ελέγχου Server",
|
||||
"tag": "Ετικέτες",
|
||||
"tags": "Ετικέτες",
|
||||
"users": "Χρήστες",
|
||||
"zone": "Ζώνες"
|
||||
|
@ -1 +1,50 @@
|
||||
{}
|
||||
{
|
||||
"ui": {
|
||||
"card": {
|
||||
"light": {
|
||||
"color_temperature": "Colour temperature"
|
||||
}
|
||||
},
|
||||
"panel": {
|
||||
"config": {
|
||||
"automation": {
|
||||
"editor": {
|
||||
"conditions": {
|
||||
"type": {
|
||||
"time": {
|
||||
"weekdays": {
|
||||
"mon": "Monday"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"integrations": {
|
||||
"caption": "Integrations",
|
||||
"configure": "Configure",
|
||||
"configured": "Configured",
|
||||
"description": "Manage and set up integrations",
|
||||
"discovered": "Discovered",
|
||||
"new": "Set up a new integration",
|
||||
"no_integrations": "It seems like you don't have any integrations configured yet. Click on the button below to add your first integration!"
|
||||
}
|
||||
},
|
||||
"lovelace": {
|
||||
"editor": {
|
||||
"card": {
|
||||
"iframe": {
|
||||
"description": "The Webpage card allows you to embed your favourite webpage right into Home Assistant."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"themes": {
|
||||
"accent_color": "Accent colour",
|
||||
"primary_color": "Primary colour"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -696,6 +696,7 @@
|
||||
"scene": "Scenes",
|
||||
"script": "Scripts",
|
||||
"server_control": "Server Controls",
|
||||
"tag": "Tags",
|
||||
"tags": "Tags",
|
||||
"users": "Users",
|
||||
"zone": "Zones"
|
||||
|
@ -1,50 +0,0 @@
|
||||
{
|
||||
"ui": {
|
||||
"card": {
|
||||
"light": {
|
||||
"color_temperature": "Colour temperature"
|
||||
}
|
||||
},
|
||||
"panel": {
|
||||
"config": {
|
||||
"automation": {
|
||||
"editor": {
|
||||
"conditions": {
|
||||
"type": {
|
||||
"time": {
|
||||
"weekdays": {
|
||||
"mon": "Monday"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"integrations": {
|
||||
"caption": "Integrations",
|
||||
"configure": "Configure",
|
||||
"configured": "Configured",
|
||||
"description": "Manage and set up integrations",
|
||||
"discovered": "Discovered",
|
||||
"new": "Set up a new integration",
|
||||
"no_integrations": "It seems like you don't have any integrations configured yet. Click on the button below to add your first integration!"
|
||||
}
|
||||
},
|
||||
"lovelace": {
|
||||
"editor": {
|
||||
"card": {
|
||||
"iframe": {
|
||||
"description": "The Webpage card allows you to embed your favourite webpage right into Home Assistant."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"themes": {
|
||||
"accent_color": "Accent colour",
|
||||
"primary_color": "Primary colour"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -696,6 +696,7 @@
|
||||
"scene": "Escenas",
|
||||
"script": "Scripts",
|
||||
"server_control": "Controles del servidor",
|
||||
"tag": "Etiquetas",
|
||||
"tags": "Etiquetas",
|
||||
"users": "Usuarios",
|
||||
"zone": "Zonas"
|
||||
|
@ -696,6 +696,7 @@
|
||||
"scene": "Stseenid",
|
||||
"script": "Scriptid",
|
||||
"server_control": "Serveri juhtimine",
|
||||
"tag": "Märgised",
|
||||
"tags": "Märgised",
|
||||
"users": "Kasutajad",
|
||||
"zone": "Tsoonid"
|
||||
@ -1268,7 +1269,7 @@
|
||||
"manage_entities": "Halda olemeid",
|
||||
"security_devices": "Turvaseadmed",
|
||||
"sync_entities": "Sünkrooni olemid Google'iga",
|
||||
"sync_entities_404_message": "Teie olemite Google'iga sünkroonimine ebaõnnestus, paluge Google'il teie olemite sünkroonimiseks \"Hey Google, sync my devices\".",
|
||||
"sync_entities_404_message": "Teie olemite Google'iga sünkroonimine ebaõnnestus, paluge Google'il teie olemite sünkroonimist \"Hey Google, sync my devices\".",
|
||||
"title": "Google Assistant"
|
||||
},
|
||||
"integrations": "Sidumised",
|
||||
@ -1281,9 +1282,9 @@
|
||||
"remote": {
|
||||
"access_is_being_prepared": "Kaugjuurdepääs on ettevalmistamisel. Teavitame teid, kui see on valmis.",
|
||||
"certificate_info": "Sertifikaadi teave",
|
||||
"info": "Home Assistant Cloud pakub turvalist kaugühendust teie Home Assistantiga kodust eemal olles.",
|
||||
"info": "Home Assistant Cloud pakub turvalist kaugühendust Home Assistantiga kodust eemal olles.",
|
||||
"instance_is_available": "Teie Home Assistant on saadaval aadressil",
|
||||
"instance_will_be_available": "Teie Home Assistanti on aadressiks saab",
|
||||
"instance_will_be_available": "Teie Home Assistanti aadressiks saab",
|
||||
"link_learn_how_it_works": "Loe kuidas see töötab",
|
||||
"title": "Kaugjuhtimine"
|
||||
},
|
||||
@ -1467,7 +1468,7 @@
|
||||
},
|
||||
"warning": {
|
||||
"include_link": "kaasa customize.yaml",
|
||||
"include_sentence": "Tundub, et teie configuration.yaml ei tee õigesti",
|
||||
"include_sentence": "Tundub, et Teie configuration.yaml ei tee õigesti",
|
||||
"not_applied": "Siin tehtud muudatused on salvestatud kuid neid ei rakendata enne konfiguratsiooni uuesti laadimist kui kaasamine pole paigas."
|
||||
}
|
||||
},
|
||||
@ -1747,7 +1748,7 @@
|
||||
"discovered": "Leitud",
|
||||
"home_assistant_website": "Home Assistant veebisait",
|
||||
"ignore": {
|
||||
"confirm_delete_ignore": "See muudab sidumiseteie avastatudsidumistes uuesti ilmnema kui see avastatakse. See võib vajada taaskäivitamist või võtta veidi aega.",
|
||||
"confirm_delete_ignore": "See muudab sidumise teie avastatud sidumistes uuesti ilmnema kui see avastatakse. See võib vajada taaskäivitamist või võtta veidi aega.",
|
||||
"confirm_delete_ignore_title": "Kas lõpetada {name} eiramine?",
|
||||
"confirm_ignore": "Olete Te kindel, et ei soovi seda integratsiooni seadistada? Selle saate tagasi võtta klõpsates paremas ülanurgas menüüs valikul „Kuva ignoreeritud sidumised”.",
|
||||
"confirm_ignore_title": "Kas eirata {name} avastamist?",
|
||||
@ -2173,12 +2174,12 @@
|
||||
}
|
||||
},
|
||||
"tag": {
|
||||
"add_tag": "Lisa TAG",
|
||||
"automation_title": "TAG {name} on skannitud",
|
||||
"caption": "TAGid",
|
||||
"add_tag": "Lisa märgis",
|
||||
"automation_title": "Märgis {name} on skannitud",
|
||||
"caption": "Märgised",
|
||||
"confirm_remove": "Kas soovid kindlasti eemaldada märgise {tag}?",
|
||||
"confirm_remove_title": "Kas kustutan märgise?",
|
||||
"create_automation": "Lisa automatiseering TAG abil",
|
||||
"create_automation": "Lisa automatiseering märgise abil",
|
||||
"description": "Käivita automaatiseering NFC-sildi, QR-koodi jne. skännimisel",
|
||||
"detail": {
|
||||
"companion_apps": "mobiilirakendused",
|
||||
@ -2187,8 +2188,8 @@
|
||||
"delete": "Kustuta",
|
||||
"description": "Kirjeldus",
|
||||
"name": "Nimi",
|
||||
"new_tag": "Uus TAG",
|
||||
"tag_id": "TAG ID",
|
||||
"new_tag": "Uus märgis",
|
||||
"tag_id": "Märgise ID",
|
||||
"tag_id_placeholder": "Tühjaks jätmise korral luuakse automaatselt",
|
||||
"update": "Uuenda",
|
||||
"usage": "Silt võib skannimisel käivitada automaatiseeringu. Võite kasutada NFC-silte, QR-koode või muud tüüpi silte. Kasutage meie äppi {companion_link}, et kirjutada see silt programmeeritavale NFC-märgendile või luua allpool QR-kood."
|
||||
@ -2199,9 +2200,9 @@
|
||||
"name": "Nimi"
|
||||
},
|
||||
"learn_more": "Lisateave märgiste kohta",
|
||||
"never_scanned": "TAGe pole skaneeritud",
|
||||
"no_tags": "TAGe pole",
|
||||
"write": "Salvesta TAG"
|
||||
"never_scanned": "Märgiseid pole skännitud",
|
||||
"no_tags": "Märgiseid pole",
|
||||
"write": "Salvesta märgis"
|
||||
},
|
||||
"users": {
|
||||
"add_user": {
|
||||
@ -3251,7 +3252,7 @@
|
||||
"button_detect": "Tuvasta",
|
||||
"finish": "Edasi",
|
||||
"intro": "Tere tulemast Home Assistant'i kasutama, {name}. Kuidas sa soovid oma kodu nimetada?",
|
||||
"intro_location": "Soovime teada, kus sa elad. See teave aitab informatsiooni kuvamisel ja päikesepõhiste automatiseeringute loomisel. Neid andmeid ei jagata kunagi väljaspool teie võrku.",
|
||||
"intro_location": "Soovime teada kus sa elad. See teave aitab teabe kuvamisel ja päikesepõhiste automatiseeringute loomisel. Neid andmeid ei jagata kunagi väljaspool teie võrku.",
|
||||
"intro_location_detect": "Me saame aidata sul seda teavet leida, tehes ühekordse päringu välisele teenusele.",
|
||||
"location_name": "Sinu Home Assistant paigalduse nimi",
|
||||
"location_name_default": "Kodu"
|
||||
|
@ -200,7 +200,8 @@
|
||||
},
|
||||
"script": {
|
||||
"cancel": "Annuler",
|
||||
"cancel_multiple": "Annuler {number}"
|
||||
"cancel_multiple": "Annuler {number}",
|
||||
"run": "Exécuter"
|
||||
},
|
||||
"service": {
|
||||
"run": "Exécuter"
|
||||
@ -295,6 +296,19 @@
|
||||
"yes": "Oui"
|
||||
},
|
||||
"components": {
|
||||
"addon-picker": {
|
||||
"addon": "Modules complémentaires",
|
||||
"error": {
|
||||
"fetch_addons": {
|
||||
"description": "La récupération des modules complémentaires a renvoyé une erreur.",
|
||||
"title": "Erreur lors de la récupération des modules complémentaires"
|
||||
},
|
||||
"no_supervisor": {
|
||||
"description": "Aucun Superviseur n'a été trouvé, donc les modules complémentaires n'ont pas pu être chargés.",
|
||||
"title": "Aucun superviseur"
|
||||
}
|
||||
}
|
||||
},
|
||||
"area-picker": {
|
||||
"add_dialog": {
|
||||
"add": "Ajouter",
|
||||
@ -682,6 +696,7 @@
|
||||
"scene": "Scènes",
|
||||
"script": "Scripts",
|
||||
"server_control": "Contrôle du serveur",
|
||||
"tag": "Balises",
|
||||
"tags": "Balises",
|
||||
"users": "Utilisateurs",
|
||||
"zone": "Zones"
|
||||
@ -1485,6 +1500,7 @@
|
||||
"cant_edit": "Vous ne pouvez modifier que les éléments créés dans l'interface utilisateur.",
|
||||
"caption": "Appareils",
|
||||
"confirm_delete": "Voulez-vous vraiment supprimer cet appareil ?",
|
||||
"confirm_disable_config_entry": "Il n'y a plus de périphériques pour l'entrée de configuration {entry_name} , voulez-vous à la place désactiver l'entrée de configuration?",
|
||||
"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.",
|
||||
"data_table": {
|
||||
@ -1597,7 +1613,8 @@
|
||||
},
|
||||
"filtering": {
|
||||
"clear": "Effacer",
|
||||
"filtering_by": "Filtrage par"
|
||||
"filtering_by": "Filtrage par",
|
||||
"show": "Montrer"
|
||||
},
|
||||
"header": "Configurer Home Assistant",
|
||||
"helpers": {
|
||||
@ -1668,7 +1685,19 @@
|
||||
"delete_confirm": "Êtes-vous sûr de vouloir supprimer cette intégration?",
|
||||
"device_unavailable": "Appareil non disponible",
|
||||
"devices": "{count} {count, plural,\n zero {appareil}\n one {appareil}\n other {appareils}\n}",
|
||||
"disable_restart_confirm": "Redémarrez Home Assistant pour terminer la désactivation de cette intégration",
|
||||
"disable": {
|
||||
"disable_confirm": "Voulez-vous vraiment désactiver cette entrée de configuration? Ses appareils et entités seront désactivés.",
|
||||
"disabled": "Désactivé",
|
||||
"disabled_by": {
|
||||
"device": "appareil",
|
||||
"integration": "intégration",
|
||||
"user": "utilisateur"
|
||||
},
|
||||
"disabled_cause": "Désactivé par {cause}"
|
||||
},
|
||||
"documentation": "Documentation",
|
||||
"enable_restart_confirm": "Redémarrez Home Assistant pour terminer l'activation de cette intégration",
|
||||
"entities": "{count} {count, plural,\n zero {entité}\n one {entité}\n other {entités}\n}",
|
||||
"entity_unavailable": "Entité indisponible",
|
||||
"firmware": "Firmware: {version}",
|
||||
@ -1711,6 +1740,11 @@
|
||||
"confirm_new": "Voulez-vous configurer {intégration} ?",
|
||||
"description": "Gérer les appareils et services connectés",
|
||||
"details": "Détails de l'intégration",
|
||||
"disable": {
|
||||
"disabled_integrations": "{number} désactivé",
|
||||
"hide_disabled": "Masquer les intégrations désactivées",
|
||||
"show_disabled": "Afficher les intégrations désactivées"
|
||||
},
|
||||
"discovered": "Découvert",
|
||||
"home_assistant_website": "site web de Home Assistant",
|
||||
"ignore": {
|
||||
@ -2536,6 +2570,7 @@
|
||||
"states": {
|
||||
"alert_entity_field": "L'entité est un champ obligatoire",
|
||||
"attributes": "Attributs",
|
||||
"copy_id": "Copier l'ID dans le presse-papiers",
|
||||
"current_entities": "Entités actuelles",
|
||||
"description1": "Définir la représentation d'un périphérique dans Home Assistant.",
|
||||
"description2": "Cela ne communiquera pas avec le périphérique réel.",
|
||||
@ -3062,8 +3097,10 @@
|
||||
},
|
||||
"my": {
|
||||
"component_not_loaded": "Cette redirection n'est pas prise en charge par votre instance Home Assistant. Vous avez besoin de l'intégration {integration} pour utiliser cette redirection.",
|
||||
"documentation": "documentation",
|
||||
"error": "Une erreur inconnue est survenue",
|
||||
"faq_link": "Ma Home Assistant FAQ",
|
||||
"no_supervisor": "Cette redirection n'est pas prise en charge par votre installation Home Assistant. Il nécessite soit le système d'exploitation Home Assistant, soit la méthode d'installation supervisée par Home Assistant. Pour plus d'informations, consultez le {docs_link} .",
|
||||
"not_supported": "Cette redirection n'est pas prise en charge par votre instance Home Assistant. Vérifiez le {link} pour les redirections prises en charge et la version dans laquelle elles ont été introduites."
|
||||
},
|
||||
"page-authorize": {
|
||||
|
@ -66,14 +66,14 @@
|
||||
},
|
||||
"state_badge": {
|
||||
"alarm_control_panel": {
|
||||
"armed": "Armed",
|
||||
"armed_away": "Armed",
|
||||
"armed_custom_bypass": "Armed",
|
||||
"armed_home": "Armed",
|
||||
"armed_night": "Armed",
|
||||
"arming": "Arming",
|
||||
"disarmed": "Disarm",
|
||||
"disarming": "Disarm",
|
||||
"armed": "Diaktifkan",
|
||||
"armed_away": "Diaktifkan",
|
||||
"armed_custom_bypass": "Diaktifkan",
|
||||
"armed_home": "Diaktifkan",
|
||||
"armed_night": "Diaktifkan",
|
||||
"arming": "Mengaktifkan",
|
||||
"disarmed": "Nonaktif",
|
||||
"disarming": "Nonaktif",
|
||||
"pending": "Tunda",
|
||||
"triggered": "Picu"
|
||||
},
|
||||
@ -108,18 +108,22 @@
|
||||
},
|
||||
"card": {
|
||||
"alarm_control_panel": {
|
||||
"arm_away": "Aktifkan utk keluar",
|
||||
"arm_home": "Aktifkan utk di rumah",
|
||||
"arm_night": "Aktifkan utk malam",
|
||||
"clear_code": "Hapus",
|
||||
"code": "Kode"
|
||||
"code": "Kode",
|
||||
"disarm": "Nonaktifkan"
|
||||
},
|
||||
"automation": {
|
||||
"last_triggered": "Terakhir terpicu",
|
||||
"trigger": "Picu"
|
||||
"trigger": "Jalankan Aksi"
|
||||
},
|
||||
"camera": {
|
||||
"not_available": "Gambar tidak tersedia"
|
||||
},
|
||||
"climate": {
|
||||
"aux_heat": "Aux panas",
|
||||
"aux_heat": "Pemanasan tambahan",
|
||||
"away_mode": "Mode keluar rumah",
|
||||
"cooling": "Pendinginan {name}",
|
||||
"current_temperature": "Suhu {name} saat ini",
|
||||
@ -134,8 +138,8 @@
|
||||
"swing_mode": "Mode ayunan",
|
||||
"target_humidity": "Target kelembaban",
|
||||
"target_temperature": "Target suhu",
|
||||
"target_temperature_entity": "target suhu {name}",
|
||||
"target_temperature_mode": "{nama} target suhu {mode}"
|
||||
"target_temperature_entity": "Target suhu {name}",
|
||||
"target_temperature_mode": "Target suhu {name} {mode}"
|
||||
},
|
||||
"counter": {
|
||||
"actions": {
|
||||
@ -370,7 +374,8 @@
|
||||
"changed_to_state": "berubah menjadi {state}",
|
||||
"cleared_device_class": "dibersihkan (tidak ada {device_class} yang terdeteksi)",
|
||||
"detected_device_class": "terdeteksi {device_class}",
|
||||
"set": "disetel",
|
||||
"rose": "terbit",
|
||||
"set": "terbenam",
|
||||
"turned_off": "dimatikan",
|
||||
"turned_on": "dinyalakan",
|
||||
"was_at_home": "terdeteksi di rumah",
|
||||
@ -439,7 +444,7 @@
|
||||
},
|
||||
"related-items": {
|
||||
"area": "Area",
|
||||
"automation": "Bagian dari otomatisasi berikut",
|
||||
"automation": "Bagian dari otomasi berikut",
|
||||
"device": "Perangkat",
|
||||
"entity": "Entitas terkait",
|
||||
"group": "Bagian dari grup berikut",
|
||||
@ -670,7 +675,7 @@
|
||||
"commands": {
|
||||
"navigation": {
|
||||
"areas": "Area",
|
||||
"automation": "Otomatisasi",
|
||||
"automation": "Otomasi",
|
||||
"blueprint": "Blueprint",
|
||||
"core": "Umum",
|
||||
"customize": "Penyesuaian",
|
||||
@ -686,12 +691,13 @@
|
||||
"scene": "Scene",
|
||||
"script": "Skrip",
|
||||
"server_control": "Kontrol Server",
|
||||
"tag": "Tag",
|
||||
"tags": "Tag",
|
||||
"users": "Pengguna",
|
||||
"zone": "Zona"
|
||||
},
|
||||
"reload": {
|
||||
"automation": "Muat ulang otomatisasi",
|
||||
"automation": "Muat ulang otomasi",
|
||||
"command_line": "Muat ulang entitas baris perintah",
|
||||
"core": "Muat ulang lokasi & penyesuaian",
|
||||
"filesize": "Muat ulang entitas ukuran file",
|
||||
@ -844,7 +850,7 @@
|
||||
}
|
||||
},
|
||||
"automation": {
|
||||
"caption": "Otomatisasi",
|
||||
"caption": "Otomasi",
|
||||
"description": "Buat aturan perilaku khusus untuk rumah Anda",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
@ -1158,10 +1164,10 @@
|
||||
},
|
||||
"picker": {
|
||||
"add_automation": "Tambah otomasi",
|
||||
"delete_automation": "Hapus otomatisasi",
|
||||
"delete_confirm": "Yakin ingin menghapus otomatisasi ini?",
|
||||
"delete_automation": "Hapus otomasi",
|
||||
"delete_confirm": "Yakin ingin menghapus otomasi ini?",
|
||||
"duplicate": "Gandakan",
|
||||
"duplicate_automation": "Gandakan otomatisasi",
|
||||
"duplicate_automation": "Gandakan otomasi",
|
||||
"edit_automation": "Edit otomasi",
|
||||
"header": "Editor Otomasi",
|
||||
"headers": {
|
||||
@ -1172,7 +1178,7 @@
|
||||
"no_automations": "Kami tidak dapat menemukan otomasi yang dapat diedit",
|
||||
"only_editable": "Hanya otomasi yang didefinisikan di automations.yaml yang bisa diedit.",
|
||||
"pick_automation": "Pilih otomasi untuk diedit",
|
||||
"show_info_automation": "Tampilkan info tentang otomatisasi"
|
||||
"show_info_automation": "Tampilkan info tentang otomasi"
|
||||
},
|
||||
"thingtalk": {
|
||||
"create": "Buat otomasi",
|
||||
@ -1183,10 +1189,10 @@
|
||||
},
|
||||
"task_selection": {
|
||||
"error_empty": "Masukkan perintah atau ketuk lewati.",
|
||||
"error_unsupported": "Kami tidak dapat membuat otomatisasi untuk itu (belum?).",
|
||||
"error_unsupported": "Kami (masih?) belum dapat membuat otomasi untuk itu.",
|
||||
"for_example": "Misalnya:",
|
||||
"header": "Buat otomatisasi baru",
|
||||
"introduction": "Ketik di bawah ini apa yang harus dilakukan oleh otomatisasi ini, dan kami akan mencoba mengubahnya menjadi otomatisasi Home Assistant.",
|
||||
"header": "Buat otomasi baru",
|
||||
"introduction": "Ketik di bawah ini apa yang harus dilakukan oleh otomasi ini, dan kami akan mencoba mengubahnya menjadi otomasi Home Assistant.",
|
||||
"language_note": "Catatan: Saat ini hanya bahasa Inggris yang didukung."
|
||||
}
|
||||
}
|
||||
@ -1200,10 +1206,10 @@
|
||||
"import_btn": "Pratinjau blueprint",
|
||||
"import_header": "Blueprint \"{name}\"",
|
||||
"import_introduction_link": "Anda dapat mengimpor blueprint pengguna lain dari Github dan {community_link}. Masukkan URL blueprint di bawah ini.",
|
||||
"importing": "Memuat blueprint...",
|
||||
"importing": "Memuat blueprint…",
|
||||
"raw_blueprint": "Isi blueprint",
|
||||
"save_btn": "Impor blueprint",
|
||||
"saving": "Mengimpor blueprint...",
|
||||
"saving": "Mengimpor blueprint…",
|
||||
"unsupported_blueprint": "Blueprint ini tidak didukung",
|
||||
"url": "URL blueprint"
|
||||
},
|
||||
@ -1278,7 +1284,7 @@
|
||||
"title": "Kontrol Jarak Jauh"
|
||||
},
|
||||
"sign_out": "Keluar",
|
||||
"thank_you_note": "Terima kasih telah menjadi bagian dari Home Assistant Cloud. Berkat orang-orang seperti Anda, kami dapat membuat pengalaman otomatisasi rumah yang hebat untuk semua orang. Terima kasih!",
|
||||
"thank_you_note": "Terima kasih telah menjadi bagian dari Home Assistant Cloud. Berkat orang-orang seperti Anda, kami dapat membuat pengalaman otomasi rumah yang hebat untuk semua orang. Terima kasih!",
|
||||
"tts": {
|
||||
"default_language": "Bahasa baku untuk digunakan",
|
||||
"dialog": {
|
||||
@ -1289,7 +1295,7 @@
|
||||
"target_browser": "Browser"
|
||||
},
|
||||
"female": "Perempuan",
|
||||
"info": "Bawa kepribadian ke rumah Anda dengan memintanya berbicara kepada Anda dengan menggunakan layanan Teks ke Ucapan kami. Anda dapat menggunakan ini dalam otomatisasi dan skrip dengan menggunakan layanan {service}.",
|
||||
"info": "Bawa kepribadian ke rumah Anda dengan memintanya berbicara kepada Anda dengan menggunakan layanan Teks ke Ucapan kami. Anda dapat menggunakan ini dalam otomasi dan skrip dengan menggunakan layanan {service}.",
|
||||
"male": "Pria",
|
||||
"title": "Teks ke Ucapan",
|
||||
"try": "Coba"
|
||||
@ -1297,11 +1303,11 @@
|
||||
"webhooks": {
|
||||
"disable_hook_error_msg": "Gagal menonaktifkan webhook:",
|
||||
"info": "Semua yang dikonfigurasi untuk dipicu oleh webhook dapat ditetapkan URL-nya, yang dapat diakses publik untuk memungkinkan Anda mengirim data kembali ke Home Assistant dari mana saja, tanpa mengekspos instans Anda ke internet.",
|
||||
"link_learn_more": "Pelajari lebih lanjut tentang membuat otomatisasi yang didukung webhook.",
|
||||
"loading": "Memuat...",
|
||||
"link_learn_more": "Pelajari lebih lanjut tentang membuat otomasi yang didukung webhook.",
|
||||
"loading": "Memuat…",
|
||||
"manage": "Kelola",
|
||||
"no_hooks_yet": "Sepertinya Anda belum memiliki webhook. Mulailah dengan mengonfigurasi",
|
||||
"no_hooks_yet_link_automation": "otomatisasi webhook",
|
||||
"no_hooks_yet_link_automation": "otomasi webhook",
|
||||
"no_hooks_yet_link_integration": "integrasi berbasis webhook",
|
||||
"no_hooks_yet2": " atau dengan membuat ",
|
||||
"title": "Webhook"
|
||||
@ -1465,26 +1471,26 @@
|
||||
"add_prompt": "Belum ada {name} yang ditambahkan menggunakan perangkat ini. Anda dapat menambahkannya dengan mengklik tombol + di atas.",
|
||||
"automation": {
|
||||
"actions": {
|
||||
"caption": "Ketika sesuatu dipicu...",
|
||||
"caption": "Ketika sesuatu dipicu…",
|
||||
"no_actions": "Tidak ada aksi",
|
||||
"unknown_action": "Aksi tidak diketahui"
|
||||
},
|
||||
"automations": "Otomatisasi",
|
||||
"automations": "Otomasi",
|
||||
"conditions": {
|
||||
"caption": "Lakukan sesuatu hanya jika...",
|
||||
"caption": "Lakukan sesuatu hanya jika…",
|
||||
"no_conditions": "Tidak ada kondisi",
|
||||
"unknown_condition": "Kondisi tidak diketahui"
|
||||
},
|
||||
"create": "Buat otomatisasi dengan perangkat",
|
||||
"create_disable": "Tidak dapat membuat otomatisasi dengan perangkat yang dinonaktifkan",
|
||||
"no_automations": "Tidak ada otomatisasi",
|
||||
"no_device_automations": "Tidak ada otomatisasi yang tersedia untuk perangkat ini.",
|
||||
"create": "Buat otomasi dengan perangkat",
|
||||
"create_disable": "Tidak dapat membuat otomasi dengan perangkat yang dinonaktifkan",
|
||||
"no_automations": "Tidak ada otomasi",
|
||||
"no_device_automations": "Tidak ada otomasi yang tersedia untuk perangkat ini.",
|
||||
"triggers": {
|
||||
"caption": "Lakukan sesuatu jika...",
|
||||
"caption": "Lakukan sesuatu jika…",
|
||||
"no_triggers": "Tidak ada pemicu",
|
||||
"unknown_trigger": "Pemicu tidak diketahui"
|
||||
},
|
||||
"unknown_automation": "Otomatisasi tidak diketahui"
|
||||
"unknown_automation": "Otomasi tidak diketahui"
|
||||
},
|
||||
"cant_edit": "Anda hanya dapat mengedit item yang dibuat di antarmuka.",
|
||||
"caption": "Perangkat",
|
||||
@ -1768,7 +1774,7 @@
|
||||
"description": "Lihat log Home Assistant",
|
||||
"details": "Detail Log ({level})",
|
||||
"load_full_log": "Muat Log Lengkap Home Assistant",
|
||||
"loading_log": "Memuat log kesalahan...",
|
||||
"loading_log": "Memuat log kesalahan…",
|
||||
"multiple_messages": "pesan pertama kali muncul pada {time} dan muncul {counter} kali",
|
||||
"no_errors": "Tidak ada kesalahan yang dilaporkan.",
|
||||
"no_issues": "Tidak ada masalah baru!",
|
||||
@ -1962,7 +1968,7 @@
|
||||
"complete": "Penyegaran Node Selesai",
|
||||
"description": "Ini akan memberi tahu OpenZWave untuk mewawancarai kembali node dan memperbarui kelas, kapabilitas, dan nilai perintah node.",
|
||||
"node_status": "Status Node",
|
||||
"refreshing_description": "Menyegarkan informasi node...",
|
||||
"refreshing_description": "Menyegarkan informasi node…",
|
||||
"start_refresh_button": "Mulai Segarkan",
|
||||
"step": "Langkah",
|
||||
"title": "Segarkan Informasi Node",
|
||||
@ -2070,7 +2076,7 @@
|
||||
"id": "ID Entitas",
|
||||
"id_already_exists": "ID ini sudah ada",
|
||||
"id_already_exists_save_error": "Anda tidak dapat menyimpan skrip ini karena ID tidak unik, pilih ID lain atau biarkan kosong untuk membuat ID secara otomatis.",
|
||||
"introduction": "Gunakan skrip untuk menjalankan serangkaian tindakan berurutan.",
|
||||
"introduction": "Gunakan skrip untuk menjalankan serangkaian aksi berurutan.",
|
||||
"link_available_actions": "Pelajari lebih lanjut tentang tindakan yang tersedia.",
|
||||
"load_error_not_editable": "Hanya skrip di dalam scripts.yaml yang dapat diedit.",
|
||||
"max": {
|
||||
@ -2111,7 +2117,7 @@
|
||||
"description": "Mulai ulang dan hentikan server Home Assistant",
|
||||
"section": {
|
||||
"reloading": {
|
||||
"automation": "Muat ulang otomatisasi",
|
||||
"automation": "Muat ulang otomasi",
|
||||
"command_line": "Muat ulang entitas baris perintah",
|
||||
"core": "Muat ulang lokasi & penyesuaian",
|
||||
"filesize": "Muat ulang entitas ukuran file",
|
||||
@ -2168,7 +2174,7 @@
|
||||
"caption": "Tag",
|
||||
"confirm_remove": "Yakin ingin menghapus tag {tag}?",
|
||||
"confirm_remove_title": "Hapus tag?",
|
||||
"create_automation": "Buat otomatisasi dengan tag",
|
||||
"create_automation": "Buat otomasi dengan tag",
|
||||
"description": "Picu otomasi ketika tag NFC, kode QR, dll dipindai",
|
||||
"detail": {
|
||||
"companion_apps": "aplikasi pendamping",
|
||||
@ -2181,7 +2187,7 @@
|
||||
"tag_id": "ID Tag",
|
||||
"tag_id_placeholder": "Dibuat otomatis saat dibiarkan kosong",
|
||||
"update": "Perbarui",
|
||||
"usage": "Tag dapat memicu otomatisasi saat dipindai, Anda dapat menggunakan tag NFC, kode QR, atau jenis tag lainnya. Gunakan {companion_link} untuk menulis tag ini ke tag NFC yang dapat diprogram atau buat kode QR di bawah ini."
|
||||
"usage": "Tag dapat memicu otomasi saat dipindai, Anda dapat menggunakan tag NFC, kode QR, atau jenis tag lainnya. Gunakan {companion_link} untuk menulis tag ini ke tag NFC yang dapat diprogram atau buat kode QR di bawah ini."
|
||||
},
|
||||
"edit": "Edit",
|
||||
"headers": {
|
||||
@ -2246,7 +2252,7 @@
|
||||
"no_devices_found": "Tidak ada perangkat yang ditemukan, pastikan perangkat dalam mode pairing dan tetap aktifkan saat pencarian sedang berjalan.",
|
||||
"pairing_mode": "Pastikan perangkat Anda dalam mode pairing. Periksa petunjuk perangkat Anda tentang cara melakukannya.",
|
||||
"search_again": "Cari Lagi",
|
||||
"spinner": "Mencari perangkat ZHA Zigbee..."
|
||||
"spinner": "Mencari perangkat ZHA Zigbee…"
|
||||
},
|
||||
"button": "Konfigurasikan",
|
||||
"cluster_attributes": {
|
||||
@ -2351,7 +2357,7 @@
|
||||
"edit_home_zone_narrow": "Radius zona Rumah belum dapat diedit dari antarmuka. Lokasi dapat diubah dari konfigurasi umum.",
|
||||
"go_to_core_config": "Buka konfigurasi umum?",
|
||||
"home_zone_core_config": "Lokasi zona rumah Anda dapat diedit dari halaman konfigurasi umum. Radius zona Rumah belum dapat diedit dari antarmuka. Apakah Anda ingin membuka konfigurasi umum?",
|
||||
"introduction": "Zona memungkinkan Anda untuk menentukan wilayah tertentu di bumi. Ketika seseorang berada dalam zona, status akan mengambil nama dari zona tersebut. Zona juga dapat digunakan sebagai pemicu atau kondisi di dalam pengaturan otomatisasi.",
|
||||
"introduction": "Zona memungkinkan Anda untuk menentukan wilayah tertentu di bumi. Ketika seseorang berada dalam zona, status akan mengambil nama dari zona tersebut. Zona juga dapat digunakan sebagai pemicu atau kondisi di dalam pengaturan otomasi.",
|
||||
"no_zones_created_yet": "Sepertinya Anda belum membuat zona."
|
||||
},
|
||||
"zwave_js": {
|
||||
@ -2447,7 +2453,8 @@
|
||||
"network_status": {
|
||||
"network_started": "Jaringan Z-Wave Dimulai",
|
||||
"network_started_note_all_queried": "Semua node telah dikueri.",
|
||||
"network_starting": "Memulai Jaringan Z-Wave...",
|
||||
"network_started_note_some_queried": "Semua node yang bangun telah dikueri. Node yang tidur akan dikueri ketika nodenya bangun.",
|
||||
"network_starting": "Memulai Jaringan Z-Wave…",
|
||||
"network_starting_note": "Ini mungkin memakan waktu cukup lama tergantung pada ukuran jaringan Anda.",
|
||||
"network_stopped": "Jaringan Z-Wave Berhenti"
|
||||
},
|
||||
@ -2484,6 +2491,7 @@
|
||||
},
|
||||
"ozw_log": {
|
||||
"header": "OZW Log",
|
||||
"introduction": "Tampilkan log. Nilai 0 adalah nilai minimum (memuat keselurukan log) dan 1000 adalah nilai maksimum. Tombol Muat akan menampilkan log secara statis dan tombol Lihat Terakhir akan memperbarui secara otomatis dengan jumlah baris terlihat sesuai dengan yang Anda pilih.",
|
||||
"last_log_lines": "Jumlah baris log terakhir",
|
||||
"load": "Muat",
|
||||
"tail": "Lihat Terakhir"
|
||||
@ -2516,6 +2524,7 @@
|
||||
"custom": {
|
||||
"external_panel": {
|
||||
"complete_access": "Ini akan memiliki akses ke semua data di Home Assistant.",
|
||||
"hide_message": "Periksa dokumentasi komponen panel_custom untuk menyembunyikan pesan ini",
|
||||
"question_trust": "Apakah Anda mempercayai panel eksternal {name} di {link}?"
|
||||
}
|
||||
},
|
||||
@ -2524,8 +2533,10 @@
|
||||
"events": {
|
||||
"alert_event_type": "Jenis peristiwa adalah bidang wajib diisi",
|
||||
"available_events": "Peristiwa yang Tersedia",
|
||||
"count_listeners": " ({count} listener)",
|
||||
"data": "Data Peristiwa (YAML, opsional)",
|
||||
"documentation": "Dokumentasi Peristiwa.",
|
||||
"listen_to_events": "Dengarkan ",
|
||||
"title": "Peristiwa",
|
||||
"type": "Jenis Peristiwa"
|
||||
},
|
||||
@ -2639,7 +2650,7 @@
|
||||
"reorder_items": "Susun ulang item"
|
||||
},
|
||||
"starting": {
|
||||
"description": "Home Assistant sedang memulai, harap tunggu..."
|
||||
"description": "Home Assistant sedang memulai, harap tunggu…"
|
||||
}
|
||||
},
|
||||
"changed_toast": {
|
||||
@ -3162,7 +3173,7 @@
|
||||
"data": {
|
||||
"user": "Pengguna"
|
||||
},
|
||||
"description": "Pilih pengguna yang ingin login sebagai:"
|
||||
"description": "Pilih pengguna yang diinginkan untuk masuk:"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3225,7 +3236,7 @@
|
||||
"button_detect": "Deteksi",
|
||||
"finish": "Berikutnya",
|
||||
"intro": "Halo {name}, selamat datang di Home Assistant. Nama apa yang ingin diberikan untuk rumah Anda?",
|
||||
"intro_location": "Kami ingin mengetahui tempat tinggal Anda. Informasi ini akan membantu menampilkan informasi dan menyiapkan otomatisasi berbasis matahari. Data ini tidak pernah dibagikan di luar jaringan Anda.",
|
||||
"intro_location": "Kami ingin mengetahui tempat tinggal Anda. Informasi ini akan membantu menampilkan informasi dan menyiapkan otomasi berbasis matahari. Data ini tidak pernah dibagikan di luar jaringan Anda.",
|
||||
"intro_location_detect": "Kami dapat membantu Anda mengisi informasi ini dengan membuat permintaan satu kali ke layanan eksternal.",
|
||||
"location_name": "Beri nama instalasi Home Assistant Anda",
|
||||
"location_name_default": "Rumah"
|
||||
|
@ -300,12 +300,12 @@
|
||||
"addon": "Tillegg",
|
||||
"error": {
|
||||
"fetch_addons": {
|
||||
"description": "Henting av tillegg returnerte en feil.",
|
||||
"description": "Henting av tillegg returnerte en feil",
|
||||
"title": "Feil ved henting av tillegg"
|
||||
},
|
||||
"no_supervisor": {
|
||||
"description": "Ingen Supervisor funnet, så tillegg kunne ikke lastes inn.",
|
||||
"title": "Ingen Supervisor"
|
||||
"description": "Ingen supervisor funnet, så tillegg kunne ikke lastes inn.",
|
||||
"title": "Ingen supervisor"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -696,6 +696,7 @@
|
||||
"scene": "Scener",
|
||||
"script": "Skript",
|
||||
"server_control": "Server-kontroller",
|
||||
"tag": "Tagger",
|
||||
"tags": "Tagger",
|
||||
"users": "Brukere",
|
||||
"zone": "Soner"
|
||||
@ -1499,7 +1500,7 @@
|
||||
"cant_edit": "Du kan bare redigere elementer som er opprettet i brukergrensesnittet.",
|
||||
"caption": "Enheter",
|
||||
"confirm_delete": "Er du sikker på at du vil slette denne enheten?",
|
||||
"confirm_disable_config_entry": "Det er ikke flere enheter for konfigurasjonsoppføringen {entry_name} , vil du i stedet deaktivere konfigurasjonsoppføringen?",
|
||||
"confirm_disable_config_entry": "Det er ikke flere enheter for konfigurasjonsoppføringen {entry_name}, vil du i stedet deaktivere konfigurasjonsoppføringen?",
|
||||
"confirm_rename_entity_ids": "Vil du også endre enhets-ID-ene til enhetene dine?",
|
||||
"confirm_rename_entity_ids_warning": "Dette vil ikke endre noen konfigurasjon (som automasjoner, skript, scener, dashbord) som for øyeblikket bruker disse enhetene! Du må oppdatere dem selv for å bruke de nye enhets-IDene!",
|
||||
"data_table": {
|
||||
@ -3099,7 +3100,7 @@
|
||||
"documentation": "dokumentasjon",
|
||||
"error": "Det oppstod en ukjent feil",
|
||||
"faq_link": "Vanlige spørsmål om Min Home Assistant",
|
||||
"no_supervisor": "Denne viderekoblingen støttes ikke av Home Assistant-installasjonen. Det trenger enten installasjonsmetoden Home Assistant eller Home Assistant Supervised. For mer informasjon, se {docs_link} .",
|
||||
"no_supervisor": "Denne viderekoblingen støttes ikke av Home Assistant-installasjonen. Det trenger enten installasjonsmetoden Home Assistant OS eller Home Assistant Supervised. For mer informasjon, se {docs_link}.",
|
||||
"not_supported": "Denne viderekoblingen støttes ikke av Home Assistant-forekomsten. Se på {link} for viderekoblinger som støttes, og hvilken versjon de ble introdusert."
|
||||
},
|
||||
"page-authorize": {
|
||||
|
@ -481,6 +481,12 @@
|
||||
"week": "{count} {count, plural,\n one {week}\n other {weken}\n} geleden"
|
||||
}
|
||||
},
|
||||
"service-control": {
|
||||
"required": "Dit veld is verplicht",
|
||||
"service_data": "Service data",
|
||||
"target": "Doelen",
|
||||
"target_description": "Wat moet deze dienst gebruiken als doelgebieden, apparaten of entiteiten."
|
||||
},
|
||||
"service-picker": {
|
||||
"service": "Service"
|
||||
},
|
||||
@ -690,6 +696,7 @@
|
||||
"scene": "Scènes",
|
||||
"script": "Scripts",
|
||||
"server_control": "Server Controls",
|
||||
"tag": "Tags",
|
||||
"tags": "Tags",
|
||||
"users": "Gebruikers",
|
||||
"zone": "Zones"
|
||||
@ -2360,11 +2367,17 @@
|
||||
},
|
||||
"zwave_js": {
|
||||
"add_node": {
|
||||
"cancel_inclusion": "Opname annuleren",
|
||||
"controller_in_inclusion_mode": "Uw Z-Wave controller bevindt zich nu in de opnamemodus.",
|
||||
"follow_device_instructions": "Volg de aanwijzingen die bij het apparaat zijn geleverd om de koppeling van het apparaat te activeren.",
|
||||
"inclusion_failed": "Het knooppunt kon niet worden toegevoegd. Controleer de logs voor meer informatie.",
|
||||
"inclusion_finished": "Het knooppunt is toegevoegd. Het kan een paar minuten duren voordat alle entiteiten zichtbaar zijn, omdat we het opzetten van het knooppunt op de achtergrond afwerken.",
|
||||
"introduction": "Deze wizard begeleidt u bij het toevoegen van een knooppunt aan uw Z-Wave netwerk.",
|
||||
"secure_inclusion_warning": "Beveiligde apparaten vereisen extra bandbreedte; te veel beveiligde apparaten kunnen uw Z-Wave-netwerk vertragen. We raden aan om alleen veilige opname te gebruiken voor apparaten die dat vereisen, zoals sloten of garagedeuropeners.",
|
||||
"start_inclusion": "Start Opname",
|
||||
"start_secure_inclusion": "Start Veilige Opname",
|
||||
"title": "Voeg een Z-Wave knooppunt toe",
|
||||
"use_secure_inclusion": "Gebruik veilige opname",
|
||||
"view_device": "Bekijk apparaat"
|
||||
},
|
||||
"button": "Configureer",
|
||||
@ -2412,8 +2425,10 @@
|
||||
},
|
||||
"remove_node": {
|
||||
"cancel_exclusion": "Uitsluiting annuleren",
|
||||
"controller_in_exclusion_mode": "Uw Z-Wave controller bevindt zich nu in de uitsluitingsmodus.",
|
||||
"exclusion_failed": "Het knooppunt kon niet worden verwijderd. Controleer de logboeken voor meer informatie.",
|
||||
"exclusion_finished": "Knooppunt {id} is verwijderd uit het Z-Wave-netwerk.",
|
||||
"follow_device_instructions": "Volg de instructies die bij uw apparaat zijn geleverd om uitsluiting op het apparaat te activeren.",
|
||||
"introduction": "Verwijder een knooppunt uit uw Z-Wave-netwerk en verwijder het gekoppelde apparaat met bijbehorende entiteiten uit Home Assistant.",
|
||||
"start_exclusion": "Start uitsluiting",
|
||||
"title": "Een Z-Wave Node verwijderen"
|
||||
@ -3081,8 +3096,10 @@
|
||||
"playback_title": "Bericht afspelen"
|
||||
},
|
||||
"my": {
|
||||
"component_not_loaded": "Deze omleiding wordt niet ondersteund door uw Home Assistant-instantie. U heeft de integratie {integration} nodig om deze omleiding te gebruiken.",
|
||||
"documentation": "documentatie",
|
||||
"error": "Er is een onbekende fout opgetreden",
|
||||
"faq_link": "My Home Assistant FAQ",
|
||||
"no_supervisor": "Deze omleiding wordt niet ondersteund door uw Home Assistant-installatie. Het vereist ofwel het Home Assistant besturingssysteem of de Home Assistant gecontroleerde installatiemethode. Voor meer informatie, zie de {docs_link}.",
|
||||
"not_supported": "Deze redirect wordt niet ondersteund door uw Home Assistant instantie. Controleer de {link} voor de ondersteunde redirects en de versie waarin ze zijn geïntroduceerd."
|
||||
},
|
||||
|
@ -1667,7 +1667,18 @@
|
||||
"delete_confirm": "Czy na pewno chcesz usunąć tę integrację?",
|
||||
"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}",
|
||||
"disable": {
|
||||
"disable_confirm": "Czy na pewno chcesz wyłączyć ten wpis? Jego urządzenia i instancje zostaną wyłączone.",
|
||||
"disabled": "Wyłączone",
|
||||
"disabled_by": {
|
||||
"device": "Urządzenie",
|
||||
"integration": "integracja",
|
||||
"user": "Użytkownik"
|
||||
},
|
||||
"disabled_cause": "Wyłączone przez {cause}."
|
||||
},
|
||||
"documentation": "Dokumentacja",
|
||||
"enable_restart_confirm": "Uruchom ponownie Home Assistanta, aby dokończyć uruchamianie tej integracji",
|
||||
"entities": "{count} {count, plural,\n one {encja}\n few {encje}\n many {encji}\n other {encji}\n}",
|
||||
"entity_unavailable": "encja niedostępna",
|
||||
"firmware": "oprogramowanie: {version}",
|
||||
@ -2535,6 +2546,7 @@
|
||||
"states": {
|
||||
"alert_entity_field": "Encja jest polem obowiązkowym",
|
||||
"attributes": "Atrybuty",
|
||||
"copy_id": "Skopiuj ID do schowka",
|
||||
"current_entities": "Bieżące encje",
|
||||
"description1": "Ustaw stany encji urządzeń Home Assistanta.",
|
||||
"description2": "Nie wpłynie to na rzeczywiste urządzenia.",
|
||||
|
@ -696,6 +696,7 @@
|
||||
"scene": "Сцены",
|
||||
"script": "Сценарии",
|
||||
"server_control": "Сервер",
|
||||
"tag": "Метки",
|
||||
"tags": "Метки",
|
||||
"users": "Пользователи",
|
||||
"zone": "Зоны"
|
||||
@ -3085,7 +3086,7 @@
|
||||
"entity_non_numeric": "Объект не является числом: {entity}",
|
||||
"entity_not_found": "Объект {entity} недоступен.",
|
||||
"entity_unavailable": "Объект \"{entity}\" сейчас недоступен",
|
||||
"starting": "Home Assistant запускается, пока что не всё может быть доступно"
|
||||
"starting": "Home Assistant запускается..."
|
||||
}
|
||||
},
|
||||
"mailbox": {
|
||||
|
@ -69,10 +69,10 @@
|
||||
"state_badge": {
|
||||
"alarm_control_panel": {
|
||||
"armed": "Etkin",
|
||||
"armed_away": "Etkin",
|
||||
"armed_custom_bypass": "Etkin",
|
||||
"armed_home": "Devrede",
|
||||
"armed_night": "Etkin",
|
||||
"armed_away": "Aktif",
|
||||
"armed_custom_bypass": "Aktif",
|
||||
"armed_home": "Aktif",
|
||||
"armed_night": "Aktif",
|
||||
"arming": "Etkinleştir",
|
||||
"disarmed": "Etkisiz",
|
||||
"disarming": "Etkisiz",
|
||||
@ -696,6 +696,7 @@
|
||||
"scene": "Sahneler",
|
||||
"script": "Senaryolar",
|
||||
"server_control": "Sunucu Kontrolleri",
|
||||
"tag": "Etiketler",
|
||||
"tags": "Etiketler",
|
||||
"users": "Kullanıcılar",
|
||||
"zone": "Bölgeler"
|
||||
@ -911,7 +912,7 @@
|
||||
"event": {
|
||||
"event": "Olay:",
|
||||
"label": "Olayı Çalıştır",
|
||||
"service_data": "Servis Verisi"
|
||||
"service_data": "Hizmet Verisi"
|
||||
},
|
||||
"repeat": {
|
||||
"label": "Tekrar",
|
||||
|
@ -494,8 +494,8 @@
|
||||
"add_area_id": "选择区域",
|
||||
"add_device_id": "选择设备",
|
||||
"add_entity_id": "选择实体",
|
||||
"expand_area_id": "在它包含的单独设备和实体中展开此区域。展开后,当区域发生更改时,它不会更新设备和实体。",
|
||||
"expand_device_id": "在单独的实体中展开此设备。展开后,设备发生变化时不会更新实体。",
|
||||
"expand_area_id": "将此区域展开为单独的设备和实体。展开后,当区域发生变化时,将不会更新设备和实体。",
|
||||
"expand_device_id": "将此设备展开为单独的实体。展开后,设备发生变化时将不会更新实体。",
|
||||
"remove_area_id": "删除区域",
|
||||
"remove_device_id": "删除设备",
|
||||
"remove_entity_id": "删除实体"
|
||||
@ -696,6 +696,7 @@
|
||||
"scene": "场景",
|
||||
"script": "脚本",
|
||||
"server_control": "服务控制",
|
||||
"tag": "标签",
|
||||
"tags": "标签",
|
||||
"users": "用户",
|
||||
"zone": "地点"
|
||||
@ -2564,7 +2565,7 @@
|
||||
"title": "服务",
|
||||
"ui_mode": "进入 UI 模式",
|
||||
"yaml_mode": "进入 YAML 模式",
|
||||
"yaml_parameters": "只能在 YAML 模式下使用的参数"
|
||||
"yaml_parameters": "以下参数只能在 YAML 模式下使用"
|
||||
},
|
||||
"states": {
|
||||
"alert_entity_field": "实体是必填字段",
|
||||
|
@ -696,6 +696,7 @@
|
||||
"scene": "場景",
|
||||
"script": "腳本",
|
||||
"server_control": "伺服器控制",
|
||||
"tag": "標籤",
|
||||
"tags": "標籤",
|
||||
"users": "使用者",
|
||||
"zone": "區域"
|
||||
@ -791,8 +792,8 @@
|
||||
"editor_not_available": "類型 \"{type}\" 沒有可供使用的視覺化編輯器。",
|
||||
"editor_not_supported": "此設定不支援視覺化編輯器",
|
||||
"error_detected": "發現設定錯誤",
|
||||
"key_missing": "缺少所需的密鑰 \"{key}\"。",
|
||||
"key_not_expected": "視覺化編輯器不支援密鑰 \"{key}\"。",
|
||||
"key_missing": "缺少所需的權杖 \"{key}\"。",
|
||||
"key_not_expected": "視覺化編輯器不支援權杖 \"{key}\"。",
|
||||
"key_wrong_type": "視覺化編輯器不支援所提供的 \"{key}\" 數值。支援 ({type_correct}) 但卻收到 ({type_wrong})。",
|
||||
"no_type_provided": "未提供類型。"
|
||||
}
|
||||
@ -3169,7 +3170,7 @@
|
||||
"data": {
|
||||
"password": "API 密碼"
|
||||
},
|
||||
"description": "請輸入 Http 設定中的 API 密鑰:"
|
||||
"description": "請輸入 Http 設定中的 API 權杖:"
|
||||
},
|
||||
"mfa": {
|
||||
"data": {
|
||||
@ -3330,18 +3331,18 @@
|
||||
"logout_text": "確定要登出?",
|
||||
"logout_title": "登出?",
|
||||
"long_lived_access_tokens": {
|
||||
"confirm_delete": "確定要刪除{name}存取密鑰嗎?",
|
||||
"create": "創建密鑰",
|
||||
"create_failed": "創建存取密鑰失敗。",
|
||||
"confirm_delete": "確定要刪除{name}存取權杖嗎?",
|
||||
"create": "創建權杖",
|
||||
"create_failed": "創建存取權杖失敗。",
|
||||
"created": "新增日期:{date}",
|
||||
"delete_failed": "刪除存取密鑰失敗。",
|
||||
"description": "創建長效存取密鑰,可供運用腳本與 Home Assistant 實體進行互動。每個密鑰於創建後,有效期為十年。目前已啟用之永久有效密鑰如下。",
|
||||
"empty_state": "尚未創建永久有效存取密鑰。",
|
||||
"header": "永久有效存取密鑰",
|
||||
"delete_failed": "刪除存取權杖失敗。",
|
||||
"description": "創建長效存取權杖,可供運用腳本與 Home Assistant 實體進行互動。每個權杖於創建後,有效期為十年。目前已啟用之永久有效權杖如下。",
|
||||
"empty_state": "尚未創建永久有效存取權杖。",
|
||||
"header": "永久有效存取權杖",
|
||||
"learn_auth_requests": "學習如何進行驗證請求。",
|
||||
"name": "名稱",
|
||||
"prompt_copy_token": "複製存取密鑰,將不會再次顯示。",
|
||||
"prompt_name": "為密鑰命名"
|
||||
"prompt_name": "為權杖命名"
|
||||
},
|
||||
"mfa_setup": {
|
||||
"close": "關閉",
|
||||
@ -3369,15 +3370,15 @@
|
||||
"push_notifications": "通知推送"
|
||||
},
|
||||
"refresh_tokens": {
|
||||
"confirm_delete": "確定要刪除{name}更新密鑰嗎?",
|
||||
"confirm_delete": "確定要刪除{name}更新權杖嗎?",
|
||||
"created_at": "於{date}創建",
|
||||
"current_token_tooltip": "無法刪除目前更新密鑰",
|
||||
"delete_failed": "刪除更新密鑰失敗。",
|
||||
"description": "每一個更新密鑰標示為一次登錄活動。當點選登出時,更新密鑰將會自動移除。目前你的帳號已啟用之更新密鑰如下。",
|
||||
"header": "更新密鑰",
|
||||
"current_token_tooltip": "無法刪除目前更新權杖",
|
||||
"delete_failed": "刪除更新權杖失敗。",
|
||||
"description": "每一個更新權杖標示為一次登錄活動。當點選登出時,更新權杖將會自動移除。目前你的帳號已啟用之更新權杖如下。",
|
||||
"header": "更新權杖",
|
||||
"last_used": "上次使用:於{date}、位置{location}",
|
||||
"not_used": "從未使用過",
|
||||
"token_title": "{clientId}更新密鑰"
|
||||
"token_title": "{clientId}更新權杖"
|
||||
},
|
||||
"suspend": {
|
||||
"description": "於隱藏五分鐘後關閉連線?",
|
||||
|
60
yarn.lock
60
yarn.lock
@ -1905,10 +1905,10 @@
|
||||
resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-5.0.0.tgz#3ba791f37b90e7f6170d252b63aacfcae943c039"
|
||||
integrity sha512-WmKrB/575EJCzbeSJR3YQ5sET5FaizeljLRw1382qVUeGqzuWBgIS+AF5a0FO51uQTrDpoRgvuHC2IWVsgwkkA==
|
||||
|
||||
"@codemirror/commands@^0.17.2":
|
||||
version "0.17.4"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-0.17.4.tgz#afca35595cf728eafa280d267285c8985a2f5c8b"
|
||||
integrity sha512-YB1Iz5nHVZFJCB/WboNRBS7Bb6f/M/LoJQRm4AY2h1uWmSnxbr02DPX3XpTVhams7x7XNtIFtgk/Q4/wel/JXg==
|
||||
"@codemirror/commands@^0.17.0":
|
||||
version "0.17.5"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-0.17.5.tgz#0912955a614e554e4fbcb347a785c5c981f12826"
|
||||
integrity sha512-9B/Zq6mBkSdf+2xWoOufJutNRhFdsgA9f2w9hfI7ujwFqFLIj7QKuYt+W1LAcJufHYy5BdVCyjgCamx65yb4MA==
|
||||
dependencies:
|
||||
"@codemirror/language" "^0.17.0"
|
||||
"@codemirror/matchbrackets" "^0.17.0"
|
||||
@ -1917,7 +1917,7 @@
|
||||
"@codemirror/view" "^0.17.0"
|
||||
lezer-tree "^0.13.0"
|
||||
|
||||
"@codemirror/gutter@^0.17.2":
|
||||
"@codemirror/gutter@^0.17.0":
|
||||
version "0.17.2"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/gutter/-/gutter-0.17.2.tgz#75c433090d05786614c0c7d14d2efae42c301151"
|
||||
integrity sha512-kyfuNVg3B+yS9U3aNMK/AQ0NyOswOep8lrbldBL4BWXZ8mFzSifT3WNK887WYrEIhqeLjq5qjcsJgFyGrFR0Lg==
|
||||
@ -1926,10 +1926,10 @@
|
||||
"@codemirror/state" "^0.17.0"
|
||||
"@codemirror/view" "^0.17.0"
|
||||
|
||||
"@codemirror/highlight@^0.17.0", "@codemirror/highlight@^0.17.2":
|
||||
version "0.17.2"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/highlight/-/highlight-0.17.2.tgz#14825083581ed4bd8a4a06cd92a2062d5af923c8"
|
||||
integrity sha512-KmSOCHjPv7yO9NAtQnqCNwjLHVwFh9InMwul0+JSsor1qLfBR1ljlmqLr7KUe9WWRnM7oD/eSuwF5uNpGtuaNw==
|
||||
"@codemirror/highlight@^0.17.0":
|
||||
version "0.17.3"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/highlight/-/highlight-0.17.3.tgz#43f519ef93fa1c050ba2cd0631d9d855d9f3ec1e"
|
||||
integrity sha512-pKuCQ/+CSbibK6ZO2E6YRowhf4LKERwCrSYmQyCw18Dgutt1D2d5t2fv0kziHYC7Jz3ZG2xnrsHABFjS57V6JA==
|
||||
dependencies:
|
||||
"@codemirror/language" "^0.17.0"
|
||||
"@codemirror/rangeset" "^0.17.0"
|
||||
@ -1938,7 +1938,7 @@
|
||||
lezer-tree "^0.13.0"
|
||||
style-mod "^3.2.0"
|
||||
|
||||
"@codemirror/history@^0.17.2":
|
||||
"@codemirror/history@^0.17.0":
|
||||
version "0.17.2"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/history/-/history-0.17.2.tgz#d94273af95f7dbd8a0c41c370984e4bbf55d54e8"
|
||||
integrity sha512-ML/FA6VJMMwsQrx7HFXaOAg/LqrLxUktE5pu230UOn0u5bxIPxbX0lLGs34994s9HPruqbCqIikSc+IfjLkFcA==
|
||||
@ -1957,7 +1957,7 @@
|
||||
lezer "^0.13.0"
|
||||
lezer-tree "^0.13.0"
|
||||
|
||||
"@codemirror/legacy-modes@^0.17.1":
|
||||
"@codemirror/legacy-modes@^0.17.0":
|
||||
version "0.17.1"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/legacy-modes/-/legacy-modes-0.17.1.tgz#18a1a0f4a6b5745e521443525a243b9bc321e8ae"
|
||||
integrity sha512-JafuzWLKuUfKh8rF2VYgUx+fzD4upFxV9kJuIUyv94/S9RcdrDPRU46AmfSpdumY6A9F2qQuTEc5ZLaK3g0iaw==
|
||||
@ -1989,7 +1989,7 @@
|
||||
dependencies:
|
||||
"@codemirror/state" "^0.17.0"
|
||||
|
||||
"@codemirror/search@^0.17.1":
|
||||
"@codemirror/search@^0.17.0":
|
||||
version "0.17.1"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-0.17.1.tgz#eb6ae529093b09f92b1d62c4d0ad8d09c4e218f7"
|
||||
integrity sha512-wY0KP9my/0uKQk9AU39EqmkY6zMVv2Erej5b1rRBksM78JZXzjNUl4gyhtx1/0om84IZ1ocmW8MRElkAY6r1rw==
|
||||
@ -2001,14 +2001,14 @@
|
||||
"@codemirror/view" "^0.17.0"
|
||||
crelt "^1.0.5"
|
||||
|
||||
"@codemirror/state@^0.17.0", "@codemirror/state@^0.17.1":
|
||||
"@codemirror/state@^0.17.0":
|
||||
version "0.17.2"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-0.17.2.tgz#b94846def08c2258bfdf09839359c31823e663ff"
|
||||
integrity sha512-3WwDsBTMkiyFKJntIZjCiyq0KKo1OaKhq8k9vG/eGRm6bYL8rPOAEvufW6AKwuK3BSAftOAHFNXXq+GRNoL7zg==
|
||||
dependencies:
|
||||
"@codemirror/text" "^0.17.0"
|
||||
|
||||
"@codemirror/stream-parser@^0.17.0", "@codemirror/stream-parser@^0.17.1":
|
||||
"@codemirror/stream-parser@^0.17.0":
|
||||
version "0.17.1"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/stream-parser/-/stream-parser-0.17.1.tgz#b8508676cffac1c34c98d4004a8449d762bef6cf"
|
||||
integrity sha512-toCFLbPzzXNxCjyeNtu/s5Me1xDFQp6qCS4CNfslnW3iAg86M7W4v8SJocmVO3ALAr/6Ci/ECSIN7jsGZcAitw==
|
||||
@ -2020,15 +2020,15 @@
|
||||
lezer "^0.13.0"
|
||||
lezer-tree "^0.13.0"
|
||||
|
||||
"@codemirror/text@^0.17.0", "@codemirror/text@^0.17.2":
|
||||
"@codemirror/text@^0.17.0":
|
||||
version "0.17.2"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/text/-/text-0.17.2.tgz#7076feeaed16556b52d9b028429296ce10eb1280"
|
||||
integrity sha512-KL+cM+uJPW5skyuTRoW43lOaSQq3YDNEPx5z0V/9Wsz9R9dK4kVP5NIRMUFgl9MUCQ9UxIotvgPDpz65j9wjuA==
|
||||
|
||||
"@codemirror/view@^0.17.0", "@codemirror/view@^0.17.7":
|
||||
version "0.17.10"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-0.17.10.tgz#d3bf4b2435b68c7ede784583f2c240f58ac3d5c4"
|
||||
integrity sha512-Ke3mgfw1qnLekFDFYJsz8ewKa0dBnnUrlYSZd+1X1XkMaqmKZj6enbcvpW0/GnxOvGJpa+HrWCMSrRvCrlaqjA==
|
||||
"@codemirror/view@^0.17.0":
|
||||
version "0.17.11"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-0.17.11.tgz#d9fad5aa405769f97621bb77fab7abc2edb55f2d"
|
||||
integrity sha512-pl5fOiBLifExuqAuqhv/yOZvDODQrO26HEtljv4DJqx2Em5kKjzWVHhQymq0dh+nPY+qA4vZCGcT5r/ySNR52Q==
|
||||
dependencies:
|
||||
"@codemirror/rangeset" "^0.17.0"
|
||||
"@codemirror/state" "^0.17.0"
|
||||
@ -2807,15 +2807,15 @@
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
|
||||
"@mdi/js@5.6.55":
|
||||
version "5.6.55"
|
||||
resolved "https://registry.yarnpkg.com/@mdi/js/-/js-5.6.55.tgz#d1e99da22c8d462c17d4c5b530a7d1b77e668230"
|
||||
integrity sha512-FphEd6PTivVSfsxjRB/Z5sJhxUmxA0jL/+nEQmqk8Ok1miSnw92ibj4p1SPAmgnR8OFTNCkHX23AvlU8YZQb5A==
|
||||
"@mdi/js@5.9.55":
|
||||
version "5.9.55"
|
||||
resolved "https://registry.yarnpkg.com/@mdi/js/-/js-5.9.55.tgz#8f5bc4d924c23f30dab20545ddc768e778bbc882"
|
||||
integrity sha512-BbeHMgeK2/vjdJIRnx12wvQ6s8xAYfvMmEAVsUx9b+7GiQGQ9Za8jpwp17dMKr9CgKRvemlAM4S7S3QOtEbp4A==
|
||||
|
||||
"@mdi/svg@5.6.55":
|
||||
version "5.6.55"
|
||||
resolved "https://registry.yarnpkg.com/@mdi/svg/-/svg-5.6.55.tgz#993b9a8914416794c001eb662b9ddb3628de4d12"
|
||||
integrity sha512-0fhZdAwjagbCoAPJnleLsE/W46vMZKe7G6vM1U2LthK23oHXEatkaNinvYYWTtKJp2T+/4rdZ8hq28VBUPAaNQ==
|
||||
"@mdi/svg@5.9.55":
|
||||
version "5.9.55"
|
||||
resolved "https://registry.yarnpkg.com/@mdi/svg/-/svg-5.9.55.tgz#7cba058135afd5d8a3da977f51b71ffc6a3a3699"
|
||||
integrity sha512-gO0ZpKIeCn9vFg46QduK9MM+n1fuCNwSdcdlBTtbafnnuvwLveK2uj+byhdLtg/8VJGXDhp+DJ35QUMbeWeULA==
|
||||
|
||||
"@mrmlnc/readdir-enhanced@^2.2.1":
|
||||
version "2.2.1"
|
||||
@ -12965,9 +12965,9 @@ strip-json-comments@^3.0.1:
|
||||
integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==
|
||||
|
||||
style-mod@^3.2.0:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-3.2.1.tgz#daaa4ad2a8b2880b4c07b29c061d49b5db6cab15"
|
||||
integrity sha512-cQerrMLHjR/fxC4DWC2dRrXc11hvsM7lJ2vtuMOHWU5IG7Deu5RfTbttjbY4xiRAWs3gFIZZFf694jzNPW1Ehw==
|
||||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-3.2.2.tgz#fc445fdd08bd5a513363079ba625f69b2618f31d"
|
||||
integrity sha512-7X3zF+GjUSQ/opNrzuEOqM+lF+4SOkG5aWxrNw/5rwBrHytsH1Ly8/o9e6Wnqoul2lLT1Pmue63LgiE6mEZAGw==
|
||||
|
||||
subarg@^1.0.0:
|
||||
version "1.0.0"
|
||||
|
Loading…
x
Reference in New Issue
Block a user