From 9f73f0ca8dc5577312d7831f9d0f1bab4d31ff0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Tue, 2 Mar 2021 16:39:54 +0100 Subject: [PATCH 001/164] Merge update dialogs (#8516) --- .../src/addon-view/info/hassio-addon-info.ts | 25 ++- hassio/src/dashboard/hassio-update.ts | 22 ++- .../dialogs/addon/show-dialog-addon-update.ts | 17 -- .../core/dialog-supervisor-core-update.ts | 175 ------------------ .../dialogs/core/show-dialog-core-update.ts | 17 -- .../dialog-supervisor-update.ts} | 94 ++++++---- .../src/dialogs/update/show-dialog-update.ts | 21 +++ hassio/src/system/hassio-core-info.ts | 24 ++- src/data/hassio/addon.ts | 11 +- src/data/supervisor/core.ts | 5 +- src/translations/en.json | 6 + 11 files changed, 157 insertions(+), 260 deletions(-) delete mode 100644 hassio/src/dialogs/addon/show-dialog-addon-update.ts delete mode 100644 hassio/src/dialogs/core/dialog-supervisor-core-update.ts delete mode 100644 hassio/src/dialogs/core/show-dialog-core-update.ts rename hassio/src/dialogs/{addon/dialog-supervisor-addon-update.ts => update/dialog-supervisor-update.ts} (61%) create mode 100644 hassio/src/dialogs/update/show-dialog-update.ts diff --git a/hassio/src/addon-view/info/hassio-addon-info.ts b/hassio/src/addon-view/info/hassio-addon-info.ts index 88d4e92a19..acefc812d6 100644 --- a/hassio/src/addon-view/info/hassio-addon-info.ts +++ b/hassio/src/addon-view/info/hassio-addon-info.ts @@ -50,6 +50,7 @@ import { startHassioAddon, stopHassioAddon, uninstallHassioAddon, + updateHassioAddon, validateHassioAddonOption, } from "../../../../src/data/hassio/addon"; import { @@ -68,8 +69,8 @@ import { HomeAssistant } from "../../../../src/types"; import { bytesToString } from "../../../../src/util/bytes-to-string"; import "../../components/hassio-card-content"; import "../../components/supervisor-metric"; -import { showDialogSupervisorAddonUpdate } from "../../dialogs/addon/show-dialog-addon-update"; import { showHassioMarkdownDialog } from "../../dialogs/markdown/show-dialog-hassio-markdown"; +import { showDialogSupervisorUpdate } from "../../dialogs/update/show-dialog-update"; import { hassioStyle } from "../../resources/hassio-style"; import { addonArchIsSupported } from "../../util/addon"; @@ -983,7 +984,27 @@ class HassioAddonInfo extends LitElement { } private async _updateClicked(): Promise { - showDialogSupervisorAddonUpdate(this, { addon: this.addon }); + showDialogSupervisorUpdate(this, { + supervisor: this.supervisor, + name: this.addon.name, + version: this.addon.version_latest, + snapshotParams: { + name: `addon_${this.addon.slug}_${this.addon.version}`, + addons: [this.addon.slug], + homeassistant: false, + }, + updateHandler: async () => await this._updateAddon(), + }); + } + + private async _updateAddon(): Promise { + await updateHassioAddon(this.hass, this.addon.slug); + fireEvent(this, "supervisor-colllection-refresh", { + colllection: "addon", + }); + fireEvent(this, "supervisor-colllection-refresh", { + colllection: "supervisor", + }); } private async _startClicked(ev: CustomEvent): Promise { diff --git a/hassio/src/dashboard/hassio-update.ts b/hassio/src/dashboard/hassio-update.ts index e0c3a2f155..2446155b0a 100644 --- a/hassio/src/dashboard/hassio-update.ts +++ b/hassio/src/dashboard/hassio-update.ts @@ -26,6 +26,7 @@ import { HassioHomeAssistantInfo, HassioSupervisorInfo, } from "../../../src/data/hassio/supervisor"; +import { updateCore } from "../../../src/data/supervisor/core"; import { Supervisor, supervisorApiWsRequest, @@ -36,7 +37,7 @@ import { } from "../../../src/dialogs/generic/show-dialog-box"; import { haStyle } from "../../../src/resources/styles"; import { HomeAssistant } from "../../../src/types"; -import { showDialogSupervisorCoreUpdate } from "../dialogs/core/show-dialog-core-update"; +import { showDialogSupervisorUpdate } from "../dialogs/update/show-dialog-update"; import { hassioStyle } from "../resources/hassio-style"; const computeVersion = (key: string, version: string): string => { @@ -164,7 +165,17 @@ export class HassioUpdate extends LitElement { private async _confirmUpdate(ev): Promise { const item = ev.currentTarget; if (item.key === "core") { - showDialogSupervisorCoreUpdate(this, { core: this.supervisor.core }); + showDialogSupervisorUpdate(this, { + supervisor: this.supervisor, + name: "Home Assistant Core", + version: this.supervisor.core.version, + snapshotParams: { + name: `core_${this.supervisor.core.version}`, + folders: ["homeassistant"], + homeassistant: true, + }, + updateHandler: async () => this._updateCore(), + }); return; } item.progress = true; @@ -219,6 +230,13 @@ export class HassioUpdate extends LitElement { item.progress = false; } + private async _updateCore(): Promise { + await updateCore(this.hass); + fireEvent(this, "supervisor-colllection-refresh", { + colllection: "core", + }); + } + static get styles(): CSSResult[] { return [ haStyle, diff --git a/hassio/src/dialogs/addon/show-dialog-addon-update.ts b/hassio/src/dialogs/addon/show-dialog-addon-update.ts deleted file mode 100644 index bb6bebe683..0000000000 --- a/hassio/src/dialogs/addon/show-dialog-addon-update.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { fireEvent } from "../../../../src/common/dom/fire_event"; -import { HassioAddonDetails } from "../../../../src/data/hassio/addon"; - -export interface SupervisorDialogSupervisorAddonUpdateParams { - addon: HassioAddonDetails; -} - -export const showDialogSupervisorAddonUpdate = ( - element: HTMLElement, - dialogParams: SupervisorDialogSupervisorAddonUpdateParams -): void => { - fireEvent(element, "show-dialog", { - dialogTag: "dialog-supervisor-addon-update", - dialogImport: () => import("./dialog-supervisor-addon-update"), - dialogParams, - }); -}; diff --git a/hassio/src/dialogs/core/dialog-supervisor-core-update.ts b/hassio/src/dialogs/core/dialog-supervisor-core-update.ts deleted file mode 100644 index 99c0bddcdd..0000000000 --- a/hassio/src/dialogs/core/dialog-supervisor-core-update.ts +++ /dev/null @@ -1,175 +0,0 @@ -import "@material/mwc-button/mwc-button"; -import { - css, - CSSResult, - customElement, - html, - internalProperty, - LitElement, - TemplateResult, -} from "lit-element"; -import { fireEvent } from "../../../../src/common/dom/fire_event"; -import "../../../../src/components/ha-circular-progress"; -import "../../../../src/components/ha-dialog"; -import "../../../../src/components/ha-settings-row"; -import "../../../../src/components/ha-svg-icon"; -import "../../../../src/components/ha-switch"; -import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; -import { createHassioPartialSnapshot } from "../../../../src/data/hassio/snapshot"; -import { HassioHomeAssistantInfo } from "../../../../src/data/hassio/supervisor"; -import { updateCore } from "../../../../src/data/supervisor/core"; -import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; -import { SupervisorDialogSupervisorCoreUpdateParams } from "./show-dialog-core-update"; - -@customElement("dialog-supervisor-core-update") -class DialogSupervisorCoreUpdate extends LitElement { - public hass!: HomeAssistant; - - public core!: HassioHomeAssistantInfo; - - @internalProperty() private _opened = false; - - @internalProperty() private _createSnapshot = true; - - @internalProperty() private _action: "snapshot" | "update" | null = null; - - @internalProperty() private _error?: string; - - public async showDialog( - params: SupervisorDialogSupervisorCoreUpdateParams - ): Promise { - this._opened = true; - this.core = params.core; - await this.updateComplete; - } - - public closeDialog(): void { - this._action = null; - this._createSnapshot = true; - this._opened = false; - fireEvent(this, "dialog-closed", { dialog: this.localName }); - } - - public focus(): void { - this.updateComplete.then(() => - (this.shadowRoot?.querySelector( - "[dialogInitialFocus]" - ) as HTMLElement)?.focus() - ); - } - - protected render(): TemplateResult { - return html` - - ${this._action === null - ? html` -

- Update Home Assistant Core -

-
-
- Are you sure you want to update Home Assistant Core to version - ${this.core.version_latest}? -
- - - - Snapshot - - - Create a snapshot of Home Assistant Core before updating - - - - - - Cancel - - - Update - ` - : html` - -

- ${this._action === "update" - ? `Updating Home Assistant Core to version ${this.core.version_latest}` - : "Creating snapshot of Home Assistant Core"} -

`} - ${this._error ? html`

${this._error}

` : ""} -
- `; - } - - private _toggleSnapshot() { - this._createSnapshot = !this._createSnapshot; - } - - private async _update() { - if (this._createSnapshot) { - this._action = "snapshot"; - try { - await createHassioPartialSnapshot(this.hass, { - name: `core_${this.core.version}`, - folders: ["homeassistant"], - homeassistant: true, - }); - } catch (err) { - this._error = extractApiErrorMessage(err); - this._action = null; - return; - } - } - - this._action = "update"; - try { - await updateCore(this.hass); - } catch (err) { - if (this.hass.connection.connected) { - this._error = extractApiErrorMessage(err); - this._action = null; - return; - } - } - fireEvent(this, "supervisor-colllection-refresh", { colllection: "core" }); - this.closeDialog(); - } - - static get styles(): CSSResult[] { - return [ - haStyle, - haStyleDialog, - css` - .form { - color: var(--primary-text-color); - } - - ha-settings-row { - margin-top: 32px; - padding: 0; - } - - ha-circular-progress { - display: block; - margin: 32px; - text-align: center; - } - - .progress-text { - text-align: center; - } - `, - ]; - } -} - -declare global { - interface HTMLElementTagNameMap { - "dialog-supervisor-core-update": DialogSupervisorCoreUpdate; - } -} diff --git a/hassio/src/dialogs/core/show-dialog-core-update.ts b/hassio/src/dialogs/core/show-dialog-core-update.ts deleted file mode 100644 index 0c2e173d7c..0000000000 --- a/hassio/src/dialogs/core/show-dialog-core-update.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { fireEvent } from "../../../../src/common/dom/fire_event"; -import { HassioHomeAssistantInfo } from "../../../../src/data/hassio/supervisor"; - -export interface SupervisorDialogSupervisorCoreUpdateParams { - core: HassioHomeAssistantInfo; -} - -export const showDialogSupervisorCoreUpdate = ( - element: HTMLElement, - dialogParams: SupervisorDialogSupervisorCoreUpdateParams -): void => { - fireEvent(element, "show-dialog", { - dialogTag: "dialog-supervisor-core-update", - dialogImport: () => import("./dialog-supervisor-core-update"), - dialogParams, - }); -}; diff --git a/hassio/src/dialogs/addon/dialog-supervisor-addon-update.ts b/hassio/src/dialogs/update/dialog-supervisor-update.ts similarity index 61% rename from hassio/src/dialogs/addon/dialog-supervisor-addon-update.ts rename to hassio/src/dialogs/update/dialog-supervisor-update.ts index bc7f8ad625..ee2edff4b4 100644 --- a/hassio/src/dialogs/addon/dialog-supervisor-addon-update.ts +++ b/hassio/src/dialogs/update/dialog-supervisor-update.ts @@ -14,22 +14,16 @@ import "../../../../src/components/ha-dialog"; import "../../../../src/components/ha-settings-row"; import "../../../../src/components/ha-svg-icon"; import "../../../../src/components/ha-switch"; -import { - HassioAddonDetails, - updateHassioAddon, -} from "../../../../src/data/hassio/addon"; import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; import { createHassioPartialSnapshot } from "../../../../src/data/hassio/snapshot"; import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; import type { HomeAssistant } from "../../../../src/types"; -import { SupervisorDialogSupervisorAddonUpdateParams } from "./show-dialog-addon-update"; +import { SupervisorDialogSupervisorUpdateParams } from "./show-dialog-update"; -@customElement("dialog-supervisor-addon-update") -class DialogSupervisorAddonUpdate extends LitElement { +@customElement("dialog-supervisor-update") +class DialogSupervisorUpdate extends LitElement { public hass!: HomeAssistant; - public addon!: HassioAddonDetails; - @internalProperty() private _opened = false; @internalProperty() private _createSnapshot = true; @@ -38,18 +32,22 @@ class DialogSupervisorAddonUpdate extends LitElement { @internalProperty() private _error?: string; + @internalProperty() + private _dialogParams?: SupervisorDialogSupervisorUpdateParams; + public async showDialog( - params: SupervisorDialogSupervisorAddonUpdateParams + params: SupervisorDialogSupervisorUpdateParams ): Promise { this._opened = true; - this.addon = params.addon; + this._dialogParams = params; await this.updateComplete; } public closeDialog(): void { this._action = null; this._createSnapshot = true; - this._opened = false; + this._error = undefined; + this._dialogParams = undefined; fireEvent(this, "dialog-closed", { dialog: this.localName }); } @@ -62,47 +60,77 @@ class DialogSupervisorAddonUpdate extends LitElement { } protected render(): TemplateResult { + if (!this._dialogParams) { + return html``; + } return html` ${this._action === null ? html`

- Update ${this.addon.name} + ${this._dialogParams.supervisor.localize( + "confirm.update.title", + "name", + this._dialogParams.name + )}

- Are you sure you want to update the ${this.addon.name} add-on to - version ${this.addon.version_latest}? + ${this._dialogParams.supervisor.localize( + "confirm.update.text", + "name", + this._dialogParams.name, + "version", + this._dialogParams.version + )}
- Snapshot + ${this._dialogParams.supervisor.localize( + "dialog.update.snapshot" + )} - Create a snapshot of the ${this.addon.name} add-on before - updating + ${this._dialogParams.supervisor.localize( + "dialog.update.create_snapshot", + "name", + this._dialogParams.name + )} - Cancel + ${this._dialogParams.supervisor.localize("common.cancel")} - - Update + + ${this._dialogParams.supervisor.localize("common.update")} ` : html`

${this._action === "update" - ? `Updating ${this.addon.name} to version ${this.addon.version_latest}` - : "Creating snapshot of Home Assistant Core"} + ? this._dialogParams.supervisor.localize( + "dialog.update.updating", + "name", + this._dialogParams.name, + "version", + this._dialogParams.version + ) + : this._dialogParams.supervisor.localize( + "dialog.update.snapshotting", + "name", + this._dialogParams.name + )}

`} ${this._error ? html`

${this._error}

` : ""}
@@ -117,11 +145,10 @@ class DialogSupervisorAddonUpdate extends LitElement { if (this._createSnapshot) { this._action = "snapshot"; try { - await createHassioPartialSnapshot(this.hass, { - name: `addon_${this.addon.slug}_${this.addon.version}`, - addons: [this.addon.slug], - homeassistant: false, - }); + await createHassioPartialSnapshot( + this.hass, + this._dialogParams!.snapshotParams + ); } catch (err) { this._error = extractApiErrorMessage(err); this._action = null; @@ -131,16 +158,13 @@ class DialogSupervisorAddonUpdate extends LitElement { this._action = "update"; try { - await updateHassioAddon(this.hass, this.addon.slug); + await this._dialogParams!.updateHandler!(); } catch (err) { this._error = extractApiErrorMessage(err); this._action = null; return; } - fireEvent(this, "supervisor-colllection-refresh", { colllection: "addon" }); - fireEvent(this, "supervisor-colllection-refresh", { - colllection: "supervisor", - }); + this.closeDialog(); } @@ -174,6 +198,6 @@ class DialogSupervisorAddonUpdate extends LitElement { declare global { interface HTMLElementTagNameMap { - "dialog-supervisor-addon-update": DialogSupervisorAddonUpdate; + "dialog-supervisor-update": DialogSupervisorUpdate; } } diff --git a/hassio/src/dialogs/update/show-dialog-update.ts b/hassio/src/dialogs/update/show-dialog-update.ts new file mode 100644 index 0000000000..209243968c --- /dev/null +++ b/hassio/src/dialogs/update/show-dialog-update.ts @@ -0,0 +1,21 @@ +import { fireEvent } from "../../../../src/common/dom/fire_event"; +import { Supervisor } from "../../../../src/data/supervisor/supervisor"; + +export interface SupervisorDialogSupervisorUpdateParams { + supervisor: Supervisor; + name: string; + version: string; + snapshotParams: any; + updateHandler: () => Promise; +} + +export const showDialogSupervisorUpdate = ( + element: HTMLElement, + dialogParams: SupervisorDialogSupervisorUpdateParams +): void => { + fireEvent(element, "show-dialog", { + dialogTag: "dialog-supervisor-update", + dialogImport: () => import("./dialog-supervisor-update"), + dialogParams, + }); +}; diff --git a/hassio/src/system/hassio-core-info.ts b/hassio/src/system/hassio-core-info.ts index a50c7dc4fa..658f168d26 100644 --- a/hassio/src/system/hassio-core-info.ts +++ b/hassio/src/system/hassio-core-info.ts @@ -10,6 +10,7 @@ import { property, TemplateResult, } from "lit-element"; +import { fireEvent } from "../../../src/common/dom/fire_event"; import "../../../src/components/buttons/ha-progress-button"; import "../../../src/components/ha-button-menu"; import "../../../src/components/ha-card"; @@ -19,7 +20,7 @@ import { fetchHassioStats, HassioStats, } from "../../../src/data/hassio/common"; -import { restartCore } from "../../../src/data/supervisor/core"; +import { restartCore, updateCore } from "../../../src/data/supervisor/core"; import { Supervisor } from "../../../src/data/supervisor/supervisor"; import { showAlertDialog, @@ -29,7 +30,7 @@ import { haStyle } from "../../../src/resources/styles"; import { HomeAssistant } from "../../../src/types"; import { bytesToString } from "../../../src/util/bytes-to-string"; import "../components/supervisor-metric"; -import { showDialogSupervisorCoreUpdate } from "../dialogs/core/show-dialog-core-update"; +import { showDialogSupervisorUpdate } from "../dialogs/update/show-dialog-update"; import { hassioStyle } from "../resources/hassio-style"; @customElement("hassio-core-info") @@ -168,7 +169,24 @@ class HassioCoreInfo extends LitElement { } private async _coreUpdate(): Promise { - showDialogSupervisorCoreUpdate(this, { core: this.supervisor.core }); + showDialogSupervisorUpdate(this, { + supervisor: this.supervisor, + name: "Home Assistant Core", + version: this.supervisor.core.version, + snapshotParams: { + name: `core_${this.supervisor.core.version}`, + folders: ["homeassistant"], + homeassistant: true, + }, + updateHandler: async () => await this._updateCore(), + }); + } + + private async _updateCore(): Promise { + await updateCore(this.hass); + fireEvent(this, "supervisor-colllection-refresh", { + colllection: "core", + }); } static get styles(): CSSResult[] { diff --git a/src/data/hassio/addon.ts b/src/data/hassio/addon.ts index 99f035527c..7bff7d7e38 100644 --- a/src/data/hassio/addon.ts +++ b/src/data/hassio/addon.ts @@ -309,13 +309,12 @@ export const updateHassioAddon = async ( method: "post", timeout: null, }); - return; + } else { + await hass.callApi>( + "POST", + `hassio/addons/${slug}/update` + ); } - - await hass.callApi>( - "POST", - `hassio/addons/${slug}/update` - ); }; export const restartHassioAddon = async ( diff --git a/src/data/supervisor/core.ts b/src/data/supervisor/core.ts index 0191dbe278..2d0cec2df7 100644 --- a/src/data/supervisor/core.ts +++ b/src/data/supervisor/core.ts @@ -14,8 +14,7 @@ export const updateCore = async (hass: HomeAssistant) => { method: "post", timeout: null, }); - return; + } else { + await hass.callApi>("POST", `hassio/core/update`); } - - await hass.callApi>("POST", `hassio/core/update`); }; diff --git a/src/translations/en.json b/src/translations/en.json index 4c4ee6591a..40c01df95d 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -3801,6 +3801,12 @@ "restart_addon": { "confirm_text": "Restart add-on", "text": "Do you want to restart the add-on with your changes?" + }, + "update": { + "snapshot": "Snapshot", + "create_snapshot": "Create a snapshot of {name} before updating", + "updating": "Updating {name} to version {version}", + "snapshotting": "Creating snapshot of {name}" } } } From 935d97ce1a24e6081dbd284bcc61ff59234fd67b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Tue, 2 Mar 2021 17:05:11 +0100 Subject: [PATCH 002/164] Fix reload of addon after update (#8518) --- hassio/src/addon-view/info/hassio-addon-info.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hassio/src/addon-view/info/hassio-addon-info.ts b/hassio/src/addon-view/info/hassio-addon-info.ts index acefc812d6..e39455bb95 100644 --- a/hassio/src/addon-view/info/hassio-addon-info.ts +++ b/hassio/src/addon-view/info/hassio-addon-info.ts @@ -1002,9 +1002,12 @@ class HassioAddonInfo extends LitElement { fireEvent(this, "supervisor-colllection-refresh", { colllection: "addon", }); - fireEvent(this, "supervisor-colllection-refresh", { - colllection: "supervisor", - }); + const eventdata = { + success: true, + response: undefined, + path: "update", + }; + fireEvent(this, "hass-api-called", eventdata); } private async _startClicked(ev: CustomEvent): Promise { From 33cbf7eabe80e51a8ee7bfd33ab48fb8d878d1ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Tue, 2 Mar 2021 20:45:35 +0100 Subject: [PATCH 003/164] Fix localize action (#8519) --- .github/workflows/translations.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/translations.yaml b/.github/workflows/translations.yaml index 3aa24b9d80..701277f973 100644 --- a/.github/workflows/translations.yaml +++ b/.github/workflows/translations.yaml @@ -7,7 +7,7 @@ on: branches: - dev paths: - - translations/en.json + - src/translations/en.json env: NODE_VERSION: 12 From 0a3505ed893050eaa4b52e7403425ec95f33b9af Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 2 Mar 2021 21:43:45 +0100 Subject: [PATCH 004/164] Dont show config changes when user saved it (#8520) --- src/panels/lovelace/hui-editor.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/panels/lovelace/hui-editor.ts b/src/panels/lovelace/hui-editor.ts index 3044b78d0e..d1b42574ab 100644 --- a/src/panels/lovelace/hui-editor.ts +++ b/src/panels/lovelace/hui-editor.ts @@ -81,7 +81,7 @@ class LovelaceFullConfigEditor extends LitElement { ${this.hass!.localize( "ui.panel.lovelace.editor.raw_editor.save" @@ -95,8 +95,8 @@ class LovelaceFullConfigEditor extends LitElement { autofocus .rtl=${computeRTL(this.hass)} .hass=${this.hass} - @value-changed="${this._yamlChanged}" - @editor-save="${this._handleSave}" + @value-changed=${this._yamlChanged} + @editor-save=${this._handleSave} > @@ -112,6 +112,7 @@ class LovelaceFullConfigEditor extends LitElement { protected updated(changedProps: PropertyValues) { const oldLovelace = changedProps.get("lovelace") as Lovelace | undefined; if ( + !this._saving && oldLovelace && this.lovelace && oldLovelace.config !== this.lovelace.config && @@ -305,8 +306,8 @@ class LovelaceFullConfigEditor extends LitElement { }); } window.onbeforeunload = null; - this._saving = false; this._changed = false; + this._saving = false; } private get yamlEditor(): HaCodeEditor { From 1dfecf9618d827dbf05bc372704d6e76e5e7a6b2 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 3 Mar 2021 01:23:10 +0000 Subject: [PATCH 005/164] Translation update --- translations/frontend/ca.json | 1 - translations/frontend/cs.json | 1 - translations/frontend/da.json | 1 - translations/frontend/de.json | 41 ++- translations/frontend/el.json | 43 ++- translations/frontend/en.json | 359 ++++++++++++++++++++++- translations/frontend/es-419.json | 18 +- translations/frontend/es.json | 1 - translations/frontend/et.json | 47 +++- translations/frontend/fi.json | 1 - translations/frontend/fr.json | 1 - translations/frontend/hu.json | 1 - translations/frontend/id.json | 43 ++- translations/frontend/is.json | 1 - translations/frontend/it.json | 393 +++++++++++++++++++++++++- translations/frontend/ja.json | 14 +- translations/frontend/ko.json | 1 - translations/frontend/lb.json | 1 - translations/frontend/lt.json | 1 - translations/frontend/nb.json | 43 ++- translations/frontend/nl.json | 32 ++- translations/frontend/nn.json | 154 +++++++++- translations/frontend/pl.json | 438 ++++++++++++++++++++++++++++- translations/frontend/pt.json | 1 - translations/frontend/ro.json | 1 - translations/frontend/ru.json | 43 ++- translations/frontend/sl.json | 1 - translations/frontend/sv.json | 1 - translations/frontend/tr.json | 136 ++++++++- translations/frontend/uk.json | 1 - translations/frontend/zh-Hans.json | 1 - translations/frontend/zh-Hant.json | 51 +++- 32 files changed, 1813 insertions(+), 59 deletions(-) diff --git a/translations/frontend/ca.json b/translations/frontend/ca.json index 042e5bdaed..999ccd0c2d 100644 --- a/translations/frontend/ca.json +++ b/translations/frontend/ca.json @@ -697,7 +697,6 @@ "script": "Programació (scripts)", "server_control": "Controls del servidor", "tag": "Etiquetes", - "tags": "Etiquetes", "users": "Usuaris", "zone": "Zones" }, diff --git a/translations/frontend/cs.json b/translations/frontend/cs.json index e424e66731..779693e646 100644 --- a/translations/frontend/cs.json +++ b/translations/frontend/cs.json @@ -697,7 +697,6 @@ "script": "Skripty", "server_control": "Ovládání serveru", "tag": "Štítky", - "tags": "Štítky", "users": "Uživatelé", "zone": "Zóny" }, diff --git a/translations/frontend/da.json b/translations/frontend/da.json index 458ffcbe2f..f64058a4a6 100644 --- a/translations/frontend/da.json +++ b/translations/frontend/da.json @@ -675,7 +675,6 @@ "scene": "Scener", "script": "Scripts", "server_control": "Serveradministration", - "tags": "", "users": "Brugere", "zone": "Zoner" }, diff --git a/translations/frontend/de.json b/translations/frontend/de.json index 54fdacbda4..caeacd97c6 100644 --- a/translations/frontend/de.json +++ b/translations/frontend/de.json @@ -102,6 +102,40 @@ "unknown": "Unbekannt" } }, + "supervisor": { + "addon": { + "panel": { + "configuration": "Konfiguration", + "documentation": "Dokumentation", + "info": "Informationen", + "log": "Protokoll" + } + }, + "common": { + "cancel": "Abbrechen", + "newest_version": "Neueste Version", + "release_notes": "Versionshinweise", + "update": "Aktualisieren" + }, + "confirm": { + "update": { + "text": "Sind Sie sicher, dass Sie {name} auf Version {version} aktualisieren möchten?", + "title": "Aktualisiere {name}" + } + }, + "dashboard": { + "addon_new_version": "Neue Version verfügbar", + "addon_running": "Add-on wird ausgeführt", + "addon_stopped": "Add-on ist gestoppt", + "no_addons": "Sie haben noch keine Add-Ons installiert. Gehen Sie zum Add-on-Shop, um loszulegen!" + }, + "panel": { + "dashboard": "Dashboard", + "snapshots": "Datensicherungen", + "store": "Add-on Shop", + "system": "System" + } + }, "ui": { "auth_store": { "ask": "Möchtest du angemeldet bleiben?", @@ -377,6 +411,8 @@ "changed_to_state": "wechselte zu {state}", "cleared_device_class": "zurückgesetzt (kein(e) {device_class} erkannt)", "detected_device_class": "{device_class} erkannt", + "is_closing": "wird geschlossen", + "is_opening": "wird geöffnet", "rose": "aufgegangen", "set": "untergegangen", "turned_off": "ausgeschaltet", @@ -697,7 +733,6 @@ "script": "Skripte", "server_control": "Serversteuerung", "tag": "NFC Tags", - "tags": "Tags", "users": "Benutzer", "zone": "Zonen" }, @@ -2371,7 +2406,9 @@ "inclusion_failed": "Der Knoten konnte nicht hinzugefügt werden. Bitte überprüfe die Protokolle für weitere Informationen.", "inclusion_finished": "Der Knoten wurde hinzugefügt. Es kann einige Minuten dauern, bis alle Einheiten angezeigt werden, da der Knoten im Hintergrund fertig eingerichtet wird.", "introduction": "Dieser Assistent führt dich durch das Hinzufügen eines Knotens zu deinem Z-Wave-Netzwerk.", + "secure_inclusion_warning": "Sichere Geräte benötigen zusätzliche Bandbreite; zu viele sichere Geräte können Ihr Z-Wave-Netzwerk ausbremsen. Wir empfehlen, die sichere Einbindung nur für Geräte zu verwenden, die sie benötigen, wie Schlösser oder Garagentoröffner.", "title": "Z-Wave-Knoten hinzufügen", + "use_secure_inclusion": "Sichere Einbindung verwenden", "view_device": "Gerät anzeigen" }, "button": "Konfigurieren", @@ -2420,6 +2457,7 @@ "remove_node": { "exclusion_failed": "Der Knoten konnte nicht entfernt werden. Bitte in den Logs nach mehr Informationen suchen.", "exclusion_finished": "Der Knoten {id} wurde aus deinem Z-Wave-Netzwerk entfernt.", + "follow_device_instructions": "Befolge die mit dem Gerät gelieferten Anweisungen, um die Kopplung am Gerät auszulösen.", "introduction": "Entferne einen Knoten aus deinem Z-Wave-Netzwerk und entferne die zugehörigen Geräte und Entitäten aus Home Assistant.", "title": "Z-Wave-Knoten entfernen" } @@ -3000,6 +3038,7 @@ "error_remove": "Konfiguration konnte nicht entfernt werden: {error}", "error_save_yaml": "YAML konnte nicht gespeichert werden: {error}", "header": "Konfiguration bearbeiten", + "reload": "Neu laden", "resources_moved": "Ressourcen sollten nicht mehr zur Lovelace-Konfiguration hinzugefügt werden, sondern können im Lovelace-Konfigurationsfenster hinzugefügt werden.", "save": "Speichern", "saved": "Gespeichert", diff --git a/translations/frontend/el.json b/translations/frontend/el.json index e0df5d0ce4..3c1c66292a 100644 --- a/translations/frontend/el.json +++ b/translations/frontend/el.json @@ -102,6 +102,42 @@ "unknown": "Άγνωστη" } }, + "supervisor": { + "addon": { + "panel": { + "configuration": "Ρυθμίσεις", + "documentation": "Τεκμηρίωση", + "info": "Πληροφορίες", + "log": "Αρχείο καταγραφής" + } + }, + "common": { + "cancel": "Ακύρωση", + "newest_version": "Νεότερη έκδοση", + "release_notes": "Σημειώσεις έκδοσης", + "update": "Ενημέρωση", + "version": "Έκδοση" + }, + "confirm": { + "update": { + "text": "Είστε βέβαιοι ότι θέλετε να ενημερώσετε το {name} στην έκδοση {version} ;", + "title": "Ενημέρωση {name}" + } + }, + "dashboard": { + "addon_new_version": "Νέα έκδοση διαθέσιμη", + "addon_running": "Το πρόσθετο εκτελείται", + "addon_stopped": "Το πρόσθετο έχει σταματήσει", + "addons": "Πρόσθετα", + "no_addons": "Δεν έχετε εγκαταστήσει πρόσθετα ακόμα. Επισκεφθείτε το κατάστημα πρόσθετων για να ξεκινήσετε!" + }, + "panel": { + "dashboard": "Πίνακας Επισκόπησης", + "snapshots": "Στιγμιότυπα", + "store": "Κατάστημα πρόσθετων", + "system": "Σύστημα" + } + }, "ui": { "auth_store": { "ask": "Θέλετε να αποθηκεύσετε αυτή τη σύνδεση;", @@ -377,6 +413,8 @@ "changed_to_state": "άλλαξε σε {state}", "cleared_device_class": "παραγράφηκε (δεν εντοπίστηκε {device_class} )", "detected_device_class": "εντόπισε {device_class}", + "is_closing": "κλείνει", + "is_opening": "ανοίγει", "rose": "ανέτειλε", "set": "έδυσε", "turned_off": "απενεργοποιήθηκε", @@ -697,7 +735,6 @@ "script": "Scripts", "server_control": "Στοιχεία ελέγχου Server", "tag": "Ετικέτες", - "tags": "Ετικέτες", "users": "Χρήστες", "zone": "Ζώνες" }, @@ -756,6 +793,7 @@ "clusters": "Διαχείριση συμπλεγμάτων", "reconfigure": "Ρυθμίστε Ξανά Τη Συσκευή", "remove": "Κατάργηση συσκευής", + "view_in_visualization": "Προβολή στην Απεικόνιση", "zigbee_information": "Υπογραφή συσκευής Zigbee" }, "confirmations": { @@ -2333,6 +2371,7 @@ "caption": "Απεικόνιση", "header": "Απεικόνιση δικτύου", "highlight_label": "Επισήμανση συσκευών", + "refresh_topology": "Ανανέωση τοπολογίας", "zoom_label": "Ζουμ στη συσκευή" } }, @@ -3010,6 +3049,8 @@ "error_remove": "Δεν είναι δυνατή η κατάργηση της διαμόρφωσης: {error}", "error_save_yaml": "Δεν είναι δυνατή η αποθήκευση του YAML: {error}", "header": "Επεξεργασία διαμόρφωσης", + "lovelace_changed": "Η διαμόρφωση Lovelace ενημερώθηκε, θέλετε να φορτώσετε την ενημερωμένη διαμόρφωση στο πρόγραμμα επεξεργασίας και να χάσετε τις τρέχουσες αλλαγές σας;", + "reload": "Επαναφόρτωση", "resources_moved": "Οι πόροι δεν θα πρέπει πλέον να προστίθενται στη διαμόρφωση Lovelace, αλλά μπορούν να προστεθούν στον πίνακα παραμέτρων Lovelace.", "save": "Αποθήκευση", "saved": "Αποθηκεύτηκε", diff --git a/translations/frontend/en.json b/translations/frontend/en.json index 55d05fe89c..88128b13b8 100644 --- a/translations/frontend/en.json +++ b/translations/frontend/en.json @@ -104,24 +104,209 @@ }, "supervisor": { "addon": { + "configuration": { + "audio": { + "default": "Default", + "header": "Audio", + "input": "Input", + "output": "Output" + }, + "network": { + "container": "Container", + "disabled": "Disabled", + "header": "Network", + "host": "Host" + }, + "no_configuration": "This add-on does not expose configuration for you to mess with...", + "options": { + "edit_in_ui": "Edit in UI", + "edit_in_yaml": "Edit in YAML", + "header": "Options", + "invalid_yaml": "Invalid YAML", + "show_unused_optional": "Show unused optional configuration options" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "Failed to get add-on changelog", + "go_to_config": "Failed to start add-on - configuration validation failed!", + "install": "Failed to install add-on", + "restart": "Failed to restart add-on", + "start": "Failed to start add-on", + "start_invalid_config": "Go to configuration", + "stop": "Failed to stop add-on", + "uninstall": "Failed to uninstall add-on", + "validate_config": "Failed to validate add-on configuration" + }, + "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') is a Linux kernel security module that restricts add-ons capabilities like network access, raw socket access, and permission to read, write, or execute specific files.\n\nAdd-on authors can provide their security profiles, optimized for the add-on, or request it to be disabled. If AppArmor is disabled, it will raise security risks and therefore, has a negative impact on the security score of the add-on.", + "title": "AppArmor" + }, + "auth_api": { + "description": "An add-on can authenticate users against Home Assistant, allowing add-ons to give users the possibility to log into applications running inside add-ons, using their Home Assistant username/password. This badge indicates if the add-on author requests this capability.", + "title": "Home Assistant Authentication" + }, + "docker_api": { + "description": "The add-on author has requested the add-on to have management access to the Docker instance running on your system. This mode gives the add-on full access and control to your entire Home Assistant system, which adds security risks, and could damage your system when misused. Therefore, this feature impacts the add-on security score negatively.\n\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on.", + "title": "Full Docker Access" + }, + "full_access": { + "description": "This add-on is given full access to the hardware of your system, by request of the add-on author. Access is comparable to the privileged mode in Docker. Since this opens up possible security risks, this feature impacts the add-on security score negatively.\n\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on.", + "title": "Full Hardware Access" + }, + "hassio_api": { + "description": "The add-on was given access to the Supervisor API, by request of the add-on author. By default, the add-on can access general version information of your system. When the add-on requests 'manager' or 'admin' level access to the API, it will gain access to control multiple parts of your Home Assistant system. This permission is indicated by this badge and will impact the security score of the add-on negatively.", + "title": "Supervisor API Access" + }, + "homeassistant_api": { + "description": "This add-on is allowed to access your running Home Assistant instance directly via the Home Assistant API. This mode handles authentication for the add-on as well, which enables an add-on to interact with Home Assistant without the need for additional authentication tokens.", + "title": "Home Assistant API Access" + }, + "host_network": { + "description": "Add-ons usually run in their own isolated network layer, which prevents them from accessing the network of the host operating system. In some cases, this network isolation can limit add-ons in providing their services and therefore, the isolation can be lifted by the add-on author, giving the add-on full access to the network capabilities of the host machine. This gives the add-on more networking capabilities but lowers the security, hence, the security rating of the add-on will be lowered when this option is used by the add-on.", + "title": "Host Network" + }, + "host_pid": { + "description": "Usually, the processes the add-on runs, are isolated from all other system processes. The add-on author has requested the add-on to have access to the system processes running on the host system instance, and allow the add-on to spawn processes on the host system as well. This mode gives the add-on full access and control to your entire Home Assistant system, which adds security risks, and could damage your system when misused. Therefore, this feature impacts the add-on security score negatively.\n\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on.", + "title": "Host Processes Namespace" + }, + "ingress": { + "description": "This add-on is using Ingress to embed its interface securely into Home Assistant.", + "title": "Ingress" + }, + "label": { + "apparmor": "apparmor", + "auth": "auth", + "docker": "docker", + "hardware": "hardware", + "hass": "hass", + "hassio": "hassio", + "host": "host", + "host_pid": "host pid", + "ingress": "ingress", + "rating": "rating", + "stage": "stage" + }, + "rating": { + "description": "Home Assistant provides a security rating to each of the add-ons, which indicates the risks involved when using this add-on. The more access an add-on requires on your system, the lower the score, thus raising the possible security risks.\n\nA score is on a scale from 1 to 6. Where 1 is the lowest score (considered the most insecure and highest risk) and a score of 6 is the highest score (considered the most secure and lowest risk).", + "title": "Add-on Security Rating" + }, + "role": { + "admin": "admin", + "backup": "backup", + "default": "default", + "homeassistant": "homeassistant", + "manager": "manager" + }, + "stage": { + "description": "Add-ons can have one of three stages:\n\n{icon_stable} **Stable**: These are add-ons ready to be used in production.\n\n{icon_experimental} **Experimental**: These may contain bugs, and may be unfinished.\n\n{icon_deprecated} **Deprecated**: These add-ons will no longer receive any updates.", + "title": "Add-on Stage" + } + }, + "changelog": "Changelog", + "cpu_usage": "Add-on CPU Usage", + "hostname": "Hostname", + "install": "install", + "new_update_available": "{name} {version} is available", + "not_available_arch": "This add-on is not compatible with the processor of your device or the operating system you have installed on your device.", + "not_available_version": "You are unning Home Assistant {core_version_installed}, to update to this version of the add-on you need at least version {core_version_needed} of Home Assistan", + "open_web_ui": "Open web UI", + "option": { + "auto_update": { + "description": "Auto update the add-on when there is a new version available", + "title": "Auto update" + }, + "boot": { + "description": "Make the add-on start during a system boot", + "title": "Start on boot" + }, + "ingress_panel": { + "description": "Add this add-on to your sidebar", + "title": "Show in sidebar" + }, + "protected": { + "description": "Blocks elevated system access from the add-on", + "title": "Protection mode" + }, + "watchdog": { + "description": "This will start the add-on if it crashes", + "title": "Watchdog" + } + }, + "protection_mode": { + "content": "Protection mode on this add-on is disabled! This gives the add-on full access to the entire system, which adds security risks, and could damage your system when used incorrectly. Only disable the protection mode if you know, need AND trust the source of this add-on.", + "enable": "Enable Protection mode", + "title": "Warning: Protection mode is disabled!" + }, + "ram_usage": "Add-on RAM Usage", + "rebuild": "rebuild", + "restart": "restart", + "start": "start", + "stop": "stop", + "uninstall": "uninstall", + "visit_addon_page": "Visit the {name} page for more detals" + }, + "documentation": { + "get_documentation": "Failed to get add-on documentation, {error}" + }, + "failed_to_reset": "Failed to reset add-on configuration, {error}", + "failed_to_save": "Failed to save add-on configuration, {error}", + "logs": { + "get_logs": "Failed to get add-on logs, {error}" + }, "panel": { "configuration": "Configuration", "documentation": "Documentation", "info": "Info", "log": "Log" + }, + "state": { + "installed": "Add-on is installed", + "not_available": "Add-on is not available on your system", + "not_installed": "Add-on is not installed" } }, "common": { "cancel": "Cancel", + "description": "Description", + "error": { + "unknown": "Unknown error", + "update_failed": "Update failed" + }, + "failed_to_restart_name": "Failed to restart {name}", + "failed_to_update_name": "Failed to update {name}", + "learn_more": "Learn more", + "new_version_available": "New version available", "newest_version": "Newest Version", + "no": "No", + "refresh": "Refresh", "release_notes": "Release notes", + "reload": "Reload", + "reset_defaults": "Reset to defaults", + "reset_options": "Reset options", + "restart": "Restart", + "restart_name": "Restart {name}", + "running_version": "You are currently running version {version}", + "save": "Save", + "show_more": "Show more information about this", "update": "Update", - "version": "Version" + "update_available": "{count, plural,\n one {Update}\n other {{count} Updates}\n} pending", + "version": "Version", + "yes": "Yes" }, "confirm": { + "reset_options": { + "text": "Are you sure you want to reset all your options?", + "title": "Reset options" + }, + "restart": { + "text": "Are you sure you want to restart {name}?", + "title": "Restart {name}" + }, "update": { "text": "Are you sure you want to update {name} to version {version}?", - "title": "Update ${name}" + "title": "Update {name}" } }, "dashboard": { @@ -129,18 +314,177 @@ "addon_running": "Add-on is running", "addon_stopped": "Add-on is stopped", "addons": "Add-ons", - "no_addons": "You don't have any add-ons installed yet. Head over to the add-on store to get started!", - "update_available": "{count, plural,\n one {Update}\n other {{count} Updates}\n} pending" + "no_addons": "You don't have any add-ons installed yet. Head over to the add-on store to get started!" }, - "error": { - "unknown": "Unknown error", - "update_failed": "Update failed" + "dialog": { + "network": { + "connected_to": "Connected to {ssid}", + "dhcp": "DHCP", + "disabled": "Disabled", + "dns_servers": "DNS Servers", + "failed_to_change": "Failed to change network settings", + "gateway": "Gateway address", + "ip_netmask": "IP address/Netmask", + "open": "Open", + "scan_ap": "Scan for accesspoints", + "static": "Static", + "title": "Network settings", + "unsaved": "You have unsaved changes, these will get lost if you change tabs, do you want to continue?", + "warning": "If you are changing the Wi-Fi, IP or gateway addresses, you might lose the connection!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Add new registry", + "add_registry": "Add registry", + "failed_to_add": "Failed to add registry", + "failed_to_remove": "Failed to remove registry", + "no_registries": "No registries configured", + "password": "Password", + "registry": "Registry", + "remove": "Remove", + "title_add": "Add New Container Registry", + "title_manage": "Manage Container Registries", + "username": "Username" + }, + "repositories": { + "add": "Add", + "remove": "Remove", + "title": "Manage add-on repositories" + }, + "restart_addon": { + "confirm_text": "Restart add-on", + "text": "Do you want to restart the add-on with your changes?" + }, + "update": { + "create_snapshot": "Create a snapshot of {name} before updating", + "snapshot": "Snapshot", + "snapshotting": "Creating snapshot of {name}", + "updating": "Updating {name} to version {version}" + } + }, + "my": { + "error": "An unknown error occured", + "faq_link": "My Home Assistant FAQ", + "not_supported": "This redirect is not supported by your Home Assistant instance. Check the {link} for the supported redirects and the version they where introduced." }, "panel": { "dashboard": "Dashboard", "snapshots": "Snapshots", "store": "Add-on Store", "system": "System" + }, + "snapshot": { + "addons": "Add-ons", + "available_snapshots": "Available Snapshots", + "could_not_create": "Could not create snapshot", + "create": "Create", + "create_blocked_not_running": "Creating a snapshot is not possible right now because the system is in {state} state.", + "create_snapshot": "Create snapshot", + "description": "Snapshots allow you to easily backup and restore all data of your Home Assistant instance.", + "enter_password": "Please enter a password.", + "folder": { + "addons/local": "Local add-ons", + "homeassistant": "Home Assistant configuration", + "media": "Media", + "share": "Share", + "ssl": "SSL" + }, + "folders": "Folders", + "full_snapshot": "Full snapshot", + "name": "Name", + "no_snapshots": "You don't have any snapshots yet.", + "partial_snapshot": "Partial snapshot", + "password": "Password", + "password_protected": "password protected", + "password_protection": "Password protection", + "security": "Security", + "type": "Type", + "upload_snapshot": "Upload snapshot" + }, + "store": { + "missing_addons": "Missing add-ons? Enable advanced mode in your user profile page", + "no_results_found": "No results found in {repository}.", + "registries": "Registries", + "repositories": "Repositories" + }, + "system": { + "core": { + "cpu_usage": "Core CPU Usage", + "ram_usage": "Core RAM Usage" + }, + "host": { + "change": "Change", + "change_hostname": "Change Hostname", + "confirm_reboot": "Are you sure you want to reboot the host?", + "confirm_shutdown": "Are you sure you want to shutdown the host?", + "deployment": "Deployment", + "docker_version": "Docker version", + "emmc_lifetime_used": "eMMC Lifetime Used", + "failed_to_get_hardware_list": "Failed to get hardware list", + "failed_to_import_from_usb": "Failed to import from USB", + "failed_to_reboot": "Failed to reboot the host", + "failed_to_set_hostname": "Setting hostname failed", + "failed_to_shutdown": "Failed to shutdown the host", + "hardware": "Hardware", + "hostname": "Hostname", + "import_from_usb": "Import from USB", + "ip_address": "IP Address", + "new_hostname": "Please enter a new hostname:", + "operating_system": "Operating System", + "reboot_host": "Reboot host", + "shutdown_host": "Shutdown host", + "used_space": "Used space" + }, + "log": { + "get_logs": "Failed to get {provider} logs, {error}", + "log_provider": "Log Provider" + }, + "supervisor": { + "beta_backup": "Make sure you have backups of your data before you activate this feature.", + "beta_join_confirm": "Do you want to join the beta channel?", + "beta_release_items": "This includes beta releases for:", + "beta_warning": "Beta releases are for testers and early adopters and can contain unstable code changes", + "channel": "Channel", + "cpu_usage": "Supervisor CPU Usage", + "failed_to_reload": "Failed to reload the Supervisor", + "failed_to_set_option": "Failed to set Supervisor option", + "failed_to_update": "Failed to update the Supervisor", + "join_beta_action": "Join beta channel", + "join_beta_description": "Get beta updates for Home Assistant (RCs), Supervisor and host", + "leave_beta_action": "Leave beta channel", + "leave_beta_description": "Get stable updates for Home Assistant, Supervisor and host", + "ram_usage": "Supervisor RAM Usage", + "reload_supervisor": "Reload Supervisor", + "share_diagnostics": "Share Diagnostics", + "share_diagnostics_description": "Share crash reports and diagnostic information.", + "share_diagonstics_description": "Would you want to automatically share crash reports and diagnostic information when the Supervisor encounters unexpected errors? {line_break} This will allow us to fix the problems, the information is only accessible to the Home Assistant Core team and will not be shared with others.{line_break} The data does not include any private/sensitive information and you can disable this in settings at any time you want.", + "share_diagonstics_title": "Help Improve Home Assistant", + "unhealthy_description": "Running an unhealthy installation will cause issues. Below is a list of issues found with your installation, click on the links to learn how you can resolve the issues.", + "unhealthy_reason": { + "docker": "The Docker environment is not working properly", + "privileged": "Supervisor is not privileged", + "setup": "Setup of the Supervisor failed", + "supervisor": "Supervisor was not able to update" + }, + "unhealthy_title": "Your installation is unhealthy", + "unsupported_description": "Below is a list of issues found with your installation, click on the links to learn how you can resolve the issues.", + "unsupported_reason": { + "container": "Containers known to cause issues", + "dbus": "DBUS", + "docker_configuration": "Docker Configuration", + "docker_version": "Docker Version", + "job_conditions": "Ignored job conditions", + "lxc": "LXC", + "network_manager": "Network Manager", + "os": "Operating System", + "privileged": "Supervisor is not privileged", + "systemd": "Systemd" + }, + "unsupported_title": "You are running an unsupported installation", + "update_supervisor": "Update the Supervisor", + "warning": "WARNING" + } } }, "ui": { @@ -740,7 +1084,6 @@ "script": "Scripts", "server_control": "Server Controls", "tag": "Tags", - "tags": "Tags", "users": "Users", "zone": "Zones" }, diff --git a/translations/frontend/es-419.json b/translations/frontend/es-419.json index 081d42a836..0a5ea372f3 100644 --- a/translations/frontend/es-419.json +++ b/translations/frontend/es-419.json @@ -102,6 +102,23 @@ "unknown": "Desconocido" } }, + "supervisor": { + "common": { + "version": "Versión" + }, + "confirm": { + "update": { + "text": "¿Estás seguro de actualizar {name} a la versión {version}?" + } + }, + "dashboard": { + "addon_new_version": "Nueva versión disponible", + "addon_running": "El complemento se está ejecutando" + }, + "panel": { + "system": "Sistema" + } + }, "ui": { "auth_store": { "ask": "¿Desea permanecer conectado?", @@ -696,7 +713,6 @@ "scene": "Escenas", "script": "", "server_control": "Controles del servidor", - "tags": "Etiquetas", "users": "Usuarios", "zone": "Zonas" }, diff --git a/translations/frontend/es.json b/translations/frontend/es.json index 9cbed1630a..05799666da 100644 --- a/translations/frontend/es.json +++ b/translations/frontend/es.json @@ -697,7 +697,6 @@ "script": "Scripts", "server_control": "Controles del servidor", "tag": "Etiquetas", - "tags": "Etiquetas", "users": "Usuarios", "zone": "Zonas" }, diff --git a/translations/frontend/et.json b/translations/frontend/et.json index d416f9f317..209d7c6e82 100644 --- a/translations/frontend/et.json +++ b/translations/frontend/et.json @@ -102,6 +102,42 @@ "unknown": "Teadmata" } }, + "supervisor": { + "addon": { + "panel": { + "configuration": "Seaded", + "documentation": "Dokumentatsioon", + "info": "Info", + "log": "Logikirjed" + } + }, + "common": { + "cancel": "Loobu", + "newest_version": "Uusim versioon", + "release_notes": "Väljalaske teave", + "update": "Uuenda", + "version": "Versioon" + }, + "confirm": { + "update": { + "text": "Kas soovid kindlasti värskendada {name} versioonile {version}?", + "title": "Uuenda {name}" + } + }, + "dashboard": { + "addon_new_version": "Uus versioon on saadaval", + "addon_running": "Lisandmoodul töötab", + "addon_stopped": "Lisandmoodul on peatatud", + "addons": "Lisandmoodulid", + "no_addons": "Ühtegi lisandmoodulit pole veel paigaldatud. Alustamiseks mine lisandmoodulite hoidlasse!" + }, + "panel": { + "dashboard": "Kasutajaliidese vaade", + "snapshots": "Hetke varukoopia", + "store": "Lisandmoodulite hoidla", + "system": "Süsteem" + } + }, "ui": { "auth_store": { "ask": "Kas Te soovite jääda sisselogituks selles seadmes?", @@ -377,6 +413,8 @@ "changed_to_state": "muutus olekusse {state}", "cleared_device_class": "lõpetatud ( {device_class} ei leitud)", "detected_device_class": "tuvastati {device_class}", + "is_closing": "sulgub", + "is_opening": "avaneb", "rose": "tõusis", "set": "määratud", "turned_off": "lülitus välja", @@ -632,8 +670,8 @@ "remove_intro": "Kui olemit enam ei kasutata, võid selle eemaldada." }, "script": { - "last_action": "Viimane tegevus", - "last_triggered": "Viimati vallandunud" + "last_action": "Viimatine tegevus", + "last_triggered": "Viimati käivitatud" }, "settings": "Olemi seaded", "sun": { @@ -697,7 +735,6 @@ "script": "Scriptid", "server_control": "Serveri juhtimine", "tag": "Märgised", - "tags": "Märgised", "users": "Kasutajad", "zone": "Tsoonid" }, @@ -756,6 +793,7 @@ "clusters": "Halda seadmekobaraid", "reconfigure": "Muuda seadme sätteid", "remove": "Eemalda seade", + "view_in_visualization": "Visualiseeri", "zigbee_information": "Zigbee seadme tunnus" }, "confirmations": { @@ -2333,6 +2371,7 @@ "caption": "Visualiseerimine", "header": "Võrgu visualiseerimine", "highlight_label": "Tõsta seadmed esile", + "refresh_topology": "Värskenda seadmete kaarti", "zoom_label": "Näita seadet" } }, @@ -3010,6 +3049,8 @@ "error_remove": "Konfiguratsiooni ei saa eemaldada: {error}", "error_save_yaml": "YAML-i ei saa salvestada: {error}", "header": "Muuda seadeid", + "lovelace_changed": "Lovelace'i konfiguratsiooni värskendati, kas soovid uuendatud konfiguratsiooni redaktorisse laadida ja oma praegused muudatused kaotada?", + "reload": "Taaslae", "resources_moved": "Ressursse ei tohiks enam lisada Lovelace konfiguratsiooni kuid saab lisada Lovelace config paneeli.", "save": "Salvesta", "saved": "Salvestatud", diff --git a/translations/frontend/fi.json b/translations/frontend/fi.json index 70f1741068..8b1d1b79a5 100644 --- a/translations/frontend/fi.json +++ b/translations/frontend/fi.json @@ -658,7 +658,6 @@ "person": "Henkilöt", "script": "Skriptit", "server_control": "Palvelimen hallinta", - "tags": "Tägit", "users": "Käyttäjät", "zone": "Alueet" }, diff --git a/translations/frontend/fr.json b/translations/frontend/fr.json index 7a93f85ddc..e5416cd97b 100644 --- a/translations/frontend/fr.json +++ b/translations/frontend/fr.json @@ -697,7 +697,6 @@ "script": "Scripts", "server_control": "Contrôle du serveur", "tag": "Balises", - "tags": "Balises", "users": "Utilisateurs", "zone": "Zones" }, diff --git a/translations/frontend/hu.json b/translations/frontend/hu.json index 2872331fc5..1b09436716 100644 --- a/translations/frontend/hu.json +++ b/translations/frontend/hu.json @@ -664,7 +664,6 @@ "scene": "Jelenetek", "script": "Szkriptek", "server_control": "Szerver vezérlés", - "tags": "Címkék", "users": "Felhasználók", "zone": "Zónák" }, diff --git a/translations/frontend/id.json b/translations/frontend/id.json index 631cef10fa..2b2f0cf717 100644 --- a/translations/frontend/id.json +++ b/translations/frontend/id.json @@ -100,6 +100,42 @@ "unknown": "Tidak diketahui" } }, + "supervisor": { + "addon": { + "panel": { + "configuration": "Konfigurasi", + "documentation": "Dokumentasi", + "info": "Info", + "log": "Log" + } + }, + "common": { + "cancel": "Batalkan", + "newest_version": "Versi Terbaru", + "release_notes": "Catatan rilis", + "update": "Perbarui", + "version": "Versi:" + }, + "confirm": { + "update": { + "text": "Yakin ingin memperbarui {name} ke versi {version}?", + "title": "Perbarui {name}" + } + }, + "dashboard": { + "addon_new_version": "Versi baru tersedia", + "addon_running": "Add-on sedang berjalan", + "addon_stopped": "Add-on dihentikan", + "addons": "Add-on", + "no_addons": "Anda belum memasang add-on apa pun. Kunjungi toko add-on untuk memulai!" + }, + "panel": { + "dashboard": "Dasbor", + "snapshots": "Snapshot", + "store": "Toko Add-on", + "system": "Sistem" + } + }, "ui": { "auth_store": { "ask": "Ingin menyimpan login ini?", @@ -374,6 +410,8 @@ "changed_to_state": "berubah menjadi {state}", "cleared_device_class": "dibersihkan (tidak ada {device_class} yang terdeteksi)", "detected_device_class": "terdeteksi {device_class}", + "is_closing": "menutup", + "is_opening": "membuka", "rose": "terbit", "set": "terbenam", "turned_off": "dimatikan", @@ -692,7 +730,6 @@ "script": "Skrip", "server_control": "Kontrol Server", "tag": "Tag", - "tags": "Tag", "users": "Pengguna", "zone": "Zona" }, @@ -751,6 +788,7 @@ "clusters": "Kelola Cluster", "reconfigure": "Konfigurasi Ulang Perangkat", "remove": "Hapus Perangkat", + "view_in_visualization": "Tampilkan dalam Visualisasi", "zigbee_information": "Tanda tangan perangkat Zigbee" }, "confirmations": { @@ -2328,6 +2366,7 @@ "caption": "Visualisasi", "header": "Visualisasi Jaringan", "highlight_label": "Sorot Perangkat", + "refresh_topology": "Segarkan Topologi", "zoom_label": "Perbesar Ke Perangkat" } }, @@ -2994,6 +3033,8 @@ "error_remove": "Tidak dapat menghapus konfigurasi: {error}", "error_save_yaml": "Tidak dapat menyimpan YAML: {error}", "header": "Edit Konfigurasi", + "lovelace_changed": "Konfigurasi Lovelace telah diperbarui. Ingin memuat konfigurasi yang diperbarui di editor dan kehilangan perubahan Anda saat ini?", + "reload": "Muat Ulang", "resources_moved": "Sumber daya seharusnya tidak lagi ditambahkan ke konfigurasi Lovelace tetapi dapat ditambahkan di panel konfigurasi Lovelace.", "save": "Simpan", "saved": "Disimpan", diff --git a/translations/frontend/is.json b/translations/frontend/is.json index d477a3c95f..9e2a6131a7 100644 --- a/translations/frontend/is.json +++ b/translations/frontend/is.json @@ -466,7 +466,6 @@ "person": "Persónur", "scene": "Senur", "script": "Skriftur", - "tags": "Strikamerki", "users": "Notendur", "zone": "Svæði" }, diff --git a/translations/frontend/it.json b/translations/frontend/it.json index 16dd812c5d..cc2554ef18 100644 --- a/translations/frontend/it.json +++ b/translations/frontend/it.json @@ -102,6 +102,391 @@ "unknown": "Sconosciuto" } }, + "supervisor": { + "addon": { + "configuration": { + "audio": { + "default": "Predefinito", + "header": "Audio", + "input": "Ingresso", + "output": "Uscita" + }, + "network": { + "container": "Container", + "disabled": "Disabilitato", + "header": "Rete", + "host": "Host" + }, + "no_configuration": "Questo componente aggiuntivo non espone la sua configurazione per fartela pasticciare...", + "options": { + "edit_in_ui": "Modifica nell'interfaccia utente", + "edit_in_yaml": "Modifica in YAML", + "header": "Opzioni", + "invalid_yaml": "YAML non valido", + "show_unused_optional": "Mostra opzioni di configurazione facoltative inutilizzate" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "Impossibile ottenere il registro delle modifiche del componente aggiuntivo", + "go_to_config": "Impossibile avviare il componente aggiuntivo - convalida della configurazione non riuscita!", + "install": "Impossibile installare il componente aggiuntivo", + "restart": "Impossibile riavviare il componente aggiuntivo", + "start": "Impossibile avviare il componente aggiuntivo", + "start_invalid_config": "Vai alla configurazione", + "stop": "Impossibile arrestare il componente aggiuntivo", + "uninstall": "Impossibile disinstallare il componente aggiuntivo", + "validate_config": "Impossibile convalidare la configurazione del componente aggiuntivo" + }, + "capability": { + "apparmor": { + "description": "AppArmor (\"Application Armor\") è un modulo di sicurezza del kernel Linux che limita le funzionalità dei componenti aggiuntivi come l'accesso alla rete, l'accesso raw socket e l'autorizzazione a leggere, scrivere o eseguire file specifici. \n\nGli autori di componenti aggiuntivi possono fornire i propri profili di sicurezza, ottimizzati per il componente aggiuntivo o richiederne la disabilitazione. Se AppArmor è disabilitato, aumenterà i rischi per la sicurezza e, di conseguenza, avrà un impatto negativo sul punteggio di sicurezza del componente aggiuntivo.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Un componente aggiuntivo può autenticare gli utenti rispetto a Home Assistant, consentendo ai componenti aggiuntivi la possibilità di offrire agli utenti l'accesso alle applicazioni in esecuzione all'interno dei componenti aggiuntivi stessi, utilizzando il proprio nome utente/password di Home Assistant. Questo distintivo indica se l'autore del componente aggiuntivo richiede questa funzionalità.", + "title": "Autenticazione di Home Assistant" + }, + "docker_api": { + "description": "L'autore del componente aggiuntivo ha richiesto al componente aggiuntivo di avere accesso alla gestione dell'istanza Docker in esecuzione nel sistema. Questa modalità offre al componente aggiuntivo l'accesso completo e il controllo all'intero sistema Home Assistant, il che aggiunge rischi per la sicurezza e potrebbe danneggiare il sistema in caso di uso improprio. Pertanto, questa funzionalità influisce negativamente sul punteggio di sicurezza del componente aggiuntivo.\n\nQuesto livello di accesso non viene concesso automaticamente e deve essere confermato dall'utente. Per fare ciò, è necessario disabilitare manualmente la modalità di protezione sul componente aggiuntivo. Disabilitare la modalità di protezione solo se si sa, è necessario e considerare attendibile l'origine di questo componente aggiuntivo.", + "title": "Accesso completo a Docker" + }, + "full_access": { + "description": "Questo componente aggiuntivo ha pieno accesso all'hardware del sistema, su richiesta dell'autore del componente aggiuntivo. L'accesso è paragonabile alla modalità privilegiata in Docker. Poiché ciò apre possibili rischi per la sicurezza, questa funzionalità influisce negativamente sul punteggio di sicurezza aggiuntivo.\n\nQuesto livello di accesso non viene concesso automaticamente e deve essere confermato dall'utente. Per fare ciò, è necessario disabilitare manualmente la modalità di protezione sul componente aggiuntivo. Disabilitare la modalità di protezione solo se si sa, è necessario e considerare attendibile l'origine di questo componente aggiuntivo.", + "title": "Accesso completo all'hardware" + }, + "hassio_api": { + "description": "Al componente aggiuntivo è stato concesso l'accesso all'API Supervisor, su richiesta dell'autore del componente aggiuntivo. Per impostazione predefinita, il componente aggiuntivo può accedere alle informazioni generali sulla versione del sistema. Quando il componente aggiuntivo richiede l'accesso all'API a livello di \"manager\" o \"admin\", avrà accesso per controllare più parti del sistema Home Assistant. Questa autorizzazione è indicata da questo distintivo e avrà un impatto negativo sul punteggio di sicurezza del componente aggiuntivo.", + "title": "Accesso API Supervisor" + }, + "homeassistant_api": { + "description": "Questo componente aggiuntivo può accedere all'istanza di Home Assistant in esecuzione direttamente tramite l'API di Home Assistant. Questa modalità gestisce anche l'autenticazione per il componente aggiuntivo, che consente a un componente aggiuntivo di interagire con Home Assistant senza la necessità di token di autenticazione aggiuntivi.", + "title": "Accesso all'API di Home Assistant" + }, + "host_network": { + "description": "I componenti aggiuntivi vengono in genere eseguiti nel proprio livello di rete isolato, impedendo loro di accedere alla rete del sistema operativo host. In alcuni casi, questo isolamento della rete può limitare i componenti aggiuntivi nella fornitura dei propri servizi e, pertanto, l'isolamento può essere revocato dall'autore del componente aggiuntivo, offrendo al componente aggiuntivo l'accesso completo alle funzionalità di rete del computer host. In questo modo il componente aggiuntivo offre più funzionalità di rete, ma riduce la sicurezza, pertanto la classificazione di sicurezza del componente aggiuntivo verrà abbassata quando questa opzione viene utilizzata dal componente aggiuntivo.", + "title": "Rete host" + }, + "host_pid": { + "description": "In genere, i processi che il componente aggiuntivo esegue, sono isolati da tutti gli altri processi di sistema. L'autore del componente aggiuntivo ha richiesto al componente aggiuntivo di avere accesso ai processi di sistema in esecuzione nell'istanza del sistema host e di consentire al componente aggiuntivo di generare processi anche nel sistema host. Questa modalità offre al componente aggiuntivo l'accesso completo e il controllo all'intero sistema Home Assistant, il che aggiunge rischi per la sicurezza e potrebbe danneggiare il sistema in caso di uso improprio. Pertanto, questa funzionalità influisce negativamente sul punteggio di sicurezza del componente aggiuntivo.\n\nQuesto livello di accesso non viene concesso automaticamente e deve essere confermato dall'utente. Per fare ciò, è necessario disabilitare manualmente la modalità di protezione sul componente aggiuntivo. Disabilitare la modalità di protezione solo se si sa, è necessario e considerare attendibile l'origine di questo componente aggiuntivo.", + "title": "Spazio dei nomi dei processi host" + }, + "ingress": { + "description": "Questo componente aggiuntivo utilizza Ingress per incorporare la sua interfaccia in modo sicuro in Home Assistant.", + "title": "Ingress" + }, + "label": { + "apparmor": "apparmor", + "auth": "auth", + "docker": "docker", + "hardware": "hardware", + "hass": "hass", + "hassio": "hassio", + "host": "host", + "host_pid": "host pid", + "ingress": "ingress", + "rating": "valutazione", + "stage": "fase" + }, + "rating": { + "description": "Home Assistant fornisce una classificazione di sicurezza a ciascuno dei componenti aggiuntivi, che indica i rischi connessi all'utilizzo di questo componente aggiuntivo. Maggiore è l'accesso necessario a un componente aggiuntivo sul sistema, minore è il punteggio, aumentando così i possibili rischi per la sicurezza.\n\nIl punteggio è su una scala da 1 a 6. Dove 1 è il punteggio più basso (considerato il più insicuro ed a rischio più alto) e un punteggio di 6 è il punteggio più alto (considerato il più sicuro ed a rischio più basso).", + "title": "Classificazione di sicurezza del componente aggiuntivo" + }, + "role": { + "admin": "admin", + "backup": "backup", + "default": "predefinito", + "homeassistant": "homeassistant", + "manager": "manager" + }, + "stage": { + "description": "I componenti aggiuntivi possono avere una delle tre fasi seguenti:\n\n{icon_stable} **Stabile**: si tratta di componenti aggiuntivi pronti per l'uso in produzione.\n\n{icon_experimental} **Sperimentale**: questi possono contenere bug e potrebbero non essere completati.\n\n{icon_deprecated} **Deprecato**: questi componenti aggiuntivi non riceveranno più aggiornamenti.", + "title": "Fase del componente aggiuntivo" + } + }, + "changelog": "Registro delle modifiche", + "cpu_usage": "Utilizzo CPU componente aggiuntivo", + "hostname": "Nome host", + "install": "installa", + "new_update_available": "{name} {version} è disponibile", + "not_available_arch": "Questo componente aggiuntivo non è compatibile con il processore del dispositivo o con il sistema operativo installato nel dispositivo.", + "not_available_version": "Stai eseguendo Home Assistant {core_version_installed}, per aggiornare a questa versione del componente aggiuntivo è necessaria almeno la versione {core_version_needed} di Home Assistant", + "open_web_ui": "Apri l'interfaccia utente web", + "option": { + "auto_update": { + "description": "Aggiorna automaticamente il componente aggiuntivo quando è disponibile una nuova versione", + "title": "Aggiornamento automatico" + }, + "boot": { + "description": "Avvia il componente aggiuntivo durante l'avvio del sistema", + "title": "Inizia dall'avvio" + }, + "ingress_panel": { + "description": "Aggiungi questo componente aggiuntivo alla barra laterale", + "title": "Mostra nella barra laterale" + }, + "protected": { + "description": "Blocca l'accesso al sistema con privilegi elevati dal componente aggiuntivo", + "title": "Modalità di protezione" + }, + "watchdog": { + "description": "Questo avvierà il componente aggiuntivo se si arresta in modo anomalo", + "title": "Watchdog" + } + }, + "protection_mode": { + "content": "La modalità di protezione su questo componente aggiuntivo è disabilitata! Questo dà al componente aggiuntivo pieno accesso all'intero sistema, il che aggiunge rischi per la sicurezza e potrebbe danneggiare il tuo sistema se usato in modo scorretto. Disabilita la modalità di protezione solo se conosci, hai bisogno e ti fidi della fonte di questo componente aggiuntivo.", + "enable": "Abilita la modalità di protezione", + "title": "Attenzione: la modalità di protezione è disabilitata!" + }, + "ram_usage": "Utilizzo RAM componente aggiuntivo", + "rebuild": "ricostruisci", + "restart": "Riavvia", + "start": "avvia", + "stop": "ferma", + "uninstall": "disinstalla", + "visit_addon_page": "Visita la pagina di {name} per maggiori dettagli" + }, + "documentation": { + "get_documentation": "Impossibile ottenere la documentazione del componente aggiuntivo, {error}" + }, + "failed_to_reset": "Impossibile reimpostare la configurazione del componente aggiuntivo, {error}", + "failed_to_save": "Impossibile salvare la configurazione del componente aggiuntivo, {error}", + "logs": { + "get_logs": "Impossibile ottenere i registri del componente aggiuntivo, {error}" + }, + "panel": { + "configuration": "Configurazione", + "documentation": "Documentazione", + "info": "Informazioni", + "log": "Registro" + }, + "state": { + "installed": "Il componente aggiuntivo è installato", + "not_available": "Il componente aggiuntivo non è disponibile sul tuo sistema", + "not_installed": "Il componente aggiuntivo non è installato" + } + }, + "common": { + "cancel": "Annulla", + "description": "Descrizione", + "error": { + "unknown": "Errore sconosciuto", + "update_failed": "Aggiornamento non riuscito" + }, + "failed_to_restart_name": "Impossibile riavviare {name}", + "failed_to_update_name": "Impossibile aggiornare {name}", + "learn_more": "Ulteriori informazioni", + "new_version_available": "Nuova versione disponibile", + "newest_version": "Ultima versione", + "no": "No", + "refresh": "Aggiorna", + "release_notes": "Note sulla versione", + "reload": "Ricarica", + "reset_defaults": "Ripristina le impostazioni predefinite", + "reset_options": "Ripristina le opzioni", + "restart": "Riavvia", + "restart_name": "Riavvia {name}", + "running_version": "È attualmente in esecuzione la versione {version}", + "save": "Salva", + "show_more": "Ulteriori informazioni al riguardo", + "update": "Aggiorna", + "update_available": "{count, plural,\n one {aggiornamento}\n other {{count} aggiornamenti}\n} in sospeso", + "version": "Versione", + "yes": "Sì" + }, + "confirm": { + "reset_options": { + "text": "Reimpostare tutte le opzioni?", + "title": "Ripristina le opzioni" + }, + "restart": { + "text": "Riavviare {name}?", + "title": "Riavvia {name}" + }, + "update": { + "text": "Aggiornare {name} alla versione {version}?", + "title": "Aggiorna {name}" + } + }, + "dashboard": { + "addon_new_version": "Nuova versione disponibile", + "addon_running": "Il componente aggiuntivo è in esecuzione", + "addon_stopped": "Il componente aggiuntivo viene arrestato", + "addons": "Componenti aggiuntivi", + "no_addons": "Non hai ancora installato alcun componente aggiuntivo. Vai al negozio di componenti aggiuntivi per iniziare!" + }, + "dialog": { + "network": { + "connected_to": "Connesso a {ssid}", + "dhcp": "DHCP", + "disabled": "Disabilitato", + "dns_servers": "Server DNS", + "failed_to_change": "Impossibile modificare le impostazioni di rete", + "gateway": "Indirizzo del gateway", + "ip_netmask": "Indirizzo IP/Netmask", + "open": "Aperto", + "scan_ap": "Scansione dei punti di accesso", + "static": "Statico", + "title": "Impostazioni di rete", + "unsaved": "Hai modifiche non salvate, queste andranno perse se cambi scheda, vuoi continuare?", + "warning": "Se stai modificando gli indirizzi Wi-Fi, IP o gateway, potresti perdere la connessione!", + "wep": "WEP", + "wpa": "WPA-PSK" + }, + "registries": { + "add_new_registry": "Aggiungi nuovo registro", + "add_registry": "Aggiungi registro", + "failed_to_add": "Impossibile aggiungere il registro", + "failed_to_remove": "Impossibile rimuovere il registro", + "no_registries": "Nessun registro configurato", + "password": "Password", + "registry": "Registro", + "remove": "Rimuovi", + "title_add": "Aggiungi nuovo registro container", + "title_manage": "Gestisci i registri dei container", + "username": "Nome utente" + }, + "repositories": { + "add": "Aggiungi", + "remove": "Rimuovi", + "title": "Gestisci i repository dei componenti aggiuntivi" + }, + "restart_addon": { + "confirm_text": "Riavvia il componente aggiuntivo", + "text": "Riavviare il componente aggiuntivo con le modifiche?" + }, + "update": { + "create_snapshot": "Creare un'istantanea di {name} prima dell'aggiornamento", + "snapshot": "Istantanea", + "snapshotting": "Creazione istantanea di {name}", + "updating": "Aggiornamento di {name} alla versione {version}" + } + }, + "my": { + "error": "Si è verificato un errore sconosciuto", + "faq_link": "My Home Assistant FAQ", + "not_supported": "Questo reindirizzamento non è supportato dall'istanza di Home Assistant. Controlla il {link} per i reindirizzamenti supportati e la versione in cui sono stati introdotti." + }, + "panel": { + "dashboard": "Pannello di controllo", + "snapshots": "Istantanee", + "store": "Negozio dei componenti aggiuntivi", + "system": "Sistema" + }, + "snapshot": { + "addons": "Componenti aggiuntivi", + "available_snapshots": "Istantanee disponibili", + "could_not_create": "Impossibile creare l'istantanea", + "create": "Crea", + "create_blocked_not_running": "La creazione di un'istantanea non è al momento possibile perché il sistema è nello stato {state}.", + "create_snapshot": "Crea istantanea", + "description": "Le istantanee ti consentono di eseguire facilmente il backup e il ripristino di tutti i dati dell'istanza di Home Assistant.", + "enter_password": "Immettere una password.", + "folder": { + "addons/local": "Componenti aggiuntivi locali", + "homeassistant": "Configurazione di Home Assistant", + "media": "Media", + "share": "Share", + "ssl": "SSL" + }, + "folders": "Cartelle", + "full_snapshot": "Istantanea completa", + "name": "Nome", + "no_snapshots": "Non hai ancora nessuna istantanea.", + "partial_snapshot": "Istantanea parziale", + "password": "Password", + "password_protected": "protetto da password", + "password_protection": "Protezione con password", + "security": "Sicurezza", + "type": "Tipo", + "upload_snapshot": "Invia istantanea" + }, + "store": { + "missing_addons": "Componenti aggiuntivi mancanti? Abilita la modalità avanzata nella pagina del tuo profilo utente", + "no_results_found": "Nessun risultato trovato in {repository}.", + "registries": "Registri", + "repositories": "Repository" + }, + "system": { + "core": { + "cpu_usage": "Utilizzo della CPU principale", + "ram_usage": "Utilizzo della RAM principale" + }, + "host": { + "change": "Cambia", + "change_hostname": "Cambia nome host", + "confirm_reboot": "Riavviare l'host?", + "confirm_shutdown": "Arrestare l'host?", + "deployment": "Distribuzione", + "docker_version": "Versione Docker", + "emmc_lifetime_used": "Durata eMMC usata", + "failed_to_get_hardware_list": "Impossibile ottenere l'elenco hardware", + "failed_to_import_from_usb": "Importazione da USB non riuscita", + "failed_to_reboot": "Impossibile riavviare l'host", + "failed_to_set_hostname": "Impostazione del nome host non riuscita", + "failed_to_shutdown": "Impossibile arrestare l'host", + "hardware": "Hardware", + "hostname": "Nome host", + "import_from_usb": "Importa da USB", + "ip_address": "Indirizzo IP", + "new_hostname": "Inserisci un nuovo nome host:", + "operating_system": "Sistema operativo", + "reboot_host": "Riavvia host", + "shutdown_host": "Arresta host", + "used_space": "Spazio utilizzato" + }, + "log": { + "get_logs": "Impossibile ottenere i registri di {provider}, {error}", + "log_provider": "Fornitore del registro" + }, + "supervisor": { + "beta_backup": "Assicurati di disporre di backup dei tuoi dati prima di attivare questa funzione.", + "beta_join_confirm": "Vuoi entrare a far parte del canale beta?", + "beta_release_items": "Questo include le versioni beta per:", + "beta_warning": "Le versioni beta sono per \"tester\" e \"early adopter\" e possono contenere modifiche al codice instabili", + "channel": "Canale", + "cpu_usage": "Utilizzo CPU Supervisor", + "failed_to_reload": "Impossibile ricaricare il Supervisor", + "failed_to_set_option": "Impossibile impostare l'opzione Supervisor", + "failed_to_update": "Impossibile aggiornare il Supervisor", + "join_beta_action": "Partecipa al canale beta", + "join_beta_description": "Ricevi gli aggiornamenti beta per Home Assistant (RC), Supervisor e host", + "leave_beta_action": "Lascia il canale beta", + "leave_beta_description": "Ricevi aggiornamenti stabili per Home Assistant, Supervisor e host", + "ram_usage": "Utilizzo RAM Supervisor", + "reload_supervisor": "Ricarica Supervisor", + "share_diagnostics": "Condividi diagnostica", + "share_diagnostics_description": "Condividi i rapporti sugli arresti anomali e le informazioni diagnostiche.", + "share_diagonstics_description": "Vorresti condividere automaticamente i rapporti sugli arresti anomali e le informazioni diagnostiche quando il Supervisor rileva errori imprevisti? {line_break} Questo ci consentirà di risolvere i problemi, le informazioni sono accessibili solo al team di Home Assistant Core e non saranno condivise con altri. {line_break} I dati non includono alcuna informazione privata/sensibile e puoi disabilitarla nelle impostazioni in qualsiasi momento lo desideri.", + "share_diagonstics_title": "Aiutaci a migliorare Home Assistant", + "unhealthy_description": "L'esecuzione di un'installazione non funzionante causerà problemi. Di seguito è riportato un elenco dei problemi riscontrati con l'installazione, fare clic sui collegamenti per scoprire come risolvere i problemi.", + "unhealthy_reason": { + "docker": "L'ambiente Docker non funziona correttamente", + "privileged": "Il Supervisor non è privilegiato", + "setup": "Configurazione del Supervisor non riuscita", + "supervisor": "Il Supervisor non è stato in grado di aggiornare" + }, + "unhealthy_title": "L'installazione non è integra", + "unsupported_description": "Di seguito è riportato un elenco dei problemi riscontrati con l'installazione, fare clic sui collegamenti per scoprire come risolvere i problemi.", + "unsupported_reason": { + "container": "Container noti per causare problemi", + "dbus": "DBUS", + "docker_configuration": "Configurazione Docker", + "docker_version": "Versione Docker", + "job_conditions": "Condizioni di lavoro ignorate", + "lxc": "LXC", + "network_manager": "Gestione della rete", + "os": "Sistema operativo", + "privileged": "Il Supervisor non è privilegiato", + "systemd": "Systemd" + }, + "unsupported_title": "Stai eseguendo un'installazione non supportata", + "update_supervisor": "Aggiorna il Supervisor", + "warning": "ATTENZIONE" + } + } + }, "ui": { "auth_store": { "ask": "Vuoi rimanere connesso?", @@ -377,6 +762,8 @@ "changed_to_state": "cambiato in {state}", "cleared_device_class": "sgombro (nessun {device_class} rilevato)", "detected_device_class": "rilevato {device_class}", + "is_closing": "in chiusura", + "is_opening": "in apertura", "rose": "sorto", "set": "tramontato", "turned_off": "spento", @@ -696,7 +1083,7 @@ "scene": "Scene", "script": "Script", "server_control": "Controlli del Server", - "tags": "Etichette", + "tag": "Etichette", "users": "Utenti", "zone": "Zone" }, @@ -755,6 +1142,7 @@ "clusters": "Gestisci i cluster", "reconfigure": "Riconfigura dispositivo", "remove": "Rimuovi dispositivo", + "view_in_visualization": "Visualizza in visualizzazione", "zigbee_information": "Firma del dispositivo Zigbee" }, "confirmations": { @@ -2332,6 +2720,7 @@ "caption": "Visualizzazione", "header": "Visualizzazione di rete", "highlight_label": "Evidenzia dispositivi", + "refresh_topology": "Aggiorna la topologia", "zoom_label": "Ingrandisci al dispositivo" } }, @@ -3009,6 +3398,8 @@ "error_remove": "Impossibile rimuovere la configurazione: {error}", "error_save_yaml": "Impossibile salvare YAML: {error}", "header": "Modifica Configurazione", + "lovelace_changed": "La configurazione di Lovelace è stata aggiornata, vuoi caricare la configurazione aggiornata nell'editor e perdere le modifiche attuali?", + "reload": "Ricarica", "resources_moved": "Le risorse non dovrebbero più essere aggiunte alla configurazione di Lovelace ma possono essere aggiunte nel pannello di configurazione di Lovelace.", "save": "Salva", "saved": "Salvato", diff --git a/translations/frontend/ja.json b/translations/frontend/ja.json index 1a94d3ce46..9390a174f3 100644 --- a/translations/frontend/ja.json +++ b/translations/frontend/ja.json @@ -96,6 +96,16 @@ "unknown": "不明" } }, + "supervisor": { + "common": { + "cancel": "キャンセル" + }, + "confirm": { + "update": { + "title": "{name}更新" + } + } + }, "ui": { "auth_store": { "ask": "このログインの保存をよろしいですか?", @@ -459,6 +469,9 @@ "week": "{count} {count, plural,\n one {週}\n other {週}前\n}" } }, + "service-control": { + "target": "ターゲット" + }, "service-picker": { "service": "サービス" }, @@ -668,7 +681,6 @@ "scene": "シーン", "script": "スクリプト", "server_control": "サーバーコントロール", - "tags": "タグ", "users": "ユーザー", "zone": "場所" }, diff --git a/translations/frontend/ko.json b/translations/frontend/ko.json index 175326c6be..2b0704f949 100644 --- a/translations/frontend/ko.json +++ b/translations/frontend/ko.json @@ -638,7 +638,6 @@ "scene": "씬", "script": "스크립트", "server_control": "서버 제어", - "tags": "태그", "users": "사용자", "zone": "지역" }, diff --git a/translations/frontend/lb.json b/translations/frontend/lb.json index b53d9aec23..d2eec88bfd 100644 --- a/translations/frontend/lb.json +++ b/translations/frontend/lb.json @@ -650,7 +650,6 @@ "scene": "Zeene", "script": "Skripte", "server_control": "Server Kontrolle", - "tags": "Tags", "users": "Benotzer", "zone": "Zone" }, diff --git a/translations/frontend/lt.json b/translations/frontend/lt.json index ba6fcba6a8..69f48dbf89 100644 --- a/translations/frontend/lt.json +++ b/translations/frontend/lt.json @@ -230,7 +230,6 @@ "scene": "Scenos", "script": "Skriptai", "server_control": "Serverio valdikliai", - "tags": "Žymės", "users": "Vartotojai", "zone": "Zonos" } diff --git a/translations/frontend/nb.json b/translations/frontend/nb.json index ff8db3de6b..719a8d4a5e 100644 --- a/translations/frontend/nb.json +++ b/translations/frontend/nb.json @@ -102,6 +102,42 @@ "unknown": "Ukjent" } }, + "supervisor": { + "addon": { + "panel": { + "configuration": "Konfigurasjon", + "documentation": "Dokumentasjon", + "info": "Info", + "log": "Logg" + } + }, + "common": { + "cancel": "Avbryt", + "newest_version": "Nyeste versjon", + "release_notes": "Utgivelsesmerknader", + "update": "Oppdater", + "version": "Versjon" + }, + "confirm": { + "update": { + "text": "Er du sikker på at du vil oppdatere {name} til version {version} ?", + "title": "Oppdater {name}" + } + }, + "dashboard": { + "addon_new_version": "Ny versjon tilgjengelig", + "addon_running": "Tillegget kjører", + "addon_stopped": "Tillegget er stoppet", + "addons": "Tillegg", + "no_addons": "Du har ikke installert tilleggsprogrammer ennå. Gå over til tilleggsbutikken for å komme i gang!" + }, + "panel": { + "dashboard": "Dashboard", + "snapshots": "Snapshots", + "store": "Tilleggsbutikk", + "system": "System" + } + }, "ui": { "auth_store": { "ask": "Vil du forbli innlogget på denne enheten?", @@ -377,6 +413,8 @@ "changed_to_state": "endret til {state}", "cleared_device_class": "klar (ingen {device_class} oppdaget)", "detected_device_class": "oppdaget {device_class}", + "is_closing": "stenger", + "is_opening": "åpner", "rose": "soloppgang", "set": "solnedgang", "turned_off": "slått av", @@ -697,7 +735,6 @@ "script": "Skript", "server_control": "Server-kontroller", "tag": "Tagger", - "tags": "Tagger", "users": "Brukere", "zone": "Soner" }, @@ -756,6 +793,7 @@ "clusters": "Behandle Clusters", "reconfigure": "Rekonfigurer enhet", "remove": "Fjern enhet", + "view_in_visualization": "Visning i visualisering", "zigbee_information": "ZigBee-enhetssignatur" }, "confirmations": { @@ -2333,6 +2371,7 @@ "caption": "Visualisering", "header": "Nettverksvisualisering", "highlight_label": "Fremhev enheter", + "refresh_topology": "Oppdater topologi", "zoom_label": "Zoom til enhet" } }, @@ -3010,6 +3049,8 @@ "error_remove": "Kan ikke fjerne konfigurasjonen: {error}", "error_save_yaml": "Kan ikke lagre YAML: {error}", "header": "Rediger konfigurasjon", + "lovelace_changed": "Lovelace-konfigurasjonen ble oppdatert, vil du laste den oppdaterte konfigurasjonen i redigeringsprogrammet og miste gjeldende endringer?", + "reload": "Last inn på nytt", "resources_moved": "Ressurser skal ikke lenger legges til Lovelace-konfigurasjonen, men kan legges til i Lovelace-konfigurasjonspanelet.", "save": "Lagre", "saved": "Lagret", diff --git a/translations/frontend/nl.json b/translations/frontend/nl.json index c065448275..e1740f86be 100644 --- a/translations/frontend/nl.json +++ b/translations/frontend/nl.json @@ -102,6 +102,37 @@ "unknown": "Onbekend" } }, + "supervisor": { + "addon": { + "dashboard": { + "option": { + "boot": { + "title": "Start bij opstarten" + }, + "ingress_panel": { + "title": "Weergeven in zijbalk" + } + } + } + }, + "common": { + "description": "Omschrijving", + "learn_more": "Meer informatie", + "new_version_available": "Nieuwe versie beschikbaar" + }, + "dialog": { + "update": { + "snapshotting": "Maak een snapshot van {name}" + } + }, + "system": { + "supervisor": { + "beta_join_confirm": "Wil je meedoen met de bèta releases?", + "reload_supervisor": "Herlaad de Supervisor", + "share_diagonstics_title": "Help Home Assistant te verbeteren" + } + } + }, "ui": { "auth_store": { "ask": "Wil je ingelogd blijven?", @@ -697,7 +728,6 @@ "script": "Scripts", "server_control": "Server Controls", "tag": "Tags", - "tags": "Tags", "users": "Gebruikers", "zone": "Zones" }, diff --git a/translations/frontend/nn.json b/translations/frontend/nn.json index ac541ebb96..29e264db48 100644 --- a/translations/frontend/nn.json +++ b/translations/frontend/nn.json @@ -86,6 +86,42 @@ "unknown": "Ukjent" } }, + "supervisor": { + "addon": { + "panel": { + "configuration": "Konfigurasjon ", + "documentation": "Dokumentasjon ", + "info": "Info", + "log": "Logg" + } + }, + "common": { + "cancel": "Avbryt", + "newest_version": "Nyaste versjon", + "release_notes": "Utgjevingsnotat", + "update": "Oppdater ", + "version": "Versjon" + }, + "confirm": { + "update": { + "text": "Er du sikker på at du vil oppdatere {name} til versjon {version}", + "title": "Oppdater {name}" + } + }, + "dashboard": { + "addon_new_version": "Ny versjon tilgjengeleg", + "addon_running": "Tillegg køyrer", + "addon_stopped": "Tillegg stoppa", + "addons": "Tillegg", + "no_addons": "Du har ikkje installert nokon tillegg endå. Gå til tilleggsbutikken for å kome i gang!" + }, + "panel": { + "dashboard": "Skrivebord", + "snapshots": "Snapshots", + "store": "Tillegsbutikk", + "system": "System" + } + }, "ui": { "auth_store": { "ask": "Vil du lagre denne pålogginga?", @@ -129,6 +165,7 @@ "direction": "Retning", "forward": "Framover", "oscillate": "Sving", + "preset_mode": "Malmodus", "reverse": "Bakover", "speed": "Fart" }, @@ -156,7 +193,8 @@ }, "script": { "cancel": "Avbryt", - "cancel_multiple": "Avbryt {number}" + "cancel_multiple": "Avbryt {number}", + "run": "Køyr" }, "service": { "run": "Køyr" @@ -233,6 +271,19 @@ "successfully_saved": "Vellukka lagring" }, "components": { + "addon-picker": { + "addon": "Tillegg", + "error": { + "fetch_addons": { + "description": "Henter tillegget som gav feilen.", + "title": "Feil ved henting av tillegg." + }, + "no_supervisor": { + "description": "Fann ikkje Supervisor, så tillegget kunne ikkje lastast.", + "title": "Inga Supervisor" + } + } + }, "area-picker": { "add_dialog": { "add": "Legg til", @@ -264,6 +315,12 @@ "loading_history": "Lastar tilstandshistoria...", "no_history_found": "Inga tilstandshistorie funne" }, + "logbook": { + "messages": { + "is_closing": "stenger", + "is_opening": "opnar" + } + }, "related-items": { "area": "Område", "device": "Eining", @@ -279,6 +336,12 @@ }, "never": "Aldri" }, + "service-control": { + "required": "Dette feltet obligatorisk", + "service_data": "Tenestedata", + "target": "Mål", + "target_description": "Kva skal denne tenesta bruke som målretta område, einingar og oppføringar." + }, "service-picker": { "service": "Teneste" } @@ -355,7 +418,17 @@ "description": "Vala vart lagra vellukka." } }, + "quick-bar": { + "commands": { + "navigation": { + "tag": "Merknader" + } + } + }, "zha_device_info": { + "buttons": { + "view_in_visualization": "Visning i visualisering" + }, "confirmations": { "remove": "Er du sikker på at du vil fjerne eininga?" }, @@ -379,6 +452,12 @@ "second": "{count} {count, plural,\none {sekund}\nother {sekundar}\n}", "week": "{count} {count, plural,\none {veke}\nother {veker}\n}" }, + "errors": { + "config": { + "key_not_expected": "Nøkkelen \"{key}\" er ikkje forventa eller støtta av den visuelle redigeraren.", + "key_wrong_type": "Den gitte verdien for \"{key}\" er ikkje støtta av den visuelle redigeraren. Vi støttar ({type_correct}), men mottok ({type_wrong})." + } + }, "login-form": { "log_in": "Logg inn", "password": "Passord", @@ -444,6 +523,9 @@ }, "device_id": { "action": "Handling ", + "extra_fields": { + "position": "Posisjon" + }, "label": "Eining" }, "event": { @@ -644,6 +726,18 @@ } }, "cloud": { + "account": { + "tts": { + "dialog": { + "example_message": "Hei {name}! Du kan spele kva som heilst tekst på kva som heilst støtta mediaspelar\"", + "header": "Prøv tekst til tale", + "play": "Spel", + "target": "Mål", + "target_browser": "Nettlesar" + }, + "try": "Prøv " + } + }, "alexa": { "title": "Alexa" }, @@ -707,6 +801,7 @@ }, "cant_edit": "Du kan berre redigere element som er laga i brukargrensesnittet.", "caption": "Einingar", + "confirm_disable_config_entry": "Det er ikkje fleire einingar for konfigurasjonsoppføringa {entry_name}. Vil du heller deaktivere konfigurasjonsoppføringa?", "confirm_rename_entity_ids": "Vil du også endre ID-ane til oppføringane dine?", "data_table": { "area": "Område", @@ -754,7 +849,8 @@ }, "filtering": { "clear": "Klarer", - "filtering_by": "Filtrerer etter" + "filtering_by": "Filtrerer etter", + "show": "Vis " }, "header": "Konfigurer Home Assistant", "info": { @@ -771,6 +867,18 @@ "delete_confirm": "Er du sikker på at du vil slette denne integrasjonen?", "device_unavailable": "Eininga utilgjengeleg", "devices": "{count} {count, plural,\n one {eining}\n other {einingar}\n}", + "disable_restart_confirm": "Start Home Assistant på nytt for å fullføre deaktiveringa av denne integrasjonen", + "disable": { + "disable_confirm": "Er du sikker på at du vil deaktivere denne konfigurasjonsoppføringa? Einingane og oppføringane vil verte deaktivert.", + "disabled": "Deaktivert ", + "disabled_by": { + "device": "eining ", + "integration": "integrasjon ", + "user": "brukar " + }, + "disabled_cause": "Deaktivert av {cause}" + }, + "enable_restart_confirm": "Start Home Assistant på nytt for å fullføre aktiveringa av denne integrasjonen", "entities": "{count} {count, plural,\n one {oppføring}\n other {oppføringar}\n}", "entity_unavailable": "Oppføringa utilgjengeleg", "firmware": "Firmware: {version}", @@ -785,18 +893,29 @@ }, "config_flow": { "close": "Lukk", + "could_not_load": "Konfigurasjonsflyt kunne ikkje lastast inn", "dismiss": "Avvis dialogboksa", + "error": "Feil", "external_step": { "description": "Ei ekstern nettside må besøkast for å fullføre dette steget.", "open_site": "Opne nettside" }, "finish": "Fullfør", + "pick_flow_step": { + "new_flow": "Nei, sett opp ein anna førekomst av {integration}", + "title": "Vi oppdaga desse. Vil du sette dei opp?" + }, "submit": "Send inn" }, "configure": "Konfigurer", "configured": "Konfigurer", - "confirm_new": "Vil du setje opp {integration}?", + "confirm_new": "Vil du sette opp {integration}?", "description": "Administrer tilkopla einingar og tenester", + "disable": { + "disabled_integrations": "{number} deaktivert ", + "hide_disabled": "Skjul deaktivert integrasjonar", + "show_disabled": "Vis deaktiverte integrasjonar" + }, "discovered": "Oppdaga", "integration": "integrasjon ", "new": "Sett opp ein ny integrasjon", @@ -935,6 +1054,9 @@ }, "groups": { "caption": "Grupper" + }, + "visualization": { + "refresh_topology": "Oppdater topologi" } }, "zone": { @@ -956,6 +1078,12 @@ "wakeup_interval": "Vekkarintervall" }, "description": "Administrer Z-Wave-nettverket ditt", + "migration": { + "ozw": { + "header": "Migrer til OpenZWave", + "introduction": "Denne vegvisaren vil hjelpe deg å migrere frå den eldre Z-Wave-integrasjonen til OpenZWave-integrasjonen som for augneblinken er i beta." + } + }, "network_management": { "header": "Z-Wave-nettverksadministrering", "introduction": "Køyr kommandoar som påverkar Z-wave-nettverket. Du kjem ikkje til å få tilbakemelding om kommandoande lukkast, men du kan sjekke i OZW-loggen, og prøve å finne ut av det." @@ -1035,9 +1163,15 @@ "title": "Hendingar" }, "services": { - "title": "Tenester" + "accepts_target": "Denne tenesta godtek eit mål, for eksempel: `entity_id: light.bed_light`", + "all_parameters": "Alle tilgjengelege parameter ", + "title": "Tenester", + "ui_mode": "Gå til UI-modus", + "yaml_mode": "Gå til YAML-modus", + "yaml_parameters": "Parameter berre tilgjengeleg i YAML-modus" }, "states": { + "copy_id": "Kopier ID til utklippstavla", "no_entities": "Ingen oppføringar", "title": "Statusar" }, @@ -1178,6 +1312,8 @@ }, "header": "Rediger brukargrensesnitt", "menu": { + "manage_dashboards": "Administrer skriveborda", + "manage_resources": "Adminstrer ressursar", "raw_editor": "Rå konfigurasjonsredigerar" }, "migrate": { @@ -1188,6 +1324,8 @@ }, "raw_editor": { "header": "Rediger konfigurasjon", + "lovelace_changed": "Lovelace-konfigurasjonen vart oppdatert. Vil du laste den oppdaterte konfigurasjonen i redigeringsprogrammet og miste gjeldende endringar?", + "reload": "Last inn på nytt", "save": "Lagre", "saved": "Lagra", "unsaved_changes": "Ikkje lagra endringar" @@ -1234,6 +1372,14 @@ "empty": "Du har ingen meldingar", "playback_title": "Meldingsavspeling" }, + "my": { + "component_not_loaded": "Denne viderekoplinga er ikkje støtta av Home Assistant-førekomsten. Du treng {integration}-integrasjonen å bruke denne viderekoplinga.", + "documentation": "dokumentasjon", + "error": "Det hende ein ukjent feil ", + "faq_link": "Mine Home Assitant-FAQ", + "no_supervisor": "Denne viderekoplinga er ikkje støtta av Home Assistant-installasjonen. Det trengs anten installasjonsmetoden Home Assistant eller Home Assistant Supervised. For meir informasjon, sjå {docs_link} .", + "not_supported": "Denne viderekoplinga er ikkje støtta av Home Assistant-førekomsten. Sjå {link} for dei støtta vidarekoplingane og ved kva versjon dei vart introdusert." + }, "page-authorize": { "abort_intro": "Innlogging avbrote", "authorizing_client": "Du held på å gi {clientId} tilgang til Home Assistant-instansen din.", diff --git a/translations/frontend/pl.json b/translations/frontend/pl.json index 913611a463..8761dffca7 100644 --- a/translations/frontend/pl.json +++ b/translations/frontend/pl.json @@ -102,6 +102,391 @@ "unknown": "nieznany" } }, + "supervisor": { + "addon": { + "configuration": { + "audio": { + "default": "Domyślne", + "header": "Audio", + "input": "Wejście", + "output": "Wyjście" + }, + "network": { + "container": "Kontener", + "disabled": "Wyłączona", + "header": "Sieć", + "host": "Host" + }, + "no_configuration": "Ten dodatek nie udostępnia konfiguracji, abyś mógł w niej grzebać.", + "options": { + "edit_in_ui": "Edytuj w interfejsie użytkownika", + "edit_in_yaml": "Edytuj w trybie YAML", + "header": "Opcje", + "invalid_yaml": "Nieprawidłowy YAML", + "show_unused_optional": "Pokaż nieużywane opcjonalne opcje konfiguracji" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "Nie udało się uzyskać listy zmian dodatku", + "go_to_config": "Nie udało się uruchomić dodatku - sprawdzanie poprawności konfiguracji nie powiodło się!", + "install": "Nie udało się zainstalować dodatku", + "restart": "Nie udało się ponownie uruchomić dodatku", + "start": "Nie udało się uruchomić dodatku", + "start_invalid_config": "Przejdź do konfiguracji", + "stop": "Nie udało się zatrzymać dodatku", + "uninstall": "Nie udało się odinstalować dodatku", + "validate_config": "Nie powiodło się sprawdzenie konfiguracji dodatku." + }, + "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') to moduł bezpieczeństwa jądra Linuksa, który ogranicza możliwości dodatków, takie jak dostęp do sieci, dostęp do gniazda typu RAW i uprawnienia do odczytu, zapisu lub wykonywania określonych plików. \n\nAutorzy dodatków mogą podać swoje profile bezpieczeństwa, zoptymalizowane dla dodatku lub zażądać jego wyłączenia. Jeśli AppArmor jest wyłączony, zwiększy to zagrożenie bezpieczeństwa, a zatem ma negatywny wpływ na ocenę zabezpieczeń dodatku.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Dodatek może uwierzytelniać użytkowników względem Home Assistant, umożliwiając dodatkom możliwości logowania się do aplikacji działających wewnątrz dodatków przy użyciu nazwy użytkownika/hasła Home Assistant. Ta plakietka wskazuje, czy autor dodatku żąda takiej możliwości.", + "title": "Uwierzytelnianie Home Assistant" + }, + "docker_api": { + "description": "Autor dodatku zażądał, aby dodatek miał dostęp administracyjny do Dockera działającej w Twoim systemie. Ten tryb zapewnia dodatkowi pełny dostęp i kontrolę nad całym systemem Home Assistant, co zwiększa ryzyko bezpieczeństwa i może uszkodzić system w przypadku niewłaściwego użycia. Dlatego ta funkcja negatywnie wpływa na ocenę zabezpieczeń dodatku. \n\nTen poziom dostępu nie jest przyznawany automatycznie i musi zostać potwierdzony przez Ciebie. Aby to zrobić, musisz ręcznie wyłączyć tryb ochrony w dodatku. Wyłącz tryb ochrony tylko wtedy, gdy znasz, potrzebujesz i ufasz źródłowi tego dodatku.", + "title": "Pełny dostęp do Dockera" + }, + "full_access": { + "description": "Ten dodatek otrzymuje pełny dostęp do sprzętu Twojego systemu, na żądanie autora dodatku. Dostęp jest porównywalny z trybem uprzywilejowanym w Dockerze. Ponieważ otwiera to potencjalne zagrożenia bezpieczeństwa, ta funkcja negatywnie wpływa na wynik zabezpieczeń dodatku. \n\nTen poziom dostępu nie jest przyznawany automatycznie i musi zostać potwierdzony przez Ciebie. Aby to zrobić, musisz ręcznie wyłączyć tryb ochrony w dodatku. Wyłącz tryb ochrony tylko wtedy, gdy znasz, potrzebujesz i ufasz źródłowi tego dodatku.", + "title": "Pełny dostęp do sprzętu" + }, + "hassio_api": { + "description": "Dodatek uzyskał dostęp do interfejsu API Supervisora na żądanie autora dodatku. Domyślnie dodatek może uzyskać dostęp do ogólnych informacji o wersji systemu. Gdy dodatek zażąda dostępu do API na poziomie „menedżera” lub „administratora”, uzyska dostęp do kontroli wielu części systemu Home Assistanta. To uprawnienie jest oznaczone tą plakietką i będzie miało negatywny wpływ na ocenę zabezpieczeń dodatku.", + "title": "Dostęp do interfejsu API Supervisora" + }, + "homeassistant_api": { + "description": "Ten dodatek może uzyskać dostęp do uruchomionej instancji Home Assistant bezpośrednio przez interfejs API. Ten tryb obsługuje również uwierzytelnianie dla dodatku, co umożliwia dodatkowi interakcję z Home Assistantem bez potrzeby stosowania dodatkowych tokenów uwierzytelniających.", + "title": "Dostęp do interfejsu API Home Assistanta" + }, + "host_network": { + "description": "Dodatki zwykle działają we własnej izolowanej warstwie sieciowej, co uniemożliwia im dostęp do sieci systemu operacyjnego hosta. W niektórych przypadkach ta izolacja sieciowa może ograniczyć dodatki w świadczeniu ich usług, a zatem izolacja może zostać zniesiona przez autora dodatku, zapewniając dodatkowi pełny dostęp do możliwości sieciowych komputera hosta. Daje to dodatkowe możliwości sieciowe, ale obniża poziom bezpieczeństwa, dlatego ocena bezpieczeństwa dodatku zostanie obniżona, gdy ta opcja jest używana przez dodatek.", + "title": "Sieć hosta" + }, + "host_pid": { + "description": "Zwykle procesy uruchamiane przez dodatek są odizolowane od wszystkich innych procesów systemowych. Autor dodatku zażądał, aby dodatek miał dostęp do procesów systemowych działających w systemie hosta i zezwolił dodatkowi na uruchamianie procesów również w systemie hosta. Ten tryb zapewnia dodatkowi pełny dostęp i kontrolę nad całym systemem Home Assistant, co zwiększa ryzyko bezpieczeństwa i może uszkodzić system w przypadku niewłaściwego użycia. Dlatego ta funkcja negatywnie wpływa na ocenę zabezpieczeń dodatku. \n\nTen poziom dostępu nie jest przyznawany automatycznie i musi zostać potwierdzony przez Ciebie. Aby to zrobić, musisz ręcznie wyłączyć tryb ochrony w dodatku. Wyłącz tryb ochrony tylko wtedy, gdy znasz, potrzebujesz i ufasz źródłowi tego dodatku.", + "title": "Procesy hosta" + }, + "ingress": { + "description": "Ten dodatek używa Ingress do bezpiecznego osadzania swojego interfejsu w Home Assistant.", + "title": "Osadzanie" + }, + "label": { + "apparmor": "apparmor", + "auth": "uwierzyt", + "docker": "docker", + "hardware": "sprzęt", + "hass": "hass", + "hassio": "hassio", + "host": "host", + "host_pid": "pid hosta", + "ingress": "osadz.", + "rating": "ocena", + "stage": "etap" + }, + "rating": { + "description": "Home Assistant zapewnia ocenę bezpieczeństwa dla każdego z dodatków, która wskazuje ryzyko związane z używaniem tego dodatku. Im większy dostęp wymaga w systemie dodatek, tym niższy wynik, a tym samym zwiększa potencjalne zagrożenie bezpieczeństwa. \n\nWynik jest w skali od 1 do 6, gdzie 1 to najniższy wynik (uważany za najbardziej niepewny i najwyższy poziom ryzyka), a wynik 6 to najwyższy wynik (uważany za najbardziej bezpieczny i najniższy poziom ryzyka).", + "title": "Ocena bezpieczeństwa dodatku" + }, + "role": { + "admin": "admin", + "backup": "kopia zap.", + "default": "domyślne", + "homeassistant": "homeassistant", + "manager": "menedżer" + }, + "stage": { + "description": "Dodatki mogą mieć jeden z trzech etapów: \n\n {icon_stable} **Stabilny**: to dodatki gotowe do użycia w środowisku produkcyjnym. \n\n {icon_experimental} **Eksperymentalny**: mogą zawierać błędy i być niedokończone. \n\n {icon_deprecated} **Wycofane**: te dodatki nie będą już otrzymywać żadnych aktualizacji.", + "title": "Etap dodatku" + } + }, + "changelog": "Lista zmian", + "cpu_usage": "Zużycie procesora przez dodatek", + "hostname": "Nazwa hosta", + "install": "zainstaluj", + "new_update_available": "{name} {version} jest dostępna", + "not_available_arch": "Ten dodatek nie jest zgodny z typem procesora lub systemem operacyjnym zainstalowanym na Twoim urządzeniu.", + "not_available_version": "Masz wersję {core_version_installed} Home Assistanta, aby zaktualizować dodatek do tej wersji, potrzebujesz co najmniej wersji {core_version_needed} Home Assistanta.", + "open_web_ui": "Otwórz interfejs użytkownika", + "option": { + "auto_update": { + "description": "Automatycznie aktualizuj dodatek, gdy pojawi się nowa wersja", + "title": "Automatyczna aktualizacja" + }, + "boot": { + "description": "Uruchom dodatek podczas rozruchu systemu", + "title": "Uruchamianie przy starcie" + }, + "ingress_panel": { + "description": "Dodaj ten dodatek do bocznego paska", + "title": "Na pasku bocznym" + }, + "protected": { + "description": "Blokuje podwyższony dostęp do systemu z poziomu dodatku", + "title": "Tryb ochrony" + }, + "watchdog": { + "description": "Spowoduje to uruchomienie dodatku, jeśli się zawiesi", + "title": "Obserwator" + } + }, + "protection_mode": { + "content": "Tryb ochrony tego dodatku jest wyłączony! Daje to dodatkowi pełny dostęp do całego systemu, co zwiększa ryzyko bezpieczeństwa i może uszkodzić system, gdy jest używany nieprawidłowo. Wyłącz tryb ochrony tylko wtedy, gdy znasz, potrzebujesz i ufasz źródłowi tego dodatku.", + "enable": "Włącz tryb ochrony", + "title": "Ostrzeżenie: Tryb ochrony jest wyłączony!" + }, + "ram_usage": "Zużycie pamięci przez dodatek", + "rebuild": "przeinstaluj", + "restart": "uruchom ponownie", + "start": "uruchom", + "stop": "zatrzymaj", + "uninstall": "odinstaluj", + "visit_addon_page": "Odwiedź stronę {name}, aby uzyskać więcej szczegółów." + }, + "documentation": { + "get_documentation": "Nie udało się uzyskać dokumentacji dodatku, {error}" + }, + "failed_to_reset": "Nie udało się zresetować konfiguracji dodatku, {error}", + "failed_to_save": "Nie udało się zapisać konfiguracji dodatku, {error}", + "logs": { + "get_logs": "Nie udało się uzyskać logów dodatku, {error}" + }, + "panel": { + "configuration": "Konfiguracja", + "documentation": "Dokumentacja", + "info": "Informacje", + "log": "Logi" + }, + "state": { + "installed": "Dodatek jest zainstalowany", + "not_available": "Dodatek nie jest dostępny na Twoim systemie", + "not_installed": "Dodatek nie jest zainstalowany" + } + }, + "common": { + "cancel": "Anuluj", + "description": "Opis", + "error": { + "unknown": "Nieznany błąd", + "update_failed": "Aktualizacja nie powiodła się" + }, + "failed_to_restart_name": "Nie udało się ponownie uruchomić {name}", + "failed_to_update_name": "Nie udało się zaktualizować {name}", + "learn_more": "Dowiedz się więcej", + "new_version_available": "Dostępna nowa wersja", + "newest_version": "Najnowsza wersja", + "no": "Nie", + "refresh": "Odśwież", + "release_notes": "Informacje o wydaniu", + "reload": "Wczytaj ponownie", + "reset_defaults": "Przywróć domyślne", + "reset_options": "Resetuj opcje", + "restart": "Uruchom ponownie", + "restart_name": "Uruchom ponownie {name}", + "running_version": "Aktualnie używasz wersji {version}", + "save": "Zapisz", + "show_more": "Pokaż więcej informacji na ten temat", + "update": "Aktualizuj", + "update_available": "{count, plural,\n one {oczekująca aktualizacja}\n few {oczekujące aktualizacje}\n many {oczekujących aktualizacji}\n other {{count} oczekujące aktualizacje}\n}", + "version": "Wersja", + "yes": "Tak" + }, + "confirm": { + "reset_options": { + "text": "Czy na pewno chcesz zresetować wszystkie opcje?", + "title": "Resetuj opcje" + }, + "restart": { + "text": "Czy na pewno chcesz ponownie uruchomić {name}?", + "title": "Uruchom ponownie {name}" + }, + "update": { + "text": "Czy na pewno chcesz zaktualizować {name} do wersji {version}?", + "title": "Zaktualizuj {name}" + } + }, + "dashboard": { + "addon_new_version": "Nowa wersja dostępna", + "addon_running": "Dodatek jest uruchomiony", + "addon_stopped": "Dodatek jest zatrzymany", + "addons": "Dodatki", + "no_addons": "Nie masz jeszcze zainstalowanych żadnych dodatków. Przejdź do sklepu z dodatkami, aby rozpocząć!" + }, + "dialog": { + "network": { + "connected_to": "Połączono z {ssid}", + "dhcp": "DHCP", + "disabled": "Wyłączona", + "dns_servers": "Serwery DNS", + "failed_to_change": "Nie udało się zmienić ustawień sieciowych", + "gateway": "Adres bramki dostępu", + "ip_netmask": "Adres IP/Maska sieci", + "open": "Otwórz", + "scan_ap": "Wyszukaj punkty dostępu", + "static": "Stały", + "title": "Ustawienia sieci", + "unsaved": "Masz niezapisane zmiany, które zostaną utracone, jeśli zmienisz karty. Czy chcesz kontynuować?", + "warning": "Jeśli zmieniasz Wi-Fi, adres IP lub adres bramki dostępu, możesz utracić połączenie!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Dodaj nowy rejestr", + "add_registry": "Dodaj rejestr", + "failed_to_add": "Nie udało się dodać rejestru", + "failed_to_remove": "Nie udało się usunąć rejestru", + "no_registries": "Brak skonfigurowanych rejestrów", + "password": "Hasło", + "registry": "Rejestr", + "remove": "Usuń", + "title_add": "Dodaj nowy rejestr kontenera", + "title_manage": "Zarządzaj rejestrami kontenera", + "username": "Nazwa użytkownika" + }, + "repositories": { + "add": "Dodaj", + "remove": "Usuń", + "title": "Zarządzaj repozytoriami dodatków" + }, + "restart_addon": { + "confirm_text": "Uruchom ponownie dodatek", + "text": "Czy chcesz ponownie uruchomić dodatek ze zmianami?" + }, + "update": { + "create_snapshot": "Utwórz snapshot {name} przed aktualizacją", + "snapshot": "Snapshot", + "snapshotting": "Tworzę snapshot {name}", + "updating": "Aktualizuję {name} do wersji {version}" + } + }, + "my": { + "error": "Wystąpił nieznany błąd", + "faq_link": "Mój Home Assistant - często zadawane pytania", + "not_supported": "To przekierowanie nie jest obsługiwane przez Twoją instancję Home Assistanta. Sprawdź {link} aby znaleźć obsługiwane przekierowania i wersję, w której zostały wprowadzone." + }, + "panel": { + "dashboard": "Dashboard", + "snapshots": "Snapshoty", + "store": "Sklep z dodatkami", + "system": "System" + }, + "snapshot": { + "addons": "Dodatki", + "available_snapshots": "Dostępne snapshoty", + "could_not_create": "Nie udało się utworzyć snapshota", + "create": "Utwórz", + "create_blocked_not_running": "Tworzenie snapshota nie jest teraz możliwe, ponieważ system jest w {state}.", + "create_snapshot": "Utwórz snapshot", + "description": "Snapshoty umożliwiają łatwe tworzenie kopii zapasowych i przywracanie wszystkich danych instancji Home Assistant.", + "enter_password": "Proszę wprowadzić hasło.", + "folder": { + "addons/local": "Folder Local add-ons", + "homeassistant": "Folder konfiguracji Home Assistant", + "media": "Folder Media", + "share": "Folder Share", + "ssl": "Folder SSL" + }, + "folders": "Foldery", + "full_snapshot": "Pełny snapshot", + "name": "Nazwa", + "no_snapshots": "Nie masz jeszcze żadnych snapshotów.", + "partial_snapshot": "Częściowy snapshot", + "password": "Hasło", + "password_protected": "chroniony hasłem", + "password_protection": "Ochrona hasłem", + "security": "Bezpieczeństwo", + "type": "Typ", + "upload_snapshot": "Prześlij snapshota" + }, + "store": { + "missing_addons": "Brakuje dodatków? Włącz tryb zaawansowany na stronie profilu użytkownika.", + "no_results_found": "Brak wyników w {repository}.", + "registries": "Rejestry", + "repositories": "Repozytoria" + }, + "system": { + "core": { + "cpu_usage": "Zużycie procesora przez HA Core", + "ram_usage": "Zużycie pamięci przez HA Core" + }, + "host": { + "change": "Zmień", + "change_hostname": "Zmień nazwę hosta", + "confirm_reboot": "Czy na pewno chcesz ponownie uruchomić hosta?", + "confirm_shutdown": "Czy na pewno chcesz zamknąć hosta?", + "deployment": "Wdrożenie", + "docker_version": "Wersja Dockera", + "emmc_lifetime_used": "Czas zużycia eMMC", + "failed_to_get_hardware_list": "Nie udało się pobrać listy sprzętu", + "failed_to_import_from_usb": "Nie udało się zaimportować z USB", + "failed_to_reboot": "Nie udało się ponownie uruchomić hosta", + "failed_to_set_hostname": "Ustawienie nazwy hosta nie powiodło się", + "failed_to_shutdown": "Nie udało się zamknąć hosta", + "hardware": "Sprzęt", + "hostname": "Nazwa hosta", + "import_from_usb": "Importuj z USB", + "ip_address": "Adres IP", + "new_hostname": "Wprowadź nową nazwę hosta:", + "operating_system": "System operacyjny", + "reboot_host": "Uruchom ponownie hosta", + "shutdown_host": "Zamknij hosta", + "used_space": "Zajęte miejsce" + }, + "log": { + "get_logs": "Nie udało się pobrać dzienników od {provider} {error}", + "log_provider": "Dostawca dziennika" + }, + "supervisor": { + "beta_backup": "Przed aktywacją tej funkcji upewnij się, że masz kopie zapasowe swoich danych.", + "beta_join_confirm": "Czy chcesz dołączyć do kanału beta?", + "beta_release_items": "Obejmuje to wersje beta dla:", + "beta_warning": "Wersje beta są przeznaczone dla testerów i wczesnych użytkowników i mogą zawierać niestabilne zmiany w kodzie", + "channel": "Kanał", + "cpu_usage": "Zużycie procesora przez Supervisora", + "failed_to_reload": "Nie udało się przeładować Supervisora", + "failed_to_set_option": "Nie udało się ustawić opcji Supervisora", + "failed_to_update": "Nie udało się zaktualizować Supervisora", + "join_beta_action": "Dołącz do kanału beta", + "join_beta_description": "Pobierz aktualizacje beta dla Home Assistant (RC), Supervisora i hosta", + "leave_beta_action": "Opuść kanał beta", + "leave_beta_description": "Uzyskaj stabilne aktualizacje dla Home Assistanta, Supervisora i hosta", + "ram_usage": "Zużycie pamięci przez Supervisora", + "reload_supervisor": "Przeładuj Supervisora", + "share_diagnostics": "Udostępnij dane diagnostyczne", + "share_diagnostics_description": "Udostępniaj raporty o awariach i informacje diagnostyczne.", + "share_diagonstics_description": "Czy chcesz automatycznie udostępniać raporty o awariach i informacje diagnostyczne, gdy Supervisor napotka nieoczekiwane błędy? {line_break} Pozwoli nam to rozwiązać problemy, informacje są dostępne tylko dla głównego zespołu Home Assistant Core i nie będą udostępniane innym. {line_break} Dane nie zawierają żadnych prywatnych/wrażliwych informacji i możesz to wyłączyć w ustawieniach w dowolnym momencie.", + "share_diagonstics_title": "Pomóż ulepszyć Home Assistanta", + "unhealthy_description": "Używanie \"niezdrowej\" instalacji spowoduje problemy. Poniżej znajduje się lista problemów z Twoją instalacją. Kliknij łącza, aby dowiedzieć się, jak możesz je rozwiązać.", + "unhealthy_reason": { + "docker": "Środowisko Dockera nie działa poprawnie", + "privileged": "Supervisor nie jest uprzywilejowany", + "setup": "Konfiguracja Supervisora nie powiodła się", + "supervisor": "Supervisor nie mógł się zaktualizować" + }, + "unhealthy_title": "Twoja instalacja jest \"niezdrowa\"", + "unsupported_description": "Poniżej znajduje się lista problemów z Twoją instalacją. Kliknij łącza, aby dowiedzieć się, jak możesz je rozwiązać.", + "unsupported_reason": { + "container": "Kontenery, o których wiadomo, że powodują problemy", + "dbus": "DBUS", + "docker_configuration": "Konfiguracja Dockera", + "docker_version": "Wersja Dockera", + "job_conditions": "Zignorowane warunki pracy", + "lxc": "LXC", + "network_manager": "Menedżer sieci", + "os": "System operacyjny", + "privileged": "Supervisor nie jest uprzywilejowany", + "systemd": "Systemd" + }, + "unsupported_title": "Używasz nieobsługiwanej instalacji", + "update_supervisor": "Zaktualizuj Supervisora", + "warning": "OSTRZEŻENIE" + } + } + }, "ui": { "auth_store": { "ask": "Czy chcesz pozostać zalogowany?", @@ -120,7 +505,7 @@ }, "automation": { "last_triggered": "Ostatnie uruchomienie", - "trigger": "Uruchom" + "trigger": "Uruchom akcje" }, "camera": { "not_available": "Obraz niedostępny" @@ -200,7 +585,8 @@ }, "script": { "cancel": "Anuluj", - "cancel_multiple": "Anuluj {number}" + "cancel_multiple": "Anuluj {number}", + "run": "Uruchom" }, "service": { "run": "Uruchom" @@ -295,6 +681,19 @@ "yes": "Tak" }, "components": { + "addon-picker": { + "addon": "Dodatek", + "error": { + "fetch_addons": { + "description": "Pobieranie dodatków zwróciło błąd.", + "title": "Błąd podczas pobierania dodatków" + }, + "no_supervisor": { + "description": "Nie znaleziono Supervisora, więc nie można załadować dodatków.", + "title": "Brak Supervisora" + } + } + }, "area-picker": { "add_dialog": { "add": "Dodaj", @@ -363,6 +762,8 @@ "changed_to_state": "nastąpiła zmiana stanu na {state}", "cleared_device_class": "brak", "detected_device_class": "wykryto", + "is_closing": "zamyka się", + "is_opening": "otwiera się", "rose": "wzeszło", "set": "zaszło", "turned_off": "nastąpiło wyłączenie", @@ -470,8 +871,8 @@ "service-control": { "required": "To pole jest wymagane", "service_data": "Dane usługi", - "target": "Cel", - "target_description": "Jaki powinien być cel wywołania tej usługi" + "target": "Cele", + "target_description": "Jaki powinien być docelowy obszar, urządzenie lub encja do wywołania tej usługi." }, "service-picker": { "service": "Usługa" @@ -682,7 +1083,7 @@ "scene": "Sceny", "script": "Skrypty", "server_control": "Kontrola serwera", - "tags": "Tagi", + "tag": "Tagi", "users": "Użytkownicy", "zone": "Strefy" }, @@ -741,6 +1142,7 @@ "clusters": "Zarządzaj klastrami", "reconfigure": "Rekonfiguracja urządzenia", "remove": "Usuń urządzenie", + "view_in_visualization": "Wyświetl w wizualizacji", "zigbee_information": "Sygnatura urządzenia Zigbee" }, "confirmations": { @@ -896,7 +1298,8 @@ }, "event": { "event": "Zdarzenie:", - "label": "Wywołanie zdarzenia" + "label": "Wywołanie zdarzenia", + "service_data": "Dane usługi" }, "repeat": { "label": "Powtórzenie", @@ -1484,6 +1887,7 @@ "cant_edit": "Możesz edytować tylko elementy utworzone w interfejsie użytkownika.", "caption": "Urządzenia", "confirm_delete": "Czy na pewno chcesz usunąć to urządzenie?", + "confirm_disable_config_entry": "Nie ma więcej urządzeń dla wpisu konfiguracji {entry_name} , czy zamiast tego chcesz wyłączyć ten wpis konfiguracyjny?", "confirm_rename_entity_ids": "Czy chcesz także zmienić identyfikatory encji?", "confirm_rename_entity_ids_warning": "Nie zmieni to konfiguracji (automatyzacji, skryptów, scen, dashboardów), które obecnie używają tych encji. Będziesz musiał je zaktualizować samemu, by używać nowych identyfikatorów encji!", "data_table": { @@ -1596,7 +2000,8 @@ }, "filtering": { "clear": "Wyczyść", - "filtering_by": "Filtrowanie przez" + "filtering_by": "Filtrowanie przez", + "show": "Pokaż" }, "header": "Konfiguruj Home Assistanta", "helpers": { @@ -1667,6 +2072,7 @@ "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_restart_confirm": "Zrestartuj Home Assistanta, aby zakończyć wyłączanie tej integracji", "disable": { "disable_confirm": "Czy na pewno chcesz wyłączyć ten wpis? Jego urządzenia i instancje zostaną wyłączone.", "disabled": "Wyłączone", @@ -1721,6 +2127,11 @@ "confirm_new": "Czy chcesz skonfigurować {integration}?", "description": "Zarządzaj integracjami z usługami, urządzeniami, ...", "details": "Szczegóły integracji", + "disable": { + "disabled_integrations": "Wyłączonych: {number}", + "hide_disabled": "Ukryj wyłączone integracje", + "show_disabled": "Pokaż wyłączone integracje" + }, "discovered": "Wykryte", "home_assistant_website": "Home Assistant", "ignore": { @@ -2057,7 +2468,7 @@ "id": "Identyfikator encji", "id_already_exists": "Ten identyfikator już istnieje", "id_already_exists_save_error": "Nie możesz zapisać tego skryptu, ponieważ identyfikator nie jest unikalny, wprowadź inny identyfikator lub pozostaw pole puste, aby wygenerować go automatycznie.", - "introduction": "Użyj skryptów, aby wykonać sekwencję akcji.", + "introduction": "Użyj skryptów, aby uruchomić sekwencję akcji.", "link_available_actions": "Dowiedz się więcej o dostępnych akcjach.", "load_error_not_editable": "Tylko skrypty zdefiniowane w pliku scripts.yaml są edytowalne", "max": { @@ -2309,6 +2720,7 @@ "caption": "Wizualizacja", "header": "Wizualizacja sieci", "highlight_label": "Zaznacz urządzenia", + "refresh_topology": "Odśwież topologię", "zoom_label": "Powiększ do urządzenia" } }, @@ -2605,11 +3017,11 @@ }, "cards": { "actions": { - "action_confirmation": "Czy na pewno chcesz wykonać akcję \"{action}\"?", + "action_confirmation": "Czy na pewno chcesz uruchomić akcję \"{action}\"?", "no_entity_more_info": "Nie wybrano encji dla okna dialogowego \"więcej informacji\"", "no_entity_toggle": "Nie wybrano encji do przełączenia", "no_navigation_path": "Nie określono ścieżki nawigacji", - "no_service": "Nie określono usługi do wykonania", + "no_service": "Nie określono usługi do uruchomienia", "no_url": "Nie określono adresu URL do otwarcia" }, "confirm_delete": "Czy na pewno chcesz usunąć tę kartę?", @@ -2980,12 +3392,14 @@ "confirm_remove_config_text": "Jeśli usuniesz konfigurację interfejsu użytkownika Lovelace, widoki automatycznie będą generowane z obszarów i urządzeń.", "confirm_remove_config_title": "Na pewno chcesz usunąć konfigurację interfejsu użytkownika Lovelace? Widoki będą automatycznie generowane z obszarów i urządzeń.", "confirm_unsaved_changes": "Masz niezapisane zmiany. Na pewno chcesz wyjść?", - "confirm_unsaved_comments": "Twoja konfiguracja zawiera komentarze, które nie zostaną zapisane. Czy chcesz kontynuować?", + "confirm_unsaved_comments": "Twoja konfiguracja może zawierać komentarze, które nie zostaną zapisane. Czy chcesz kontynuować?", "error_invalid_config": "Twoja konfiguracja jest nieprawidłowa: {error}", "error_parse_yaml": "Nie można przeanalizować YAML: {error}", "error_remove": "Nie można usunąć konfiguracji: {error}", "error_save_yaml": "Nie można zapisać YAML: {error}", "header": "Edytuj konfigurację", + "lovelace_changed": "Konfiguracja Lovelace została zaktualizowana, czy chcesz załadować zaktualizowaną konfigurację do edytora i stracić obecne zmiany?", + "reload": "Wczytaj ponownie", "resources_moved": "Zasoby nie powinny być już dodawane do konfiguracji Lovelace, można je dodawać w panelu konfiguracji Lovelace.", "save": "Zapisz", "saved": "Zapisano", @@ -3073,8 +3487,10 @@ }, "my": { "component_not_loaded": "To przekierowanie nie jest obsługiwane przez Twoją instancję Home Assistanta. Aby skorzystać z tego przekierowania, potrzebujesz integracji {integration}.", + "documentation": "dokumentacja", "error": "Wystąpił nieznany błąd", "faq_link": "Mój Home Assistant - często zadawane pytania", + "no_supervisor": "To przekierowanie nie jest obsługiwane przez Twoją instalację Home Assistant. Wymagany jest Home Assistant OS lub Home Assistant Supervised. Więcej informacji można znaleźć na {docs_link}.", "not_supported": "To przekierowanie nie jest obsługiwane przez Twoją instancję Home Assistanta. Sprawdź {link} aby znaleźć obsługiwane przekierowania i wersję, w której zostały wprowadzone." }, "page-authorize": { diff --git a/translations/frontend/pt.json b/translations/frontend/pt.json index 981d975da2..fdf31ae1b8 100644 --- a/translations/frontend/pt.json +++ b/translations/frontend/pt.json @@ -673,7 +673,6 @@ "scene": "Cenários", "script": "Script", "server_control": "Controlo do servidor", - "tags": "Etiquetas", "users": "Utilizadores", "zone": "Zonas" }, diff --git a/translations/frontend/ro.json b/translations/frontend/ro.json index 69a804ca89..6e7e338b26 100644 --- a/translations/frontend/ro.json +++ b/translations/frontend/ro.json @@ -648,7 +648,6 @@ "person": "Persoane", "scene": "Scene", "script": "Scripturi", - "tags": "Etichete", "users": "Utilizatori", "zone": "Zone" }, diff --git a/translations/frontend/ru.json b/translations/frontend/ru.json index 3aa35baaa2..5cfd247466 100644 --- a/translations/frontend/ru.json +++ b/translations/frontend/ru.json @@ -102,6 +102,42 @@ "unknown": "Неизвестно" } }, + "supervisor": { + "addon": { + "panel": { + "configuration": "Конфигурация", + "documentation": "Документация", + "info": "Информация", + "log": "Журнал" + } + }, + "common": { + "cancel": "Отмена", + "newest_version": "Последняя версия", + "release_notes": "Список изменений", + "update": "Обновить", + "version": "Версия" + }, + "confirm": { + "update": { + "text": "Вы уверены, что хотите обновить {name} до версии {version}?", + "title": "Обновление {name}" + } + }, + "dashboard": { + "addon_new_version": "Доступна новая версия", + "addon_running": "Дополнение работает", + "addon_stopped": "Дополнение остановлено", + "addons": "Дополнения", + "no_addons": "Нет установленных дополнений. Вы можете установить их из магазина дополнений." + }, + "panel": { + "dashboard": "Панель", + "snapshots": "Снапшоты", + "store": "Магазин дополнений", + "system": "Система" + } + }, "ui": { "auth_store": { "ask": "Запомнить меня на этом устройстве?", @@ -377,6 +413,8 @@ "changed_to_state": "изменяет состояние на \"{state}\"", "cleared_device_class": "не обнаруживает {device_class}", "detected_device_class": "обнаруживает {device_class}", + "is_closing": "закрывается", + "is_opening": "открывается", "rose": "всходит", "set": "заходит", "turned_off": "выключается", @@ -697,7 +735,6 @@ "script": "Сценарии", "server_control": "Сервер", "tag": "Метки", - "tags": "Метки", "users": "Пользователи", "zone": "Зоны" }, @@ -756,6 +793,7 @@ "clusters": "Управление кластерами", "reconfigure": "Перенастроить устройство", "remove": "Удалить устройство", + "view_in_visualization": "Просмотреть на схеме визуализации сети", "zigbee_information": "Подпись устройства Zigbee" }, "confirmations": { @@ -2333,6 +2371,7 @@ "caption": "Визуализация", "header": "Визуализация сети", "highlight_label": "Выделить устройства", + "refresh_topology": "Обновить топологию", "zoom_label": "Показать устройство" } }, @@ -3010,6 +3049,8 @@ "error_remove": "Не удалось удалить конфигурацию: {error}", "error_save_yaml": "Не удалось сохранить YAML: {error}", "header": "Редактирование конфигурации", + "lovelace_changed": "Конфигурация Lovelace была обновлена, Вы хотите загрузить в редактор обновленную конфигурацию? Внимание, текущие изменения будут потеряны!", + "reload": "Перезагрузить", "resources_moved": "Ресурсы не должны более добавляться в конфигурацию Lovelace, но их можно добавить на панели конфигурации Lovelace.", "save": "Сохранить", "saved": "Сохранено", diff --git a/translations/frontend/sl.json b/translations/frontend/sl.json index 57f83b9939..d25cdd2eb0 100644 --- a/translations/frontend/sl.json +++ b/translations/frontend/sl.json @@ -667,7 +667,6 @@ "scene": "Scene", "script": "Skripti", "server_control": "Nadzor strežnika", - "tags": "Značke", "users": "Uporabniki", "zone": "Območja" }, diff --git a/translations/frontend/sv.json b/translations/frontend/sv.json index bf71d5d532..a827794407 100644 --- a/translations/frontend/sv.json +++ b/translations/frontend/sv.json @@ -676,7 +676,6 @@ "scene": "Scener", "script": "Skript", "server_control": "Serverhantering", - "tags": "Taggar", "users": "Användare", "zone": "Zoner" }, diff --git a/translations/frontend/tr.json b/translations/frontend/tr.json index 202e08f2ef..0e110755e4 100644 --- a/translations/frontend/tr.json +++ b/translations/frontend/tr.json @@ -102,6 +102,139 @@ "unknown": "Bilinmeyen" } }, + "supervisor": { + "common": { + "cancel": "İptal" + }, + "confirm": { + "update": { + "title": "{name} güncelleyin" + } + }, + "dialog": { + "network": { + "connected_to": "{ssid} bağlantı kuruldu", + "dhcp": "DHCP", + "disabled": "Devre dışı", + "dns_servers": "DNS Sunucuları", + "failed_to_change": "Ağ ayarları değiştirilemedi", + "gateway": "Ağ geçidi adresi", + "ip_netmask": "IP adresi / Ağ maskesi", + "open": "Açık", + "scan_ap": "Erişim noktalarını tara", + "static": "Statik", + "title": "Ağ ayarları", + "unsaved": "Kaydedilmemiş değişiklikleriniz var, sekmeleri değiştirirseniz bunlar kaybolacak, devam etmek istiyor musunuz?", + "warning": "Wi-Fi, IP veya ağ geçidi adreslerini değiştirirseniz, bağlantıyı kaybedebilirsiniz!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Yeni kayıt ekle", + "add_registry": "Kayıt ekle", + "failed_to_add": "Kayıt eklenemedi", + "failed_to_remove": "Kayıt kaldırılamadı", + "no_registries": "Yapılandırılmış kayıt yok", + "password": "Parola", + "registry": "Kayıt", + "remove": "Kaldır", + "title_add": "Yeni Kapsayıcı Kaydı Ekle", + "title_manage": "Kapsayıcı Kayıtlarını Yönetin", + "username": "Kullanıcı adı" + }, + "repositories": { + "add": "Ekle", + "remove": "Kaldır", + "title": "Eklenti depolarını yönetme" + }, + "restart_addon": { + "confirm_text": "Eklentiyi yeniden başlatın", + "text": "Eklentiyi değişikliklerinizle yeniden başlatmak istiyor musunuz?" + }, + "update": { + "create_snapshot": "Güncellemeden önce {name} anlık görüntüsünü oluşturun", + "snapshot": "Anlık görüntü", + "snapshotting": "{name} anlık görüntüsü oluşturuluyor", + "updating": "{name} , {version} sürümüne güncelleniyor" + } + }, + "snapshot": { + "addons": "Eklentiler", + "available_snapshots": "Kullanılabilir Anlık Görüntüler", + "could_not_create": "Anlık görüntü oluşturulamadı", + "create": "Oluştur", + "create_blocked_not_running": "{state} durumunda olduğundan şu anda anlık görüntü oluşturmak mümkün değil.", + "create_snapshot": "Anlık görüntü oluştur", + "description": "Anlık görüntüler, Home Assistant örneğinizin tüm verilerini kolayca yedeklemenizi ve geri yüklemenizi sağlar.", + "enter_password": "Lütfen bir parola girin.", + "folder": { + "addons/local": "Yerel eklentiler", + "homeassistant": "Home Assistant yapılandırması", + "media": "Medya", + "share": "Paylaş", + "ssl": "SSL" + }, + "folders": "Klasörler", + "full_snapshot": "Tam anlık görüntü", + "name": "Ad", + "no_snapshots": "Henüz anlık görüntünüz yok.", + "partial_snapshot": "Kısmi anlık görüntü", + "password": "Parola", + "password_protected": "parola korumalı", + "password_protection": "Parola koruması", + "security": "Güvenlik", + "type": "Tür", + "upload_snapshot": "Anlık görüntü yükle" + }, + "system": { + "core": { + "cpu_usage": "Çekirdek CPU Kullanımı", + "ram_usage": "Çekirdek RAM Kullanımı" + }, + "host": { + "change": "Değişiklik", + "change_hostname": "Ana Bilgisayar Adını Değiştirin", + "confirm_reboot": "Ana bilgisayarı yeniden başlatmak istediğinizden emin misiniz?", + "confirm_shutdown": "Ana bilgisayarı kapatmak istediğinizden emin misiniz?", + "deployment": "Dağıtım", + "docker_version": "Docker sürümü", + "emmc_lifetime_used": "eMMC Kullanım Ömrü", + "failed_to_get_hardware_list": "Donanım listesi alınamadı", + "failed_to_import_from_usb": "USB'den içe aktarılamadı", + "failed_to_reboot": "Ana bilgisayar yeniden başlatılamadı", + "failed_to_set_hostname": "Ana bilgisayar adı ayarlanamadı", + "failed_to_shutdown": "Ana bilgisayar kapatılamadı", + "hardware": "Donanım", + "hostname": "Ana bilgisayar adı", + "import_from_usb": "USB'den içe aktar", + "ip_address": "IP Adresi", + "new_hostname": "Lütfen yeni bir ana bilgisayar adı girin:", + "operating_system": "İşletim sistemi", + "reboot_host": "Ana bilgisayarı yeniden başlatın", + "shutdown_host": "Ana bilgisayarı kapat", + "used_space": "Kullanılan alan" + }, + "supervisor": { + "unhealthy_reason": { + "docker": "Docker ortamı düzgün çalışmıyor", + "privileged": "Süpervizör ayrıcalıklı değil", + "setup": "Süpervizörün kurulumu başarısız oldu", + "supervisor": "Süpervizör güncellenemedi" + }, + "unsupported_reason": { + "dbus": "DBUS", + "docker_configuration": "Docker Yapılandırması", + "docker_version": "Docker Sürümü", + "job_conditions": "Yoksayılan iş koşulları", + "lxc": "LXC", + "network_manager": "Ağ yöneticisi", + "os": "İşletim sistemi", + "privileged": "Süpervizör ayrıcalıklı değil", + "systemd": "Systemd" + } + } + } + }, "ui": { "auth_store": { "ask": "Oturumunuzun açık kalmasını istiyor musunuz?", @@ -632,7 +765,7 @@ "remove_intro": "Varlık artık kullanılmıyorsa, kaldırarak temizleyebilirsiniz." }, "script": { - "last_action": "Son Eylem", + "last_action": "Son eylem", "last_triggered": "Son Tetiklenen" }, "settings": "Varlık ayarları", @@ -697,7 +830,6 @@ "script": "Senaryolar", "server_control": "Sunucu Kontrolleri", "tag": "Etiketler", - "tags": "Etiketler", "users": "Kullanıcılar", "zone": "Bölgeler" }, diff --git a/translations/frontend/uk.json b/translations/frontend/uk.json index 20453e9810..00c42427b3 100644 --- a/translations/frontend/uk.json +++ b/translations/frontend/uk.json @@ -663,7 +663,6 @@ "scene": "Сцени", "script": "Скрипти", "server_control": "Керування сервером", - "tags": "Теги", "users": "Користувачі", "zone": "Зони" }, diff --git a/translations/frontend/zh-Hans.json b/translations/frontend/zh-Hans.json index 4f375ed2a5..ccaa8d697a 100644 --- a/translations/frontend/zh-Hans.json +++ b/translations/frontend/zh-Hans.json @@ -697,7 +697,6 @@ "script": "脚本", "server_control": "服务控制", "tag": "标签", - "tags": "标签", "users": "用户", "zone": "地点" }, diff --git a/translations/frontend/zh-Hant.json b/translations/frontend/zh-Hant.json index e0755ba3e5..4d91269004 100644 --- a/translations/frontend/zh-Hant.json +++ b/translations/frontend/zh-Hant.json @@ -102,6 +102,42 @@ "unknown": "未知" } }, + "supervisor": { + "addon": { + "panel": { + "configuration": "設定", + "documentation": "相關文件", + "info": "資訊", + "log": "日誌" + } + }, + "common": { + "cancel": "取消", + "newest_version": "最新版本", + "release_notes": "發行說明", + "update": "更新", + "version": "版本" + }, + "confirm": { + "update": { + "text": "確定要更新 {name} 至 {version} 版?", + "title": "更新 {name}" + } + }, + "dashboard": { + "addon_new_version": "新版本可供下載", + "addon_running": "附加元件執行中", + "addon_stopped": "附加元件已停止", + "addons": "附加元件", + "no_addons": "目前似乎沒有安裝任何附加元件。點選下方附加元件商店以新增!" + }, + "panel": { + "dashboard": "主面板", + "snapshots": "系統備份", + "store": "附加元件商店", + "system": "系統" + } + }, "ui": { "auth_store": { "ask": "是否要保持登錄狀態?", @@ -297,14 +333,14 @@ }, "components": { "addon-picker": { - "addon": "Add-on", + "addon": "附加元件", "error": { "fetch_addons": { - "description": "取得 Add-on 回報錯誤", - "title": "取得 Add-on 錯誤" + "description": "取得附加元件回報錯誤", + "title": "取得附加元件錯誤" }, "no_supervisor": { - "description": "找不到 Supervisor、因此 Add-on 無法載入。", + "description": "找不到 Supervisor、因此附加元件無法載入。", "title": "找不到 Supervisor" } } @@ -377,6 +413,8 @@ "changed_to_state": "變更為{state}", "cleared_device_class": "安全(未偵測到 {device_class})", "detected_device_class": "偵測到 {device_class}", + "is_closing": "關閉中", + "is_opening": "開啟中", "rose": "升高", "set": "設定", "turned_off": "關閉", @@ -697,7 +735,6 @@ "script": "腳本", "server_control": "伺服器控制", "tag": "標籤", - "tags": "標籤", "users": "使用者", "zone": "區域" }, @@ -756,6 +793,7 @@ "clusters": "管理叢集", "reconfigure": "重新設定裝置", "remove": "移除裝置", + "view_in_visualization": "網路形象化", "zigbee_information": "Zigbee 裝置簽章" }, "confirmations": { @@ -2333,6 +2371,7 @@ "caption": "形象化", "header": "網路形象化", "highlight_label": "高亮顯示裝置", + "refresh_topology": "更新拓樸", "zoom_label": "縮放到裝置" } }, @@ -3010,6 +3049,8 @@ "error_remove": "無法移除設定:{error}", "error_save_yaml": "無法儲存 YAML:{error}", "header": "編輯設定", + "lovelace_changed": "Lovelace 設定已更新,是否要於編輯器中載入更新設定,並放棄目前變更?", + "reload": "重新載入", "resources_moved": "無法再透過 Lovelace 設定新增資源,需透過 Lovelace 設定面板進行新增。", "save": "儲存", "saved": "已儲存", From ca4de877c1474872153e8c37e722ca2058f1fb65 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 2 Mar 2021 17:57:49 -1000 Subject: [PATCH 006/164] Add remote more info card (#8506) Co-authored-by: Philip Allgaier --- src/common/const.ts | 1 + src/data/remote.ts | 16 ++++ .../more-info/controls/more-info-remote.ts | 93 +++++++++++++++++++ .../more-info/state_more_info_control.ts | 1 + src/translations/en.json | 3 + 5 files changed, 114 insertions(+) create mode 100644 src/data/remote.ts create mode 100644 src/dialogs/more-info/controls/more-info-remote.ts diff --git a/src/common/const.ts b/src/common/const.ts index bbf051f668..0b3e70ed03 100644 --- a/src/common/const.ts +++ b/src/common/const.ts @@ -103,6 +103,7 @@ export const DOMAINS_WITH_MORE_INFO = [ "lock", "media_player", "person", + "remote", "script", "sun", "timer", diff --git a/src/data/remote.ts b/src/data/remote.ts new file mode 100644 index 0000000000..1f87a2038e --- /dev/null +++ b/src/data/remote.ts @@ -0,0 +1,16 @@ +import { + HassEntityAttributeBase, + HassEntityBase, +} from "home-assistant-js-websocket"; + +export const REMOTE_SUPPORT_LEARN_COMMAND = 1; +export const REMOTE_SUPPORT_DELETE_COMMAND = 2; +export const REMOTE_SUPPORT_ACTIVITY = 4; + +export type RemoteEntity = HassEntityBase & { + attributes: HassEntityAttributeBase & { + current_activity: string | null; + activity_list: string[] | null; + [key: string]: any; + }; +}; diff --git a/src/dialogs/more-info/controls/more-info-remote.ts b/src/dialogs/more-info/controls/more-info-remote.ts new file mode 100644 index 0000000000..cb00995758 --- /dev/null +++ b/src/dialogs/more-info/controls/more-info-remote.ts @@ -0,0 +1,93 @@ +import "@polymer/paper-item/paper-item"; +import "@polymer/paper-listbox/paper-listbox"; +import { + css, + CSSResult, + customElement, + html, + LitElement, + property, + TemplateResult, +} from "lit-element"; +import { supportsFeature } from "../../../common/entity/supports-feature"; +import "../../../components/ha-attributes"; +import "../../../components/ha-paper-dropdown-menu"; +import { RemoteEntity, REMOTE_SUPPORT_ACTIVITY } from "../../../data/remote"; +import { HomeAssistant } from "../../../types"; + +const filterExtraAttributes = "activity_list,current_activity"; + +@customElement("more-info-remote") +class MoreInfoRemote extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + + @property() public stateObj?: RemoteEntity; + + protected render(): TemplateResult { + if (!this.hass || !this.stateObj) { + return html``; + } + + const stateObj = this.stateObj; + + return html` + ${supportsFeature(stateObj, REMOTE_SUPPORT_ACTIVITY) + ? html` + + + ${stateObj.attributes.activity_list!.map( + (activity) => html` + + ${activity} + + ` + )} + + + ` + : ""} + + + `; + } + + private handleActivityChanged(ev: CustomEvent) { + const oldVal = this.stateObj!.attributes.current_activity; + const newVal = ev.detail.item.itemName; + + if (!newVal || oldVal === newVal) { + return; + } + + this.hass.callService("remote", "turn_on", { + entity_id: this.stateObj!.entity_id, + activity: newVal, + }); + } + + static get styles(): CSSResult { + return css` + paper-item { + cursor: pointer; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "more-info-remote": MoreInfoRemote; + } +} diff --git a/src/dialogs/more-info/state_more_info_control.ts b/src/dialogs/more-info/state_more_info_control.ts index 6f8cf904ab..4efdca33ae 100644 --- a/src/dialogs/more-info/state_more_info_control.ts +++ b/src/dialogs/more-info/state_more_info_control.ts @@ -21,6 +21,7 @@ const LAZY_LOADED_MORE_INFO_CONTROL = { lock: () => import("./controls/more-info-lock"), media_player: () => import("./controls/more-info-media_player"), person: () => import("./controls/more-info-person"), + remote: () => import("./controls/more-info-remote"), script: () => import("./controls/more-info-script"), sun: () => import("./controls/more-info-sun"), timer: () => import("./controls/more-info-timer"), diff --git a/src/translations/en.json b/src/translations/en.json index 40c01df95d..d06592b935 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -611,6 +611,9 @@ "updater": { "title": "Update Instructions" }, + "remote": { + "activity": "Current activity" + }, "restored": { "not_provided": "This entity is currently unavailable and is an orphan to a removed, changed or dysfunctional integration or device.", "remove_intro": "If the entity is no longer in use, you can clean it up by removing it.", From fe50f4229cb4bb64725acd12e296273ad900cff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Wed, 3 Mar 2021 11:05:04 +0100 Subject: [PATCH 007/164] Fix missing localize on old core versions (#8522) --- hassio/src/supervisor-base-element.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hassio/src/supervisor-base-element.ts b/hassio/src/supervisor-base-element.ts index 4b9b371583..1ebf38e398 100644 --- a/hassio/src/supervisor-base-element.ts +++ b/hassio/src/supervisor-base-element.ts @@ -185,7 +185,7 @@ export class SupervisorBaseElement extends urlSyncMixin( fetchSupervisorStore(this.hass), ]); - this.supervisor = { + this._updateSupervisor({ addon, supervisor, host, @@ -195,7 +195,7 @@ export class SupervisorBaseElement extends urlSyncMixin( network, resolution, store, - }; + }); this.addEventListener("supervisor-update", (ev) => this._updateSupervisor(ev.detail) From 72af4a69d6cd51f479d125f505c37c74957ab406 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 3 Mar 2021 12:25:51 +0100 Subject: [PATCH 008/164] Bump codemirror (#8524) --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index f2a742e304..bd86587600 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2026,9 +2026,9 @@ integrity sha512-KL+cM+uJPW5skyuTRoW43lOaSQq3YDNEPx5z0V/9Wsz9R9dK4kVP5NIRMUFgl9MUCQ9UxIotvgPDpz65j9wjuA== "@codemirror/view@^0.17.0": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-0.17.12.tgz#3720323d32ad359372621f0b16f8e25a3d17a933" - integrity sha512-sHA57N2yfFQTgoOfF5OneHPAltupcSH4ps4cD3fj91F2EhWLqfzryImom8RxhJrwiE+3Kv3MiRtOXPthHIbswg== + version "0.17.13" + resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-0.17.13.tgz#e805ccaa31c22fcff87f0a1c88c143ff17960458" + integrity sha512-TWmQF2OMzWYY51gvzcq0ECvW1EyhEVpy//dmu1MDvJrv8nDZWGY/a414fUCc+v6DKNpujg7IIpP9sD2izYJFpg== dependencies: "@codemirror/rangeset" "^0.17.0" "@codemirror/state" "^0.17.0" From 718904a85371a93a802ae6410ebf19e066cbedb4 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 3 Mar 2021 14:31:39 +0100 Subject: [PATCH 009/164] Add max height to yaml editor (#8527) --- src/panels/lovelace/editor/hui-element-editor.ts | 3 +++ src/resources/codemirror.ts | 1 + 2 files changed, 4 insertions(+) diff --git a/src/panels/lovelace/editor/hui-element-editor.ts b/src/panels/lovelace/editor/hui-element-editor.ts index 01fe25ec57..2906c73f13 100644 --- a/src/panels/lovelace/editor/hui-element-editor.ts +++ b/src/panels/lovelace/editor/hui-element-editor.ts @@ -359,6 +359,9 @@ export abstract class HuiElementEditor extends LitElement { .yaml-editor { padding: 8px 0px; } + ha-code-editor { + --code-mirror-max-height: calc(100vh - 245px); + } .error, .warning, .info { diff --git a/src/resources/codemirror.ts b/src/resources/codemirror.ts index f647b3e354..aedfd3f34a 100644 --- a/src/resources/codemirror.ts +++ b/src/resources/codemirror.ts @@ -33,6 +33,7 @@ export const theme = CMEditorView.theme({ "var(--code-editor-background-color, var(--card-background-color))", "& ::selection": { backgroundColor: "rgba(var(--rgb-primary-color), 0.3)" }, height: "var(--code-mirror-height, auto)", + maxHeight: "var(--code-mirror-max-height, unset)", }, $scroller: { outline: "none" }, From bee17fce64a91e55942e7ff210993796d7c19c1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Wed, 3 Mar 2021 15:06:36 +0100 Subject: [PATCH 010/164] Fix second load in firefox and localize init (#8525) --- hassio/src/addon-store/hassio-addon-store.ts | 6 +- .../src/addon-view/hassio-addon-dashboard.ts | 4 +- .../src/addon-view/info/hassio-addon-info.ts | 4 +- hassio/src/dashboard/hassio-update.ts | 8 +- hassio/src/hassio-panel.ts | 2 +- hassio/src/supervisor-base-element.ts | 78 +++++++++++-------- hassio/src/system/hassio-core-info.ts | 4 +- hassio/src/system/hassio-host-info.ts | 14 ++-- hassio/src/system/hassio-supervisor-info.ts | 8 +- 9 files changed, 72 insertions(+), 56 deletions(-) diff --git a/hassio/src/addon-store/hassio-addon-store.ts b/hassio/src/addon-store/hassio-addon-store.ts index 80e06f36fd..7769c095ef 100644 --- a/hassio/src/addon-store/hassio-addon-store.ts +++ b/hassio/src/addon-store/hassio-addon-store.ts @@ -199,9 +199,9 @@ class HassioAddonStore extends LitElement { } private async _loadData() { - fireEvent(this, "supervisor-colllection-refresh", { colllection: "addon" }); - fireEvent(this, "supervisor-colllection-refresh", { - colllection: "supervisor", + fireEvent(this, "supervisor-collection-refresh", { collection: "addon" }); + fireEvent(this, "supervisor-collection-refresh", { + collection: "supervisor", }); } diff --git a/hassio/src/addon-view/hassio-addon-dashboard.ts b/hassio/src/addon-view/hassio-addon-dashboard.ts index c1c4942816..cad3861193 100644 --- a/hassio/src/addon-view/hassio-addon-dashboard.ts +++ b/hassio/src/addon-view/hassio-addon-dashboard.ts @@ -191,8 +191,8 @@ class HassioAddonDashboard extends LitElement { const path: string = pathSplit[pathSplit.length - 1]; if (["uninstall", "install", "update", "start", "stop"].includes(path)) { - fireEvent(this, "supervisor-colllection-refresh", { - colllection: "supervisor", + fireEvent(this, "supervisor-collection-refresh", { + collection: "supervisor", }); } diff --git a/hassio/src/addon-view/info/hassio-addon-info.ts b/hassio/src/addon-view/info/hassio-addon-info.ts index e39455bb95..d3a1bb05ba 100644 --- a/hassio/src/addon-view/info/hassio-addon-info.ts +++ b/hassio/src/addon-view/info/hassio-addon-info.ts @@ -999,8 +999,8 @@ class HassioAddonInfo extends LitElement { private async _updateAddon(): Promise { await updateHassioAddon(this.hass, this.addon.slug); - fireEvent(this, "supervisor-colllection-refresh", { - colllection: "addon", + fireEvent(this, "supervisor-collection-refresh", { + collection: "addon", }); const eventdata = { success: true, diff --git a/hassio/src/dashboard/hassio-update.ts b/hassio/src/dashboard/hassio-update.ts index 2446155b0a..b6d0fa3f98 100644 --- a/hassio/src/dashboard/hassio-update.ts +++ b/hassio/src/dashboard/hassio-update.ts @@ -210,8 +210,8 @@ export class HassioUpdate extends LitElement { } else { await this.hass.callApi>("POST", item.apiPath); } - fireEvent(this, "supervisor-colllection-refresh", { - colllection: item.key, + fireEvent(this, "supervisor-collection-refresh", { + collection: item.key, }); } catch (err) { // Only show an error if the status code was not expected (user behind proxy) @@ -232,8 +232,8 @@ export class HassioUpdate extends LitElement { private async _updateCore(): Promise { await updateCore(this.hass); - fireEvent(this, "supervisor-colllection-refresh", { - colllection: "core", + fireEvent(this, "supervisor-collection-refresh", { + collection: "core", }); } diff --git a/hassio/src/hassio-panel.ts b/hassio/src/hassio-panel.ts index 84347c1f56..c52339821e 100644 --- a/hassio/src/hassio-panel.ts +++ b/hassio/src/hassio-panel.ts @@ -31,7 +31,7 @@ class HassioPanel extends LitElement { if ( Object.keys(supervisorCollection).some( - (colllection) => !this.supervisor[colllection] + (collection) => !this.supervisor[collection] ) ) { return html``; diff --git a/hassio/src/supervisor-base-element.ts b/hassio/src/supervisor-base-element.ts index 1ebf38e398..2043a8a2ae 100644 --- a/hassio/src/supervisor-base-element.ts +++ b/hassio/src/supervisor-base-element.ts @@ -23,19 +23,19 @@ import { import { fetchSupervisorStore } from "../../src/data/supervisor/store"; import { getSupervisorEventCollection, - subscribeSupervisorEvents, Supervisor, SupervisorObject, supervisorCollection, } from "../../src/data/supervisor/supervisor"; import { ProvideHassLitMixin } from "../../src/mixins/provide-hass-lit-mixin"; import { urlSyncMixin } from "../../src/state/url-sync-mixin"; +import { HomeAssistant } from "../../src/types"; import { getTranslation } from "../../src/util/common-translation"; declare global { interface HASSDomEvents { "supervisor-update": Partial; - "supervisor-colllection-refresh": { colllection: SupervisorObject }; + "supervisor-collection-refresh": { collection: SupervisorObject }; } } @@ -53,8 +53,6 @@ export class SupervisorBaseElement extends urlSyncMixin( Collection > = {}; - @internalProperty() private _resources?: Record; - @internalProperty() private _language = "en"; public connectedCallback(): void { @@ -71,12 +69,39 @@ export class SupervisorBaseElement extends urlSyncMixin( protected updated(changedProperties: PropertyValues) { super.updated(changedProperties); + if (changedProperties.has("hass")) { + const oldHass = changedProperties.get("hass") as + | HomeAssistant + | undefined; + if ( + oldHass !== undefined && + oldHass.language !== undefined && + oldHass.language !== this.hass.language + ) { + this._language = this.hass.language; + } + } if (changedProperties.has("_language")) { if (changedProperties.get("_language") !== this._language) { this._initializeLocalize(); } } + + if (changedProperties.has("_collections")) { + if (this._collections) { + const unsubs = Object.keys(this._unsubs); + for (const collection of Object.keys(this._collections)) { + if (!unsubs.includes(collection)) { + this._unsubs[collection] = this._collections[ + collection + ].subscribe((data) => + this._updateSupervisor({ [collection]: data }) + ); + } + } + } + } } protected _updateSupervisor(obj: Partial): void { @@ -85,7 +110,10 @@ export class SupervisorBaseElement extends urlSyncMixin( protected firstUpdated(changedProps: PropertyValues): void { super.firstUpdated(changedProps); - if (this._language !== this.hass.language) { + if ( + this._language !== this.hass.language && + this.hass.language !== undefined + ) { this._language = this.hass.language; } this._initializeLocalize(); @@ -99,55 +127,43 @@ export class SupervisorBaseElement extends urlSyncMixin( "/api/hassio/app/static/translations" ); - this._resources = { - [language]: data, - }; - this.supervisor = { ...this.supervisor, - localize: await computeLocalize( - this.constructor.prototype, - this._language, - this._resources - ), + localize: await computeLocalize(this.constructor.prototype, language, { + [language]: data, + }), }; } private async _handleSupervisorStoreRefreshEvent(ev) { - const colllection = ev.detail.colllection; + const collection = ev.detail.collection; if (atLeastVersion(this.hass.config.version, 2021, 2, 4)) { - this._collections[colllection].refresh(); + this._collections[collection].refresh(); return; } const response = await this.hass.callApi>( "GET", - `hassio${supervisorCollection[colllection]}` + `hassio${supervisorCollection[collection]}` ); - this._updateSupervisor({ [colllection]: response.data }); + this._updateSupervisor({ [collection]: response.data }); } private async _initSupervisor(): Promise { this.addEventListener( - "supervisor-colllection-refresh", + "supervisor-collection-refresh", this._handleSupervisorStoreRefreshEvent ); if (atLeastVersion(this.hass.config.version, 2021, 2, 4)) { - Object.keys(supervisorCollection).forEach((colllection) => { - this._unsubs[colllection] = subscribeSupervisorEvents( - this.hass, - (data) => this._updateSupervisor({ [colllection]: data }), - colllection, - supervisorCollection[colllection] - ); - if (this._collections[colllection]) { - this._collections[colllection].refresh(); + Object.keys(supervisorCollection).forEach((collection) => { + if (collection in this._collections) { + this._collections[collection].refresh(); } else { - this._collections[colllection] = getSupervisorEventCollection( + this._collections[collection] = getSupervisorEventCollection( this.hass.connection, - colllection, - supervisorCollection[colllection] + collection, + supervisorCollection[collection] ); } }); diff --git a/hassio/src/system/hassio-core-info.ts b/hassio/src/system/hassio-core-info.ts index 658f168d26..d345b15ff6 100644 --- a/hassio/src/system/hassio-core-info.ts +++ b/hassio/src/system/hassio-core-info.ts @@ -184,8 +184,8 @@ class HassioCoreInfo extends LitElement { private async _updateCore(): Promise { await updateCore(this.hass); - fireEvent(this, "supervisor-colllection-refresh", { - colllection: "core", + fireEvent(this, "supervisor-collection-refresh", { + collection: "core", }); } diff --git a/hassio/src/system/hassio-host-info.ts b/hassio/src/system/hassio-host-info.ts index a6b6bf3884..1525f71a62 100644 --- a/hassio/src/system/hassio-host-info.ts +++ b/hassio/src/system/hassio-host-info.ts @@ -342,7 +342,7 @@ class HassioHostInfo extends LitElement { try { await updateOS(this.hass); - fireEvent(this, "supervisor-colllection-refresh", { colllection: "os" }); + fireEvent(this, "supervisor-collection-refresh", { collection: "os" }); } catch (err) { if (this.hass.connection.connected) { showAlertDialog(this, { @@ -378,8 +378,8 @@ class HassioHostInfo extends LitElement { if (hostname && hostname !== curHostname) { try { await changeHostOptions(this.hass, { hostname }); - fireEvent(this, "supervisor-colllection-refresh", { - colllection: "host", + fireEvent(this, "supervisor-collection-refresh", { + collection: "host", }); } catch (err) { showAlertDialog(this, { @@ -393,8 +393,8 @@ class HassioHostInfo extends LitElement { private async _importFromUSB(): Promise { try { await configSyncOS(this.hass); - fireEvent(this, "supervisor-colllection-refresh", { - colllection: "host", + fireEvent(this, "supervisor-collection-refresh", { + collection: "host", }); } catch (err) { showAlertDialog(this, { @@ -408,8 +408,8 @@ class HassioHostInfo extends LitElement { private async _loadData(): Promise { if (atLeastVersion(this.hass.config.version, 2021, 2, 4)) { - fireEvent(this, "supervisor-colllection-refresh", { - colllection: "network", + fireEvent(this, "supervisor-collection-refresh", { + collection: "network", }); } else { const network = await fetchNetworkInfo(this.hass); diff --git a/hassio/src/system/hassio-supervisor-info.ts b/hassio/src/system/hassio-supervisor-info.ts index a9b25a7ab7..96ed50607f 100644 --- a/hassio/src/system/hassio-supervisor-info.ts +++ b/hassio/src/system/hassio-supervisor-info.ts @@ -317,8 +317,8 @@ class HassioSupervisorInfo extends LitElement { private async _reloadSupervisor(): Promise { await reloadSupervisor(this.hass); - fireEvent(this, "supervisor-colllection-refresh", { - colllection: "supervisor", + fireEvent(this, "supervisor-collection-refresh", { + collection: "supervisor", }); } @@ -386,8 +386,8 @@ class HassioSupervisorInfo extends LitElement { try { await updateSupervisor(this.hass); - fireEvent(this, "supervisor-colllection-refresh", { - colllection: "supervisor", + fireEvent(this, "supervisor-collection-refresh", { + collection: "supervisor", }); } catch (err) { showAlertDialog(this, { From 07001f7b5c23de2715a37fc762b2388bd8370413 Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Wed, 3 Mar 2021 15:33:52 +0100 Subject: [PATCH 011/164] Fix add-on toggles description translation keys (#8528) --- hassio/src/addon-view/info/hassio-addon-info.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hassio/src/addon-view/info/hassio-addon-info.ts b/hassio/src/addon-view/info/hassio-addon-info.ts index d3a1bb05ba..54b498799d 100644 --- a/hassio/src/addon-view/info/hassio-addon-info.ts +++ b/hassio/src/addon-view/info/hassio-addon-info.ts @@ -477,7 +477,7 @@ class HassioAddonInfo extends LitElement { ${this.supervisor.localize( - "addon.dashboard.option.boot.description" + "addon.dashboard.option.watchdog.description" )} ${this.supervisor.localize( - "addon.dashboard.option.boot.description" + "addon.dashboard.option.auto_update.description" )} Date: Wed, 3 Mar 2021 16:01:30 +0100 Subject: [PATCH 012/164] Fix localize keys for supervisor update dialog (#8529) --- hassio/src/system/hassio-supervisor-info.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hassio/src/system/hassio-supervisor-info.ts b/hassio/src/system/hassio-supervisor-info.ts index 96ed50607f..5bb6173ca1 100644 --- a/hassio/src/system/hassio-supervisor-info.ts +++ b/hassio/src/system/hassio-supervisor-info.ts @@ -367,9 +367,13 @@ class HassioSupervisorInfo extends LitElement { button.progress = true; const confirmed = await showConfirmationDialog(this, { - title: this.supervisor.localize("confirm.update", "name", "Supervisor"), + title: this.supervisor.localize( + "confirm.update.title", + "name", + "Supervisor" + ), text: this.supervisor.localize( - "confirm.text", + "confirm.update.text", "name", "Supervisor", "version", From 419e5644410a55bc1330f5f58426746bbbaab5c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Wed, 3 Mar 2021 16:09:57 +0100 Subject: [PATCH 013/164] Use correct version (#8530) --- hassio/src/dashboard/hassio-update.ts | 2 +- hassio/src/system/hassio-core-info.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hassio/src/dashboard/hassio-update.ts b/hassio/src/dashboard/hassio-update.ts index b6d0fa3f98..5859a7f78f 100644 --- a/hassio/src/dashboard/hassio-update.ts +++ b/hassio/src/dashboard/hassio-update.ts @@ -168,7 +168,7 @@ export class HassioUpdate extends LitElement { showDialogSupervisorUpdate(this, { supervisor: this.supervisor, name: "Home Assistant Core", - version: this.supervisor.core.version, + version: this.supervisor.core.version_latest, snapshotParams: { name: `core_${this.supervisor.core.version}`, folders: ["homeassistant"], diff --git a/hassio/src/system/hassio-core-info.ts b/hassio/src/system/hassio-core-info.ts index d345b15ff6..bb00dcd05c 100644 --- a/hassio/src/system/hassio-core-info.ts +++ b/hassio/src/system/hassio-core-info.ts @@ -172,7 +172,7 @@ class HassioCoreInfo extends LitElement { showDialogSupervisorUpdate(this, { supervisor: this.supervisor, name: "Home Assistant Core", - version: this.supervisor.core.version, + version: this.supervisor.core.version_latest, snapshotParams: { name: `core_${this.supervisor.core.version}`, folders: ["homeassistant"], From f196c7256319c775048af9579980e82b25fd4843 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 4 Mar 2021 01:22:38 +0000 Subject: [PATCH 014/164] Translation update --- translations/frontend/ar.json | 1 + translations/frontend/ca.json | 370 +++++++++++++++++++++++- translations/frontend/cs.json | 228 +++++++++++++++ translations/frontend/da.json | 115 +++++++- translations/frontend/de.json | 365 +++++++++++++++++++++++- translations/frontend/el.json | 355 ++++++++++++++++++++++- translations/frontend/en.json | 3 + translations/frontend/es-419.json | 293 ++++++++++++++++++- translations/frontend/es.json | 391 +++++++++++++++++++++++++ translations/frontend/et.json | 351 ++++++++++++++++++++++- translations/frontend/hu.json | 47 ++- translations/frontend/id.json | 351 ++++++++++++++++++++++- translations/frontend/it.json | 6 +- translations/frontend/ja.json | 441 ++++++++++++++++++++++++++++- translations/frontend/ko.json | 160 +++++++---- translations/frontend/nb.json | 351 ++++++++++++++++++++++- translations/frontend/nl.json | 370 +++++++++++++++++++++++- translations/frontend/pl.json | 46 +-- translations/frontend/pt.json | 349 ++++++++++++++++++++++- translations/frontend/ru.json | 141 ++++++++- translations/frontend/zh-Hans.json | 42 +++ translations/frontend/zh-Hant.json | 351 ++++++++++++++++++++++- 22 files changed, 5004 insertions(+), 123 deletions(-) diff --git a/translations/frontend/ar.json b/translations/frontend/ar.json index 98d5a28911..92a0453d0e 100644 --- a/translations/frontend/ar.json +++ b/translations/frontend/ar.json @@ -518,6 +518,7 @@ "trigger": "نوع المشغل" }, "event": { + "context_user_pick": "Vælg bruger", "event_data": "بيانات الحدث", "event_type": "نوع الحدث", "label": "الحدث" diff --git a/translations/frontend/ca.json b/translations/frontend/ca.json index 999ccd0c2d..4e8827c89b 100644 --- a/translations/frontend/ca.json +++ b/translations/frontend/ca.json @@ -102,6 +102,360 @@ "unknown": "Desconegut" } }, + "supervisor": { + "addon": { + "configuration": { + "audio": { + "default": "Per defecte", + "header": "Àudio", + "input": "Entrada", + "output": "Sortida" + }, + "network": { + "container": "Contenidor", + "disabled": "Desactivada", + "header": "Xarxa", + "host": "Amfitrió" + }, + "options": { + "edit_in_ui": "Edita a la IU", + "edit_in_yaml": "Edita com a YAML", + "header": "Opcions", + "invalid_yaml": "YAML invàlid", + "show_unused_optional": "Mostra les opcions de configuració opcionals no utilitzades" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "No s'ha pogut obtenir el registre de canvis del complement", + "go_to_config": "No s'ha pogut iniciar el complement, ha fallat la validació de la configuració!", + "install": "No s'ha pogut instal·lar el complement", + "restart": "No s'ha pogut reiniciar el complement", + "start": "No s'ha pogut iniciar el complement", + "start_invalid_config": "Vés a configuració", + "stop": "No s'ha pogut aturar el complement", + "uninstall": "No s'ha pogut desinstal·lar el complement", + "validate_config": "No s'ha pogut validar la configuració del complement" + }, + "capability": { + "apparmor": { + "title": "AppArmor" + }, + "auth_api": { + "title": "Autenticació de Home Assistant" + }, + "docker_api": { + "title": "Accés complet a Docker" + }, + "full_access": { + "title": "Accés complet al maquinari" + }, + "hassio_api": { + "title": "Accés a l'API del Supervisor" + }, + "homeassistant_api": { + "title": "Accés a l'API de Home Assistant" + }, + "host_network": { + "title": "Xarxa amfitrió" + }, + "ingress": { + "description": "Aquest complement utilitza Ingress per poder incrustar la seva interfície de manera segura a Home Assistant.", + "title": "Ingress" + }, + "label": { + "apparmor": "apparmor", + "auth": "autenticació", + "docker": "docker", + "hardware": "maquinari", + "hass": "hass", + "hassio": "hassio", + "host": "amfitrió", + "host_pid": "PID d'amfitrió", + "ingress": "ingress", + "rating": "nivell", + "stage": "fase" + }, + "rating": { + "title": "Nivell de seguretat del complement" + }, + "role": { + "admin": "administrador", + "backup": "còpia de seguretat", + "default": "per defecte", + "homeassistant": "homeasistant", + "manager": "gestor" + }, + "stage": { + "description": "Els complements poden estar en una de les tres fases següents: \n\n{icon_stable} **Estable**: complements llestos per a ser utilitzats a producció. \n\n{icon_experimental} **Experimental**: poden contenir errors i pot ser que encara no estiguin acabats. \n\n{icon_deprecated} **Obsolet**: complements que ja no rebran més actualitzacions.", + "title": "Fase del complement" + } + }, + "changelog": "Registre de canvis", + "cpu_usage": "Ús de CPU del complement", + "hostname": "Nom d'amfitrió", + "install": "instal·la", + "new_update_available": "{name} {version} està disponible", + "open_web_ui": "Obre la IU web", + "option": { + "auto_update": { + "description": "Actualitza el complement automàticament quan hi hagi una nova versió disponible", + "title": "Actualització automàtica" + }, + "boot": { + "description": "Fa que el complement s'iniciï durant l'arrencada del sistema", + "title": "Inici a l'arrencada" + }, + "ingress_panel": { + "description": "Afegeix aquest complement a la barra lateral", + "title": "Mostra a la barra lateral" + }, + "protected": { + "title": "Mode de protecció" + }, + "watchdog": { + "description": "Això farà que s'iniciï el complement en cas de que falli" + } + }, + "protection_mode": { + "enable": "Activa el mode de protecció", + "title": "Alerta: el mode de protecció està desactivat!" + }, + "ram_usage": "Ús de RAM del complement", + "rebuild": "reconstrueix", + "restart": "reinicia", + "start": "inicia", + "stop": "atura", + "uninstall": "desinstal·la", + "visit_addon_page": "Vés a la pàgina {name} per a més detalls" + }, + "documentation": { + "get_documentation": "No s'ha pogut obtenir la documentació del complement, {error}" + }, + "failed_to_reset": "No s'ha pogut reiniciar la configuració del complement, {error}", + "failed_to_save": "No s'ha pogut desar la configuració del complement, {error}", + "logs": { + "get_logs": "No s'han pogut obtenir els registres del complement, {error}" + }, + "panel": { + "configuration": "Configuració", + "documentation": "Documentació", + "info": "Informació", + "log": "Registre" + }, + "state": { + "installed": "El complement està instal·lat", + "not_available": "El complement no està disponible pel teu sistema", + "not_installed": "El complement no està instal·lat" + } + }, + "common": { + "cancel": "Cancel·la", + "description": "Descripció", + "error": { + "unknown": "Error desconegut", + "update_failed": "Ha fallat l'actualització" + }, + "failed_to_restart_name": "No s'han pogut reiniciar {name}", + "failed_to_update_name": "No s'han pogut actualitzar {name}", + "learn_more": "Més informació", + "new_version_available": "Nova versió disponible", + "newest_version": "Última versió", + "no": "No", + "refresh": "Actualitza", + "release_notes": "Notes de la versió", + "reload": "Torna a carregar", + "reset_defaults": "Restableix als valors per defecte", + "reset_options": "Opcions de reinici", + "restart": "Reinicia", + "restart_name": "Reinicia {name}", + "running_version": "Estàs utilitzant la versió {version}", + "save": "Desa", + "show_more": "Mostra més informació al respecte", + "update": "Actualitza", + "update_available": "{count, plural,\n one {Actualització pendent}\n other {{count} Actualitzacions pendents}\n}", + "version": "Versió", + "yes": "Sí" + }, + "confirm": { + "reset_options": { + "text": "Estàs segur que vols restablir totes les opcions?", + "title": "Restableix opcions" + }, + "restart": { + "text": "Estàs segur que vols reiniciar {name}?", + "title": "Reinicia {name}" + }, + "update": { + "text": "Estàs segur que vols actualitzar {name} a la versió {version}?", + "title": "Actualitza {name}" + } + }, + "dashboard": { + "addon_new_version": "Nova versió disponible", + "addon_running": "El complement s'està executant", + "addon_stopped": "El complement està aturat", + "addons": "Complements" + }, + "dialog": { + "network": { + "connected_to": "Connectat a {ssid}", + "dhcp": "DHCP", + "disabled": "Desactivada", + "dns_servers": "Servidors DNS", + "failed_to_change": "No s'ha pogut canviar la configuració de xarxa", + "gateway": "Adreça de la passarel·la", + "ip_netmask": "Adreça IP/màscara de xarxa", + "open": "Oberta", + "scan_ap": "Busca punts d'accés", + "static": "Estàtica", + "title": "Configuració de xarxa", + "unsaved": "Tens canvis sense desar, es perdran si canvies de pestanya, vols continuar?", + "warning": "Si canvies l'adreça Wi-Fi, IP o de la passarel·la, és possible que perdis la connexió!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Afegeix nou registre", + "add_registry": "Afegeix registre", + "failed_to_add": "No s'ha pogut afegir el registre", + "failed_to_remove": "No s'ha pogut eliminar el registre", + "no_registries": "No hi ha registres configurats", + "password": "Contrasenya", + "registry": "Registre", + "remove": "Elimina", + "title_add": "Afegeix nou registre de contenidors", + "title_manage": "Gestiona els registres de contenidors", + "username": "Nom d'usuari" + }, + "repositories": { + "add": "Afegeix", + "remove": "Elimina", + "title": "Gestiona els repositoris de complements" + }, + "restart_addon": { + "confirm_text": "Reinicia el complement", + "text": "Vols reiniciar el complement amb els teus canvis?" + }, + "update": { + "create_snapshot": "Crea una instantània de {name} abans d'actualitzar", + "snapshot": "Instantània", + "snapshotting": "Creant instantània de {name}", + "updating": "S'està actualitzant {name} a la versió {version}" + } + }, + "my": { + "error": "S'ha produït un error desconegut", + "faq_link": "Preguntes freqüents de My Home Assistant", + "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." + }, + "panel": { + "dashboard": "Panell", + "snapshots": "Instantànies", + "system": "Sistema" + }, + "snapshot": { + "addons": "Complements", + "available_snapshots": "Instantànies disponibles", + "could_not_create": "No s'ha pogut crear la instantània", + "create": "Crea", + "create_blocked_not_running": "Ara mateix no és possible crear una instantània perquè el sistema es troba en estat {state}.", + "create_snapshot": "Crea instantània", + "description": "Les instantànies et permeten fer una còpia de seguretat i recuperar les dades de la teva instància de Home Assistant.", + "enter_password": "Introdueix una contrasenya.", + "folder": { + "addons/local": "Complements locals", + "homeassistant": "Configuració de Home Assistant", + "media": "Mitjans", + "share": "Share", + "ssl": "SSL" + }, + "folders": "Carpetes", + "full_snapshot": "Instantània completa", + "name": "Nom", + "no_snapshots": "Encara no tens instantànies.", + "partial_snapshot": "Instantània parcial", + "password": "Contrasenya", + "password_protected": "protegit amb contrasenya", + "password_protection": "Protecció amb contrasenya", + "security": "Seguretat", + "type": "Tipus", + "upload_snapshot": "Puja instantània" + }, + "store": { + "missing_addons": "Falten complements? Activa el mode avançat a la pàgina de perfil d'usuari", + "no_results_found": "No s'han trobat resultats a {repository}.", + "registries": "Registres", + "repositories": "Repositoris" + }, + "system": { + "core": { + "cpu_usage": "Ús de CPU del nucli", + "ram_usage": "Ús de RAM del nucli" + }, + "host": { + "change": "Canvia", + "change_hostname": "Canvia el nom d'amfitrió", + "confirm_reboot": "Segur que vols reiniciar l'amfitrió?", + "confirm_shutdown": "Segur que vols apagar l'amfitrió?", + "deployment": "Desplegament", + "docker_version": "Versió de Docker", + "emmc_lifetime_used": "Vida de l'eMMC utilitzada", + "failed_to_get_hardware_list": "No s'ha pogut obtenir la llista del maquinari", + "failed_to_import_from_usb": "No s'ha pogut importar des d'USB", + "failed_to_reboot": "No s'ha pogut reiniciar l'amfitrió", + "failed_to_set_hostname": "No s'ha pogut establir el nom d'amfitrió", + "failed_to_shutdown": "No s'ha pogut apagar l'amfitrió", + "hardware": "Maquinari", + "hostname": "Nom d'amfitrió", + "import_from_usb": "Importa des d'USB", + "ip_address": "Adreça IP", + "new_hostname": "Introdueix un nom d'amfitrió nou:", + "operating_system": "Sistema operatiu", + "reboot_host": "Reinicia amfitrió", + "shutdown_host": "Apaga amfitrió", + "used_space": "Espai utilitzat" + }, + "log": { + "get_logs": "No s'han pogut obtenir els registres de {provider}, {error}", + "log_provider": "Proveïdor de registres" + }, + "supervisor": { + "beta_join_confirm": "Vols unir-te al canal beta?", + "beta_release_items": "Això inclou les versions beta de:", + "channel": "Canal", + "cpu_usage": "Ús de CPU del Supervisor", + "failed_to_reload": "No s'ha pogut tornar a carregar el Supervisor", + "failed_to_set_option": "No s'ha pogut configurar l'opció del Supervisor", + "failed_to_update": "No s'ha pogut actualitzar el Supervisor", + "join_beta_action": "Uneix-te al canal beta", + "leave_beta_action": "Deixa el canal beta", + "ram_usage": "Ús de RAM del Supervisor", + "reload_supervisor": "Torna a carregar el Supervisor", + "share_diagnostics": "Comparteix diagnòstics", + "share_diagonstics_title": "Ajuda a millorar Home Assistant", + "unhealthy_reason": { + "docker": "L'entorn Docker no està funcionant correctament", + "privileged": "El Supervisor no és privilegiat", + "setup": "Ha fallat la configuració del Supervisor", + "supervisor": "El Supervisor no s'ha pogut actualitzar" + }, + "unsupported_reason": { + "dbus": "DBUS", + "docker_configuration": "Configuració de Docker", + "docker_version": "Versió de Docker", + "lxc": "LXC", + "network_manager": "Gestor de xarxa", + "os": "Sistema operatiu", + "privileged": "El Supervisor no és privilegiat", + "systemd": "Systemd" + }, + "unsupported_title": "Estàs executant una instal·lació no suportada", + "update_supervisor": "Actualitza el Supervisor", + "warning": "ATENCIÓ" + } + } + }, "ui": { "auth_store": { "ask": "Vols desar aquest inici de sessió?", @@ -377,6 +731,8 @@ "changed_to_state": "ha canviat a {state}", "cleared_device_class": "s'ha esborrat (no s'ha detectat cap {device_class})", "detected_device_class": "s'ha detectat {device_class}", + "is_closing": "s'està tancant", + "is_opening": "s'està obrint", "rose": "rosa", "set": "establert", "turned_off": "s'ha apagat", @@ -633,7 +989,7 @@ }, "script": { "last_action": "Última acció", - "last_triggered": "Disparada per última vegada" + "last_triggered": "Disparat per última vegada" }, "settings": "Configuració de l'entitat", "sun": { @@ -694,7 +1050,7 @@ "navigate_to": "Vés a {panel}", "person": "Persones", "scene": "Escenes", - "script": "Programació (scripts)", + "script": "Programes (scripts)", "server_control": "Controls del servidor", "tag": "Etiquetes", "users": "Usuaris", @@ -755,6 +1111,7 @@ "clusters": "Gestiona clústers", "reconfigure": "Reconfigurar dispositiu", "remove": "Eliminar dispositiu", + "view_in_visualization": "Mostra a la visualització", "zigbee_information": "Signatura Zigbee del dispositiu" }, "confirmations": { @@ -1889,7 +2246,7 @@ }, "device_info": { "node_failed": "Ha fallat el node", - "stage": "Etapa", + "stage": "Fase", "zwave_info": "Informació Z-Wave" }, "navigation": { @@ -2068,7 +2425,7 @@ } }, "script": { - "caption": "Programació (scripts)", + "caption": "Programes (scripts)", "description": "Executa una seqüència d'accions", "editor": { "alias": "Nom", @@ -2332,6 +2689,7 @@ "caption": "Visualització", "header": "Visualització de xarxa", "highlight_label": "Ressalta els dispositius", + "refresh_topology": "Actualitza la topologia", "zoom_label": "Amplia al dispositiu" } }, @@ -3009,6 +3367,8 @@ "error_remove": "No s'ha pogut eliminar la configuració: {error}", "error_save_yaml": "No es pot desar YAML: {error}", "header": "Edita la configuració", + "lovelace_changed": "La configuració Lovelace s'ha actualitzat, vols tornar a carregar la nova configuració a l'editor i perdre els canvis actuals?", + "reload": "Torna a carregar", "resources_moved": "Els recursos ja no s'han d'afegir a la configuració de Lovelace, però es poden afegir al tauler de configuració de Lovelace.", "save": "Desa", "saved": "Desat", @@ -3098,7 +3458,7 @@ "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", + "faq_link": "Preguntes freqüents de My 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." }, diff --git a/translations/frontend/cs.json b/translations/frontend/cs.json index 779693e646..b50dc77f0d 100644 --- a/translations/frontend/cs.json +++ b/translations/frontend/cs.json @@ -102,6 +102,231 @@ "unknown": "Nezjištěno" } }, + "supervisor": { + "addon": { + "configuration": { + "audio": { + "default": "Výchozí", + "header": "Zvuk", + "input": "Vstup", + "output": "Výstup" + }, + "network": { + "disabled": "Zakázáno", + "header": "Síť", + "host": "Hostitel" + }, + "options": { + "edit_in_ui": "Upravit v uživatelském rozhraní", + "edit_in_yaml": "Upravit přímo YAML", + "header": "Možnosti", + "invalid_yaml": "Neplatný YAML" + } + }, + "dashboard": { + "capability": { + "apparmor": { + "title": "AppArmor" + }, + "label": { + "docker": "docker", + "hass": "hass", + "hassio": "hassio", + "host": "hostitel" + }, + "role": { + "admin": "admin", + "backup": "záloha", + "default": "výchozí", + "homeassistant": "homeassistant", + "manager": "správce" + } + }, + "changelog": "Seznam změn", + "hostname": "Název hostitele", + "open_web_ui": "Otevřít webové rozhraní", + "option": { + "boot": { + "title": "Spustit při spuštění" + }, + "watchdog": { + "title": "Hlídací pes" + } + } + }, + "panel": { + "configuration": "Nastavení", + "documentation": "Dokumentace", + "info": "Informace", + "log": "Log" + }, + "state": { + "installed": "Doplněk je nainstalován", + "not_installed": "Doplněk není nainstalován" + } + }, + "common": { + "cancel": "Zrušit", + "description": "Popis", + "error": { + "unknown": "Neznámá chyba" + }, + "learn_more": "Další informace", + "new_version_available": "K dispozici je nová verze", + "newest_version": "Nejnovější verze", + "no": "Ne", + "refresh": "Obnovit", + "release_notes": "Poznámky k vydání", + "reload": "Nově načíst", + "restart": "Restartovat", + "restart_name": "Restartovat {name}", + "save": "Uložit", + "update": "Aktualizovat", + "update_available": "{count, plural,\n one {Aktualizace}\n few {{count} aktualizace}\n other {{count} aktualizací}\n}", + "version": "Verze", + "yes": "Ano" + }, + "confirm": { + "reset_options": { + "text": "Opravdu chcete obnovit všechny možnosti?", + "title": "Obnovit možnosti" + }, + "restart": { + "title": "Restartovat {name}" + }, + "update": { + "text": "Opravdu chcete aktualizovat {name} na verzi {version}?", + "title": "Aktualizovat {název}" + } + }, + "dashboard": { + "addon_new_version": "K dispozici je nová verze", + "addon_running": "Doplněk je spuštěn", + "addon_stopped": "Doplněk je zastaven", + "addons": "Doplňky" + }, + "dialog": { + "network": { + "connected_to": "Připojeno k {ssid}", + "dhcp": "DHCP", + "disabled": "Zakázáno", + "dns_servers": "Servery DNS", + "gateway": "IP adresa brány", + "ip_netmask": "IP adresa/Maska sítě", + "open": "Otevřít", + "static": "Statická", + "title": "Nastavení sítě", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Přidat nový registr", + "add_registry": "Přidat registr", + "failed_to_add": "Nepodařilo se přidat registr", + "failed_to_remove": "Odebrání registru se nezdařilo", + "no_registries": "Nejsou nastaveny žádné registry", + "password": "Heslo", + "registry": "Registr", + "remove": "Odebrat", + "username": "Uživatelské jméno" + }, + "repositories": { + "add": "Přidat", + "remove": "Odebrat", + "title": "Správa úložišť doplňků" + }, + "restart_addon": { + "confirm_text": "Restartovat doplněk", + "text": "Chcete doplněk restartovat se svými změnami?" + }, + "update": { + "create_snapshot": "Vytvořit zálohu \"{name}\" před aktualizací", + "snapshot": "Záloha", + "snapshotting": "Vytváří se záloha \"{name}\"", + "updating": "Aktualizuje se \"{name}\" na verzi {version}" + } + }, + "my": { + "error": "Nastala neznámá chyba", + "faq_link": "Časté dotazy týkající se My Home Assistant", + "not_supported": "Toto přesměrování není vaší instancí Home Assistant podporováno. Zkontrolujte {link} pro podporovaná přesměrování a verzi, ve které byla zavedena." + }, + "panel": { + "dashboard": "Ovládací panel", + "snapshots": "Zálohy", + "store": "Obchod s doplňky", + "system": "Systém" + }, + "snapshot": { + "addons": "Doplňky", + "available_snapshots": "Dostupné zálohy", + "could_not_create": "Nelze vytvořit zálohu", + "create": "Vytvořit", + "create_blocked_not_running": "Vytvoření zálohy není momentálně možné, protože systém je ve \"{state}\".", + "create_snapshot": "Vytvořit zálohu", + "enter_password": "Prosím zadejte heslo.", + "folder": { + "addons/local": "Místní doplňky", + "homeassistant": "Nastavení Home Asistent", + "media": "Média", + "share": "Sdílení", + "ssl": "SSL" + }, + "folders": "Složky", + "full_snapshot": "Úplná záloha", + "name": "Název", + "no_snapshots": "Zatím nemáte žádné zálohy.", + "partial_snapshot": "Částečná záloha", + "password": "Heslo", + "password_protected": "chráněno heslem", + "password_protection": "Ochrana heslem", + "security": "Zabezpečení", + "type": "Typ", + "upload_snapshot": "Nahrát zálohu" + }, + "store": { + "registries": "Registry", + "repositories": "Repozitáře" + }, + "system": { + "host": { + "change": "Změnit", + "change_hostname": "Změnit název hostitele", + "docker_version": "Verze Dockeru", + "hardware": "Hardware", + "hostname": "Název hostitele", + "import_from_usb": "Importovat z USB", + "ip_address": "IP adresa", + "new_hostname": "Zadejte prosím nový název hostitele:", + "operating_system": "Operační systém", + "reboot_host": "Restartovat hostitele", + "shutdown_host": "Vypnout hostitele", + "used_space": "Použité místo" + }, + "supervisor": { + "beta_backup": "Před aktivací této funkce se ujistěte, že máte zálohy svých dat.", + "beta_join_confirm": "Chcete se připojit k beta kanálu?", + "beta_release_items": "To zahrnuje beta verze pro:", + "channel": "Kanál", + "failed_to_reload": "Nové načtení Supervisora se nezdařilo", + "failed_to_update": "Aktualizace Supervisora se nezdařila", + "join_beta_action": "Připojit se k beta kanálu", + "leave_beta_action": "Opustit beta kanál", + "reload_supervisor": "Nově načíst Supervisor", + "share_diagnostics": "Sdílet diagnostické informace", + "share_diagonstics_title": "Pomozte vylepšit Home Asistent", + "unsupported_reason": { + "dbus": "DBUS", + "docker_version": "Verze Dockeru", + "network_manager": "Správce sítě", + "os": "Operační systém", + "systemd": "Systemd" + }, + "update_supervisor": "Aktualizovat Supervisor", + "warning": "VAROVÁNÍ" + } + } + }, "ui": { "auth_store": { "ask": "Chcete toto přihlášení uložit?", @@ -377,6 +602,8 @@ "changed_to_state": "změněno na {state}", "cleared_device_class": "zrušeno (nebylo zjištěno {device_class})", "detected_device_class": "zjištěno {device_class}", + "is_closing": "se zavírá", + "is_opening": "se otevírá", "rose": "vyšlo", "set": "zapadlo", "turned_off": "vypnuto", @@ -3009,6 +3236,7 @@ "error_remove": "Nelze odstranit nastavení: {error}", "error_save_yaml": "Nelze uložit YAML: {error}", "header": "Upravit nastavení", + "reload": "Nově načíst", "resources_moved": "Zdroje by již neměly být přidávány do konfigurace Lovelace, ale mohou být přidávány v panelu nastavení Lovelace.", "save": "Uložit", "saved": "Uloženo", diff --git a/translations/frontend/da.json b/translations/frontend/da.json index f64058a4a6..f49fa58cd5 100644 --- a/translations/frontend/da.json +++ b/translations/frontend/da.json @@ -102,6 +102,107 @@ "unknown": "Ukendt" } }, + "supervisor": { + "common": { + "cancel": "Afbryd", + "restart": "Genstart", + "restart_name": "Genstart {name}", + "save": "Gem" + }, + "confirm": { + "restart": { + "text": "Er du sikker på at du vil genstarte {name}?", + "title": "Genstart {name}" + }, + "update": { + "title": "Opdater {name}" + } + }, + "dialog": { + "network": { + "connected_to": "Forbundet til {ssid}", + "dhcp": "DHCP", + "open": "Åben", + "scan_ap": "Scan for adgangspunkter", + "static": "Statisk", + "title": "Netværksindstillinger" + }, + "registries": { + "failed_to_remove": "fejlede i at fjerne registret", + "password": "Kodeord", + "remove": "fjern", + "username": "Brugernavn" + }, + "repositories": { + "add": "Tilføj", + "remove": "Fjern", + "title": "Administrer tilføjelsesregistre" + }, + "restart_addon": { + "confirm_text": "Genstart add-on", + "text": "Vil du genstarte tilføjelsen med dine ændringer?" + }, + "update": { + "create_snapshot": "Opret et snapshot af {name} før opdatering", + "snapshot": "Snapshot", + "snapshotting": "Opretter snapshot af {name}", + "updating": "Opdaterer {name} til version {version}" + } + }, + "snapshot": { + "addons": "Tilføjelser", + "available_snapshots": "Tilgængelige snapshots", + "could_not_create": "Kunne ikke oprette snapshot", + "create": "Opret", + "create_blocked_not_running": "Det er ikke muligt at oprette et snapshot lige nu, fordi systemet er i tilstanden {state}.", + "create_snapshot": "Opret snapshot", + "description": "Snapshots giver dig mulighed for nemt at sikkerhedskopiere og gendanne alle data fra dit instans af Home Assistant.", + "enter_password": "Venligst indtast et kodeord.", + "folder": { + "addons/local": "Lokale tilføjelser", + "homeassistant": "Home Assistant konfiguration", + "media": "Medie", + "share": "Del", + "ssl": "SSL" + }, + "folders": "Mapper", + "name": "Navn", + "no_snapshots": "Du har endnu ingen snapshots.", + "password": "Kodeord", + "password_protected": "beskyttet af kodeord", + "password_protection": "Adgangskodebeskyttelse", + "security": "Sikkerhed", + "type": "Type", + "upload_snapshot": "Opload snapshot" + }, + "system": { + "core": { + "cpu_usage": "Core CPU forbrug", + "ram_usage": "Core RAM forbrug" + }, + "host": { + "change_hostname": "Skift værtsnavn", + "confirm_reboot": "Er du sikker på, at du vil genstarte værten?", + "confirm_shutdown": "Er du sikker på, at du vil lukke værten ned?", + "docker_version": "Docker-version", + "hardware": "Hardware", + "hostname": "Værtsnavn", + "import_from_usb": "Importer fra USB", + "ip_address": "IP-adresse", + "new_hostname": "Indtast et nyt værtsnavn:", + "operating_system": "Operativsystem", + "reboot_host": "Genstart værten", + "shutdown_host": "Sluk vært" + }, + "supervisor": { + "share_diagonstics_description": "Ønsker du automatisk at dele rapporter og diagnosticeringsoplysninger når supervisoren oplever uventede fejl? {line_break} Dette vil lade os fikse problemerne, informationerene er kun tilgængelige for Home Assistant Core teamet og vil ikke blive delt med andre. {line_break} Dataene indeholder ikke private/følsomme informationer og du kan slå det fra i indstillingerne til hver en tid.", + "unsupported_reason": { + "docker_version": "Docker version", + "os": "Operativsystem" + } + } + } + }, "ui": { "auth_store": { "ask": "Ønsker du at forblive logget ind?", @@ -120,7 +221,7 @@ }, "automation": { "last_triggered": "Senest udløst", - "trigger": "Udløs" + "trigger": "Udfør" }, "camera": { "not_available": "Billedet er ikke tilgængeligt" @@ -611,8 +712,8 @@ "remove_intro": "Hvis entiteten ikke længere er i brug, kan du rydde op ved at fjerne den." }, "script": { - "last_action": "Senest udløst", - "last_triggered": "Senest udløst" + "last_action": "Senest udført", + "last_triggered": "Senest udført" }, "settings": "Entitetsindstillinger", "sun": { @@ -771,7 +872,7 @@ "error_detected": "Der blev fundet konfigurationsfejl", "key_missing": "Påkrævede nøgle \"{key}\" mangler.", "key_not_expected": "Nøglen \"{key}\" er ikke forventet eller understøttes ikke af den visuelle editor.", - "key_wrong_type": "Den angivne værdi for \" {key} \" understøttes ikke af den visuelle editor. Vi understøtter ( {type_correct} ) men modtog ( {type_wrong} ).", + "key_wrong_type": "Den angivne værdi for \"{key}\" understøttes ikke af den visuelle editor. Vi understøtter ( {type_correct} ) men modtog ( {type_wrong} ).", "no_type_provided": "Der er ikke angivet nogen type." } }, @@ -1390,7 +1491,7 @@ }, "core": { "caption": "Generelt", - "description": "Ændr Home Assistants generelle konfiguration", + "description": "Ændre Home Assistants generelle konfiguration", "section": { "core": { "core_config": { @@ -2616,7 +2717,7 @@ "icon_height": "Ikonhøjde", "image": "Sti til billede", "manual": "Manuel", - "manual_description": "Har du brug for at tilføje et brugerdefineret kort eller bare manuelt skrive yaml?", + "manual_description": "Har du brug for at tilføje et brugerdefineret kort eller bare manuelt skrive YAML?", "maximum": "Maksimum", "minimum": "Minimum", "name": "Navn", @@ -3159,7 +3260,7 @@ "learn_auth_requests": "Lær, hvordan du laver godkendte forespørgsler.", "name": "Navn", "prompt_copy_token": "Kopier din adgangstoken. Den vil ikke blive vist igen.", - "prompt_name": "Navn?" + "prompt_name": "Giv tokenet et navn" }, "mfa_setup": { "close": "Luk", diff --git a/translations/frontend/de.json b/translations/frontend/de.json index caeacd97c6..593ef2b552 100644 --- a/translations/frontend/de.json +++ b/translations/frontend/de.json @@ -104,20 +104,206 @@ }, "supervisor": { "addon": { + "configuration": { + "audio": { + "default": "Standard", + "header": "Audio", + "input": "Audioeingang", + "output": "Audioausgang" + }, + "network": { + "container": "Container", + "disabled": "Deaktiviert", + "header": "Netzwerk", + "host": "Host" + }, + "no_configuration": "Für dieses Add-on gibt es keine Konfiguration. Also nichts mit dem Du Dich herumschlagen musst...", + "options": { + "edit_in_ui": "Mit der Benutzeroberfläche bearbeiten", + "edit_in_yaml": "Als YAML bearbeiten", + "header": "Optionen", + "invalid_yaml": "Ungültige YAML", + "show_unused_optional": "Nicht verwendete optionale Konfigurationsoptionen anzeigen" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "Add-On-Änderungsprotokoll konnte nicht abgerufen werden", + "go_to_config": "Starten fehlgeschlagen - Validierung der Addon-Konfiguration nicht erfolgreich", + "install": "Addon konnte nicht installiert werden", + "restart": "Neustart des Addons fehlgeschlagen", + "start": "Starten des Addon fehlgeschlagen", + "start_invalid_config": "Zur Konfiguration gehen", + "stop": "Stoppen des Addon fehlgeschlagen", + "uninstall": "Addon konnte nicht deinstalliert werden", + "validate_config": "Validierung der Addon-Konfiguration fehlgeschlagen" + }, + "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') ist ein Linux-Kernel-Sicherheitsmodul, das Add-On-Funktionen wie Netzwerkzugriff, Raw-Socket-Zugriff und die Berechtigung zum Lesen, Schreiben oder Ausführen bestimmter Dateien einschränkt. \n\nAdd-On-Autoren können ihre Sicherheitsprofile bereitstellen, die für das Add-On optimiert sind, oder die Deaktivierung anfordern. Wenn AppArmor deaktiviert ist, erhöht dies das Sicherheitsrisiko und wirkt sich daher negativ auf die Sicherheitsbewertung des Add-Ons aus.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Ein Add-On kann Benutzer gegen Home Assistant authentifizieren, sodass Add-Ons Benutzern die Möglichkeit bieten, sich mit ihrem Home Assistant-Benutzernamen/-Kennwort bei Anwendungen anzumelden, die in Add-Ons ausgeführt werden. Dieses Abzeichen zeigt an, ob der Add-On-Autor diese Berechtigung anfordert.", + "title": "Home Assistant-Authentifizierung" + }, + "docker_api": { + "description": "Der Add-On-Autor hat das Add-On angefordert, um Verwaltungszugriff auf die Docker-Instanz zu haben, die auf Deinem System ausgeführt wird. Dieser Modus gibt dem Add-On vollen Zugriff und Kontrolle auf Dein gesamtes Home Assistant-System, was Sicherheitsrisiken erhöht und Dein System beschädigen kann, wenn es missbraucht wird. Daher wirkt sich diese Funktion negativ auf den Add-On-Sicherheitsbewertung aus.\n\nDiese Zugriffsebene wird nicht automatisch gewährt und muss von Dir bestätigt werden. Dazu musst Du den Schutzmodus für das Add-On manuell deaktivieren. Deaktiviere den Schutzmodus nur, wenn Du es wirklich musst UND der Quelle dieses Add-Ons vertraust.", + "title": "Vollständiger Docker-Zugriff" + }, + "full_access": { + "description": "Dieses Add-on erhält auf Wunsch des Add-On-Autors vollen Zugriff auf die Hardware Deines Systems. Der Zugriff ist mit dem privilegierten Modus in Docker vergleichbar. Da dies mögliche Sicherheitsrisiken eröffnet, wirkt sich diese Funktion negativ auf den Add-On-Sicherheitsbewertung aus.\n\nDiese Zugriffsebene wird nicht automatisch gewährt und muss von Dir bestätigt werden. Dazu musst Du den Schutzmodus für das Add-On manuell deaktivieren. Deaktiviere den Schutzmodus nur, wenn Du es wirklich musst UND der Quelle dieses Add-Ons vertraust.", + "title": "Voller Hardware-Zugriff" + }, + "hassio_api": { + "description": "Dem Add-On wurde Zugriff auf die Supervisor-API gewährt, wie es der Add-On-Autors angefordert hat. Standardmäßig kann das Add-On auf allgemeine Versionsinformationen von Deinem System zugreifen. Wenn das Add-On Zugriff auf die API mit \"Manager\"- oder \"Admin\"-Rechten anfordert, erhält es Zugriff auf mehrere Teile Ihres Home Assistant-Systems. Diese Berechtigung wird durch dieses Badge angezeigt und wirkt sich negativ auf die Sicherheitsbewertung des Add-Ons aus.", + "title": "Supervisor-API-Zugriff" + }, + "homeassistant_api": { + "description": "Dieses Add-On kann direkt über die Home Assistant-API auf Ihre ausgeführte Home Assistant-Instanz zugreifen. Dieser Modus behandelt auch die Authentifizierung für das Add-On, wodurch ein Add-On mit dem Home-Assistenten interagieren kann, ohne dass zusätzliche Authentifizierungstoken erforderlich sind.", + "title": "Home Assistant API-Zugriff" + }, + "host_network": { + "description": "Add-Ons werden in der Regel auf ihrer eigenen isolierten Netzwerkschicht ausgeführt, wodurch sie daran gehindert werden, auf das Netzwerk des Hostbetriebssystems zuzugreifen. In einigen Fällen kann diese Netzwerkisolation, Add-Ons bei der Bereitstellung ihrer Dienste einschränken. Daher kann die Isolierung vom Add-On-Autor aufgehoben werden, sodass das Add-On vollen Zugriff auf die Netzwerkfunktionen Deines Hostcomputers hat. Dadurch erhält das Add-On mehr Netzwerkfunktionen, verringert jedoch die Sicherheit! Daher wird die Sicherheitsbewertung des Add-Ons verringert, wenn diese Option vom Add-On verwendet wird.", + "title": "Host-Netzwerk" + }, + "host_pid": { + "description": "In der Regel sind die Prozesse, die das Add-On ausführt, von allen anderen Systemprozessen isoliert. Der Add-On-Autor hat das Add-On aufgefordert, einen Zugriff auf die auf der Hostsysteminstanz ausgeführten Systemprozesse zu haben und dem Add-On auch das Erstellen von Prozessen auf dem Hostsystem zu ermöglichen. Dieser Modus gibt dem Add-On vollen Zugriff und Kontrolle auf Ihr gesamtes Home Assistant-System, was Sicherheitsrisiken erhöht und Ihr System beschädigen kann, wenn es missbraucht wird. Daher wirkt sich diese Funktion negativ auf den Add-On-Sicherheitsbewertung aus.\n\nDiese Zugriffsebene wird nicht automatisch gewährt und muss von Dir bestätigt werden. Dazu musst Du den Schutzmodus für das Add-On manuell deaktivieren. Deaktiviere den Schutzmodus nur, wenn Du es wirklich musst UND der Quelle dieses Add-Ons vertraust.", + "title": "Namespace für Host-Prozesse" + }, + "ingress": { + "description": "Dieses Addon verwendet Ingress, um seine Benutzeroberfläche sicher in Home Assistant einzubetten.", + "title": "Ingress" + }, + "label": { + "apparmor": "AppArmor", + "auth": "genehmigen", + "docker": "Docker", + "hardware": "Hardware", + "hass": "hass", + "hassio": "hassio", + "host": "Host", + "host_pid": "Host-PID", + "ingress": "Ingress", + "rating": "Bewertung", + "stage": "Phase" + }, + "rating": { + "description": "Home Assistant bietet eine Sicherheitsbewertung für jedes Add-On, welche die Risiken aufzeigen, die bei der Verwendung dieses Add-Ons verbunden sind. Je mehr Zugriff ein Add-On auf Ihr System benötigt, desto niedriger ist die Punktzahl, wodurch die möglichen Sicherheitsrisiken steigen.\n\nDie Punktzahl ist auf einer Skala von 1 bis 6. Wobei 1 die niedrigste Punktzahl ist (ein sehr unsichers Add-On mit dem höchsten Risiko) und eine Punktzahl von 6 die höchste Punktzahl ist (eines der sichersten Add-Ons mit dem und niedrigsten Risiko).", + "title": "Addon-Sicherheitsbewertung" + }, + "role": { + "admin": "Administrator", + "backup": "Sicherung", + "default": "Standard", + "homeassistant": "homeassistant", + "manager": "Manager" + }, + "stage": { + "description": "Add-Ons können sich in einer von drei Phasen befinden:\n\n{icon_stable} **Stable**: Dies sind Add-Ons, die bereits vollstandig sind und Updates erhalten.\n\n{icon_experimental} **Experimentell**: Diese können Fehler enthalten und unvollendet sein.\n\n{icon_deprecated} **Veraltet**: Diese Add-Ons erhalten keine Updates mehr.", + "title": "Addon Phase" + } + }, + "changelog": "Änderungsprotokoll", + "cpu_usage": "CPU Auslastung des Addons", + "hostname": "Hostname", + "install": "Installieren", + "new_update_available": "{name} {version} ist verfügbar", + "not_available_arch": "Dieses Add-On ist nicht mit dem Prozessor oder Betriebssystem deines Geräts kompatibel", + "not_available_version": "Du hast Home Assistant {core_version_installed} installiert, um auf diese Version des Add-ons zu aktualisieren, benötigst Du mindestens die Home Assistan Version {core_version_needed}.", + "open_web_ui": "Benutzeroberfläche öffnen", + "option": { + "auto_update": { + "description": "Automatisches Aktualisieren des Addons, wenn eine neue Version verfügbar ist", + "title": "Automatische Updates" + }, + "boot": { + "description": "Das Add-On beim Systemstart starten", + "title": "Beim booten starten" + }, + "ingress_panel": { + "description": "Addon zur Seitenleiste hinzufügen", + "title": "In der Seitenleiste anzeigen " + }, + "protected": { + "description": "Blockiert den erhöhten Systemzugriff über das Addon", + "title": "Gesicherter Modus" + }, + "watchdog": { + "description": "Dadurch wird das Addon gestartet, wenn es abstürzt", + "title": "Crash-Detektor" + } + }, + "protection_mode": { + "content": "Der Schutzmodus für dieses Add-On ist deaktiviert! Dadurch erhält das Add-On vollen Zugriff auf das gesamte System, was Sicherheitsrisiken mit sich bringt und Dein System bei unsachgemäßer Verwendung beschädigen kann. Deaktiviere den Schutzmodus nur, wenn Du die Quelle dieses Add-Ons kennst, dieses benötigst UND vertraust.", + "enable": "Gesicherten Modus einschalten", + "title": "Warnung: Der gesicherte modus ist deaktiviert!" + }, + "ram_usage": "Arbeitsspeicherbedarfdes Addons", + "rebuild": "neu bauen", + "restart": "Neu starten", + "start": "Starten", + "stop": "Stoppen", + "uninstall": "Deinstallieren", + "visit_addon_page": "Weitere Informationen findest du auf der Seite {name}" + }, + "documentation": { + "get_documentation": "Fehler beim Abrufen der Addon-Dokumentation, {error}" + }, + "failed_to_reset": "Fehler beim Zurücksetzen der Add-On-Konfiguration, {error}", + "failed_to_save": "Fehler beim speichern der Add-On-Konfiguration, {error}", + "logs": { + "get_logs": "Fehler beim Abrufen der Add-On-Protokolle, {error}" + }, "panel": { "configuration": "Konfiguration", "documentation": "Dokumentation", "info": "Informationen", "log": "Protokoll" + }, + "state": { + "installed": "Add-On ist installiert", + "not_available": "Das Add-On ist auf Deinem System nicht verfügbar", + "not_installed": "Add-On ist nicht installiert" } }, "common": { "cancel": "Abbrechen", + "description": "Beschreibung", + "error": { + "unknown": "Unbekannter Fehler", + "update_failed": "Update fehlgeschlagen" + }, + "failed_to_restart_name": "Neustart von {name} fehlgeschlagen", + "failed_to_update_name": "Update von {name} fehlgeschlagen", + "learn_more": "Mehr Informationen", + "new_version_available": "Neue Version verfügbar", "newest_version": "Neueste Version", + "no": "Nein", + "refresh": "Neu laden", "release_notes": "Versionshinweise", - "update": "Aktualisieren" + "reload": "Neu laden", + "reset_defaults": "Auf Werkseinstellungen zurücksetzen", + "reset_options": "Optionen zum Zurücksetzen", + "restart": "Neustart", + "restart_name": "{name} neu starten", + "running_version": "Du hast aktuell Version {version}", + "save": "Speichern", + "show_more": "Zeige mehr Informationen", + "update": "Aktualisieren", + "update_available": "{count, plural,\n one {Aktualisierung}\n other {{count} Aktualisierungen}\n} ausstehend", + "version": "Version", + "yes": "Ja" }, "confirm": { + "reset_options": { + "text": "Bist du dir sicher, alle Einstellungen zurückzusetzen?", + "title": "Optionen zum Zurücksetzen" + }, + "restart": { + "text": "Bist du dir sicher, dass du {name} neu starten willst?", + "title": "Neustart von {name}" + }, "update": { "text": "Sind Sie sicher, dass Sie {name} auf Version {version} aktualisieren möchten?", "title": "Aktualisiere {name}" @@ -127,13 +313,178 @@ "addon_new_version": "Neue Version verfügbar", "addon_running": "Add-on wird ausgeführt", "addon_stopped": "Add-on ist gestoppt", + "addons": "Add-Ons", "no_addons": "Sie haben noch keine Add-Ons installiert. Gehen Sie zum Add-on-Shop, um loszulegen!" }, + "dialog": { + "network": { + "connected_to": "Verbunden mit {ssid}", + "dhcp": "DHCP", + "disabled": "Deaktiviert", + "dns_servers": "DNS-Server", + "failed_to_change": "Ändern der Netzwerkeinstellungen fehlgeschlagen", + "gateway": "Gateway-Adresse", + "ip_netmask": "IP-Adresse/Netzmaske", + "open": "Offen", + "scan_ap": "Nach Zugangspunkten suchen", + "static": "Statisch", + "title": "Netzwerkeinstellungen", + "unsaved": "Nicht gespeicherte Änderungen gehen beim Wechsel des Tabs verloren. Willst Du fortfahren?", + "warning": "Wenn du die WLAN-, IP- oder Gateway-Adressen änderst, verlierst du möglicherweise die Verbindung!", + "wep": "WEP", + "wpa": "WPA-PSK" + }, + "registries": { + "add_new_registry": "Neue Registrierung hinzufügen", + "add_registry": "Registrierung hinzufügen", + "failed_to_add": "Fehler beim Hinzufügen der Registrierung", + "failed_to_remove": "Fehler beim Entfernen der Registrierung", + "no_registries": "Keine Registrierungen konfiguriert", + "password": "Passwort", + "registry": "Registrierung", + "remove": "Entfernen", + "title_add": "Neue Container-Registrierung hinzufügen", + "title_manage": "Verwalten von Container-Registrierungen", + "username": "Benutzername" + }, + "repositories": { + "add": "Hinzufügen", + "remove": "Entfernen", + "title": "Add-on Repositorys verwalten" + }, + "restart_addon": { + "confirm_text": "Add-on neu starten", + "text": "Möchtest du das Add-on mit deinen Änderungen neu starten?" + }, + "update": { + "create_snapshot": "Erstellen eine Datensicherung von {name} vor der Aktualisierung", + "snapshot": "Datensicherung", + "snapshotting": "Erstelle Datensicherung für {name}", + "updating": "Aktualisieren von {name} auf Version {version}" + } + }, + "my": { + "error": "Ein unbekannter Fehler ist aufgetreten", + "faq_link": "Häufig gestellten Fragen zu Home Assistant", + "not_supported": "Diese Weiterleitung wird von Deiner Home Assistant Instanz nicht unterstützt. Überprüfe mit diesem {link} welche Weiterleitungen unterstützt werden und ab welcher Version. " + }, "panel": { "dashboard": "Dashboard", "snapshots": "Datensicherungen", "store": "Add-on Shop", "system": "System" + }, + "snapshot": { + "addons": "Add-Ons", + "available_snapshots": "Verfügbare Sicherungen", + "could_not_create": "Datensicherung konnte nicht erstellt werden", + "create": "Erstellen", + "create_blocked_not_running": "Das Erstellen eines Snapshots ist derzeit nicht möglich, da sich das System im Zustand {state} befindet.", + "create_snapshot": "Datensicherung erstellen", + "description": "Sicherungen ermöglichen dir das leichte Speichern und Wiederherstellen von allen Daten aus Home Assistant.", + "enter_password": "Bitte Passwort eingeben.", + "folder": { + "addons/local": "Lokale Add-Ons", + "homeassistant": "Home Assistant-Konfiguration", + "media": "Medien", + "share": "Freigaben", + "ssl": "SSL" + }, + "folders": "Ordner", + "full_snapshot": "Vollständige Datensicherung", + "name": "Name", + "no_snapshots": "Du hast bisher keine Sicherungen erstellt.", + "partial_snapshot": "Selektive Datensicherung", + "password": "Passwort", + "password_protected": "Passwort geschützt", + "password_protection": "Passwortschutz", + "security": "Sicherheit", + "type": "Typ", + "upload_snapshot": "Datensicherung hochladen" + }, + "store": { + "missing_addons": "Fehlende Addons? Aktiviere den erweiterten Modus auf deiner Benutzerprofilseite", + "no_results_found": "Keine Ergebnisse in {repository} gefunden", + "registries": "Einträge", + "repositories": "Repositories" + }, + "system": { + "core": { + "cpu_usage": "Core-CPU Auslastung", + "ram_usage": "Core-RAM Nutzung" + }, + "host": { + "change": "Ändern", + "change_hostname": "Hostname ändern", + "confirm_reboot": "Bist du sicher, dass du den Host neu starten willst?", + "confirm_shutdown": "Bist du sicher, dass du den Host herunterfahren willst?", + "deployment": "Deployment", + "docker_version": "Docker-Version", + "emmc_lifetime_used": "eMMC Nutzung", + "failed_to_get_hardware_list": "Fehler beim Abrufen der Hardwareliste", + "failed_to_import_from_usb": "Fehler beim Importieren von USB", + "failed_to_reboot": "Fehler beim Neustart des Hosts", + "failed_to_set_hostname": "Das Setzen des Hostnamens ist fehlgeschlagen", + "failed_to_shutdown": "Fehler beim Herunterfahren des Hosts", + "hardware": "Hardware", + "hostname": "Hostname", + "import_from_usb": "Von USB importieren", + "ip_address": "IP-Adresse", + "new_hostname": "Bitte einen neuen Hostnamen eingeben:", + "operating_system": "Betriebssystem", + "reboot_host": "Host neustarten", + "shutdown_host": "Host herunterfahren", + "used_space": "Belegter Speicherplatz" + }, + "log": { + "get_logs": "Fehler beim Abrufen der {provider} -Protokolle, {error}", + "log_provider": "Protokollanbieter" + }, + "supervisor": { + "beta_backup": "Stelle sicher dass du Backups gemacht hast, bevor du diese Funktion aktivierst.", + "beta_join_confirm": "Möchtest du den Beta Kanal beitreten?", + "beta_release_items": "Das beinhaltet Beta-Versionen für:", + "beta_warning": "Beta-Versionen sind für Tester und Early Adopters gedacht und können instabile Codeänderungen enthalten", + "channel": "Kanal", + "cpu_usage": "CPU Auslastung von Supervisor", + "failed_to_reload": "Fehler beim Aktualisieren des Supervisor", + "failed_to_set_option": "Fehler beim Setzen einer Supervisor Option", + "failed_to_update": "Der Supervisor konnte nicht aktualisiert werden", + "join_beta_action": "Beta-Kanal beitreten", + "join_beta_description": "Erhalte Beta-Updates für Home Assistant (RCs), Supervisor und Host", + "leave_beta_action": "Beta Kanal verlassen", + "leave_beta_description": "Erhalte stabile Updates für Home Assistant, Supervisor und Host", + "ram_usage": "Arbeitsspeicherbedarf von Supervisor", + "reload_supervisor": "Supervisor neu starten", + "share_diagnostics": "Diagnose teilen", + "share_diagnostics_description": "Teile Absturzberichte und Diagnoseinformationen.", + "share_diagonstics_description": "Möchten Sie Absturzberichte und Diagnoseinformationen automatisch freigeben, wenn der Supervisor auf unerwartete Fehler stößt? {line_break} Auf diese Weise können wir die Probleme beheben. Die Informationen sind nur für das Home Assistant Core Team zugänglich und werden nicht an andere weitergegeben. {line_break} Die Daten enthalten keine privaten/sensiblen Informationen und Sie können diese jederzeit in den Einstellungen deaktivieren.", + "share_diagonstics_title": "Helfe Home Assistant zu verbessern", + "unhealthy_description": "Das Ausführen einer fehlerhaften Installation führt zu Problemen. Unten finden Sie eine Liste der Probleme, die bei Ihrer Installation aufgetreten sind. Klicke auf die Links, um zu erfahren, wie Du diese Probleme beheben kannst.", + "unhealthy_reason": { + "docker": "Die Docker Umgebung arbeitet nicht fehlerfrei", + "privileged": "Der Supervisor ist nicht berechtigt", + "setup": "Die Einrichtung des Supervisors ist fehlgeschlagen", + "supervisor": "Supervisor konnte nicht upgedated werden" + }, + "unhealthy_title": "Deine Installation ist fehlerhaft", + "unsupported_description": "Unten finden Sie eine Liste der Probleme, die bei Ihrer Installation aufgetreten sind. Klicken Sie auf die Links, um zu erfahren, wie Sie die Probleme beheben können.", + "unsupported_reason": { + "container": "Container, von denen bekannt ist, dass sie Probleme verursachen", + "dbus": "DBUS", + "docker_configuration": "Docker Konfiguration", + "docker_version": "Docker Version", + "job_conditions": "Ignorierte Jobbedingungen", + "lxc": "LXC", + "network_manager": "Netzwerk Einstellungen", + "os": "Betriebssystem", + "privileged": "Der Supervisor ist nicht berechtigt", + "systemd": "Systemd" + }, + "unsupported_title": "Deine Installation wird nicht unterstützt", + "update_supervisor": "Supervisor aktualisieren", + "warning": "WARNUNG" + } } }, "ui": { @@ -531,7 +882,7 @@ "add_device_id": "Gerät auswählen", "add_entity_id": "Entität auswählen", "expand_area_id": "Erweitere diesen Bereich in einzelne Geräte und Entitäten. Nach der Erweiterung werden die Geräte und Entitäten nicht aktualisiert, wenn sich der Bereich ändert.", - "expand_device_id": "Erweitern Sie dieses Gerät in separate Entitäten. Nach dem Erweitern werden die Entitäten nicht aktualisiert, wenn sich das Gerät ändert.", + "expand_device_id": "Erweitere dieses Gerät in separate Entitäten. Nach dem Erweitern werden die Entitäten nicht aktualisiert, wenn sich das Gerät ändert.", "remove_area_id": "Bereich entfernen", "remove_device_id": "Gerät entfernen", "remove_entity_id": "Entität entfernen" @@ -791,6 +1142,7 @@ "clusters": "Cluster verwalten", "reconfigure": "Gerät neu konfigurieren", "remove": "Gerät entfernen", + "view_in_visualization": "Visualisierung in einer Map", "zigbee_information": "ZigBee-Gerätesignatur" }, "confirmations": { @@ -2368,6 +2720,7 @@ "caption": "Visualisierung", "header": "Netzwerkvisualisierung", "highlight_label": "Geräte hervorheben", + "refresh_topology": "Topologie aktualisieren", "zoom_label": "Auf Gerät zoomen" } }, @@ -2402,11 +2755,15 @@ }, "zwave_js": { "add_node": { + "cancel_inclusion": "Erfassung abbrechen", + "controller_in_inclusion_mode": "Ihr Z-Wave-Controller befindet sich jetzt im Erfassungs-Modus", "follow_device_instructions": "Befolge die mit dem Gerät gelieferten Anweisungen, um die Kopplung am Gerät auszulösen.", "inclusion_failed": "Der Knoten konnte nicht hinzugefügt werden. Bitte überprüfe die Protokolle für weitere Informationen.", "inclusion_finished": "Der Knoten wurde hinzugefügt. Es kann einige Minuten dauern, bis alle Einheiten angezeigt werden, da der Knoten im Hintergrund fertig eingerichtet wird.", "introduction": "Dieser Assistent führt dich durch das Hinzufügen eines Knotens zu deinem Z-Wave-Netzwerk.", "secure_inclusion_warning": "Sichere Geräte benötigen zusätzliche Bandbreite; zu viele sichere Geräte können Ihr Z-Wave-Netzwerk ausbremsen. Wir empfehlen, die sichere Einbindung nur für Geräte zu verwenden, die sie benötigen, wie Schlösser oder Garagentoröffner.", + "start_inclusion": "Starten der Erfassung", + "start_secure_inclusion": "Starten der sicheren Erfassung", "title": "Z-Wave-Knoten hinzufügen", "use_secure_inclusion": "Sichere Einbindung verwenden", "view_device": "Gerät anzeigen" @@ -2455,10 +2812,13 @@ "unknown": "Unbekannt" }, "remove_node": { + "cancel_exclusion": "Entfernung von Geräten abbrechen", + "controller_in_exclusion_mode": "Der Z-Wave controller befindet sich im modus zur Entfernung von Knoten", "exclusion_failed": "Der Knoten konnte nicht entfernt werden. Bitte in den Logs nach mehr Informationen suchen.", "exclusion_finished": "Der Knoten {id} wurde aus deinem Z-Wave-Netzwerk entfernt.", "follow_device_instructions": "Befolge die mit dem Gerät gelieferten Anweisungen, um die Kopplung am Gerät auszulösen.", "introduction": "Entferne einen Knoten aus deinem Z-Wave-Netzwerk und entferne die zugehörigen Geräte und Entitäten aus Home Assistant.", + "start_exclusion": "Entfernung von Geräten starten", "title": "Z-Wave-Knoten entfernen" } }, @@ -3038,6 +3398,7 @@ "error_remove": "Konfiguration konnte nicht entfernt werden: {error}", "error_save_yaml": "YAML konnte nicht gespeichert werden: {error}", "header": "Konfiguration bearbeiten", + "lovelace_changed": "Die Lovelace-Konfiguration wurde aktualisiert. Möchtest Du die aktualisierte Konfiguration in den Editor laden und Deine aktuellen Änderungen verlieren?", "reload": "Neu laden", "resources_moved": "Ressourcen sollten nicht mehr zur Lovelace-Konfiguration hinzugefügt werden, sondern können im Lovelace-Konfigurationsfenster hinzugefügt werden.", "save": "Speichern", diff --git a/translations/frontend/el.json b/translations/frontend/el.json index 3c1c66292a..4e24f449bc 100644 --- a/translations/frontend/el.json +++ b/translations/frontend/el.json @@ -104,21 +104,205 @@ }, "supervisor": { "addon": { + "configuration": { + "audio": { + "default": "Προεπιλογή", + "header": "Ήχος", + "input": "Είσοδος", + "output": "Έξοδος" + }, + "network": { + "container": "Κοντέινερ", + "disabled": "Απενεργοποιημένο", + "header": "Δίκτυο", + "host": "Κεντρικός υπολογιστής" + }, + "no_configuration": "Αυτό το πρόσθετο δεν εκθέτει τη διαμόρφωση για να την επεξεργαστείτε...", + "options": { + "edit_in_ui": "Επεξεργασία σε περιβάλλον χρήστη", + "edit_in_yaml": "Επεξεργασία σε YAML", + "header": "Επιλογές", + "invalid_yaml": "Μη έγκυρο YAML", + "show_unused_optional": "Εμφάνιση αχρησιμοποίητων προαιρετικών ρυθμίσεων διαμόρφωσης" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "Αποτυχία λήψης αλλαγών πρόσθετων", + "go_to_config": "Αποτυχία έναρξης πρόσθετου - η επικύρωση διαμόρφωσης απέτυχε!", + "install": "Αποτυχία εγκατάστασης πρόσθετου", + "restart": "Αποτυχία επανεκκίνησης του πρόσθετου", + "start": "Αποτυχία έναρξης πρόσθετου", + "start_invalid_config": "Μεταβείτε στη διαμόρφωση", + "stop": "Αποτυχία διακοπής του πρόσθετου", + "uninstall": "Αποτυχία απεγκατάστασης του πρόσθετου", + "validate_config": "Αποτυχία επικύρωσης διαμόρφωσης πρόσθετου" + }, + "capability": { + "apparmor": { + "description": "Το AppArmor ('Application Armor') είναι μια λειτουργική μονάδα ασφαλείας πυρήνα Linux που περιορίζει τις δυνατότητες πρόσθετων, όπως πρόσβαση στο δίκτυο, πρόσβαση σε ακατέργαστη υποδοχή και άδεια ανάγνωσης, εγγραφής ή εκτέλεσης συγκεκριμένων αρχείων. \n\n Οι συντάκτες πρόσθετων μπορούν να παρέχουν τα προφίλ ασφαλείας τους, βελτιστοποιημένα για το πρόσθετο ή να ζητήσουν την απενεργοποίησή του. Εάν το AppArmor είναι απενεργοποιημένο, θα αυξήσει τους κινδύνους ασφαλείας και, ως εκ τούτου, έχει αρνητικό αντίκτυπο στη βαθμολογία ασφαλείας του πρόσθετου.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Ένα πρόσθετο μπορεί να κάνει έλεγχο ταυτότητας των χρηστών έναντι του Home Assistant, επιτρέποντας στα πρόσθετα να δίνουν στους χρήστες τη δυνατότητα να συνδεθούν σε εφαρμογές που εκτελούνται μέσα σε πρόσθετα, χρησιμοποιώντας το όνομα χρήστη / τον κωδικό πρόσβασης του Home Assistant. Αυτό το σήμα υποδεικνύει εάν ο συντάκτης του πρόσθετου ζητά αυτήν τη δυνατότητα.", + "title": "Έλεγχος ταυτότητας Home Assistant" + }, + "docker_api": { + "description": "Ο συντάκτης του πρόσθετου ζήτησε από το πρόσθετο να έχει πρόσβαση διαχείρισης στην παρουσία Docker που εκτελείται στο σύστημά σας. Αυτή η λειτουργία παρέχει στο πρόσθετο πλήρη πρόσβαση και έλεγχο σε ολόκληρο το σύστημα οικιακού βοηθού σας, το οποίο προσθέτει κινδύνους ασφαλείας και ενδέχεται να προκαλέσει βλάβη στο σύστημά σας όταν γίνεται κατάχρηση. Επομένως, αυτή η δυνατότητα επηρεάζει αρνητικά τη βαθμολογία ασφαλείας του πρόσθετου. \n\n Αυτό το επίπεδο πρόσβασης δεν χορηγείται αυτόματα και πρέπει να επιβεβαιωθεί από εσάς. Για να το κάνετε αυτό, πρέπει να απενεργοποιήσετε τη λειτουργία προστασίας στο πρόσθετο με μη αυτόματο τρόπο. Απενεργοποιήστε τη λειτουργία προστασίας μόνο εάν γνωρίζετε, χρειάζεστε και εμπιστεύεστε την πηγή αυτού του πρόσθετου.", + "title": "Πλήρης πρόσβαση στο Docker" + }, + "full_access": { + "description": "Αυτό το πρόσθετο έχει πλήρη πρόσβαση στο υλικό του συστήματός σας, κατόπιν αιτήματος του συντάκτη του πρόσθετου. Η πρόσβαση είναι συγκρίσιμη με την προνομιακή λειτουργία στο Docker. Εφόσον αυτό δημιουργεί πιθανούς κινδύνους ασφαλείας, αυτή η δυνατότητα επηρεάζει αρνητικά τη βαθμολογία ασφαλείας του πρόσθετου. \n\n Αυτό το επίπεδο πρόσβασης δεν χορηγείται αυτόματα και πρέπει να επιβεβαιωθεί από εσάς. Για να το κάνετε αυτό, πρέπει να απενεργοποιήσετε τη λειτουργία προστασίας στο πρόσθετο με μη αυτόματο τρόπο. Απενεργοποιήστε τη λειτουργία προστασίας μόνο εάν γνωρίζετε, χρειάζεστε και εμπιστεύεστε την πηγή αυτού του πρόσθετου.", + "title": "Πλήρης πρόσβαση στο υλικό" + }, + "hassio_api": { + "description": "Το πρόσθετο είχε πρόσβαση στο API του επόπτη, κατόπιν αιτήματος του πρόσθετου συντάκτη. Από προεπιλογή, το πρόσθετο μπορεί να αποκτήσει πρόσβαση σε γενικές πληροφορίες έκδοσης του συστήματός σας. Όταν το πρόσθετο ζητά πρόσβαση σε επίπεδο \"διαχειριστή\" ή \"διαχειριστή\" στο API, θα αποκτήσει πρόσβαση για τον έλεγχο πολλών τμημάτων του συστήματος Home Assistant. Αυτή η άδεια υποδεικνύεται από αυτό το σήμα και θα επηρεάσει αρνητικά τη βαθμολογία ασφαλείας του πρόσθετου.", + "title": "Πρόσβαση Supervisor API" + }, + "homeassistant_api": { + "description": "Αυτό το πρόσθετο επιτρέπεται να έχει άμεση πρόσβαση στην τρέχουσα παρουσία του Βοηθού σπιτιού μέσω του Home Assistant API. Αυτή η λειτουργία χειρίζεται τον έλεγχο ταυτότητας και για το πρόσθετο, το οποίο επιτρέπει σε ένα πρόσθετο να αλληλεπιδρά με το Home Assistant χωρίς την ανάγκη πρόσθετων διακριτικών ελέγχου ταυτότητας.", + "title": "Πρόσβαση Home Assistant API" + }, + "host_network": { + "description": "Τα πρόσθετα συνήθως εκτελούνται στο δικό τους απομονωμένο επίπεδο δικτύου, το οποίο τους εμποδίζει να έχουν πρόσβαση στο δίκτυο του κεντρικού λειτουργικού συστήματος. Σε ορισμένες περιπτώσεις, αυτή η απομόνωση δικτύου μπορεί να περιορίσει τα πρόσθετα στην παροχή των υπηρεσιών τους και ως εκ τούτου, η απομόνωση μπορεί να αρθεί από τον πρόσθετο συντάκτη, παρέχοντας στο πρόσθετο πλήρη πρόσβαση στις δυνατότητες δικτύου του κεντρικού υπολογιστή. Αυτό δίνει στο πρόσθετο περισσότερες δυνατότητες δικτύωσης αλλά μειώνει την ασφάλεια, επομένως, η βαθμολογία ασφαλείας του πρόσθετου θα μειωθεί όταν αυτή η επιλογή χρησιμοποιείται από το πρόσθετο.", + "title": "Δίκτυο κεντρικού υπολογιστή" + }, + "host_pid": { + "description": "Συνήθως, οι διαδικασίες που εκτελούνται το πρόσθετο, είναι απομονωμένες από όλες τις άλλες διαδικασίες συστήματος. Ο συντάκτης του πρόσθετου ζήτησε από το πρόσθετο να έχει πρόσβαση στις διεργασίες συστήματος που εκτελούνται στην παρουσία του συστήματος κεντρικού υπολογιστή, και επιτρέπει στο πρόσθετο να δημιουργεί διαδικασίες στο σύστημα κεντρικού υπολογιστή. Αυτή η λειτουργία παρέχει στο πρόσθετο πλήρη πρόσβαση και έλεγχο σε ολόκληρο το σύστημα οικιακού βοηθού σας, το οποίο προσθέτει κινδύνους ασφαλείας και ενδέχεται να προκαλέσει βλάβη στο σύστημά σας όταν γίνεται κατάχρηση. Επομένως, αυτή η δυνατότητα επηρεάζει αρνητικά τη βαθμολογία ασφαλείας του πρόσθετου. \n\n Αυτό το επίπεδο πρόσβασης δεν χορηγείται αυτόματα και πρέπει να επιβεβαιωθεί από εσάς. Για να το κάνετε αυτό, πρέπει να απενεργοποιήσετε τη λειτουργία προστασίας στο πρόσθετο με μη αυτόματο τρόπο. Απενεργοποιήστε τη λειτουργία προστασίας μόνο εάν γνωρίζετε, χρειάζεστε και εμπιστεύεστε την πηγή αυτού του πρόσθετου.", + "title": "Χώρος ονομάτων διεργασιών κεντρικού υπολογιστή" + }, + "ingress": { + "description": "Αυτό το πρόσθετο χρησιμοποιεί το Ingress για να ενσωματώσει τη διασύνδεσή του με ασφάλεια στο Home Assistant.", + "title": "Ingress" + }, + "label": { + "apparmor": "apparmor", + "auth": "εξουσιοδότηση", + "docker": "docker", + "hardware": "υλικό", + "hass": "hass", + "hassio": "hassio", + "host": "κεντρικός υπολογιστής", + "host_pid": "pid κεντρικού υπολογιστή", + "ingress": "είσοδος", + "rating": "εκτίμηση", + "stage": "στάδιο" + }, + "rating": { + "description": "Το Home Assistant παρέχει αξιολόγηση ασφαλείας σε καθένα από τα πρόσθετα, η οποία υποδεικνύει τους κινδύνους που ενέχονται κατά τη χρήση αυτού του πρόσθετου. Όσο περισσότερη πρόσβαση απαιτεί ένα πρόσθετο στο σύστημά σας, τόσο χαμηλότερη είναι η βαθμολογία, αυξάνοντας έτσι τους πιθανούς κινδύνους ασφαλείας. \n\n Το σκορ είναι σε κλίμακα από το 1 έως το 6. Όταν το 1 είναι το χαμηλότερο σκορ (θεωρείται το πιο ανασφαλές και το υψηλότερο κίνδυνο) και το σκορ 6 είναι το υψηλότερο σκορ (θεωρείται το πιο ασφαλές και χαμηλότερο κίνδυνο).", + "title": "Αξιολόγηση ασφαλείας πρόσθετου" + }, + "role": { + "admin": "admin", + "backup": "backup", + "default": "default", + "homeassistant": "homeassistant", + "manager": "manager" + }, + "stage": { + "description": "Τα πρόσθετα μπορούν να έχουν ένα από τα τρία στάδια: \n\n {icon_stable} ** Σταθερό **: Πρόκειται για πρόσθετα έτοιμα για χρήση στην παραγωγή. \n\n {icon_experimental} ** Πειραματικό **: Αυτά ενδέχεται να περιέχουν σφάλματα και ενδέχεται να μην έχουν ολοκληρωθεί. \n\n {icon_deprecated} ** Καταργημένο **: Αυτά τα πρόσθετα δεν θα λαμβάνουν πλέον ενημερώσεις.", + "title": "Στάδιο προσθέτων" + } + }, + "changelog": "Changelog", + "cpu_usage": "Χρήση CPU πρόσθετου", + "hostname": "Όνομα κεντρικού υπολογιστή", + "install": "εγκατάσταση", + "new_update_available": "{name} {version} είναι διαθέσιμο", + "not_available_arch": "Αυτό το πρόσθετο δεν είναι συμβατό με τον επεξεργαστή της συσκευής σας ή το λειτουργικό σύστημα που έχετε εγκαταστήσει στη συσκευή σας.", + "not_available_version": "Εκτελείτε το Home Assistant {core_version_installed} , για να ενημερώσετε αυτήν την έκδοση του πρόσθετου χρειάζεστε τουλάχιστον την έκδοση {core_version_needed} του Home Assistant", + "open_web_ui": "Άνοιγμα διεπαφής ιστού", + "option": { + "auto_update": { + "description": "Αυτόματη ενημέρωση του πρόσθετου όταν υπάρχει διαθέσιμη νέα έκδοση", + "title": "Αυτόματη ενημέρωση" + }, + "boot": { + "description": "Ξεκινήστε το πρόσθετο κατά την εκκίνηση του συστήματος", + "title": "Έναρξη κατά την εκκίνηση" + }, + "ingress_panel": { + "description": "Προσθήκη αυτού του πρόσθετου στην πλαϊνή στήλη", + "title": "Εμφάνιση στην πλαϊνή γραμμή" + }, + "protected": { + "description": "Αποκλείει την αυξημένη πρόσβαση συστήματος από το πρόσθετο", + "title": "Τρόπος προστασίας" + }, + "watchdog": { + "description": "Αυτό θα ξεκινήσει το πρόσθετο εάν διακοπεί η λειτουργία του", + "title": "Φρουρός" + } + }, + "protection_mode": { + "content": "Η λειτουργία προστασίας σε αυτό το πρόσθετο είναι απενεργοποιημένη! Αυτό δίνει στο πρόσθετο πλήρη πρόσβαση σε ολόκληρο το σύστημα, το οποίο προσθέτει κινδύνους ασφαλείας και ενδέχεται να προκαλέσει βλάβη στο σύστημά σας όταν χρησιμοποιείται εσφαλμένα. Απενεργοποιήστε τη λειτουργία προστασίας μόνο εάν γνωρίζετε, χρειάζεστε και εμπιστεύεστε την πηγή αυτού του πρόσθετου.", + "enable": "Ενεργοποίηση λειτουργίας προστασίας", + "title": "Προειδοποίηση: Η λειτουργία προστασίας είναι απενεργοποιημένη!" + }, + "ram_usage": "Χρήση μνήμης RAM πρόσθετου", + "rebuild": "ανοικοδόμηση", + "restart": "επανεκκίνηση", + "start": "έναρξη", + "stop": "στοπ", + "uninstall": "απεγκατάσταση", + "visit_addon_page": "Επισκεφθείτε τη σελίδα {name} για περισσότερες λεπτομέρειες" + }, + "documentation": { + "get_documentation": "Αποτυχία λήψης τεκμηρίωσης πρόσθετου, {error}" + }, + "failed_to_reset": "Αποτυχία επαναφοράς της διαμόρφωσης πρόσθετου, {error}", + "failed_to_save": "Αποτυχία αποθήκευσης διαμόρφωσης πρόσθετου, {error}", + "logs": { + "get_logs": "Αποτυχία λήψης πρόσθετων αρχείων καταγραφής, {error}" + }, "panel": { "configuration": "Ρυθμίσεις", "documentation": "Τεκμηρίωση", "info": "Πληροφορίες", "log": "Αρχείο καταγραφής" + }, + "state": { + "installed": "Το πρόσθετο είναι εγκατεστημένο", + "not_available": "Το πρόσθετο δεν είναι διαθέσιμο στο σύστημά σας", + "not_installed": "Το πρόσθετο δεν είναι εγκατεστημένο" } }, "common": { "cancel": "Ακύρωση", + "description": "Περιγραφή", + "error": { + "unknown": "Άγνωστο σφάλμα", + "update_failed": "Η ενημέρωση απέτυχε" + }, + "failed_to_restart_name": "Αποτυχία επανεκκίνησης {name}", + "failed_to_update_name": "Αποτυχία ενημέρωσης {name}", + "learn_more": "Μάθετε περισσότερα", + "new_version_available": "Νέα έκδοση διαθέσιμη", "newest_version": "Νεότερη έκδοση", + "no": "Όχι", + "refresh": "Ανανέωση", "release_notes": "Σημειώσεις έκδοσης", + "reload": "Επαναφόρτωση", + "reset_defaults": "Επαναφορά στα προεπιλεγμένα", + "reset_options": "Επαναφορά επιλογών", + "restart": "Επανεκκίνηση", + "restart_name": "Επανεκκίνηση {name}", + "running_version": "Αυτήν τη στιγμή εκτελείτε την έκδοση {version}", + "save": "Αποθήκευση", + "show_more": "Εμφάνιση περισσότερων πληροφοριών σχετικά με αυτό", "update": "Ενημέρωση", - "version": "Έκδοση" + "update_available": "{count} {count, plural,\n one {Ενημέρωση}\n other {Ενημερώσεις}\n} εκκρεμεμούν", + "version": "Έκδοση", + "yes": "Ναι" }, "confirm": { + "reset_options": { + "text": "Είστε βέβαιοι ότι θέλετε να επαναφέρετε όλες τις επιλογές σας;", + "title": "Επαναφορά επιλογών" + }, + "restart": { + "text": "Είστε βέβαιοι ότι θέλετε να επανεκκινήσετε το {name};" + }, "update": { "text": "Είστε βέβαιοι ότι θέλετε να ενημερώσετε το {name} στην έκδοση {version} ;", "title": "Ενημέρωση {name}" @@ -131,11 +315,174 @@ "addons": "Πρόσθετα", "no_addons": "Δεν έχετε εγκαταστήσει πρόσθετα ακόμα. Επισκεφθείτε το κατάστημα πρόσθετων για να ξεκινήσετε!" }, + "dialog": { + "network": { + "connected_to": "Συνδέθηκε στο {ssid}", + "dhcp": "DHCP", + "disabled": "Απενεργοποιημένο", + "dns_servers": "Διακομιστές DNS", + "failed_to_change": "Αποτυχία αλλαγής ρυθμίσεων δικτύου", + "gateway": "Διεύθυνση πύλης", + "ip_netmask": "Διεύθυνση IP/μάσκα δικτύου", + "open": "Άνοιγμα", + "scan_ap": "Σάρωση για σημεία πρόσβασης", + "static": "Στατική", + "title": "Ρυθμίσεις δικτύου", + "unsaved": "Έχετε μη αποθηκευμένες αλλαγές, αυτές θα χαθούν αν αλλάξετε καρτέλες, θέλετε να συνεχίσετε;", + "warning": "Εάν αλλάζετε τις διευθύνσεις Wi-Fi, IP ή πύλης, ενδέχεται να χάσετε τη σύνδεση!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Προσθήκη νέου μητρώου", + "add_registry": "Προσθήκη μητρώου", + "failed_to_add": "Αποτυχία προσθήκης μητρώου", + "failed_to_remove": "Αποτυχία κατάργησης μητρώου", + "no_registries": "Δεν έχουν διαμορφωθεί μητρώα", + "password": "Κωδικός", + "registry": "Περιοχή Μητρώου", + "remove": "Αφαίρεση", + "title_add": "Προσθήκη νέου μητρώου κοντέινερ", + "title_manage": "Διαχείριση μητρώων κοντέινερ", + "username": "Όνομα χρήστη" + }, + "repositories": { + "add": "Προσθήκη", + "remove": "Αφαίρεση", + "title": "Διαχείριση αποθετηρίων πρόσθετων" + }, + "restart_addon": { + "confirm_text": "Επανεκκίνηση πρόσθετου", + "text": "Θέλετε να επανεκκινήσετε το πρόσθετο με τις αλλαγές σας;" + }, + "update": { + "create_snapshot": "Δημιουργία στιγμιότυπου του {name} πριν από την ενημέρωση", + "snapshot": "Στιγμιότυπο", + "snapshotting": "Δημιουργία στιγμιότυπου του {name}", + "updating": "Ενημέρωση του {name} στην έκδοση {version}" + } + }, + "my": { + "error": "Προέκυψε ένα άγνωστο σφάλμα", + "faq_link": "Συχνές ερωτήσεις Home Assistant" + }, "panel": { "dashboard": "Πίνακας Επισκόπησης", "snapshots": "Στιγμιότυπα", "store": "Κατάστημα πρόσθετων", "system": "Σύστημα" + }, + "snapshot": { + "addons": "Πρόσθετα", + "available_snapshots": "Διαθέσιμα στιγμιότυπα", + "could_not_create": "Δεν ήταν δυνατή η δημιουργία στιγμιότυπου", + "create": "Δημιουργία", + "create_blocked_not_running": "Η δημιουργία ενός στιγμιότυπου δεν είναι δυνατή αυτήν τη στιγμή, επειδή το σύστημα βρίσκεται σε κατάσταση {state}.", + "create_snapshot": "Δημιουργία στιγμιότυπου", + "description": "Τα στιγμιότυπα σας επιτρέπουν να δημιουργείτε εύκολα αντίγραφα ασφαλείας και να επαναφέρετε όλα τα δεδομένα του Home Assistant σας.", + "enter_password": "Εισαγάγετε έναν κωδικό πρόσβασης.", + "folder": { + "addons/local": "Τοπικά πρόσθετα", + "homeassistant": "Διαμόρφωση Home Assistant", + "media": "Πολυμέσα", + "share": "Κοινή χρήση", + "ssl": "SSL" + }, + "folders": "Φάκελοι", + "full_snapshot": "Πλήρες στιγμιότυπο", + "name": "Όνομα", + "no_snapshots": "Δεν έχετε στιγμιότυπα ακόμα.", + "partial_snapshot": "Μερικό στιγμιότυπο", + "password": "Κωδικός", + "password_protected": "προστατεύεται με κωδικό πρόσβασης", + "password_protection": "Προστασία με κωδικό πρόσβασης", + "security": "Ασφάλεια", + "type": "Τύπος", + "upload_snapshot": "Μεταφόρτωση στιγμιότυπου" + }, + "store": { + "missing_addons": "Λείπουν πρόσθετα; Ενεργοποίηση λειτουργίας για προχωρημένους στη σελίδα προφίλ χρήστη", + "no_results_found": "Δεν βρέθηκαν αποτελέσματα στο {αποθετήριο}.", + "registries": "Μητρώα", + "repositories": "Αποθετήρια" + }, + "system": { + "core": { + "cpu_usage": "Χρήση βασικής CPU", + "ram_usage": "Χρήση βασικής μνήμης RAM" + }, + "host": { + "change": "Αλλαγή", + "change_hostname": "Αλλαγή ονόματος κεντρικού υπολογιστή", + "confirm_reboot": "Είστε βέβαιοι ότι θέλετε να επανεκκινήσετε τον κεντρικό υπολογιστή;", + "confirm_shutdown": "Είστε βέβαιοι ότι θέλετε να τερματίσετε τη λειτουργία του κεντρικού υπολογιστή;", + "deployment": "Ανάπτυξη", + "docker_version": "Έκδοση Docker", + "emmc_lifetime_used": "eMMC διάρκεια ζωής που χρησιμοποιήθηκε", + "failed_to_get_hardware_list": "Αποτυχία λήψης λίστας υλικού", + "failed_to_import_from_usb": "Αποτυχία εισαγωγής από USB", + "failed_to_reboot": "Αποτυχία επανεκκίνησης του κεντρικού υπολογιστή", + "failed_to_set_hostname": "Η ρύθμιση ονόματος κεντρικού υπολογιστή απέτυχε", + "failed_to_shutdown": "Αποτυχία τερματισμού του κεντρικού υπολογιστή", + "hardware": "Υλικό", + "hostname": "Όνομα κεντρικού υπολογιστή", + "import_from_usb": "Εισαγωγή από USB", + "ip_address": "Διεύθυνση IP", + "new_hostname": "Εισαγάγετε ένα νέο όνομα κεντρικού υπολογιστή:", + "operating_system": "Λειτουργικό σύστημα", + "reboot_host": "Επανεκκίνηση κεντρικού υπολογιστή", + "shutdown_host": "Τερματισμός κεντρικού υπολογιστή", + "used_space": "Χρησιμοποιημένος χώρος" + }, + "log": { + "get_logs": "Αποτυχία λήψης αρχείων καταγραφής {provider}, {error}", + "log_provider": "Υπηρεσία παροχής αρχείων καταγραφής" + }, + "supervisor": { + "beta_backup": "Βεβαιωθείτε ότι έχετε αντίγραφα ασφαλείας των δεδομένων σας πριν ενεργοποιήσετε αυτήν τη δυνατότητα.", + "beta_join_confirm": "Θέλετε να συμμετάσχετε στο κανάλι beta;", + "beta_release_items": "Αυτό περιλαμβάνει εκδόσεις beta για:", + "beta_warning": "Οι εκδόσεις beta προορίζονται για δοκιμαστές και πρώτους χρήστες και μπορούν να περιέχουν ασταθείς αλλαγές κώδικα", + "channel": "Κανάλι", + "cpu_usage": "Χρήση CPU Επόπτη", + "failed_to_reload": "Απέτυχε η επαναφόρτωση του Επόπτη", + "failed_to_set_option": "Αποτυχία ορισμού επιλογής Επόπτη", + "failed_to_update": "Απέτυχε η ενημέρωση του Επόπτη", + "join_beta_action": "Εγγραφείτε στο κανάλι beta", + "join_beta_description": "Λάβετε ενημερώσεις beta για Home Assistant (RCs), Επόπτη και κεντρικό υπολογιστές", + "leave_beta_action": "Αποχώρηση από το κανάλι beta", + "leave_beta_description": "Λάβετε σταθερές ενημερώσεις για το Home Assistant, τον Επόπτη και τον κεντρικό υπολογιστή", + "ram_usage": "Χρήση μνήμης RAM Επόπτη", + "reload_supervisor": "Επαναφόρτωση Επόπτη", + "share_diagnostics": "Κοινή χρήση διαγνωστικών", + "share_diagnostics_description": "Μοιραστείτε αναφορές σφαλμάτων και διαγνωστικές πληροφορίες.", + "share_diagonstics_description": "Θα θέλατε να κοινοποιείτε αυτόματα αναφορές σφαλμάτων και διαγνωστικές πληροφορίες όταν ο επόπτης αντιμετωπίζει απρόσμενα σφάλματα; {line_break} Αυτό θα μας επιτρέψει να διορθώσουμε τα προβλήματα, οι πληροφορίες είναι προσβάσιμες μόνο από την ομάδα του Home Assistant Core και δεν θα κοινοποιηθούν σε άλλους. {line_break} Τα δεδομένα δεν περιλαμβάνουν ιδιωτικές / ευαίσθητες πληροφορίες και μπορείτε να το απενεργοποιήσετε στις ρυθμίσεις όποτε θέλετε.", + "share_diagonstics_title": "Βοηθήστε στη βελτίωση του Home Assistant", + "unhealthy_description": "Η εκτέλεση μιας ανθυγιεινής εγκατάστασης θα προκαλέσει προβλήματα. Ακολουθεί μια λίστα με ζητήματα που εντοπίστηκαν με την εγκατάστασή σας, κάντε κλικ στους συνδέσμους για να μάθετε πώς μπορείτε να επιλύσετε τα προβλήματα.", + "unhealthy_reason": { + "docker": "Το περιβάλλον Docker δεν λειτουργεί σωστά", + "privileged": "Ο Επόπτης δεν έχει προνόμια", + "setup": "Η εγκατάσταση του Επόπτη απέτυχε", + "supervisor": "Ο επόπτης δεν μπόρεσε να ενημερωθεί" + }, + "unhealthy_title": "Η εγκατάστασή σας είναι ανθυγιεινή", + "unsupported_description": "Ακολουθεί μια λίστα με ζητήματα που εντοπίστηκαν με την εγκατάστασή σας, κάντε κλικ στους συνδέσμους για να μάθετε πώς μπορείτε να επιλύσετε τα προβλήματα.", + "unsupported_reason": { + "container": "Κοντέινερ που είναι γνωστά ότι προκαλούν προβλήματα", + "dbus": "DBUS", + "docker_configuration": "Διαμόρφωση Docker", + "docker_version": "Έκδοση Docker", + "job_conditions": "Αγνοημένες συνθήκες εργασίας", + "lxc": "LXC", + "network_manager": "Διαχειριστής δικτύου", + "os": "Λειτουργικό σύστημα", + "privileged": "Ο Επόπτης δεν έχει προνόμια", + "systemd": "Systemd" + }, + "unsupported_title": "Εκτελείτε μια μη υποστηριζόμενη εγκατάσταση", + "update_supervisor": "Ενημέρωση του Επόπτη", + "warning": "ΠΡΟΕΙΔΟΠΟΙΗΣΗ" + } } }, "ui": { @@ -156,7 +503,7 @@ }, "automation": { "last_triggered": "Τελευταίο έναυσμα", - "trigger": "Έναυσμα" + "trigger": "Εκτέλεση ενεργειών" }, "camera": { "not_available": "Μη διαθέσιμη εικόνα" @@ -670,7 +1017,7 @@ "remove_intro": "Εάν η οντότητα δεν χρησιμοποιείται πλέον, μπορείτε να την καθαρίσετε αφαιρώντας την." }, "script": { - "last_action": "Τελευταία Ενέργεια", + "last_action": "Τελευταία ενέργεια", "last_triggered": "Τελευταία ενεργοποίηση" }, "settings": "Ρυθμίσεις οντότητας", @@ -950,7 +1297,7 @@ "event": { "event": "Γεγονός:", "label": "Εκκίνηση συμβάντος", - "service_data": "Δεδομένα υπηρεσίας" + "service_data": "Δεδομένα υπηρεσιών" }, "repeat": { "label": "Επανάληψη", diff --git a/translations/frontend/en.json b/translations/frontend/en.json index 88128b13b8..3cdc670e50 100644 --- a/translations/frontend/en.json +++ b/translations/frontend/en.json @@ -1011,6 +1011,9 @@ "person": { "create_zone": "Create zone from current location" }, + "remote": { + "activity": "Current activity" + }, "restored": { "confirm_remove_text": "Are you sure you want to remove this entity?", "confirm_remove_title": "Remove entity?", diff --git a/translations/frontend/es-419.json b/translations/frontend/es-419.json index 0a5ea372f3..305d7b26bc 100644 --- a/translations/frontend/es-419.json +++ b/translations/frontend/es-419.json @@ -103,10 +103,137 @@ } }, "supervisor": { + "addon": { + "configuration": { + "audio": { + "default": "Predeterminado", + "header": "Audio", + "input": "Entrada", + "output": "Salida" + }, + "network": { + "container": "Contenedor", + "disabled": "Deshabilitada", + "header": "Red", + "host": "Host" + }, + "options": { + "edit_in_ui": "Editar en la interfaz de usuario", + "edit_in_yaml": "Editar en YAML", + "header": "Opciones", + "invalid_yaml": "YAML no válido", + "show_unused_optional": "Mostrar opciones de configuración opcionales no utilizadas" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "Fallo al obtener el registro de cambios del complemento", + "install": "Fallo al instalar el complemento", + "restart": "Fallo al reiniciar el complemento", + "start": "Fallo al iniciar el complemento", + "start_invalid_config": "Ir a la configuración", + "stop": "Fallo al detener el complemento", + "uninstall": "Fallo al desinstalar el complemento", + "validate_config": "Fallo al validar la configuración del complemento" + }, + "capability": { + "ingress": { + "description": "Este complemento utiliza Ingress para integrar su interfaz de forma segura en Home Assistant." + }, + "label": { + "apparmor": "Apparmor", + "auth": "autenticación", + "docker": "Docker", + "hardware": "Hardware", + "hass": "hass", + "hassio": "hassio", + "host": "Host", + "host_pid": "pid de host", + "ingress": "Ingreso", + "rating": "clasificación", + "stage": "Etapa" + }, + "role": { + "admin": "administrador", + "backup": "copia de seguridad", + "default": "Predeterminado", + "homeassistant": "homeassistant", + "manager": "Administrador" + } + }, + "changelog": "Registro de cambios", + "cpu_usage": "Uso de CPU del complemento", + "hostname": "Nombre de host", + "new_update_available": "{name} {version} está disponible", + "not_available_arch": "Este complemento no es compatible con el procesador de su dispositivo o el sistema operativo que ha instalado en su dispositivo.", + "not_available_version": "Está ejecutando Home Assistant {core_version_installed} , para actualizar a esta versión del complemento necesitas al menos la versión {core_version_needed} de Home Assistant", + "option": { + "auto_update": { + "description": "Actualice automáticamente el complemento cuando haya una nueva versión disponible", + "title": "Actualización automática" + }, + "boot": { + "description": "Hacer que el complemento se inicie durante el arranque del sistema", + "title": "Iniciar en el arranque" + }, + "ingress_panel": { + "description": "Agregar este complemento a la barra lateral", + "title": "Mostrar en la barra lateral" + }, + "protected": { + "description": "Bloquea el acceso elevado al sistema desde el complemento", + "title": "Modo de protección" + }, + "watchdog": { + "description": "Esto iniciará el complemento si se bloquea", + "title": "Watchdog" + } + }, + "ram_usage": "Uso de RAM del complemento", + "restart": "reiniciar", + "start": "Iniciar", + "visit_addon_page": "Visite la página {name} para obtener más detalles" + }, + "documentation": { + "get_documentation": "Fallo al obtener documentación del complemento, {error}" + }, + "logs": { + "get_logs": "Fallo al obtener los registros del complemento, {error}" + } + }, "common": { - "version": "Versión" + "description": "Descripción", + "error": { + "unknown": "Error desconocido", + "update_failed": "Actualización fallida" + }, + "failed_to_restart_name": "Fallo al reiniciar {name}", + "failed_to_update_name": "Fallo al actualizar {name}", + "learn_more": "Aprender más", + "new_version_available": "Nueva versión disponible", + "no": "No", + "refresh": "Actualizar", + "reload": "Recargar", + "reset_defaults": "Restablecer a los valores predeterminados", + "reset_options": "Restablecer opciones", + "restart": "Reiniciar", + "restart_name": "Reiniciar {name}", + "running_version": "Actualmente está ejecutando la versión {version}", + "save": "Guardar", + "show_more": "Mostrar más información sobre esto", + "update_available": "{count} {count, plural,\n one {actualización}\n other {actualizaciones}\n} pendiente/s", + "version": "Versión", + "yes": "Si" }, "confirm": { + "reset_options": { + "text": "¿Está seguro de que desea restablecer todas sus opciones?", + "title": "Restablecer opciones" + }, + "restart": { + "text": "¿Está seguro de que desea reiniciar {name} ?", + "title": "Reiniciar {name}" + }, "update": { "text": "¿Estás seguro de actualizar {name} a la versión {version}?" } @@ -115,8 +242,172 @@ "addon_new_version": "Nueva versión disponible", "addon_running": "El complemento se está ejecutando" }, + "dialog": { + "network": { + "connected_to": "Conectado a {ssid}", + "dhcp": "DHCP", + "disabled": "Deshabilitado", + "dns_servers": "Servidores DNS", + "failed_to_change": "Fallo al modificar la configuración de la red", + "gateway": "Dirección de la puerta de enlace", + "ip_netmask": "Dirección IP / Máscara de red", + "open": "Abierta", + "scan_ap": "Buscar puntos de acceso", + "static": "Estática", + "title": "Configuración de red", + "unsaved": "Tiene cambios sin guardar, estos se perderán si cambia de pestaña, ¿desea continuar?", + "warning": "Si está cambiando las direcciones de Wi-Fi, IP o puerta de enlace, ¡podría perder la conexión!", + "wep": "WEP", + "wpa": "WPA-PSK" + }, + "registries": { + "add_new_registry": "Agregar nuevo registro", + "add_registry": "Agregar registro", + "failed_to_add": "Fallo al añadir el registro", + "failed_to_remove": "Fallo al eliminar el registro", + "no_registries": "No hay registros configurados", + "password": "Contraseña", + "registry": "Registro", + "remove": "Eliminar", + "title_add": "Agregar nuevo registro de contenedores", + "title_manage": "Gestionar registros de contenedores", + "username": "Nombre de usuario" + }, + "repositories": { + "add": "Agregar", + "remove": "Eliminar", + "title": "Administrar repositorios de complementos" + }, + "restart_addon": { + "confirm_text": "Reiniciar complemento", + "text": "¿Desea reiniciar el complemento con sus cambios?" + }, + "update": { + "create_snapshot": "Crear una instantánea de {name} antes de actualizar", + "snapshot": "Instantánea", + "snapshotting": "Creando instantánea de {name}", + "updating": "Actualizando {name} a la versión {version}" + } + }, + "my": { + "error": "Ha ocurrido un error desconocido", + "faq_link": "Mis preguntas frecuentes de Home Assistant", + "not_supported": "Esta redirección no está soportada por su instancia de Home Assistant. Consulte las redirecciones soportadas y la versión en la que fueron introducidas en {link}." + }, "panel": { "system": "Sistema" + }, + "snapshot": { + "addons": "Complementos", + "available_snapshots": "Instantáneas disponibles", + "could_not_create": "No se pudo crear la instantánea", + "create": "Crear", + "create_blocked_not_running": "No es posible crear una instantánea en este momento porque el sistema está {state} .", + "create_snapshot": "Crear instantánea", + "description": "Las instantáneas le permiten realizar copias de seguridad y restaurar fácilmente todos los datos de su instancia de Home Assistant.", + "enter_password": "Por favor ingrese una contraseña.", + "folder": { + "addons/local": "Complementos locales", + "homeassistant": "Configuración de Home Assistant", + "media": "Medios", + "share": "Compartir", + "ssl": "SSL" + }, + "folders": "Carpetas", + "full_snapshot": "Instantánea completa", + "name": "Nombre", + "no_snapshots": "Aún no tiene instantáneas.", + "partial_snapshot": "Instantánea parcial", + "password": "Contraseña", + "password_protected": "protegido por contraseña", + "password_protection": "Protección con contraseña", + "security": "Seguridad", + "type": "Tipo", + "upload_snapshot": "Subir instantánea" + }, + "store": { + "missing_addons": "¿Faltan complementos? Habilite el modo avanzado en su página de perfil de usuario", + "no_results_found": "No se encontraron resultados en {repository} .", + "registries": "Registros", + "repositories": "Repositorios" + }, + "system": { + "core": { + "cpu_usage": "Uso de CPU del núcleo", + "ram_usage": "Uso de RAM del núcleo" + }, + "host": { + "change": "Cambiar", + "change_hostname": "Cambiar nombre de host", + "confirm_reboot": "¿Está seguro de que desea reiniciar el host?", + "confirm_shutdown": "¿Está seguro de que desea apagar el host?", + "deployment": "Despliegue", + "docker_version": "Versión de Docker", + "emmc_lifetime_used": "Vida útil de la eMMC utilizada", + "failed_to_get_hardware_list": "Fallo al obtener la lista de hardware", + "failed_to_import_from_usb": "No se pudo importar desde USB", + "failed_to_reboot": "Fallo al reiniciar el host", + "failed_to_set_hostname": "Error al establecer el nombre de host", + "failed_to_shutdown": "Fallo al apagar el host", + "hardware": "Hardware", + "hostname": "Nombre de host", + "import_from_usb": "Importar desde USB", + "ip_address": "Dirección IP", + "new_hostname": "Ingrese un nuevo nombre de host:", + "operating_system": "Sistema operativo", + "reboot_host": "Reiniciar host", + "shutdown_host": "Apagar host", + "used_space": "Espacio utilizado" + }, + "log": { + "get_logs": "No se pudieron obtener los registros de {provider}, {error}", + "log_provider": "Registro del proveedor" + }, + "supervisor": { + "beta_backup": "Asegúrese de tener copias de seguridad de sus datos antes de activar esta función.", + "beta_join_confirm": "¿Quieres unirte al canal beta?", + "beta_release_items": "Esto incluye versiones beta para:", + "beta_warning": "Las versiones beta son para testers y usuarios pioneros. Pueden contener cambios de código inestables.", + "channel": "Canal", + "cpu_usage": "Uso de CPU de Supervisor", + "failed_to_reload": "Fallo al recargar Supervisor", + "failed_to_set_option": "Fallo al configurar la opción de Supervisor", + "failed_to_update": "Fallo al actualizar Supervisor", + "join_beta_action": "Unirse al canal beta", + "join_beta_description": "Obtener actualizaciones beta para Home Assistant (RCs), supervisor y anfitrión", + "leave_beta_action": "Salir del canal beta", + "leave_beta_description": "Obtenga actualizaciones estables para Home Assistant, Supervisor y host", + "ram_usage": "Uso de RAM de Supervisor", + "reload_supervisor": "Recargar Supervisor", + "share_diagnostics": "Compartir diagnósticos", + "share_diagnostics_description": "Compartir informes de fallos e información de diagnóstico.", + "share_diagonstics_description": "¿Le gustaría compartir automáticamente informes de fallas e información de diagnóstico cuando el supervisor encuentra errores inesperados? {line_break} Esto nos permitirá solucionar los problemas, la información solo es accesible para el equipo principal de Home Assistant y no se compartirá con otros. {line_break} Los datos no incluyen ninguna información privada / confidencial y puede desactivar esto en la configuración en cualquier momento que desee.", + "share_diagonstics_title": "Ayude a mejorar Home Assistant", + "unhealthy_description": "Ejecutar una instalación en mal estado causará problemas. A continuación se muestra una lista de problemas encontrados con su instalación, haga clic en los enlaces para saber cómo puede resolverlos.", + "unhealthy_reason": { + "docker": "El entorno de Docker no funciona correctamente", + "privileged": "El supervisor no tiene privilegios", + "setup": "Falló la configuración del supervisor", + "supervisor": "El supervisor no pudo actualizar" + }, + "unhealthy_title": "La instalación tiene problemas", + "unsupported_description": "A continuación se muestra una lista de problemas encontrados con su instalación, haga clic en los enlaces para saber cómo puede resolverlos.", + "unsupported_reason": { + "container": "Contenedores conocidos por causar problemas", + "dbus": "DBUS", + "docker_configuration": "Configuración de Docker", + "docker_version": "Versión de Docker", + "job_conditions": "Condiciones de trabajo ignoradas", + "lxc": "LXC", + "network_manager": "Administrador de red", + "os": "Sistema operativo", + "privileged": "El supervisor no tiene privilegios", + "systemd": "Systemd" + }, + "unsupported_title": "Está ejecutando una instalación no soportada", + "update_supervisor": "Actualizar el supervisor", + "warning": "ADVERTENCIA" + } } }, "ui": { diff --git a/translations/frontend/es.json b/translations/frontend/es.json index 05799666da..67bcf54029 100644 --- a/translations/frontend/es.json +++ b/translations/frontend/es.json @@ -102,6 +102,391 @@ "unknown": "Desconocido" } }, + "supervisor": { + "addon": { + "configuration": { + "audio": { + "default": "Por defecto", + "header": "Audio", + "input": "Entrada", + "output": "Salida" + }, + "network": { + "container": "Contenedor", + "disabled": "Deshabilitada", + "header": "Red", + "host": "Host" + }, + "no_configuration": "Este complemento no expone configuración con la que puedas trastear.", + "options": { + "edit_in_ui": "Editar en la IU", + "edit_in_yaml": "Editar en YAML", + "header": "Opciones", + "invalid_yaml": "YAML no válido", + "show_unused_optional": "Mostrar opciones de configuración opcionales no utilizadas" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "No se pudo obtener el registro de cambios del complemento", + "go_to_config": "No se pudo iniciar el complemento: ¡la validación de la configuración falló!", + "install": "No se pudo instalar el complemento", + "restart": "No se pudo reiniciar el complemento", + "start": "No se pudo iniciar el complemento", + "start_invalid_config": "Ir a la configuración", + "stop": "No se pudo detener el complemento", + "uninstall": "No se pudo desinstalar el complemento", + "validate_config": "No se pudo validar la configuración del complemento" + }, + "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') es un módulo de seguridad del kernel de Linux que restringe las capacidades de los complementos como el acceso a la red, el acceso al socket sin procesar y el permiso para leer, escribir o ejecutar archivos específicos. \n\nLos autores de complementos pueden proporcionar sus perfiles de seguridad, optimizados para el complemento, o solicitar su desactivación. Si AppArmor está deshabilitado, aumentará los riesgos de seguridad y, por lo tanto, tendrá un impacto negativo en la puntuación de seguridad del complemento.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Un complemento puede autenticar a los usuarios contra Home Assistant, lo que permite que los complementos brinden a los usuarios la posibilidad de iniciar sesión en aplicaciones que se ejecutan dentro de complementos, utilizando tu nombre de usuario/contraseña de Home Assistant. Esta insignia indica si el autor del complemento solicita esta capacidad.", + "title": "Autenticación de Home Assistant" + }, + "docker_api": { + "description": "El autor del complemento ha solicitado que el complemento tenga acceso de administración a la instancia de Docker que se ejecuta en tu sistema. Este modo le da al complemento acceso y control total a todo tu sistema Home Assistant, lo que agrega riesgos de seguridad y podría dañar tu sistema si se usa incorrectamente. Por lo tanto, esta característica tiene un impacto negativo en la puntuación de seguridad del complemento. \n\nEste nivel de acceso no se otorga automáticamente y debe ser confirmado por ti. Para hacer esto, debes deshabilitar el modo de protección en el complemento manualmente. Desactiva solo el modo de protección si conoces, necesitas Y confías en la fuente de este complemento.", + "title": "Acceso completo a Docker" + }, + "full_access": { + "description": "Este complemento tiene acceso completo al hardware de tu sistema, a petición del autor del complemento. El acceso es comparable al modo privilegiado en Docker. Dado que esto abre posibles riesgos de seguridad, esta característica impacta negativamente en la puntuación de seguridad del complemento. \n\nEste nivel de acceso no se otorga automáticamente y debe ser confirmado por ti. Para hacer esto, debes deshabilitar el modo de protección en el complemento manualmente. Desactiva solo el modo de protección si conoces, necesitas Y confías en la fuente de este complemento.", + "title": "Acceso completo al hardware" + }, + "hassio_api": { + "description": "Al complemento se le dio acceso a la API del supervisor, a petición del autor del complemento. De forma predeterminada, el complemento puede acceder a la información general de la versión de tu sistema. Cuando el complemento solicita acceso de nivel de 'gerente' o 'administrador' a la API, obtendrá acceso para controlar varias partes de tu sistema Home Assistant. Este permiso está indicado por esta insignia y afectará negativamente la puntuación de seguridad del complemento.", + "title": "Acceso a la API del supervisor" + }, + "homeassistant_api": { + "description": "Este complemento puede acceder a tu instancia de Home Assistant en ejecución directamente a través de la API de Home Assistant. Este modo también maneja la autenticación para el complemento, lo que permite que un complemento interactúe con Home Assistant sin la necesidad de tokens de autenticación adicionales.", + "title": "Acceso a la API de Home Assistant" + }, + "host_network": { + "description": "Los complementos generalmente se ejecutan en su propia capa de red aislada, lo que les impide acceder a la red del sistema operativo del host. En algunos casos, este aislamiento de red puede limitar los complementos en la prestación de sus servicios y, por lo tanto, el autor del complemento puede eliminar el aislamiento, lo que le da al complemento acceso completo a las capacidades de red de la máquina host. Esto le da al complemento más capacidades de red pero reduce la seguridad, por lo tanto, la clasificación de seguridad del complemento se reducirá cuando el complemento utilice esta opción.", + "title": "Red del host" + }, + "host_pid": { + "description": "Por lo general, los procesos que ejecuta el complemento están aislados de todos los demás procesos del sistema. El autor del complemento ha solicitado que el complemento tenga acceso a los procesos del sistema que se ejecutan en la instancia del sistema host y también que permitas que el complemento genere procesos en el sistema host. Este modo le da al complemento acceso y control total a todo tu sistema Home Assistant, lo que agrega riesgos de seguridad y podría dañar tu sistema si se usa incorrectamente. Por lo tanto, esta característica tiene un impacto negativo en la puntuación de seguridad del complemento. \n\nEste nivel de acceso no se otorga automáticamente y debe ser confirmado por ti. Para hacer esto, debes deshabilitar el modo de protección en el complemento manualmente. Desactiva solo el modo de protección si conoces, necesitas Y confías en la fuente de este complemento.", + "title": "Espacio de nombres de los procesos del host" + }, + "ingress": { + "description": "Este complemento utiliza Entrada para integrar su interfaz de forma segura en Home Assistant.", + "title": "Entrada" + }, + "label": { + "apparmor": "apparmor", + "auth": "auth", + "docker": "docker", + "hardware": "hardware", + "hass": "hass", + "hassio": "hassio", + "host": "host", + "host_pid": "pid de host", + "ingress": "entrada", + "rating": "clasificación", + "stage": "etapa" + }, + "rating": { + "description": "Home Assistant proporciona una clasificación de seguridad para cada uno de los complementos, que indica los riesgos involucrados al usar este complemento. Cuanto más acceso requiera un complemento en tu sistema, menor será la puntuación, lo que aumentará los posibles riesgos de seguridad. \n\nLa puntuación está en una escala de 1 a 6. Donde 1 es la puntuación más baja (considerado el más inseguro y de mayor riesgo) y una puntuación de 6 es la puntuación más alta (considerado el más seguro y de menor riesgo).", + "title": "Clasificación de seguridad del complemento" + }, + "role": { + "admin": "administrador", + "backup": "copia de seguridad", + "default": "predeterminado", + "homeassistant": "homeassistant", + "manager": "gerente" + }, + "stage": { + "description": "Los complementos pueden tener una de tres etapas: \n\n {icon_stable} ** Estable **: estos son complementos listos para usarse en producción. \n\n {icon_experimental} ** Experimental **: estos pueden contener errores y pueden estar inacabados. \n\n {icon_deprecated} ** Obsoleto **: estos complementos ya no recibirán actualizaciones.", + "title": "Etapa de complemento" + } + }, + "changelog": "Registro de cambios", + "cpu_usage": "Complemento de uso de CPU", + "hostname": "Nombre de host", + "install": "instalar", + "new_update_available": "{name} {version} está disponible", + "not_available_arch": "Este complemento no es compatible con el procesador de tu dispositivo o el sistema operativo que has instalado en tu dispositivo.", + "not_available_version": "Estás ejecutando Home Assistant {core_version_installed}, para actualizar a esta versión del complemento necesitas al menos la versión {core_version_needed} de Home Assistant", + "open_web_ui": "Abrir la interfaz web", + "option": { + "auto_update": { + "description": "Actualizar automáticamente el complemento cuando haya una nueva versión disponible", + "title": "Actualización automática" + }, + "boot": { + "description": "Hacer que el complemento se inicie durante el arranque del sistema", + "title": "Iniciar en el arranque" + }, + "ingress_panel": { + "description": "Agrega este complemento a tu barra lateral", + "title": "Mostrar en la barra lateral" + }, + "protected": { + "description": "Bloquea el acceso elevado al sistema desde el complemento", + "title": "Modo de protección" + }, + "watchdog": { + "description": "Esto iniciará el complemento si falla", + "title": "Vigilancia" + } + }, + "protection_mode": { + "content": "¡El modo de protección en este complemento está deshabilitado! Esto le da al complemento acceso completo a todo el sistema, lo que agrega riesgos de seguridad y podría dañar tu sistema si se usa incorrectamente. Desactiva solo el modo de protección si conoces, necesitas Y confías en la fuente de este complemento.", + "enable": "Habilitar el modo de protección", + "title": "Advertencia: ¡El modo de protección está desactivado!" + }, + "ram_usage": "Complemento de uso de RAM", + "rebuild": "reconstruir", + "restart": "reiniciar", + "start": "iniciar", + "stop": "detener", + "uninstall": "desinstalar", + "visit_addon_page": "Visita la página {name} para obtener más detalles" + }, + "documentation": { + "get_documentation": "No se pudo obtener la documentación del complemento, {error}" + }, + "failed_to_reset": "No se pudo restablecer la configuración del complemento, {error}", + "failed_to_save": "No se pudo guardar la configuración del complemento, {error}", + "logs": { + "get_logs": "No se pudieron obtener los registros del complemento, {error}" + }, + "panel": { + "configuration": "Configuración", + "documentation": "Documentación", + "info": "Información", + "log": "Registro" + }, + "state": { + "installed": "El complemento está instalado", + "not_available": "El complemento no está disponible en su sistema", + "not_installed": "El complemento no está instalado" + } + }, + "common": { + "cancel": "Cancelar", + "description": "Descripción", + "error": { + "unknown": "Error desconocido", + "update_failed": "Error en la actualización" + }, + "failed_to_restart_name": "No se pudo reiniciar {name}", + "failed_to_update_name": "No se pudo actualizar {name}", + "learn_more": "Aprende más", + "new_version_available": "Nueva versión disponible", + "newest_version": "Versión más reciente", + "no": "No", + "refresh": "Actualizar", + "release_notes": "Notas de versión", + "reload": "Recargar", + "reset_defaults": "Restablecer los valores predeterminados", + "reset_options": "Restablecer opciones", + "restart": "Reiniciar", + "restart_name": "Reiniciar {name}", + "running_version": "Actualmente estás ejecutando la versión {version}", + "save": "Guardar", + "show_more": "Mostrar más información sobre esto", + "update": "Actualizar", + "update_available": "{count, plural,\n one {actualización pendiente}\n other {{count} actualizaciones pendientes}\n}", + "version": "Versión", + "yes": "Sí" + }, + "confirm": { + "reset_options": { + "text": "¿Estás seguro de que deseas restablecer todas tus opciones?", + "title": "Restablecer opciones" + }, + "restart": { + "text": "¿Estás seguro de que deseas reiniciar {name}?", + "title": "Reiniciar {name}" + }, + "update": { + "text": "¿Estás seguro de que deseas actualizar {name} a la versión {version}?", + "title": "Actualizar {name}" + } + }, + "dashboard": { + "addon_new_version": "Nueva versión disponible", + "addon_running": "El complemento se está ejecutando", + "addon_stopped": "El complemento está detenido", + "addons": "Complementos", + "no_addons": "Aún no tienes ningún complemento instalado. ¡Dirígete a la tienda de complementos para comenzar!" + }, + "dialog": { + "network": { + "connected_to": "Conectado a {ssid}", + "dhcp": "DHCP", + "disabled": "Deshabilitada", + "dns_servers": "Servidores DNS", + "failed_to_change": "No se pudo cambiar la configuración de red", + "gateway": "Dirección de la puerta de enlace", + "ip_netmask": "Dirección IP/Máscara de red", + "open": "Abierta", + "scan_ap": "Buscar puntos de acceso", + "static": "Estática", + "title": "Configuración de red", + "unsaved": "Tienes cambios sin guardar, estos se perderán si cambias de pestaña, ¿deseas continuar?", + "warning": "Si estás cambiando las direcciones de Wi-Fi, IP o puerta de enlace, ¡podrías perder la conexión!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Añadir un nuevo registro", + "add_registry": "Añadir registro", + "failed_to_add": "No se pudo agregar el registro", + "failed_to_remove": "No se pudo eliminar el registro", + "no_registries": "No hay registros configurados", + "password": "Contraseña", + "registry": "Registro", + "remove": "Eliminar", + "title_add": "Añadir un nuevo registro de contenedores", + "title_manage": "Administrar los registros de contenedores", + "username": "Nombre de usuario" + }, + "repositories": { + "add": "Añadir", + "remove": "Eliminar", + "title": "Administrar los repositorios de complementos" + }, + "restart_addon": { + "confirm_text": "Reiniciar el complemento", + "text": "¿Quieres reiniciar el complemento con tus cambios?" + }, + "update": { + "create_snapshot": "Crea una instantánea de {name} antes de actualizar", + "snapshot": "Instantánea", + "snapshotting": "Creando instantánea de {name}", + "updating": "Actualizando {name} a la versión {version}" + } + }, + "my": { + "error": "Se ha producido un error desconocido", + "faq_link": "Preguntas frecuentes sobre mi Home Assistant", + "not_supported": "Esta redirección no es compatible con tu instancia de Home Assistant. Consulta el {link} para conocer las redirecciones admitidas y la versión en la que se introdujeron." + }, + "panel": { + "dashboard": "Panel de control", + "snapshots": "Instantáneas", + "store": "Tienda de complementos", + "system": "Sistema" + }, + "snapshot": { + "addons": "Complementos", + "available_snapshots": "Instantáneas disponibles", + "could_not_create": "No se pudo crear la instantánea", + "create": "Crear", + "create_blocked_not_running": "No es posible crear una instantánea en este momento porque el sistema está en el estado {state}.", + "create_snapshot": "Crear instantánea", + "description": "Las instantáneas te permiten realizar copias de seguridad y restaurar fácilmente todos los datos de tu instancia de Home Assistant.", + "enter_password": "Por favor, introduce una contraseña.", + "folder": { + "addons/local": "Complementos locales", + "homeassistant": "Configuración de Home Assistant", + "media": "Medios", + "share": "Compartir", + "ssl": "SSL" + }, + "folders": "Carpetas", + "full_snapshot": "Instantánea completa", + "name": "Nombre", + "no_snapshots": "Aún no tienes instantáneas.", + "partial_snapshot": "Instantánea parcial", + "password": "Contraseña", + "password_protected": "protegida por contraseña", + "password_protection": "Protección con contraseña", + "security": "Seguridad", + "type": "Tipo", + "upload_snapshot": "Subir instantánea" + }, + "store": { + "missing_addons": "¿Faltan complementos? Habilita el modo avanzado en tu página de perfil de usuario", + "no_results_found": "No se encontraron resultados en {repository}.", + "registries": "Registros", + "repositories": "Repositorios" + }, + "system": { + "core": { + "cpu_usage": "Uso de CPU principal", + "ram_usage": "Uso de RAM principal" + }, + "host": { + "change": "Cambiar", + "change_hostname": "Cambiar nombre de host", + "confirm_reboot": "¿Estás seguro de que quieres reiniciar el host?", + "confirm_shutdown": "¿Estás seguro de que quieres apagar el host?", + "deployment": "Despliegue", + "docker_version": "Versión de Docker", + "emmc_lifetime_used": "Vida útil de eMMC utilizada", + "failed_to_get_hardware_list": "No se pudo obtener la lista de hardware", + "failed_to_import_from_usb": "No se pudo importar desde USB", + "failed_to_reboot": "No se pudo reiniciar el host", + "failed_to_set_hostname": "Error al configurar el nombre de host", + "failed_to_shutdown": "No se pudo apagar el host", + "hardware": "Hardware", + "hostname": "Nombre de host", + "import_from_usb": "Importar desde USB", + "ip_address": "Dirección IP", + "new_hostname": "Por favor, introduce un nuevo nombre de host:", + "operating_system": "Sistema operativo", + "reboot_host": "Reiniciar el host", + "shutdown_host": "Apagar el host", + "used_space": "Espacio usado" + }, + "log": { + "get_logs": "No se pudieron obtener los registros de {provider}, {error}", + "log_provider": "Proveedor de registros" + }, + "supervisor": { + "beta_backup": "Asegúrate de tener copias de seguridad de tus datos antes de activar esta función.", + "beta_join_confirm": "¿Quieres unirte al canal beta?", + "beta_release_items": "Esto incluye versiones beta para:", + "beta_warning": "Las versiones beta son para probadores y usuarios pioneros y pueden contener cambios de código inestables", + "channel": "Canal", + "cpu_usage": "Uso de CPU del supervisor", + "failed_to_reload": "No pudo recargar el supervisor", + "failed_to_set_option": "No se pudo configurar la opción del supervisor", + "failed_to_update": "No se pudo actualizar el supervisor", + "join_beta_action": "Únete al canal beta", + "join_beta_description": "Obtén actualizaciones beta para Home Assistant (RC), Supervisor y el host", + "leave_beta_action": "Salir del canal beta", + "leave_beta_description": "Obtén actualizaciones estables para Home Assistant, Supervisor y el host", + "ram_usage": "Uso de RAM del supervisor", + "reload_supervisor": "Recargar el supervisor", + "share_diagnostics": "Compartir diagnósticos", + "share_diagnostics_description": "Comparte informes de fallos e información de diagnóstico.", + "share_diagonstics_description": "¿Te gustaría compartir automáticamente informes de fallos e información de diagnóstico cuando el supervisor encuentra errores inesperados? {line_break} Esto nos permitirá solucionar los problemas, la información solo es accesible para el equipo principal de Home Assistant y no se compartirá con otros. {line_break} Los datos no incluyen ninguna información privada/confidencial y puedes desactivar esto en la configuración en cualquier momento que desees.", + "share_diagonstics_title": "Ayuda a mejorar Home Assistant", + "unhealthy_description": "Ejecutar una instalación en mal estado causará problemas. A continuación se muestra una lista de problemas encontrados con tu instalación, haz clic en los enlaces para saber cómo puedes resolver los problemas.", + "unhealthy_reason": { + "docker": "El entorno de Docker no funciona correctamente", + "privileged": "El supervisor no es privilegiado", + "setup": "La configuración del supervisor falló", + "supervisor": "El supervisor no se pudo actualizar" + }, + "unhealthy_title": "Tu instalación está en mal estado", + "unsupported_description": "A continuación se muestra una lista de problemas encontrados con tu instalación, haz clic en los enlaces para saber cómo puedes resolver los problemas.", + "unsupported_reason": { + "container": "Contenedores conocidos por causar problemas", + "dbus": "DBUS", + "docker_configuration": "Configuración de Docker", + "docker_version": "Versión de Docker", + "job_conditions": "Condiciones de trabajo ignoradas", + "lxc": "LXC", + "network_manager": "Administrador de red", + "os": "Sistema operativo", + "privileged": "El supervisor no es privilegiado", + "systemd": "Systemd" + }, + "unsupported_title": "Estás ejecutando una instalación no soportada", + "update_supervisor": "Actualizar el supervisor", + "warning": "ADVERTENCIA" + } + } + }, "ui": { "auth_store": { "ask": "¿Quieres permanecer conectado?", @@ -377,6 +762,8 @@ "changed_to_state": "cambiado a {state}", "cleared_device_class": "no detectado (no se detecta {device_class})", "detected_device_class": "detectado {device_class}", + "is_closing": "está cerrando", + "is_opening": "está abriendo", "rose": "salió", "set": "se puso", "turned_off": "apagado", @@ -755,6 +1142,7 @@ "clusters": "Administrar clústeres", "reconfigure": "Reconfigurar dispositivo", "remove": "Eliminar dispositivos", + "view_in_visualization": "Ver en Visualización", "zigbee_information": "Firma del dispositivo Zigbee" }, "confirmations": { @@ -2332,6 +2720,7 @@ "caption": "Visualización", "header": "Visualización de la red", "highlight_label": "Resaltar dispositivos", + "refresh_topology": "Actualizar topología", "zoom_label": "Zoom al dispositivo" } }, @@ -3009,6 +3398,8 @@ "error_remove": "No se puede eliminar la configuración: {error}", "error_save_yaml": "No se puede guardar YAML: {error}", "header": "Editar configuración", + "lovelace_changed": "La configuración de Lovelace se actualizó, ¿deseas cargar la configuración actualizada en el editor y perder tus cambios actuales?", + "reload": "Recargar", "resources_moved": "Los recursos ya no se deben agregar a la configuración de Lovelace, sino que se pueden agregar en el panel de configuración de Lovelace.", "save": "Guardar", "saved": "Guardado", diff --git a/translations/frontend/et.json b/translations/frontend/et.json index 209d7c6e82..2ccf5bdbff 100644 --- a/translations/frontend/et.json +++ b/translations/frontend/et.json @@ -104,21 +104,206 @@ }, "supervisor": { "addon": { + "configuration": { + "audio": { + "default": "Vaikimisi", + "header": "Heli", + "input": "Sisend", + "output": "Väljund" + }, + "network": { + "container": "Konteiner", + "disabled": "Keelatud", + "header": "Võrk", + "host": "Host" + }, + "no_configuration": "See lisandmoodul ei avalda sätteid millega jamada...", + "options": { + "edit_in_ui": "Redigeeri kasutajaliideses", + "edit_in_yaml": "Redigeeri YAML-ina", + "header": "Valikud", + "invalid_yaml": "Sobimatu YAML", + "show_unused_optional": "Kuva kasutamata valikulised seadistussuvandid" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "Lisandmooduli muudatuste logi hankimine nurjus", + "go_to_config": "Lisandmooduli käivitamine nurjus – sätete kontroll nurjus!", + "install": "Lisandmooduli paigaldamine nurjus", + "restart": "Lisandmooduli taaskäivitamine nurjus", + "start": "Lisandmooduli käivitamine nurjus", + "start_invalid_config": "Mine sätetesse", + "stop": "Lisandmooduli peatamine nurjus", + "uninstall": "Lisandmooduli eemaldamine nurjus", + "validate_config": "Lisandmooduli sätete kontroll nurjus" + }, + "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') on Linuxi tuuma turvamoodul, mis piirab lisandmoodulite võimalusi, näiteks võrgule juurdepääsu, otsest võgupesa juurdepääsu ja konkreetseid faile lugeda, kirjutada või käivitada. \n\n Pistikprogrammi autorid võivad esitada oma turvaprofiilid, mis on lisandmooduli jaoks optimeeritud, või taotleda selle keelamist. Kui AppArmor on keelatud, tekitab see turvariske ja seetõttu mõjutab see lisandmooduli turbeskoori negatiivselt.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Lisandmoodul võib kasutajaid Home Assistanti abil autentida, võimaldades lisandmoodulitel anda kasutajatele võimaluse sisse logida lisandmoodulites töötavatesse rakendustesse, kasutades nende Home Assistanti kasutajanime / parooli. See märk näitab, kas lisandmooduli autor seda võimalust taotleb.", + "title": "Home Assistanti autentimine" + }, + "docker_api": { + "description": "Lisandmooduli autor on taotlenud lisandmoodulilt haldusjuurdepääsu teie süsteemis töötavale Dockeri eksemplarile. See režiim annab lisandmoodulile täieliku juurdepääsu ja kontrolli kogu Home Assistanti süsteemile, mis lisab turvariske ja võib väärkasutamisel teie süsteemi kahjustada. Seetõttu mõjutab see funktsioon lisandmooduli turvaskoori negatiivselt.\n\nSeda juurdepääsutaset ei anta automaatselt ja pead selle kinnitama. Selleks pead lisandmooduli kaitserežiimi käsitsi keelama. Keela kaitserežiim ainult siis, kui tead, vajad ja usaldad selle lisandmooduli allikat.", + "title": "Täielik juurdepääs Dockerile" + }, + "full_access": { + "description": "Lisandmoodulile antakse lisandmooduli autori taotlusel täielik juurdepääs süsteemi riistvarale. Juurdepääs on võrreldav Dockeri privilegeeritud režiimiga. Kuna see avab võimalikud turvariskid, mõjutab see funktsioon lisandmooduli turvaskoori negatiivselt.\n\nSeda juurdepääsutaset ei anta automaatselt ja pead selle kinnitama. Selleks pead lisandmooduli kaitserežiimi käsitsi keelama. Keela kaitserežiim ainult siis, kui tead, vajad ja usaldad selle lisandmooduli allikat.", + "title": "Täielik juurdepääs riistvarale" + }, + "hassio_api": { + "description": "Lisandmoodulile anti juurdepääs Supervisori API-le lisandmooduli autori taotlusel. Vaikimisi saab lisandmoodul juurdepääsu süsteemi üldisele versiooniteabele. Kui pistikprogramm taotleb API-le juurdepääsu halduri või administraatori tasemel, saab see juurdepääsu Home Assistanti süsteemi mitme osa juhtimiseks. See luba on tähistatud selle märgiga ja see mõjutab pistikprogrammi turvaskoori negatiivselt.", + "title": "Supervisori API juurdepääs" + }, + "homeassistant_api": { + "description": "Sellel lisandmoodulil on juurdepääs töötavale koduabilise eksemplarile otse Home Assistanti API kaudu. See režiim tegeleb ka lisandmooduli autentimisega, mis võimaldab lisandmoodulil Home Assistantiga suhelda, ilma et oleks vaja täiendavaid autentimisvõtmeid.", + "title": "Home Assistant API ligipääs" + }, + "host_network": { + "description": "Lisandmoodulid töötavad tavaliselt oma isoleeritud võrgukihis, mis takistab neil juurdepääsu hosti operatsioonisüsteemi võrgule. Mõnel juhul võib see võrguisolatsioon piirata lisandmooduleid nende teenuste pakkumisel ja seetõttu saab lisandmooduli autor isolatsiooni tühistada, andes lisandmoodulile täieliku juurdepääsu hostimasina võrgu võimalustele. See annab lisandmoodulile rohkem võrguvõimalusi, kuid vähendab turvalisust, seega langeb lisandmooduli turvahinnang, kui lisandmoodul seda võimalust kasutab.", + "title": "Hosti võrk" + }, + "host_pid": { + "description": "Tavaliselt on lisandmooduli protsessid isoleeritud kõigist teistest süsteemiprotsessidest. Lisandmooduli autor on taotlenud lisandmooduli juurdepääsu hostisüsteemi eksemplaris töötavatele süsteemiprotsessidele ja lubama lisandmoodulit ka hostisüsteemi kudemisprotsessidele. See režiim annab lisandmoodulile täieliku juurdepääsu ja kontrolli kogu Home Assistanti süsteemile, mis lisab turvariske ja võib väärkasutamisel teie süsteemi kahjustada. Seetõttu mõjutab see funktsioon lisandmooduli turvaskoori negatiivselt.\n\nSeda juurdepääsutaset ei anta automaatselt ja pead selle kinnitama. Selleks pead lisandmooduli kaitserežiimi käsitsi keelama. Keela kaitserežiim ainult siis, kui tead, vajad ja usaldad selle lisandmooduli allikat.", + "title": "Hostiprotsesside nimeruum" + }, + "ingress": { + "description": "See lisandmoodul kasutab Ingressi, et manustada oma liides turvaliselt Home Assistanti.", + "title": "Ingress" + }, + "label": { + "apparmor": "apparmor", + "auth": "auth", + "docker": "docker", + "hardware": "riistvara", + "hass": "hass", + "hassio": "hassio", + "host": "host", + "host_pid": "hosti pid", + "ingress": "ingress", + "rating": "hinnang", + "stage": "järk" + }, + "rating": { + "description": "Home Assistant annab igale lisandmoodulile turvaklassi, mis näitab selle lisandmooduli kasutamisega seotud riske. Mida rohkem lisandmoodul vajab süsteemile juurdepääsu, seda väiksem on skoor, suurendades seeläbi võimalikke turvariske. \n\nHinne on skaalal 1 kuni 6. Kus 1 on madalaim tulemus (peetakse kõige ebaturvalisemaks ja kõige suuremaks riskiks) ja 6 on kõige suurem tulemus (peetakse kõige turvalisemaks ja madalaimaks riskiks).", + "title": "Lisandmooduli turbehinnang" + }, + "role": { + "admin": "admin", + "backup": "varundus", + "default": "vaikimisi", + "homeassistant": "homeassistant", + "manager": "haldur" + }, + "stage": { + "description": "Lisandmoodulitel võib olla üks kolmest järgust: \n\n {icon_stable} ** Stabiilne **: need on kasutamiseks valmis lisandmoodulid. \n\n {icon_experimental} ** Eksperimentaalne **: need võivad sisaldada vigu ja võivad olla lõpetamata. \n\n {icon_deprecated} ** Katkestatud **: need lisandmoodulid ei saa enam värskendusi.", + "title": "Lisandmooduli järk" + } + }, + "changelog": "Muudatste nimekiri", + "cpu_usage": "Lisandmooduli protsessori kasutus", + "hostname": "Hostinimi", + "install": "paigalda", + "new_update_available": "{name} {version} on saadaval", + "not_available_arch": "See lisandmoodul ei ühildu seadme protsessoriga ega seadmesse installitud operatsioonisüsteemiga.", + "not_available_version": "Kasutad Home Assistant {core_version_installed} Selle lisandmooduli versiooni värskendamiseks vajad vähemalt Home Assistant {core_version_needed}", + "open_web_ui": "Ava veebiliides", + "option": { + "auto_update": { + "description": "Lisandmooduli automaatne uuendamine kui uus versioon on saadaval", + "title": "Automaatne värskendamine" + }, + "boot": { + "description": "Lisandmooduli käivitamine süsteemi käivitamise ajal", + "title": "Käivita alglaadimisel" + }, + "ingress_panel": { + "description": "Lisa see lisandmoodul külgribale", + "title": "Kuva külgribal" + }, + "protected": { + "description": "Blokeerib laiendatud süsteemijuurdepääsu lisandmoodulist", + "title": "Kaitserežiim" + }, + "watchdog": { + "description": "See käivitab lisandmooduli kokkujooksmisel", + "title": "Valvetaimer" + } + }, + "protection_mode": { + "content": "Selle lisandmooduli kaitserežiim on keelatud! See annab lisandmoodulile täieliku juurdepääsu kogu süsteemile, mis lisab turvariske ja võib valesti kasutamisel süsteemi kahjustada. Keela kaitserežiim ainult siis, kui tead, vajad ja usaldad selle lisandmooduli allikat.", + "enable": "Luba kaitserežiim", + "title": "Hoiatus: kaitserežiim on keelatud!" + }, + "ram_usage": "Lisandmooduli RAM-i kasutus", + "rebuild": "taasloo", + "restart": "taaskäivita", + "start": "käivita", + "stop": "peata", + "uninstall": "eemalda", + "visit_addon_page": "Täiendavate detailide saamiseks külasta lehte {name}" + }, + "documentation": { + "get_documentation": "Lisandmooduli dokumentatsiooni hankimine nurjus, {error}" + }, + "failed_to_reset": "Lisandmooduli sätete lähtestamine nurjus, {error}", + "failed_to_save": "Lisandmooduli sätete salvestamine nurjus, {error}", + "logs": { + "get_logs": "Lisandmoodulite logide hankimine nurjus, {error}" + }, "panel": { "configuration": "Seaded", "documentation": "Dokumentatsioon", "info": "Info", "log": "Logikirjed" + }, + "state": { + "installed": "Lisandmoodul on paigaldatud", + "not_available": "Lisandmoodul pole antud süsteemile saadaval", + "not_installed": "Lisandmoodulit pole paigaldatud" } }, "common": { "cancel": "Loobu", + "description": "Kirjeldus", + "error": { + "unknown": "Tundmatu viga", + "update_failed": "Värskendamine nurjus" + }, + "failed_to_restart_name": "Üksuse {name} taaskäivitamine nurjus", + "failed_to_update_name": "Üksuse {name} värskendamine nurjus", + "learn_more": "Lisateave", + "new_version_available": "Uus versioon on saadaval", "newest_version": "Uusim versioon", + "no": "Ei", + "refresh": "värskenda", "release_notes": "Väljalaske teave", + "reload": "Taaslae", + "reset_defaults": "Lähtesta vaikeväärtustele", + "reset_options": "Lähtesta suvandid", + "restart": "Taaskäivita", + "restart_name": "Taaskäivita {name}", + "running_version": "Kasutad praegu versiooni {version}", + "save": "Salvesta", + "show_more": "Kuva selle kohta rohkem teavet", "update": "Uuenda", - "version": "Versioon" + "update_available": "{count, plural,\n one {värskendus}\n other {{count] värskendust}\n} on saadaval", + "version": "Versioon", + "yes": "Jah" }, "confirm": { + "reset_options": { + "text": "Kas soovid kindlasti kõik oma valikud lähtestada?", + "title": "Lähtesta suvandid" + }, + "restart": { + "text": "Kas olete kindel, et soovid rakenduse {name} taaskäivitada?", + "title": "taaskäivita" + }, "update": { "text": "Kas soovid kindlasti värskendada {name} versioonile {version}?", "title": "Uuenda {name}" @@ -131,11 +316,175 @@ "addons": "Lisandmoodulid", "no_addons": "Ühtegi lisandmoodulit pole veel paigaldatud. Alustamiseks mine lisandmoodulite hoidlasse!" }, + "dialog": { + "network": { + "connected_to": "Ühendatud pääsupunktiga {ssid}", + "dhcp": "DHCP", + "disabled": "Keelatud", + "dns_servers": "DNS serverid", + "failed_to_change": "Võrgusätete muutmine nurjus", + "gateway": "Lüüsi aadress", + "ip_netmask": "IP-aadress / võrgumask", + "open": "Avatud", + "scan_ap": "Otsi pääsupunkte", + "static": "Staatiline", + "title": "Võrgu sätted", + "unsaved": "Muudatused on salvestamata. Need lähevad kaotsi kui vahetad vahelehte. Kas soovid jätkata?", + "warning": "Kui muudad WiFi, IP või lüüsi aadressi võib ühendus katkeda!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Lisa uus register", + "add_registry": "Lisa register", + "failed_to_add": "Registri lisamine nurjus", + "failed_to_remove": "Registri eemaldamine nurjus", + "no_registries": "Ühtegi registrit pole seadistatud", + "password": "Salasõna", + "registry": "Register", + "remove": "Eemalda", + "title_add": "Lisa uus konteineri register", + "title_manage": "Konteineri registrite haldamine", + "username": "Kasutajanimi" + }, + "repositories": { + "add": "Lisa", + "remove": "Eemalda", + "title": "Halda lisandmoodulite hoidlaid" + }, + "restart_addon": { + "confirm_text": "Taaskäivita lisandmoodul", + "text": "Kas soovid lisandmooduli taaskäivitada rakendades muudatused?" + }, + "update": { + "create_snapshot": "Enne {name} värskendamist loo hetktõmmis", + "snapshot": "Hetktõmmis", + "snapshotting": "Üksuse {name} hetktõmmise loomine", + "updating": "Üksuse {name} värskendamine versioonile {version}" + } + }, + "my": { + "error": "Viga", + "faq_link": "KKK viide", + "not_supported": "pole toetatud" + }, "panel": { "dashboard": "Kasutajaliidese vaade", "snapshots": "Hetke varukoopia", "store": "Lisandmoodulite hoidla", "system": "Süsteem" + }, + "snapshot": { + "addons": "Lisandmoodulid", + "available_snapshots": "Saadaolevad hetktõmmised", + "could_not_create": "Hetktõmmise loomine nurjus", + "create": "Loo", + "create_blocked_not_running": "Hetktõmmise loomine pole praegu võimalik kuna süsteem on olekus {state}.", + "create_snapshot": "Loo hetktõmmis", + "description": "Hetktõmmised võimaldavad hõlpsalt varundada ja taastada kõik Home Assistanti andmed.", + "enter_password": "Sisesta salasõna.", + "folder": { + "addons/local": "Kohalikud lisandmoodulid", + "homeassistant": "Home Assistanti sätted", + "media": "Andmekandja", + "share": "Jaga", + "ssl": "SSL" + }, + "folders": "Kaustad", + "full_snapshot": "Täielik hetktõmmis", + "name": "Nimi", + "no_snapshots": "Sul pole veel ühtegi hetktõmmist.", + "partial_snapshot": "Osaline hetktõmmis", + "password": "Salasõna", + "password_protected": "salasõnaha kaitstud", + "password_protection": "Salasõnaga kaitstud", + "security": "Turvalisus", + "type": "Tüüp", + "upload_snapshot": "Hetktõmmise üleslaadimine" + }, + "store": { + "missing_addons": "Ei näe lisandmooduleid? Luba täpsem režiim oma kasutajaprofiili lehel", + "no_results_found": "Hoidlast {repository} ei leitud tulemeid.", + "registries": "Registrid", + "repositories": "Hoidlad" + }, + "system": { + "core": { + "cpu_usage": "Protsessori hõivatus", + "ram_usage": "Mälu hõivatus" + }, + "host": { + "change": "Muuda", + "change_hostname": "Hostinime muutmine", + "confirm_reboot": "Kas soovid kindlasti hosti taaskäivitada?", + "confirm_shutdown": "Kas soovid kindlasti hosti välja lülitada?", + "deployment": "Juurutamine", + "docker_version": "Dockeri versioon", + "emmc_lifetime_used": "eMMC elueast on kasutatud", + "failed_to_get_hardware_list": "Riistvaraloendi toomine nurjus", + "failed_to_import_from_usb": "USB seadmelt importimine nurjus", + "failed_to_reboot": "Hosti taaskäivitamine nurjus", + "failed_to_set_hostname": "Hostinime määramine nurjus", + "failed_to_shutdown": "Hosti sulgemine nurjus", + "hardware": "Riistvara", + "hostname": "Hostinimi", + "import_from_usb": "Lae USB seadmelt", + "ip_address": "IP-aadress", + "new_hostname": "Sisesta uus hostinimi:", + "operating_system": "Operatsioonisüsteem", + "reboot_host": "Taaskäivita host", + "shutdown_host": "Lülita host välja", + "used_space": "Kasutatud maht" + }, + "log": { + "get_logs": "{provider} logide toomine nurjus, {tõrge}", + "log_provider": "Logi pakkuja" + }, + "supervisor": { + "beta_backup": "Enne selle funktsiooni aktiveerimist veendu, et andmetest oleks varukoopiad.", + "beta_join_confirm": "Kas soovid liituda beetakanaliga?", + "beta_release_items": "See hõlmab beetaversioone:", + "beta_warning": "Beetaversioonid on mõeldud testijatele ja varakult kasutajatele ning need võivad sisaldada ebastabiilseid koodimuudatusi", + "channel": "Kanal", + "cpu_usage": "Supervisori protsessori kasutus", + "failed_to_reload": "Supervisori taaslaadimine nurjus", + "failed_to_set_option": "Supevisori suvandi seadmine nurjus", + "failed_to_update": "Supervisori värskendamine nurjus", + "join_beta_action": "Liitu beetakanaliga", + "join_beta_description": "Hangi beebivärskendusi Home Assistanti (RC), juhendaja ja hosti jaoks", + "leave_beta_action": "Lahku beetakanalist", + "leave_beta_description": "Hangi Home Assistanti, Supervisori ja hosti jaoks stabiilseid uuendusi", + "ram_usage": "Supervisori mälu kasutus", + "reload_supervisor": "Taaslae Supevisor", + "share_diagnostics": "Jaga silumisteavet", + "share_diagnostics_description": "Jaga krahhiaruandeid ja diagnostikateavet.", + "share_diagonstics_description": "Kas soovid automaatselt jagada krahhiaruandeid ja diagnostikateavet kui Supervisoris ilmneb ootamatuid tõrkeid? {line_break} See võimaldab meil probleeme lahendada, teave on kättesaadav ainult Home Assistanti põhimeeskonnale ja seda ei jagata teistega. {line_break} Andmed ei sisalda privaatset/tundlikku teavet ja saad selle sätetes igal ajal keelata.", + "share_diagonstics_title": "Aita Home Assistanti paremaks muuta", + "unhealthy_description": "Vigase paigalduse käivitamine tekitab probleeme. Allpool on paigaldamisel leitud probleemide loend. Klõpsa linkidel, et saada teada, kuidas saad probleeme lahendada.", + "unhealthy_reason": { + "docker": "Dockeri keskkond ei tööta korralikult", + "privileged": "Supervisoril pole piisavalt õigusi", + "setup": "Supervisori seadistamine nurjus", + "supervisor": "Supervisorit ei saanud värskendada" + }, + "unhealthy_title": "Paigaldus on vigane", + "unsupported_description": "Allpool on loend paigaldusel leitud probleemidest. Klõpsa linkidel, et saada teada, kuidas saad probleeme lahendada.", + "unsupported_reason": { + "container": "Konteinerid mis teadaolevalt põhjustavad probleeme", + "dbus": "DBUS", + "docker_configuration": "Dockeri sätted", + "docker_version": "Dockeri versioon", + "job_conditions": "Eiratud tingimused", + "lxc": "LXC", + "network_manager": "Võrguhaldur", + "os": "Operatsioonisüsteem", + "privileged": "Supervisoril pole piisavalt õigusi", + "systemd": "Systemd" + }, + "unsupported_title": "Kasutad toetamata paigaldusmeetodit", + "update_supervisor": "Uuenda Supervisorit", + "warning": "HOIATUS" + } } }, "ui": { diff --git a/translations/frontend/hu.json b/translations/frontend/hu.json index 1b09436716..00b55f5aa0 100644 --- a/translations/frontend/hu.json +++ b/translations/frontend/hu.json @@ -102,6 +102,50 @@ "unknown": "Ismeretlen" } }, + "supervisor": { + "dialog": { + "network": { + "dhcp": "DHCP", + "disabled": "Letiltva", + "dns_servers": "DNS Szerverek", + "failed_to_change": "Nem sikerült megváltoztatni a hálózati beállításokat", + "gateway": "Átjáró címe", + "ip_netmask": "IP-cím/Netmaszk", + "static": "Statikus", + "title": "Hálózati beállítások", + "unsaved": "Vannak nem mentett módosítások, amik elvesznek ha másik fülre váltasz, biztosan ki akarsz lépni?", + "wpa": "wpa-psk" + }, + "registries": { + "password": "Jelszó", + "remove": "Eltávolítás", + "username": "Felhasználónév" + }, + "repositories": { + "add": "Hozzáadás", + "remove": "Eltávolítás" + }, + "restart_addon": { + "confirm_text": "Add-on újraindítása" + } + }, + "snapshot": { + "create": "Létrehozás", + "enter_password": "Add meg a jelszót", + "folder": { + "homeassistant": "Home Assistant konfiguráció", + "media": "Média", + "ssl": "SSL" + }, + "folders": "Mappák", + "name": "Név", + "password": "Jelszó", + "password_protected": "jelszóval védett", + "password_protection": "Jelszóvédelem", + "security": "Biztonság", + "type": "Típus" + } + }, "ui": { "auth_store": { "ask": "Bejelentkezve szeretnél maradni?", @@ -200,7 +244,8 @@ }, "script": { "cancel": "Mégse", - "cancel_multiple": "Mégse {number}" + "cancel_multiple": "Mégse {number}", + "run": "Futtatás" }, "service": { "run": "Futtatás" diff --git a/translations/frontend/id.json b/translations/frontend/id.json index 2b2f0cf717..b13629a76d 100644 --- a/translations/frontend/id.json +++ b/translations/frontend/id.json @@ -102,21 +102,206 @@ }, "supervisor": { "addon": { + "configuration": { + "audio": { + "default": "Bawaan", + "header": "Audio", + "input": "Input", + "output": "Output" + }, + "network": { + "container": "Kontainer", + "disabled": "Dinonaktifkan", + "header": "Jaringan", + "host": "Host" + }, + "no_configuration": "Add-on ini tidak memaparkan konfigurasi untuk Anda utak-atik…", + "options": { + "edit_in_ui": "Edit lewat Antarmuka", + "edit_in_yaml": "Edit sebagai YAML", + "header": "Opsi", + "invalid_yaml": "YAML tidak valid", + "show_unused_optional": "Tampilkan opsi konfigurasi opsional yang tidak digunakan" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "Gagal mendapatkan log perubahan add-on", + "go_to_config": "Gagal memulai add-on - validasi konfigurasi gagal!", + "install": "Gagal menginstal add-on", + "restart": "Gagal memulai ulang add-on", + "start": "Gagal memulai add-on", + "start_invalid_config": "Buka konfigurasi", + "stop": "Gagal menghentikan add-on", + "uninstall": "Gagal mencopot add-on", + "validate_config": "Gagal memvalidasi konfigurasi add-on" + }, + "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') merupakan modul keamanan kernel Linux yang membatasi kemampuan add-on seperti akses jaringan, akses soket mentah, dan izin untuk membaca, menulis, atau mengeksekusi file tertentu. \n\nPenulis add-on dapat menyediakan profil keamanan mereka, yang dioptimalkan untuk add-on, atau memintanya untuk dinonaktifkan. Jika AppArmor dinonaktifkan, hal ini akan meningkatkan risiko keamanan sehingga berdampak negatif pada skor keamanan add-on.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Add-on dapat mengautentikasi pengguna lewat Home Assistant, sehingga pengguna dapat masuk ke aplikasi mereka yang berjalan di dalam add-on dengan menggunakan nama pengguna/kata sandi Home Assistant mereka. Lencana ini menunjukkan bahwa pembuat add-on meminta kemampuan ini.", + "title": "Autentikasi Home Assistant" + }, + "docker_api": { + "description": "Penulis add-on telah meminta add-on untuk memiliki akses manajemen ke instans Docker yang berjalan di sistem Anda. Mode ini memberi add-on akses dan kontrol penuh ke seluruh sistem Home Assistant Anda, yang meningkatkan risiko keamanan dan dapat merusak sistem Anda jika disalahgunakan. Oleh karena itu, fitur ini berdampak negatif pada skor keamanan add-on. \n\nTingkat akses ini tidak diberikan secara otomatis dan harus Anda konfirmasikan terlebih dulu. Untuk melakukannya, Anda perlu menonaktifkan mode perlindungan pada add-on secara manual. Nonaktifkan mode perlindungan hanya jika Anda benar-benar berpengalaman, membutuhkan, DAN mempercayai sumber add-on ini.", + "title": "Akses Docker Penuh" + }, + "full_access": { + "description": "Add-on ini telah diberikan akses penuh ke perangkat keras sistem Anda atas permintaan penulis add-on. Akses ini sebanding dengan mode istimewa di Docker. Karena hal ini membuka kemungkinan risiko keamanan, fitur ini berdampak negatif pada skor keamanan add-on. \n\nTingkat akses ini tidak diberikan secara otomatis dan harus Anda konfirmasikan terlebih dulu. Untuk melakukannya, Anda perlu menonaktifkan mode perlindungan pada add-on secara manual. Nonaktifkan mode perlindungan hanya jika Anda benar-benar berpengalaman, membutuhkan, DAN mempercayai sumber add-on ini.", + "title": "Akses Perangkat Keras Penuh" + }, + "hassio_api": { + "description": "Add-on diberi akses ke API Supervisor, atas permintaan penulis add-on. Secara baku, add-on dapat mengakses informasi versi umum sistem Anda. Saat add-on meminta akses level 'manajer' atau 'admin' ke API, add-on tersebut akan mendapatkan akses untuk mengontrol beberapa bagian sistem Home Assistant Anda. Izin ini ditunjukkan oleh lencana ini dan akan berdampak negatif pada skor keamanan add-on.", + "title": "Akses API Supervisor" + }, + "homeassistant_api": { + "description": "Add-on ini diizinkan untuk mengakses instans Home Assistant Anda yang sedang berjalan secara langsung melalui API Home Assistant. Mode ini juga menangani autentikasi untuk add-on, yang memungkinkan add-on berinteraksi dengan Home Assistant tanpa memerlukan token autentikasi tambahan.", + "title": "Akses API Home Assistant" + }, + "host_network": { + "description": "Add-on biasanya berjalan di lapisan jaringannya sendiri yang terisolasi, yang mencegahnya mengakses jaringan sistem operasi host. Dalam beberapa kasus, isolasi jaringan ini dapat membatasi add-on dalam menyediakan layanannya dan oleh karena itu, isolasi tersebut dapat dicabut oleh pembuat add-on, sehingga memberikan akses penuh add-on ke kemampuan jaringan mesin host. Ini memberi add-on lebih banyak kemampuan jaringan tetapi menurunkan tingkat keamanan. Oleh karena itu, peringkat keamanan add-on akan diturunkan ketika opsi ini digunakan oleh add-on.", + "title": "Jaringan Host" + }, + "host_pid": { + "description": "Pada umumnya, proses add-on yang berjalan diisolasi dari semua proses sistem lainnya. Penulis add-on telah meminta add-on untuk memiliki akses ke proses sistem yang berjalan pada instans sistem host, dan mengizinkan add-on untuk juga menelurkan proses pada sistem host. Mode ini memberi add-on akses dan kontrol penuh ke seluruh sistem Home Assistant Anda, yang meningkatkan risiko keamanan dan dapat merusak sistem Anda jika disalahgunakan. Oleh karena itu, fitur ini berdampak negatif pada skor keamanan add-on. \n\nTingkat akses ini tidak diberikan secara otomatis dan harus Anda konfirmasikan terlebih dulu. Untuk melakukannya, Anda perlu menonaktifkan mode perlindungan pada add-on secara manual. Nonaktifkan mode perlindungan hanya jika Anda benar-benar berpengalaman, membutuhkan, DAN mempercayai sumber add-on ini.", + "title": "Namespace Proses Host" + }, + "ingress": { + "description": "Add-on ini menggunakan Ingress untuk menyematkan antarmukanya dengan aman ke Home Assistant.", + "title": "Ingress" + }, + "label": { + "apparmor": "apparmor", + "auth": "autentikasi", + "docker": "docker", + "hardware": "perangkat keras", + "hass": "hass", + "hassio": "hassio", + "host": "host", + "host_pid": "pid host", + "ingress": "ingress", + "rating": "peringkat", + "stage": "tahap" + }, + "rating": { + "description": "Home Assistant memberikan peringkat keamanan untuk setiap add-on, yang menunjukkan risiko yang terlibat saat menggunakan add-on ini. Semakin banyak akses yang diperlukan add-on pada sistem Anda, semakin rendah skornya, sehingga meningkatkan kemungkinan risiko keamanan. \n\nSkor diberikan dalam skala dari 1 hingga 6. Skor 1 adalah skor terendah (dianggap paling tidak aman dan berisiko tertinggi) dan skor 6 adalah skor tertinggi (dianggap paling aman dan berisiko terendah).", + "title": "Peringkat Keamanan Add-on" + }, + "role": { + "admin": "admin", + "backup": "cadangan", + "default": "bawaan", + "homeassistant": "homeassistant", + "manager": "manajer" + }, + "stage": { + "description": "Add-on dapat memiliki salah satu dari tiga tahap:\n\n{icon_stable} **Stabil**: Ini adalah add-on yang siap digunakan dalam produksi.\n\n{icon_experimental} **Eksperimental**: Ini mungkin mengandung bug, dan mungkin pengembangannya belum selesai.\n\n{icon_deprecated} **Tidak digunakan lagi**: Add-on ini tidak akan lagi menerima pembaruan apa pun.", + "title": "Tahap Add-On" + } + }, + "changelog": "Log Perubahan", + "cpu_usage": "Penggunaan CPU Add-On", + "hostname": "Nama Host", + "install": "instal", + "new_update_available": "{name} {version} tersedia", + "not_available_arch": "Add-on ini tidak kompatibel dengan prosesor perangkat Anda atau sistem operasi yang Anda instal di perangkat.", + "not_available_version": "Anda menjalanan Home Assistant {core_version_installed}, untuk memperbarui ke versi add-on ini, Anda memerlukan Home Assistant setidaknya versi {core_version_needed}", + "open_web_ui": "Buka antarmuka web", + "option": { + "auto_update": { + "description": "Perbarui add-on secara otomatis jika tersedia versi baru", + "title": "Pembaruan otomatis" + }, + "boot": { + "description": "Mulai add-on ketika boot sistem", + "title": "Mulai saat boot" + }, + "ingress_panel": { + "description": "Tambahkan add-on ini ke bilah samping Anda", + "title": "Tampilkan di bilah samping" + }, + "protected": { + "description": "Memblokir akses sistem yang ditingkatkan dari add-on", + "title": "Mode perlindungan" + }, + "watchdog": { + "description": "Ini akan memulai add-on jika macet", + "title": "Watchdog" + } + }, + "protection_mode": { + "content": "Mode proteksi pada add-on ini telah dinonaktifkan! Ini memberikan akses penuh add-on ke seluruh sistem, yang meningkatkan risiko keamanan dan dapat merusak sistem Anda jika digunakan dengan tidak benar. Hanya nonaktifkan mode perlindungan jika Anda benar-benar berpengalaman, membutuhkan, DAN mempercayai sumber add-on ini.", + "enable": "Aktifkan Mode perlindungan", + "title": "Peringatan: Mode perlindungan dinonaktifkan!" + }, + "ram_usage": "Penggunaan RAM Add-on", + "rebuild": "bangun kembali", + "restart": "mulai ulang", + "start": "mulai", + "stop": "hentikan", + "uninstall": "copot instalasi", + "visit_addon_page": "Kunjungi halaman {name} untuk mendapatkan detail lebih lanjut" + }, + "documentation": { + "get_documentation": "Gagal mendapatkan dokumentasi add-on, {error}" + }, + "failed_to_reset": "Gagal menyetel ulang konfigurasi add-on, {error}", + "failed_to_save": "Gagal menyimpan konfigurasi add-on, {error}", + "logs": { + "get_logs": "Gagal mendapatkan log add-on, {error}" + }, "panel": { "configuration": "Konfigurasi", "documentation": "Dokumentasi", "info": "Info", "log": "Log" + }, + "state": { + "installed": "Add-on diinstal", + "not_available": "Add-on tidak tersedia di sistem Anda", + "not_installed": "Add-on tidak diinstal" } }, "common": { "cancel": "Batalkan", + "description": "Deskripsi", + "error": { + "unknown": "Kesalahan yang tidak diketahui", + "update_failed": "Proses pembaruan gagal" + }, + "failed_to_restart_name": "Gagal memulai ulang {name}", + "failed_to_update_name": "Gagal memperbarui {name}", + "learn_more": "Pelajari lebih lanjut", + "new_version_available": "Versi baru tersedia", "newest_version": "Versi Terbaru", + "no": "Tidak", + "refresh": "Segarkan", "release_notes": "Catatan rilis", + "reload": "Muat ulang", + "reset_defaults": "Setel ulang ke bawaan", + "reset_options": "Atur ulang opsi", + "restart": "Mulai ulang", + "restart_name": "Mulai ulang {name}", + "running_version": "Anda sedang menjalankan versi {version}", + "save": "Simpan", + "show_more": "Tampilkan info lebih lanjut tentang ini", "update": "Perbarui", - "version": "Versi:" + "update_available": "{count, plural,\n one {Pembaruan}\n other {{count} Pembaruan}\n} tertunda", + "version": "Versi:", + "yes": "Ya" }, "confirm": { + "reset_options": { + "text": "Yakin ingin mengatur ulang semua opsi Anda?", + "title": "Atur ulang opsi" + }, + "restart": { + "text": "Yakin ingin memulai ulang {name}?", + "title": "Mulai ulang {name}" + }, "update": { "text": "Yakin ingin memperbarui {name} ke versi {version}?", "title": "Perbarui {name}" @@ -129,11 +314,175 @@ "addons": "Add-on", "no_addons": "Anda belum memasang add-on apa pun. Kunjungi toko add-on untuk memulai!" }, + "dialog": { + "network": { + "connected_to": "Tersambung ke {ssid}", + "dhcp": "DHCP", + "disabled": "Dinonaktifkan", + "dns_servers": "Server DNS", + "failed_to_change": "Gagal mengubah pengaturan jaringan", + "gateway": "Alamat gateway", + "ip_netmask": "Alamat IP/Netmask", + "open": "Buka", + "scan_ap": "Pindai titik akses", + "static": "Statis", + "title": "Pengaturan jaringan", + "unsaved": "Anda memiliki perubahan yang belum disimpan, ini akan hilang jika Anda berpindah tab, yakin ingin melanjutkan?", + "warning": "Jika Anda mengubah alamat Wi-Fi, IP, atau gateway, Anda mungkin kehilangan koneksi!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Tambahkan registri baru", + "add_registry": "Tambahkan registri", + "failed_to_add": "Gagal menambahkan registri", + "failed_to_remove": "Gagal menghapus registri", + "no_registries": "Tidak ada registri yang dikonfigurasi", + "password": "Kata sandi", + "registry": "Registri", + "remove": "Hapus", + "title_add": "Tambahkan Registri Kontainer Baru", + "title_manage": "Kelola Registri Kontainer", + "username": "Nama pengguna" + }, + "repositories": { + "add": "Tambahkan", + "remove": "Hapus", + "title": "Kelola repositori add-on" + }, + "restart_addon": { + "confirm_text": "Mulai ulang add-on", + "text": "Ingin memulai ulang add-on disertai perubahan Anda?" + }, + "update": { + "create_snapshot": "Buat snapshot dari {name} sebelum memperbarui", + "snapshot": "Snapshot", + "snapshotting": "Membuat snapshot dari {name}", + "updating": "Memperbarui {name} ke versi {version}" + } + }, + "my": { + "error": "Terjadi kesalahan yang tidak diketahui", + "faq_link": "FAQ Home Assistant Saya", + "not_supported": "Pengalihan ini tidak didukung oleh instans Home Assistant Anda. Periksa {link} tentang pengalihan yang didukung dan versi mana mulai diperkenalkan." + }, "panel": { "dashboard": "Dasbor", "snapshots": "Snapshot", "store": "Toko Add-on", "system": "Sistem" + }, + "snapshot": { + "addons": "Add-on", + "available_snapshots": "Snapshot yang Tersedia", + "could_not_create": "Tidak dapat membuat snapshot", + "create": "Buat", + "create_blocked_not_running": "Pembuatan snapshot tidak dapat dilakukan saat ini karena sistem dalam keadaan {state} .", + "create_snapshot": "Buat snapshot", + "description": "Snapshot dapat digunakan untuk mempermudah pencadangan dan pemulihan semua data instans Home Assistant Anda.", + "enter_password": "Masukkan kata sandi.", + "folder": { + "addons/local": "Add-on lokal", + "homeassistant": "Konfigurasi Home Assistant", + "media": "Media", + "share": "Bagikan", + "ssl": "SSL" + }, + "folders": "Folder", + "full_snapshot": "Snapshot lengkap", + "name": "Nama", + "no_snapshots": "Anda belum memiliki snapshot.", + "partial_snapshot": "Snapshot parsial", + "password": "Kata sandi", + "password_protected": "dilindungi kata sandi", + "password_protection": "Perlindungan kata sandi", + "security": "Keamanan", + "type": "Jenis", + "upload_snapshot": "Unggah snapshot" + }, + "store": { + "missing_addons": "Add-on tidak ada? Aktifkan mode tingkat lanjut di halaman profil pengguna Anda", + "no_results_found": "Tidak ada hasil yang ditemukan di {repository}.", + "registries": "Registri", + "repositories": "Repositori" + }, + "system": { + "core": { + "cpu_usage": "Penggunaan CPU Core", + "ram_usage": "Penggunaan RAM Core" + }, + "host": { + "change": "Ubah", + "change_hostname": "Ubah Nama Host", + "confirm_reboot": "Yakin ingin me-reboot host?", + "confirm_shutdown": "Yakin ingin mematikan host?", + "deployment": "Penyebaran", + "docker_version": "Versi Docker", + "emmc_lifetime_used": "Waktu Hidup eMMC yang Digunakan", + "failed_to_get_hardware_list": "Gagal mendapatkan daftar perangkat keras", + "failed_to_import_from_usb": "Gagal mengimpor dari USB", + "failed_to_reboot": "Gagal me-reboot host", + "failed_to_set_hostname": "Gagal menyetel nama host", + "failed_to_shutdown": "Gagal mematikan host", + "hardware": "Perangkat keras", + "hostname": "Nama host", + "import_from_usb": "Impor dari USB", + "ip_address": "Alamat IP", + "new_hostname": "Masukkan nama host baru:", + "operating_system": "Sistem Operasi", + "reboot_host": "Nyalakan ulang host", + "shutdown_host": "Matikan host", + "used_space": "Ruang yang digunakan" + }, + "log": { + "get_logs": "Gagal mendapatkan log {provider}, {error}", + "log_provider": "Penyedia Log" + }, + "supervisor": { + "beta_backup": "Pastikan Anda memiliki cadangan data sebelum mengaktifkan fitur ini.", + "beta_join_confirm": "Ingin bergabung dengan kanal beta?", + "beta_release_items": "Ini mencakup rilis beta untuk:", + "beta_warning": "Rilis beta diperuntukkan bagi penguji dan pengadopsi awal dan dapat berisi perubahan kode program yang tidak stabil", + "channel": "Kanal", + "cpu_usage": "Penggunaan CPU Supervisor", + "failed_to_reload": "Gagal memuat ulang Supervisor", + "failed_to_set_option": "Gagal menyetel opsi Supervisor", + "failed_to_update": "Gagal memperbarui Supervisor", + "join_beta_action": "Gabung dengan kanal beta", + "join_beta_description": "Dapatkan pembaruan beta untuk Home Assistant (RC), Supervisor, dan host", + "leave_beta_action": "Tinggalkan kanal beta", + "leave_beta_description": "Dapatkan pembaruan stabil untuk Home Assistant, Supervisor, dan host", + "ram_usage": "Penggunaan RAM Supervisor", + "reload_supervisor": "Muat Ulang Supervisor", + "share_diagnostics": "Bagikan Diagnostik", + "share_diagnostics_description": "Bagikan laporan kerusakan dan informasi diagnostik.", + "share_diagonstics_description": "Apakah Anda ingin membagikan laporan kerusakan dan informasi diagnostik secara otomatis saat Supervisor menemukan kesalahan yang tidak terduga? {line_break} Ini akan memungkinkan kami memperbaiki masalah. Informasinya hanya dapat diakses oleh tim Home Assistant Core dan tidak akan dibagikan dengan orang lain. {line_break} Data tidak menyertakan informasi pribadi/sensitif dan Anda dapat menonaktifkannya di setelan kapan saja.", + "share_diagonstics_title": "Bantu Menyempurnakan Home Assistant", + "unhealthy_description": "Menjalankan penginstalan yang tidak sehat akan menyebabkan masalah. Di bawah ini adalah daftar masalah yang ditemukan pada instalasi Anda, klik pada tautan untuk mempelajari cara menyelesaikan masalah tersebut.", + "unhealthy_reason": { + "docker": "Lingkungan Docker tidak berfungsi dengan benar", + "privileged": "Supervisor tidak memiliki hak istimewa", + "setup": "Penyiapan Supervisor gagal", + "supervisor": "Supervisor tidak dapat memperbarui" + }, + "unhealthy_title": "Instalasi Anda tidak sehat", + "unsupported_description": "Di bawah ini adalah daftar masalah yang ditemukan pada instalasi Anda, klik pada tautan untuk mempelajari cara menyelesaikan masalah tersebut.", + "unsupported_reason": { + "container": "Kontainer diketahui menyebabkan masalah", + "dbus": "DBUS", + "docker_configuration": "Konfigurasi Docker", + "docker_version": "Versi Docker", + "job_conditions": "Kondisi pekerjaan yang diabaikan", + "lxc": "LXC", + "network_manager": "Manajer Jaringan", + "os": "Sistem Operasi", + "privileged": "Supervisor tidak memiliki hak istimewa", + "systemd": "Systemd" + }, + "unsupported_title": "Anda menjalankan instalasi yang tidak didukung", + "update_supervisor": "Perbarui Supervisor", + "warning": "PERINGATAN" + } } }, "ui": { diff --git a/translations/frontend/it.json b/translations/frontend/it.json index cc2554ef18..f75db206d9 100644 --- a/translations/frontend/it.json +++ b/translations/frontend/it.json @@ -241,9 +241,9 @@ }, "ram_usage": "Utilizzo RAM componente aggiuntivo", "rebuild": "ricostruisci", - "restart": "Riavvia", + "restart": "riavvia", "start": "avvia", - "stop": "ferma", + "stop": "arresta", "uninstall": "disinstalla", "visit_addon_page": "Visita la pagina di {name} per maggiori dettagli" }, @@ -291,7 +291,7 @@ "save": "Salva", "show_more": "Ulteriori informazioni al riguardo", "update": "Aggiorna", - "update_available": "{count, plural,\n one {aggiornamento}\n other {{count} aggiornamenti}\n} in sospeso", + "update_available": "{count, plural,\n one {Aggiornamento}\n other {{count} aggiornamenti}\n} in sospeso", "version": "Versione", "yes": "Sì" }, diff --git a/translations/frontend/ja.json b/translations/frontend/ja.json index 9390a174f3..bb2dec5959 100644 --- a/translations/frontend/ja.json +++ b/translations/frontend/ja.json @@ -97,13 +97,388 @@ } }, "supervisor": { + "addon": { + "configuration": { + "audio": { + "default": "デフォルト", + "header": "オーディオ", + "input": "入力", + "output": "出力" + }, + "network": { + "container": "コンテナ", + "disabled": "無効", + "header": "ネットワーク", + "host": "ホスト" + }, + "no_configuration": "このアドオンは、設定を公開していません...", + "options": { + "edit_in_ui": "UIで編集", + "edit_in_yaml": "YAMLで編集", + "header": "オプション", + "invalid_yaml": "無効なYAML", + "show_unused_optional": "未使用のオプション構成オプションを表示する" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "アドオンの変更ログを取得できませんでした", + "go_to_config": "アドオンの起動に失敗しました - 構成検証に失敗しました。", + "install": "アドオンのインストールに失敗しました", + "restart": "アドオンの再起動に失敗しました", + "start": "アドオンの開始に失敗しました", + "start_invalid_config": "設定に移動", + "stop": "アドオンの停止に失敗しました", + "uninstall": "アドオンのアンインストールに失敗しました", + "validate_config": "アドオン構成の検証に失敗しました" + }, + "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') は Linux カーネルのセキュリティモジュールで、ネットワークアクセス、生のソケットアクセス、特定のファイルの読み取り、書き込み、実行の許可などのアドオン機能を制限します。\n\nアドオンの作成者は、アドオン用に最適化されたセキュリティプロファイルを提供するか、無効化を要求することができます。AppArmorを無効にすると、セキュリティリスクが高まるため、アドオンのセキュリティスコアに悪影響を及ぼします。", + "title": "AppArmor" + }, + "auth_api": { + "description": "アドオンはホームアシスタントに対してユーザーを認証することができ、ユーザーはホームアシスタントのユーザー名/パスワードを使用して、アドオン内で実行されているアプリケーションにログインすることができます。このバッジは、アドオンの作成者がこの機能を要求しているかどうかを示します。", + "title": "HomeAssistant認証" + }, + "docker_api": { + "description": "アドオンの作成者は、システムで実行されている Docker インスタンスへの管理アクセスを持つアドオンを要求しました。このモードでは、アドオンはホームアシスタントシステム全体にフルアクセスと制御を提供し、セキュリティリスクを追加し、誤用時にシステムに損害を与える可能性があります。したがって、この機能はアドオンのセキュリティ スコアに悪影響を与えます。\n\nこのレベルのアクセスは自動的には付与されず、ユーザーが確認する必要があります。これを行うには、アドオンの保護モードを手動で無効にする必要があります。あなたが知っている場合にのみ、保護モードを無効にし、このアドオンのソースを信頼し、必要とします。", + "title": "Dockerへのフルアクセス" + }, + "full_access": { + "description": "このアドオンは、アドオンの作成者の要求によって、システムのハードウェアへのフルアクセスが与えられます。アクセスは、Docker の特権モードと同等です。これにより、セキュリティリスクが生じる可能性があるため、この機能はアドオンのセキュリティ スコアに悪影響を及ぼします。\n\nこのレベルのアクセスは自動的には付与されず、ユーザーが確認する必要があります。これを行うには、アドオンの保護モードを手動で無効にする必要があります。あなたが知っている場合にのみ、保護モードを無効にし、このアドオンのソースを信頼し、必要とします。", + "title": "フル ハードウェア アクセス" + }, + "hassio_api": { + "description": "アドオンは、アドオン作成者の要求によって、スーパーバイザ API へのアクセス権を与えられました。既定では、アドオンはシステムの一般的なバージョン情報にアクセスできます。アドオンが API への「マネージャー」または「管理者」レベルのアクセスを要求すると、ホームアシスタントシステムの複数の部分を制御するアクセス権を取得します。このアクセス許可はこのバッジによって示され、アドオンのセキュリティ スコアに悪影響を与えます。", + "title": "SupervisorAPIアクセス" + }, + "homeassistant_api": { + "description": "このアドオンは、ホームアシスタント API を介して直接、実行中のホームアシスタントインスタンスにアクセスできます。このモードはアドオンの認証も処理するため、アドオンは追加の認証トークンを必要とせずにホームアシスタントと対話できます。", + "title": "Home AssistantAPIアクセス" + }, + "host_network": { + "description": "アドオンは通常、独自の隔離されたネットワークレイヤーで実行され、ホストオペレーティングシステムのネットワークにアクセスすることができません。場合によっては、このネットワーク隔離によってアドオンのサービス提供が制限されることがあります。そのため、アドオンの作者が隔離を解除して、アドオンがホストマシンのネットワーク機能にフルアクセスできるようにすることができます。これにより、アドオンはより多くのネットワーク機能を得ることができますが、セキュリティが低下するため、アドオンでこのオプションを使用すると、アドオンのセキュリティ評価が低くなります。", + "title": "ホスト ネットワーク" + }, + "host_pid": { + "description": "通常、アドオンが実行するプロセスは、他のすべてのシステムプロセスから分離されます。アドオン作成者は、ホスト システム インスタンスで実行されているシステム プロセスにアクセスし、ホスト システム上のプロセスを生成できるようにアドオンを要求しました。このモードでは、アドオンはホームアシスタントシステム全体にフルアクセスと制御を提供し、セキュリティリスクを追加し、誤用時にシステムに損害を与える可能性があります。したがって、この機能はアドオンのセキュリティ スコアに悪影響を与えます。\n\nこのレベルのアクセスは自動的には付与されず、ユーザーが確認する必要があります。これを行うには、アドオンの保護モードを手動で無効にする必要があります。あなたが知っている場合にのみ、保護モードを無効にし、このアドオンのソースを信頼し、必要とします。", + "title": "ホストプロセスの名前空間" + }, + "ingress": { + "description": "このアドオンは、Ingressを使用して、インターフェイスをHomeAssistantに安全に埋め込みます。", + "title": "イングレス" + }, + "label": { + "apparmor": "apparmor", + "auth": "認証", + "docker": "docker", + "hardware": "ハードウェア", + "hass": "hass", + "hassio": "hassio", + "host": "ホスト", + "host_pid": "ホスト PID", + "ingress": "イングレス", + "rating": "評価", + "stage": "ステージ" + }, + "rating": { + "description": "ホーム アシスタントは、各アドオンにセキュリティ評価を提供します。アドオンがシステムに必要なアクセスが多いほどスコアが低くなり、セキュリティリスクが高くなる可能性があります。\n\nスコアは1から6までのスケールです。1 が最も低いスコア (最も安全で最も高いリスクと見なされる) で、スコア 6 が最高スコア (最も安全で最も低いリスクと見なされます) です。", + "title": "アドオンのセキュリティ評価" + }, + "role": { + "admin": "管理者", + "backup": "バックアップ", + "default": "デフォルト", + "homeassistant": "homeassistant", + "manager": "マネージャー" + }, + "stage": { + "description": "アドオンには、次の 3 つのステージのいずれかを設定できます。\n\n{icon_stable} **安定** : これらは、運用環境で使用する準備ができているアドオンです。\n\n{icon_experimental} **実験**: バグが含まれている可能性があり、未完成の可能性があります。\n\n{icon_deprecated} **非推奨**: これらのアドオンは、更新プログラムを受信しなくなります。", + "title": "アドオンステージ" + } + }, + "changelog": "Changelog", + "cpu_usage": "アドオンCPU使用率", + "hostname": "ホスト名", + "install": "インストール", + "new_update_available": "{name} {version}が利用可能です", + "not_available_arch": "このアドオンは、デバイスのプロセッサまたはデバイスにインストールされているオペレーティングシステムと互換性がありません。", + "not_available_version": "ホーム アシスタント {core_version_installed} を無効にして、このバージョンのアドオンに更新するには、少なくともバージョン {core_version_needed} のホーム アシストが必要です", + "open_web_ui": "Web UI を開く", + "option": { + "auto_update": { + "description": "新しいバージョンが利用可能になったときにアドオンを自動更新します", + "title": "自動更新" + }, + "boot": { + "description": "システムブート時にアドオンを起動する", + "title": "起動時に開始" + }, + "ingress_panel": { + "description": "このアドオンをサイドバーに追加する", + "title": "サイドバーに表示" + }, + "protected": { + "description": "アドオンからのシステムアクセスの昇格をブロックします。", + "title": "保護モード" + }, + "watchdog": { + "description": "これはクラッシュした場合にアドオンを起動します。", + "title": "ウォッチドッグ" + } + }, + "protection_mode": { + "content": "このアドオンの保護モードは無効になっています。これによりアドオンはシステム全体へのフルアクセスが可能になり、セキュリティリスクが追加され、誤って使用された場合にはシステムにダメージを与える可能性があります。保護モードを無効にするのは、このアドオンのソースを知り、必要とし、信頼している場合のみにしてください。", + "enable": "保護モードを有効にする", + "title": "警告: 保護モードは無効です。" + }, + "ram_usage": "アドオンのRAM使用量", + "rebuild": "再構築", + "restart": "再起動", + "start": "開始", + "stop": "停止", + "uninstall": "アンインストール", + "visit_addon_page": "詳細については、 {name}ページにアクセスしてください" + }, + "documentation": { + "get_documentation": " {error}アドオンドキュメントの取得に失敗しました" + }, + "failed_to_reset": "{error}アドオン構成のリセットに失敗しました", + "failed_to_save": " {error}アドオン構成の保存に失敗しました", + "logs": { + "get_logs": " {error}アドオンログの取得に失敗しました" + }, + "panel": { + "configuration": "構成", + "documentation": "ドキュメント", + "info": "情報", + "log": "ログ" + }, + "state": { + "installed": "アドオンがインストールされている", + "not_available": "アドオンはお使いのシステムでは利用できません", + "not_installed": "アドオンがインストールされていません" + } + }, "common": { - "cancel": "キャンセル" + "cancel": "キャンセル", + "description": "説明", + "error": { + "unknown": "不明なエラー", + "update_failed": "更新に失敗しました" + }, + "failed_to_restart_name": "{name} を再起動できませんでした", + "failed_to_update_name": "{name} を更新できませんでした", + "learn_more": "詳細情報", + "new_version_available": "新しいバージョンが利用可能", + "newest_version": "最新バージョン", + "no": "いいえ", + "refresh": "リフレッシュ", + "release_notes": "リリースノート", + "reload": "リロード", + "reset_defaults": "デフォルトにリセット", + "reset_options": "リセットオプション", + "restart": "再起動", + "restart_name": "{name}を再起動します", + "running_version": "現在 {version} を実行しています", + "save": "保存", + "show_more": "この詳細情報を表示する", + "update": "更新", + "update_available": "{count, plural,\n one {アップデート}\n other {{count} アップデート}\n} 保留中", + "version": "バージョン", + "yes": "はい" }, "confirm": { + "reset_options": { + "text": "すべてのオプションをリセットしてもよろしいですか?", + "title": "リセットオプション" + }, + "restart": { + "text": "{name}を再起動してもよろしいですか?", + "title": " {name}を再起動" + }, "update": { + "text": "{name}をバージョン{version}に更新してもよろしいですか?", "title": "{name}更新" } + }, + "dashboard": { + "addon_new_version": "新しいバージョンが利用可能", + "addon_running": "アドオンが実行されています", + "addon_stopped": "アドオンが停止しています", + "addons": "アドオン", + "no_addons": "まだアドオンがインストールされていません。アドオンストアにアクセスして始めましょう!" + }, + "dialog": { + "network": { + "connected_to": "{ssid}に接続しました", + "dhcp": "DHCP", + "disabled": "無効", + "dns_servers": "DNSサーバー", + "failed_to_change": "ネットワーク設定の変更に失敗しました", + "gateway": "ゲートウェイアドレス", + "ip_netmask": "IPアドレス/ネットマスク", + "open": "開く", + "scan_ap": "アクセスポイントのスキャン", + "static": "静的", + "title": "ネットワーク設定", + "unsaved": "保存されていない変更があります。タブを変更するとこれらは失われます。続行しますか?", + "warning": "Wi-Fi、IP、またはゲートウェイアドレスを変更すると、接続が失われる可能性があります。", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "新しいレジストリの追加", + "add_registry": "レジストリの追加", + "failed_to_add": "レジストリを追加できませんでした", + "failed_to_remove": "レジストリを削除できませんでした", + "no_registries": "レジストリが構成されていません", + "password": "パスワード", + "registry": "レジストリ", + "remove": "削除", + "title_add": "新しいコンテナレジストリの追加", + "title_manage": "コンテナレジストリの管理", + "username": "ユーザー名" + }, + "repositories": { + "add": "追加", + "remove": "削除", + "title": "アドオンリポジトリの管理" + }, + "restart_addon": { + "confirm_text": "アドオンの再起動", + "text": "変更を保存してアドオンを再起動しますか?" + }, + "update": { + "create_snapshot": "更新前に{name}のスナップショットを作成する", + "snapshot": "スナップショット", + "snapshotting": "{name} のスナップショットの作成", + "updating": "{name}をバージョン{version}に更新しています" + } + }, + "my": { + "error": "不明なエラーが発生しました", + "faq_link": "マイホームアシスタントFAQ", + "not_supported": "このリダイレクトは、HomeAssistantインスタンスではサポートされていません。 サポートされているリダイレクトとそれらが導入されたバージョンについては、{link}を確認してください。" + }, + "panel": { + "dashboard": "ダッシュボード", + "snapshots": "スナップショット", + "store": "アドオンストア", + "system": "システム" + }, + "snapshot": { + "addons": "アドオン", + "available_snapshots": "利用可能なスナップショット", + "could_not_create": "スナップショットを作成できませんでした。", + "create": "作成", + "create_blocked_not_running": "システムが {state} 状態であるため、スナップショットの作成は現在できません。", + "create_snapshot": "スナップショットの作成", + "description": "スナップショットでは、Home Assistantインスタンスのすべてのデータを簡単にバックアップして復元することができます。", + "enter_password": "パスワードを入力してください。", + "folder": { + "addons/local": "ローカルアドオン", + "homeassistant": "HomeAssistantの設定", + "media": "メディア", + "share": "共有", + "ssl": "SSL" + }, + "folders": "フォルダー", + "full_snapshot": "フルスナップショット", + "name": "名前", + "no_snapshots": "スナップショットはまだありません。", + "partial_snapshot": "部分的なスナップショット", + "password": "パスワード", + "password_protected": "パスワードで保護された", + "password_protection": "パスワード保護", + "security": "セキュリティ", + "type": "タイプ", + "upload_snapshot": "スナップショットのアップロード" + }, + "store": { + "missing_addons": "アドオンがありませんか?ユーザープロファイルページで詳細モードを有効にする", + "no_results_found": "{repository}に結果が見つかりません。", + "registries": "レジストリ", + "repositories": "リポジトリ" + }, + "system": { + "core": { + "cpu_usage": "コアCPU使用率", + "ram_usage": "コアRAMの使用量" + }, + "host": { + "change": "変更", + "change_hostname": "ホスト名の変更", + "confirm_reboot": "ホストを再起動しますか?", + "confirm_shutdown": "ホストをシャットダウンしてもよろしいですか?", + "deployment": "展開", + "docker_version": "Dockerバージョン", + "emmc_lifetime_used": "eMMC の有効期間が使用されます", + "failed_to_get_hardware_list": "ハードウェア一覧を取得できませんでした", + "failed_to_import_from_usb": "USBからのインポートに失敗しました", + "failed_to_reboot": "ホストの再起動に失敗しました", + "failed_to_set_hostname": "ホスト名の設定に失敗しました", + "failed_to_shutdown": "ホストのシャットダウンに失敗しました", + "hardware": "ハードウェア", + "hostname": "ホスト名", + "import_from_usb": "USBからインポート", + "ip_address": "IPアドレス", + "new_hostname": "新しいホスト名を入力してください:", + "operating_system": "オペレーティングシステム", + "reboot_host": "ホストの再起動", + "shutdown_host": "ホストをシャットダウンします", + "used_space": "使用済みスペース" + }, + "log": { + "get_logs": "{error},{provider}ログの取得に失敗しました", + "log_provider": "ログプロバイダー" + }, + "supervisor": { + "beta_backup": "この機能をアクティブ化する前に、データのバックアップを作成してください。", + "beta_join_confirm": "ベータチャンネルに参加しますか?", + "beta_release_items": "これには、次のベータリリースが含まれます。", + "beta_warning": "ベータ版はテスターと早期導入者向けであり、不安定なコード変更を含むことができます", + "channel": "チャネル", + "cpu_usage": "SupervisorのCPU使用率", + "failed_to_reload": "スーパーバイザのリロードに失敗しました", + "failed_to_set_option": "Supervisorオプションの設定に失敗しました", + "failed_to_update": "Supervisorの更新に失敗しました", + "join_beta_action": "ベータチャンネルに参加", + "join_beta_description": "Home Assistant(RC)、Supervisor、ホストのベータ版アップデートを入手する", + "leave_beta_action": "ベータチャンネルを離れる", + "leave_beta_description": "Home Assistant、Supervisor、およびホストの安定した更新を取得する", + "ram_usage": "SupervisorのRAM使用量", + "reload_supervisor": "リロード Supervisor", + "share_diagnostics": "診断の共有", + "share_diagnostics_description": "クラッシュ レポートと診断情報を共有します。", + "share_diagonstics_description": "スーパーバイザで予期しないエラーが発生したときに、クラッシュ レポートと診断情報を自動的に共有しますか?{line_break}これにより、問題を解決することができ、情報はホームアシスタントコアチームにのみアクセス可能であり、他の人と共有されません。{line_break}データには、個人情報や機密情報は含まれていないので、いつでも設定でこれを無効にすることができます。", + "share_diagonstics_title": "HomeAssistantの改善にご協力ください", + "unhealthy_description": "正常でないインストールを実行すると、問題が発生します。以下は、インストールに関する問題の一覧です。", + "unhealthy_reason": { + "docker": "Docker 環境が正常に動作していません", + "privileged": "Supervisorには特権がありません", + "setup": "Supervisorのセットアップに失敗しました", + "supervisor": "Supervisorを更新できませんでした" + }, + "unhealthy_title": "インストールが正常でない", + "unsupported_description": "以下は、インストールに関する問題の一覧です。", + "unsupported_reason": { + "container": "問題が発生することが知られているコンテナ", + "dbus": "DBUS", + "docker_configuration": "Dockerの設定", + "docker_version": "Dockerのバージョン", + "job_conditions": "無視されたジョブ条件", + "lxc": "LXC", + "network_manager": "ネットワークマネージャー", + "os": "オペレーティング システム", + "privileged": "Supervisorには特権がありません", + "systemd": "Systemd" + }, + "unsupported_title": "サポートされていないインストールを実行しています", + "update_supervisor": "スーパーバイザーの更新", + "warning": "警告" + } } }, "ui": { @@ -202,7 +577,8 @@ }, "script": { "cancel": "キャンセル", - "cancel_multiple": "キャンセル" + "cancel_multiple": "キャンセル", + "run": "実行" }, "service": { "run": "実行" @@ -297,6 +673,19 @@ "yes": "はい" }, "components": { + "addon-picker": { + "addon": "アドオン", + "error": { + "fetch_addons": { + "description": "アドオンを取得するとエラーが返されました。", + "title": "アドオンの取得中にエラーが発生しました" + }, + "no_supervisor": { + "description": "Supervisorが見つからなかったため、アドオンを読み込めませんでした。", + "title": "Supervisorなし" + } + } + }, "area-picker": { "add_dialog": { "add": "追加", @@ -365,6 +754,8 @@ "changed_to_state": "{state}に変更されました", "cleared_device_class": "クリアされました ({device_class} 未検出)", "detected_device_class": "{device_class} が検出されました", + "is_closing": "閉じてます", + "is_opening": "開いています", "rose": "ローズ", "set": "セット", "turned_off": "オフになりました", @@ -470,7 +861,10 @@ } }, "service-control": { - "target": "ターゲット" + "required": "この項目は必須です", + "service_data": "サービスデータ", + "target": "ターゲット", + "target_description": "このサービスは、対象となる領域、デバイス、またはエンティティとして使用する必要があります。" }, "service-picker": { "service": "サービス" @@ -681,6 +1075,7 @@ "scene": "シーン", "script": "スクリプト", "server_control": "サーバーコントロール", + "tag": "タグ", "users": "ユーザー", "zone": "場所" }, @@ -739,6 +1134,7 @@ "clusters": "クラスタの管理", "reconfigure": "デバイスを再設定", "remove": "デバイスを削除", + "view_in_visualization": "ビジュアライゼーションで表示", "zigbee_information": "Zigbee 情報" }, "confirmations": { @@ -1483,6 +1879,7 @@ "cant_edit": "編集できるのは、UI で作成された項目のみです。", "caption": "デバイス", "confirm_delete": "このデバイスを削除してもよろしいですか?", + "confirm_disable_config_entry": "{entry_name}デバイスはもうありません。設定エントリを無効にしますか?", "confirm_rename_entity_ids": "エンティティの ID も変更しますか?", "confirm_rename_entity_ids_warning": "この場合、これらのエンティティを現在使用している構成 (オートメーション、スクリプト、シーン、Lovelace など) は変更されません。", "data_table": { @@ -1595,7 +1992,8 @@ }, "filtering": { "clear": "消去", - "filtering_by": "フィルタリング" + "filtering_by": "フィルタリング", + "show": "表示" }, "header": "Home Assistant の設定", "helpers": { @@ -1666,7 +2064,18 @@ "delete_confirm": "この統合を削除しますか?", "device_unavailable": "デバイスを利用できません", "devices": "{count} {count, plural,\n one {デバイス}\n other {デバイス}\n}", + "disable_restart_confirm": "Homeassistantを再起動して、このintegrationを無効にします。", + "disable": { + "disabled": "無効", + "disabled_by": { + "device": "デバイス", + "integration": "インテグレーション", + "user": "ユーザー" + }, + "disabled_cause": "{cause}によって無効化" + }, "documentation": "ドキュメント", + "enable_restart_confirm": "Home Assistantを再起動して、このintegrationを有効にします", "entities": "{count} {count, plural,\n one {エンティティ}\n other {エントリー}\n}", "entity_unavailable": "エンティティは利用できません", "firmware": "ファームウェア: {version}", @@ -1686,8 +2095,10 @@ "config_flow": { "aborted": "中止", "close": "閉じる", + "could_not_load": "構成フローを読み込めませんでした", "created_config": "{name} の構成が作成しました。", "dismiss": "ダイアログを閉じる", + "error": "エラー", "error_saving_area": "エリアを保存できません: {error}", "external_step": { "description": "この手順を完了するには、外部のウエブサイトにアクセスする必要があります。", @@ -1696,6 +2107,10 @@ "finish": "完了", "loading_first_time": "インテグレーションのインストールを完了するまでお待ちください", "not_all_required_fields": "必須フィールドの一覧に入力するわけではありません。", + "pick_flow_step": { + "new_flow": "いいえ、{integration} の他のインスタンスを設定します", + "title": "これらを発見しました。設定しますか?" + }, "submit": "送信" }, "configure": "構成", @@ -1703,6 +2118,11 @@ "confirm_new": "{integration}を設定しますか?", "description": "インテグレーションの管理とセットアップ", "details": "インテグレーションの詳細", + "disable": { + "disabled_integrations": "{number}は無効", + "hide_disabled": "無視されたインテグレーションを表示", + "show_disabled": "無効なintegrationを表示" + }, "discovered": "発見", "home_assistant_website": "Home Assistant のウェブサイト", "ignore": { @@ -2291,6 +2711,7 @@ "caption": "可視化", "header": "ネットワークの視覚化", "highlight_label": "デバイスを強調表示", + "refresh_topology": "トポロジの更新", "zoom_label": "デバイスにズーム" } }, @@ -2512,13 +2933,18 @@ "type": "イベントの種類" }, "services": { + "accepts_target": "このサービスは、ターゲットを受け入れます。例: `entity_id:light.bed_light`", + "all_parameters": "利用可能なすべてのパラメータ", "call_service": "サービスの呼び出し", "column_description": "説明", "column_example": "例", "column_parameter": "パラメータ", "description": "サービス開発ツールを使用すると、ホームアシスタントで利用可能なサービスを呼び出すことができます。", "fill_example_data": "データ記入例", - "title": "サービス" + "title": "サービス", + "ui_mode": "UIモードに移動します", + "yaml_mode": "YAMLモードに移動します", + "yaml_parameters": "YAMLモードでのみ使用可能なパラメータ" }, "states": { "alert_entity_field": "エンティティは必須フィールドです", @@ -2962,6 +3388,8 @@ "error_remove": "構成を削除できません: {error}", "error_save_yaml": "YAMLを保存できません: {error}", "header": "設定を編集", + "lovelace_changed": "Lovelace 構成が更新されましたが、エディタで更新された構成をロードして、現在の変更を失いますか?", + "reload": "リロード", "resources_moved": "リソースはLovelace構成に追加されなくなりましたが、Lovelace構成パネルで追加できます。", "save": "保存", "saved": "保存しました", @@ -3048,8 +3476,11 @@ "playback_title": "メッセージの再生" }, "my": { + "component_not_loaded": "このリダイレクトは、ホーム アシスタント インスタンスではサポートされていません。このリダイレクトを使用するには、integration {integration} が必要です。", + "documentation": "ドキュメント", "error": "不明なエラーが発生しました", "faq_link": "マイホームアシスタントFAQ", + "no_supervisor": "このリダイレクトは、ホーム アシスタントのインストールではサポートされていません。ホームアシスタントオペレーティングシステムまたはホームアシスタントの監視インストール方法のいずれかが必要です。詳細については、{docs_link}を参照してください。", "not_supported": "このリダイレクトは、HomeAssistantインスタンスではサポートされていません。サポートされているリダイレクトとそれらが導入されたバージョンについては、 {link}を確認してください。" }, "page-authorize": { diff --git a/translations/frontend/ko.json b/translations/frontend/ko.json index 2b0704f949..5d25e57e93 100644 --- a/translations/frontend/ko.json +++ b/translations/frontend/ko.json @@ -101,6 +101,39 @@ "unknown": "알수없음" } }, + "supervisor": { + "common": { + "cancel": "취소", + "failed_to_restart_name": "{name} 을(를) 다시 시작하지 못했습니다", + "restart_name": "{name} 다시 시작" + }, + "confirm": { + "restart": { + "text": "{name} 을(를) 다시 시작하시겠습니까?", + "title": "{name} 다시 시작" + }, + "update": { + "title": "{name} 업데이트" + } + }, + "dialog": { + "repositories": { + "add": "추가하기", + "remove": "제거하기", + "title": "추가 기능 저장소 관리" + }, + "restart_addon": { + "confirm_text": "추가 기능 다시 시작", + "text": "변경 사항과 함께 추가 기능을 다시 시작하시겠습니까?" + }, + "update": { + "create_snapshot": "업데이트하기 전에 {name}의 스냅샷을 만들기", + "snapshot": "스냅샷", + "snapshotting": "{name} 스냅샷을 만드는 중", + "updating": "{name} 을(를) {version} 버전으로 업데이트 중" + } + } + }, "ui": { "auth_store": { "ask": "로그인 상태를 유지하시겠습니까?", @@ -119,7 +152,7 @@ }, "automation": { "last_triggered": "최근 트리거 됨", - "trigger": "실행" + "trigger": "동작 실행" }, "camera": { "not_available": "이미지 사용 불가" @@ -199,7 +232,8 @@ }, "script": { "cancel": "취소", - "cancel_multiple": "{number} 개 취소" + "cancel_multiple": "{number} 개 취소", + "run": "실행" }, "service": { "run": "실행" @@ -296,13 +330,13 @@ "components": { "area-picker": { "add_dialog": { - "add": "추가", + "add": "추가하기", "failed_create_area": "영역을 만들지 못했습니다.", "name": "이름", "text": "새로운 영역의 이름을 입력해주세요.", - "title": "새로운 영역 추가" + "title": "새로운 영역 추가하기" }, - "add_new": "새로운 영역 추가...", + "add_new": "새로운 영역 추가하기", "area": "영역", "clear": "지우기", "show_areas": "영역 표시" @@ -455,9 +489,9 @@ "service": "서비스" }, "user-picker": { - "add_user": "사용자 추가", + "add_user": "사용자 추가하기", "no_user": "사용자 없음", - "remove_user": "사용자 제거" + "remove_user": "사용자 제거하기" } }, "dialogs": { @@ -529,8 +563,8 @@ "unit_of_measurement": "측정 단위" }, "input_select": { - "add": "추가", - "add_option": "옵션 추가", + "add": "추가하기", + "add_option": "옵션 추가하기", "no_options": "아직 옵션이 없습니다.", "options": "옵션" }, @@ -571,7 +605,7 @@ "confirm_remove_text": "이 구성요소를 제거하시겠습니까?", "confirm_remove_title": "구성요소를 제거하시겠습니까?", "not_provided": "이 구성요소는 현재 사용할 수 없습니다. 기기의 남겨진 잔여 데이터 이거나 제거, 변경 또는 기능 장애가 있는 통합 구성요소일 수 있습니다.", - "remove_action": "구성요소 제거", + "remove_action": "구성요소 제거하기", "remove_intro": "구성요소를 더 이상 사용하지 않는 경우, 이를 제거하여 정리할 수 있습니다." }, "script": { @@ -638,6 +672,7 @@ "scene": "씬", "script": "스크립트", "server_control": "서버 제어", + "tag": "태그", "users": "사용자", "zone": "지역" }, @@ -692,10 +727,10 @@ }, "zha_device_info": { "buttons": { - "add": "이 기기를 통해 기기 추가", + "add": "이 기기를 통해 기기 추가하기", "clusters": "클러스터 관리", "reconfigure": "기기 재설정", - "remove": "기기 제거", + "remove": "기기 제거하기", "zigbee_information": "Zigbee 기기 서명" }, "confirmations": { @@ -794,8 +829,8 @@ }, "editor": { "actions": { - "add": "동작 추가", - "delete": "삭제", + "add": "동작 추가하기", + "delete": "삭제하기", "delete_confirm": "정말 삭제하시겠습니까?", "duplicate": "복제", "header": "동작", @@ -805,12 +840,12 @@ "type_select": "동작 유형", "type": { "choose": { - "add_option": "옵션 추가", + "add_option": "옵션 추가하기", "conditions": "조건", "default": "기본 동작", "label": "선택", "option": "옵션 {number}", - "remove_option": "옵션 제거", + "remove_option": "옵션 제거하기", "sequence": "동작" }, "condition": { @@ -878,12 +913,12 @@ "no_inputs": "이 블루프린트에는 입력이 없습니다." }, "conditions": { - "add": "조건 추가", - "delete": "삭제", + "add": "조건 추가하기", + "delete": "삭제하기", "delete_confirm": "정말 삭제하시겠습니까?", "duplicate": "복제", "header": "조건", - "introduction": "조건은 자동화 규칙의 선택사항이며 트리거 될 때 설정된 모든 조건이 충족되지 않으면 동작되지 않도록 사용할 수 있습니다.", + "introduction": "조건은 선택 사항이며 자동화가 트리거 될 때 설정된 모든 조건이 충족되지 않으면 동작되지 않도록 할 수 있습니다.", "learn_more": "조건에 대해 더 알아보기", "name": "조건", "type_select": "조건 유형", @@ -982,8 +1017,8 @@ "move_up": "위로 이동", "save": "저장하기", "triggers": { - "add": "트리거 추가", - "delete": "삭제", + "add": "트리거 추가하기", + "delete": "삭제하기", "delete_confirm": "정말 삭제하시겠습니까?", "duplicate": "복제", "header": "트리거", @@ -1424,8 +1459,11 @@ "description": "구성된 기기를 관리합니다", "device_info": "기기 정보", "device_not_found": "기기를 찾을 수 없습니다.", + "disabled_by": { + "config_entry": "구성 항목" + }, "entities": { - "add_entities_lovelace": "Lovelace 에 추가", + "add_entities_lovelace": "Lovelace 에 추가하기", "disabled_entities": "+{count} {count, plural,\n one {비활성화 된 구성요소}\n other {비활성화 된 구성요소}\n}", "entities": "구성요소", "hide_disabled": "비활성화 된 구성요소 숨김", @@ -1487,7 +1525,7 @@ "introduction": "Home Assistant 는 구성요소의 식별을 위해 모든 구성요소에 고유한 레지스트리를 부여합니다. 각각의 구성요소들은 자신만의 고유한 구성요소 ID 를 가집니다.", "introduction2": "구성요소 레지스트리를 사용하여 이름을 대체하거나 구성요소 ID 변경 또는 Home Assistant 에서 항목을 제거할 수 있습니다.", "remove_selected": { - "button": "선택된 구성요소 제거", + "button": "선택된 구성요소 제거하기", "confirm_partly_text": "선택한 {selected} 개의 구성요소 중 {removable} 개의 구성요소를 제거할 수 있습니다. 통합 구성요소가 더 이상 구성요소를 제공하지 않는 경우에만 구성요소를 제거할 수 있으며, 제거된 통합 구성요소의 구성요소를 제거하기 전에 Home Assistant 를 다시 시작해야 할 수 있습니다. 제거 가능한 구성요소를 제거하시겠습니까?", "confirm_partly_title": "선택된 {number} {number, plural,\n one { 개의 구성요소}\n other { 개의 구성요소}\n} 만 제거할 수 있습니다.", "confirm_text": "이러한 구성요소가 포함된 경우 Lovelace 구성 및 자동화에서 제거해야 합니다.", @@ -1513,12 +1551,12 @@ "caption": "도우미", "description": "자동화 구축에 도움이 되는 요소를 관리합니다", "dialog": { - "add_helper": "도우미 추가", - "add_platform": "{platform} 추가", + "add_helper": "도우미 추가하기", + "add_platform": "{platform} 추가하기", "create": "만들기" }, "picker": { - "add_helper": "도우미 추가", + "add_helper": "도우미 추가하기", "headers": { "editable": "수정 가능", "entity_id": "구성요소 ID", @@ -1566,7 +1604,7 @@ "missing_zwave": "Z-Wave 구성 패널이 보이지 않으신가요? {integrations_page} 의 ZHA 항목으로 이동되었습니다." }, "integrations": { - "add_integration": "통합 구성요소 추가", + "add_integration": "통합 구성요소 추가하기", "attention": "주의 필요", "caption": "통합 구성요소", "config_entry": { @@ -1670,8 +1708,8 @@ "dismiss": "닫기", "edit_dashboard": "대시보드 편집", "icon": "아이콘", - "new_dashboard": "새로운 대시보드 추가", - "remove_default": "이 기기에서 기본값으로 제거", + "new_dashboard": "새로운 대시보드 추가하기", + "remove_default": "이 기기에서 기본값으로 제거하기", "require_admin": "관리자 전용", "set_default": "이 기기에서 기본값으로 설정", "show_sidebar": "사이드바에 표시", @@ -1682,7 +1720,7 @@ "url_error_msg": "URL 은 - 를 포함해야 하며 _ 및 - 를 제외한 공백이나 특수 문자를 포함할 수 없습니다" }, "picker": { - "add_dashboard": "대시보드 추가", + "add_dashboard": "대시보드 추가하기", "headers": { "conf_mode": "구성 방법", "default": "기본값", @@ -1703,7 +1741,7 @@ "create": "만들기", "delete": "삭제", "dismiss": "닫기", - "new_resource": "새로운 리소스 추가", + "new_resource": "새로운 리소스 추가하기", "type": "리소스 유형", "update": "업데이트", "url": "URL", @@ -1712,7 +1750,7 @@ "warning_text": "리소스를 추가하는 것은 위험할 수 있습니다. 리소스의 출처를 알고 신뢰할 수 있는지 확인해주세요. 잘못된 리소스는 시스템에 심각한 손상을 줄 수 있습니다." }, "picker": { - "add_resource": "새로운 리소스 추가", + "add_resource": "새로운 리소스 추가하기", "headers": { "type": "유형", "url": "URL" @@ -1853,9 +1891,9 @@ "none_found": "OpenZWave 인스턴스를 찾을 수 없습니다. 이 상황이 잘못되었다고 생각되시면 OpenZWave 및 MQTT 설정을 확인하고 Home Assistant 가 MQTT 브로커와 통신할 수 있는지 확인해주세요." }, "services": { - "add_node": "노드 추가", + "add_node": "노드 추가하기", "cancel_command": "명령 취소", - "remove_node": "노드 제거" + "remove_node": "노드 제거하기" } }, "person": { @@ -1897,13 +1935,13 @@ "editor": { "default_name": "새로운 씬", "devices": { - "add": "기기 추가", + "add": "기기 추가하기", "delete": "기기 삭제", "header": "기기", "introduction": "씬에 포함시키려는 기기를 추가해주세요. 모든 기기를 이 씬에 원하는 상태로 설정해주세요." }, "entities": { - "add": "구성요소 추가", + "add": "구성요소 추가하기", "delete": "구성요소 삭제", "device_entities": "기기에 속하는 구성요소를 추가하면 해당 기기가 추가됩니다.", "header": "구성요소", @@ -1919,7 +1957,7 @@ "unsaved_confirm": "변경된 내용을 저장하지 않았습니다. 이 페이지를 떠나시겠습니까?" }, "picker": { - "add_scene": "씬 추가", + "add_scene": "씬 추가하기", "delete_confirm": "이 씬을 삭제하시겠습니까?", "delete_scene": "씬 삭제", "edit_scene": "씬 편집", @@ -1948,7 +1986,7 @@ "id": "구성요소 ID", "id_already_exists": "ID 가 이미 존재합니다", "id_already_exists_save_error": "고유한 ID 가 아니므로 이 스크립트를 저장할 수 없습니다. 다른 ID 를 선택하거나 자동생성하려면 비워두세요.", - "introduction": "스크립트를 사용하여 동작의 시퀀스를 실행합니다.", + "introduction": "스크립트를 사용하여 일련의 동작을 실행합니다.", "link_available_actions": "사용가능한 동작에 대해 더 알아보기.", "load_error_not_editable": "scripts.yaml 의 스크립트만 편집할 수 있습니다.", "max": { @@ -1969,7 +2007,7 @@ "sequence_sentence": "이 스크립트의 동작 시퀀스." }, "picker": { - "add_script": "스크립트 추가", + "add_script": "스크립트 추가하기", "duplicate": "복제", "edit_script": "스크립트 편집", "header": "스크립트 편집기", @@ -2040,7 +2078,7 @@ } }, "tag": { - "add_tag": "태그 추가", + "add_tag": "태그 추가하기", "automation_title": "{name} 태그가 검색되었습니다", "caption": "태그", "confirm_remove": "{tag} 태그를 제거하시겠습니까?", @@ -2088,7 +2126,7 @@ "change_password": "비밀번호 변경", "confirm_user_deletion": "{name} 을(를) 삭제하시겠습니까?", "deactivate_user": "사용자 비활성화", - "delete_user": "사용자 삭제", + "delete_user": "사용자 삭제하기", "group": "그룹", "id": "ID", "name": "표시 이름", @@ -2103,7 +2141,7 @@ "username": "사용자 이름" }, "picker": { - "add_user": "사용자 추가", + "add_user": "사용자 추가하기", "headers": { "group": "그룹", "is_active": "활성화", @@ -2116,7 +2154,7 @@ "users_privileges_note": "사용자 그룹 기능은 현재 작업 중이며, 사용자는 UI 를 통해 인스턴스를 관리할 수 없습니다. 모든 사용자 관리 API 엔드포인트가 관리자에 대한 액세스를 올바르게 제한하는지를 확인하는 중입니다." }, "zha": { - "add_device": "기기 추가", + "add_device": "기기 추가하기", "add_device_page": { "discovered_text": "기기가 발견되면 여기에 표시됩니다.", "no_devices_found": "발견된 기기가 없습니다. 기기를 검색하는 동안 기기가 페어링 모드 상태이고 절전모드가 해제되어있는지 확인해주세요.", @@ -2174,8 +2212,8 @@ "unbind_button_label": "그룹 바인딩 해제" }, "groups": { - "add_group": "그룹 추가", - "add_members": "구성 기기 추가", + "add_group": "그룹 추가하기", + "add_members": "구성 기기 추가하기", "caption": "그룹", "create": "그룹 생성", "create_group": "Zigbee Home Automation - 그룹 만들기", @@ -2188,8 +2226,8 @@ "group_not_found": "그룹을 찾을 수 없습니다!", "groups": "그룹", "members": "구성 기기", - "remove_members": "구성 기기 제거", - "removing_members": "구성 기기 제거" + "remove_members": "구성 기기 제거하기", + "removing_members": "구성 기기 제거하기" }, "network": { "caption": "네트워크" @@ -2200,7 +2238,7 @@ } }, "zone": { - "add_zone": "지역 추가", + "add_zone": "지역 추가하기", "caption": "지역", "configured_in_yaml": "configuration.yaml 에서 구성된 지역은 UI 에서 편집할 수 없습니다.", "confirm_delete": "이 지역을 삭제하시겠습니까?", @@ -2268,7 +2306,7 @@ "true": "참" }, "node_management": { - "add_to_group": "그룹에 추가", + "add_to_group": "그룹에 추가하기", "entities": "이 노드의 구성요소", "entity_info": "구성요소 정보", "exclude_entity": "Home Assistant 에서 이 구성요소 제외", @@ -2284,8 +2322,8 @@ "nodes_in_group": "이 그룹의 다른 노드:", "pooling_intensity": "폴링 강도", "protection": "보호", - "remove_broadcast": "송출 제거", - "remove_from_group": "그룹에서 제거", + "remove_broadcast": "송출 제거하기", + "remove_from_group": "그룹에서 제거하기", "set_protection": "보호 설정" }, "ozw_log": { @@ -2296,8 +2334,8 @@ "tail": "로그의 끝 부분" }, "services": { - "add_node": "노드 추가", - "add_node_secure": "노드 보안 추가", + "add_node": "노드 추가하기", + "add_node_secure": "노드 보안 추가하기", "cancel_command": "명령 취소", "heal_network": "네트워크 복구", "heal_node": "노드 복구", @@ -2305,8 +2343,8 @@ "print_node": "노드 출력", "refresh_entity": "구성요소 새로고침", "refresh_node": "노드 새로고침", - "remove_failed_node": "실패한 노드 제거", - "remove_node": "노드 제거", + "remove_failed_node": "실패한 노드 제거하기", + "remove_node": "노드 제거하기", "replace_failed_node": "실패한 노드 교체", "save_config": "구성 저장", "soft_reset": "소프트 리셋", @@ -2416,6 +2454,10 @@ "yaml_unsupported": "YAML 모드에서 Lovelace UI 를 사용하는 경우 이 기능은 사용할 수 없습니다." }, "cards": { + "actions": { + "action_confirmation": "\"{action}\" 동작을 실행하시겠습니까?", + "no_service": "실행할 서비스가 지정되지 않았습니다" + }, "confirm_delete": "이 카드를 삭제하시겠습니까?", "empty_state": { "go_to_integrations_page": "통합 페이지로 이동하기.", @@ -2439,7 +2481,7 @@ "header": "안전 모드 활성화" }, "shopping-list": { - "add_item": "항목 추가", + "add_item": "항목 추가하기", "checked_items": "선택한 항목", "clear_items": "선택한 항목 삭제" }, @@ -2716,7 +2758,7 @@ "title": "제목" }, "edit_view": { - "add": "뷰 추가", + "add": "뷰 추가하기", "delete": "뷰 삭제", "edit": "뷰 편집", "header": "구성 보기", @@ -2778,7 +2820,7 @@ "header": "뷰 선택" }, "suggest_card": { - "add": "Lovelace UI 에 추가", + "add": "Lovelace UI 에 추가하기", "create_own": "다른 카드 선택", "header": "제안 드리는 카드" }, @@ -2829,7 +2871,7 @@ } }, "mailbox": { - "delete_button": "삭제", + "delete_button": "삭제하기", "delete_prompt": "이 메시지를 삭제하시겠습니까?", "empty": "메시지가 존재하지 않습니다", "playback_title": "메시지 재생" diff --git a/translations/frontend/nb.json b/translations/frontend/nb.json index 719a8d4a5e..95e9021395 100644 --- a/translations/frontend/nb.json +++ b/translations/frontend/nb.json @@ -104,21 +104,206 @@ }, "supervisor": { "addon": { + "configuration": { + "audio": { + "default": "Standard", + "header": "Lyd", + "input": "Inngang", + "output": "Utgang" + }, + "network": { + "container": "Container", + "disabled": "Deaktivert", + "header": "Nettverk", + "host": "Vert" + }, + "no_configuration": "Dette tillegget utsetter ikke konfigurasjon for deg til å tulle med...", + "options": { + "edit_in_ui": "Rediger i brukergrensesnittet", + "edit_in_yaml": "Rediger i YAML", + "header": "Alternativer", + "invalid_yaml": "Ugyldig YAML", + "show_unused_optional": "Vis ubrukte valgfrie konfigurasjonsalternativer" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "Kunne ikke hente endringslogg for tillegg", + "go_to_config": "Kunne ikke starte tillegget - validering av konfigurasjon mislyktes!", + "install": "Kunne ikke installere tillegget", + "restart": "Kunne ikke starte tillegget på nytt", + "start": "Kunne ikke starte tillegget", + "start_invalid_config": "Gå til konfigurasjon", + "stop": "Kunne ikke stoppe tillegget", + "uninstall": "Kunne ikke avinstallere tillegget", + "validate_config": "Kunne ikke validere tilleggskonfigurasjonen" + }, + "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') er en sikkerhetsmodul for Linux-kjernen som begrenser tilleggsfunksjoner som nettverkstilgang, rå socket-tilgang og tillatelse til å lese, skrive eller kjøre bestemte filer.\n\nTilleggsforfattere kan oppgi sikkerhetsprofilene sine, optimalisert for tillegget, eller be om at det deaktiveres. Hvis AppArmor er deaktivert, vil det øke sikkerhetsrisikoen og har derfor en negativ innvirkning på sikkerhetspoengsummen for tillegget.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Et tillegg kan autentisere brukere mot Home Assistant, slik at tillegg kan gi brukerne muligheten til å logge på applikasjoner som kjører i tillegg, ved hjelp av brukernavnet / passordet til Home Assistant. Dette merket indikerer om tilleggsforfatteren ber om denne muligheten.", + "title": "Godkjenning av Home Assistant" + }, + "docker_api": { + "description": "Tilleggsforfatteren har bedt om at tillegget skal ha ledertilgang til Docker-forekomsten som kjører på systemet ditt. Denne modusen gir tilleggsprogrammet full tilgang og kontroll til hele ditt Home Assistant system, noe som gir sikkerhetsrisiko og kan skade systemet ditt når det misbrukes. Derfor påvirker denne funksjonen tilleggssikkerhetspoengene negativt.\n\nDette tilgangsnivået gis ikke automatisk og må bekreftes av deg. For å gjøre dette må du deaktivere beskyttelsesmodus på tillegget manuelt. Deaktiver bare beskyttelsesmodus hvis du vet, trenger OG stoler på kilden til dette tillegget.", + "title": "Full Docker-tilgang" + }, + "full_access": { + "description": "Dette tillegget får full tilgang til maskinvaren til systemet ditt, på forespørsel fra tilleggsforfatteren. Tilgang er sammenlignbar med den privilegerte modusen i Docker. Siden dette åpner mulige sikkerhetsrisikoer, påvirker denne funksjonen tilleggssikkerhetspoengene negativt. \n\nDette tilgangsnivået gis ikke automatisk og må bekreftes av deg. For å gjøre dette må du deaktivere beskyttelsesmodus på tillegget manuelt. Deaktiver bare beskyttelsesmodus hvis du vet, trenger OG stoler på kilden til dette tillegget.", + "title": "Full maskinvaretilgang" + }, + "hassio_api": { + "description": "Tillegget ble gitt tilgang til Supervisor API, på forespørsel fra tilleggsforfatteren. Som standard kan tillegget få tilgang til generell versjonsinformasjon om systemet ditt. Når tillegget ber om \"manager\" eller \"admin\" nivå tilgang til API, vil det få tilgang til å kontrollere flere deler av Home Assistant-systemet. Denne tillatelsen er angitt av dette merket og vil påvirke tilleggssikkerhetspoengene for tillegget negativt.", + "title": "Supervisor API-tilgang" + }, + "homeassistant_api": { + "description": "Dette tillegget har tilgang til den kjørende Home Assistant forekomsten direkte via Home Assistant API. Denne modusen håndterer også autentisering for tillegget, som gjør det mulig for et tillegg å samhandle med Home Assistant uten behov for ekstra autentiseringstokener.", + "title": "Home Assistant API-tilgang" + }, + "host_network": { + "description": "Tillegg kjøres vanligvis i sitt eget isolerte nettverkslag, noe som forhindrer dem i å få tilgang til nettverket til vertsoperativsystemet. I noen tilfeller kan denne nettverksisolasjonen begrense tillegg når det gjelder å tilby sine tjenester, og isolasjonen kan derfor løftes av tilleggsforfatteren, noe som gir tilleggsprogrammet full tilgang til vertsmaskinens nettverksfunksjoner. Dette gir tilleggsprogrammet flere nettverksmuligheter, men senker sikkerheten, og derfor vil sikkerhetsvurderingen av tillegget senkes når dette alternativet brukes av tillegget.", + "title": "Vertsnettverk" + }, + "host_pid": { + "description": "Vanligvis er prosessene tillegget kjører, isolert fra alle andre systemprosesser. Tilleggsforfatteren har bedt tillegget om å ha tilgang til systemprosessene som kjører på vertssystemforekomsten, og la tillegget gyte prosesser på vertssystemet også. Denne modusen gir tillegget full tilgang og kontroll til hele Home Assistant-systemet, som legger til sikkerhetsrisikoer, og kan skade systemet når det misbrukes. Denne funksjonen påvirker derfor sikkerhetspoengsummen negativt.\n\nDette tilgangsnivået gis ikke automatisk og må bekreftes av deg. Hvis du vil gjøre dette, må du deaktivere beskyttelsesmodus på tillegget manuelt. Deaktiver bare beskyttelsesmodus hvis du vet, trenger og stoler på kilden til dette tillegget.", + "title": "Vert behandler navneområdet" + }, + "ingress": { + "description": "Dette tillegget bruker Ingress til å bygge grensesnittet sikkert inn i Home Assistant.", + "title": "Ingress" + }, + "label": { + "apparmor": "apparmor", + "auth": "Auth", + "docker": "Docker", + "hardware": "Maskinvare", + "hass": "Hass", + "hassio": "HassIO", + "host": "Vert", + "host_pid": "vert pid", + "ingress": "ingress", + "rating": "Vurdering", + "stage": "Nivå" + }, + "rating": { + "description": "Home Assistant gir en sikkerhetsvurdering for hvert av tilleggene, som indikerer risikoen ved bruk av dette tillegget. Jo mer tilgang et tillegg krever på systemet ditt, desto lavere poengsum, og dermed øker den mulige sikkerhetsrisikoen.\n\nEn poengsum er på en skala fra 1 til 6. Der 1 er den laveste poengsummen (ansett som den mest usikre og høyeste risikoen) og en score på 6 er den høyeste poengsummen (regnes som den sikreste og laveste risikoen).", + "title": "Sikkerhetsvurdering for tillegg" + }, + "role": { + "admin": "admin", + "backup": "sikkerhetskopi", + "default": "Standard", + "homeassistant": "hjemmeassistent", + "manager": "Manager" + }, + "stage": { + "description": "Tillegg kan ha en av tre trinn: \n\n{icon_stable} ** Stabil **: Disse er tillegg som er klare til å brukes i produksjon.\n\n{icon_experimental} ** Eksperimentell **: Disse kan inneholde feil og kan være uferdige.\n\n{icon_deprecated} ** Utdatert **: Disse tilleggene mottar ikke lenger noen oppdateringer.", + "title": "Tilleggstrinn" + } + }, + "changelog": "Endringslogg", + "cpu_usage": "Tillegg CPU forbruk", + "hostname": "Vertsnavn", + "install": "Installer", + "new_update_available": "{name} {version} er tilgjengelig", + "not_available_arch": "Dette tillegget er ikke kompatibelt med prosessoren på enheten din eller operativsystemet du har installert på enheten", + "not_available_version": "Du kjører Home Assistant {core_version_installed} , for å oppdatere til denne versjonen av tillegget trenger du minst versjon {core_version_needed} av Home Assistant", + "open_web_ui": "Åpne nettgrensesnitt", + "option": { + "auto_update": { + "description": "Oppdater tillegget automatisk når det er en ny versjon tilgjengelig", + "title": "Automatisk oppdatering" + }, + "boot": { + "description": "Få tillegget til å starte under en systemoppstart", + "title": "Start ved oppstart" + }, + "ingress_panel": { + "description": "Legg til dette tillegget i sidepanelet", + "title": "Vis i sidepanelet" + }, + "protected": { + "description": "Blokkerer forhøyet systemtilgang fra tillegget", + "title": "Beskyttelsesmodus" + }, + "watchdog": { + "description": "Dette vil starte tillegget hvis det krasjer", + "title": "Vakthund" + } + }, + "protection_mode": { + "content": "Beskyttelsesmodus på dette tillegget er deaktivert! Dette gir tillegget full tilgang til hele systemet, noe som utgjør en sikkerhetsrisiko, og kan skade systemet ditt om det brukes feil. Deaktiver bare beskyttelsesmodus hvis du vet, trenger OG stoler på kilden til dette tillegget.", + "enable": "Aktiver beskyttelsesmodus", + "title": "Advarsel: Beskyttelsesmodus er deaktivert!" + }, + "ram_usage": "Tillegg RAM forbruk", + "rebuild": "Gjenoppbygg", + "restart": "Omstart", + "start": "Start", + "stop": "Stopp", + "uninstall": "Avinstaller", + "visit_addon_page": "Gå til {name}-siden for flere detaljer" + }, + "documentation": { + "get_documentation": "Kunne ikke hente tilleggsdokumentasjon, {error}" + }, + "failed_to_reset": "Kunne ikke tilbakestille tilleggskonfigurasjonen, {error}", + "failed_to_save": "Kunne ikke lagre tilleggskonfigurasjonen, {error}", + "logs": { + "get_logs": "Kunne ikke hente tilleggslogger, {error}" + }, "panel": { "configuration": "Konfigurasjon", "documentation": "Dokumentasjon", "info": "Info", "log": "Logg" + }, + "state": { + "installed": "Tillegget er installert", + "not_available": "Tillegget er ikke tilgjengelig for systemet ditt", + "not_installed": "Tillegget er ikke installert" } }, "common": { "cancel": "Avbryt", + "description": "Beskrivelse", + "error": { + "unknown": "Ukjent feil", + "update_failed": "Oppdatering mislyktes" + }, + "failed_to_restart_name": "Kan ikke starte {name} på nytt", + "failed_to_update_name": "Kunne ikke oppdatere {name}", + "learn_more": "Lær mer", + "new_version_available": "Ny versjon tilgjengelig", "newest_version": "Nyeste versjon", + "no": "Nei", + "refresh": "Oppdater", "release_notes": "Utgivelsesmerknader", + "reload": "Last inn på nytt", + "reset_defaults": "Tilbakestill til standardinnstillinger", + "reset_options": "Tilbakestill innstillinger", + "restart": "Omstart", + "restart_name": "Start {name} på nytt", + "running_version": "Du kjører for øyeblikket versjon {version}", + "save": "Lagre", + "show_more": "Vis mer informasjon om dette", "update": "Oppdater", - "version": "Versjon" + "update_available": "{count, plural,\n one {Oppdatering}\n other {{count} Oppdateringer}\n} venter", + "version": "Versjon", + "yes": "Ja" }, "confirm": { + "reset_options": { + "text": "Er du sikker på at du vil tilbakestille alle instillingene dine?", + "title": "Tilbakestill instillinger" + }, + "restart": { + "text": "Er du sikker på at du vil starte {name} på nytt?", + "title": "Start {name} på nytt" + }, "update": { "text": "Er du sikker på at du vil oppdatere {name} til version {version} ?", "title": "Oppdater {name}" @@ -131,11 +316,175 @@ "addons": "Tillegg", "no_addons": "Du har ikke installert tilleggsprogrammer ennå. Gå over til tilleggsbutikken for å komme i gang!" }, + "dialog": { + "network": { + "connected_to": "Koblet til {ssid}", + "dhcp": "", + "disabled": "Deaktivert", + "dns_servers": "DNS-servere", + "failed_to_change": "Kunne ikke endre nettverksinnstillingene", + "gateway": "Gateway-adresse", + "ip_netmask": "IP-adresse / nettmaske", + "open": "Åpen", + "scan_ap": "Søk etter tilgangspunkter", + "static": "Statisk", + "title": "Nettverksinnstillinger", + "unsaved": "Du har ikke lagrede endringer, disse vil gå tapt hvis du bytter fane, vil du fortsette?", + "warning": "Hvis du endrer Wi-Fi, IP eller gateway-adressene, kan du miste tilkoblingen!", + "wep": "WEP", + "wpa": "WPA-PSK" + }, + "registries": { + "add_new_registry": "Legg til nytt register", + "add_registry": "Legg til register", + "failed_to_add": "Kunne ikke legge til registeret", + "failed_to_remove": "Kunne ikke fjerne registeret", + "no_registries": "Ingen registre er konfigurert", + "password": "Passord", + "registry": "Register", + "remove": "Fjern", + "title_add": "Legg til nytt containerregister", + "title_manage": "Behandle containerregistre", + "username": "Brukernavn" + }, + "repositories": { + "add": "Legg til", + "remove": "Fjern", + "title": "Behandle tilleggspakkelagre" + }, + "restart_addon": { + "confirm_text": "Start tillegg på nytt", + "text": "Ønsker du å starte tillegget på nytt med endringene dine?" + }, + "update": { + "create_snapshot": "Lag en sikkerhetskopi av {name} før du oppdaterer", + "snapshot": "Sikkerhetskopi", + "snapshotting": "Oppretter sikkerhetskopi av {name}", + "updating": "Oppdaterer {name} til version {version}" + } + }, + "my": { + "error": "Det oppstod en ukjent feil", + "faq_link": "Vanlige spørsmål om Min Home Assistant", + "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." + }, "panel": { "dashboard": "Dashboard", "snapshots": "Snapshots", "store": "Tilleggsbutikk", "system": "System" + }, + "snapshot": { + "addons": "Tillegg", + "available_snapshots": "Tilgjengelige sikkerhetskopier", + "could_not_create": "Kunne ikke opprette sikkerhetskopi", + "create": "Opprett", + "create_blocked_not_running": "Å lage en sikkerhetskopi er ikke mulig akkurat nå fordi systemet er i {state} status", + "create_snapshot": "Opprett sikkerhetskopi", + "description": "Sikkerhetskopier lar deg enkelt sikkerhetskopiere og gjenopprette alle dataene fra din Home Assistant forekomst", + "enter_password": "Vennligst skriv inn et passord", + "folder": { + "addons/local": "Lokale tillegg", + "homeassistant": "Home Assistant-konfigurasjon", + "media": "", + "share": "Delt", + "ssl": "" + }, + "folders": "Mapper", + "full_snapshot": "Full sikkerhetskopi", + "name": "Navn", + "no_snapshots": "Du har ingen sikkerhetskopier ennå", + "partial_snapshot": "Delvis sikkerhetskopi", + "password": "Passord", + "password_protected": "Passordbeskyttet", + "password_protection": "Passordbeskyttelse", + "security": "Sikkerhet", + "type": "", + "upload_snapshot": "Last opp sikkerhetskopi" + }, + "store": { + "missing_addons": "Manglende tillegg? Aktivere avansert modus på din brukerprofilside", + "no_results_found": "Ingen resultater funnet i {repository}", + "registries": "Registre", + "repositories": "Datalagre" + }, + "system": { + "core": { + "cpu_usage": "Core CPU forbruk", + "ram_usage": "Core RAM forbruk" + }, + "host": { + "change": "Endre", + "change_hostname": "Endre vertsnavn", + "confirm_reboot": "Er du sikker på at du vil starte verten på nytt?", + "confirm_shutdown": "Er du sikker på at du vil slå av verten?", + "deployment": "Distribusjon", + "docker_version": "Docker versjon", + "emmc_lifetime_used": "eMMC levetid brukt", + "failed_to_get_hardware_list": "Kunne ikke hente maskinvarelisten", + "failed_to_import_from_usb": "Kunne ikke importere fra USB", + "failed_to_reboot": "Kunne ikke starte verten på nytt", + "failed_to_set_hostname": "Angi vertsnavn mislyktes", + "failed_to_shutdown": "Kunne ikke slå av verten", + "hardware": "Maskinvare", + "hostname": "Vertsnavn", + "import_from_usb": "Importer fra USB", + "ip_address": "IP adresse", + "new_hostname": "Vennligst skriv inn et nytt vertsnavn:", + "operating_system": "Operativsystem", + "reboot_host": "Start verten på nytt", + "shutdown_host": "Slå av verten", + "used_space": "Brukt lagringsplass" + }, + "log": { + "get_logs": "Kunne ikke hente {provider}-logger, {error}", + "log_provider": "Loggleverandør" + }, + "supervisor": { + "beta_backup": "Forsikre deg om at du har sikkerhetskopier av dataene dine før du aktiverer denne funksjonen", + "beta_join_confirm": "Vil du bli med i beta-kanalen?", + "beta_release_items": "Dette inkluderer betaversjoner for:", + "beta_warning": "Betautgivelser er for testere og tidlige brukere og kan inneholde ustabile kodeendringer", + "channel": "Kanal", + "cpu_usage": "Supervisor CPU forbruk", + "failed_to_reload": "Kunne ikke laste inn Supervisor på nytt", + "failed_to_set_option": "Kan ikke sette Supervisor instilling", + "failed_to_update": "Kunne ikke oppdatere Supervisor", + "join_beta_action": "Bli med i beta-kanalen", + "join_beta_description": "Få beta-oppdateringer for Home Assistant (RCs), Supervisor og vert", + "leave_beta_action": "Forlat beta-kanalen", + "leave_beta_description": "Få stabile oppdateringer for Home Assistant, Supervisor og vert", + "ram_usage": "Supervisor RAM forbruk", + "reload_supervisor": "Last inn Supervisor på nytt", + "share_diagnostics": "Del diagnostikk", + "share_diagnostics_description": "Del krasjrapporter og diagnoseinformasjon", + "share_diagonstics_description": "Vil du automatisk dele krasjrapporter og diagnostisk informasjon når Supervisor møter på uventede feil? {line_break} Dette vil tillate oss å løse problemene, informasjonen er bare tilgjengelig for Home Assistant Core-teamet og deles ikke med andre. {line_break} Dataene inkluderer ikke privat / sensitiv informasjon, og du kan deaktivere dette i innstillingene når som helst.", + "share_diagonstics_title": "Hjelp med å forbedre Home Assistant", + "unhealthy_description": "Å kjøre en usunn installasjon vil forårsake problemer. Nedenfor er en liste over problemer som er funnet med installasjonen din. Klikk på lenkene for å lære hvordan du kan løse problemene.", + "unhealthy_reason": { + "docker": "Docker-miljøet fungerer ikke som det skal", + "privileged": "Supervisor er ikke privilegert", + "setup": "Installasjonen av Supervisor mislyktes", + "supervisor": "Supervisor kunne ikke oppdatere" + }, + "unhealthy_title": "Installasjonen din er usunn", + "unsupported_description": "Nedenfor er en liste over problemer som er funnet med installasjonen din. Klikk på lenkene for å lære hvordan du kan løse problemene.", + "unsupported_reason": { + "container": "Containere som er kjent for å forårsake problemer", + "dbus": "", + "docker_configuration": "Docker-konfigurasjon", + "docker_version": "Docker-versjon", + "job_conditions": "Ignorerte arbeidsforhold", + "lxc": "", + "network_manager": "Nettverksbehandler", + "os": "Operativsystem", + "privileged": "Supervisor er ikke privilegert", + "systemd": "" + }, + "unsupported_title": "Du kjører en installasjon som ikke støttes", + "update_supervisor": "Oppdater Supervisor", + "warning": "ADVARSEL" + } } }, "ui": { diff --git a/translations/frontend/nl.json b/translations/frontend/nl.json index e1740f86be..b8041697f4 100644 --- a/translations/frontend/nl.json +++ b/translations/frontend/nl.json @@ -104,32 +104,386 @@ }, "supervisor": { "addon": { + "configuration": { + "audio": { + "default": "Standaard", + "header": "Audio", + "input": "Invoer", + "output": "Uitvoer" + }, + "network": { + "container": "Container", + "disabled": "Uitgeschakeld", + "header": "Netwerk", + "host": "Host" + }, + "no_configuration": "Deze add-on laat geen configuratie zien waar je mee kunt spelen..", + "options": { + "edit_in_ui": "Bewerken in UI", + "edit_in_yaml": "Bewerken in YAML", + "header": "Opties", + "invalid_yaml": "Ongeldige YAML", + "show_unused_optional": "Ongebruikte optionele configuratieopties tonen" + } + }, "dashboard": { + "action_error": { + "get_changelog": "Mislukt om add-on changelog te krijgen", + "go_to_config": "Kan de add-on niet starten - configuratie validatie mislukt!", + "install": "De installatie van de add-on is mislukt", + "restart": "Kan de add-on niet herstarten", + "start": "Kan de add-on niet starten", + "start_invalid_config": "Ga naar configuratie", + "stop": "Kan add-on niet stoppen", + "uninstall": "De installatie van de add-on is mislukt", + "validate_config": "De configuratie van de add-on kon niet worden gevalideerd" + }, + "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') is een beveiligingsmodule voor de Linux-kernel die de mogelijkheden van add-ons beperkt, zoals netwerktoegang, toegang tot raw socket, en toestemming om specifieke bestanden te lezen, te schrijven of uit te voeren.\n\nAuteurs van add-ons kunnen hun beveiligingsprofielen opgeven, geoptimaliseerd voor de add-on, of vragen om het uit te schakelen. Als AppArmor is uitgeschakeld, verhoogt dit de beveiligingsrisico's en heeft het dus een negatieve invloed op de beveiligingsscore van de add-on.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Een add-on kan gebruikers authenticeren tegen Home Assistant, waardoor add-ons gebruikers de mogelijkheid geven om in te loggen bij applicaties die draaien in add-ons, met hun Home Assistant gebruikersnaam/wachtwoord. Deze badge geeft aan of de auteur van de add-on deze mogelijkheid heeft aangevraagd.", + "title": "Home Assistant Authenticatie" + }, + "docker_api": { + "description": "De auteur van de add-on heeft gevraagd of de add-on beheertoegang heeft tot de Docker-instantie die op uw systeem draait. Deze modus geeft de add-on volledige toegang en controle tot uw gehele Home Assistant-systeem, wat veiligheidsrisico's toevoegt en bij misbruik uw systeem kan beschadigen. Daarom heeft deze functie een negatieve invloed op de beveiligingsscore van de add-on.\n\nDit niveau van toegang wordt niet automatisch verleend en moet door u worden bevestigd. Om dit te doen moet u de beschermingsmodus op de add-on handmatig uitschakelen. Schakel de beveiligingsmodus alleen uit als u de bron van deze add-on kent, nodig hebt EN vertrouwt.", + "title": "Volledige Docker toegang" + }, + "full_access": { + "description": "Deze add-on krijgt volledige toegang tot de hardware van uw systeem, op verzoek van de auteur van de add-on. De toegang is vergelijkbaar met de bevoorrechte modus in Docker. Aangezien dit mogelijke veiligheidsrisico's met zich meebrengt, heeft deze eigenschap een negatieve invloed op de veiligheidsscore van de add-on.\n\nDit niveau van toegang wordt niet automatisch verleend en moet door u worden bevestigd. Om dit te doen, moet u de beveiligingsmodus op de add-on handmatig uitschakelen. Schakel de beveiligingsmodus alleen uit als u de bron van deze add-on kent, nodig hebt EN vertrouwt.", + "title": "Volledige hardwaretoegang" + }, + "hassio_api": { + "description": "De add-on heeft toegang gekregen tot de Supervisor API, op verzoek van de auteur van de add-on. Standaard heeft de add-on toegang tot algemene versie-informatie van uw systeem. Wanneer de add-on 'manager' of 'admin' niveau toegang tot de API aanvraagt, zal het toegang krijgen om meerdere delen van uw Home Assistant systeem te controleren. Deze toestemming wordt aangegeven met deze badge en zal de beveiligingsscore van de add-on negatief beïnvloeden.", + "title": "Supervisor API Toegang" + }, + "homeassistant_api": { + "description": "Deze add-on heeft rechtstreeks toegang tot uw actieve Home Assistant-instantie via de Home Assistant API. Deze modus handelt ook de authenticatie voor de add-on af, waardoor een add-on kan communiceren met Home Assistant zonder de noodzaak van extra authenticatietokens.", + "title": "Home Assistant API Toegang" + }, + "host_network": { + "description": "Add-ons draaien meestal in hun eigen geïsoleerde netwerklaag, waardoor ze geen toegang hebben tot het netwerk van het host-besturingssysteem. In sommige gevallen kan deze netwerkisolatie add-ons beperken in het leveren van hun diensten en daarom kan de isolatie worden opgeheven door de add-on-auteur, waardoor de add-on volledige toegang krijgt tot de netwerkmogelijkheden van de host-machine. Dit geeft de add-on meer netwerkmogelijkheden maar verlaagt de beveiliging, vandaar dat de beveiligingsclassificatie van de add-on zal worden verlaagd als deze optie door de add-on wordt gebruikt.", + "title": "Hostnetwerk" + }, + "host_pid": { + "description": "Gewoonlijk zijn de processen die de add-on uitvoert, geïsoleerd van alle andere systeemprocessen. De auteur van de add-on heeft gevraagd of de add-on toegang heeft tot de systeemprocessen die op het hostsysteem draaien, en staat toe dat de add-on ook processen op het hostsysteem spawnt. Deze modus geeft de add-on volledige toegang tot en controle over uw gehele Home Assistant-systeem, wat veiligheidsrisico's toevoegt en bij misbruik uw systeem kan beschadigen. Daarom heeft deze functie een negatieve invloed op de add-on beveiligingsscore.\n\nDit niveau van toegang wordt niet automatisch verleend en moet door u worden bevestigd. Om dit te doen moet u de beschermingsmodus op de add-on handmatig uitschakelen. Schakel de beveiligingsmodus alleen uit als u de bron van deze add-on kent, nodig hebt EN vertrouwt.", + "title": "Host Processes Namespace" + }, + "ingress": { + "description": "Deze add-on maakt gebruik van Ingress om zijn interface veilig toe te passen in Home Assistant.", + "title": "Ingress" + }, + "label": { + "apparmor": "apparmor", + "auth": "auth", + "docker": "docker", + "hardware": "hardware", + "hass": "hass", + "hassio": "hassio", + "host": "host", + "host_pid": "host pid", + "ingress": "ingress", + "rating": "beoordeling", + "stage": "stadium" + }, + "rating": { + "description": "Home Assistant geeft een veiligheidsscore aan elke add-on, die aangeeft welke risico's het gebruik van deze add-on met zich meebrengt. Hoe meer toegang een add-on tot je systeem vereist, hoe lager de score, waardoor de mogelijke veiligheidsrisico's toenemen.\n\nEen score is op een schaal van 1 tot 6. Waarbij 1 de laagste score is (beschouwd als het meest onveilige en het grootste risico) en een score van 6 de hoogste score is (beschouwd als het meest veilige en het minste risico).", + "title": "Add-on Veiligheidsbeoordeling" + }, + "role": { + "admin": "admin", + "backup": "back-up", + "default": "standaard", + "homeassistant": "homeassistant", + "manager": "manager" + }, + "stage": { + "description": "Add-ons kunnen een van de drie stadia hebben:\n\n{icon_stable} **Stabiel**: Dit zijn add-ons die klaar zijn om in productie gebruikt te worden.\n\n{icon_experimental} **Experimenteel**: Deze kunnen bugs bevatten, en kunnen onvoltooid zijn.\n\n{icon_deprecated} *Vervallen**: Deze add-ons zullen niet langer updates ontvangen.", + "title": "Add-on stadium" + } + }, + "changelog": "Wijzigingsoverzicht", + "cpu_usage": "Add-on CPU-gebruik", + "hostname": "Hostnaam", + "install": "installeren", + "new_update_available": "{name} {version} is beschikbaar", + "not_available_arch": "Deze add-on is niet compatibel met de processor van uw apparaat of het besturingssysteem dat u op uw apparaat hebt geïnstalleerd.", + "not_available_version": "U draait Home Assistant {core_version_installed}. Om de add-on naar deze versie bij te werken dient u op zijn minst Home Assistant {core_version_needed} te hebben.", + "open_web_ui": "Open web UI", "option": { + "auto_update": { + "description": "Update automatisch de add-on wanneer er een nieuwe versie beschikbaar is", + "title": "Automatisch updaten" + }, "boot": { + "description": "Laat de add-on starten tijdens het opstarten van het systeem", "title": "Start bij opstarten" }, "ingress_panel": { + "description": "Voeg deze add-on toe aan uw zijbalk", "title": "Weergeven in zijbalk" + }, + "protected": { + "description": "Blokkeert verhoogde systeem toegang van de add-on", + "title": "Beschermingsmodus" + }, + "watchdog": { + "description": "Dit zal de add-on starten als deze crasht", + "title": "Watchdog" } - } + }, + "protection_mode": { + "content": "Beschermingsmodus op deze add-on is uitgeschakeld! Dit geeft de add-on volledige toegang tot het hele systeem, wat veiligheidsrisico's toevoegt, en uw systeem kan beschadigen bij onjuist gebruik. Schakel de beveiligingsmodus alleen uit als u de bron van deze add-on kent, nodig hebt EN vertrouwt.", + "enable": "Beveiligingsmodus inschakelen", + "title": "Waarschuwing: Beschermingsmodus is uitgeschakeld!" + }, + "ram_usage": "Add-on RAM-gebruik", + "rebuild": "Herbouw", + "restart": "herstarten", + "start": "start", + "stop": "stop", + "uninstall": "verwijderen", + "visit_addon_page": "Bezoek de {naam} pagina voor meer details" + }, + "documentation": { + "get_documentation": "Mislukt om add-on documentatie te krijgen, {error}" + }, + "failed_to_reset": "Kan configuratie van add-on niet resetten, {error}", + "failed_to_save": "Mislukt om add-on configuratie op te slaan, {fout}", + "logs": { + "get_logs": "Mislukt om add-on logs te krijgen, {fout}" + }, + "panel": { + "configuration": "Configuratie", + "documentation": "Documentatie", + "info": "Informatie", + "log": "Logboek" + }, + "state": { + "installed": "Add-on is geïnstalleerd", + "not_available": "Add-on is niet beschikbaar op uw systeem", + "not_installed": "Add-on is niet geïnstalleerd" } }, "common": { + "cancel": "Annuleren", "description": "Omschrijving", + "error": { + "unknown": "Onbekende fout", + "update_failed": "Update mislukt" + }, + "failed_to_restart_name": "Misloukt om {name} te herstarten", + "failed_to_update_name": "Mislukt om {naam} bij te werken", "learn_more": "Meer informatie", - "new_version_available": "Nieuwe versie beschikbaar" + "new_version_available": "Nieuwe versie beschikbaar", + "newest_version": "Nieuwste versie", + "no": "Nee", + "refresh": "Vernieuw", + "release_notes": "Release-notities", + "reload": "Herlaad", + "reset_defaults": "Terugzetten naar standaardinstellingen", + "reset_options": "Reset opties", + "restart": "Herstart", + "restart_name": "Herstart {naam}", + "running_version": "U gebruikt momenteel versie {versie}", + "save": "Opslaan", + "show_more": "Toon meer informatie hierover", + "update": "Update", + "update_available": "{count, plural, one {Update} other {{count} Updates}} Pending", + "version": "Versie", + "yes": "Ja" }, - "dialog": { + "confirm": { + "reset_options": { + "text": "Weet u zeker dat u al uw opties opnieuw wilt instellen?", + "title": "Reset opties" + }, + "restart": { + "text": "Weet u zeker dat u {naam} opnieuw wilt starten?", + "title": "Herstart {naam}" + }, "update": { - "snapshotting": "Maak een snapshot van {name}" + "text": "Weet u zeker dat u {naam} wilt updaten naar versie {versie}?", + "title": "Update {naam}" } }, + "dashboard": { + "addon_new_version": "Nieuwe versie beschikbaar", + "addon_running": "Add-on wordt uitgevoerd", + "addon_stopped": "Add-on is gestopt", + "addons": "Add-ons", + "no_addons": "Je hebt nog geen add-ons geïnstalleerd. Ga naar de add-on store om te beginnen!" + }, + "dialog": { + "network": { + "connected_to": "Verbonden met {ssid}", + "dhcp": "DHCP", + "disabled": "Uitgeschakeld", + "dns_servers": "DNS-servers", + "failed_to_change": "Kan de netwerkinstellingen niet wijzigen", + "gateway": "Gateway-adres", + "ip_netmask": "IP-adres/Netmask", + "open": "Open", + "scan_ap": "Scan voor toegangspunten", + "static": "Statisch", + "title": "Netwerkinstellingen", + "unsaved": "U heeft onopgeslagen wijzigingen, deze gaan verloren als u van tabblad verandert, wilt u doorgaan?", + "warning": "Als u het Wi-Fi, IP of gateway adres verandert, kunt u de verbinding verliezen!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Voeg een nieuw register toe", + "add_registry": "Voeg register toe", + "failed_to_add": "Mislukt om register toe te voegen", + "failed_to_remove": "Het is niet gelukt om het register te verwijderen", + "no_registries": "Geen registers geconfigureerd", + "password": "Wachtwoord", + "registry": "Register", + "remove": "Verwijderen", + "title_add": "Nieuwe container registratie toevoegen", + "title_manage": "Containerregisters beheren", + "username": "Gebruikersnaam" + }, + "repositories": { + "add": "Toevoegen", + "remove": "Verwijder", + "title": "Beheer add-on opslagplaatsen" + }, + "restart_addon": { + "confirm_text": "Herstart add-on", + "text": "Wilt u de add-on opnieuw starten met uw wijzigingen?" + }, + "update": { + "create_snapshot": "Maak een snapshot van {name} voordat u gaat updaten", + "snapshot": "Snapshot", + "snapshotting": "Maak een snapshot van {name}", + "updating": "Bijwerken van {naam} naar versie {versie}" + } + }, + "my": { + "error": "Er is een onbekende fout opgetreden", + "faq_link": "My Home Assistant FAQ", + "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." + }, + "panel": { + "dashboard": "Dashboard", + "snapshots": "Snapshots", + "store": "Add-on Store", + "system": "Systeem" + }, + "snapshot": { + "addons": "Add-ons", + "available_snapshots": "Beschikbare snapshots", + "could_not_create": "Kon geen snapshot maken", + "create": "Maak", + "create_blocked_not_running": "Het maken van een snapshot is nu niet mogelijk omdat het systeem in {status} staat.", + "create_snapshot": "Maak snapshot", + "description": "Met snapshots kunt u gemakkelijk een back-up maken van alle gegevens van uw Home Assistant en ze herstellen.", + "enter_password": "Voer een wachtwoord in.", + "folder": { + "addons/local": "Lokale add-ons", + "homeassistant": "Home Assistant configuratie", + "media": "Media", + "share": "Deel", + "ssl": "SSL" + }, + "folders": "Mappen", + "full_snapshot": "Volledige snapshot", + "name": "Naam", + "no_snapshots": "Je hebt nog geen snapshots.", + "partial_snapshot": "Gedeeltelijke snapshot", + "password": "Wachtwoord", + "password_protected": "beveiligd met wachtwoord", + "password_protection": "Wachtwoord bescherming", + "security": "Beveiliging", + "type": "Type", + "upload_snapshot": "Upload snapshot" + }, + "store": { + "missing_addons": "Mis je de add-ons? Schakel de geadvanceerde modus in op uw gebruikersprofielpagina", + "no_results_found": "Geen resultaten gevonden in {repository}.", + "registries": "Registers", + "repositories": "Opslagplaatsen" + }, "system": { + "core": { + "cpu_usage": "Core CPU-gebruik", + "ram_usage": "Core RAM-gebruik" + }, + "host": { + "change": "Verander", + "change_hostname": "Hostnaam wijzigen", + "confirm_reboot": "Weet u zeker dat u de host opnieuw wilt opstarten?", + "confirm_shutdown": "Weet je zeker dat je de host wilt afsluiten?", + "deployment": "Implementatie", + "docker_version": "Docker versie", + "emmc_lifetime_used": "eMMC Levensduur Gebruikt", + "failed_to_get_hardware_list": "Kan geen hardware lijst krijgen", + "failed_to_import_from_usb": "Importeren vanaf USB mislukt", + "failed_to_reboot": "Kan de host niet herstarten", + "failed_to_set_hostname": "Instellen hostnaam mislukt", + "failed_to_shutdown": "Het is niet gelukt om de host af te sluiten", + "hardware": "Hardware", + "hostname": "Hostnaam", + "import_from_usb": "Importeren van USB", + "ip_address": "IP-adres", + "new_hostname": "Voer een nieuwe hostnaam in:", + "operating_system": "Besturingssysteem", + "reboot_host": "Host opnieuw opstarten", + "shutdown_host": "Host afsluiten", + "used_space": "Gebruikte ruimte" + }, + "log": { + "get_logs": "Mislukt om {provider} logs te krijgen, {error}", + "log_provider": "Logboekprovider" + }, "supervisor": { + "beta_backup": "Zorg ervoor dat u back-ups van uw gegevens hebt voordat u deze functie activeert.", "beta_join_confirm": "Wil je meedoen met de bèta releases?", + "beta_release_items": "Dit omvat beta releases voor:", + "beta_warning": "Beta-releases zijn voor testers en early adopters en kunnen onstabiele codewijzigingen bevatten", + "channel": "Kanaal", + "cpu_usage": "Supervisor CPU-gebruik", + "failed_to_reload": "Het is niet gelukt de Supervisor te herladen", + "failed_to_set_option": "Mislukt om Supervisor-optie in te stellen", + "failed_to_update": "Het is niet gelukt om de Supervisor bij te werken", + "join_beta_action": "Word lid van het beta-kanaal", + "join_beta_description": "Ontvang beta-updates voor Home Assistant (RC's), Supervisor en host", + "leave_beta_action": "Verlaat beta-kanaal", + "leave_beta_description": "Krijg stabiele updates voor Home Assistant, Supervisor en host", + "ram_usage": "Supervisor RAM-gebruik", "reload_supervisor": "Herlaad de Supervisor", - "share_diagonstics_title": "Help Home Assistant te verbeteren" + "share_diagnostics": "Diagnostische gegevens delen", + "share_diagnostics_description": "Deel crash rapporten en diagnostische informatie.", + "share_diagonstics_description": "Zou je automatisch crash rapporten en diagnostische informatie willen delen wanneer de Supervisor onverwachte fouten tegenkomt? {line_break} Dit stelt ons in staat om de problemen op te lossen, de informatie is alleen toegankelijk voor het Home Assistant Core team en zal niet met anderen gedeeld worden.{line_break} De gegevens bevatten geen privé/gevoelige informatie en u kunt dit in de instellingen op elk gewenst moment uitschakelen.", + "share_diagonstics_title": "Help Home Assistant te verbeteren", + "unhealthy_description": "Het draaien van een onvolledige installatie zal problemen veroorzaken. Hieronder vindt u een lijst met problemen die gevonden zijn met uw installatie, klik op de links om te leren hoe u de problemen kunt oplossen.", + "unhealthy_reason": { + "docker": "De Docker omgeving werkt niet goed", + "privileged": "Supervisor heeft geen priviliged acces", + "setup": "Setup van de Supervisor mislukt", + "supervisor": "Supervisor kon niet updaten" + }, + "unhealthy_title": "Uw installatie is niet volledig", + "unsupported_description": "Hieronder vindt u een lijst met problemen die bij uw installatie zijn aangetroffen. Klik op de links om te zien hoe u de problemen kunt oplossen.", + "unsupported_reason": { + "container": "Containers waarvan bekend is dat ze problemen veroorzaken", + "dbus": "DBUS", + "docker_configuration": "Docker Configuratie", + "docker_version": "Docker versie", + "job_conditions": "Genegeerde taakvoorwaarden", + "lxc": "LXC", + "network_manager": "Netwerkmanager", + "os": "Besturingssysteem", + "privileged": "Supervisor heeft geen priviliged acces", + "systemd": "Systemd" + }, + "unsupported_title": "U gebruikt een niet-ondersteunde installatie", + "update_supervisor": "Supervisor updaten", + "warning": "WAARSCHUWING" } } }, @@ -408,6 +762,8 @@ "changed_to_state": "gewijzigd in {state}", "cleared_device_class": "niets gedetecteerd (geen {device_class} gedetecteerd)", "detected_device_class": "{device_class} gedetecteerd", + "is_closing": "aan het sluiten", + "is_opening": "Aan het openen", "rose": "opkomst", "set": "ondergang", "turned_off": "is uitgeschakeld", @@ -786,6 +1142,7 @@ "clusters": "Clusters beheren", "reconfigure": "Apparaat opnieuw configureren", "remove": "Verwijder apparaat", + "view_in_visualization": "Bekijk in Visualisatie", "zigbee_information": "Zigbee-apparaathandtekening" }, "confirmations": { @@ -2363,6 +2720,7 @@ "caption": "Visualisatie", "header": "Netwerkvisualisatie", "highlight_label": "Markeer Apparaten", + "refresh_topology": "Topologie vernieuwen", "zoom_label": "Zoom naar apparaat" } }, @@ -3040,6 +3398,8 @@ "error_remove": "Kan configuratie niet verwijderen: {error}", "error_save_yaml": "Kan YAML niet opslaan: {error}", "header": "Configuratie bewerken", + "lovelace_changed": "De Lovelace configuratie is bijgewerkt, wil je de bijgewerkte configuratie in de editor laden en je huidige wijzigingen verliezen?", + "reload": "Herlaad", "resources_moved": "Bronnen moeten niet langer worden toegevoegd aan de Lovelace-configuratie, maar kunnen worden toegevoegd in het Lovelace-configuratiepaneel.", "save": "Opslaan", "saved": "Opgeslagen", diff --git a/translations/frontend/pl.json b/translations/frontend/pl.json index 8761dffca7..22388ac559 100644 --- a/translations/frontend/pl.json +++ b/translations/frontend/pl.json @@ -69,11 +69,11 @@ "state_badge": { "alarm_control_panel": { "armed": "uzbr", - "armed_away": "uzbr", + "armed_away": "uzbrojony", "armed_custom_bypass": "uzbr", - "armed_home": "uzbr", - "armed_night": "uzbr", - "arming": "uzbr", + "armed_home": "uzbrojony", + "armed_night": "uzbrojony", + "arming": "uzbrajanie", "disarmed": "rozbr", "disarming": "rozbr", "pending": "oczek", @@ -136,7 +136,7 @@ "start_invalid_config": "Przejdź do konfiguracji", "stop": "Nie udało się zatrzymać dodatku", "uninstall": "Nie udało się odinstalować dodatku", - "validate_config": "Nie powiodło się sprawdzenie konfiguracji dodatku." + "validate_config": "Nie powiodło się sprawdzenie konfiguracji dodatku" }, "capability": { "apparmor": { @@ -148,11 +148,11 @@ "title": "Uwierzytelnianie Home Assistant" }, "docker_api": { - "description": "Autor dodatku zażądał, aby dodatek miał dostęp administracyjny do Dockera działającej w Twoim systemie. Ten tryb zapewnia dodatkowi pełny dostęp i kontrolę nad całym systemem Home Assistant, co zwiększa ryzyko bezpieczeństwa i może uszkodzić system w przypadku niewłaściwego użycia. Dlatego ta funkcja negatywnie wpływa na ocenę zabezpieczeń dodatku. \n\nTen poziom dostępu nie jest przyznawany automatycznie i musi zostać potwierdzony przez Ciebie. Aby to zrobić, musisz ręcznie wyłączyć tryb ochrony w dodatku. Wyłącz tryb ochrony tylko wtedy, gdy znasz, potrzebujesz i ufasz źródłowi tego dodatku.", - "title": "Pełny dostęp do Dockera" + "description": "Autor dodatku zażądał, aby dodatek miał dostęp administracyjny do dockera działającej w Twoim systemie. Ten tryb zapewnia dodatkowi pełny dostęp i kontrolę nad całym systemem Home Assistant, co zwiększa ryzyko bezpieczeństwa i może uszkodzić system w przypadku niewłaściwego użycia. Dlatego ta funkcja negatywnie wpływa na ocenę zabezpieczeń dodatku. \n\nTen poziom dostępu nie jest przyznawany automatycznie i musi zostać potwierdzony przez Ciebie. Aby to zrobić, musisz ręcznie wyłączyć tryb ochrony w dodatku. Wyłącz tryb ochrony tylko wtedy, gdy znasz, potrzebujesz i ufasz źródłowi tego dodatku.", + "title": "Pełny dostęp do dockera" }, "full_access": { - "description": "Ten dodatek otrzymuje pełny dostęp do sprzętu Twojego systemu, na żądanie autora dodatku. Dostęp jest porównywalny z trybem uprzywilejowanym w Dockerze. Ponieważ otwiera to potencjalne zagrożenia bezpieczeństwa, ta funkcja negatywnie wpływa na wynik zabezpieczeń dodatku. \n\nTen poziom dostępu nie jest przyznawany automatycznie i musi zostać potwierdzony przez Ciebie. Aby to zrobić, musisz ręcznie wyłączyć tryb ochrony w dodatku. Wyłącz tryb ochrony tylko wtedy, gdy znasz, potrzebujesz i ufasz źródłowi tego dodatku.", + "description": "Ten dodatek otrzymuje pełny dostęp do sprzętu Twojego systemu, na żądanie autora dodatku. Dostęp jest porównywalny z trybem uprzywilejowanym w dockerze. Ponieważ otwiera to potencjalne zagrożenia bezpieczeństwa, ta funkcja negatywnie wpływa na ocenę zabezpieczeń dodatku. \n\nTen poziom dostępu nie jest przyznawany automatycznie i musi zostać potwierdzony przez Ciebie. Aby to zrobić, musisz ręcznie wyłączyć tryb ochrony w dodatku. Wyłącz tryb ochrony tylko wtedy, gdy znasz, potrzebujesz i ufasz źródłowi tego dodatku.", "title": "Pełny dostęp do sprzętu" }, "hassio_api": { @@ -189,7 +189,7 @@ "stage": "etap" }, "rating": { - "description": "Home Assistant zapewnia ocenę bezpieczeństwa dla każdego z dodatków, która wskazuje ryzyko związane z używaniem tego dodatku. Im większy dostęp wymaga w systemie dodatek, tym niższy wynik, a tym samym zwiększa potencjalne zagrożenie bezpieczeństwa. \n\nWynik jest w skali od 1 do 6, gdzie 1 to najniższy wynik (uważany za najbardziej niepewny i najwyższy poziom ryzyka), a wynik 6 to najwyższy wynik (uważany za najbardziej bezpieczny i najniższy poziom ryzyka).", + "description": "Home Assistant zapewnia ocenę bezpieczeństwa dla każdego z dodatków, która wskazuje ryzyko związane z używaniem tego dodatku. Im większy dostęp wymaga w systemie dodatek, tym niższa ocena, a tym samym zwiększa potencjalne zagrożenie bezpieczeństwa. \n\nOcena jest w skali od 1 do 6, gdzie 1 to najniższa ocena (uważany za najbardziej niepewny i najwyższy poziom ryzyka), a 6 to najwyższa ocena (uważany za najbardziej bezpieczny i najniższy poziom ryzyka).", "title": "Ocena bezpieczeństwa dodatku" }, "role": { @@ -200,7 +200,7 @@ "manager": "menedżer" }, "stage": { - "description": "Dodatki mogą mieć jeden z trzech etapów: \n\n {icon_stable} **Stabilny**: to dodatki gotowe do użycia w środowisku produkcyjnym. \n\n {icon_experimental} **Eksperymentalny**: mogą zawierać błędy i być niedokończone. \n\n {icon_deprecated} **Wycofane**: te dodatki nie będą już otrzymywać żadnych aktualizacji.", + "description": "Dodatki mogą mieć jeden z trzech etapów: \n\n {icon_stable} **Stabilny**: to dodatki gotowe do użycia w środowisku produkcyjnym\n\n {icon_experimental} **Eksperymentalny**: mogą zawierać błędy i być niedokończone\n\n {icon_deprecated} **Wycofane**: te dodatki nie będą już otrzymywać żadnych aktualizacji", "title": "Etap dodatku" } }, @@ -218,19 +218,19 @@ "title": "Automatyczna aktualizacja" }, "boot": { - "description": "Uruchom dodatek podczas rozruchu systemu", + "description": "Uruchom dodatek podczas startu systemu", "title": "Uruchamianie przy starcie" }, "ingress_panel": { "description": "Dodaj ten dodatek do bocznego paska", - "title": "Na pasku bocznym" + "title": "Pokaż na pasku bocznym" }, "protected": { "description": "Blokuje podwyższony dostęp do systemu z poziomu dodatku", "title": "Tryb ochrony" }, "watchdog": { - "description": "Spowoduje to uruchomienie dodatku, jeśli się zawiesi", + "description": "Ponowne uruchomienie dodatku, jeśli się zawiesi", "title": "Obserwator" } }, @@ -291,7 +291,7 @@ "save": "Zapisz", "show_more": "Pokaż więcej informacji na ten temat", "update": "Aktualizuj", - "update_available": "{count, plural,\n one {oczekująca aktualizacja}\n few {oczekujące aktualizacje}\n many {oczekujących aktualizacji}\n other {{count} oczekujące aktualizacje}\n}", + "update_available": "{count, plural,\n one {Oczekująca aktualizacja}\n few {Oczekujące aktualizacje}\n many {Oczekujących aktualizacji}\n other {{count} Oczekujące aktualizacje}\n}", "version": "Wersja", "yes": "Tak" }, @@ -306,7 +306,7 @@ }, "update": { "text": "Czy na pewno chcesz zaktualizować {name} do wersji {version}?", - "title": "Zaktualizuj {name}" + "title": "Aktualizacja {name}" } }, "dashboard": { @@ -360,7 +360,7 @@ "create_snapshot": "Utwórz snapshot {name} przed aktualizacją", "snapshot": "Snapshot", "snapshotting": "Tworzę snapshot {name}", - "updating": "Aktualizuję {name} do wersji {version}" + "updating": "Aktualizacja {name} do wersji {version}" } }, "my": { @@ -382,7 +382,7 @@ "create_blocked_not_running": "Tworzenie snapshota nie jest teraz możliwe, ponieważ system jest w {state}.", "create_snapshot": "Utwórz snapshot", "description": "Snapshoty umożliwiają łatwe tworzenie kopii zapasowych i przywracanie wszystkich danych instancji Home Assistant.", - "enter_password": "Proszę wprowadzić hasło.", + "enter_password": "Proszę wprowadzić hasło", "folder": { "addons/local": "Folder Local add-ons", "homeassistant": "Folder konfiguracji Home Assistant", @@ -419,7 +419,7 @@ "confirm_reboot": "Czy na pewno chcesz ponownie uruchomić hosta?", "confirm_shutdown": "Czy na pewno chcesz zamknąć hosta?", "deployment": "Wdrożenie", - "docker_version": "Wersja Dockera", + "docker_version": "Wersja dockera", "emmc_lifetime_used": "Czas zużycia eMMC", "failed_to_get_hardware_list": "Nie udało się pobrać listy sprzętu", "failed_to_import_from_usb": "Nie udało się zaimportować z USB", @@ -451,9 +451,9 @@ "failed_to_set_option": "Nie udało się ustawić opcji Supervisora", "failed_to_update": "Nie udało się zaktualizować Supervisora", "join_beta_action": "Dołącz do kanału beta", - "join_beta_description": "Pobierz aktualizacje beta dla Home Assistant (RC), Supervisora i hosta", + "join_beta_description": "Pobieraj aktualizacje beta dla Home Assistanta (RC), Supervisora i hosta", "leave_beta_action": "Opuść kanał beta", - "leave_beta_description": "Uzyskaj stabilne aktualizacje dla Home Assistanta, Supervisora i hosta", + "leave_beta_description": "Pobieraj stabilne aktualizacje dla Home Assistanta, Supervisora i hosta", "ram_usage": "Zużycie pamięci przez Supervisora", "reload_supervisor": "Przeładuj Supervisora", "share_diagnostics": "Udostępnij dane diagnostyczne", @@ -462,7 +462,7 @@ "share_diagonstics_title": "Pomóż ulepszyć Home Assistanta", "unhealthy_description": "Używanie \"niezdrowej\" instalacji spowoduje problemy. Poniżej znajduje się lista problemów z Twoją instalacją. Kliknij łącza, aby dowiedzieć się, jak możesz je rozwiązać.", "unhealthy_reason": { - "docker": "Środowisko Dockera nie działa poprawnie", + "docker": "Środowisko dockera nie działa poprawnie", "privileged": "Supervisor nie jest uprzywilejowany", "setup": "Konfiguracja Supervisora nie powiodła się", "supervisor": "Supervisor nie mógł się zaktualizować" @@ -472,8 +472,8 @@ "unsupported_reason": { "container": "Kontenery, o których wiadomo, że powodują problemy", "dbus": "DBUS", - "docker_configuration": "Konfiguracja Dockera", - "docker_version": "Wersja Dockera", + "docker_configuration": "Konfiguracja dockera", + "docker_version": "Wersja dockera", "job_conditions": "Zignorowane warunki pracy", "lxc": "LXC", "network_manager": "Menedżer sieci", diff --git a/translations/frontend/pt.json b/translations/frontend/pt.json index fdf31ae1b8..fd34571c5a 100644 --- a/translations/frontend/pt.json +++ b/translations/frontend/pt.json @@ -102,6 +102,294 @@ "unknown": "Desconhecido" } }, + "supervisor": { + "addon": { + "configuration": { + "audio": { + "default": "Predefinição", + "header": "Áudio", + "input": "Entrada", + "output": "Saída" + }, + "options": { + "edit_in_ui": "Editar em UI", + "edit_in_yaml": "Editar em YAML", + "header": "Opções", + "invalid_yaml": "YAML inválido" + } + }, + "dashboard": { + "action_error": { + "install": "Falha ao instalar add-on", + "restart": "Falha ao reiniciar add-on", + "start": "Falha ao iniciar add-on", + "start_invalid_config": "Ir para a configuração", + "stop": "Falha ao parar add-on", + "uninstall": "Falha ao desinstalar add-on" + }, + "capability": { + "apparmor": { + "title": "AppArmor" + }, + "label": { + "apparmor": "AppArmor", + "docker": "docker", + "hardware": "hardware", + "hass": "hass", + "hassio": "hassio", + "rating": "classificação", + "stage": "etapa" + }, + "role": { + "admin": "admin", + "backup": "cópia de segurança", + "default": "Predefinição", + "homeassistant": "homeassistant", + "manager": "Gestor" + } + }, + "cpu_usage": "Utilização de CPU do add-on", + "install": "Instalar", + "open_web_ui": "Abrir o interface web", + "option": { + "auto_update": { + "title": "Atualização automática" + }, + "boot": { + "title": "Iniciar no Arranque" + }, + "ingress_panel": { + "description": "Adicione este add-on à barra lateral" + }, + "protected": { + "title": "Modo de proteção" + }, + "watchdog": { + "title": "Watchdog" + } + }, + "ram_usage": "Utilização de RAM do add-on", + "restart": "Reiniciar", + "start": "Iniciar", + "stop": "Parar", + "uninstall": "Desinstalar" + }, + "panel": { + "configuration": "Configuração", + "documentation": "Documentação", + "info": "Informação", + "log": "Log" + }, + "state": { + "installed": "Add-on está instalado", + "not_installed": "Add-on não está instalado" + } + }, + "common": { + "cancel": "Cancelar", + "description": "Descrição", + "error": { + "unknown": "Erro desconhecido", + "update_failed": "Atualização falhou" + }, + "failed_to_restart_name": "Falha ao reiniciar {name}", + "failed_to_update_name": "Falha ao atualizar {name}", + "learn_more": "Saiba mais", + "new_version_available": "Nova versão disponível", + "newest_version": "Versão mais recente", + "no": "Não", + "refresh": "Atualizar", + "release_notes": "Notas de lançamento", + "reload": "Recarregar", + "reset_defaults": "Repor para os valores padrão", + "reset_options": "Opções de redefinição", + "restart": "Reiniciar", + "restart_name": "Reiniciar {name}", + "running_version": "Está actualmente a executar a versão {version}", + "save": "Guardar", + "show_more": "Mostrar mais informações sobre isso", + "update": "Atualizar", + "version": "Versão", + "yes": "Sim" + }, + "confirm": { + "reset_options": { + "text": "Tem a certeza que deseja fazer reset a todas as opções?" + }, + "restart": { + "text": "Tem a certeza que deseja reiniciar o {name}", + "title": "Reiniciar {name}" + }, + "update": { + "title": "Actualização {name}" + } + }, + "dashboard": { + "addon_new_version": "Nova versão disponível", + "addon_running": "Add-on em execução", + "addon_stopped": "Add-on está parado", + "addons": "Add-ons" + }, + "dialog": { + "network": { + "connected_to": "Conectado a {ssid}", + "dhcp": "DHCP", + "disabled": "Desativado", + "dns_servers": "Servidores DNS", + "failed_to_change": "Falha ao alterar as configurações de rede", + "gateway": "Endereço de gateway", + "ip_netmask": "Endereço IP / máscara de rede", + "open": "Abrir", + "scan_ap": "Procurar pontos de acesso", + "static": "Estático", + "title": "Configurações de rede", + "warning": "Se estiver a alterar os endereços de Wi-Fi, IP ou gateway, poderá perder a ligação.", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Adicionar novo registro", + "add_registry": "Adicionar registro", + "failed_to_add": "Falha ao registrar", + "failed_to_remove": "Falha ao remover o registro", + "no_registries": "Nenhum registo configurado", + "password": "Palavra-passe", + "registry": "Registro", + "remove": "Remover", + "username": "Nome de Utilizador" + }, + "repositories": { + "add": "Adicionar", + "remove": "Remover", + "title": "Gerir repositórios de add-on(s)" + }, + "restart_addon": { + "confirm_text": "Reiniciar o add-on", + "text": "Desejas reiniciar o add-on com as alterações?" + }, + "update": { + "create_snapshot": "Criar uma imagem de sistema do {name} antes de atualizar", + "snapshot": "Imagem de sistema", + "snapshotting": "A criar uma imagem de sistema do {home}", + "updating": "Actualização {nome} para a versão {versão}" + } + }, + "my": { + "error": "Ocorreu um erro desconhecido" + }, + "panel": { + "dashboard": "Painel", + "snapshots": "Imagens do sistema", + "store": "Loja de Add-ons", + "system": "Sistema" + }, + "snapshot": { + "addons": "Add-ons", + "available_snapshots": "Imagens de sistema disponíveis", + "could_not_create": "Não foi possivel criar imagem de sistema", + "create": "Criar", + "create_snapshot": "Criar imagem de sistema", + "description": "As imagens de sistema permitem facilmente criar uma cópia de segurança e restaurar todos os dados da sua instancia do Home Assistant", + "enter_password": "Por favor introduza uma palavra-passe.", + "folder": { + "addons/local": "add-ons locais", + "homeassistant": "Configuração do Home Assistant", + "media": "Mídia", + "share": "Partilhar", + "ssl": "SSL" + }, + "folders": "Pastas", + "full_snapshot": "Imagem completa de sistema", + "name": "Nome", + "no_snapshots": "Ainda não existem imagens de sistema.", + "partial_snapshot": "Imagem parcial de sistema", + "password": "Palavra-passe", + "password_protected": "Protegido por Palavra-passe", + "password_protection": "Protecção por palavra-passe", + "security": "Segurança", + "type": "Tipo", + "upload_snapshot": "Carregar imagem de sistema" + }, + "store": { + "no_results_found": "Nenhum resultado encontrado em {repository} .", + "registries": "Registros", + "repositories": "Repositórios" + }, + "system": { + "core": { + "cpu_usage": "Uso da CPU principal", + "ram_usage": "Uso de RAM principal" + }, + "host": { + "change": "Alterar", + "change_hostname": "Alterar o nome de host", + "confirm_reboot": "Tem a certeza que deseja reiniciar o host?", + "confirm_shutdown": "Tem a certeza que deseja desligar o host?", + "deployment": "Implementação", + "docker_version": "Versão Docker", + "emmc_lifetime_used": "Vida útil de eMMC usada", + "failed_to_get_hardware_list": "Falha ao obter a lista de hardware", + "failed_to_import_from_usb": "Falha ao importar de USB", + "failed_to_reboot": "A operação de reiniciar o host falhou", + "failed_to_set_hostname": "A alteração de nome de host falhou", + "failed_to_shutdown": "A operação de desligar o host falhou", + "hardware": "Hardware", + "hostname": "Nome do host", + "import_from_usb": "Importar de USB", + "ip_address": "Endereço IP", + "new_hostname": "Por favor introduza um novo nome de host:", + "operating_system": "Sistema operativo", + "reboot_host": "Reiniciar o host", + "shutdown_host": "Desligar o host", + "used_space": "Espaço utilizado" + }, + "log": { + "get_logs": "Falha ao obter logs do {provider}, {error}", + "log_provider": "Fornecedor de logs" + }, + "supervisor": { + "beta_backup": "Certifique-se de que tem cópias de segurança dos seus dados antes de activar esta funcionalidade.", + "beta_join_confirm": "Quer juntar-se ao canal beta?", + "beta_release_items": "Isto inclui versões beta para:", + "beta_warning": "As versões Beta são destinadas a utilizadores de teste ou outros interessados e podem conter alterações de código instaveis.", + "channel": "Canal", + "cpu_usage": "Utilização de CPU do Supervisor", + "failed_to_reload": "Falha ao recarregar o Supervisor", + "failed_to_set_option": "Falha ao definir a opção Supervisor", + "failed_to_update": "Falha ao atualizar o Supervisor", + "join_beta_action": "Inscreva-se no canal beta", + "leave_beta_action": "Sair do canal beta", + "ram_usage": "Utilização de RAM do Supervisor", + "reload_supervisor": "Recarregar Supervisor", + "share_diagnostics": "Partilhar Diagnósticos", + "share_diagnostics_description": "Partilhar relatórios de falhas e informações de diagnóstico.", + "share_diagonstics_title": "Ajudar a melhorar o Home Assistant", + "unhealthy_description": "Executar uma instalação não íntegra causará problemas. Abaixo está uma lista de problemas detetados na sua instalação, clique nos links para saber como poderá resolver os problemas.", + "unhealthy_reason": { + "docker": "O ambiente Docker não está a funcionar corretamente", + "privileged": "O supervisor não é privilegiado", + "setup": "A configuração do Supervisor falhou", + "supervisor": "O supervisor não foi capaz de atualizar" + }, + "unhealthy_title": "Sua instalação não está íntegra", + "unsupported_description": "Abaixo está uma lista de problemas detetados na sua instalação, clique nos links para saber como poderá resolver os problemas.", + "unsupported_reason": { + "dbus": "DBUS", + "docker_configuration": "Configuração do Docker", + "docker_version": "Versão Docker", + "job_conditions": "Condições de trabalho ignoradas", + "lxc": "LXC", + "network_manager": "Gestor da rede", + "os": "Sistema operativo", + "privileged": "O supervisor não é privilegiado", + "systemd": "Systemd" + }, + "unsupported_title": "Está a executar uma instalação não suportada", + "update_supervisor": "Actualizar o Supervisor", + "warning": "AVISO" + } + } + }, "ui": { "auth_store": { "ask": "Deseja continuar com sessão iniciada?", @@ -200,7 +488,8 @@ }, "script": { "cancel": "Cancelar", - "cancel_multiple": "Cancelar {number}" + "cancel_multiple": "Cancelar {number}", + "run": "Executar" }, "service": { "run": "Executar" @@ -295,6 +584,14 @@ "yes": "Sim" }, "components": { + "addon-picker": { + "addon": "Add-on", + "error": { + "no_supervisor": { + "title": "Sem Supervisor" + } + } + }, "area-picker": { "add_dialog": { "add": "Adicionar", @@ -363,6 +660,8 @@ "changed_to_state": "alterado para {state}", "cleared_device_class": "Vazio (nenhuma {device_class} detetada)", "detected_device_class": "detetado {device_class}", + "is_closing": "está a encerrar", + "is_opening": "está a abrir", "rose": "rosa", "set": "definir", "turned_off": "desligado", @@ -467,6 +766,9 @@ "week": "{count} {count, plural,\n one {semana}\n other {semanas}\n} atrás" } }, + "service-control": { + "required": "Este campo é obrigatório" + }, "service-picker": { "service": "Serviço" }, @@ -673,6 +975,7 @@ "scene": "Cenários", "script": "Script", "server_control": "Controlo do servidor", + "tag": "Tags", "users": "Utilizadores", "zone": "Zonas" }, @@ -731,6 +1034,7 @@ "clusters": "Gerir Clusters", "reconfigure": "Reconfigurar Dispositivo", "remove": "Remover Dispositivo", + "view_in_visualization": "Ver na visualização", "zigbee_information": "Assinatura do dispositivo Zigbee" }, "confirmations": { @@ -1582,7 +1886,8 @@ }, "filtering": { "clear": "Apagar", - "filtering_by": "A filtrar por" + "filtering_by": "A filtrar por", + "show": "Mostrar" }, "header": "Configurar o Home Assistant", "helpers": { @@ -1653,7 +1958,18 @@ "delete_confirm": "Tem a certeza que pretende apagar esta integração?", "device_unavailable": "Dispositivo indisponível", "devices": "{count} {count, plural,\n one {dispositivo}\n other {dispositivos}\n}", + "disable_restart_confirm": "Reinicie o Home Assistant para termina a desactivação desta integração", + "disable": { + "disabled": "Desativado", + "disabled_by": { + "device": "Dispositivo", + "integration": "Integração", + "user": "Utilizador" + }, + "disabled_cause": "Desativado por {cause}." + }, "documentation": "Documentação", + "enable_restart_confirm": "Reinicie o Home Assistant para terminar a ativação desta integração", "entities": "{count} {count, plural,\n one {entidade}\n other {entidades}\n}", "entity_unavailable": "Entidade indisponível", "firmware": "Firmware: {version}", @@ -1675,6 +1991,7 @@ "close": "Fechar", "created_config": "Configuração criada para {name}.", "dismiss": "Descartar diálogo", + "error": "Erro", "error_saving_area": "Erro ao salvar a área: {error}", "external_step": { "description": "Para ser concluída, esta etapa exige que visite um sítio web externo.", @@ -1687,8 +2004,14 @@ }, "configure": "Configurar", "configured": "Configurado", + "confirm_new": "Deseja configurar a integração {integration}", "description": "Gerir integrações com serviços, dispositivos, ...", "details": "Detalhes da integração", + "disable": { + "disabled_integrations": "{number} desativado", + "hide_disabled": "Ocultar integrações desativadas", + "show_disabled": "Mostrar integrações desativadas" + }, "discovered": "Descoberto", "home_assistant_website": "Site do Home Assistant ", "ignore": { @@ -2277,6 +2600,7 @@ "caption": "Visualização", "header": "Visualização de rede", "highlight_label": "Destacar Dispositivos", + "refresh_topology": "Atualizar Topologia", "zoom_label": "Zoom para dispositivo" } }, @@ -2313,7 +2637,11 @@ "add_node": { "cancel_inclusion": "Cancelar Inclusão", "controller_in_inclusion_mode": "O seu controlador Z-Wave está agora em modo de inclusão.", + "follow_device_instructions": "Siga as instruções do seu dispositivo para ativar o modo de emparelhamento", + "inclusion_failed": "Não foi possível adicionar o nó. Por favor verifique os logs para mais informações.", + "inclusion_finished": "O nó foi adicionado. Poderá demorar alguns minutos para que todas as entidades fiquem disponiveis, enquanto terminamos a configuração do nó em segundo plano.", "introduction": "Este assistente irá guiá-lo para adicionar um nó à sua rede Z-Wave.", + "secure_inclusion_warning": "Dispositivos seguros requerem mais largura de banda; demasiados dispositivos seguros podem diminuir a performance da rede Z-Wave. Recomendamos que apenas sejam adicionados dispositivos seguros estritamente necessários, como fechaduras e aberturas de garagem.", "start_inclusion": "Iniciar Inclusão", "start_secure_inclusion": "Iniciar a Inclusão Segura", "title": "Adicionar um nó Z-Wave", @@ -2363,6 +2691,9 @@ "remove_node": { "cancel_exclusion": "Cancelar Exclusão", "controller_in_exclusion_mode": "O seu controlador Z-Wave está agora em modo de exclusão.", + "exclusion_failed": "Não foi possível remover o nó. Por favor verifique os logs para mais informações.", + "exclusion_finished": "O nó {id} foi removido da sua rede Z-Wave.", + "introduction": "Remova o nó da sua rede Z-Wave, e os dispositivos e entidades associadas do Home Assistant.", "start_exclusion": "Iniciar Exclusão", "title": "Remover um nó Z-Wave" } @@ -2486,17 +2817,22 @@ "type": "Tipo de Evento" }, "services": { + "all_parameters": "Todos os parâmetros disponíveis", "call_service": "Chamar serviço", "column_description": "Descrição", "column_example": "Exemplo", "column_parameter": "Parâmetro", "description": "A ferramenta serviços, permite-lhe chamar qualquer serviço disponível no Home Assistant.", "fill_example_data": "Preencher com dados do exemplo", - "title": "Serviços" + "title": "Serviços", + "ui_mode": "Ir para o modo UI", + "yaml_mode": "Ir para o modo YAML", + "yaml_parameters": "Parametros apenas disponíveis no modo YAML" }, "states": { "alert_entity_field": "Entidade é um campo obrigatório", "attributes": "Atributos", + "copy_id": "Copiar para a Área de Transferência", "current_entities": "Entidades atuais", "description1": "Coloque o nome de um dispositivo do Home Assistant.", "description2": "Isto não irá comunicar com o dispositivo.", @@ -2555,8 +2891,10 @@ }, "cards": { "actions": { + "action_confirmation": "Tem a certeza que deseja executar a ação \"{action}\"?", "no_entity_toggle": "Nenhuma entidade fornecida para alternar", "no_navigation_path": "Nenhum caminho de navegação especificado", + "no_service": "Não foi especificado o serviço a executar", "no_url": "Nenhuma URL para abrir especificada" }, "confirm_delete": "Tem a certeza que quer apagar este cartão?", @@ -2933,6 +3271,7 @@ "error_remove": "Não foi possível remover a configuração: {error}", "error_save_yaml": "Não é possível salvar o YAML: {error}", "header": "Editar Configuração", + "reload": "Recarregar", "resources_moved": "Os recursos não devem mais ser adicionados ao editor de configuração do código fonte do Lovelace, mas podem ser adicionados no painel de configuração do Lovelace.", "save": "Guardar", "saved": "Guardada", @@ -3018,6 +3357,10 @@ "empty": "Não tem qualquer mensagem nova", "playback_title": "Reproduzir mensagem" }, + "my": { + "documentation": "Documentação", + "error": "Ocorreu um erro desconhecido" + }, "page-authorize": { "abort_intro": "Início de sessão cancelado", "authorizing_client": "Está prestes a dar acesso a {clientId} à sua instância do Home Assistant.", diff --git a/translations/frontend/ru.json b/translations/frontend/ru.json index 5cfd247466..06142e3a18 100644 --- a/translations/frontend/ru.json +++ b/translations/frontend/ru.json @@ -104,15 +104,154 @@ }, "supervisor": { "addon": { + "configuration": { + "audio": { + "default": "По умолчанию", + "header": "Аудио", + "input": "Вход", + "output": "Выход" + }, + "network": { + "container": "Контейнер", + "disabled": "Отключено", + "header": "Сеть", + "host": "Хост" + }, + "no_configuration": "Это дополнение не предоставляет конфигурацию для настройки", + "options": { + "edit_in_ui": "Форма ввода", + "edit_in_yaml": "Текстовый редактор", + "header": "Параметры", + "invalid_yaml": "Неверный YAML", + "show_unused_optional": "Показать неиспользуемые дополнительные параметры конфигурации" + } + }, + "dashboard": { + "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') - это модуль безопасности ядра Linux, который ограничивает возможности дополнений, такие как доступ к сети, доступ к необработанным сокетам и разрешение на чтение, запись или выполнение определенных файлов. \n\nАвторы дополнений могут предоставлять свои профили безопасности, оптимизированные для дополнения, или запрашивать его отключение. Отключение AppArmor повысит риски безопасности и, следовательно, отрицательно повлияет на рейтинг безопасности дополнения.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Это дополнение может аутентифицировать пользователей с помощью Home Assistant, предоставляя возможность входить в приложения, работающие внутри дополнения, используя логин и пароль Home Assistant.", + "title": "Аутентификация Home Assistant" + }, + "docker_api": { + "description": "Это дополнение запрашивает доступ для управления программным обеспечением Docker, запущенным на Вашей системе. Этот режим предоставляет полный доступ и контроль над всей системой Home Assistant, что увеличивает риски безопасности и может повредить Вашу систему при неправильном использовании. Таким образом, эта функция отрицательно влияет на рейтинг безопасности дополнения. \n\nЭтот уровень доступа не предоставляется автоматически и должен быть подтвержден Вами. Для этого необходимо вручную отключить безопасный режим работы дополнения. Отключайте безопасный режим только в случае необходимости, а также если Вы знаете источник дополнения и доверяете ему.", + "title": "Полный доступ к Docker" + }, + "full_access": { + "description": "Этому дополнению предоставляется полный доступ к оборудованию Вашей системы. Такой уровень доступа сравним с привилегированным режимом в Docker. Поскольку это открывает возможные риски, функция снижает рейтинг безопасности дополнения. \n\nЭтот уровень доступа не предоставляется автоматически и должен быть подтвержден Вами. Для этого необходимо вручную отключить безопасный режим работы дополнения. Отключайте безопасный режим только в случае необходимости, а также если Вы знаете источник дополнения и доверяете ему.", + "title": "Полный доступ к оборудованию" + }, + "hassio_api": { + "description": "Дополнению предоставлен доступ к API Supervisor. По умолчанию дополнение имеет доступ к общей информации о версии Вашей системы. Когда дополнение запрашивает доступ к API на уровне 'manager' или 'admin', оно получает доступ для управления несколькими частями Вашей системы Home Assistant. Это разрешение отрицательно влияет на рейтинг безопасности дополнения.", + "title": "Доступ к API Supervisor" + }, + "homeassistant_api": { + "description": "Этому дополнению разрешен доступ к Вашему Home Assistant напрямую через его API. Этот режим также позволяет взаимодействовать с Home Assistant без необходимости в дополнительных токенах аутентификации.", + "title": "Доступ к API Home Assistant" + }, + "host_network": { + "description": "Дополнения обычно работают на собственном изолированном сетевом уровне, что не позволяет им получать доступ к сети операционной системы. В некоторых случаях это может ограничивать работу дополнения, и поэтому изоляция может быть снята автором, предоставляя дополнению полный доступ к сетевым возможностям хост-машины. Но это также снижает безопасность, и, следовательно, снижает рейтинг безопасности дополнения.", + "title": "Сеть хоста" + }, + "host_pid": { + "description": "Обычно процессы, выполняемые дополнением, изолированы от всех других системных процессов. Это дополнение запрашивает доступ к системным процессам, запущенным в системе хоста, а также разрешение на создание новых процессов в системе. Этот режим предоставляет полный доступ и контроль над всей системой Home Assistant, что увеличивает риски безопасности и может повредить Вашу систему при неправильном использовании. Таким образом, эта функция отрицательно влияет на рейтинг безопасности дополнения. \n\nЭтот уровень доступа не предоставляется автоматически и должен быть подтвержден Вами. Для этого необходимо вручную отключить безопасный режим работы дополнения. Отключайте безопасный режим только в случае необходимости, а также если Вы знаете источник дополнения и доверяете ему.", + "title": "Пространство имен хост-процессов" + }, + "ingress": { + "description": "Это дополнение использует Ingress для безопасного встраивания своего интерфейса в Home Assistant.", + "title": "Ingress" + }, + "label": { + "apparmor": "apparmor", + "auth": "auth", + "docker": "docker", + "hardware": "hardware", + "hass": "hass", + "hassio": "hassio", + "host": "host", + "host_pid": "host pid", + "ingress": "ingress", + "rating": "rating", + "stage": "stage" + }, + "rating": { + "description": "Home Assistant присваивает каждому дополнению рейтинг безопасности, который указывает на риски, связанные с использованием этого дополнения. Чем больший доступ к системе оно требует, тем ниже оценка, так как это повышает возможные риски безопасности. \n\nОценка выставляется по шкале от 1 до 6. Где 1 - самый низкий балл (такое дополнение считается самым небезопасным и подверженным самому высокому риску), а 6 - самый высокий балл (самое безопасное дополнение и с самым низким риском при его использовании).", + "title": "Рейтинг безопасности" + }, + "role": { + "admin": "admin", + "backup": "backup", + "default": "default", + "homeassistant": "homeassistant", + "manager": "manager" + }, + "stage": { + "description": "Дополнения могут находиться в следующих стадиях разработки: \n\n {icon_stable} **Стабильная**: конечная стадия дополнения, готовая к повседневной эксплуатации. \n\n {icon_experimental} **Экспериментальная**: может содержать ошибки и может быть незавершенным. \n\n {icon_deprecated} **Устаревшая**: дополнения в этой стадии больше не будут получать обновления.", + "title": "Стадия разработки" + } + }, + "changelog": "Список изменений", + "cpu_usage": "Использование ЦП", + "hostname": "Доменное имя", + "install": "установить", + "new_update_available": "Доступно обновление {name} до версии {version}", + "not_available_arch": "Это дополнение несовместимо с процессором или установленной операционной системой Вашего устройства.", + "not_available_version": "В настоящее время у Вас установлен Home Assistant {core_version_installed}. Для обновления дополнения требуется Home Assistan версии {core_version_needed} или выше.", + "open_web_ui": "Открыть веб-интерфейс", + "option": { + "auto_update": { + "description": "Автоматически обновлять дополнение при наличии новой версии", + "title": "Автоматическое обновление" + }, + "boot": { + "description": "Запускать дополнение во время загрузки системы", + "title": "Запускать при загрузке" + }, + "ingress_panel": { + "description": "Добавить это дополнение на боковую панель", + "title": "Показывать на боковой панели" + }, + "protected": { + "description": "Ограничивает доступ дополнения к системе", + "title": "Безопасный режим" + }, + "watchdog": { + "description": "Перезапускать дополнение при сбоях", + "title": "Watchdog" + } + }, + "protection_mode": { + "content": "В этом дополнении отключен безопасный режим. Это дает дополнению полный доступ ко всей системе, что увеличивает риски безопасности и может повредить Вашу систему при неправильном использовании. Отключайте безопасный режим только в случае необходимости, а также если Вы знаете источник дополнения и доверяете ему.", + "enable": "Безопасный режим", + "title": "Внимание: безопасный режим отключен!" + }, + "ram_usage": "Использование ОЗУ", + "rebuild": "восстановить", + "restart": "перезапустить", + "start": "запустить", + "stop": "остановить", + "uninstall": "удалить", + "visit_addon_page": "Для получения дополнительной информации посетите страницу дополнения {name}" + }, + "failed_to_reset": "Не удалось сбросить конфигурацию дополнения, {error}", + "failed_to_save": "Не удалось сохранить конфигурацию дополнения, {error}", "panel": { "configuration": "Конфигурация", "documentation": "Документация", "info": "Информация", "log": "Журнал" + }, + "state": { + "installed": "Дополнение установлено", + "not_available": "Дополнение не доступно на Вашей системе", + "not_installed": "Дополнение не установлено" } }, "common": { - "cancel": "Отмена", + "cancel": "Отменить", "newest_version": "Последняя версия", "release_notes": "Список изменений", "update": "Обновить", diff --git a/translations/frontend/zh-Hans.json b/translations/frontend/zh-Hans.json index ccaa8d697a..3c85f21567 100644 --- a/translations/frontend/zh-Hans.json +++ b/translations/frontend/zh-Hans.json @@ -102,6 +102,42 @@ "unknown": "未知" } }, + "supervisor": { + "addon": { + "panel": { + "configuration": "配置", + "documentation": "文档", + "info": "信息", + "log": "日志" + } + }, + "common": { + "cancel": "取消", + "newest_version": "最新版本", + "release_notes": "发行说明", + "update": "更新", + "version": "版本" + }, + "confirm": { + "update": { + "text": "您确定要更新 {name} 至版本 {version} 吗?", + "title": "更新 {name}" + } + }, + "dashboard": { + "addon_new_version": "发现新版本", + "addon_running": "加载项正在运行", + "addon_stopped": "加载项已停止", + "addons": "加载项", + "no_addons": "您尚未安装任何加载项。去加载项商店看看吧!" + }, + "panel": { + "dashboard": "仪表盘", + "snapshots": "快照", + "store": "加载项商店", + "system": "系统" + } + }, "ui": { "auth_store": { "ask": "保持登录状态吗?", @@ -377,6 +413,8 @@ "changed_to_state": "变为 {state}", "cleared_device_class": "未检测到 {device_class}", "detected_device_class": "检测到 {device_class}", + "is_closing": "正在关闭", + "is_opening": "正在打开", "rose": "升起", "set": "落下", "turned_off": "已关闭", @@ -755,6 +793,7 @@ "clusters": "管理簇", "reconfigure": "重新配置设备", "remove": "删除设备", + "view_in_visualization": "可视化查看", "zigbee_information": "Zigbee 设备签名" }, "confirmations": { @@ -2332,6 +2371,7 @@ "caption": "可视化", "header": "网络可视化", "highlight_label": "高亮显示设备", + "refresh_topology": "刷新拓扑结构", "zoom_label": "缩放到设备" } }, @@ -3009,6 +3049,8 @@ "error_remove": "无法删除配置:{error}", "error_save_yaml": "无法保存 YAML:{error}", "header": "编辑配置", + "lovelace_changed": "Lovelace 配置已更新,是否要放弃当前更改并载入更新后的配置?", + "reload": "重新加载", "resources_moved": "资源(resources)不应再添加到 Lovelace 配置中,而是在 Lovelace 配置面板中添加。", "save": "保存", "saved": "已保存", diff --git a/translations/frontend/zh-Hant.json b/translations/frontend/zh-Hant.json index 4d91269004..e78928839b 100644 --- a/translations/frontend/zh-Hant.json +++ b/translations/frontend/zh-Hant.json @@ -104,21 +104,206 @@ }, "supervisor": { "addon": { + "configuration": { + "audio": { + "default": "預設值", + "header": "音效", + "input": "輸入", + "output": "輸出" + }, + "network": { + "container": "Container", + "disabled": "已關閉", + "header": "網路", + "host": "主機" + }, + "no_configuration": "此附加元件未公開設定以避免造成不正常工作...", + "options": { + "edit_in_ui": "以 UI 編輯", + "edit_in_yaml": "以 YAML 編輯", + "header": "選項", + "invalid_yaml": "YAML 無效", + "show_unused_optional": "顯示未使用的設定選項" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "取得附加元件變更日誌失敗", + "go_to_config": "啟動附加元件失敗 - 設定驗證失敗!", + "install": "安裝附加元件失敗", + "restart": "重啟附加元件失敗", + "start": "啟動附加元件失敗", + "start_invalid_config": "切換至設定", + "stop": "停止附加元件失敗", + "uninstall": "移除附加元件失敗", + "validate_config": "附加元件設定驗證失敗" + }, + "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') 為 Linux kernel 核心安全模組、限制了附加元件對於網路存取、原始封包存取與存取執行特定檔案的權限。\n\n附加元件作者可以提供其安全性設定檔、為附加元件最佳化、或者請求關閉。假如 AppArmor 關閉的話、將會提高安全風險,對於附加元件的安全評等得分也會有負面影響。", + "title": "AppArmor" + }, + "auth_api": { + "description": "附加元件可通過 Home Assistant 驗證使用者、進而允許附加元件給予使用者、使用 Home Asssistant 使用者名稱/密碼以登入至附加元件執行中的應用程式。此標誌表示附加元件作者是否要求此存取權。", + "title": "Home Assistant 認證" + }, + "docker_api": { + "description": "根據作者請求、此附加元件將具備系統 Docker 的管理者存取權限。此模式將具備整個 Home Assistant 系統的完全存取與控制權,增加安全風險、於不當使用下可能損害系統。因此、此功能將影響附加元件的安全評等分數。\n\n此程度存取將無法自動獲得,需要經過您的授權。欲進行此操作、需要手動關閉附加元件的保護模式。僅於您清楚知道、需要並信任此附加元件時才關閉。", + "title": "Docker 完全存取" + }, + "full_access": { + "description": "根據作者的請求、此附加元件將具備系統硬體的完全存取權限。存取權與 Docker 中的特權模式相當。由於此功能提高了安全風險,將會影響附加元件的安全評等分數。\n\n此程度存取將無法自動獲得,需要經過您的授權。欲進行此操作、需要手動關閉附加元件的保護模式。僅於您清楚知道、需要並信任此附加元件時才關閉。", + "title": "完全硬體存取" + }, + "hassio_api": { + "description": "根據作者的請求、此附加元將具備 Supervisor API 存取權。預設值、附加元件能夠存取系統的一般版本資訊。當附加元件請求 '管理者' 或 'admin' API 等級存取時,將可以獲得 Home Assistant 多個部份的控制權。此標誌表示該存取權、並將對於附加元件的安全評等得分也會有負面影響。", + "title": "Supervisor API 存取" + }, + "homeassistant_api": { + "description": "此附加元件允許藉由 Home Assistant API 直接存取執行中的 Home Assistant 實例。此模式同時需處理附加元件的認證、開啟附加元件與 Home Assistant 無須額外認證權杖而進行互動。", + "title": "Home Assistant API 存取" + }, + "host_network": { + "description": "附加元件通常於其獨立的網路層執行、避免存取主機作業系統的網路。在某些情況下、網路隔離可能限制附加元件提供其服務功能、因此附加元件作者可以解除其隔離、賦予附加元件對於主機的網路完全存取權。此狀況將給予附加元件更多的網路功能、但降低了其安全相。因此、使用類似附加元件選項時、安全評等將會降低。", + "title": "主機網路" + }, + "host_pid": { + "description": "通常附加元件執行程序會隔離於所以其他系統的執行程序。根據作者的請求、此附加元件將擁有主機端系統執行程序的存取權、可允許附加元件於系統生成程序。此模式將具備整個 Home Assistant 系統的完全存取與控制權,增加安全風險、於不當使用下可能損害系統。因此、此功能將影響附加元件的安全評等分數。\n\n此程度存取將無法自動獲得,需要經過您的授權。欲進行此操作、需要手動關閉附加元件的保護模式。僅於您清楚知道、需要並信任此附加元件時才關閉。", + "title": "主機處理命名空間" + }, + "ingress": { + "description": "此附加元件使用 Ingress 以加密內嵌其介面至 Home Assistant。", + "title": "Ingress" + }, + "label": { + "apparmor": "apparmor", + "auth": "認證", + "docker": "docker", + "hardware": "硬體", + "hass": "hass", + "hassio": "hassio", + "host": "主機", + "host_pid": "主機 pid", + "ingress": "ingress", + "rating": "評等", + "stage": "階段" + }, + "rating": { + "description": "Home Assistant 提供每一個附加元件安全性評等、指示使用此附加元件所可能產生風險等級。附加元件存取系統的程度越高、所獲得的分數越低,即可能增加安全風險。\n\n分數由 1 至 6。1 為最低分(被認為是最不安全與最高風險)、而 6 為最高分(被認為為最安全與最低風險)。", + "title": "附加元件安全評等" + }, + "role": { + "admin": "admin", + "backup": "備份", + "default": "預設值", + "homeassistant": "homeassistant", + "manager": "管理員" + }, + "stage": { + "description": "附加元件可為下列三個階段:\n\n{icon_stable} **穩定**:此些附加元件可於正常使用。\n\n{icon_experimental} **實驗**:可能包含一些臭蟲、或者尚未完成。\n\n{icon_deprecated} **閒置**:附加元件已經不再有任何更新。", + "title": "附加元件階段" + } + }, + "changelog": "變更日誌", + "cpu_usage": "附加元件 CPU 使用率", + "hostname": "主機名稱", + "install": "安裝", + "new_update_available": "{name} {version} 可供下載", + "not_available_arch": "此附加元件與裝置的處理器或裝置所安裝的作業系統不相容。", + "not_available_version": "正在執行 Home Assistant {core_version_installed} 版、欲更新此版本附加元件,至少需要 Home Assistan {core_version_needed} 版", + "open_web_ui": "開啟 web UI", + "option": { + "auto_update": { + "description": "當有新版本可使用時、自動更新附加元件", + "title": "自動更新" + }, + "boot": { + "description": "於系統開機時,啟動附加元件", + "title": "於啟動時開啟" + }, + "ingress_panel": { + "description": "新增附加元件至側邊欄", + "title": "於側邊列顯示" + }, + "protected": { + "description": "阻擋來自附加元件的劇升系統存取", + "title": "保護模式" + }, + "watchdog": { + "description": "假如當機時,將啟動附加元件", + "title": "Watchdog" + } + }, + "protection_mode": { + "content": "附加元件的保護模式已關閉!將給予附加元件對於整個系統的完全存取權、可能存在安全風險,當不當使用時可能導致系統受損。僅於您清楚知道、需要並信任此附加元件時才關閉。", + "enable": "開啟保護模式", + "title": "警告:保護模式已關閉!" + }, + "ram_usage": "附加元件 RAM 使用率", + "rebuild": "重建", + "restart": "重啟", + "start": "開始", + "stop": "停止", + "uninstall": "移除", + "visit_addon_page": "參閱 {name} 頁面以獲得更詳細資訊" + }, + "documentation": { + "get_documentation": "取得附加元件文件失敗,{error}" + }, + "failed_to_reset": "重置附加元件設定失敗,{error}", + "failed_to_save": "儲存附加元件設定失敗,{error}", + "logs": { + "get_logs": "取得附加元件日誌失敗,{error}" + }, "panel": { "configuration": "設定", "documentation": "相關文件", "info": "資訊", "log": "日誌" + }, + "state": { + "installed": "附加元件已安裝", + "not_available": "無法於此系統使用附加元件", + "not_installed": "附加元件未安裝" } }, "common": { "cancel": "取消", + "description": "說明", + "error": { + "unknown": "未知錯誤", + "update_failed": "更新失敗" + }, + "failed_to_restart_name": "重啟{name}失敗", + "failed_to_update_name": "更新{name}失敗", + "learn_more": "了解更多", + "new_version_available": "新版本可供下載", "newest_version": "最新版本", + "no": "否", + "refresh": "更新", "release_notes": "發行說明", + "reload": "重新載入", + "reset_defaults": "重置為預設值", + "reset_options": "重置選項", + "restart": "重啟", + "restart_name": "重啟{name}", + "running_version": "目前執行為 {version} 版", + "save": "儲存", + "show_more": "顯示關於此更詳細資訊", "update": "更新", - "version": "版本" + "update_available": "{count, plural,\n one {個更新}\n other {{count} 個更新}\n}等候中", + "version": "版本", + "yes": "是" }, "confirm": { + "reset_options": { + "text": "確定要重置所有選項?", + "title": "重置選項" + }, + "restart": { + "text": "確定要重啟 {name}?", + "title": "重啟{name}" + }, "update": { "text": "確定要更新 {name} 至 {version} 版?", "title": "更新 {name}" @@ -131,11 +316,175 @@ "addons": "附加元件", "no_addons": "目前似乎沒有安裝任何附加元件。點選下方附加元件商店以新增!" }, + "dialog": { + "network": { + "connected_to": "已連線至 {ssid}", + "dhcp": "DHCP", + "disabled": "已關閉", + "dns_servers": "DNS 伺服器", + "failed_to_change": "變更網路設定失敗", + "gateway": "閘道器位址", + "ip_netmask": "IP 位址/網路遮罩", + "open": "開放", + "scan_ap": "掃描 AP", + "static": "靜態", + "title": "網路設定", + "unsaved": "變更尚未儲存,假如變更頁面將會喪失變更。確定要繼續?", + "warning": "假如變更 Wi-Fi、IP 或閘道器位址,可能會失去連線!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "新增登錄檔", + "add_registry": "新增登錄檔", + "failed_to_add": "新增登錄檔失敗", + "failed_to_remove": "移除登錄檔失敗", + "no_registries": "未設定登錄檔", + "password": "密碼", + "registry": "登錄檔", + "remove": "移除", + "title_add": "新增 Container 登錄檔", + "title_manage": "管理 Container 登錄檔", + "username": "使用者名稱" + }, + "repositories": { + "add": "新增", + "remove": "移除", + "title": "管理附加元件儲存機制" + }, + "restart_addon": { + "confirm_text": "重啟附加元件", + "text": "是否要套用變更重啟附加元件?" + }, + "update": { + "create_snapshot": "於更新前製作 {name} 系統備份", + "snapshot": "系統備份", + "snapshotting": "製作 {name} 系統備份", + "updating": "更新 {name} 至 {version} 版" + } + }, + "my": { + "error": "發生未知錯誤", + "faq_link": "Home Assistant 常見問答集", + "not_supported": "Home Assistant 不支援此重新導向。點選 {link} 獲取支援之重新導向與版本。" + }, "panel": { "dashboard": "主面板", "snapshots": "系統備份", "store": "附加元件商店", "system": "系統" + }, + "snapshot": { + "addons": "附加元件", + "available_snapshots": "可用系統備份", + "could_not_create": "無法製作系統備份", + "create": "新增", + "create_blocked_not_running": "由於系統為 {state} 狀態,無法製作系統備份。", + "create_snapshot": "製作系統備份", + "description": "系統備份可供您快速的備份與還原 Home Assistant 所有資料。", + "enter_password": "請輸入密碼。", + "folder": { + "addons/local": "本地附加元件", + "homeassistant": "Home Assistant 設定", + "media": "媒體", + "share": "共享", + "ssl": "SSL" + }, + "folders": "資料夾", + "full_snapshot": "全系統備份", + "name": "名稱", + "no_snapshots": "目前沒有任何系統備份", + "partial_snapshot": "部分系統備份", + "password": "密碼", + "password_protected": "密碼保護未顯示", + "password_protection": "密碼保護", + "security": "加密", + "type": "類型", + "upload_snapshot": "上傳系統備份" + }, + "store": { + "missing_addons": "找不到附加元件?於個人頁面中開啟進階模式", + "no_results_found": "於 {repository} 找不到相符結果。", + "registries": "登錄檔", + "repositories": "儲存機制" + }, + "system": { + "core": { + "cpu_usage": "Core CPU 使用率", + "ram_usage": "Core RAM 使用率" + }, + "host": { + "change": "變更", + "change_hostname": "變更主機名稱", + "confirm_reboot": "確定要重啟主機?", + "confirm_shutdown": "確定要關閉主機?", + "deployment": "部署方式", + "docker_version": "Docker 版本", + "emmc_lifetime_used": "已使用 eMMC 壽命", + "failed_to_get_hardware_list": "取得硬體列表失敗", + "failed_to_import_from_usb": "由 USB 匯入失敗", + "failed_to_reboot": "重啟主機失敗", + "failed_to_set_hostname": "設定主機名稱失敗", + "failed_to_shutdown": "關閉主機失敗", + "hardware": "硬體", + "hostname": "主機名稱", + "import_from_usb": "由 USB 匯入", + "ip_address": "IP 位址", + "new_hostname": "請輸入新主機名稱:", + "operating_system": "作業系統", + "reboot_host": "重啟主機", + "shutdown_host": "關閉主機", + "used_space": "已使用空間" + }, + "log": { + "get_logs": "取得 {provider} 日誌失敗,{error}", + "log_provider": "日誌提供者" + }, + "supervisor": { + "beta_backup": "請於啟用此功能前確定已經備份所有資料。", + "beta_join_confirm": "是否要加入測試版本測試?", + "beta_release_items": "包含測試版本:", + "beta_warning": "Beta 測試版本為供測試人員與所需人員使用、因此可能會有不穩定的狀況", + "channel": "頻道", + "cpu_usage": "Supervisor CPU 使用率", + "failed_to_reload": "重載 Supervisor 失敗", + "failed_to_set_option": "設定 Supervisor 選項失敗", + "failed_to_update": "更新 Supervisor 失敗", + "join_beta_action": "參與測試", + "join_beta_description": "取得 Home Assistant、Supervisor 與主機測試版", + "leave_beta_action": "退出測試", + "leave_beta_description": "取得 Home Assistant、Supervisor 與主機穩定更新版", + "ram_usage": "Supervisor RAM 使用率", + "reload_supervisor": "重新載入 Supervisor", + "share_diagnostics": "分享診斷資料", + "share_diagnostics_description": "分享當機回報與診斷資訊。", + "share_diagonstics_description": "是否要於 Supervisor 遭遇未知錯誤時、自動分享當機回報與診斷資訊?{line_break} 此些訊息將協助我們修正問題、所提供的資訊僅供 Home Assistant Core 團隊分析使用、將不會與其他人員共享。{line_break} 所提供的資料並不包含任何私人/敏感資訊,您可以於之後隨時關閉此設定。", + "share_diagonstics_title": "協助改進 Home Assistant", + "unhealthy_description": "執行不健康的安裝版本可能會導致問題。下方列表為安裝問題清單,點選連結以了解如何解決問題。", + "unhealthy_reason": { + "docker": "Docker 環境未正常工作", + "privileged": "Supervisor 不允許", + "setup": "設定 Supervisor 失敗", + "supervisor": "Supervisor 無法進行更新" + }, + "unhealthy_title": "安裝版本不健康", + "unsupported_description": "執行不健康的安裝版本可能會導致問題。下方列表為安裝問題清單,點選連結以了解如何解決問題。", + "unsupported_reason": { + "container": "已知造成問題的 Container", + "dbus": "DBUS", + "docker_configuration": "Docker 設定", + "docker_version": "Docker 版本", + "job_conditions": "已忽略工作條件", + "lxc": "LXC", + "network_manager": "網路管理員", + "os": "作業系統", + "privileged": "Supervisor 不允許", + "systemd": "Systemd" + }, + "unsupported_title": "所執行的安裝方式不支援", + "update_supervisor": "更新 Supervisor", + "warning": "警告" + } } }, "ui": { From 6ee8d74899c6380044a403681fe8affb6c081d77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Thu, 4 Mar 2021 10:03:09 +0100 Subject: [PATCH 015/164] Remove duplicate save (#8532) --- hassio/src/addon-view/config/hassio-addon-config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hassio/src/addon-view/config/hassio-addon-config.ts b/hassio/src/addon-view/config/hassio-addon-config.ts index 2a5c2bfcfe..706dd12789 100644 --- a/hassio/src/addon-view/config/hassio-addon-config.ts +++ b/hassio/src/addon-view/config/hassio-addon-config.ts @@ -165,7 +165,7 @@ class HassioAddonConfig extends LitElement { @click=${this._saveTapped} .disabled=${!this._configHasChanged || !this._valid} > - Save ${this.supervisor.localize("common.save")} + ${this.supervisor.localize("common.save")} From f887c27ad1c8b8a39c0fb946131fb47f5347499b Mon Sep 17 00:00:00 2001 From: Tierney Cyren Date: Thu, 4 Mar 2021 04:05:28 -0500 Subject: [PATCH 016/164] fix: move @types modules from deps to devDeps (#8539) --- cast/src/launcher/layout/hc-layout.ts | 2 +- package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cast/src/launcher/layout/hc-layout.ts b/cast/src/launcher/layout/hc-layout.ts index 58e1f7cc94..76a3af25ef 100644 --- a/cast/src/launcher/layout/hc-layout.ts +++ b/cast/src/launcher/layout/hc-layout.ts @@ -100,7 +100,7 @@ class HcLayout extends LitElement { display: block; margin: 0; } - + .hero { border-radius: 4px 4px 0 0; } diff --git a/package.json b/package.json index 865b63a063..b4b291851e 100644 --- a/package.json +++ b/package.json @@ -90,8 +90,6 @@ "@polymer/paper-tooltip": "^3.0.1", "@polymer/polymer": "3.1.0", "@thomasloven/round-slider": "0.5.2", - "@types/chromecast-caf-sender": "^1.0.3", - "@types/sortablejs": "^1.10.6", "@vaadin/vaadin-combo-box": "^5.0.10", "@vaadin/vaadin-date-picker": "^4.0.7", "@vibrant/color": "^3.2.1-alpha.1", @@ -166,6 +164,7 @@ "@rollup/plugin-replace": "^2.3.2", "@types/chai": "^4.1.7", "@types/chromecast-caf-receiver": "^5.0.11", + "@types/chromecast-caf-sender": "^1.0.3", "@types/codemirror": "^0.0.97", "@types/hls.js": "^0.12.3", "@types/js-yaml": "^3.12.1", @@ -175,6 +174,7 @@ "@types/memoize-one": "4.1.0", "@types/mocha": "^7.0.2", "@types/resize-observer-browser": "^0.1.3", + "@types/sortablejs": "^1.10.6", "@types/webspeechapi": "^0.0.29", "@typescript-eslint/eslint-plugin": "^4.4.0", "@typescript-eslint/parser": "^4.4.0", From 2abba7e4458cf1cfb66ff9b8a2190c14e7dd0717 Mon Sep 17 00:00:00 2001 From: Josh McCarty Date: Thu, 4 Mar 2021 02:08:16 -0700 Subject: [PATCH 017/164] Alarm numeric inputmode (#8521) --- .../controls/more-info-alarm_control_panel.js | 35 ++++++++++++------- .../lovelace/cards/hui-alarm-panel-card.ts | 3 ++ 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/dialogs/more-info/controls/more-info-alarm_control_panel.js b/src/dialogs/more-info/controls/more-info-alarm_control_panel.js index 2f7f4fd357..99be49908f 100644 --- a/src/dialogs/more-info/controls/more-info-alarm_control_panel.js +++ b/src/dialogs/more-info/controls/more-info-alarm_control_panel.js @@ -5,6 +5,7 @@ import { html } from "@polymer/polymer/lib/utils/html-tag"; /* eslint-plugin-disable lit */ import { PolymerElement } from "@polymer/polymer/polymer-element"; import { fireEvent } from "../../../common/dom/fire_event"; +import { FORMAT_NUMBER } from "../../../data/alarm_control_panel"; import LocalizeMixin from "../../../mixins/localize-mixin"; class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { @@ -26,6 +27,7 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { flex-direction: column; } .pad mwc-button { + padding: 8px; width: 80px; } .actions mwc-button { @@ -43,6 +45,7 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { label="[[localize('ui.card.alarm_control_panel.code')]]" value="{{_enteredCode}}" type="password" + inputmode="[[_inputMode]]" disabled="[[!_inputEnabled]]" > @@ -53,21 +56,21 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { on-click="_digitClicked" disabled="[[!_inputEnabled]]" data-digit="1" - raised + outlined >1 4 7 @@ -76,28 +79,28 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { on-click="_digitClicked" disabled="[[!_inputEnabled]]" data-digit="2" - raised + outlined >2 5 8 0 @@ -106,27 +109,27 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { on-click="_digitClicked" disabled="[[!_inputEnabled]]" data-digit="3" - raised + outlined >3 6 9 [[localize('ui.card.alarm_control_panel.clear_code')]] @@ -201,6 +204,10 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { type: Boolean, value: false, }, + _inputMode: { + type: String, + computed: "_getInputMode(_codeFormat)", + }, }; } @@ -237,8 +244,12 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { } } + _getInputMode(format) { + return this._isNumber(format) ? "numeric" : "text"; + } + _isNumber(format) { - return format === "Number"; + return format === FORMAT_NUMBER; } _validateCode(code, format, armVisible, codeArmRequired) { diff --git a/src/panels/lovelace/cards/hui-alarm-panel-card.ts b/src/panels/lovelace/cards/hui-alarm-panel-card.ts index 2b3298b425..66b53d16a5 100644 --- a/src/panels/lovelace/cards/hui-alarm-panel-card.ts +++ b/src/panels/lovelace/cards/hui-alarm-panel-card.ts @@ -191,6 +191,9 @@ class HuiAlarmPanelCard extends LitElement implements LovelaceCard { id="alarmCode" .label=${this.hass.localize("ui.card.alarm_control_panel.code")} type="password" + .inputmode=${stateObj.attributes.code_format === FORMAT_NUMBER + ? "numeric" + : "text"} > `} ${stateObj.attributes.code_format !== FORMAT_NUMBER From c97ec32343f084eb93e67f57967cd0e94e786dd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Thu, 4 Mar 2021 10:25:51 +0100 Subject: [PATCH 018/164] Fix missing name in full snapshot (#8535) --- src/data/hassio/snapshot.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/data/hassio/snapshot.ts b/src/data/hassio/snapshot.ts index 307571a75f..f8dcfcb3d7 100644 --- a/src/data/hassio/snapshot.ts +++ b/src/data/hassio/snapshot.ts @@ -105,6 +105,7 @@ export const createHassioFullSnapshot = async ( endpoint: "/snapshots/new/full", method: "post", timeout: null, + data, }); return; } From a66b3f6b80c0eca20084a6c9b56af5b3643ea556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Thu, 4 Mar 2021 10:29:00 +0100 Subject: [PATCH 019/164] Fix managing custom addon repositories (#8536) --- hassio/src/addon-store/hassio-addon-store.ts | 1 - .../dialog-hassio-repositories.ts | 51 +++++++++++-------- .../repositories/show-dialog-repositories.ts | 1 - 3 files changed, 30 insertions(+), 23 deletions(-) diff --git a/hassio/src/addon-store/hassio-addon-store.ts b/hassio/src/addon-store/hassio-addon-store.ts index 7769c095ef..fd39aa5cb7 100644 --- a/hassio/src/addon-store/hassio-addon-store.ts +++ b/hassio/src/addon-store/hassio-addon-store.ts @@ -190,7 +190,6 @@ class HassioAddonStore extends LitElement { private async _manageRepositories() { showRepositoriesDialog(this, { supervisor: this.supervisor, - loadData: () => this._loadData(), }); } diff --git a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts index 35ea16957a..ea869b78e6 100644 --- a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts +++ b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts @@ -17,6 +17,7 @@ import { TemplateResult, } from "lit-element"; import memoizeOne from "memoize-one"; +import { fireEvent } from "../../../../src/common/dom/fire_event"; import "../../../../src/components/ha-circular-progress"; import { createCloseHeading } from "../../../../src/components/ha-dialog"; import "../../../../src/components/ha-svg-icon"; @@ -37,13 +38,10 @@ class HassioRepositoriesDialog extends LitElement { @property({ attribute: false }) public supervisor!: Supervisor; - @property({ attribute: false }) private _repos: HassioAddonRepository[] = []; - - @property({ attribute: false }) - private _dialogParams?: HassioRepositoryDialogParams; - @query("#repository_input", true) private _optionInput?: PaperInputElement; + @internalProperty() private _repositories?: HassioAddonRepository[]; + @internalProperty() private _opened = false; @internalProperty() private _prosessing = false; @@ -53,9 +51,9 @@ class HassioRepositoriesDialog extends LitElement { public async showDialog( dialogParams: HassioRepositoryDialogParams ): Promise { - this._dialogParams = dialogParams; this.supervisor = dialogParams.supervisor; this._opened = true; + await this._loadData(); await this.updateComplete; } @@ -71,9 +69,11 @@ class HassioRepositoriesDialog extends LitElement { ); protected render(): TemplateResult { - const repositories = this._filteredRepositories( - this.supervisor.addon.repositories - ); + if (this._repositories === undefined) { + return html` + `; + } + const repositories = this._filteredRepositories(this._repositories); return html` { + try { + const addonsinfo = await fetchHassioAddonsInfo(this.hass); + + this._repositories = addonsinfo.repositories; + + fireEvent(this, "supervisor-collection-refresh", { collection: "addon" }); + } catch (err) { + this._error = extractApiErrorMessage(err); + } + } + private async _addRepository() { const input = this._optionInput; if (!input || !input.value) { return; } this._prosessing = true; - const repositories = this._filteredRepositories(this._repos); + const repositories = this._filteredRepositories(this._repositories!); const newRepositories = repositories.map((repo) => { return repo.source; }); @@ -195,11 +212,7 @@ class HassioRepositoriesDialog extends LitElement { await setSupervisorOption(this.hass, { addons_repositories: newRepositories, }); - - const addonsInfo = await fetchHassioAddonsInfo(this.hass); - this._repos = addonsInfo.repositories; - - await this._dialogParams!.loadData(); + await this._loadData(); input.value = ""; } catch (err) { @@ -210,7 +223,7 @@ class HassioRepositoriesDialog extends LitElement { private async _removeRepository(ev: Event) { const slug = (ev.currentTarget as any).slug; - const repositories = this._filteredRepositories(this._repos); + const repositories = this._filteredRepositories(this._repositories!); const repository = repositories.find((repo) => { return repo.slug === slug; }); @@ -229,11 +242,7 @@ class HassioRepositoriesDialog extends LitElement { await setSupervisorOption(this.hass, { addons_repositories: newRepositories, }); - - const addonsInfo = await fetchHassioAddonsInfo(this.hass); - this._repos = addonsInfo.repositories; - - await this._dialogParams!.loadData(); + await this._loadData(); } catch (err) { this._error = extractApiErrorMessage(err); } diff --git a/hassio/src/dialogs/repositories/show-dialog-repositories.ts b/hassio/src/dialogs/repositories/show-dialog-repositories.ts index 63b3611de8..ff3ef7516c 100644 --- a/hassio/src/dialogs/repositories/show-dialog-repositories.ts +++ b/hassio/src/dialogs/repositories/show-dialog-repositories.ts @@ -4,7 +4,6 @@ import "./dialog-hassio-repositories"; export interface HassioRepositoryDialogParams { supervisor: Supervisor; - loadData: () => Promise; } export const showRepositoriesDialog = ( From 3853cc92140425556650c94d1e7d6a969ba340f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Thu, 4 Mar 2021 11:51:35 +0100 Subject: [PATCH 020/164] Check if addon is valid before navigating (#8538) Co-authored-by: Bram Kragten --- hassio/src/addon-view/hassio-addon-dashboard.ts | 14 +++++++++++--- src/translations/en.json | 3 ++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/hassio/src/addon-view/hassio-addon-dashboard.ts b/hassio/src/addon-view/hassio-addon-dashboard.ts index cad3861193..4e11853aca 100644 --- a/hassio/src/addon-view/hassio-addon-dashboard.ts +++ b/hassio/src/addon-view/hassio-addon-dashboard.ts @@ -21,6 +21,7 @@ import { extractSearchParam } from "../../../src/common/url/search-params"; import "../../../src/components/ha-circular-progress"; import { fetchHassioAddonInfo, + fetchHassioAddonsInfo, HassioAddonDetails, } from "../../../src/data/hassio/addon"; import { extractApiErrorMessage } from "../../../src/data/hassio/common"; @@ -173,9 +174,16 @@ class HassioAddonDashboard extends LitElement { protected async firstUpdated(): Promise { if (this.route.path === "") { - const addon = extractSearchParam("addon"); - if (addon) { - navigate(this, `/hassio/addon/${addon}`, true); + const requestedAddon = extractSearchParam("addon"); + if (requestedAddon) { + const addonsInfo = await fetchHassioAddonsInfo(this.hass); + const validAddon = addonsInfo.addons + .some((addon) => addon.slug === requestedAddon); + if (!validAddon) { + this._error = this.supervisor.localize("my.error_addon_not_found"); + } else { + navigate(this, `/hassio/addon/${requestedAddon}`, true); + } } } this.addEventListener("hass-api-called", (ev) => this._apiCalled(ev)); diff --git a/src/translations/en.json b/src/translations/en.json index d06592b935..0c7a54aa4d 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -3656,7 +3656,8 @@ "my": { "not_supported": "[%key:ui::panel::my::not_supported%]", "faq_link": "[%key:ui::panel::my::faq_link%]", - "error": "[%key:ui::panel::my::error%]" + "error": "[%key:ui::panel::my::error%]", + "error_addon_not_found": "Add-on not found" }, "system": { "log": { From c91779dffe6d7855b7a5d6e2d27810be4ff57493 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Thu, 4 Mar 2021 16:31:32 +0100 Subject: [PATCH 021/164] Add supervisor_add_addon_repository redirect (#8545) --- hassio/src/addon-store/hassio-addon-store.ts | 17 +++++++++-- .../dialog-hassio-repositories.ts | 30 +++++++++++-------- .../repositories/show-dialog-repositories.ts | 1 + hassio/src/hassio-my-redirect.ts | 12 ++++++-- src/translations/en.json | 3 +- 5 files changed, 44 insertions(+), 19 deletions(-) diff --git a/hassio/src/addon-store/hassio-addon-store.ts b/hassio/src/addon-store/hassio-addon-store.ts index fd39aa5cb7..5ca3d77d73 100644 --- a/hassio/src/addon-store/hassio-addon-store.ts +++ b/hassio/src/addon-store/hassio-addon-store.ts @@ -14,7 +14,9 @@ import { html, TemplateResult } from "lit-html"; import memoizeOne from "memoize-one"; import { atLeastVersion } from "../../../src/common/config/version"; import { fireEvent } from "../../../src/common/dom/fire_event"; +import { navigate } from "../../../src/common/navigate"; import "../../../src/common/search/search-input"; +import { extractSearchParam } from "../../../src/common/url/search-params"; import "../../../src/components/ha-button-menu"; import "../../../src/components/ha-svg-icon"; import { @@ -137,6 +139,12 @@ class HassioAddonStore extends LitElement { protected firstUpdated(changedProps: PropertyValues) { super.firstUpdated(changedProps); + const repositoryUrl = extractSearchParam("repository_url"); + navigate(this, "/hassio/store", true); + if (repositoryUrl) { + this._manageRepositories(repositoryUrl); + } + this.addEventListener("hass-api-called", (ev) => this.apiCalled(ev)); this._loadData(); } @@ -170,7 +178,7 @@ class HassioAddonStore extends LitElement { private _handleAction(ev: CustomEvent) { switch (ev.detail.index) { case 0: - this._manageRepositories(); + this._manageRepositoriesClicked(); break; case 1: this.refreshData(); @@ -187,9 +195,14 @@ class HassioAddonStore extends LitElement { } } - private async _manageRepositories() { + private _manageRepositoriesClicked() { + this._manageRepositories(); + } + + private async _manageRepositories(url?: string) { showRepositoriesDialog(this, { supervisor: this.supervisor, + url, }); } diff --git a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts index ea869b78e6..2c02b817f6 100644 --- a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts +++ b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts @@ -27,7 +27,6 @@ import { } from "../../../../src/data/hassio/addon"; import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; import { setSupervisorOption } from "../../../../src/data/hassio/supervisor"; -import { Supervisor } from "../../../../src/data/supervisor/supervisor"; import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; import type { HomeAssistant } from "../../../../src/types"; import { HassioRepositoryDialogParams } from "./show-dialog-repositories"; @@ -36,12 +35,12 @@ import { HassioRepositoryDialogParams } from "./show-dialog-repositories"; class HassioRepositoriesDialog extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; - @property({ attribute: false }) public supervisor!: Supervisor; - @query("#repository_input", true) private _optionInput?: PaperInputElement; @internalProperty() private _repositories?: HassioAddonRepository[]; + @internalProperty() private _dialogParams?: HassioRepositoryDialogParams; + @internalProperty() private _opened = false; @internalProperty() private _prosessing = false; @@ -51,13 +50,14 @@ class HassioRepositoriesDialog extends LitElement { public async showDialog( dialogParams: HassioRepositoryDialogParams ): Promise { - this.supervisor = dialogParams.supervisor; + this._dialogParams = dialogParams; this._opened = true; await this._loadData(); await this.updateComplete; } public closeDialog(): void { + this._dialogParams = undefined; this._opened = false; this._error = ""; } @@ -69,9 +69,8 @@ class HassioRepositoriesDialog extends LitElement { ); protected render(): TemplateResult { - if (this._repositories === undefined) { - return html` - `; + if (!this._dialogParams?.supervisor || this._repositories === undefined) { + return html``; } const repositories = this._filteredRepositories(this._repositories); return html` @@ -82,7 +81,7 @@ class HassioRepositoriesDialog extends LitElement { escapeKeyAction .heading=${createCloseHeading( this.hass, - this.supervisor.localize("dialog.repositories.title") + this._dialogParams!.supervisor.localize("dialog.repositories.title") )} > ${this._error ? html`
${this._error}
` : ""} @@ -98,7 +97,7 @@ class HassioRepositoriesDialog extends LitElement { ${this._prosessing ? html`` - : this.supervisor.localize("dialog.repositories.add")} + : this._dialogParams!.supervisor.localize( + "dialog.repositories.add" + )} - - Close + + ${this._dialogParams?.supervisor.localize("common.close")}
`; diff --git a/hassio/src/dialogs/repositories/show-dialog-repositories.ts b/hassio/src/dialogs/repositories/show-dialog-repositories.ts index ff3ef7516c..50b0a4f578 100644 --- a/hassio/src/dialogs/repositories/show-dialog-repositories.ts +++ b/hassio/src/dialogs/repositories/show-dialog-repositories.ts @@ -4,6 +4,7 @@ import "./dialog-hassio-repositories"; export interface HassioRepositoryDialogParams { supervisor: Supervisor; + url?: string; } export const showRepositoriesDialog = ( diff --git a/hassio/src/hassio-my-redirect.ts b/hassio/src/hassio-my-redirect.ts index 33992391a0..ff9a40b399 100644 --- a/hassio/src/hassio-my-redirect.ts +++ b/hassio/src/hassio-my-redirect.ts @@ -22,6 +22,9 @@ import { HomeAssistant, Route } from "../../src/types"; import { Supervisor } from "../../src/data/supervisor/supervisor"; const REDIRECTS: Redirects = { + supervisor: { + redirect: "/hassio/dashboard", + }, supervisor_logs: { redirect: "/hassio/system", }, @@ -34,15 +37,18 @@ const REDIRECTS: Redirects = { supervisor_store: { redirect: "/hassio/store", }, - supervisor: { - redirect: "/hassio/dashboard", - }, supervisor_addon: { redirect: "/hassio/addon", params: { addon: "string", }, }, + supervisor_add_addon_repository: { + redirect: "/hassio/store", + params: { + repository_url: "url", + }, + }, }; @customElement("hassio-my-redirect") diff --git a/src/translations/en.json b/src/translations/en.json index 0c7a54aa4d..2b887a7f25 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -3609,7 +3609,8 @@ "restart_name": "Restart {name}", "restart": "Restart", "running_version": "You are currently running version {version}", - "save": "Save", + "save": "[%key:ui::common::save%]", + "close": "[%key:ui::common::close%]", "show_more": "Show more information about this", "update_available": "{count, plural,\n one {Update}\n other {{count} Updates}\n} pending", "update": "Update", From 0d1c72386e0f8530b9776664e0373b8feb353cca Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Thu, 4 Mar 2021 16:43:34 +0100 Subject: [PATCH 022/164] Bump codemirror to 0.18 (#8546) --- package.json | 21 +-- src/components/ha-code-editor.ts | 63 +++++---- src/resources/codemirror.ts | 58 +++++---- yarn.lock | 216 +++++++++++++++++-------------- 4 files changed, 189 insertions(+), 169 deletions(-) diff --git a/package.json b/package.json index b4b291851e..f2114f3125 100644 --- a/package.json +++ b/package.json @@ -23,16 +23,17 @@ "license": "Apache-2.0", "dependencies": { "@braintree/sanitize-url": "^5.0.0", - "@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", + "@codemirror/commands": "^0.18.0", + "@codemirror/gutter": "^0.18.0", + "@codemirror/highlight": "^0.18.1", + "@codemirror/history": "^0.18.0", + "@codemirror/legacy-modes": "^0.18.0", + "@codemirror/rectangular-selection": "^0.18.0", + "@codemirror/search": "^0.18.0", + "@codemirror/state": "^0.18.0", + "@codemirror/stream-parser": "^0.18.0", + "@codemirror/text": "^0.18.0", + "@codemirror/view": "^0.18.0", "@formatjs/intl-getcanonicallocales": "^1.4.6", "@formatjs/intl-pluralrules": "^3.4.10", "@fullcalendar/common": "5.1.0", diff --git a/src/components/ha-code-editor.ts b/src/components/ha-code-editor.ts index 55cb03272d..8388d423be 100644 --- a/src/components/ha-code-editor.ts +++ b/src/components/ha-code-editor.ts @@ -1,4 +1,3 @@ -import type { StreamLanguage } from "@codemirror/stream-parser"; import type { EditorView, KeyBinding, ViewUpdate } from "@codemirror/view"; import { customElement, @@ -16,10 +15,6 @@ declare global { } } -const modeTag = Symbol("mode"); - -const readOnlyTag = Symbol("readOnly"); - const saveKeyBinding: KeyBinding = { key: "Mod-s", run: (view: EditorView) => { @@ -42,7 +37,7 @@ export class HaCodeEditor extends UpdatingElement { @internalProperty() private _value = ""; - @internalProperty() private _langs?: Record>; + private _loadedCodeMirror?: typeof import("../resources/codemirror"); public set value(value: string) { this._value = value; @@ -71,16 +66,16 @@ export class HaCodeEditor extends UpdatingElement { if (changedProps.has("mode")) { this.codemirror.dispatch({ - reconfigure: { - [modeTag]: this._mode, - }, + effects: this._loadedCodeMirror!.langCompartment!.reconfigure( + this._mode + ), }); } if (changedProps.has("readOnly")) { this.codemirror.dispatch({ - reconfigure: { - [readOnlyTag]: !this.readOnly, - }, + effects: this._loadedCodeMirror!.readonlyCompartment!.reconfigure( + this._loadedCodeMirror!.EditorView!.editable.of(!this.readOnly) + ), }); } if (changedProps.has("_value") && this._value !== this.value) { @@ -104,13 +99,11 @@ export class HaCodeEditor extends UpdatingElement { } private get _mode() { - return this._langs![this.mode]; + return this._loadedCodeMirror!.langs[this.mode]; } private async _load(): Promise { - const loaded = await loadCodeMirror(); - - this._langs = loaded.langs; + this._loadedCodeMirror = await loadCodeMirror(); const shadowRoot = this.attachShadow({ mode: "open" }); @@ -124,28 +117,32 @@ export class HaCodeEditor extends UpdatingElement { shadowRoot.appendChild(container); - this.codemirror = new loaded.EditorView({ - state: loaded.EditorState.create({ + this.codemirror = new this._loadedCodeMirror.EditorView({ + state: this._loadedCodeMirror.EditorState.create({ doc: this._value, extensions: [ - loaded.lineNumbers(), - loaded.history(), - loaded.highlightSelectionMatches(), - loaded.keymap.of([ - ...loaded.defaultKeymap, - ...loaded.searchKeymap, - ...loaded.historyKeymap, - ...loaded.tabKeyBindings, + this._loadedCodeMirror.lineNumbers(), + this._loadedCodeMirror.EditorState.allowMultipleSelections.of(true), + this._loadedCodeMirror.history(), + this._loadedCodeMirror.highlightSelectionMatches(), + this._loadedCodeMirror.highlightActiveLine(), + this._loadedCodeMirror.rectangularSelection(), + this._loadedCodeMirror.keymap.of([ + ...this._loadedCodeMirror.defaultKeymap, + ...this._loadedCodeMirror.searchKeymap, + ...this._loadedCodeMirror.historyKeymap, + ...this._loadedCodeMirror.tabKeyBindings, saveKeyBinding, ] as KeyBinding[]), - loaded.tagExtension(modeTag, this._mode), - loaded.theme, - loaded.Prec.fallback(loaded.highlightStyle), - loaded.tagExtension( - readOnlyTag, - loaded.EditorView.editable.of(!this.readOnly) + this._loadedCodeMirror.langCompartment.of(this._mode), + this._loadedCodeMirror.theme, + this._loadedCodeMirror.Prec.fallback( + this._loadedCodeMirror.highlightStyle ), - loaded.EditorView.updateListener.of((update) => + this._loadedCodeMirror.readonlyCompartment.of( + this._loadedCodeMirror.EditorView.editable.of(!this.readOnly) + ), + this._loadedCodeMirror.EditorView.updateListener.of((update) => this._onUpdate(update) ), ], diff --git a/src/resources/codemirror.ts b/src/resources/codemirror.ts index aedfd3f34a..e8162732a3 100644 --- a/src/resources/codemirror.ts +++ b/src/resources/codemirror.ts @@ -4,20 +4,25 @@ import { StreamLanguage } from "@codemirror/stream-parser"; import { jinja2 } from "@codemirror/legacy-modes/mode/jinja2"; import { yaml } from "@codemirror/legacy-modes/mode/yaml"; import { indentLess, indentMore } from "@codemirror/commands"; +import { Compartment } from "@codemirror/state"; -export { keymap } from "@codemirror/view"; +export { keymap, highlightActiveLine } from "@codemirror/view"; export { CMEditorView as EditorView }; -export { EditorState, Prec, tagExtension } from "@codemirror/state"; +export { EditorState, Prec } from "@codemirror/state"; export { defaultKeymap } from "@codemirror/commands"; export { lineNumbers } from "@codemirror/gutter"; export { searchKeymap, highlightSelectionMatches } from "@codemirror/search"; export { history, historyKeymap } from "@codemirror/history"; +export { rectangularSelection } from "@codemirror/rectangular-selection"; export const langs = { jinja2: StreamLanguage.define(jinja2), yaml: StreamLanguage.define(yaml), }; +export const langCompartment = new Compartment(); +export const readonlyCompartment = new Compartment(); + export const tabKeyBindings: KeyBinding[] = [ { key: "Tab", run: indentMore }, { @@ -27,7 +32,7 @@ export const tabKeyBindings: KeyBinding[] = [ ]; export const theme = CMEditorView.theme({ - $: { + "&": { color: "var(--primary-text-color)", backgroundColor: "var(--code-editor-background-color, var(--card-background-color))", @@ -36,27 +41,28 @@ export const theme = CMEditorView.theme({ maxHeight: "var(--code-mirror-max-height, unset)", }, - $scroller: { outline: "none" }, - - $content: { caretColor: "var(--secondary-text-color)" }, - - $$focused: { outline: "none" }, - - "$$focused $cursor": { borderLeftColor: "#var(--secondary-text-color)" }, - "$$focused $selectionBackground, $selectionBackground": { + "&.cm-focused": { outline: "none" }, + "&.cm-focused .cm-cursor": { + borderLeftColor: "#var(--secondary-text-color)", + }, + "&.cm-focused .cm-selectionBackground, .cm-selectionBackground": { backgroundColor: "rgba(var(--rgb-primary-color), 0.3)", }, - $panels: { + ".cm-scroller": { outline: "none" }, + + ".cm-content": { caretColor: "var(--secondary-text-color)" }, + + ".cm-panels": { backgroundColor: "var(--primary-background-color)", color: "var(--primary-text-color)", }, - "$panels.top": { borderBottom: "1px solid var(--divider-color)" }, - "$panels.bottom": { borderTop: "1px solid var(--divider-color)" }, + ".cm-panels.top": { borderBottom: "1px solid var(--divider-color)" }, + ".cm-panels.bottom": { borderTop: "1px solid var(--divider-color)" }, - "$panel.search input": { margin: "4px 4px 0" }, + ".cm-panel.search input": { margin: "4px 4px 0" }, - $button: { + ".cm-button": { border: "1px solid var(--primary-color)", padding: "0px 16px", textTransform: "uppercase", @@ -72,7 +78,7 @@ export const theme = CMEditorView.theme({ letterSpacing: "var(--mdc-typography-button-letter-spacing, 0.0892857em)", }, - $textfield: { + ".cm-textfield": { padding: "4px 0px 5px", borderRadius: "0", fontSize: "16px", @@ -93,20 +99,20 @@ export const theme = CMEditorView.theme({ }, }, - $selectionMatch: { + ".cm-selectionMatch": { backgroundColor: "rgba(var(--rgb-primary-color), 0.1)", }, - $searchMatch: { + ".cm-searchMatch": { backgroundColor: "rgba(var(--rgb-accent-color), .2)", outline: "1px solid rgba(var(--rgb-accent-color), .4)", }, - "$searchMatch.selected": { + ".cm-searchMatch.selected": { backgroundColor: "rgba(var(--rgb-accent-color), .4)", outline: "1px solid var(--accent-color)", }, - $gutters: { + ".cm-gutters": { backgroundColor: "var(--paper-dialog-background-color, var(--primary-background-color))", color: "var(--paper-dialog-color, var(--secondary-text-color))", @@ -115,15 +121,15 @@ export const theme = CMEditorView.theme({ "1px solid var(--paper-input-container-color, var(--secondary-text-color))", paddingRight: "1px", }, - "$$focused $gutters": { + "&.cm-focused cm-gutters": { borderRight: "2px solid var(--paper-input-container-focus-color, var(--primary-color))", paddingRight: "0", }, - "$gutterElementags.lineNumber": { color: "inherit" }, + ".cm-gutterElementags.lineNumber": { color: "inherit" }, }); -export const highlightStyle = HighlightStyle.define( +export const highlightStyle = HighlightStyle.define([ { tag: tags.keyword, color: "var(--codemirror-keyword, #6262FF)" }, { tag: [ @@ -194,5 +200,5 @@ export const highlightStyle = HighlightStyle.define( { tag: tags.processingInstruction, color: "var(--secondary-text-color)" }, { tag: tags.string, color: "var(--codemirror-string, #07a)" }, { tag: tags.inserted, color: "var(--codemirror-string2, #07a)" }, - { tag: tags.invalid, color: "var(--error-color)" } -); + { tag: tags.invalid, color: "var(--error-color)" }, +]); diff --git a/yarn.lock b/yarn.lock index bd86587600..c43e85b834 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1905,135 +1905,144 @@ resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-5.0.0.tgz#3ba791f37b90e7f6170d252b63aacfcae943c039" integrity sha512-WmKrB/575EJCzbeSJR3YQ5sET5FaizeljLRw1382qVUeGqzuWBgIS+AF5a0FO51uQTrDpoRgvuHC2IWVsgwkkA== -"@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== +"@codemirror/commands@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-0.18.0.tgz#10344d7d7a0fecad826e9853c1e6069d706298c6" + integrity sha512-4H63B4oqr8dmJ3VOKvMI7xrZIBJjAdtz3Z0V/Jt0HlIYTe76Omy4h9BS3b9EgyNaWjIO/Slz3KQPwihcC8uR5Q== dependencies: - "@codemirror/language" "^0.17.0" - "@codemirror/matchbrackets" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/text" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/language" "^0.18.0" + "@codemirror/matchbrackets" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/text" "^0.18.0" + "@codemirror/view" "^0.18.0" lezer-tree "^0.13.0" -"@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== +"@codemirror/gutter@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/gutter/-/gutter-0.18.0.tgz#b6fb340f7cc7b4ed1a67687e145489b3ed93098d" + integrity sha512-9hcKzBM5EjhWwrau5Xiv0ll/yOvkgiyLnH7DTsjFCUvuyfbS45WVEMhQ6C+HfsoRVR4TJqRVLJjaIktZqaAqnw== dependencies: - "@codemirror/rangeset" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/rangeset" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/view" "^0.18.0" -"@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== +"@codemirror/highlight@^0.18.0", "@codemirror/highlight@^0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@codemirror/highlight/-/highlight-0.18.1.tgz#9ba1e842dd149b9985ee48cfdbeff6ef191378bb" + integrity sha512-SBbz6hS7/vUrgeiwTBByx/UXY8+Tkdyk7/CUq+XfgGUwPXpK8+llzBlQHa4mov46f/wAy1qoj0uobfgSjcvEpQ== dependencies: - "@codemirror/language" "^0.17.0" - "@codemirror/rangeset" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/language" "^0.18.0" + "@codemirror/rangeset" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/view" "^0.18.0" lezer-tree "^0.13.0" - style-mod "^3.2.0" + style-mod "^4.0.0" -"@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== +"@codemirror/history@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/history/-/history-0.18.0.tgz#1267499e20f977b5b4179ec2cfd5013d78ab0cbc" + integrity sha512-oMpvu7c8GQnEn1nX98+WuVQuMEVxOPJFU1yrA22sWfqG7lkrJAv7p4geCWOpwQY9/LWw4sICkDbCeirre4BqBA== dependencies: - "@codemirror/state" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/state" "^0.18.0" + "@codemirror/view" "^0.18.0" -"@codemirror/language@^0.17.0": - version "0.17.5" - resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-0.17.5.tgz#77b551680f0bb8a6e40de7659e518de1e0c637a0" - integrity sha512-eFpWMv4anbinagEziYUO62mNKUFBPXeJ96HRuxYQI3yt4mJIVjzS7FkB/4VHqOcvfJYqYI3TURyu0T8MM4se2A== +"@codemirror/language@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-0.18.0.tgz#16c3beaf372d0ecfcb76d708a8f55efccaa25563" + integrity sha512-gryu0Sej1vG3S3njwsJ+bhz9zLoJxZ2TahLlxpqOB3uqVGZrGDyE+GmZBnA6I3hwHvaO1O4WXKScVsKoW6HqFA== dependencies: - "@codemirror/state" "^0.17.0" - "@codemirror/text" "^0.17.0" - "@codemirror/view" "^0.17.0" - lezer "^0.13.0" + "@codemirror/state" "^0.18.0" + "@codemirror/text" "^0.18.0" + "@codemirror/view" "^0.18.0" + lezer "^0.13.4" lezer-tree "^0.13.0" -"@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== +"@codemirror/legacy-modes@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/legacy-modes/-/legacy-modes-0.18.0.tgz#64bb6819758a50ccf777e4d64d59dec0fac2e169" + integrity sha512-ME/FnBTRf+nriCB1Racmwhl3tSSnIOobhLyK0kOX6mogKdcdkRxSVpeo1fAC8DddsXqi/NKRn8GUr/vUiHefdg== dependencies: - "@codemirror/stream-parser" "^0.17.0" + "@codemirror/stream-parser" "^0.18.0" -"@codemirror/matchbrackets@^0.17.0": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@codemirror/matchbrackets/-/matchbrackets-0.17.2.tgz#9dd72046d7bf09550612b2553c41317ed22577b1" - integrity sha512-E4TP7lNXk7VtmvvKYH59yNx0lf5ubv7iv0Ok0uWCjxm+RIPnXiOdRoNI7rxITJcgNROOyKnuKsd6AAnmuXxDEQ== +"@codemirror/matchbrackets@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/matchbrackets/-/matchbrackets-0.18.0.tgz#64a493090d942de19f15a9ed3cb0fa19ed55f18b" + integrity sha512-dPDopnZVkD54sSYdmQbyQbPdiuIA83p7XxX6Hp1ScEkOjukwCiFXiA/84x10FUTsQpUYp8bDzm7gwII119bGIw== dependencies: - "@codemirror/language" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/language" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/view" "^0.18.0" lezer-tree "^0.13.0" -"@codemirror/panel@^0.17.0": - version "0.17.1" - resolved "https://registry.yarnpkg.com/@codemirror/panel/-/panel-0.17.1.tgz#9dfd3b464c537caebec43fffbd8a283b0210d4c1" - integrity sha512-2it2Sk02eF4WFwPVoRLhr9lPGq9lwwwHZFyb4olqI6tOyTPwk6leZ4ntabYrhvjRc7gD6S6vM14KhOtjm4hjqg== +"@codemirror/panel@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/panel/-/panel-0.18.0.tgz#79726a4506f45b5abbe31a6dd80f4cd29a810e49" + integrity sha512-wgKpe+QRjZwFKoMbMxqUFlV4j3dvgm8Q4v12SS0L6yxnFZkMsdbmowh0+pBa1Cp5iTSb0pdEOjAQaiWFZyIk9g== dependencies: - "@codemirror/state" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/state" "^0.18.0" + "@codemirror/view" "^0.18.0" -"@codemirror/rangeset@^0.17.0": - version "0.17.1" - resolved "https://registry.yarnpkg.com/@codemirror/rangeset/-/rangeset-0.17.1.tgz#41066bcf4b70b2c7595cb1363780688cc3f1235b" - integrity sha512-Qv8a8C5CZiUdXGvxniWdULJzXDiz5uSP5ddHFEmekGa9nNVCgdr05nH7R+h3NgJ2P40UEEOPykqXZyy8EHGggw== +"@codemirror/rangeset@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/rangeset/-/rangeset-0.18.0.tgz#8b3bec00c1cee8c3db3827a752a76819ead2dfab" + integrity sha512-+dpK3T6EFv2vkoAc3sTZld0N5SHZDjD3YowFYuMWn0Xw3t+u6k+JZlGBuaFTXdsLeF0auclsm0XhRUpMVuXhTg== dependencies: - "@codemirror/state" "^0.17.0" + "@codemirror/state" "^0.18.0" -"@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== +"@codemirror/rectangular-selection@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/rectangular-selection/-/rectangular-selection-0.18.0.tgz#87e1a4d319b5d55b4e97294e6df0070164e836c0" + integrity sha512-BQ4pp2zhXCVZNqct5LtLR3AOWVseENBF/3oOgBmwsCKH7c11NfTqIqgWG5EW8NLOXp8HP8cDm3np8eWez0VkGQ== dependencies: - "@codemirror/panel" "^0.17.0" - "@codemirror/rangeset" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/text" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/state" "^0.18.0" + "@codemirror/text" "^0.18.0" + "@codemirror/view" "^0.18.0" + +"@codemirror/search@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-0.18.0.tgz#aabb53d4678196e82309241753cd67403149e35d" + integrity sha512-gjg1yDz6gof0lhOEzjqofidd5tH2dwUwiyzym6E78n3tZBh/KygLKmw0B0T9a5s9JTVZtzup95i+TmcHrz2MQg== + dependencies: + "@codemirror/panel" "^0.18.0" + "@codemirror/rangeset" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/text" "^0.18.0" + "@codemirror/view" "^0.18.0" crelt "^1.0.5" -"@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== +"@codemirror/state@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-0.18.0.tgz#5bb5600c5bf32d4103b6576cd33bdb8cf926d602" + integrity sha512-E5Tgx/CVmQQdiIOoJ4xX4hy2RGqTjxbpzDifGn8wUu3Driq/uZ+ncr7M4ojWs1T83yYFevNBmPtT5vprD25vYA== dependencies: - "@codemirror/text" "^0.17.0" + "@codemirror/text" "^0.18.0" -"@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== +"@codemirror/stream-parser@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/stream-parser/-/stream-parser-0.18.0.tgz#d4eaf7043324bf9d20c518732a2ce2ff845256a5" + integrity sha512-qxtSBvn2kKMm0XlfJ0e7FbVIg10RsaNjX5n/jRWlK2Y0kHjk+Huk5vkkGR3vjwHDgRdfwQe/vqZtkPz3DFQpLQ== dependencies: - "@codemirror/highlight" "^0.17.0" - "@codemirror/language" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/text" "^0.17.0" + "@codemirror/highlight" "^0.18.0" + "@codemirror/language" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/text" "^0.18.0" lezer "^0.13.0" lezer-tree "^0.13.0" -"@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/text@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/text/-/text-0.18.0.tgz#a4a98862989ccef5545e730b269136d524c6a7c7" + integrity sha512-HMzHNIAbjCiCf3tEJMRg6ul01KPuXxQGNiHlHgAnqPguq/CX+L4Nvj5JlWQAI91Pupk18zhmM1c6eaazX4YeTg== -"@codemirror/view@^0.17.0": - version "0.17.13" - resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-0.17.13.tgz#e805ccaa31c22fcff87f0a1c88c143ff17960458" - integrity sha512-TWmQF2OMzWYY51gvzcq0ECvW1EyhEVpy//dmu1MDvJrv8nDZWGY/a414fUCc+v6DKNpujg7IIpP9sD2izYJFpg== +"@codemirror/view@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-0.18.0.tgz#3bbb95d71fd526460acb0de724846851d0f7137c" + integrity sha512-+ll9SL8dIAvaI4OMv4wZWRrW6AGUY45Al5L88KIp+bd1jFKYO1cu21UXAG25EvqYInZ4ctc6el0vYRP9A+VOrw== dependencies: - "@codemirror/rangeset" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/text" "^0.17.0" - style-mod "^3.2.0" + "@codemirror/rangeset" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/text" "^0.18.0" + style-mod "^4.0.0" w3c-keyname "^2.2.4" "@discoveryjs/json-ext@^0.5.0": @@ -9441,6 +9450,13 @@ lezer@^0.13.0: dependencies: lezer-tree "^0.13.2" +lezer@^0.13.4: + version "0.13.4" + resolved "https://registry.yarnpkg.com/lezer/-/lezer-0.13.4.tgz#f0396a3447c7a8f40391623f3f47a4d95559c42f" + integrity sha512-cLQxUVY28VBBqKBt/R8CYeH57KQnIvscAnoahzvhlZTK8qxMkIyGExR6ecEpYYDX06ZhROZrEm1IiPvjLAsTig== + dependencies: + lezer-tree "^0.13.2" + liftoff@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" @@ -12964,10 +12980,10 @@ strip-json-comments@^3.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== -style-mod@^3.2.0: - 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== +style-mod@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.0.0.tgz#97e7c2d68b592975f2ca7a63d0dd6fcacfe35a01" + integrity sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw== subarg@^1.0.0: version "1.0.0" From 0ca2cdfbede98d96ff1a96abf2236b55f882b254 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Fri, 5 Mar 2021 01:23:51 +0000 Subject: [PATCH 023/164] Translation update --- translations/frontend/ca.json | 30 +- translations/frontend/da.json | 25 +- translations/frontend/de.json | 139 +++++---- translations/frontend/en.json | 2 + translations/frontend/es-419.json | 95 +++++- translations/frontend/es.json | 53 ++-- translations/frontend/et.json | 7 +- translations/frontend/fr.json | 115 +++++++ translations/frontend/hu.json | 333 +++++++++++++++++++- translations/frontend/is.json | 122 ++++++++ translations/frontend/it.json | 3 + translations/frontend/ja.json | 118 +++---- translations/frontend/ko.json | 167 +++++++++- translations/frontend/lt.json | 7 + translations/frontend/nb.json | 5 + translations/frontend/nl.json | 57 ++-- translations/frontend/nn.json | 12 + translations/frontend/pl.json | 19 +- translations/frontend/pt.json | 19 +- translations/frontend/ru.json | 293 +++++++++++++++--- translations/frontend/sk.json | 479 ++++++++++++++++++++++++++++- translations/frontend/sv.json | 294 +++++++++++++++++- translations/frontend/zh-Hans.json | 62 ++++ translations/frontend/zh-Hant.json | 3 + 24 files changed, 2198 insertions(+), 261 deletions(-) diff --git a/translations/frontend/ca.json b/translations/frontend/ca.json index 4e8827c89b..e6411d1382 100644 --- a/translations/frontend/ca.json +++ b/translations/frontend/ca.json @@ -117,6 +117,7 @@ "header": "Xarxa", "host": "Amfitrió" }, + "no_configuration": "Aquest complement no exposa cap configuració amb la que t'hi puguis manegar...", "options": { "edit_in_ui": "Edita a la IU", "edit_in_yaml": "Edita com a YAML", @@ -139,24 +140,29 @@ }, "capability": { "apparmor": { + "description": "AppArmor ('Application Armor') és un mòdul de seguretat del nucli Linux que restringeix certes capacitats dels complements com l'accés a la xarxa, l'accés complet a sockets o els permisos per llegir, escriure o executar fitxers específics.\n\nEls autors del complement poden proporcionar els seus perfils de seguretat optimitzats per al complement, o demanar que es desactivi. Si AppArmor està desactivat, augmenten els riscos de seguretat i, per tant, el nivell de seguretat del complement se'n veurà ressentit.", "title": "AppArmor" }, "auth_api": { + "description": "Un complement pot autenticar usuaris amb Home Assistant, cosa que permet que els usuaris puguin iniciar sessió a aplicacions que s'estan executant dins de complements mitjançant el seu nom d'usuari/contrasenya de Home Assistant. Aquesta insígnia indica si l'autor del complement ha demanat aquesta funcionalitat.", "title": "Autenticació de Home Assistant" }, "docker_api": { "title": "Accés complet a Docker" }, "full_access": { + "description": "Aquest complement té accés complet al maquinari del teu sistema per petició del seu autor. Aquest accés és similar al mode privilegiat de Docker. Com que això genera possibles riscos de seguretat, aquesta funció afecta negativament al nivell de seguretat del complement. \n\nAquest accés no s'atorga automàticament i cal que ho confirms. Per fer-ho, has de desactivar manualment el mode de protecció del complement. Desactiva el mode de protecció només si coneixes i confies en l'origen del complement.", "title": "Accés complet al maquinari" }, "hassio_api": { "title": "Accés a l'API del Supervisor" }, "homeassistant_api": { + "description": "Aquest complement té permís per accedir a la teva instància de Home Assistant directament mitjançant l'API de Home Assistant. Aquest mode també gestiona l'autenticació del complement, cosa que li permet interactuar amb Home Assistant sense necessitat de tokens d'autenticació addicionals.", "title": "Accés a l'API de Home Assistant" }, "host_network": { + "description": "Els complements normalment s'executen dins la seva pròpia capa de xarxa aïllada, cosa que els impedeix accedir a la xarxa del sistema operatiu amfitrió. En alguns casos, aquest aïllament pot limitar la prestació dels serveis del complement. Per tant, l'aïllament pot ser eliminat per l'autor del complement; en aquest cas, el complement té un accés complet a les capacitats de xarxa del dispositiu amfitrió. Això li porporciona més capacitats però en redueix la seguretat, per tant, el nivell de seguretat del complement es reduirà quan aquesta opció s'utilitzi.", "title": "Xarxa amfitrió" }, "ingress": { @@ -177,6 +183,7 @@ "stage": "fase" }, "rating": { + "description": "Home Assistant proporciona un nivell de seguretat a cadascun dels complements que n'indica els riscos que comporta el seu ús. Com més accés tingui el complement al teu sistema, menor serà la puntuació, ja que els possibles riscos de seguretat augmenten. \n\nEl nivell es troba en una escala de l'1 al 6. On l'1 és la puntuació més baixa (menys segur i risc més alt) i la puntuació 6 és la puntuació més alta (més segur i risc més baix).", "title": "Nivell de seguretat del complement" }, "role": { @@ -196,6 +203,8 @@ "hostname": "Nom d'amfitrió", "install": "instal·la", "new_update_available": "{name} {version} està disponible", + "not_available_arch": "Aquest complement no és compatible amb el processador del dispositiu o amb el sistema operatiu que està instal·lat al dispositiu.", + "not_available_version": "Estàs utilitzant Home Assistant {core_version_installed}, per actualitzar el complement a aquesta versió, necessites com mínim la versió {core_version_needed} de Home Assistant", "open_web_ui": "Obre la IU web", "option": { "auto_update": { @@ -214,10 +223,12 @@ "title": "Mode de protecció" }, "watchdog": { - "description": "Això farà que s'iniciï el complement en cas de que falli" + "description": "Això farà que s'iniciï el complement en cas de que falli", + "title": "Gos vigilant" } }, "protection_mode": { + "content": "El mode de protecció en aquest complement està desactivat. Això fa que el complement tingui accés complet a tot el sistema, cosa que afegeix riscos de seguretat i pot fer malbé el sistema si s'utilitza incorrectament. Desactiva el mode de protecció només si coneixes i confies en l'origen del complement.", "enable": "Activa el mode de protecció", "title": "Alerta: el mode de protecció està desactivat!" }, @@ -251,6 +262,7 @@ }, "common": { "cancel": "Cancel·la", + "close": "Tanca", "description": "Descripció", "error": { "unknown": "Error desconegut", @@ -295,7 +307,8 @@ "addon_new_version": "Nova versió disponible", "addon_running": "El complement s'està executant", "addon_stopped": "El complement està aturat", - "addons": "Complements" + "addons": "Complements", + "no_addons": "Encara no tens cap complement instal·lat. Vés al directori de complements per començar!" }, "dialog": { "network": { @@ -346,12 +359,14 @@ }, "my": { "error": "S'ha produït un error desconegut", + "error_addon_not_found": "No s'ha trobat el complement", "faq_link": "Preguntes freqüents de My Home Assistant", "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." }, "panel": { "dashboard": "Panell", "snapshots": "Instantànies", + "store": "Directori de complements", "system": "Sistema" }, "snapshot": { @@ -421,6 +436,7 @@ "log_provider": "Proveïdor de registres" }, "supervisor": { + "beta_backup": "Assegura't que tens còpies de seguretat de les teves dades abans d'activar aquesta funció.", "beta_join_confirm": "Vols unir-te al canal beta?", "beta_release_items": "Això inclou les versions beta de:", "channel": "Canal", @@ -429,17 +445,24 @@ "failed_to_set_option": "No s'ha pogut configurar l'opció del Supervisor", "failed_to_update": "No s'ha pogut actualitzar el Supervisor", "join_beta_action": "Uneix-te al canal beta", + "join_beta_description": "Obtén actualitzacions beta de Home Assistant (RCs), del Supervisor i de l'amfitrió", "leave_beta_action": "Deixa el canal beta", + "leave_beta_description": "Obtén actualitzacions estables de Home Assistant, del Supervisor i de l'amfitrió", "ram_usage": "Ús de RAM del Supervisor", "reload_supervisor": "Torna a carregar el Supervisor", "share_diagnostics": "Comparteix diagnòstics", + "share_diagnostics_description": "Comparteix informes d'errors i informació de diagnòstic.", + "share_diagonstics_description": "Vols compartir automàticament informes d'error i informació de diagnòstic quan el Supervisor trobi amb errors inesperats?{line_break} Això ens permetrà solucionar problemes, la informació només és accessible per a l'equip de Home Assistant Core i no es compartirà amb altres persones.{line_break} Les dades no inclouen informació privada/confidencial, ho pots desactivar en qualsevol moment a la configuració.", "share_diagonstics_title": "Ajuda a millorar Home Assistant", + "unhealthy_description": "Si utilitzes una instal·lació que no és bona, es produiran problemes. A continuació es mostra una llista de problemes relacionats amb la instal·lació, fes clic als enllaços per obtenir informació sobre com resoldre'ls.", "unhealthy_reason": { "docker": "L'entorn Docker no està funcionant correctament", "privileged": "El Supervisor no és privilegiat", "setup": "Ha fallat la configuració del Supervisor", "supervisor": "El Supervisor no s'ha pogut actualitzar" }, + "unhealthy_title": "La teva instal·lació no és bona", + "unsupported_description": "A continuació es mostra una llista de problemes relacionats amb la instal·lació, fes clic als enllaços per obtenir informació sobre com resoldre'ls.", "unsupported_reason": { "dbus": "DBUS", "docker_configuration": "Configuració de Docker", @@ -980,6 +1003,9 @@ "person": { "create_zone": "Crea una zona a partir de la ubicació actual" }, + "remote": { + "activity": "Activitat actual" + }, "restored": { "confirm_remove_text": "Estàs segur que vols eliminar aquesta entitat?", "confirm_remove_title": "Eliminar l'entitat?", diff --git a/translations/frontend/da.json b/translations/frontend/da.json index f49fa58cd5..655ba43fe7 100644 --- a/translations/frontend/da.json +++ b/translations/frontend/da.json @@ -122,15 +122,28 @@ "network": { "connected_to": "Forbundet til {ssid}", "dhcp": "DHCP", + "disabled": "Deaktiveret", + "dns_servers": "DNS servere", + "gateway": "Gateway adresse", + "ip_netmask": "IP adresse/netmaske", "open": "Åben", "scan_ap": "Scan for adgangspunkter", "static": "Statisk", - "title": "Netværksindstillinger" + "title": "Netværksindstillinger", + "warning": "Hvis du ændrer på Wi-Fi, IP eller Gateway adresser, vil du måske miste forbindelsen!", + "wep": "WEP", + "wpa": "wpa-psk" }, "registries": { + "add_new_registry": "Tilføj nyt registry", + "add_registry": "Tilføj registry", + "failed_to_add": "Fejl under tilføjelse af registry", "failed_to_remove": "fejlede i at fjerne registret", + "no_registries": "Ingen registries er konfigurerede", "password": "Kodeord", - "remove": "fjern", + "registry": "Registry", + "remove": "Fjern", + "title_manage": "Håndtér container registries", "username": "Brugernavn" }, "repositories": { @@ -166,8 +179,10 @@ "ssl": "SSL" }, "folders": "Mapper", + "full_snapshot": "Fuldt snapshot", "name": "Navn", "no_snapshots": "Du har endnu ingen snapshots.", + "partial_snapshot": "Delvist snapshot", "password": "Kodeord", "password_protected": "beskyttet af kodeord", "password_protection": "Adgangskodebeskyttelse", @@ -192,7 +207,8 @@ "new_hostname": "Indtast et nyt værtsnavn:", "operating_system": "Operativsystem", "reboot_host": "Genstart værten", - "shutdown_host": "Sluk vært" + "shutdown_host": "Sluk vært", + "used_space": "Plads forbrug" }, "supervisor": { "share_diagonstics_description": "Ønsker du automatisk at dele rapporter og diagnosticeringsoplysninger når supervisoren oplever uventede fejl? {line_break} Dette vil lade os fikse problemerne, informationerene er kun tilgængelige for Home Assistant Core teamet og vil ikke blive delt med andre. {line_break} Dataene indeholder ikke private/følsomme informationer og du kan slå det fra i indstillingerne til hver en tid.", @@ -704,6 +720,9 @@ "person": { "create_zone": "Opret zone fra den aktuelle lokalitet" }, + "remote": { + "activity": "Kørende aktivitet" + }, "restored": { "confirm_remove_text": "Er du sikker på, at du vil fjerne denne entitet?", "confirm_remove_title": "Fjern entitet?", diff --git a/translations/frontend/de.json b/translations/frontend/de.json index 593ef2b552..0b2a80413f 100644 --- a/translations/frontend/de.json +++ b/translations/frontend/de.json @@ -117,7 +117,7 @@ "header": "Netzwerk", "host": "Host" }, - "no_configuration": "Für dieses Add-on gibt es keine Konfiguration. Also nichts mit dem Du Dich herumschlagen musst...", + "no_configuration": "Für dieses Add-on gibt es keine Konfiguration. Also nichts mit dem du dich herumschlagen musst...", "options": { "edit_in_ui": "Mit der Benutzeroberfläche bearbeiten", "edit_in_yaml": "Als YAML bearbeiten", @@ -128,51 +128,51 @@ }, "dashboard": { "action_error": { - "get_changelog": "Add-On-Änderungsprotokoll konnte nicht abgerufen werden", - "go_to_config": "Starten fehlgeschlagen - Validierung der Addon-Konfiguration nicht erfolgreich", - "install": "Addon konnte nicht installiert werden", - "restart": "Neustart des Addons fehlgeschlagen", - "start": "Starten des Addon fehlgeschlagen", + "get_changelog": "Add-on-Änderungsprotokoll konnte nicht abgerufen werden", + "go_to_config": "Starten des Add-on fehlgeschlagen - Validierung der Konfiguration nicht erfolgreich", + "install": "Add-on konnte nicht installiert werden", + "restart": "Neustart des Add-on fehlgeschlagen", + "start": "Starten des Add-on fehlgeschlagen", "start_invalid_config": "Zur Konfiguration gehen", - "stop": "Stoppen des Addon fehlgeschlagen", - "uninstall": "Addon konnte nicht deinstalliert werden", - "validate_config": "Validierung der Addon-Konfiguration fehlgeschlagen" + "stop": "Stoppen des Add-on fehlgeschlagen", + "uninstall": "Add-on konnte nicht deinstalliert werden", + "validate_config": "Validierung der Add-on-Konfiguration fehlgeschlagen" }, "capability": { "apparmor": { - "description": "AppArmor ('Application Armor') ist ein Linux-Kernel-Sicherheitsmodul, das Add-On-Funktionen wie Netzwerkzugriff, Raw-Socket-Zugriff und die Berechtigung zum Lesen, Schreiben oder Ausführen bestimmter Dateien einschränkt. \n\nAdd-On-Autoren können ihre Sicherheitsprofile bereitstellen, die für das Add-On optimiert sind, oder die Deaktivierung anfordern. Wenn AppArmor deaktiviert ist, erhöht dies das Sicherheitsrisiko und wirkt sich daher negativ auf die Sicherheitsbewertung des Add-Ons aus.", + "description": "AppArmor ('Application Armor') ist ein Linux-Kernel-Sicherheitsmodul, das Add-on-Funktionen wie Netzwerkzugriff, Raw-Socket-Zugriff und die Berechtigung zum Lesen, Schreiben oder Ausführen bestimmter Dateien einschränkt. \n\nAdd-on-Autoren können ihre Sicherheitsprofile bereitstellen, die für das Add-on optimiert sind, oder die Deaktivierung anfordern. Wenn AppArmor deaktiviert ist, erhöht dies das Sicherheitsrisiko und wirkt sich daher negativ auf die Sicherheitsbewertung des Add-ons aus.", "title": "AppArmor" }, "auth_api": { - "description": "Ein Add-On kann Benutzer gegen Home Assistant authentifizieren, sodass Add-Ons Benutzern die Möglichkeit bieten, sich mit ihrem Home Assistant-Benutzernamen/-Kennwort bei Anwendungen anzumelden, die in Add-Ons ausgeführt werden. Dieses Abzeichen zeigt an, ob der Add-On-Autor diese Berechtigung anfordert.", + "description": "Ein Add-on kann Benutzer gegen Home Assistant authentifizieren, sodass Add-ons Benutzern die Möglichkeit bieten, sich mit ihrem Home Assistant-Benutzernamen/-Kennwort bei Anwendungen anzumelden, die in Add-ons ausgeführt werden. Dieses Abzeichen zeigt an, ob der Add-on-Autor diese Berechtigung anfordert.", "title": "Home Assistant-Authentifizierung" }, "docker_api": { - "description": "Der Add-On-Autor hat das Add-On angefordert, um Verwaltungszugriff auf die Docker-Instanz zu haben, die auf Deinem System ausgeführt wird. Dieser Modus gibt dem Add-On vollen Zugriff und Kontrolle auf Dein gesamtes Home Assistant-System, was Sicherheitsrisiken erhöht und Dein System beschädigen kann, wenn es missbraucht wird. Daher wirkt sich diese Funktion negativ auf den Add-On-Sicherheitsbewertung aus.\n\nDiese Zugriffsebene wird nicht automatisch gewährt und muss von Dir bestätigt werden. Dazu musst Du den Schutzmodus für das Add-On manuell deaktivieren. Deaktiviere den Schutzmodus nur, wenn Du es wirklich musst UND der Quelle dieses Add-Ons vertraust.", + "description": "Der Add-on-Autor hat das Add-on angefordert, um Verwaltungszugriff auf die Docker-Instanz zu haben, die auf Deinem System ausgeführt wird. Dieser Modus gibt dem Add-on vollen Zugriff und Kontrolle auf dein gesamtes Home Assistant-System, was Sicherheitsrisiken erhöht und dein System beschädigen kann, wenn es missbraucht wird. Daher wirkt sich diese Funktion negativ auf den Add-on-Sicherheitsbewertung aus.\n\nDiese Zugriffsebene wird nicht automatisch gewährt und muss von dir bestätigt werden. Dazu musst du den Schutzmodus für das Add-on manuell deaktivieren. Deaktiviere den Schutzmodus nur, wenn du es wirklich musst UND der Quelle dieses Add-ons vertraust.", "title": "Vollständiger Docker-Zugriff" }, "full_access": { - "description": "Dieses Add-on erhält auf Wunsch des Add-On-Autors vollen Zugriff auf die Hardware Deines Systems. Der Zugriff ist mit dem privilegierten Modus in Docker vergleichbar. Da dies mögliche Sicherheitsrisiken eröffnet, wirkt sich diese Funktion negativ auf den Add-On-Sicherheitsbewertung aus.\n\nDiese Zugriffsebene wird nicht automatisch gewährt und muss von Dir bestätigt werden. Dazu musst Du den Schutzmodus für das Add-On manuell deaktivieren. Deaktiviere den Schutzmodus nur, wenn Du es wirklich musst UND der Quelle dieses Add-Ons vertraust.", + "description": "Dieses Add-on erhält auf Wunsch des Add-on-Autors vollen Zugriff auf die Hardware Deines Systems. Der Zugriff ist mit dem privilegierten Modus in Docker vergleichbar. Da dies mögliche Sicherheitsrisiken eröffnet, wirkt sich diese Funktion negativ auf den Add-on-Sicherheitsbewertung aus.\n\nDiese Zugriffsebene wird nicht automatisch gewährt und muss von dir bestätigt werden. Dazu musst du den Schutzmodus für das Add-on manuell deaktivieren. Deaktiviere den Schutzmodus nur, wenn du es wirklich musst UND der Quelle dieses Add-ons vertraust.", "title": "Voller Hardware-Zugriff" }, "hassio_api": { - "description": "Dem Add-On wurde Zugriff auf die Supervisor-API gewährt, wie es der Add-On-Autors angefordert hat. Standardmäßig kann das Add-On auf allgemeine Versionsinformationen von Deinem System zugreifen. Wenn das Add-On Zugriff auf die API mit \"Manager\"- oder \"Admin\"-Rechten anfordert, erhält es Zugriff auf mehrere Teile Ihres Home Assistant-Systems. Diese Berechtigung wird durch dieses Badge angezeigt und wirkt sich negativ auf die Sicherheitsbewertung des Add-Ons aus.", + "description": "Dem Add-on wurde Zugriff auf die Supervisor-API gewährt, wie es der Add-on-Autors angefordert hat. Standardmäßig kann das Add-on auf allgemeine Versionsinformationen von deinem System zugreifen. Wenn das Add-on Zugriff auf die API mit \"Manager\"- oder \"Admin\"-Rechten anfordert, erhält es Zugriff auf mehrere Teile deines Home Assistant-Systems. Diese Berechtigung wird durch dieses Badge angezeigt und wirkt sich negativ auf die Sicherheitsbewertung des Add-ons aus.", "title": "Supervisor-API-Zugriff" }, "homeassistant_api": { - "description": "Dieses Add-On kann direkt über die Home Assistant-API auf Ihre ausgeführte Home Assistant-Instanz zugreifen. Dieser Modus behandelt auch die Authentifizierung für das Add-On, wodurch ein Add-On mit dem Home-Assistenten interagieren kann, ohne dass zusätzliche Authentifizierungstoken erforderlich sind.", + "description": "Dieses Add-on kann direkt über die Home Assistant-API auf deine laufende Home Assistant-Instanz zugreifen. Dieser Modus behandelt auch die Authentifizierung für das Add-on, wodurch ein Add-on mit Home Assistant interagieren kann, ohne dass zusätzliche Authentifizierungstoken erforderlich sind.", "title": "Home Assistant API-Zugriff" }, "host_network": { - "description": "Add-Ons werden in der Regel auf ihrer eigenen isolierten Netzwerkschicht ausgeführt, wodurch sie daran gehindert werden, auf das Netzwerk des Hostbetriebssystems zuzugreifen. In einigen Fällen kann diese Netzwerkisolation, Add-Ons bei der Bereitstellung ihrer Dienste einschränken. Daher kann die Isolierung vom Add-On-Autor aufgehoben werden, sodass das Add-On vollen Zugriff auf die Netzwerkfunktionen Deines Hostcomputers hat. Dadurch erhält das Add-On mehr Netzwerkfunktionen, verringert jedoch die Sicherheit! Daher wird die Sicherheitsbewertung des Add-Ons verringert, wenn diese Option vom Add-On verwendet wird.", + "description": "Add-ons werden in der Regel auf ihrer eigenen isolierten Netzwerkschicht ausgeführt, wodurch sie daran gehindert werden, auf das Netzwerk des Hostbetriebssystems zuzugreifen. In einigen Fällen kann diese Netzwerkisolation, Add-ons bei der Bereitstellung ihrer Dienste einschränken. Daher kann die Isolierung vom Add-on-Autor aufgehoben werden, sodass das Add-on vollen Zugriff auf die Netzwerkfunktionen deines Hostcomputers hat. Dadurch erhält das Add-on mehr Netzwerkfunktionen, verringert jedoch die Sicherheit! Daher wird die Sicherheitsbewertung des Add-ons verringert, wenn diese Option vom Add-on verwendet wird.", "title": "Host-Netzwerk" }, "host_pid": { - "description": "In der Regel sind die Prozesse, die das Add-On ausführt, von allen anderen Systemprozessen isoliert. Der Add-On-Autor hat das Add-On aufgefordert, einen Zugriff auf die auf der Hostsysteminstanz ausgeführten Systemprozesse zu haben und dem Add-On auch das Erstellen von Prozessen auf dem Hostsystem zu ermöglichen. Dieser Modus gibt dem Add-On vollen Zugriff und Kontrolle auf Ihr gesamtes Home Assistant-System, was Sicherheitsrisiken erhöht und Ihr System beschädigen kann, wenn es missbraucht wird. Daher wirkt sich diese Funktion negativ auf den Add-On-Sicherheitsbewertung aus.\n\nDiese Zugriffsebene wird nicht automatisch gewährt und muss von Dir bestätigt werden. Dazu musst Du den Schutzmodus für das Add-On manuell deaktivieren. Deaktiviere den Schutzmodus nur, wenn Du es wirklich musst UND der Quelle dieses Add-Ons vertraust.", + "description": "In der Regel sind die Prozesse, die das Add-on ausführt, von allen anderen Systemprozessen isoliert. Der Add-on-Autor hat das Add-on aufgefordert, einen Zugriff auf die auf der Hostsysteminstanz ausgeführten Systemprozesse zu haben und dem Add-on auch das Erstellen von Prozessen auf dem Hostsystem zu ermöglichen. Dieser Modus gibt dem Add-on vollen Zugriff und Kontrolle auf Ihr gesamtes Home Assistant-System, was Sicherheitsrisiken erhöht und Ihr System beschädigen kann, wenn es missbraucht wird. Daher wirkt sich diese Funktion negativ auf den Add-on-Sicherheitsbewertung aus.\n\nDiese Zugriffsebene wird nicht automatisch gewährt und muss von dir bestätigt werden. Dazu musst du den Schutzmodus für das Add-on manuell deaktivieren. Deaktiviere den Schutzmodus nur, wenn du es wirklich musst UND der Quelle dieses Add-ons vertraust.", "title": "Namespace für Host-Prozesse" }, "ingress": { - "description": "Dieses Addon verwendet Ingress, um seine Benutzeroberfläche sicher in Home Assistant einzubetten.", + "description": "Dieses Add-on verwendet Ingress, um seine Benutzeroberfläche sicher in Home Assistant einzubetten.", "title": "Ingress" }, "label": { @@ -189,7 +189,7 @@ "stage": "Phase" }, "rating": { - "description": "Home Assistant bietet eine Sicherheitsbewertung für jedes Add-On, welche die Risiken aufzeigen, die bei der Verwendung dieses Add-Ons verbunden sind. Je mehr Zugriff ein Add-On auf Ihr System benötigt, desto niedriger ist die Punktzahl, wodurch die möglichen Sicherheitsrisiken steigen.\n\nDie Punktzahl ist auf einer Skala von 1 bis 6. Wobei 1 die niedrigste Punktzahl ist (ein sehr unsichers Add-On mit dem höchsten Risiko) und eine Punktzahl von 6 die höchste Punktzahl ist (eines der sichersten Add-Ons mit dem und niedrigsten Risiko).", + "description": "Home Assistant bietet eine Sicherheitsbewertung für jedes Add-on, welche die Risiken aufzeigen, die bei der Verwendung dieses Add-ons verbunden sind. Je mehr Zugriff ein Add-on auf dein System benötigt, desto niedriger ist die Punktzahl, wodurch die möglichen Sicherheitsrisiken steigen.\n\nDie Punktzahl ist auf einer Skala von 1 bis 6. Wobei 1 die niedrigste Punktzahl ist (ein sehr unsicheres Add-on mit dem höchsten Risiko) und eine Punktzahl von 6 die höchste Punktzahl ist (eines der sichersten Add-ons mit dem niedrigsten Risiko).", "title": "Addon-Sicherheitsbewertung" }, "role": { @@ -200,46 +200,46 @@ "manager": "Manager" }, "stage": { - "description": "Add-Ons können sich in einer von drei Phasen befinden:\n\n{icon_stable} **Stable**: Dies sind Add-Ons, die bereits vollstandig sind und Updates erhalten.\n\n{icon_experimental} **Experimentell**: Diese können Fehler enthalten und unvollendet sein.\n\n{icon_deprecated} **Veraltet**: Diese Add-Ons erhalten keine Updates mehr.", - "title": "Addon Phase" + "description": "Add-ons können sich in einer von drei Phasen befinden:\n\n{icon_stable} **Stable**: Dies sind Add-ons, die bereits vollstandig sind und Updates erhalten.\n\n{icon_experimental} **Experimentell**: Diese können Fehler enthalten und unvollendet sein.\n\n{icon_deprecated} **Veraltet**: Diese Add-ons erhalten keine Updates mehr.", + "title": "Add-on Phase" } }, "changelog": "Änderungsprotokoll", - "cpu_usage": "CPU Auslastung des Addons", + "cpu_usage": "CPU Auslastung des Add-on", "hostname": "Hostname", "install": "Installieren", "new_update_available": "{name} {version} ist verfügbar", - "not_available_arch": "Dieses Add-On ist nicht mit dem Prozessor oder Betriebssystem deines Geräts kompatibel", - "not_available_version": "Du hast Home Assistant {core_version_installed} installiert, um auf diese Version des Add-ons zu aktualisieren, benötigst Du mindestens die Home Assistan Version {core_version_needed}.", + "not_available_arch": "Dieses Add-on ist nicht mit dem Prozessor oder Betriebssystem deines Geräts kompatibel", + "not_available_version": "Du hast Home Assistant {core_version_installed} installiert, um auf diese Version des Add-ons zu aktualisieren, benötigst du mindestens die Home Assistant Version {core_version_needed}.", "open_web_ui": "Benutzeroberfläche öffnen", "option": { "auto_update": { - "description": "Automatisches Aktualisieren des Addons, wenn eine neue Version verfügbar ist", + "description": "Automatisches Aktualisieren des Add-on, wenn eine neue Version verfügbar ist", "title": "Automatische Updates" }, "boot": { - "description": "Das Add-On beim Systemstart starten", - "title": "Beim booten starten" + "description": "Das Add-on beim Systemstart starten", + "title": "Beim Booten starten" }, "ingress_panel": { - "description": "Addon zur Seitenleiste hinzufügen", - "title": "In der Seitenleiste anzeigen " + "description": "Add-on zur Seitenleiste hinzufügen", + "title": "In der Seitenleiste anzeigen" }, "protected": { - "description": "Blockiert den erhöhten Systemzugriff über das Addon", + "description": "Blockiert den erhöhten Systemzugriff über das Add-on", "title": "Gesicherter Modus" }, "watchdog": { - "description": "Dadurch wird das Addon gestartet, wenn es abstürzt", - "title": "Crash-Detektor" + "description": "Dadurch wird das Add-on gestartet, wenn es abstürzt", + "title": "Watchdog" } }, "protection_mode": { - "content": "Der Schutzmodus für dieses Add-On ist deaktiviert! Dadurch erhält das Add-On vollen Zugriff auf das gesamte System, was Sicherheitsrisiken mit sich bringt und Dein System bei unsachgemäßer Verwendung beschädigen kann. Deaktiviere den Schutzmodus nur, wenn Du die Quelle dieses Add-Ons kennst, dieses benötigst UND vertraust.", + "content": "Der Schutzmodus für dieses Add-on ist deaktiviert! Dadurch erhält das Add-on vollen Zugriff auf das gesamte System, was Sicherheitsrisiken mit sich bringt und dein System bei unsachgemäßer Verwendung beschädigen kann. Deaktiviere den Schutzmodus nur, wenn du die Quelle dieses Add-ons kennst, dieses benötigst UND vertraust.", "enable": "Gesicherten Modus einschalten", - "title": "Warnung: Der gesicherte modus ist deaktiviert!" + "title": "Warnung: Der gesicherte Modus ist deaktiviert!" }, - "ram_usage": "Arbeitsspeicherbedarfdes Addons", + "ram_usage": "RAM Auslastung des Add-on", "rebuild": "neu bauen", "restart": "Neu starten", "start": "Starten", @@ -248,12 +248,12 @@ "visit_addon_page": "Weitere Informationen findest du auf der Seite {name}" }, "documentation": { - "get_documentation": "Fehler beim Abrufen der Addon-Dokumentation, {error}" + "get_documentation": "Fehler beim Abrufen der Add-on-Dokumentation, {error}" }, - "failed_to_reset": "Fehler beim Zurücksetzen der Add-On-Konfiguration, {error}", - "failed_to_save": "Fehler beim speichern der Add-On-Konfiguration, {error}", + "failed_to_reset": "Fehler beim Zurücksetzen der Add-on-Konfiguration, {error}", + "failed_to_save": "Fehler beim Speichern der Add-on-Konfiguration, {error}", "logs": { - "get_logs": "Fehler beim Abrufen der Add-On-Protokolle, {error}" + "get_logs": "Fehler beim Abrufen der Add-on-Protokolle, {error}" }, "panel": { "configuration": "Konfiguration", @@ -262,13 +262,14 @@ "log": "Protokoll" }, "state": { - "installed": "Add-On ist installiert", - "not_available": "Das Add-On ist auf Deinem System nicht verfügbar", - "not_installed": "Add-On ist nicht installiert" + "installed": "Add-on ist installiert", + "not_available": "Das Add-on ist auf deinem System nicht verfügbar", + "not_installed": "Add-on ist nicht installiert" } }, "common": { "cancel": "Abbrechen", + "close": "Schließen", "description": "Beschreibung", "error": { "unknown": "Unbekannter Fehler", @@ -280,11 +281,11 @@ "new_version_available": "Neue Version verfügbar", "newest_version": "Neueste Version", "no": "Nein", - "refresh": "Neu laden", + "refresh": "Aktualisieren", "release_notes": "Versionshinweise", "reload": "Neu laden", "reset_defaults": "Auf Werkseinstellungen zurücksetzen", - "reset_options": "Optionen zum Zurücksetzen", + "reset_options": "Einstellungen zurücksetzen", "restart": "Neustart", "restart_name": "{name} neu starten", "running_version": "Du hast aktuell Version {version}", @@ -302,10 +303,10 @@ }, "restart": { "text": "Bist du dir sicher, dass du {name} neu starten willst?", - "title": "Neustart von {name}" + "title": "{name} neu starten" }, "update": { - "text": "Sind Sie sicher, dass Sie {name} auf Version {version} aktualisieren möchten?", + "text": "Bist du sicher, dass du {name} auf Version {version} aktualisieren möchtest?", "title": "Aktualisiere {name}" } }, @@ -313,8 +314,8 @@ "addon_new_version": "Neue Version verfügbar", "addon_running": "Add-on wird ausgeführt", "addon_stopped": "Add-on ist gestoppt", - "addons": "Add-Ons", - "no_addons": "Sie haben noch keine Add-Ons installiert. Gehen Sie zum Add-on-Shop, um loszulegen!" + "addons": "Add-ons", + "no_addons": "Du hast noch keine Add-ons installiert. Gehe zum Add-on-Shop, um loszulegen!" }, "dialog": { "network": { @@ -357,16 +358,17 @@ "text": "Möchtest du das Add-on mit deinen Änderungen neu starten?" }, "update": { - "create_snapshot": "Erstellen eine Datensicherung von {name} vor der Aktualisierung", + "create_snapshot": "Erstelle eine Datensicherung von {name} vor der Aktualisierung", "snapshot": "Datensicherung", "snapshotting": "Erstelle Datensicherung für {name}", - "updating": "Aktualisieren von {name} auf Version {version}" + "updating": "Aktualisiere {name} auf Version {version}" } }, "my": { - "error": "Ein unbekannter Fehler ist aufgetreten", + "error": "Ein unbekannter Fehler ist aufgetreten.", + "error_addon_not_found": "Add-on nicht gefunden", "faq_link": "Häufig gestellten Fragen zu Home Assistant", - "not_supported": "Diese Weiterleitung wird von Deiner Home Assistant Instanz nicht unterstützt. Überprüfe mit diesem {link} welche Weiterleitungen unterstützt werden und ab welcher Version. " + "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." }, "panel": { "dashboard": "Dashboard", @@ -375,7 +377,7 @@ "system": "System" }, "snapshot": { - "addons": "Add-Ons", + "addons": "Add-ons", "available_snapshots": "Verfügbare Sicherungen", "could_not_create": "Datensicherung konnte nicht erstellt werden", "create": "Erstellen", @@ -384,7 +386,7 @@ "description": "Sicherungen ermöglichen dir das leichte Speichern und Wiederherstellen von allen Daten aus Home Assistant.", "enter_password": "Bitte Passwort eingeben.", "folder": { - "addons/local": "Lokale Add-Ons", + "addons/local": "Lokale Add-ons", "homeassistant": "Home Assistant-Konfiguration", "media": "Medien", "share": "Freigaben", @@ -403,7 +405,7 @@ "upload_snapshot": "Datensicherung hochladen" }, "store": { - "missing_addons": "Fehlende Addons? Aktiviere den erweiterten Modus auf deiner Benutzerprofilseite", + "missing_addons": "Fehlende Add-ons? Aktiviere den erweiterten Modus auf deiner Benutzerprofilseite", "no_results_found": "Keine Ergebnisse in {repository} gefunden", "registries": "Einträge", "repositories": "Repositories" @@ -420,7 +422,7 @@ "confirm_shutdown": "Bist du sicher, dass du den Host herunterfahren willst?", "deployment": "Deployment", "docker_version": "Docker-Version", - "emmc_lifetime_used": "eMMC Nutzung", + "emmc_lifetime_used": "eMMC Verschleiß", "failed_to_get_hardware_list": "Fehler beim Abrufen der Hardwareliste", "failed_to_import_from_usb": "Fehler beim Importieren von USB", "failed_to_reboot": "Fehler beim Neustart des Hosts", @@ -442,8 +444,8 @@ }, "supervisor": { "beta_backup": "Stelle sicher dass du Backups gemacht hast, bevor du diese Funktion aktivierst.", - "beta_join_confirm": "Möchtest du den Beta Kanal beitreten?", - "beta_release_items": "Das beinhaltet Beta-Versionen für:", + "beta_join_confirm": "Möchtest du dem Beta Kanal beitreten?", + "beta_release_items": "Dies beinhaltet Beta-Versionen für:", "beta_warning": "Beta-Versionen sind für Tester und Early Adopters gedacht und können instabile Codeänderungen enthalten", "channel": "Kanal", "cpu_usage": "CPU Auslastung von Supervisor", @@ -452,23 +454,23 @@ "failed_to_update": "Der Supervisor konnte nicht aktualisiert werden", "join_beta_action": "Beta-Kanal beitreten", "join_beta_description": "Erhalte Beta-Updates für Home Assistant (RCs), Supervisor und Host", - "leave_beta_action": "Beta Kanal verlassen", + "leave_beta_action": "Beta-Kanal verlassen", "leave_beta_description": "Erhalte stabile Updates für Home Assistant, Supervisor und Host", "ram_usage": "Arbeitsspeicherbedarf von Supervisor", "reload_supervisor": "Supervisor neu starten", "share_diagnostics": "Diagnose teilen", "share_diagnostics_description": "Teile Absturzberichte und Diagnoseinformationen.", - "share_diagonstics_description": "Möchten Sie Absturzberichte und Diagnoseinformationen automatisch freigeben, wenn der Supervisor auf unerwartete Fehler stößt? {line_break} Auf diese Weise können wir die Probleme beheben. Die Informationen sind nur für das Home Assistant Core Team zugänglich und werden nicht an andere weitergegeben. {line_break} Die Daten enthalten keine privaten/sensiblen Informationen und Sie können diese jederzeit in den Einstellungen deaktivieren.", - "share_diagonstics_title": "Helfe Home Assistant zu verbessern", - "unhealthy_description": "Das Ausführen einer fehlerhaften Installation führt zu Problemen. Unten finden Sie eine Liste der Probleme, die bei Ihrer Installation aufgetreten sind. Klicke auf die Links, um zu erfahren, wie Du diese Probleme beheben kannst.", + "share_diagonstics_description": "Möchtest du Absturzberichte und Diagnoseinformationen automatisch freigeben, wenn der Supervisor auf unerwartete Fehler stößt? {line_break} Auf diese Weise können wir die Probleme beheben. Die Informationen sind nur für das Home Assistant Core Team zugänglich und werden nicht an andere weitergegeben. {line_break} Die Daten enthalten keine privaten/sensiblen Informationen und du kannst diese jederzeit in den Einstellungen deaktivieren.", + "share_diagonstics_title": "Hilf Home Assistant zu verbessern", + "unhealthy_description": "Das Ausführen einer fehlerhaften Installation führt zu Problemen. Unten findest du eine Liste der Probleme, die bei deiner Installation aufgetreten sind. Klicke auf die Links, um zu erfahren, wie Du diese Probleme beheben kannst.", "unhealthy_reason": { "docker": "Die Docker Umgebung arbeitet nicht fehlerfrei", "privileged": "Der Supervisor ist nicht berechtigt", "setup": "Die Einrichtung des Supervisors ist fehlgeschlagen", - "supervisor": "Supervisor konnte nicht upgedated werden" + "supervisor": "Supervisor konnte nicht aktualisiert werden" }, "unhealthy_title": "Deine Installation ist fehlerhaft", - "unsupported_description": "Unten finden Sie eine Liste der Probleme, die bei Ihrer Installation aufgetreten sind. Klicken Sie auf die Links, um zu erfahren, wie Sie die Probleme beheben können.", + "unsupported_description": "Unten ist eine Liste der Probleme, die bei deiner Installation aufgetreten sind. Klicke auf die Links, um zu erfahren, wie du die Probleme beheben kannst.", "unsupported_reason": { "container": "Container, von denen bekannt ist, dass sie Probleme verursachen", "dbus": "DBUS", @@ -1011,6 +1013,9 @@ "person": { "create_zone": "Zone vom aktuellen Standort erstellen" }, + "remote": { + "activity": "aktuelle Aktivität" + }, "restored": { "confirm_remove_text": "Bist du dir sicher, dass du diese Entität löschen möchtest?", "confirm_remove_title": "Entität entfernen?", @@ -2756,7 +2761,7 @@ "zwave_js": { "add_node": { "cancel_inclusion": "Erfassung abbrechen", - "controller_in_inclusion_mode": "Ihr Z-Wave-Controller befindet sich jetzt im Erfassungs-Modus", + "controller_in_inclusion_mode": "Ihr Z-Wave-Controller befindet sich jetzt im Inklusionsmodus.", "follow_device_instructions": "Befolge die mit dem Gerät gelieferten Anweisungen, um die Kopplung am Gerät auszulösen.", "inclusion_failed": "Der Knoten konnte nicht hinzugefügt werden. Bitte überprüfe die Protokolle für weitere Informationen.", "inclusion_finished": "Der Knoten wurde hinzugefügt. Es kann einige Minuten dauern, bis alle Einheiten angezeigt werden, da der Knoten im Hintergrund fertig eingerichtet wird.", @@ -2813,7 +2818,7 @@ }, "remove_node": { "cancel_exclusion": "Entfernung von Geräten abbrechen", - "controller_in_exclusion_mode": "Der Z-Wave controller befindet sich im modus zur Entfernung von Knoten", + "controller_in_exclusion_mode": "Dein Z-Wave Controller befindet sich jetzt im Ausschluss-Modus", "exclusion_failed": "Der Knoten konnte nicht entfernt werden. Bitte in den Logs nach mehr Informationen suchen.", "exclusion_finished": "Der Knoten {id} wurde aus deinem Z-Wave-Netzwerk entfernt.", "follow_device_instructions": "Befolge die mit dem Gerät gelieferten Anweisungen, um die Kopplung am Gerät auszulösen.", @@ -3398,7 +3403,7 @@ "error_remove": "Konfiguration konnte nicht entfernt werden: {error}", "error_save_yaml": "YAML konnte nicht gespeichert werden: {error}", "header": "Konfiguration bearbeiten", - "lovelace_changed": "Die Lovelace-Konfiguration wurde aktualisiert. Möchtest Du die aktualisierte Konfiguration in den Editor laden und Deine aktuellen Änderungen verlieren?", + "lovelace_changed": "Die Lovelace-Konfiguration wurde aktualisiert. Möchtest du die aktualisierte Konfiguration in den Editor laden und deine aktuellen Änderungen verlieren?", "reload": "Neu laden", "resources_moved": "Ressourcen sollten nicht mehr zur Lovelace-Konfiguration hinzugefügt werden, sondern können im Lovelace-Konfigurationsfenster hinzugefügt werden.", "save": "Speichern", diff --git a/translations/frontend/en.json b/translations/frontend/en.json index 3cdc670e50..2e57c541e7 100644 --- a/translations/frontend/en.json +++ b/translations/frontend/en.json @@ -269,6 +269,7 @@ }, "common": { "cancel": "Cancel", + "close": "Close", "description": "Description", "error": { "unknown": "Unknown error", @@ -365,6 +366,7 @@ }, "my": { "error": "An unknown error occured", + "error_addon_not_found": "Add-on not found", "faq_link": "My Home Assistant FAQ", "not_supported": "This redirect is not supported by your Home Assistant instance. Check the {link} for the supported redirects and the version they where introduced." }, diff --git a/translations/frontend/es-419.json b/translations/frontend/es-419.json index 305d7b26bc..eba19e1d5f 100644 --- a/translations/frontend/es-419.json +++ b/translations/frontend/es-419.json @@ -117,6 +117,7 @@ "header": "Red", "host": "Host" }, + "no_configuration": "Este complemento no expone ninguna configuración que pueda alterar...", "options": { "edit_in_ui": "Editar en la interfaz de usuario", "edit_in_yaml": "Editar en YAML", @@ -128,6 +129,7 @@ "dashboard": { "action_error": { "get_changelog": "Fallo al obtener el registro de cambios del complemento", + "go_to_config": "Fallo al iniciar complemento - Validación de configuración errónea.", "install": "Fallo al instalar el complemento", "restart": "Fallo al reiniciar el complemento", "start": "Fallo al iniciar el complemento", @@ -137,8 +139,41 @@ "validate_config": "Fallo al validar la configuración del complemento" }, "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') es un módulo de seguridad del kernel de Linux que restringe las capacidades de los complementos como el acceso a la red, el acceso al socket sin procesar y el permiso para leer, escribir o ejecutar archivos específicos. \n\n Los autores de complementos pueden proporcionar sus perfiles de seguridad, optimizados para el complemento, o solicitar su desactivación. Si AppArmor está deshabilitado, aumentará los riesgos de seguridad y, por lo tanto, tendrá un impacto negativo en la puntuación de seguridad del complemento.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Un complemento puede autenticar a los usuarios contra Home Assistant, lo que permite que los complementos brinden a los usuarios la posibilidad de iniciar sesión en aplicaciones que se ejecutan dentro de complementos, utilizando su nombre de usuario / contraseña de Home Assistant. Esta insignia indica si el autor del complemento solicita esta capacidad.", + "title": "Autenticación de Home Assistant" + }, + "docker_api": { + "description": "El autor del complemento ha solicitado que éste tenga acceso de administración a la instancia de Docker que se ejecuta en su sistema. Este modo le da al complemento acceso y control total a todo su sistema Home Assistant, lo que agrega riesgos de seguridad y podría dañar su sistema si se usa incorrectamente. Por lo tanto, esta característica tiene un impacto negativo en la puntuación de seguridad del complemento. \n\nEste nivel de acceso no se otorga automáticamente y debe ser confirmado por usted. Para hacerlo, debe deshabilitar manualmente el modo de protección en el complemento. Desactive el modo de protección SOLAMENTE si conoce, necesita y confía en la fuente de este complemento.", + "title": "Acceso total a Docker" + }, + "full_access": { + "description": "A pedido del autor del complemento, éste tiene acceso total al hardware de su sistema. El acceso es comparable al modo privilegiado en Docker. Dado que esto abre posibles riesgos de seguridad, ésta característica impacta negativamente en la puntuación de seguridad del complemento. \n\nEste nivel de acceso no se otorga automáticamente y debe ser confirmado por usted. Para hacerlo, debe deshabilitar manualmente el modo de protección en el complemento. Desactive el modo de protección SOLAMENTE si conoce, necesita y confía en la fuente de este complemento.", + "title": "Acceso total al hardware" + }, + "hassio_api": { + "description": "Al complemento se le dio acceso a la API Supervisor, a solicitud del autor del complemento. De forma predeterminada, el complemento puede acceder a la información general de la versión de su sistema. Cuando el complemento solicita acceso de nivel de 'administrador' a la API, obtendrá acceso para controlar varias partes de su sistema Home Assistant. Este permiso está indicado por esta insignia y afectará negativamente la puntuación de seguridad del complemento.", + "title": "Acceso a la API Supervisor" + }, + "homeassistant_api": { + "description": "Este complemento puede acceder a su instancia de Home Assistant en ejecución directamente a través de la API de Home Assistant. Este modo también maneja la autenticación para el complemento, lo que permite que un complemento interactúe con Home Assistant sin la necesidad de tokens de autenticación adicionales.", + "title": "Acceso a la API de Home Assistant" + }, + "host_network": { + "description": "Los complementos generalmente se ejecutan en su propia capa de red aislada, lo que les impide acceder a la red del sistema operativo host. En algunos casos, este aislamiento de red puede limitar los complementos en la prestación de sus servicios y, por lo tanto, el autor del complemento puede eliminar el aislamiento, lo que le da al complemento acceso completo a las capacidades de red de la máquina host. Esto le da al complemento más capacidades de red pero reduce la seguridad, por lo tanto, la clasificación de seguridad del complemento se reducirá cuando el complemento utilice esta opción.", + "title": "Red del host" + }, + "host_pid": { + "description": "Por lo general, los procesos que ejecuta el complemento están aislados de todos los demás procesos del sistema. El autor del complemento ha solicitado que el complemento tenga acceso a los procesos del sistema que se ejecutan en la instancia del sistema host y que permita que el complemento genere procesos en el sistema host también. Este modo le da al complemento acceso y control total a todo su sistema Home Assistant, lo que agrega riesgos de seguridad y podría dañar su sistema si se usa incorrectamente. Por lo tanto, esta característica tiene un impacto negativo en la puntuación de seguridad del complemento. \n\nEste nivel de acceso no se otorga automáticamente y debe ser confirmado por usted. Para hacerlo, debe deshabilitar manualmente el modo de protección en el complemento. Desactive el modo de protección SOLAMENTE si conoce, necesita y confía en la fuente de este complemento.", + "title": "Espacio de nombres de procesos de host" + }, "ingress": { - "description": "Este complemento utiliza Ingress para integrar su interfaz de forma segura en Home Assistant." + "description": "Este complemento utiliza Ingress para integrar su interfaz de forma segura en Home Assistant.", + "title": "Ingress" }, "label": { "apparmor": "Apparmor", @@ -153,20 +188,30 @@ "rating": "clasificación", "stage": "Etapa" }, + "rating": { + "description": "Home Assistant proporciona una clasificación de seguridad para cada uno de los complementos, que indica los riesgos involucrados al usar tal complemento. Cuanto más acceso requiera un complemento en su sistema, menor será la puntuación, dado que aumentará los posibles riesgos de seguridad. \n\nEl puntaje está en una escala de 1 a 6. Donde 1 es el puntaje más bajo (considerado el menos seguro y de mayor riesgo) y un puntaje de 6 es el puntaje más alto (considerado el más seguro y de menor riesgo).", + "title": "Calificación de seguridad del complemento" + }, "role": { "admin": "administrador", "backup": "copia de seguridad", "default": "Predeterminado", "homeassistant": "homeassistant", "manager": "Administrador" + }, + "stage": { + "description": "Los complementos pueden tener una de tres etapas: \n\n {icon_stable} ** Estable **: estos son complementos listos para usarse en producción. \n\n {icon_experimental} ** Experimental **: estos pueden contener errores y pueden no estar terminados. \n\n {icon_deprecated} ** Obsoleto **: estos complementos ya no recibirán actualizaciones.", + "title": "Etapa del complemento" } }, "changelog": "Registro de cambios", "cpu_usage": "Uso de CPU del complemento", "hostname": "Nombre de host", + "install": "instalar", "new_update_available": "{name} {version} está disponible", "not_available_arch": "Este complemento no es compatible con el procesador de su dispositivo o el sistema operativo que ha instalado en su dispositivo.", "not_available_version": "Está ejecutando Home Assistant {core_version_installed} , para actualizar a esta versión del complemento necesitas al menos la versión {core_version_needed} de Home Assistant", + "open_web_ui": "Abrir la interfaz de usuario web", "option": { "auto_update": { "description": "Actualice automáticamente el complemento cuando haya una nueva versión disponible", @@ -189,19 +234,42 @@ "title": "Watchdog" } }, + "protection_mode": { + "content": "¡El modo de protección en este complemento está deshabilitado! Esto le da al complemento acceso completo a todo el sistema, lo que agrega riesgos de seguridad y podría dañar su sistema si se usa incorrectamente. Desactive el modo de protección SOLAMENTE si conoce, necesita y confía en la fuente de este complemento.", + "enable": "Activar el modo de protección", + "title": "Advertencia: ¡El modo de protección está desactivado!" + }, "ram_usage": "Uso de RAM del complemento", + "rebuild": "reconstruir", "restart": "reiniciar", "start": "Iniciar", + "stop": "detener", + "uninstall": "desinstalar", "visit_addon_page": "Visite la página {name} para obtener más detalles" }, "documentation": { "get_documentation": "Fallo al obtener documentación del complemento, {error}" }, + "failed_to_reset": "Fallo al restablecer la configuración del complemento, {error}", + "failed_to_save": "Fallo al guardar la configuración del complemento, {error}", "logs": { "get_logs": "Fallo al obtener los registros del complemento, {error}" + }, + "panel": { + "configuration": "Configuración", + "documentation": "Documentación", + "info": "Información", + "log": "Registro" + }, + "state": { + "installed": "El complemento está instalado", + "not_available": "El complemento no está disponible en su sistema", + "not_installed": "El complemento no está instalado" } }, "common": { + "cancel": "Cancelar", + "close": "Cerrar", "description": "Descripción", "error": { "unknown": "Error desconocido", @@ -211,8 +279,10 @@ "failed_to_update_name": "Fallo al actualizar {name}", "learn_more": "Aprender más", "new_version_available": "Nueva versión disponible", + "newest_version": "Versión más reciente", "no": "No", "refresh": "Actualizar", + "release_notes": "Notas de lanzamiento", "reload": "Recargar", "reset_defaults": "Restablecer a los valores predeterminados", "reset_options": "Restablecer opciones", @@ -221,6 +291,7 @@ "running_version": "Actualmente está ejecutando la versión {version}", "save": "Guardar", "show_more": "Mostrar más información sobre esto", + "update": "Actualizar", "update_available": "{count} {count, plural,\n one {actualización}\n other {actualizaciones}\n} pendiente/s", "version": "Versión", "yes": "Si" @@ -235,12 +306,16 @@ "title": "Reiniciar {name}" }, "update": { - "text": "¿Estás seguro de actualizar {name} a la versión {version}?" + "text": "¿Estás seguro de actualizar {name} a la versión {version}?", + "title": "Actualizar {name}" } }, "dashboard": { "addon_new_version": "Nueva versión disponible", - "addon_running": "El complemento se está ejecutando" + "addon_running": "El complemento se está ejecutando", + "addon_stopped": "El complemento está detenido", + "addons": "Complementos", + "no_addons": "No hay ningún complemento instalado. ¡Diríjase a la tienda de complementos para comenzar!" }, "dialog": { "network": { @@ -291,10 +366,14 @@ }, "my": { "error": "Ha ocurrido un error desconocido", + "error_addon_not_found": "Complemento no encontrado", "faq_link": "Mis preguntas frecuentes de Home Assistant", "not_supported": "Esta redirección no está soportada por su instancia de Home Assistant. Consulte las redirecciones soportadas y la versión en la que fueron introducidas en {link}." }, "panel": { + "dashboard": "Tablero", + "snapshots": "Instantáneas", + "store": "Tienda de complementos", "system": "Sistema" }, "snapshot": { @@ -685,6 +764,8 @@ "changed_to_state": "cambiado a {state}", "cleared_device_class": "despejado (no se detecta {device_class})", "detected_device_class": "detectado {device_class}", + "is_closing": "se está cerrando", + "is_opening": "se está abriendo", "rose": "salió", "set": "se ocultó", "turned_off": "apagado", @@ -932,6 +1013,9 @@ "person": { "create_zone": "Crear zona desde ubicación actual" }, + "remote": { + "activity": "Actividad actual" + }, "restored": { "confirm_remove_text": "¿Está seguro de que desea eliminar esta entidad?", "confirm_remove_title": "¿Eliminar entidad?", @@ -1004,6 +1088,7 @@ "scene": "Escenas", "script": "", "server_control": "Controles del servidor", + "tag": "Etiquetas", "users": "Usuarios", "zone": "Zonas" }, @@ -1062,6 +1147,7 @@ "clusters": "Administrar clústeres", "reconfigure": "Reconfigurar dispositivo", "remove": "Eliminar dispositivo", + "view_in_visualization": "Ver en Visualización", "zigbee_information": "Firma del dispositivo Zigbee" }, "confirmations": { @@ -2639,6 +2725,7 @@ "caption": "Visualización", "header": "Visualización de red", "highlight_label": "Resaltar dispositivos", + "refresh_topology": "Actualizar topología", "zoom_label": "Zoom al dispositivo" } }, @@ -3316,6 +3403,8 @@ "error_remove": "No se puede eliminar la configuración: {error}", "error_save_yaml": "No se puede guardar YAML: {error}", "header": "Editar configuración", + "lovelace_changed": "La configuración de Lovelace se actualizó, ¿desea cargar la configuración actualizada en el editor y perder los cambios actuales?", + "reload": "Recargar", "resources_moved": "Los recursos ya no se deben agregar a la configuración de Lovelace, sino que se pueden agregar en el panel de configuración de Lovelace.", "save": "Guardar", "saved": "Guardado", diff --git a/translations/frontend/es.json b/translations/frontend/es.json index 67bcf54029..1fb98fa795 100644 --- a/translations/frontend/es.json +++ b/translations/frontend/es.json @@ -269,6 +269,7 @@ }, "common": { "cancel": "Cancelar", + "close": "Cerrar", "description": "Descripción", "error": { "unknown": "Error desconocido", @@ -365,6 +366,7 @@ }, "my": { "error": "Se ha producido un error desconocido", + "error_addon_not_found": "Complemento no encontrado", "faq_link": "Preguntas frecuentes sobre mi Home Assistant", "not_supported": "Esta redirección no es compatible con tu instancia de Home Assistant. Consulta el {link} para conocer las redirecciones admitidas y la versión en la que se introdujeron." }, @@ -760,10 +762,10 @@ "messages": { "became_unavailable": "dejó de estar disponible", "changed_to_state": "cambiado a {state}", - "cleared_device_class": "no detectado (no se detecta {device_class})", + "cleared_device_class": "borrado (no se detecta {device_class})", "detected_device_class": "detectado {device_class}", - "is_closing": "está cerrando", - "is_opening": "está abriendo", + "is_closing": "se está cerrando", + "is_opening": "se está abriendo", "rose": "salió", "set": "se puso", "turned_off": "apagado", @@ -772,16 +774,16 @@ "was_at_state": "se detectó en {state}", "was_away": "se detectó como ausente", "was_closed": "se cerró", - "was_connected": "fue conectado", - "was_disconnected": "fue desconectado", + "was_connected": "se conectó", + "was_disconnected": "se desconectó", "was_locked": "se bloqueó", "was_low": "era bajo", "was_normal": "era normal", "was_opened": "se abrió", - "was_plugged_in": "fue enchufado", + "was_plugged_in": "se enchufó", "was_safe": "era seguro", - "was_unlocked": "fue desbloqueado", - "was_unplugged": "fue desenchufado", + "was_unlocked": "se desbloqueó", + "was_unplugged": "se desenchufó", "was_unsafe": "era inseguro" } }, @@ -896,7 +898,7 @@ "dialogs": { "config_entry_system_options": { "enable_new_entities_description": "Si está deshabilitada, las nuevas entidades que se descubran para {integration} no se añadirán automáticamente a Home Assistant.", - "enable_new_entities_label": "Activar entidades recién añadidas.", + "enable_new_entities_label": "Habilitar entidades recién añadidas.", "title": "Opciones del sistema para {integration}", "update": "Actualizar" }, @@ -911,22 +913,22 @@ "editor": { "advanced": "Configuración avanzada", "area": "Establecer solo el área de la entidad", - "area_note": "Por defecto, las entidades de un dispositivo están en la misma área que el dispositivo. Si cambias el área de esta entidad, ya no seguirá el área del dispositivo.", + "area_note": "Por defecto, las entidades de un dispositivo están en la misma área que el dispositivo. Si cambias el área de esta entidad, ya no emulará el área del dispositivo.", "change_device_area": "Cambiar el área del dispositivo", "confirm_delete": "¿Estás seguro de que quieres eliminar este elemento?", "delete": "Eliminar", "device_disabled": "El dispositivo de esta entidad está deshabilitado.", - "enabled_cause": "Desactivado por {cause}.", + "enabled_cause": "Deshabilitada por {cause}.", "enabled_delay_confirm": "Las entidades habilitadas se agregarán a Home Assistant en {delay} segundos", - "enabled_description": "Las entidades deshabilitadas no se agregarán a Home Assistant.", - "enabled_label": "Activar entidad", + "enabled_description": "Las entidades deshabilitadas no se añadirán a Home Assistant.", + "enabled_label": "Habilitar entidad", "enabled_restart_confirm": "Reinicia Home Assistant para terminar de habilitar las entidades", "entity_id": "ID de la entidad", - "follow_device_area": "Seguir el área del dispositivo", + "follow_device_area": "Emular el área del dispositivo", "icon": "Icono", "icon_error": "Los iconos deben tener el formato 'prefijo:nombreicono', por ejemplo, 'mdi:home'", "name": "Nombre", - "note": "Nota: puede que esto no funcione todavía con todas las integraciones", + "note": "Nota: Es posible que esto no funcione todavía con todas las integraciones.", "open_device_settings": "Abrir la configuración del dispositivo", "unavailable": "Esta entidad no está disponible actualmente.", "update": "Actualizar" @@ -989,7 +991,7 @@ "timer": { "duration": "Duración" }, - "yaml_not_editable": "La configuración de esta entidad no se puede editar desde la IU. Solo las entidades configuradas desde la IU se pueden configurar desde la IU" + "yaml_not_editable": "La configuración de esta entidad no se puede editar desde la IU. Solo las entidades constituidas desde la IU se pueden configurar desde la IU" }, "image_cropper": { "crop": "Recortar" @@ -999,7 +1001,7 @@ "close_cover": "Cerrar persiana", "close_tile_cover": "Cerrar la inclinación de la persiana", "open_cover": "Abrir persiana", - "open_tilt_cover": "Inclinación de la persiana abierta", + "open_tilt_cover": "Abrir la inclinación de la persiana", "stop_cover": "Detener el movimiento de la persiana" }, "details": "Detalles", @@ -1011,6 +1013,9 @@ "person": { "create_zone": "Crear zona a partir de la ubicación actual" }, + "remote": { + "activity": "Actividad actual" + }, "restored": { "confirm_remove_text": "¿Estás seguro de que deseas eliminar esta entidad?", "confirm_remove_title": "¿Eliminar entidad?", @@ -1036,10 +1041,10 @@ "commands": "Comandos de aspiradora:", "fan_speed": "Velocidad del ventilador", "locate": "Localizar", - "pause": "Pausa", + "pause": "Pausar", "return_home": "Volver a casa", - "start": "Inicio", - "start_pause": "Inicio/Pausa", + "start": "Iniciar", + "start_pause": "Iniciar/Pausar", "status": "Estado", "stop": "Detener" } @@ -1149,7 +1154,7 @@ "remove": "¿Estás seguro de que quieres eliminar este dispositivo?" }, "device_signature": "Firma del dispositivo Zigbee", - "last_seen": "Ultima vez visto", + "last_seen": "Visto por última vez", "manuf": "por {manufacturer}", "no_area": "Ningún área", "power_source": "Fuente de alimentación", @@ -1770,7 +1775,7 @@ "email": "Correo electrónico", "email_error_msg": "Correo electrónico no válido", "forgot_password": "¿Olvidaste la contraseña?", - "introduction": "Home Assistant Cloud te proporciona una conexión remota segura a tu instancia mientras estás fuera de casa. También te permite conectarte con servicios solo en la nube: Amazon Alexa y Google Assistant.", + "introduction": "Home Assistant Cloud te proporciona una conexión remota segura a tu instancia mientras estás fuera de casa. También te permite conectarte con servicios exclusivos de la nube: Amazon Alexa y Google Assistant.", "introduction2": "Este servicio está a cargo de nuestro socio.", "introduction2a": ", una compañía fundada por los fundadores de Home Assistant y Hass.io.", "introduction3": "Home Assistant Cloud es un servicio de suscripción con una prueba gratuita de un mes. No se necesita información de pago.", @@ -3207,7 +3212,7 @@ "columns": "Columnas", "description": "La tarjeta Cuadrícula te permite mostrar varias tarjetas en una cuadrícula.", "name": "Cuadrícula", - "square": "Renderizar tarjetas como cuadrados" + "square": "Representar tarjetas como cuadrados" }, "history-graph": { "description": "La tarjeta Historial Gráfico te permite mostrar un gráfico para cada una de las entidades enumeradas.", @@ -3230,7 +3235,7 @@ "name": "Luz" }, "logbook": { - "description": "La tarjeta Registro muestra una lista de eventos para las entidades.", + "description": "La tarjeta Registro muestra un listado de eventos de las entidades.", "name": "Registro" }, "map": { diff --git a/translations/frontend/et.json b/translations/frontend/et.json index 2ccf5bdbff..3f0cfe173d 100644 --- a/translations/frontend/et.json +++ b/translations/frontend/et.json @@ -269,6 +269,7 @@ }, "common": { "cancel": "Loobu", + "close": "Sulge", "description": "Kirjeldus", "error": { "unknown": "Tundmatu viga", @@ -365,6 +366,7 @@ }, "my": { "error": "Viga", + "error_addon_not_found": "Lisandmoodulit ei leitud", "faq_link": "KKK viide", "not_supported": "pole toetatud" }, @@ -1011,6 +1013,9 @@ "person": { "create_zone": "Loo tsoon praegusest asukohast" }, + "remote": { + "activity": "Praegune tegevus" + }, "restored": { "confirm_remove_text": "Oled kindel, et soovid selle olemi eemaldada?", "confirm_remove_title": "Kas eemaldan olemi?", @@ -1291,7 +1296,7 @@ "extra_fields": { "code": "Kood", "message": "Sõnum", - "position": "Asukoht", + "position": "Asend", "title": "Nimetus" }, "label": "Seade" diff --git a/translations/frontend/fr.json b/translations/frontend/fr.json index e5416cd97b..22b2bbea49 100644 --- a/translations/frontend/fr.json +++ b/translations/frontend/fr.json @@ -102,6 +102,115 @@ "unknown": "Inconnu" } }, + "supervisor": { + "addon": { + "configuration": { + "audio": { + "header": "Audio" + }, + "options": { + "header": "Options" + } + }, + "panel": { + "configuration": "Configuration", + "documentation": "Documentation", + "info": "Info" + } + }, + "common": { + "cancel": "Annuler", + "close": "Fermer", + "no": "Non", + "reload": "Recharger", + "save": "Sauver", + "update": "Mise à jour", + "version": "Version", + "yes": "Oui" + }, + "confirm": { + "update": { + "title": "Mettre à jour {name}" + } + }, + "dialog": { + "network": { + "dhcp": "DHCP", + "disabled": "Désactivé", + "dns_servers": "Serveurs DNS", + "gateway": "Adresse de la passerelle", + "ip_netmask": "Adresse IP / masque réseau", + "open": "Ouvrir", + "scan_ap": "Rechercher les points d'accès", + "static": "Statique", + "title": "Paramètres réseaux", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Ajouter un nouveau registre", + "add_registry": "Ajouter un registre", + "failed_to_add": "Échec de l'ajout du registre", + "no_registries": "Aucun registre configuré", + "password": "Mot de passe", + "registry": "Registre", + "remove": "Supprimer", + "username": "Nom d'utilisateur" + }, + "repositories": { + "add": "Ajouter", + "remove": "Supprimer", + "title": "Gérer les référentiels d'add-ons" + }, + "restart_addon": { + "confirm_text": "Redémarrer add-on" + }, + "update": { + "snapshot": "Instantané" + } + }, + "my": { + "error_addon_not_found": "Add-on non trouvé" + }, + "snapshot": { + "available_snapshots": "Instantanés disponibles", + "create": "Créer", + "create_snapshot": "Créer un instantané", + "folder": { + "media": "Médias", + "share": "Partager", + "ssl": "SSL" + }, + "folders": "Dossiers", + "name": "Nom", + "password": "Mot de passe", + "security": "Sécurité", + "type": "Type", + "upload_snapshot": "Téléverser un instantané" + }, + "store": { + "registries": "Registres", + "repositories": "Dépôts" + }, + "system": { + "host": { + "hardware": "Matériel", + "reboot_host": "Redémarrer l'hôte", + "shutdown_host": "Arrêter l'hôte" + }, + "supervisor": { + "channel": "Canal", + "reload_supervisor": "Recharger le superviseur", + "share_diagonstics_title": "Aider à améliorer Home Assistant", + "unsupported_reason": { + "dbus": "DBUS", + "lxc": "LXC", + "systemd": "Systemd" + }, + "warning": "AVERTISSEMENT" + } + } + }, "ui": { "auth_store": { "ask": "Voulez-vous enregistrer cette connexion?", @@ -377,6 +486,8 @@ "changed_to_state": "changé en {state}.", "cleared_device_class": "effacé (no {device_class} detected)", "detected_device_class": "détecté {device_class}", + "is_closing": "se ferme", + "is_opening": "s'ouvre", "rose": "s'est levé", "set": "s'est couché", "turned_off": "éteint", @@ -624,6 +735,9 @@ "person": { "create_zone": "Créer une zone à partir de l'emplacement actuel" }, + "remote": { + "activity": "Activité en cours" + }, "restored": { "confirm_remove_text": "Voulez-vous vraiment supprimer cette entité ?", "confirm_remove_title": "Supprimer l'entité ?", @@ -3009,6 +3123,7 @@ "error_remove": "Impossible de supprimer la configuration: {error}", "error_save_yaml": "Impossible de sauvegarder le YAML : {error}", "header": "Modifier la configuration", + "reload": "Recharger", "resources_moved": "Les ressources ne doivent plus être ajoutées à la configuration Lovelace mais peuvent être ajoutées dans le panneau de configuration Lovelace.", "save": "Enregistrer", "saved": "Enregistré", diff --git a/translations/frontend/hu.json b/translations/frontend/hu.json index 00b55f5aa0..941e233f35 100644 --- a/translations/frontend/hu.json +++ b/translations/frontend/hu.json @@ -103,17 +103,142 @@ } }, "supervisor": { + "addon": { + "configuration": { + "audio": { + "default": "Alapértelmezett", + "header": "Hang", + "input": "Bemenet", + "output": "Kimenet" + }, + "network": { + "container": "Konténer", + "disabled": "Letiltva", + "header": "Hálózat", + "host": "Gazdagép" + }, + "options": { + "edit_in_ui": "Szerkesztés a felhasználói felületen", + "edit_in_yaml": "Szerkesztés YAML-ben", + "header": "Lehetőségek", + "invalid_yaml": "Érvénytelen YAML" + } + }, + "dashboard": { + "action_error": { + "install": "A bővítmény telepítése sikertelen", + "restart": "A bővítmény újraindítása sikertelen", + "start": "A bővítmény indítása sikertelen", + "start_invalid_config": "Ugrás a konfigurációra", + "stop": "A bővítmény leállítása sikertelen", + "uninstall": "A bővítmény törlése sikertelen" + }, + "capability": { + "label": { + "apparmor": "apparmor", + "auth": "auth", + "docker": "docker", + "hardware": "hardver", + "hassio": "hassio", + "host": "gazdagép", + "rating": "értékelés" + }, + "role": { + "admin": "admin", + "homeassistant": "homeassistant" + } + }, + "changelog": "Változási napló", + "install": "telepítés", + "open_web_ui": "Webes felhasználói felület megnyitása", + "option": { + "auto_update": { + "description": "A bővítmény automatikus frissítése ha új verzió érhető el", + "title": "Automatikus frissítés" + }, + "boot": { + "title": "Indítás a rendszerindításkor" + }, + "ingress_panel": { + "title": "Megjelenítés az oldalsávon" + }, + "watchdog": { + "description": "Ez elindítja az add-ont, ha összeomlik", + "title": "Watchdog" + } + }, + "restart": "újraindítás", + "start": "indítás", + "stop": "leállítás", + "uninstall": "eltávolítás" + }, + "panel": { + "configuration": "Konfiguráció", + "documentation": "Dokumentáció", + "info": "Infó", + "log": "Napló" + } + }, + "common": { + "cancel": "Mégsem", + "close": "Bezárás", + "description": "Leírás", + "error": { + "unknown": "Ismeretlen hiba", + "update_failed": "Sikertelen frissítés" + }, + "failed_to_restart_name": "Nem sikerült újraindítani a következőt: {name}", + "failed_to_update_name": "Nem sikerült frissíteni a következőt: {name}", + "learn_more": "Tudj meg többet", + "new_version_available": "Új verzió érhető el", + "newest_version": "Legújabb verzió", + "no": "Nem", + "refresh": "Frissítés", + "reload": "Újratöltés", + "reset_defaults": "Visszaállítás az alapértelmezett értékekre", + "reset_options": "Visszaállítási lehetõségek", + "restart": "Újraindítás", + "restart_name": "{name} újraindítása", + "running_version": "Jelenleg a {version} verzió fut", + "save": "Mentés", + "show_more": "További információk megjelenítése", + "update": "Frissítés", + "update_available": "{count, plural,\n one {Frissítés}\n other {{count} Frissítés}\n} függőben", + "version": "Verzió", + "yes": "Igen" + }, + "confirm": { + "reset_options": { + "text": "Biztosan visszaállítod az összes beállítást?", + "title": "Visszaállítási lehetõségek" + }, + "restart": { + "text": "Biztosan újra akarod indítani a(z) {name}-t?", + "title": "{name} újraindítása" + }, + "update": { + "text": "Biztosan frissíteni szeretnéd a(z) {name} verziót a(z) {version} verzióra?", + "title": "{name} frissítése" + } + }, + "dashboard": { + "addon_new_version": "Új verzió érhető el", + "addons": "Bővítmények" + }, "dialog": { "network": { + "connected_to": "Csatlakozva a következőhöz: {ssid}", "dhcp": "DHCP", "disabled": "Letiltva", "dns_servers": "DNS Szerverek", "failed_to_change": "Nem sikerült megváltoztatni a hálózati beállításokat", "gateway": "Átjáró címe", "ip_netmask": "IP-cím/Netmaszk", + "open": "Nyitva", "static": "Statikus", "title": "Hálózati beállítások", "unsaved": "Vannak nem mentett módosítások, amik elvesznek ha másik fülre váltasz, biztosan ki akarsz lépni?", + "wep": "WEP", "wpa": "wpa-psk" }, "registries": { @@ -123,27 +248,120 @@ }, "repositories": { "add": "Hozzáadás", - "remove": "Eltávolítás" + "remove": "Eltávolítás", + "title": "Bővítmény-tárolók kezelése" }, "restart_addon": { "confirm_text": "Add-on újraindítása" + }, + "update": { + "create_snapshot": "Frissítés előtt pillanatkép készítése erről: {name}", + "snapshot": "Pillanatkép", + "snapshotting": "Pillanatkép készítése erről: {name}", + "updating": "{name} frissítése {version} verzióra" } }, + "my": { + "error": "Ismeretlen hiba történt", + "error_addon_not_found": "A bővítmény nem található", + "faq_link": "My Home Assistant GYIK" + }, + "panel": { + "dashboard": "Irányítópult", + "snapshots": "Pillanatképek", + "system": "Rendszer" + }, "snapshot": { + "addons": "Bővítmények", + "available_snapshots": "Rendelkezésreálló pillanatképek", + "could_not_create": "Nem lehet pillanatképet létrehozni", "create": "Létrehozás", + "create_blocked_not_running": "Jelenleg nem lehet pillanatképet létrehozni, mivel a rendszer {state} állapotban van.", + "create_snapshot": "Pillanatkép létrehozása", + "description": "A pillanatképekkel könnyen hozhatsz létre vagy tölthetsz vissza mentést a teljes Home Assistant példányodról.", "enter_password": "Add meg a jelszót", "folder": { + "addons/local": "Helyi bővítmények", "homeassistant": "Home Assistant konfiguráció", "media": "Média", "ssl": "SSL" }, "folders": "Mappák", + "full_snapshot": "Teljes pillanatkép", "name": "Név", + "no_snapshots": "Nincs még egyetlen pillanatképed sem létrehozva.", + "partial_snapshot": "Részleges pillanatkép", "password": "Jelszó", "password_protected": "jelszóval védett", "password_protection": "Jelszóvédelem", "security": "Biztonság", - "type": "Típus" + "type": "Típus", + "upload_snapshot": "Pillanatkép feltöltése" + }, + "store": { + "missing_addons": "Hiányzó add-onok? Kapcsold be a haladó üzemmódot a felhasználói profil oldalon", + "repositories": "Tárolók" + }, + "system": { + "core": { + "cpu_usage": "Core CPU használat" + }, + "host": { + "change": "Módosítás", + "change_hostname": "Gazdagép nevének megváltoztatása", + "confirm_reboot": "Valóba újra szeretnéd indítani a gazdagépet?", + "confirm_shutdown": "Valóban le szeretnéd állítani a gazdagépet?", + "deployment": "Telepítés", + "docker_version": "Docker verzió", + "failed_to_import_from_usb": "Nem sikerült importálni az USB-ről", + "failed_to_reboot": "A gazdagép újraindítása sikertelen", + "failed_to_shutdown": "A gazdagép leállítása sikertelen", + "hardware": "Hardver", + "hostname": "Gazdagép neve", + "import_from_usb": "Importálás USB-ről", + "ip_address": "IP-cím", + "operating_system": "Operációs rendszer", + "reboot_host": "Gazdagép újraindítása", + "shutdown_host": "Gazdagép leállítása", + "used_space": "Felhasznált terület" + }, + "log": { + "get_logs": "Nem sikerült lekérni a(z) {provider} naplókat, {error}" + }, + "supervisor": { + "beta_join_confirm": "Szeretnél csatlakozni a béta csatornához?", + "channel": "Csatorna", + "cpu_usage": "Supervisor CPU használat", + "failed_to_reload": "Nem sikerült újratölteni a Supervisort", + "failed_to_set_option": "Nem sikerült beállítani a Supervisor opciót", + "failed_to_update": "Nem sikerült frissíteni a Supervisort", + "join_beta_action": "Csatlakozás a béta csatornához", + "leave_beta_action": "Kilépés a béta csatornából", + "leave_beta_description": "Stabil frissítések a Home Assistanthoz, a Supervisorhoz és a gazdagéphez", + "ram_usage": "Supervisor RAM használat", + "reload_supervisor": "Supervisor újratöltése", + "share_diagnostics": "Diagnosztika megosztása", + "share_diagnostics_description": "Összeomlási jelentések és diagnosztikai információk megosztása.", + "share_diagonstics_title": "Segíts a Home Assistant fejlesztésében", + "unhealthy_reason": { + "docker": "A Docker futtatókörnyezet nem működik megfelelően", + "setup": "A Supervisor beállítása sikertelen volt", + "supervisor": "A Supervisor nem tudott frissíteni" + }, + "unhealthy_title": "A telepítés nem megfelelő", + "unsupported_reason": { + "container": "Konténerek, amelyekről ismert, hogy problémákat okoznak", + "dbus": "DBUS", + "docker_configuration": "Docker konfiguráció", + "docker_version": "Docker verzió", + "lxc": "LCX", + "network_manager": "Network Manager", + "os": "Operációs rendszer", + "systemd": "Systemd" + }, + "update_supervisor": "A Supervisor frissítése", + "warning": "FIGYELMEZTETÉS" + } } }, "ui": { @@ -340,6 +558,13 @@ "yes": "Igen" }, "components": { + "addon-picker": { + "error": { + "no_supervisor": { + "title": "Nincs Supervisor" + } + } + }, "area-picker": { "add_dialog": { "add": "Hozzáadás", @@ -360,6 +585,10 @@ "remove_user": "Felhasználó eltávolítása", "select_blueprint": "Tervrajz kiválasztása" }, + "calendar": { + "my_calendars": "Saját naptáraim", + "today": "Ma" + }, "data-table": { "no-data": "Nincs adat", "search": "Keresés" @@ -507,6 +736,10 @@ "week": "{count} {count, plural,\n one {héttel}\n other {héttel}\n} ezelőtt" } }, + "service-control": { + "required": "Ez a mező kötelező", + "service_data": "Szolgáltatás adatai" + }, "service-picker": { "service": "Szolgáltatás" }, @@ -541,6 +774,8 @@ "control": "Ellenőrzés", "dismiss": "Elvetés", "editor": { + "advanced": "Haladó beállítások", + "change_device_area": "Az eszköz területének módosítása", "confirm_delete": "Biztosan törölni szeretnéd ezt a bejegyzést?", "delete": "Törlés", "device_disabled": "Ennek az entitásnak az eszköze le van tiltva.", @@ -637,6 +872,9 @@ "person": { "create_zone": "Zóna létrehozása az aktuális helyről" }, + "remote": { + "activity": "Jelenlegi tevékenység" + }, "restored": { "confirm_remove_text": "Biztosan el szeretnéd távolítani ezt az entitást?", "confirm_remove_title": "Eltávolítod az entitást?", @@ -709,6 +947,7 @@ "scene": "Jelenetek", "script": "Szkriptek", "server_control": "Szerver vezérlés", + "tag": "Címkék", "users": "Felhasználók", "zone": "Zónák" }, @@ -799,8 +1038,13 @@ }, "errors": { "config": { - "key_missing": "A (z) \" {key} \" szükséges kulcs hiányzik.", - "key_not_expected": "A(z) \"{key}\" kulcs nem várható, vagy a vizuális szerkesztő nem támogatja." + "edit_in_yaml_supported": "YAML-ben továbbra is szerkesztheted a konfigurációt.", + "editor_not_available": "Nincs elérhető vizuális szerkesztő a(z) \"{type}\" típushoz.", + "editor_not_supported": "A vizuális szerkesztő nem támogatott ebben a konfigurációban", + "error_detected": "Konfigurációs hibákat észleltünk", + "key_missing": "A (z) \" {key}\" szükséges kulcs hiányzik.", + "key_not_expected": "A(z) \"{key}\" kulcs nem várt, vagy a vizuális szerkesztő nem támogatja.", + "no_type_provided": "Nincs megadva típus." } }, "login-form": { @@ -907,13 +1151,17 @@ "device_id": { "action": "Művelet", "extra_fields": { - "code": "Kód" + "code": "Kód", + "message": "Üzenet", + "position": "Pozíció", + "title": "Cím" }, "label": "Eszköz" }, "event": { "event": "Esemény:", - "label": "Esemény meghívása" + "label": "Esemény meghívása", + "service_data": "Szolgáltatás adatai" }, "repeat": { "label": "Ismétlés", @@ -1045,7 +1293,7 @@ "edit_ui": "Szerkesztés a felhasználói felületen", "edit_yaml": "Szerkesztés YAML-ként", "enable_disable": "Automatizálás engedélyezése/letiltása", - "introduction": "Használj automatizálásokat otthonod életre keltéséhez", + "introduction": "Használj automatizálásokat otthonod életre keltéséhez.", "load_error_not_editable": "Csak az automations.yaml fájlban megadott automatizálások szerkeszthetők.", "load_error_unknown": "Hiba az automatizálás betöltésekor ({err_no}).", "max": { @@ -1079,7 +1327,8 @@ "extra_fields": { "above": "Felett", "below": "Alatt", - "for": "Időtartam" + "for": "Időtartam", + "zone": "Zóna" }, "label": "Eszköz", "trigger": "Eseményindító" @@ -1291,10 +1540,11 @@ "sign_out": "Kijelentkezés", "thank_you_note": "Köszönjük, hogy a Home Assistant Felhő részese vagy. Az olyan emberek miatt, mint te, vagyunk képesek mindenki számára nagyszerű otthoni automatizálási élményt nyújtani. Köszönjük!", "tts": { + "default_language": "Alapértelmezett nyelv", "dialog": { "example_message": "Hello {name}, bármilyen szöveget lejátszhat bármely támogatott médialejátszón!", "header": "Próbálja ki a szövegfelolvasást", - "play": "Lejátszása", + "play": "Lejátszás", "target": "Cél", "target_browser": "Böngésző" }, @@ -1377,7 +1627,7 @@ "dismiss": "Elvetés", "email": "Email", "email_error_msg": "Érvénytelen email", - "forgot_password": "elfelejtett jelszó?", + "forgot_password": "Elfelejtett jelszó?", "introduction": "A Home Assistant Felhő biztonságos távoli kapcsolatot nyújt a példányodhoz, miközben távol vagy. Azt is lehetővé teszi, hogy csak felhőn alapuló szolgáltatásokhoz csatlakozz: Amazon Alexa, Google Asszisztens.", "introduction2": "Ezt a szolgáltatást partnerünk üzemelteti, a ", "introduction2a": ", amelyet a Home Assistant és a Hass.io alapítói hoztak létre.", @@ -1678,6 +1928,15 @@ "delete_confirm": "Biztosan törölni szeretnéd ezt az integrációt?", "device_unavailable": "Eszköz nem érhető el", "devices": "{count} {count, plural,\n one {eszköz}\n other {eszköz}\n}", + "disable": { + "disabled": "Letiltva", + "disabled_by": { + "device": "eszköz", + "integration": "integráció", + "user": "felhasználó" + }, + "disabled_cause": "Letiltva ez által: {cause}" + }, "documentation": "Dokumentáció", "entities": "{count} {count, plural,\n one {entitás}\n other {entitás}\n}", "entity_unavailable": "Entitás nem érhető el", @@ -1698,8 +1957,10 @@ "config_flow": { "aborted": "Megszakítva", "close": "Bezárás", + "could_not_load": "A konfigurációs folyamat nem tölthető be", "created_config": "Konfiguráció létrehozva a következőhöz: {name}.", "dismiss": "Párbeszédpanel elvetése", + "error": "Hiba", "error_saving_area": "Hiba a terület mentésekor: {error}", "external_step": { "description": "Ehhez a lépéshez egy külső weboldal meglátogatása szükséges.", @@ -1708,12 +1969,20 @@ "finish": "Befejezés", "loading_first_time": "Kérlek várj, amíg az integráció telepítésre kerül", "not_all_required_fields": "Nincs kitöltve minden szükséges mező.", + "pick_flow_step": { + "title": "Felfedeztük ezeket, be akarod állítani őket?" + }, "submit": "Küldés" }, "configure": "Beállítás", "configured": "Konfigurálva", "description": "Integrációk kezelése (szolgáltatások, eszközök...)", "details": "Integráció részletei", + "disable": { + "disabled_integrations": "{number} letiltva", + "hide_disabled": "A letiltott integrációk elrejtése", + "show_disabled": "A letiltott integrációk megjelenítése" + }, "discovered": "Felfedezett", "home_assistant_website": "Home Assistant weboldal", "ignore": { @@ -2334,6 +2603,23 @@ "introduction": "A zónák lehetővé teszik a Föld bizonyos területeinek megadását. Ha egy személy egy zónán belül van, az állapota felveszi a zóna nevét. A zónák eseményindítóként vagy feltételként is használhatók az automatizálási beállításokon belül.", "no_zones_created_yet": "Úgy tűnik, még nem hoztál létre zónákat." }, + "zwave_js": { + "common": { + "close": "Bezárás" + }, + "dashboard": { + "dump_not_ready_confirm": "Letöltés", + "server_version": "Szerver verzió" + }, + "network_status": { + "connected": "Csatlakoztatva", + "connecting": "Csatlakozás", + "unknown": "Ismeretlen" + }, + "node_status": { + "unknown": "Ismeretlen" + } + }, "zwave": { "button": "Beállítás", "common": { @@ -2347,7 +2633,8 @@ "learn_more": "Tudj meg többet a Z-Wave-ről", "migration": { "ozw": { - "header": "Áthelyezés az OpenZWave-re" + "header": "Áthelyezés az OpenZWave-re", + "introduction": "Ez a varázsló segít áttérni a régi Z-Wave integrációról az OpenZWave integrációra, amely jelenleg béta állapotban van." } }, "network_management": { @@ -2453,17 +2740,22 @@ "type": "Esemény típusa" }, "services": { + "all_parameters": "Minden rendelkezésre álló paraméter", "call_service": "Szolgáltatás meghívása", "column_description": "Leírás", "column_example": "Példa", "column_parameter": "Paraméter", "description": "A 'service dev' eszköz lehetővé teszi bármely Home Assistant-ban rendelkezésre álló szolgáltatás meghívását.", "fill_example_data": "Kitöltés példaadatokkal", - "title": "Szolgáltatások" + "title": "Szolgáltatások", + "ui_mode": "Ugrás a felhasználói felület módra", + "yaml_mode": "Ugrás a YAML módra", + "yaml_parameters": "A paraméterek csak YAML módban érhetők el" }, "states": { "alert_entity_field": "Az entitás kötelező mező", "attributes": "Attribútumok", + "copy_id": "Azonosító másolása a vágólapra", "current_entities": "Jelenlegi entitások", "description1": "Egy eszköz állapotának beállítása a Home Assistant-ban.", "description2": "Ez nem fog kommunikálni az aktuális eszközzel.", @@ -2521,6 +2813,10 @@ "yaml_unsupported": "Ez a funkció nem elérhető, ha a Lovelace felhasználói felületet YAML módban használod." }, "cards": { + "actions": { + "action_confirmation": "Biztosan futtatod a(z) \"{action}\" műveletet?", + "no_service": "Nincs megadva futtatandó szolgáltatás" + }, "confirm_delete": "Biztosan törölni szeretnéd ezt a kártyát?", "empty_state": { "go_to_integrations_page": "Ugrás az 'integrációk' oldalra.", @@ -2701,8 +2997,10 @@ "name": "Pillantás" }, "grid": { + "columns": "Oszlopok", "description": "A Rács kártya lehetővé teszi több kártya megjelenítését egy rácsban.", - "name": "Rács" + "name": "Rács", + "square": "Kártyák megjelenítése négyzetként" }, "history-graph": { "description": "Az Előzmény grafikon kártya lehetővé teszi az entitások múltbeli értékeinek grafikus megjelenítését.", @@ -2887,12 +3185,14 @@ "confirm_remove_config_text": "Automatikusan létrehozzuk a Lovelace felhasználói felületed nézeteit a területeiddel és eszközeiddel, ha eltávolítod a Lovelace konfigurációját.", "confirm_remove_config_title": "Biztosan el szeretnéd távolítani a Lovelace felhasználói felület konfigurációját?", "confirm_unsaved_changes": "Vannak nem mentett módosítások, biztosan ki akarsz lépni?", - "confirm_unsaved_comments": "A konfiguráció megjegyzéseket tartalmaz, amik nem kerülnek elmentésre. Biztosan folytatod?", + "confirm_unsaved_comments": "A konfiguráció megjegyzéseket tartalmazhat, amik nem kerülnek elmentésre. Biztosan folytatod?", "error_invalid_config": "A konfiguráció érvénytelen: {error}", "error_parse_yaml": "Nem sikerült elemezni a YAML-t: {error}", "error_remove": "Nem lehet eltávolítani a konfigurációt: {error}", "error_save_yaml": "Nem sikerült menteni a YAML-t: {error}", "header": "Konfiguráció szerkesztése", + "lovelace_changed": "A Lovelace konfigurációja frissült, be akarod tölteni a frissített konfigurációt a szerkesztőbe és elveszíteni az aktuális módosításokat?", + "reload": "Újratöltés", "resources_moved": "Az erőforrásokat ezentúl nem a Lovelace konfigurációban kell megadni, hanem a Lovelace konfigurációs panelben.", "save": "Mentés", "saved": "Mentett", @@ -2978,6 +3278,11 @@ "empty": "Nincsenek üzeneteid", "playback_title": "Üzenet lejátszása" }, + "my": { + "documentation": "dokumentáció", + "error": "Ismeretlen hiba történt", + "faq_link": "My Home Assistant GYIK" + }, "page-authorize": { "abort_intro": "Bejelentkezés megszakítva", "authorizing_client": "Éppen a {clientId} számára készülsz hozzáférést biztosítani a Home Assistant példányodhoz.", diff --git a/translations/frontend/is.json b/translations/frontend/is.json index 9e2a6131a7..e532e78c2f 100644 --- a/translations/frontend/is.json +++ b/translations/frontend/is.json @@ -93,6 +93,125 @@ "unknown": "Óþekkt" } }, + "supervisor": { + "dialog": { + "network": { + "connected_to": "Tengt við {ssid}", + "dhcp": "DHCP", + "disabled": "Óvirkt", + "dns_servers": "DNS þjónar", + "failed_to_change": "Ekki tókst að breyta netstillingum", + "gateway": "Vistfang gáttar", + "ip_netmask": "IP vistfang/Netmöskvi", + "open": "Opið", + "scan_ap": "Leita að aðgangsstöðum", + "static": "Föst", + "title": "Netstillingar", + "unsaved": "Þú ert með óvistaðar breytingar, þær týnast ef þú skiptir um flipa, viltu halda áfram?", + "warning": "Ef þú ert að breyta Wi-Fi, IP eða gáttarvistföngum gætirðu misst tenginguna!", + "wep": "WEP", + "wpa": "WPA-PSK" + }, + "registries": { + "password": "Lykilorð", + "remove": "Fjarlægja", + "username": "Username" + }, + "repositories": { + "add": "Bæta við", + "remove": "Fjarlægja", + "title": "Stjórna viðbótargeymslum" + }, + "restart_addon": { + "confirm_text": "Endurræsa viðbót", + "text": "Á að endurræsa viðbótina með breytingum þínum?" + }, + "update": { + "create_snapshot": "Stofna skyndimynd af {name} áður en uppfært er", + "snapshot": "Skyndimynd", + "snapshotting": "Bý til skyndimynd af {name}", + "updating": "Uppfæri {name} í útgáfu {version}" + } + }, + "my": { + "error_addon_not_found": "Viðbót fannst ekki" + }, + "snapshot": { + "addons": "Viðbætur", + "available_snapshots": "Tiltækar skyndimyndir", + "could_not_create": "Ekki tókst að búa til skyndimynd", + "create": "Búa til", + "create_blocked_not_running": "Ekki er hægt að búa til skyndimynd núna þar sem kerfið er í {state} stöðu.", + "create_snapshot": "Búa til skyndimynd", + "description": "Skyndimyndir gera þér kleift að vinna með öryggisafrit af gögnum þessa tilviks af Home Assistant.", + "enter_password": "Færðu inn lykilorð.", + "folder": { + "addons/local": "Staðbundnar viðbætur", + "homeassistant": "Home Assistant stillingar", + "media": "Efni", + "share": "Deila", + "ssl": "SSL" + }, + "folders": "Möppur", + "full_snapshot": "Full skyndimynd", + "name": "Heiti", + "partial_snapshot": "Skyndimynd að hluta", + "password": "Lykilorð", + "password_protected": "varið með lykilorði", + "password_protection": "Vörn með lykilorði", + "security": "Öryggi", + "type": "Gerð", + "upload_snapshot": "Hlaða upp skyndimynd" + }, + "system": { + "core": { + "cpu_usage": "Kjarni: Notkun örgjörva", + "ram_usage": "Kjarni: Notkun vinnsluminnis" + }, + "host": { + "change": "Breyta", + "change_hostname": "Breyta vélarheiti", + "confirm_reboot": "Á örugglega að endurræsa vélina?", + "confirm_shutdown": "Ertu viss um að þú viljir ganga frá vélinni?", + "deployment": "Dreifing", + "docker_version": "Docker útgáfa", + "emmc_lifetime_used": "eMMC líftími notaður", + "failed_to_get_hardware_list": "Ekki tókst að sækja vélbúnaðarlista", + "failed_to_import_from_usb": "Ekki tókst að flytja inn úr USB", + "failed_to_reboot": "Ekki tókst að endurræsa vélina", + "failed_to_set_hostname": "Ekki tókst að breyta vélarheiti", + "failed_to_shutdown": "Ekki tókst að ganga frá vélinni", + "hardware": "Vélbúnaður", + "hostname": "Vélarheiti", + "import_from_usb": "Flytja inn frá USB", + "ip_address": "IP vistfang", + "new_hostname": "Vinsamlega sláðu inn nýtt vélarheiti:", + "operating_system": "Stýrikerfi", + "reboot_host": "Endurræsa vél", + "shutdown_host": "Ganga frá vél", + "used_space": "Notað pláss" + }, + "supervisor": { + "unhealthy_reason": { + "docker": "Docker umhverfið virkar ekki rétt", + "privileged": "Umsjónarkerfi hefur ekki áskilin réttindi", + "setup": "Uppsetning umsjónarkerfis mistókst", + "supervisor": "Umsjónarkerfi tókst ekki að uppfæra" + }, + "unsupported_reason": { + "dbus": "DBUS", + "docker_configuration": "Stillingar Docker", + "docker_version": "Docker útgáfa", + "job_conditions": "Hunsuð skilyrði verka", + "lxc": "LXC", + "network_manager": "Netstjóri", + "os": "Stýrikerfis", + "privileged": "Umsjónarkerfi hefur ekki áskilin réttindi", + "systemd": "Systemd" + } + } + } + }, "ui": { "auth_store": { "ask": "Viltu vista þessa innskráningu?", @@ -413,6 +532,9 @@ "edit": "Breyta einingu", "history": "Saga", "last_changed": "Síðast breytt", + "remote": { + "activity": "Núverandi verkþáttur" + }, "restored": { "confirm_remove_title": "Fjarlægja einingu?", "remove_action": "Fjarlægja einingu" diff --git a/translations/frontend/it.json b/translations/frontend/it.json index f75db206d9..5e3f10c6f4 100644 --- a/translations/frontend/it.json +++ b/translations/frontend/it.json @@ -1011,6 +1011,9 @@ "person": { "create_zone": "Crea zona dalla posizione corrente" }, + "remote": { + "activity": "Attività corrente" + }, "restored": { "confirm_remove_text": "Sei sicuro di voler rimuovere questa entità?", "confirm_remove_title": "Rimuovere l'entità?", diff --git a/translations/frontend/ja.json b/translations/frontend/ja.json index bb2dec5959..f1f778763a 100644 --- a/translations/frontend/ja.json +++ b/translations/frontend/ja.json @@ -1,7 +1,7 @@ { "config_entry": { "disabled_by": { - "config_entry": "構成エントリ", + "config_entry": "設定エントリ", "device": "デバイス", "integration": "インテグレーション", "user": "ユーザー" @@ -117,20 +117,20 @@ "edit_in_yaml": "YAMLで編集", "header": "オプション", "invalid_yaml": "無効なYAML", - "show_unused_optional": "未使用のオプション構成オプションを表示する" + "show_unused_optional": "未使用の設定オプションを表示する" } }, "dashboard": { "action_error": { "get_changelog": "アドオンの変更ログを取得できませんでした", - "go_to_config": "アドオンの起動に失敗しました - 構成検証に失敗しました。", + "go_to_config": "アドオンの起動に失敗しました - 設定検証に失敗しました。", "install": "アドオンのインストールに失敗しました", "restart": "アドオンの再起動に失敗しました", "start": "アドオンの開始に失敗しました", "start_invalid_config": "設定に移動", "stop": "アドオンの停止に失敗しました", "uninstall": "アドオンのアンインストールに失敗しました", - "validate_config": "アドオン構成の検証に失敗しました" + "validate_config": "アドオン設定の検証に失敗しました" }, "capability": { "apparmor": { @@ -198,7 +198,7 @@ "title": "アドオンステージ" } }, - "changelog": "Changelog", + "changelog": "更新履歴", "cpu_usage": "アドオンCPU使用率", "hostname": "ホスト名", "install": "インストール", @@ -220,11 +220,11 @@ "title": "サイドバーに表示" }, "protected": { - "description": "アドオンからのシステムアクセスの昇格をブロックします。", + "description": "アドオンからシステムアクセスの昇格をブロックします", "title": "保護モード" }, "watchdog": { - "description": "これはクラッシュした場合にアドオンを起動します。", + "description": "クラッシュした場合にアドオンを起動します。", "title": "ウォッチドッグ" } }, @@ -244,13 +244,13 @@ "documentation": { "get_documentation": " {error}アドオンドキュメントの取得に失敗しました" }, - "failed_to_reset": "{error}アドオン構成のリセットに失敗しました", - "failed_to_save": " {error}アドオン構成の保存に失敗しました", + "failed_to_reset": "{error}アドオン設定のリセットに失敗しました", + "failed_to_save": " {error}アドオン設定の保存に失敗しました", "logs": { "get_logs": " {error}アドオンログの取得に失敗しました" }, "panel": { - "configuration": "構成", + "configuration": "設定", "documentation": "ドキュメント", "info": "情報", "log": "ログ" @@ -333,7 +333,7 @@ "add_registry": "レジストリの追加", "failed_to_add": "レジストリを追加できませんでした", "failed_to_remove": "レジストリを削除できませんでした", - "no_registries": "レジストリが構成されていません", + "no_registries": "レジストリが設定されていません", "password": "パスワード", "registry": "レジストリ", "remove": "削除", @@ -976,12 +976,12 @@ "pattern": "クライアント側検証の正規表現パターン", "text": "テキスト" }, - "platform_not_loaded": "{platform}統合がロードされていません。 'default_config:'または '' {platform} : ''を追加して、構成に追加してください。", + "platform_not_loaded": "{platform}統合がロードされていません。 'default_config:'または '' {platform} : ''を追加して、設定に追加してください。", "required_error_msg": "この項目は必須です", "timer": { "duration": "期間" }, - "yaml_not_editable": "このエンティティの設定は UI から編集できません。UI から設定されたエンティティのみが UI から構成できます。" + "yaml_not_editable": "このエンティティの設定は UI から編集できません。UI から設定されたエンティティのみが UI から設定できます。" }, "image_cropper": { "crop": "収納" @@ -1147,7 +1147,7 @@ "power_source": "電源", "quirk": "癖", "services": { - "reconfigure": "ZHAデバイスを再構成します(デバイスの修復)。デバイスに問題がある場合に使用します。問題のデバイスがバッテリー駆動のデバイスである場合は、このサービスを使用するときに、デバイスが起動し、コマンドを受け入れていることを確認してください。", + "reconfigure": "ZHAデバイスを再設定します(デバイスの修復)。デバイスに問題がある場合に使用します。問題のデバイスがバッテリー駆動のデバイスである場合は、このサービスを使用するときに、デバイスが起動し、コマンドを受け入れていることを確認してください。", "remove": "Zigbee ネットワークからデバイスを削除します。", "updateDeviceName": "デバイス レジストリでこのデバイスのカスタム名を設定します。", "zigbee_information": "デバイスのZigbee情報を表示します。" @@ -1170,7 +1170,7 @@ "edit_in_yaml_supported": "YAMLで設定を編集することはできます。", "editor_not_available": "タイプ\"{type}\"で利用できるビジュアルエディタがありません。", "editor_not_supported": "この設定では、Visual エディタはサポートされていません。", - "error_detected": "構成エラーが検出されました", + "error_detected": "設定エラーが検出されました", "key_missing": "必要なキー \"{key}\" がありません。", "key_not_expected": "キー \" {key} \"は予期されていないか、ビジュアルエディターでサポートされていません。", "key_wrong_type": "\"{key}\" に指定された値は、ビジュアル エディターではサポートされていません。({type_correct}) をサポートしていますが、受信しました ({type_wrong})。", @@ -1229,7 +1229,7 @@ "header": "エリア", "integrations_page": "インテグレーションページ", "introduction": "エリアは、デバイスの場所を整理するために使用されます。この情報は、ホームアシスタント全体で、インターフェイス、アクセス権、他のシステムとの統合を整理するために使用されます。", - "introduction2": "デバイスをエリアに配置するには、次のリンクを使用して統合ページに移動し、構成済みの統合をクリックしてデバイス カードにアクセスします。", + "introduction2": "デバイスをエリアに配置するには、次のリンクを使用して統合ページに移動し、設定済みの統合をクリックしてデバイス カードにアクセスします。", "no_areas": "まだエリアがないようです!" } }, @@ -1686,7 +1686,7 @@ }, "webhooks": { "disable_hook_error_msg": "ウェブホックを無効にできませんでした:", - "info": "webhook によってトリガーされるように構成された URL を公開可能な URL を与えることができ、インスタンスをインターネットに公開することなく、どこからでもホームアシスタントにデータを送信できます。", + "info": "webhook によってトリガーされるように設定された URL を公開可能な URL を与えることができ、インスタンスをインターネットに公開することなく、どこからでもホームアシスタントにデータを送信できます。", "link_learn_more": "Webhookを利用した自動化の作成について詳しく学んでください。", "loading": "読み込み中...", "manage": "管理", @@ -1698,7 +1698,7 @@ } }, "alexa": { - "banner": "この UI を介して公開されるエンティティの編集は、configuration.yaml でエンティティ フィルターを構成しているため無効になります。", + "banner": "この UI を介して公開されるエンティティの編集は、configuration.yaml でエンティティ フィルターを設定しているため無効になります。", "dont_expose_entity": "エンティティを公開しない", "expose": "Alexa に公開", "expose_entity": "エンティティの公開", @@ -1741,7 +1741,7 @@ "title": "パスワードを忘れた場合" }, "google": { - "banner": "この UI を介して公開されるエンティティの編集は、configuration.yaml でエンティティ フィルターを構成しているため無効になります。", + "banner": "この UI を介して公開されるエンティティの編集は、configuration.yaml でエンティティ フィルターを設定しているため無効になります。", "disable_2FA": "多要素認証を無効にする", "dont_expose_entity": "エンティティを公開しない", "expose": "Google Assistant に公開", @@ -1826,7 +1826,7 @@ "unit_system_metric": "メトリック" }, "header": "一般的な設定", - "introduction": "構成の変更は、面倒なプロセスになる可能性があります。私たちは知っています。このセクションでは、あなたの人生を少しでも楽にしようとしています。" + "introduction": "設定の変更は、面倒なプロセスになる可能性があります。私たちは知っています。このセクションでは、あなたの人生を少しでも楽にしようとしています。" } } }, @@ -1881,7 +1881,7 @@ "confirm_delete": "このデバイスを削除してもよろしいですか?", "confirm_disable_config_entry": "{entry_name}デバイスはもうありません。設定エントリを無効にしますか?", "confirm_rename_entity_ids": "エンティティの ID も変更しますか?", - "confirm_rename_entity_ids_warning": "この場合、これらのエンティティを現在使用している構成 (オートメーション、スクリプト、シーン、Lovelace など) は変更されません。", + "confirm_rename_entity_ids_warning": "この場合、これらのエンティティを現在使用している設定 (オートメーション、スクリプト、シーン、Lovelace など) は変更されません。", "data_table": { "area": "エリア", "battery": "バッテリー", @@ -1897,7 +1897,7 @@ "device_not_found": "デバイスが見つかりません。", "disabled": "無効", "disabled_by": { - "config_entry": "構成エントリ", + "config_entry": "設定エントリ", "integration": "インテグレーション", "user": "ユーザー" }, @@ -1976,7 +1976,7 @@ "button": "選択したものを削除", "confirm_partly_text": "選択した{selected}エンティティの{selected}削除{removable}のみを削除できます。エンティティが削除できるのは、統合によってエンティティが提供されなくなった場合のみです。削除された統合のエンティティを削除する前に、Home Assistantを再起動する必要がある場合があります。削除可能なエンティティを削除してもよろしいですか?", "confirm_partly_title": "削除できるのは、選択された{number}エンティティのみです。", - "confirm_text": "これらのエンティティが含まれている場合は、Lovelace の構成および自動化からそれらを削除する必要があります。", + "confirm_text": "これらのエンティティが含まれている場合は、Lovelace の設定および自動化からそれらを削除する必要があります。Lovelace", "confirm_title": "{number}エンティティを削除しますか?" }, "search": "エンティティを検索", @@ -2095,8 +2095,8 @@ "config_flow": { "aborted": "中止", "close": "閉じる", - "could_not_load": "構成フローを読み込めませんでした", - "created_config": "{name} の構成が作成しました。", + "could_not_load": "設定フローを読み込めませんでした", + "created_config": "{name} の設定を作成しました。", "dismiss": "ダイアログを閉じる", "error": "エラー", "error_saving_area": "エリアを保存できません: {error}", @@ -2113,7 +2113,7 @@ }, "submit": "送信" }, - "configure": "構成", + "configure": "設定", "configured": "設定済み", "confirm_new": "{integration}を設定しますか?", "description": "インテグレーションの管理とセットアップ", @@ -2145,12 +2145,12 @@ "none_found_detail": "別の検索基準をためしてみます。", "note_about_integrations": "まだすべての統合をUI経由で設定できるわけではありません。", "note_about_website_reference": "より多くが利用可能です", - "reconfigure": "再構成", + "reconfigure": "再設定", "rename_dialog": "このコンフィグレーションエントリーの名前を変更", "rename_input_label": "エントリー名", "search": "インテグレーションを検索" }, - "introduction": "このビューでは、コンポーネントとHome Assistantを構成できます。まだすべてをUIから構成できるわけではありませんが、現在取り組んでいます。", + "introduction": "このビューでは、コンポーネントとHome Assistantを設定できます。まだすべてをUIから設定できるわけではありませんが、現在取り組んでいます。", "logs": { "caption": "ログ", "clear": "消去", @@ -2306,10 +2306,10 @@ "node_count": "{count}ノード" }, "node_config": { - "header": "ノード構成", + "header": "ノード設定", "help_source": "設定パラメータの説明とヘルプテキストは、OpenZWaveプロジェクトによって提供されます。", "introduction": "Z-Wave ノードの各種設定パラメータを管理します。", - "wakeup_help": "バッテリ駆動のノードは、構成を変更するためにスリープ状態になっている必要があります。ノードがスリープ解除されていない場合、OpenZWave は、ノードがウェイクアップする次の時間 (または数日後) にノードの構成を更新しようとします。デバイスを起動するには、次の手順に従います。" + "wakeup_help": "バッテリ駆動のノードは、設定を変更するためにスリープ状態になっている必要があります。ノードがスリープ解除されていない場合、OpenZWave は、ノードがウェイクアップする次の時間 (または数日後) にノードの設定を更新しようとします。デバイスを起動するには、次の手順に従います。" }, "node_metadata": { "product_manual": "製品マニュアル" @@ -2318,18 +2318,18 @@ "associations": "関連グループとメンバーシップの更新", "cacheload": "OpenZWave キャッシュファイルから情報を読み込んでいます。バッテリー・ノードは、ノードがウェイクアップするまでこの段階にとどまります。", "complete": "面接プロセスが完了しました", - "configuration": "ノードから構成値を取得する", + "configuration": "ノードから設定値を取得する", "dynamic": "ノードから頻繁に変更される値を取得する", "instances": "デバイスがサポートするインスタンスまたはチャネルに関する詳細の取得", "manufacturerspecific1": "ノードからの製造元および製品IDコードの取得", "manufacturerspecific2": "ノードから頻繁に変更される値を取得する", "neighbors": "ノードの近隣ノードのリストの取得", - "nodeinfo": "ノードから構成値を取得する", + "nodeinfo": "ノードから設定値を取得する", "nodeplusinfo": "ノードからZ-Wave +情報を取得する", "probe": "ノードが起動しているかどうかの確認", "protocolinfo": "コントローラからこのノードの基本的なZ-Wave機能を取得する", "session": "ノードから頻繁に変更される値を取得する", - "static": "ノードから構成値を取得する", + "static": "ノードから設定値を取得する", "versions": "ファームウェアおよびコマンドクラスのバージョンに関する情報の取得", "wakeup": "ウェイクアップ キューとメッセージのサポートのセットアップ" }, @@ -2545,7 +2545,7 @@ "validation": { "check_config": "設定を確認", "heading": "設定の検証", - "introduction": "構成に変更を加えた後、すべてが有効であることを確認する場合は、構成を検証します。", + "introduction": "設定に変更を加えた後、すべてが有効であることを確認する場合は、設定を検証します。", "invalid": "設定は無効です", "valid": "設定は有効です!" } @@ -2637,7 +2637,7 @@ "search_again": "もう一度検索", "spinner": "ZHA Zigbeeデバイスを検索しています..." }, - "button": "構成", + "button": "設定", "cluster_attributes": { "attributes_of_cluster": "選択したクラスターの属性", "get_zigbee_attribute": "Zigbee属性を取得", @@ -2658,7 +2658,7 @@ "clusters": { "header": "クラスター", "help_cluster_dropdown": "クラスターを選択して、属性とコマンドを表示します。", - "introduction": "クラスタは Zigbee 機能の構成要素です。機能を論理単位に分割します。クライアントとサーバーの種類があり、属性とコマンドで構成されています。" + "introduction": "クラスタは Zigbee 機能の設定要素です。機能を論理単位に分割します。クライアントとサーバーの種類があり、属性とコマンドで設定されています。" }, "common": { "clusters": "クラスター", @@ -2666,12 +2666,12 @@ "value": "バリュー" }, "device_pairing_card": { - "CONFIGURED": "構成の完了", + "CONFIGURED": "設定の完了", "CONFIGURED_status_text": "初期化中", "INITIALIZED": "初期化が完了しました", "INITIALIZED_status_text": "デバイスを使用する準備ができました", "INTERVIEW_COMPLETE": "インタビュー完了", - "INTERVIEW_COMPLETE_status_text": "構成", + "INTERVIEW_COMPLETE_status_text": "設定", "PAIRED": "デバイスが見つかりました", "PAIRED_status_text": "インタビュー開始" }, @@ -2718,7 +2718,7 @@ "zone": { "add_zone": "ゾーンを追加", "caption": "ゾーン", - "configured_in_yaml": "configuration.yamlで構成されたゾーンは、UIで編集できません。", + "configured_in_yaml": "configuration.yamlで設定されたゾーンは、UIで編集できません。", "confirm_delete": "このゾーンを削除してもよろしいですか?", "create_zone": "ゾーンを作成", "description": "ユーザーを追跡するゾーンを管理する", @@ -2739,8 +2739,8 @@ }, "edit_home_zone": "ホームゾーンの半径は、フロントエンドからはまだ編集できません。マップ上のマーカーをドラッグして、ホームゾーンを移動します。", "edit_home_zone_narrow": "ホームゾーンの半径は、フロントエンドからはまだ編集できません。場所は、一般設定から変更できます。", - "go_to_core_config": "一般的な構成に移動しますか?", - "home_zone_core_config": "ホームゾーンの場所は、一般構成ページから編集できます。ホームゾーンの半径は、フロントエンドからはまだ編集できません。一般構成に移動しますか?", + "go_to_core_config": "一般的な設定に移動しますか?", + "home_zone_core_config": "ホームゾーンの場所は、一般設定ページから編集できます。ホームゾーンの半径は、フロントエンドからはまだ編集できません。一般設定に移動しますか?", "introduction": "ゾーンを使用すると、地球上の特定の地域を指定できます。人がゾーン内にいるとき、州はゾーンから名前を取ります。ゾーンは、オートメーション設定内のトリガーまたは条件として使用することもできます。", "no_zones_created_yet": "まだゾーンを作成していないようです。" }, @@ -2843,12 +2843,12 @@ "network_stopped": "Z-Waveネットワークが停止しました" }, "node_config": { - "config_parameter": "構成パラメーターの設定", + "config_parameter": "パラメーターの設定", "config_value": "バリューを設定", "false": "偽", - "header": "ノード構成オプション", + "header": "ノード設定オプション", "seconds": "秒", - "set_config_parameter": "構成パラメーターの設定", + "set_config_parameter": "パラメーターの設定", "set_wakeup": "ウェイクアップ間隔を設定", "true": "真" }, @@ -3002,7 +3002,7 @@ "lovelace": { "add_entities": { "generated_unsupported": "この機能は、Lovelace UIを制御している場合にのみ使用できます。", - "saving_failed": "Lovelace UI構成の保存に失敗しました。", + "saving_failed": "Lovelace UI設定の保存に失敗しました。", "yaml_unsupported": "YAMLモードでLovelace UIを使用している場合、この関数は使用できません。" }, "cards": { @@ -3033,7 +3033,7 @@ "url": "{url_path}へのウィンドウを開く" }, "safe-mode": { - "description": "Home Assistant は、構成の読み込み中に問題が発生し、セーフモードで実行されています。エラーログを見て、何が問題だったかを確認してください。", + "description": "Home Assistant は、設定の読み込み中に問題が発生し、セーフモードで実行されています。エラーログを見て、何が問題だったかを確認してください。", "header": "セーフモードがアクティブになりました" }, "shopping-list": { @@ -3322,7 +3322,7 @@ "show_code_editor": "コードエディタを表示", "show_visual_editor": "ビジュアルエディターを表示", "toggle_editor": "エディターの切り替え", - "typed_header": "{type}カードの構成", + "typed_header": "{type}カードの設定", "unsaved_changes": "変更が保存されていません" }, "edit_lovelace": { @@ -3335,8 +3335,8 @@ "add": "ビューの追加", "delete": "ビューの削除", "edit": "ビューの編集", - "header": "構成を表示", - "header_name": "{name}構成の表示", + "header": "設定を表示", + "header_name": "{name}設定の表示", "move_left": "ビューを左に移動", "move_right": "ビューを右に移動", "tab_badges": "バッジ", @@ -3371,7 +3371,7 @@ }, "migrate": { "header": "設定に互換性がありません", - "migrate": "構成を移行する", + "migrate": "設定を移行する", "para_migrate": "Home Assistantは、「設定の移行」ボタンを押すことで、すべてのカードとビューにIDを自動的に追加できます。", "para_no_id": "この要素には ID がありません。'ui-lovelace.yaml' のこの要素に ID を追加してください。" }, @@ -3379,18 +3379,18 @@ "header": "カードを移動するビューを選択してください" }, "raw_editor": { - "confirm_remove_config_text": "Lovelace UI構成を削除すると、エリアとデバイスを含むLovelace UIビューが自動的に生成されます。", - "confirm_remove_config_title": "Lovelace UI構成を削除してもよろしいですか?エリアとデバイスを使用してLovelace UIビューを自動的に生成します。", + "confirm_remove_config_text": "Lovelace UI設定を削除すると、エリアとデバイスを含むLovelace UIビューが自動的に生成されます。", + "confirm_remove_config_title": "Lovelace UI設定を削除してもよろしいですか?エリアとデバイスを使用してLovelace UIビューを自動的に生成します。", "confirm_unsaved_changes": "未保存の変更があります、終了してもよろしいですか?", "confirm_unsaved_comments": "コンフィグレーションはコメントが含まれています、これらは保存されません。本当に続けますか?", "error_invalid_config": "設定が無効です: {error}", "error_parse_yaml": "YAMLを解析できません: {error}", - "error_remove": "構成を削除できません: {error}", + "error_remove": "設定を削除できません: {error}", "error_save_yaml": "YAMLを保存できません: {error}", "header": "設定を編集", - "lovelace_changed": "Lovelace 構成が更新されましたが、エディタで更新された構成をロードして、現在の変更を失いますか?", + "lovelace_changed": "Lovelace設定が更新されましたが、エディタで更新された設定をロードして、現在の変更を失いますか?", "reload": "リロード", - "resources_moved": "リソースはLovelace構成に追加されなくなりましたが、Lovelace構成パネルで追加できます。", + "resources_moved": "リソースはLovelace設定に追加されなくなりましたが、Lovelace設定パネルで追加できます。", "save": "保存", "saved": "保存しました", "unsaved_changes": "保存されていない変更" @@ -3400,11 +3400,11 @@ "close": "閉じる", "empty_config": "新しいダッシュボードから開始する", "header": "Lovelace UIを制御する", - "para": "このダッシュボードは現在、Home Assistantによって管理されています。新しいエンティティまたはLovelace UIコンポーネントが利用可能になると、自動的に更新されます。制御すると、このダッシュボードは自動的に更新されなくなります。いつでも構成で新しいダッシュボードを作成して、変更することができます。", + "para": "このダッシュボードは現在、Home Assistantによって管理されています。新しいエンティティまたはLovelace UIコンポーネントが利用可能になると、自動的に更新されます。制御すると、このダッシュボードは自動的に更新されなくなります。いつでも設定\nで新しいダッシュボードを作成して、変更することができます。", "para_sure": "ユーザー インターフェイスを制御しますか?", "save": "制御する", - "yaml_config": "ここで開始するには、このダッシュボードの現在の構成です。", - "yaml_control": "YAML モードで制御するには、このダッシュボードの構成で指定した名前、またはデフォルトの 'ui-lovelace.yaml' を使用して YAML ファイルを作成します。", + "yaml_config": "ここではダッシュボードの現在の設定を説明します。", + "yaml_control": "YAML モードで制御するには、このダッシュボードの設定で指定した名前、またはデフォルトの 'ui-lovelace.yaml' を使用して YAML ファイルを作成します。", "yaml_mode": "このダッシュボードで YAML モードを使用している場合は、UI から Lovelace 設定を変更することはできません。UI からこのダッシュボードを管理する場合は、'configuration.yaml' の Lovelace 設定から 'mode: yaml' を削除します。" }, "select_view": { @@ -3789,7 +3789,7 @@ }, "sidebar": { "done": "完了", - "external_app_configuration": "アプリの構成", + "external_app_configuration": "アプリの設定", "sidebar_toggle": "サイドバーの切り替え" } } diff --git a/translations/frontend/ko.json b/translations/frontend/ko.json index 5d25e57e93..0b8496be98 100644 --- a/translations/frontend/ko.json +++ b/translations/frontend/ko.json @@ -102,12 +102,70 @@ } }, "supervisor": { + "addon": { + "dashboard": { + "capability": { + "apparmor": { + "description": "앱아머 ( 'Application Armor')는 네트워크 액세스, 원시 소켓 액세스 및 특정 파일 읽기, 쓰기 또는 실행 권한과 같은 추가 기능 기능을 제한하는 Linux 커널 보안 모듈입니다. \n\n 애드온 작성자는 애드온에 최적화 된 보안 프로필을 제공하거나 비활성화하도록 요청할 수 있습니다. AppArmor가 비활성화되면 보안 위험이 높아져 추가 기능의 보안 점수에 부정적인 영향을 미칩니다.", + "title": "앱아머" + }, + "auth_api": { + "description": "애드온은 Home Assistant에서 사용자를 인증 할 수 있으므로 이 기능을 통해 사용자는 Home Assistant 사용자 이름 / 암호를 사용하여 애드온 내에서 실행되는 응용 프로그램에 로그인 할 수 있습니다. 이 배지는 애드온 작성자가이 이러한 기능을 요청하는지 여부를 나타냅니다.", + "title": "홈어시스턴트 인증" + }, + "docker_api": { + "description": "애드온 작성자가 시스템에서 실행중인 Docker 인스턴스에 대한 관리 액세스 권한을 갖도록 애드온을 요청했습니다. 이 모드는 애드온이 전체 홈 어시스턴트 시스템에 대한 전체 액세스 및 제어를 제공하여 보안 위험을 추가하고 오용시 시스템을 손상시킬 수 있습니다. 따라서이 기능은 애드온 보안 점수에 부정적인 영향을 미칩니다. \n\n 이 수준의 액세스는 자동으로 부여되지 않으며 귀하가 확인해야합니다. 이렇게하려면 애드온에서 보호 모드를 수동으로 비활성화해야합니다. 이 애드온의 출처를 알고 필요하고 신뢰할 수있는 경우에만 보호 모드를 비활성화하십시오.", + "title": "전체 Docker 액세스" + }, + "host_pid": { + "description": "일반적으로 애드온이 실행하는 프로세스는 다른 모든 시스템 프로세스와 격리됩니다. 애드온 작성자는 호스트 시스템 인스턴스에서 실행중인 시스템 프로세스에 액세스 할 수 있도록 애드온을 요청했으며 애드온이 호스트 시스템에서도 프로세스를 생성 할 수 있도록 허용했습니다. 이 모드는 애드온이 전체 홈 어시스턴트 시스템에 대한 전체 액세스 및 제어를 제공하여 보안 위험을 추가하고 오용시 시스템을 손상시킬 수 있습니다. 따라서이 기능은 애드온 보안 점수에 부정적인 영향을 미칩니다. \n\n 이 수준의 액세스는 자동으로 부여되지 않으며 귀하가 확인해야합니다. 이렇게하려면 애드온에서 보호 모드를 수동으로 비활성화해야합니다. 이 애드온의 출처를 알고 필요하고 신뢰할 수있는 경우에만 보호 모드를 비활성화하십시오.", + "title": "호스트 프로세스 네임스페이스" + }, + "ingress": { + "description": "이 애드온은 안전하게 내장된 홈어시스턴트 인터페이스로의 진입을 사용합니다.", + "title": "진입" + }, + "label": { + "apparmor": "앱아머", + "auth": "인증", + "docker": "Docker", + "hardware": "하드웨어", + "hass": "hass", + "hassio": "Hassio", + "host": "호스트", + "host_pid": "호스트 pid", + "ingress": "진입", + "rating": "평가", + "stage": "단계" + }, + "role": { + "manager": "관리자" + } + } + } + }, "common": { "cancel": "취소", + "error": { + "unknown": "알 수 없는 오류", + "update_failed": "업데이트 실패" + }, "failed_to_restart_name": "{name} 을(를) 다시 시작하지 못했습니다", - "restart_name": "{name} 다시 시작" + "refresh": "새로 고침", + "reload": "재실행", + "reset_defaults": "기본값으로 재설정", + "reset_options": "옵션 재설정", + "restart": "재시작", + "restart_name": "{name} 다시 시작", + "running_version": "현재 버전 {version}을 실행 중입니다.", + "save": "저장", + "show_more": "자세한 정보 표시" }, "confirm": { + "reset_options": { + "text": "모든 옵션을 재설정 하시겠습니까?", + "title": "옵션 재설정" + }, "restart": { "text": "{name} 을(를) 다시 시작하시겠습니까?", "title": "{name} 다시 시작" @@ -117,6 +175,36 @@ } }, "dialog": { + "network": { + "connected_to": "{ssid} 연결됨", + "dhcp": "DHCP", + "disabled": "비활성화", + "dns_servers": "DNS 서버", + "failed_to_change": "네트워크 설정 변경 실패", + "gateway": "게이트웨이 주소", + "ip_netmask": "IP 주소/넷마스크", + "open": "공개", + "scan_ap": "액세스 포인트 검색", + "static": "정적", + "title": "네트워크 설정", + "unsaved": "저장하지 않은 변경 사항이 있습니다. 탭을 변경하면 손실됩니다. 계속 하시겠습니까?", + "warning": "Wi-Fi, IP 또는 게이트웨이 주소를 변경하는 경우 연결이 끊어 질 수 있습니다!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "신규 레지스트리 추가", + "add_registry": "레지스트리 추가", + "failed_to_add": "레지스트리 추가 실패", + "failed_to_remove": "레지스트리 제거 실패", + "no_registries": "구성된 레지스트리 없음", + "password": "암호", + "registry": "레지스트리", + "remove": "제거", + "title_add": "신규 컨테이너 레지스트리 추가", + "title_manage": "컨테이너 레지스트리 관리", + "username": "사용자명" + }, "repositories": { "add": "추가하기", "remove": "제거하기", @@ -132,6 +220,78 @@ "snapshotting": "{name} 스냅샷을 만드는 중", "updating": "{name} 을(를) {version} 버전으로 업데이트 중" } + }, + "my": { + "error": "알려지지 않은 에러 발생", + "error_addon_not_found": "애드온을 찾을 수 없습니다.", + "faq_link": "자주 묻는 질문", + "not_supported": "이 리다이렉트는 홈어시트턴드에서 지원되지 않습니다. {link} 에서 소개되는 리다이렉트와 버전을 확인하세요." + }, + "snapshot": { + "available_snapshots": "사용 가능한 스냅샷", + "could_not_create": "스냅샷을 만들 수 없습니다.", + "create": "생성", + "create_blocked_not_running": "{state} 상태이기 때문에 지금은 스냅샷을 생성 할 수 없습니다.", + "create_snapshot": "스냅샷 생성", + "description": "스냅샷을 사용하면 홈 어시스턴트 인스턴스의 모든 데이터를 쉽게 백업하고 복원할 수 있습니다.", + "folder": { + "addons/local": "로컬 애드온", + "media": "미디어" + }, + "name": "이름", + "no_snapshots": "아직 스냅샷이 없습니다.", + "security": "보안", + "type": "유형", + "upload_snapshot": "스냅샷 업로드" + }, + "store": { + "missing_addons": "애드온이 없나요? 사용자 프로필에서 고급 모드 활성화 하세요.", + "no_results_found": "{repository} 에 결과가 없습니다.", + "registries": "레지스트리", + "repositories": "저장소" + }, + "system": { + "core": { + "cpu_usage": "코어 CPU 사용량", + "ram_usage": "코어 RAM 사용량" + }, + "host": { + "change": "변경", + "change_hostname": "호스트 이름 변경", + "confirm_reboot": "호스트를 재부팅 하시겠습니까?", + "confirm_shutdown": "호스트를 종료 하시겠습니까?", + "deployment": "배포", + "docker_version": "Docker 버전", + "emmc_lifetime_used": "eMMC 사용 시간", + "failed_to_import_from_usb": "USB에서 가져오기 실패", + "failed_to_set_hostname": "호스트 이름 설정 실패", + "hardware": "하드웨어", + "hostname": "호스트 이름", + "import_from_usb": "USB에서 가져오기", + "ip_address": "IP 주소", + "new_hostname": "새 호스트 이름을 입력하십시오.", + "operating_system": "운영 체제", + "reboot_host": "호스트 재부팅", + "shutdown_host": "호스트 종료", + "used_space": "사용 공간" + }, + "log": { + "get_logs": "{provider} 로그를 가져 오지 못했습니다 {error}", + "log_provider": "로그 제공" + }, + "supervisor": { + "channel": "채널", + "cpu_usage": "Supervisor CPU 사용량", + "failed_to_reload": "Supervisor 재실행 실패", + "failed_to_set_option": "Supervisor 옵션 설정 실패", + "failed_to_update": "Supervisor 업데이트 실패", + "ram_usage": "Supervisor RAM 사용량", + "unhealthy_description": "비정상적인 설치를 실행하면 문제가 발생합니다. 다음은 설치시 발견 된 문제 목록입니다. 링크를 클릭하여 문제를 해결하는 방법을 알아보십시오.", + "unhealthy_title": "비정상 설치입니다.", + "unsupported_description": "다음은 설치시 발견 된 문제 목록입니다. 링크를 클릭하여 문제를 해결하는 방법을 알아보십시오.", + "unsupported_title": "지원되지 않는 설치로 운영 중입니다.", + "update_supervisor": "Supervisor 업데이트" + } } }, "ui": { @@ -601,6 +761,9 @@ "person": { "create_zone": "현재 위치로 지역 만들기" }, + "remote": { + "activity": "현재 활동" + }, "restored": { "confirm_remove_text": "이 구성요소를 제거하시겠습니까?", "confirm_remove_title": "구성요소를 제거하시겠습니까?", @@ -2879,7 +3042,7 @@ "my": { "component_not_loaded": "이 리디렉션은 Home Assistant 인스턴스에서 지원되지 않습니다. 이 리디렉션을 사용하려면 {integration} 통합 구성요소가 필요합니다.", "error": "알 수 없는 오류가 발생했습니다", - "faq_link": "내 Home Assistant 자주 묻는 질문", + "faq_link": "자주 묻는 질문", "not_supported": "이 리디렉션은 Home Assistant 인스턴스에서 지원되지 않습니다. {link} 에서 지원되는 리디렉션과 리디렉션이 도입된 버전을 확인해주세요." }, "page-authorize": { diff --git a/translations/frontend/lt.json b/translations/frontend/lt.json index 69f48dbf89..86e1d78c15 100644 --- a/translations/frontend/lt.json +++ b/translations/frontend/lt.json @@ -65,6 +65,13 @@ "unknown": "Nežinoma" } }, + "supervisor": { + "addon": { + "dashboard": { + "visit_addon_page": "Apsilankykite puslapyje {name}, jei reikia daugiau detalių" + } + } + }, "ui": { "card": { "alarm_control_panel": { diff --git a/translations/frontend/nb.json b/translations/frontend/nb.json index 95e9021395..e9cce68034 100644 --- a/translations/frontend/nb.json +++ b/translations/frontend/nb.json @@ -269,6 +269,7 @@ }, "common": { "cancel": "Avbryt", + "close": "Lukk", "description": "Beskrivelse", "error": { "unknown": "Ukjent feil", @@ -365,6 +366,7 @@ }, "my": { "error": "Det oppstod en ukjent feil", + "error_addon_not_found": "Tillegget ble ikke funnet", "faq_link": "Vanlige spørsmål om Min Home Assistant", "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." }, @@ -1011,6 +1013,9 @@ "person": { "create_zone": "Opprett sone fra gjeldende plassering" }, + "remote": { + "activity": "Nåværende aktivitet" + }, "restored": { "confirm_remove_text": "Er du sikker på at du vil fjerne denne entiteten?", "confirm_remove_title": "Vil du fjerne entiteten?", diff --git a/translations/frontend/nl.json b/translations/frontend/nl.json index b8041697f4..c290f9bf29 100644 --- a/translations/frontend/nl.json +++ b/translations/frontend/nl.json @@ -153,7 +153,7 @@ }, "full_access": { "description": "Deze add-on krijgt volledige toegang tot de hardware van uw systeem, op verzoek van de auteur van de add-on. De toegang is vergelijkbaar met de bevoorrechte modus in Docker. Aangezien dit mogelijke veiligheidsrisico's met zich meebrengt, heeft deze eigenschap een negatieve invloed op de veiligheidsscore van de add-on.\n\nDit niveau van toegang wordt niet automatisch verleend en moet door u worden bevestigd. Om dit te doen, moet u de beveiligingsmodus op de add-on handmatig uitschakelen. Schakel de beveiligingsmodus alleen uit als u de bron van deze add-on kent, nodig hebt EN vertrouwt.", - "title": "Volledige hardwaretoegang" + "title": "Volledige hardware toegang" }, "hassio_api": { "description": "De add-on heeft toegang gekregen tot de Supervisor API, op verzoek van de auteur van de add-on. Standaard heeft de add-on toegang tot algemene versie-informatie van uw systeem. Wanneer de add-on 'manager' of 'admin' niveau toegang tot de API aanvraagt, zal het toegang krijgen om meerdere delen van uw Home Assistant systeem te controleren. Deze toestemming wordt aangegeven met deze badge en zal de beveiligingsscore van de add-on negatief beïnvloeden.", @@ -164,7 +164,7 @@ "title": "Home Assistant API Toegang" }, "host_network": { - "description": "Add-ons draaien meestal in hun eigen geïsoleerde netwerklaag, waardoor ze geen toegang hebben tot het netwerk van het host-besturingssysteem. In sommige gevallen kan deze netwerkisolatie add-ons beperken in het leveren van hun diensten en daarom kan de isolatie worden opgeheven door de add-on-auteur, waardoor de add-on volledige toegang krijgt tot de netwerkmogelijkheden van de host-machine. Dit geeft de add-on meer netwerkmogelijkheden maar verlaagt de beveiliging, vandaar dat de beveiligingsclassificatie van de add-on zal worden verlaagd als deze optie door de add-on wordt gebruikt.", + "description": "Add-ons draaien meestal in hun eigen geïsoleerde netwerklaag, waardoor ze geen toegang hebben tot het netwerk van het host-besturingssysteem. In sommige gevallen kan deze netwerkisolatie add-ons beperken in het leveren van hun diensten en daarom kan de isolatie worden opgeheven door de add-on-auteur, waardoor de add-on volledige toegang krijgt tot de netwerk mogelijkheden van de host-machine. Dit geeft de add-on meer netwerkmogelijkheden maar verlaagt de beveiliging, vandaar dat de beveiligingsclassificatie van de add-on zal worden verlaagd als deze optie door de add-on wordt gebruikt.", "title": "Hostnetwerk" }, "host_pid": { @@ -245,15 +245,15 @@ "start": "start", "stop": "stop", "uninstall": "verwijderen", - "visit_addon_page": "Bezoek de {naam} pagina voor meer details" + "visit_addon_page": "Bezoek de {name} pagina voor meer details" }, "documentation": { "get_documentation": "Mislukt om add-on documentatie te krijgen, {error}" }, "failed_to_reset": "Kan configuratie van add-on niet resetten, {error}", - "failed_to_save": "Mislukt om add-on configuratie op te slaan, {fout}", + "failed_to_save": "Mislukt om add-on configuratie op te slaan, {error}", "logs": { - "get_logs": "Mislukt om add-on logs te krijgen, {fout}" + "get_logs": "Mislukt om add-on logs te krijgen, {error}" }, "panel": { "configuration": "Configuratie", @@ -269,29 +269,30 @@ }, "common": { "cancel": "Annuleren", + "close": "Sluiten", "description": "Omschrijving", "error": { "unknown": "Onbekende fout", "update_failed": "Update mislukt" }, - "failed_to_restart_name": "Misloukt om {name} te herstarten", - "failed_to_update_name": "Mislukt om {naam} bij te werken", + "failed_to_restart_name": "Mislukt om {name} te herstarten", + "failed_to_update_name": "Mislukt om {name} bij te werken", "learn_more": "Meer informatie", "new_version_available": "Nieuwe versie beschikbaar", "newest_version": "Nieuwste versie", "no": "Nee", - "refresh": "Vernieuw", + "refresh": "Vernieuwen", "release_notes": "Release-notities", "reload": "Herlaad", "reset_defaults": "Terugzetten naar standaardinstellingen", "reset_options": "Reset opties", "restart": "Herstart", - "restart_name": "Herstart {naam}", - "running_version": "U gebruikt momenteel versie {versie}", + "restart_name": "Herstart {name}", + "running_version": "U gebruikt momenteel versie {version}", "save": "Opslaan", "show_more": "Toon meer informatie hierover", "update": "Update", - "update_available": "{count, plural, one {Update} other {{count} Updates}} Pending", + "update_available": "{count, plural, one {Update} other {{count} Updates}} Wachtend", "version": "Versie", "yes": "Ja" }, @@ -301,12 +302,12 @@ "title": "Reset opties" }, "restart": { - "text": "Weet u zeker dat u {naam} opnieuw wilt starten?", - "title": "Herstart {naam}" + "text": "Weet u zeker dat u {name} opnieuw wilt starten?", + "title": "Herstart {name}" }, "update": { - "text": "Weet u zeker dat u {naam} wilt updaten naar versie {versie}?", - "title": "Update {naam}" + "text": "Weet u zeker dat u {name} wilt updaten naar versie {version}?", + "title": "Update {name}" } }, "dashboard": { @@ -360,11 +361,12 @@ "create_snapshot": "Maak een snapshot van {name} voordat u gaat updaten", "snapshot": "Snapshot", "snapshotting": "Maak een snapshot van {name}", - "updating": "Bijwerken van {naam} naar versie {versie}" + "updating": "Bijwerken van {name} naar versie {version}" } }, "my": { "error": "Er is een onbekende fout opgetreden", + "error_addon_not_found": "Add-on niet gevonden", "faq_link": "My Home Assistant FAQ", "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." }, @@ -379,7 +381,7 @@ "available_snapshots": "Beschikbare snapshots", "could_not_create": "Kon geen snapshot maken", "create": "Maak", - "create_blocked_not_running": "Het maken van een snapshot is nu niet mogelijk omdat het systeem in {status} staat.", + "create_blocked_not_running": "Het maken van een snapshot is nu niet mogelijk omdat het systeem in {state} staat.", "create_snapshot": "Maak snapshot", "description": "Met snapshots kunt u gemakkelijk een back-up maken van alle gegevens van uw Home Assistant en ze herstellen.", "enter_password": "Voer een wachtwoord in.", @@ -463,7 +465,7 @@ "unhealthy_description": "Het draaien van een onvolledige installatie zal problemen veroorzaken. Hieronder vindt u een lijst met problemen die gevonden zijn met uw installatie, klik op de links om te leren hoe u de problemen kunt oplossen.", "unhealthy_reason": { "docker": "De Docker omgeving werkt niet goed", - "privileged": "Supervisor heeft geen priviliged acces", + "privileged": "Supervisor heeft niet voldoende toegang", "setup": "Setup van de Supervisor mislukt", "supervisor": "Supervisor kon niet updaten" }, @@ -478,7 +480,7 @@ "lxc": "LXC", "network_manager": "Netwerkmanager", "os": "Besturingssysteem", - "privileged": "Supervisor heeft geen priviliged acces", + "privileged": "Supervisor heeft niet voldoende toegang", "systemd": "Systemd" }, "unsupported_title": "U gebruikt een niet-ondersteunde installatie", @@ -1011,6 +1013,9 @@ "person": { "create_zone": "Creëer zone van huidige locatie" }, + "remote": { + "activity": "Huidige activiteit" + }, "restored": { "confirm_remove_text": "Weet je zeker dat je dit item wilt verwijderen?", "confirm_remove_title": "Entiteit verwijderen?", @@ -1020,7 +1025,7 @@ }, "script": { "last_action": "Laatste actie", - "last_triggered": "Voor het laatst uitgevoerd" + "last_triggered": "Laatst geactiveerd" }, "settings": "Entiteit instellingen", "sun": { @@ -1180,7 +1185,7 @@ "editor_not_supported": "Visuele editor wordt niet ondersteund voor deze configuratie", "error_detected": "Configuratiefouten ontdekt", "key_missing": "Verplichte sleutel \"{key}\" ontbreekt.", - "key_not_expected": "Sleutel \" {key} \" wordt niet verwacht of wordt niet ondersteund door de visuele editor.", + "key_not_expected": "Sleutel \"{key}\" wordt niet verwacht of ondersteund door de visuele editor.", "key_wrong_type": "De opgegeven waarde voor \" {key} \" wordt niet ondersteund door de visuele editor. We ondersteunen ( {type_correct} ) maar hebben ( {type_wrong} ) ontvangen.", "no_type_provided": "Geen type opgegeven." } @@ -1680,7 +1685,7 @@ "tts": { "default_language": "Standaardtaal om te gebruiken", "dialog": { - "example_message": "Hallo {naam}, je kunt elke tekst afspelen op elke ondersteunde mediaspeler!", + "example_message": "Hallo {name}, je kunt elke tekst afspelen op elke ondersteunde mediaspeler!", "header": "Probeer Tekst naar Spraak", "play": "Speel", "target": "Doel", @@ -1887,7 +1892,7 @@ "cant_edit": "Je kunt alleen items bewerken die in de gebruikersinterface zijn gemaakt.", "caption": "Apparaten", "confirm_delete": "Weet je zeker dat je dit apparaat wilt verwijderen?", - "confirm_disable_config_entry": "Er zijn geen apparaten meer voor de config entry {entry_name}, wil je in plaats daarvan de config entry uitschakelen?", + "confirm_disable_config_entry": "Er zijn geen apparaten meer voor deze configuratie {entry_name}, wil je in plaats daarvan deze configuratie uitschakelen?", "confirm_rename_entity_ids": "Wil je ook de entiteits-ID's van je entiteiten hernoemen?", "confirm_rename_entity_ids_warning": "Dit zal geen enkele configuratie wijzigen (zoals automatiseringen, scripts, scènes, dashboards) die momenteel deze entiteiten gebruikt! U moet ze zelf bijwerken om de nieuwe entiteits-ID's te gebruiken!", "data_table": { @@ -1905,7 +1910,7 @@ "device_not_found": "Apparaat niet gevonden.", "disabled": "Uitgeschakeld", "disabled_by": { - "config_entry": "Configuratie-invoer", + "config_entry": "Configuratie-item", "integration": "Integratie", "user": "Gebruiker" }, @@ -2117,7 +2122,7 @@ "loading_first_time": "Even geduld a.u.b. terwijl de integratie wordt geïnstalleerd", "not_all_required_fields": "Niet alle verplichte velden zijn ingevuld.", "pick_flow_step": { - "new_flow": "Nee, zet een andere instantie van {integratie} op", + "new_flow": "Nee, zet een andere instantie van {integration} op", "title": "We hebben deze ontdekt. Wil je ze instellen?" }, "submit": "Opslaan" @@ -3021,7 +3026,7 @@ "no_entity_more_info": "Geen entiteit voorzien voor meer info dialoog", "no_entity_toggle": "Geen entiteit opgegeven om te schakelen", "no_navigation_path": "Geen navigatiepad opgegeven", - "no_service": "Geen service voor uitvoering opgegeven", + "no_service": "Geen service geselecteerd", "no_url": "Geen URL om te openen opgegeven" }, "confirm_delete": "Weet je zeker dat je deze kaart wilt verwijderen?", diff --git a/translations/frontend/nn.json b/translations/frontend/nn.json index 29e264db48..d3ed1e492c 100644 --- a/translations/frontend/nn.json +++ b/translations/frontend/nn.json @@ -97,6 +97,7 @@ }, "common": { "cancel": "Avbryt", + "close": "Lukk", "newest_version": "Nyaste versjon", "release_notes": "Utgjevingsnotat", "update": "Oppdater ", @@ -115,6 +116,17 @@ "addons": "Tillegg", "no_addons": "Du har ikkje installert nokon tillegg endå. Gå til tilleggsbutikken for å kome i gang!" }, + "dialog": { + "repositories": { + "remove": "Fjern" + }, + "restart_addon": { + "confirm_text": "Start tillegget på nytt" + }, + "update": { + "snapshot": "Øyeblikksbilde" + } + }, "panel": { "dashboard": "Skrivebord", "snapshots": "Snapshots", diff --git a/translations/frontend/pl.json b/translations/frontend/pl.json index 22388ac559..6e83d9c816 100644 --- a/translations/frontend/pl.json +++ b/translations/frontend/pl.json @@ -69,11 +69,11 @@ "state_badge": { "alarm_control_panel": { "armed": "uzbr", - "armed_away": "uzbrojony", + "armed_away": "uzbr", "armed_custom_bypass": "uzbr", - "armed_home": "uzbrojony", - "armed_night": "uzbrojony", - "arming": "uzbrajanie", + "armed_home": "uzbr", + "armed_night": "uzbr", + "arming": "uzbr", "disarmed": "rozbr", "disarming": "rozbr", "pending": "oczek", @@ -269,6 +269,7 @@ }, "common": { "cancel": "Anuluj", + "close": "Zamknij", "description": "Opis", "error": { "unknown": "Nieznany błąd", @@ -359,12 +360,13 @@ "update": { "create_snapshot": "Utwórz snapshot {name} przed aktualizacją", "snapshot": "Snapshot", - "snapshotting": "Tworzę snapshot {name}", + "snapshotting": "Tworzenie snapshota {name}", "updating": "Aktualizacja {name} do wersji {version}" } }, "my": { "error": "Wystąpił nieznany błąd", + "error_addon_not_found": "Nie znaleziono dodatku", "faq_link": "Mój Home Assistant - często zadawane pytania", "not_supported": "To przekierowanie nie jest obsługiwane przez Twoją instancję Home Assistanta. Sprawdź {link} aby znaleźć obsługiwane przekierowania i wersję, w której zostały wprowadzone." }, @@ -447,7 +449,7 @@ "beta_warning": "Wersje beta są przeznaczone dla testerów i wczesnych użytkowników i mogą zawierać niestabilne zmiany w kodzie", "channel": "Kanał", "cpu_usage": "Zużycie procesora przez Supervisora", - "failed_to_reload": "Nie udało się przeładować Supervisora", + "failed_to_reload": "Nie udało się wczytać ponownie Supervisora", "failed_to_set_option": "Nie udało się ustawić opcji Supervisora", "failed_to_update": "Nie udało się zaktualizować Supervisora", "join_beta_action": "Dołącz do kanału beta", @@ -455,7 +457,7 @@ "leave_beta_action": "Opuść kanał beta", "leave_beta_description": "Pobieraj stabilne aktualizacje dla Home Assistanta, Supervisora i hosta", "ram_usage": "Zużycie pamięci przez Supervisora", - "reload_supervisor": "Przeładuj Supervisora", + "reload_supervisor": "Wczytaj ponownie Supervisora", "share_diagnostics": "Udostępnij dane diagnostyczne", "share_diagnostics_description": "Udostępniaj raporty o awariach i informacje diagnostyczne.", "share_diagonstics_description": "Czy chcesz automatycznie udostępniać raporty o awariach i informacje diagnostyczne, gdy Supervisor napotka nieoczekiwane błędy? {line_break} Pozwoli nam to rozwiązać problemy, informacje są dostępne tylko dla głównego zespołu Home Assistant Core i nie będą udostępniane innym. {line_break} Dane nie zawierają żadnych prywatnych/wrażliwych informacji i możesz to wyłączyć w ustawieniach w dowolnym momencie.", @@ -1011,6 +1013,9 @@ "person": { "create_zone": "Utwórz strefę z bieżącej lokalizacji" }, + "remote": { + "activity": "Aktualna czynność" + }, "restored": { "confirm_remove_text": "Czy na pewno chcesz usunąć tę encję?", "confirm_remove_title": "Usunąć encję?", diff --git a/translations/frontend/pt.json b/translations/frontend/pt.json index fd34571c5a..5213854712 100644 --- a/translations/frontend/pt.json +++ b/translations/frontend/pt.json @@ -131,6 +131,12 @@ "apparmor": { "title": "AppArmor" }, + "docker_api": { + "title": "Acesso completo ao Docker" + }, + "full_access": { + "title": "Acesso completo ao hardware" + }, "label": { "apparmor": "AppArmor", "docker": "docker", @@ -150,16 +156,19 @@ }, "cpu_usage": "Utilização de CPU do add-on", "install": "Instalar", + "new_update_available": "{name} {version} está disponível", "open_web_ui": "Abrir o interface web", "option": { "auto_update": { "title": "Atualização automática" }, "boot": { + "description": "Iniciar o add-on durante o arranque do sistema", "title": "Iniciar no Arranque" }, "ingress_panel": { - "description": "Adicione este add-on à barra lateral" + "description": "Adicione este add-on à barra lateral", + "title": "Mostrar na barra lateral" }, "protected": { "title": "Modo de proteção" @@ -168,6 +177,10 @@ "title": "Watchdog" } }, + "protection_mode": { + "enable": "Ativar o modo de proteção", + "title": "Aviso: o modo de proteção está desativado!" + }, "ram_usage": "Utilização de RAM do add-on", "restart": "Reiniciar", "start": "Iniciar", @@ -243,6 +256,7 @@ "scan_ap": "Procurar pontos de acesso", "static": "Estático", "title": "Configurações de rede", + "unsaved": "Possuí alterações não gravadas, serão perdidas se mudar de aba. Deseja continuar?", "warning": "Se estiver a alterar os endereços de Wi-Fi, IP ou gateway, poderá perder a ligação.", "wep": "WEP", "wpa": "wpa-psk" @@ -271,7 +285,7 @@ "create_snapshot": "Criar uma imagem de sistema do {name} antes de atualizar", "snapshot": "Imagem de sistema", "snapshotting": "A criar uma imagem de sistema do {home}", - "updating": "Actualização {nome} para a versão {versão}" + "updating": "Actualizando {nome} para a versão {versão}" } }, "my": { @@ -288,6 +302,7 @@ "available_snapshots": "Imagens de sistema disponíveis", "could_not_create": "Não foi possivel criar imagem de sistema", "create": "Criar", + "create_blocked_not_running": "Não é possível criar uma imagem de sistema neste momento, porque o sistema encontra-se no estado {state}.", "create_snapshot": "Criar imagem de sistema", "description": "As imagens de sistema permitem facilmente criar uma cópia de segurança e restaurar todos os dados da sua instancia do Home Assistant", "enter_password": "Por favor introduza uma palavra-passe.", diff --git a/translations/frontend/ru.json b/translations/frontend/ru.json index 06142e3a18..45b4632123 100644 --- a/translations/frontend/ru.json +++ b/translations/frontend/ru.json @@ -127,6 +127,17 @@ } }, "dashboard": { + "action_error": { + "get_changelog": "Не удалось получить список изменений дополнения.", + "go_to_config": "Не удалось запустить дополнение. Проверка конфигурации не удалась.", + "install": "Не удалось установить дополнение.", + "restart": "Не удалось перезапустить дополнение.", + "start": "Не удалось запустить дополнение.", + "start_invalid_config": "Перейти к конфигурации", + "stop": "Не удалось остановить дополнение.", + "uninstall": "Не удалось удалить дополнение.", + "validate_config": "Не удалось проверить конфигурацию дополнения" + }, "capability": { "apparmor": { "description": "AppArmor ('Application Armor') - это модуль безопасности ядра Linux, который ограничивает возможности дополнений, такие как доступ к сети, доступ к необработанным сокетам и разрешение на чтение, запись или выполнение определенных файлов. \n\nАвторы дополнений могут предоставлять свои профили безопасности, оптимизированные для дополнения, или запрашивать его отключение. Отключение AppArmor повысит риски безопасности и, следовательно, отрицательно повлияет на рейтинг безопасности дополнения.", @@ -137,11 +148,11 @@ "title": "Аутентификация Home Assistant" }, "docker_api": { - "description": "Это дополнение запрашивает доступ для управления программным обеспечением Docker, запущенным на Вашей системе. Этот режим предоставляет полный доступ и контроль над всей системой Home Assistant, что увеличивает риски безопасности и может повредить Вашу систему при неправильном использовании. Таким образом, эта функция отрицательно влияет на рейтинг безопасности дополнения. \n\nЭтот уровень доступа не предоставляется автоматически и должен быть подтвержден Вами. Для этого необходимо вручную отключить безопасный режим работы дополнения. Отключайте безопасный режим только в случае необходимости, а также если Вы знаете источник дополнения и доверяете ему.", + "description": "Это дополнение запрашивает доступ для управления программным обеспечением Docker, запущенным на Вашей системе. Этот режим предоставляет полный доступ и контроль над всей системой Home Assistant, что увеличивает риски безопасности и может повредить Вашу систему при неправильном использовании. Таким образом, эта функция отрицательно влияет на рейтинг безопасности дополнения. \n\nЭтот уровень доступа не предоставляется автоматически и должен быть подтвержден Вами. Для этого необходимо вручную отключить режим защиты операционной системы. Отключайте защиту только в случае необходимости, а также если Вы знаете источник дополнения и доверяете ему.", "title": "Полный доступ к Docker" }, "full_access": { - "description": "Этому дополнению предоставляется полный доступ к оборудованию Вашей системы. Такой уровень доступа сравним с привилегированным режимом в Docker. Поскольку это открывает возможные риски, функция снижает рейтинг безопасности дополнения. \n\nЭтот уровень доступа не предоставляется автоматически и должен быть подтвержден Вами. Для этого необходимо вручную отключить безопасный режим работы дополнения. Отключайте безопасный режим только в случае необходимости, а также если Вы знаете источник дополнения и доверяете ему.", + "description": "Этому дополнению предоставляется полный доступ к оборудованию Вашей системы. Такой уровень доступа сравним с привилегированным режимом в Docker. Поскольку это открывает возможные риски, функция снижает рейтинг безопасности дополнения. \n\nЭтот уровень доступа не предоставляется автоматически и должен быть подтвержден Вами. Для этого необходимо вручную отключить режим защиты операционной системы. Отключайте защиту только в случае необходимости, а также если Вы знаете источник дополнения и доверяете ему.", "title": "Полный доступ к оборудованию" }, "hassio_api": { @@ -157,7 +168,7 @@ "title": "Сеть хоста" }, "host_pid": { - "description": "Обычно процессы, выполняемые дополнением, изолированы от всех других системных процессов. Это дополнение запрашивает доступ к системным процессам, запущенным в системе хоста, а также разрешение на создание новых процессов в системе. Этот режим предоставляет полный доступ и контроль над всей системой Home Assistant, что увеличивает риски безопасности и может повредить Вашу систему при неправильном использовании. Таким образом, эта функция отрицательно влияет на рейтинг безопасности дополнения. \n\nЭтот уровень доступа не предоставляется автоматически и должен быть подтвержден Вами. Для этого необходимо вручную отключить безопасный режим работы дополнения. Отключайте безопасный режим только в случае необходимости, а также если Вы знаете источник дополнения и доверяете ему.", + "description": "Обычно процессы, выполняемые дополнением, изолированы от всех других системных процессов. Это дополнение запрашивает доступ к системным процессам, запущенным в системе хоста, а также разрешение на создание новых процессов в системе. Этот режим предоставляет полный доступ и контроль над всей системой Home Assistant, что увеличивает риски безопасности и может повредить Вашу систему при неправильном использовании. Таким образом, эта функция отрицательно влияет на рейтинг безопасности дополнения. \n\nЭтот уровень доступа не предоставляется автоматически и должен быть подтвержден Вами. Для этого необходимо вручную отключить режим защиты операционной системы. Отключайте защиту только в случае необходимости, а также если Вы знаете источник дополнения и доверяете ему.", "title": "Пространство имен хост-процессов" }, "ingress": { @@ -216,7 +227,7 @@ }, "protected": { "description": "Ограничивает доступ дополнения к системе", - "title": "Безопасный режим" + "title": "Режим защиты операционной системы" }, "watchdog": { "description": "Перезапускать дополнение при сбоях", @@ -224,9 +235,9 @@ } }, "protection_mode": { - "content": "В этом дополнении отключен безопасный режим. Это дает дополнению полный доступ ко всей системе, что увеличивает риски безопасности и может повредить Вашу систему при неправильном использовании. Отключайте безопасный режим только в случае необходимости, а также если Вы знаете источник дополнения и доверяете ему.", - "enable": "Безопасный режим", - "title": "Внимание: безопасный режим отключен!" + "content": "В этом дополнении отключен режим защиты. Это дает дополнению полный доступ ко всей операционной системе хоста, что увеличивает риски безопасности и может вызвать неполадки при неправильном использовании. Отключайте режим защиты системы только в случае необходимости, а также если Вы знаете источник дополнения и доверяете ему.", + "enable": "Включить режим защиты операционной системы", + "title": "Внимание: режим защиты отключен!" }, "ram_usage": "Использование ОЗУ", "rebuild": "восстановить", @@ -236,8 +247,14 @@ "uninstall": "удалить", "visit_addon_page": "Для получения дополнительной информации посетите страницу дополнения {name}" }, + "documentation": { + "get_documentation": "Не удалось получить документацию к дополнению, {error}" + }, "failed_to_reset": "Не удалось сбросить конфигурацию дополнения, {error}", "failed_to_save": "Не удалось сохранить конфигурацию дополнения, {error}", + "logs": { + "get_logs": "Не удалось получить журналы дополнения, {error}" + }, "panel": { "configuration": "Конфигурация", "documentation": "Документация", @@ -252,12 +269,42 @@ }, "common": { "cancel": "Отменить", + "close": "Закрыть", + "description": "Описание", + "error": { + "unknown": "Неизвестная ошибка.", + "update_failed": "Обновление не удалось." + }, + "failed_to_restart_name": "Не удалось перезапустить {name}", + "failed_to_update_name": "Не удалось обновить {name}", + "learn_more": "Узнать больше", + "new_version_available": "Доступна новая версия", "newest_version": "Последняя версия", + "no": "Нет", + "refresh": "Обновить", "release_notes": "Список изменений", + "reload": "Перезагрузить", + "reset_defaults": "Настройки по умолчанию", + "reset_options": "Сбросить параметры", + "restart": "Перезапустить", + "restart_name": "Перезапустить {name}", + "running_version": "В настоящее время Вы используете версию {version}", + "save": "Сохранить", + "show_more": "Показать дополнительную информацию об этом", "update": "Обновить", - "version": "Версия" + "update_available": "{count, plural,\n one {Обновление готово}\n other {{count} Обновления готовы}\n} к установке", + "version": "Версия", + "yes": "Да" }, "confirm": { + "reset_options": { + "text": "Вы уверены, что хотите сбросить все параметры?", + "title": "Сбросить параметры" + }, + "restart": { + "text": "Вы уверены, что хотите перезапустить {name}?", + "title": "Перезапустить {name}" + }, "update": { "text": "Вы уверены, что хотите обновить {name} до версии {version}?", "title": "Обновление {name}" @@ -270,11 +317,176 @@ "addons": "Дополнения", "no_addons": "Нет установленных дополнений. Вы можете установить их из магазина дополнений." }, + "dialog": { + "network": { + "connected_to": "Подключено к {ssid}", + "dhcp": "DHCP", + "disabled": "Отключено", + "dns_servers": "DNS-серверы", + "failed_to_change": "Не удалось изменить настройки сети.", + "gateway": "Адрес шлюза", + "ip_netmask": "IP-адрес / маска сети", + "open": "Без шифрования", + "scan_ap": "Найти точки доступа", + "static": "Статический", + "title": "Настройки сети", + "unsaved": "У Вас есть несохраненные изменения, которые будут потеряны, если Вы перейдете на другую вкладку. Продолжить?", + "warning": "Если Вы измените адреса Wi-Fi, IP или шлюза, соединение может прерваться!", + "wep": "WEP", + "wpa": "WPA-PSK" + }, + "registries": { + "add_new_registry": "Добавить новый реестр", + "add_registry": "Добавить реестр", + "failed_to_add": "Не удалось добавить реестр.", + "failed_to_remove": "Не удалось удалить реестр.", + "no_registries": "Реестры не настроены", + "password": "Пароль", + "registry": "Реестр", + "remove": "Удалить", + "title_add": "Добавить новый реестр контейнеров", + "title_manage": "Управление реестрами контейнеров", + "username": "Логин" + }, + "repositories": { + "add": "Добавить", + "remove": "Удалить", + "title": "Репозитории дополнений" + }, + "restart_addon": { + "confirm_text": "Перезапустить дополнение", + "text": "Вы хотите перезапустить дополнение с внесенными изменениями?" + }, + "update": { + "create_snapshot": "Создайте снимок {name} перед обновлением", + "snapshot": "Снимок", + "snapshotting": "Создание снимка {name}", + "updating": "Обновление {name} до версии {version}" + } + }, + "my": { + "error": "Произошла неизвестная ошибка.", + "error_addon_not_found": "Дополнение не найдено.", + "faq_link": "часто задаваемыми вопросами по My Home Assistant", + "not_supported": "Это перенаправление не поддерживается Вашим Home Assistant. Ознакомьтесь с {link}, чтобы узнать поддерживаемые перенаправления и версии, в которых они были добавлены." + }, "panel": { "dashboard": "Панель", - "snapshots": "Снапшоты", + "snapshots": "Снимки", "store": "Магазин дополнений", "system": "Система" + }, + "snapshot": { + "addons": "Дополнения", + "available_snapshots": "Доступные снимка", + "could_not_create": "Не удалось создать снимок", + "create": "Создать", + "create_blocked_not_running": "Создание снимка сейчас невозможно, потому что система находится в состоянии {state}.", + "create_snapshot": "Создать снимок", + "description": "Снимки (snapshots) позволяют легко создавать резервные копии и восстанавливать все данные Вашего Home Assistant.", + "enter_password": "Пожалуйста, введите пароль.", + "folder": { + "addons/local": "Локальные дополнения", + "homeassistant": "Home Assistant", + "media": "Media", + "share": "Share", + "ssl": "SSL" + }, + "folders": "Папки", + "full_snapshot": "Полный", + "name": "Название", + "no_snapshots": "Не найдено ни одного снимка", + "partial_snapshot": "Выборочный", + "password": "Пароль", + "password_protected": "защищено паролем", + "password_protection": "Защита паролем", + "security": "Безопасность", + "type": "Тип", + "upload_snapshot": "Загрузить снимок" + }, + "store": { + "missing_addons": "Пропали дополнения? Включите расширенный режим на странице Вашего профиля пользователя", + "no_results_found": "Не найдено результатов в {repository}.", + "registries": "Реестры", + "repositories": "Репозитории" + }, + "system": { + "core": { + "cpu_usage": "Использование ЦП", + "ram_usage": "Использование ОЗУ" + }, + "host": { + "change": "Изменить", + "change_hostname": "Изменить доменное имя хоста", + "confirm_reboot": "Вы уверены, что хотите перезагрузить хост?", + "confirm_shutdown": "Вы уверены, что хотите выключить хост?", + "deployment": "Развёртывание", + "docker_version": "Версия Docker", + "emmc_lifetime_used": "Срок службы eMMC", + "failed_to_get_hardware_list": "Не удалось получить список оборудования", + "failed_to_import_from_usb": "Не удалось импортировать данные с USB", + "failed_to_reboot": "Не удалось перезагрузить хост", + "failed_to_set_hostname": "Не удалось установить доменное имя хоста", + "failed_to_shutdown": "Не удалось выключить хост", + "hardware": "Оборудование", + "hostname": "Доменное имя", + "import_from_usb": "Импорт с USB", + "ip_address": "IP-адрес", + "new_hostname": "Введите новое доменное имя хоста:", + "operating_system": "Операционная система", + "reboot_host": "Перезагрузить хост", + "shutdown_host": "Завершить работу хоста", + "used_space": "Использование памяти" + }, + "log": { + "get_logs": "Не удалось получить журналы {provider}, {error}.", + "log_provider": "Провайдер журналов" + }, + "supervisor": { + "beta_backup": "Перед активацией этой функции убедитесь, что у Вас есть резервные копии Ваших данных.", + "beta_join_confirm": "Вы уверены, что хотите получать обновления из канала бета-версий?", + "beta_release_items": "Включает в себя бета-версии для:", + "beta_warning": "Бета-версии предназначены для тестирования и могут содержать нестабильные изменения кода.", + "channel": "Канал обновлений", + "cpu_usage": "Использование ЦП", + "failed_to_reload": "Не удалось перезагрузить Supervisor.", + "failed_to_set_option": "Не удалось настроить параметр Supervisor.", + "failed_to_update": "Не удалось обновить Supervisor.", + "join_beta_action": "Получать бета-версии", + "join_beta_description": "Получать тестовые версии обновлений для Home Assistant, Supervisor и операционной системы хоста", + "leave_beta_action": "Не получать бета-версии", + "leave_beta_description": "Получать стабильные версии обновлений для Home Assistant, Supervisor и операционной системы хоста", + "ram_usage": "Использование ОЗУ", + "reload_supervisor": "Перезагрузить Supervisor", + "share_diagnostics": "Отправлять данные для диагностики", + "share_diagnostics_description": "Автоматически отправлять отчеты о сбоях и диагностическую информацию", + "share_diagonstics_description": "Хотели бы Вы автоматически отправлять отчеты о сбоях и другую диагностическую информацию, когда Supervisor обнаруживает неожиданные ошибки? {line_break} Это позволит разработчикам получать необходимые данные для решения проблем. Данные не будут содержать никакой личной или конфиденциальной информации и будут доступны только основной команде Home Assistant. {line_break} Вы сможете отключить отправку данных в настройках в любое время.", + "share_diagonstics_title": "Помогите улучшить Home Assistant", + "unhealthy_description": "Запуск неработоспособной системы может вызвать проблемы. Ниже приведен список проблем, обнаруженных при установке. Перейдите по ссылкам, чтобы узнать, как их решить.", + "unhealthy_reason": { + "docker": "Среда Docker не работает должным образом", + "privileged": "Supervisor не имеет привилегий", + "setup": "Настройка Supervisor не удалась", + "supervisor": "Supervisor не смог обновить" + }, + "unhealthy_title": "Ваша система неработоспособна", + "unsupported_description": "Ниже приведен список проблем, обнаруженных при установке. Перейдите по ссылкам, чтобы узнать, как их решить.", + "unsupported_reason": { + "container": "Контейнеры, известные как вызывающие проблемы", + "dbus": "DBUS", + "docker_configuration": "Конфигурация Docker", + "docker_version": "Версия Docker", + "job_conditions": "Игнорируемые условия работы", + "lxc": "LXC", + "network_manager": "Менеджер сети", + "os": "Операционная система", + "privileged": "Supervisor не имеет привилегий", + "systemd": "Systemd" + }, + "unsupported_title": "Вы используете неподдерживаемый способ установки", + "update_supervisor": "Обновить Supervisor", + "warning": "ВНИМАНИЕ" + } } }, "ui": { @@ -631,7 +843,7 @@ "integration": "Интеграция", "no_related_found": "Не найдено связей с другими элементами.", "scene": "Используется в сценах", - "script": "Используется в сценариях" + "script": "Используется в скриптах" }, "relative_time": { "duration": { @@ -801,6 +1013,9 @@ "person": { "create_zone": "Создать зону из текущего местоположения" }, + "remote": { + "activity": "Текущая активность" + }, "restored": { "confirm_remove_text": "Вы уверены, что хотите удалить этот объект?", "confirm_remove_title": "Удалить объект?", @@ -871,7 +1086,7 @@ "navigate_to": "Открыть \"{panel}\"", "person": "Люди", "scene": "Сцены", - "script": "Сценарии", + "script": "Скрипты", "server_control": "Сервер", "tag": "Метки", "users": "Пользователи", @@ -901,7 +1116,7 @@ "rest": "Перезагрузить объекты и службы уведомлений интеграции \"REST\"", "rpi_gpio": "Перезагрузить объекты интеграции \"Raspberry Pi GPIO\"", "scene": "Перезагрузить сцены", - "script": "Перезагрузить сценарии", + "script": "Перезагрузить скрипты", "smtp": "Перезагрузить службы уведомлений SMTP", "statistics": "Перезагрузить объекты интеграции \"Statistics\"", "telegram": "Перезагрузить службы уведомлений Telegram", @@ -1477,7 +1692,7 @@ "target_browser": "Браузер" }, "female": "Женский", - "info": "Добавьте индивидуальности Вашему дому, воспользовавшись нашей услугой по преобразованию текста в речь. Используйте её в автоматизациях и сценариях с помощью службы {service}.", + "info": "Добавьте индивидуальности Вашему дому, воспользовавшись нашей услугой по преобразованию текста в речь. Используйте её в автоматизациях и скриптах с помощью службы {service}.", "male": "Мужской", "title": "Воспроизвести текст", "try": "Попробовать" @@ -1679,7 +1894,7 @@ "confirm_delete": "Вы уверены, что хотите удалить это устройство?", "confirm_disable_config_entry": "Для записи конфигурации {entry_name} больше нет устройств. Отключить вместо этого запись конфигурации?", "confirm_rename_entity_ids": "Хотите ли Вы также переименовать идентификаторы объектов?", - "confirm_rename_entity_ids_warning": "Переименование повлечёт за собой необходимость вручную обновлять изменённые данные в правилах автоматизации, сценариях, сценах и пользовательском интерфейсе.", + "confirm_rename_entity_ids_warning": "Переименование повлечёт за собой необходимость вручную обновлять изменённые данные в правилах автоматизации, скриптах, сценах и пользовательском интерфейсе.", "data_table": { "area": "Помещение", "battery": "Аккумулятор", @@ -1728,12 +1943,12 @@ }, "scenes": "Сцены", "script": { - "create": "Создать сценарий", - "create_disable": "Скрытые устройства нельзя использовать для создания сценариев", - "no_scripts": "Нет сценариев", - "scripts": "Сценарии" + "create": "Создать скрипт с устройсвтом", + "create_disable": "Скрытые устройства нельзя использовать для создания скриптов", + "no_scripts": "Нет скриптов", + "scripts": "Скрипты" }, - "scripts": "Сценарии", + "scripts": "Скрипты", "unknown_error": "Неизвестная ошибка.", "unnamed_device": "Устройство без названия", "update": "Обновить" @@ -2246,27 +2461,27 @@ } }, "script": { - "caption": "Сценарии", - "description": "Управление сценариями", + "caption": "Скрипты", + "description": "Управление скриптами", "editor": { "alias": "Название", - "default_name": "Новый сценарий", - "delete_confirm": "Вы уверены, что хотите удалить этот сценарий?", - "delete_script": "Удалить сценарий", - "header": "Сценарий: {name}", + "default_name": "Новый скрипт", + "delete_confirm": "Вы уверены, что хотите удалить этот скрипт?", + "delete_script": "Удалить скрипт", + "header": "Скрипт: {name}", "icon": "Значок", "id": "ID объекта", "id_already_exists": "Этот ID уже существует", "id_already_exists_save_error": "ID объекта не уникален, укажите другой ID или оставьте поле пустым, чтобы автоматически сгенерировать его.", - "introduction": "Используйте сценарии для запуска последовательности действий.", + "introduction": "Используйте скрипты для запуска последовательности действий.", "link_available_actions": "Узнайте больше о действиях", - "load_error_not_editable": "Доступны для редактирования только сценарии из scripts.yaml.", + "load_error_not_editable": "Доступны для редактирования только скрипты из scripts.yaml.", "max": { "parallel": "Максимальное количество параллельных запусков", "queued": "Длина очереди" }, "modes": { - "description": "Режим управляет тем, что происходит при выполнении сценария, когда он всё ещё выполняются с предыдущего вызова. Ознакомьтесь с {documentation_link} для получения дополнительной информации.", + "description": "Режим управляет тем, что происходит при выполнении скрипта, когда он всё ещё выполняются с предыдущего вызова. Ознакомьтесь с {documentation_link} для получения дополнительной информации.", "documentation": "инструкциями", "label": "Режим", "parallel": "Параллельный", @@ -2274,24 +2489,24 @@ "restart": "Рестарт", "single": "Одиночный (по умолчанию)" }, - "save_script": "Сохранить сценарий", + "save_script": "Сохранить скрипт", "sequence": "Последовательность", - "sequence_sentence": "Последовательность действий этого сценария." + "sequence_sentence": "Последовательность действий этого скрипта." }, "picker": { - "add_script": "Добавить сценарий", + "add_script": "Добавить скрипт", "duplicate": "Дублировать", "duplicate_script": "Дублировать", - "edit_script": "Редактировать сценарий", - "header": "Редактор сценариев", + "edit_script": "Редактировать скрипт", + "header": "Редактор скриптов", "headers": { "name": "Название" }, - "introduction": "Этот редактор позволяет создавать и редактировать сценарии.\nПожалуйста, ознакомьтесь с инструкциями по указанной ниже ссылке и убедитесь, что правильно настроили Home Assistant.", - "learn_more": "Узнайте больше о сценариях", - "no_scripts": "Редактируемые сценарии не найдены", - "run_script": "Запустить сценарий", - "show_info": "Показать информацию о сценарии" + "introduction": "Этот редактор позволяет создавать и редактировать скрипты.\nПожалуйста, ознакомьтесь с инструкциями по указанной ниже ссылке и убедитесь, что правильно настроили Home Assistant.", + "learn_more": "Узнайте больше о скриптах", + "no_scripts": "Редактируемые скрипты не найдены", + "run_script": "Запустить скрипт", + "show_info": "Показать информацию о скрипте" } }, "server_control": { @@ -2324,7 +2539,7 @@ "rest": "Перезагрузить объекты и службы уведомлений интеграции \"REST\"", "rpi_gpio": "Перезагрузить объекты интеграции \"Raspberry Pi GPIO\"", "scene": "Перезагрузить сцены", - "script": "Перезагрузить сценарии", + "script": "Перезагрузить скрипты", "smtp": "Перезагрузить службы уведомлений SMTP", "statistics": "Перезагрузить объекты интеграции \"Statistics\"", "telegram": "Перезагрузить службы уведомлений Telegram", diff --git a/translations/frontend/sk.json b/translations/frontend/sk.json index f78fc5d393..b98c8ca01a 100644 --- a/translations/frontend/sk.json +++ b/translations/frontend/sk.json @@ -95,6 +95,356 @@ "unknown": "Neznámy" } }, + "supervisor": { + "addon": { + "configuration": { + "audio": { + "default": "Predvolený", + "header": "Audio", + "input": "Vstup", + "output": "Výstup" + }, + "network": { + "container": "Kontajner", + "disabled": "Vypnuté", + "header": "Sieť", + "host": "hostiteľ" + }, + "no_configuration": "Tento doplnok nemá konfiguráciu, ktorú môžete upraviť...", + "options": { + "edit_in_ui": "Upraviť v UI", + "edit_in_yaml": "Upraviť v YAML", + "header": "Možnosti", + "invalid_yaml": "Neplatný YAML", + "show_unused_optional": "Zobraziť nepoužité voliteľné možnosti konfigurácie" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "Nepodarilo sa získať zoznam zmien doplnku", + "go_to_config": "Spustenie doplnku zlyhalo - overenie konfigurácie zlyhalo!", + "install": "Inštalácia doplnku zlyhala", + "restart": "Reštartovanie doplnku zlyhalo", + "start": "Spustenie doplnku zlyhalo", + "start_invalid_config": "Prejsť na konfiguráciu", + "stop": "Zastavenie doplnku zlyhalo", + "uninstall": "Odinštalácia doplnku zlyhala", + "validate_config": "Nepodarilo sa overiť konfiguráciu doplnku" + }, + "capability": { + "apparmor": { + "title": "AppArmor" + }, + "auth_api": { + "description": "Doplnok môže používateľov autentifikovať pomocou aplikácie Home Assistant, ktorá doplnkom umožňuje používateľom prihlásiť sa do aplikácií bežiacich v doplnkoch pomocou používateľského mena a hesla Home Assistant. Tento odznak označuje, či autor doplnku požaduje túto funkciu.", + "title": "Home assistant Overenie" + }, + "docker_api": { + "title": "Plný prístup Dockera" + }, + "ingress": { + "description": "Tento doplnok používa vniknutie na bezpečné vloženie svojho rozhrania do Home Assistant.", + "title": "vniknutie" + }, + "label": { + "apparmor": "apparmor", + "auth": "auth", + "docker": "docker", + "hardware": "hardvér", + "hass": "hass", + "hassio": "hassio", + "host": "hostiteľ", + "host_pid": "pid hostiteľa", + "ingress": "vniknutie", + "rating": "hodnotenie" + }, + "role": { + "admin": "admin", + "backup": "záloha", + "default": "predvolené", + "homeassistant": "homeassistant", + "manager": "správca" + } + }, + "changelog": "Zoznam zmien", + "cpu_usage": "Využitie CPU doplnkom", + "hostname": "Meno hostiteľa", + "install": "nainštalovať", + "new_update_available": "{name} {version} je dostupná", + "not_available_arch": "Tento doplnok nie je kompatibilný s procesorom vášho zariadenia alebo operačným systémom, ktorý máte nainštalovaný na svojom zariadení.", + "not_available_version": "Používate službu Home Assistant {core_version_installed} , na aktualizáciu na túto verziu doplnku potrebujete minimálne verziu {core_version_needed} aplikácie Home Assistant", + "open_web_ui": "Otvoriť web UI", + "option": { + "auto_update": { + "description": "Automaticky aktualizovať doplnok, keď je k dispozícii nová verzia", + "title": "Automatická aktualizácia" + }, + "boot": { + "description": "Spustenie doplnku spolu so systémom", + "title": "Spustiť pri štarte systému" + }, + "ingress_panel": { + "description": "Pridajte tento doplnok na svoj bočný panel", + "title": "Zobraziť v bočnom paneli" + }, + "protected": { + "title": "Chránený režim" + }, + "watchdog": { + "description": "Toto spustí doplnok ak zlyhá", + "title": "Watchdog" + } + }, + "protection_mode": { + "title": "Varovanie: Chraný režim vypnutý!" + }, + "ram_usage": "Využitie RAM doplnkom", + "rebuild": "Prestavať", + "restart": "reštartovať", + "start": "Spustiť", + "stop": "zastaviť", + "uninstall": "odinštalovať", + "visit_addon_page": "Ďalšie podrobnosti nájdete na stránke {name}" + }, + "documentation": { + "get_documentation": "Nepodarilo sa získať dokumentáciu k doplnku, {error}" + }, + "failed_to_reset": "Obnovenie konfigurácie doplnku zlyhalo, {error}", + "failed_to_save": "Uloženie konfigurácie doplnku zlyhalo, {error}", + "logs": { + "get_logs": "Nepodarili sa získať protokoly doplnku, {error}" + }, + "panel": { + "configuration": "Konfigurácia", + "documentation": "Dokumentácia", + "info": "Info", + "log": "Log" + }, + "state": { + "installed": "Doplnok je nainštalovaný", + "not_available": "Doplnok nie je pre váš systém k dispozícii", + "not_installed": "Doplnok nie je nainštalovaný" + } + }, + "common": { + "cancel": "Zrušiť", + "description": "Popis", + "error": { + "unknown": "Neznáma chyba", + "update_failed": "Aktualizácia zlyhala" + }, + "failed_to_restart_name": "Reštartovanie aplikácie {name} zlyhalo", + "failed_to_update_name": "Aktualizácia {name} zlyhala", + "learn_more": "Zistiť viac", + "new_version_available": "K dispozícii je nová verzia", + "newest_version": "Najnovšia verzia", + "no": "Nie", + "refresh": "Obnoviť", + "release_notes": "Poznámky k vydaniu", + "reload": "Znova načítať", + "reset_defaults": "Obnoviť predvolené nastavenia", + "reset_options": "Obnoviť nastavenia", + "restart": "Reštartovať", + "restart_name": "Reštartovať {name}", + "running_version": "Momentálne používate verziu {version}", + "save": "Uložiť", + "show_more": "Zobraziť viac informácií o tomto", + "update": "Aktualizovať", + "version": "Verzia", + "yes": "Áno" + }, + "confirm": { + "reset_options": { + "text": "Naozaj chcete resetovať všetky svoje nastavenia?", + "title": "Obnoviť nastavenia" + }, + "restart": { + "text": "Naozaj chcete reštartovať {name} ?", + "title": "Reštartovať {name}" + }, + "update": { + "text": "Naozaj chcete aktualizovať {name} na verziu {version} ?", + "title": "Aktualizovať {name}" + } + }, + "dashboard": { + "addon_new_version": "K dispozícii je nová verzia", + "addon_running": "Doplnok je spustený", + "addon_stopped": "Doplnok je zastavený", + "addons": "Doplnky", + "no_addons": "Zatiaľ nemáte nainštalované žiadne doplnky. Choďte do obchodu s doplnkami, aby ste mohli začať!" + }, + "dialog": { + "network": { + "connected_to": "Pripojiť na {ssid}", + "dhcp": "DHCP", + "disabled": "Vypnuté", + "dns_servers": "DNS Servery", + "failed_to_change": "Nepodarilo sa zmeniť sieťové nastavenia", + "gateway": "Adresa brány", + "ip_netmask": "IP adresa/maska", + "open": "Otvorené", + "scan_ap": "Skenovať prístupové body", + "static": "Statické", + "title": "Sieťové nastavenia", + "unsaved": "Máte neuložené zmeny, tieto zmeny sa stratia, chcete pokračovať?", + "warning": "Ak zmeníte nastavenie Wi-Fi, adresy IP alebo bránu, stratíte pripojenie!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Pridať nový register", + "add_registry": "Pridať register", + "failed_to_add": "Nepodarilo sa pridať register", + "failed_to_remove": "Nepodarilo sa vytvoriť register", + "no_registries": "Žiadne nakonfigurované registre", + "password": "Heslo", + "registry": "Register", + "remove": "Odstrániť", + "title_add": "Pridať nový kontajnerový register", + "title_manage": "Spravovať kontajnerové registre", + "username": "Užívateľské meno" + }, + "repositories": { + "add": "Pridať", + "remove": "Odstrániť", + "title": "Spravovať repozitáre doplnkov" + }, + "restart_addon": { + "confirm_text": "Reštartovať doplnok", + "text": "Skutočne chcete reštartovať doplnok so zmenami?" + }, + "update": { + "create_snapshot": "Vytváranie zálohy {name} pred aktualizáciou", + "snapshot": "Záloha", + "snapshotting": "Vytváranie zálohy {name}", + "updating": "Aktualizácia {name} na verziu {version}" + } + }, + "my": { + "error": "Vyskytla sa neznáma chyba", + "error_addon_not_found": "Doplnok sa nenašiel", + "faq_link": "Najčastejšie otázky a odpovede o Home Assistant", + "not_supported": "Vaša inštancia Home Assistant toto presmerovanie nepodporuje. Na stránke {link} nájdete podporované presmerovania a verziu." + }, + "panel": { + "dashboard": "Dashboard", + "snapshots": "Zálohy", + "store": "Obchod s doplnkami", + "system": "Systém" + }, + "snapshot": { + "addons": "Doplnky", + "available_snapshots": "Dostupné zálohy", + "could_not_create": "Nepodarilo sa vytvoriť zálohu", + "create": "Vytvoriť", + "create_blocked_not_running": "Nieje možné vytvoriť zálohu pretože systém je v stave {state}", + "create_snapshot": "Vytvoriť zálohu", + "description": "Snapshoty ti umožňujú ľahko zálohovať a obnoviť všetky dáta Home Assistant", + "enter_password": "Prosím napíšte heslo.", + "folder": { + "addons/local": "Lokálne doplnky", + "homeassistant": "konfigurácia Home Asistenta", + "media": "Médiá", + "share": "Zdieľať", + "ssl": "SSL" + }, + "folders": "Priečinky", + "full_snapshot": "Úplná záloha", + "name": "Meno", + "no_snapshots": "Nemáte žiadne zálohy", + "partial_snapshot": "Čiastočná záloha", + "password": "Heslo", + "password_protected": "chránené heslo", + "password_protection": "Ochrana Heslom", + "security": "Zabezpečenie", + "type": "Typ", + "upload_snapshot": "Nahrať zálohu" + }, + "store": { + "missing_addons": "Chýbajú doplnky? Povoľte rozšírený režim na stránke profilu.", + "no_results_found": "V {repozitári} sa nenašli žiadne výsledky.", + "registries": "Registre", + "repositories": "Repozitáre" + }, + "system": { + "core": { + "cpu_usage": "Využitie jadra CPU", + "ram_usage": "Využitie jadra RAM" + }, + "host": { + "change": "Zmeniť", + "change_hostname": "Zmeniť meno hostiteľa", + "confirm_reboot": "Naozaj chcete reštartovať hostiteľa?", + "confirm_shutdown": "Naozaj chcete vypnúť hostiteľa?", + "deployment": "Nasadenie", + "docker_version": "Verzia Dockera", + "failed_to_get_hardware_list": "Nepodarilo sa získať zoznam hardvéru", + "failed_to_import_from_usb": "Nepodarilo sa importovať z USB", + "failed_to_reboot": "Nepodarilo sa reštartovať hostiteľa", + "failed_to_set_hostname": "Nastavenie mena hostiteľa zlyhalo", + "failed_to_shutdown": "Nepodarilo sa vypnúť hostiteľa", + "hardware": "Hardvér", + "hostname": "Meno hostiteľa", + "import_from_usb": "Importovať z USB", + "ip_address": "IP adresa", + "new_hostname": "Prosím napíšte nové meno hostiteľa", + "operating_system": "Operačný systém", + "reboot_host": "Reštartovať hostiteľa", + "shutdown_host": "Vypnúť hostiteľa", + "used_space": "Použité miesto" + }, + "log": { + "get_logs": "Nepodarilo sa získať protokoly {provider}, {error}", + "log_provider": "Protokol poskytovateľa" + }, + "supervisor": { + "beta_backup": "Pred aktiváciou tejto funkcie si nezabudnite zálohovať svoje dáta.", + "beta_join_confirm": "Chcete sa pripojiť k beta programu?", + "beta_release_items": "Zahŕňa to verzie beta pre:", + "beta_warning": "Verzie Beta sú určené pre testerov a môžu obsahovať nestabilné zmeny kódu", + "channel": "Kanál", + "cpu_usage": "Využitie CPU supervízorom", + "failed_to_reload": "Nepodarilo sa znova načítať Supervízora", + "failed_to_set_option": "Nepodarilo sa nastaviť možnosť supervízora", + "failed_to_update": "Nepodarilo sa aktualizovať Supervízora", + "join_beta_action": "Pripojiť sa k beta programu?", + "join_beta_description": "Získanie beta aktualizácií pre Home Assistant (RCs), Supervízora a hostiteľa", + "leave_beta_action": "Opustiť program beta", + "leave_beta_description": "Získajte aktualizácie stabilnej verzie pre Home Assistant, supervízora a hostiteľa", + "ram_usage": "Využitie RAM supervízorom", + "reload_supervisor": "Znova načítať supervízora", + "share_diagnostics": "Zdieľajte diagnostiku", + "share_diagnostics_description": "Zdieľajte správy o zlyhaní a diagnostické informácie.", + "share_diagonstics_description": "Chceli by ste automaticky zdieľať správy o zlyhaní a diagnostické informácie, keď sa Supervízor stretne s neočakávanými chybami? {line_break} Umožní nám to vyriešiť problémy, informácie sú prístupné iba tímu Home Assistant Core a nebudú sa zdieľať s ostatnými. {line_break} Údaje neobsahujú žiadne súkromné ani citlivé informácie, ktoré môžete kedykoľvek deaktivovať v nastaveniach.", + "share_diagonstics_title": "Pomôžte vylepšiť Home Assistant", + "unhealthy_description": "Spustenie nezdravej inštalácie spôsobí problémy. Nižšie je uvedený zoznam problémov zistených pri inštalácii. Kliknutím na odkazy sa dozviete, ako ich vyriešiť.", + "unhealthy_reason": { + "docker": "Prostredie Docker nefunguje správne", + "privileged": "Supervízor nie je privilegovaný", + "setup": "Nastavenie supervízora zlyhalo", + "supervisor": "Supervízor sa nemohol aktualizovať" + }, + "unhealthy_title": "Vaša inštalácia nieje bezpečná", + "unsupported_description": "Nižšie je uvedený zoznam problémov zistených pri inštalácii. Kliknutím na odkazy sa dozviete, ako ich vyriešiť.", + "unsupported_reason": { + "container": "Kontajnery, o ktorých je známe, že spôsobujú problémy", + "dbus": "DBUS", + "docker_configuration": "Konfigurácia Dockera", + "docker_version": "Verzia Dockera", + "job_conditions": "Ignorované pracovné podmienky", + "lxc": "LXC", + "network_manager": "Správca siete", + "os": "Operačný systém", + "privileged": "Supervízor nie je privilegovaný", + "systemd": "Systemd" + }, + "unsupported_title": "Používate nepodporovanú inštaláciu", + "update_supervisor": "Aktualizovať supervízora", + "warning": "VAROVANIE" + } + } + }, "ui": { "auth_store": { "ask": "Chcete tieto prihlasovacie údaje uložiť?", @@ -151,6 +501,7 @@ "direction": "Smer", "forward": "Dopredu", "oscillate": "Pohyblivý smer", + "preset_mode": "Prednastavený Režim", "reverse": "Reverzný", "speed": "Rýchlosť" }, @@ -181,7 +532,8 @@ "activate": "Aktivovať" }, "script": { - "cancel": "Zrušiť" + "cancel": "Zrušiť", + "run": "Spustiť" }, "service": { "run": "Spustiť" @@ -261,6 +613,19 @@ "yes": "Áno" }, "components": { + "addon-picker": { + "addon": "Doplnok", + "error": { + "fetch_addons": { + "description": "Doplnky sa nenačítali kvôli chybe.", + "title": "Chyba pri načítaní doplnkov" + }, + "no_supervisor": { + "description": "Nenašiel sa žiadny supervízor, takže doplnky sa nepodarilo načítať.", + "title": "Žiadny supervízor" + } + } + }, "area-picker": { "add_dialog": { "add": "Pridať", @@ -321,6 +686,8 @@ "messages": { "became_unavailable": "sa stal nedostupným", "changed_to_state": "zmenené na {state}", + "is_closing": "sa zatvára", + "is_opening": "sa otvára", "turned_off": "vypnuté", "turned_on": "zapnuté", "was_at_home": "bol doma", @@ -414,7 +781,10 @@ } }, "service-control": { - "service_data": "Dáta služby" + "required": "Toto pole je povinné", + "service_data": "Dáta služby", + "target": "Ciele", + "target_description": "Čo by mala táto služba používať ako cieľové oblasti, zariadenia alebo entity." }, "service-picker": { "service": "Služba" @@ -437,6 +807,8 @@ "dismiss": "Zrušiť", "editor": { "advanced": "Rozšírené nastavenia", + "area": "Nastaviť iba oblasť entity", + "area_note": "Predvolene sú entity zariadenia v rovnakej oblasti ako zariadenie. Ak zmeníte oblasť tejto entity, nebude už sledovať oblasť zariadenia.", "change_device_area": "Zmeniť oblasť zariadenia", "confirm_delete": "Naozaj chcete odstrániť túto entitu?", "delete": "VYMAZAŤ", @@ -444,6 +816,7 @@ "enabled_description": "Zakázané entity nebudú pridané do Home Assistanta", "enabled_label": "Povoliť entitu", "entity_id": "Entity ID", + "follow_device_area": "Sledovať oblasť zariadenia", "icon": "Ikona", "icon_error": "Ikony by mali byť vo formáte 'prefix:iconname', napr 'mdi:home'", "name": "Názov", @@ -452,6 +825,7 @@ "update": "AKTUALIZOVAŤ" }, "faq": "dokumentácia", + "info_customize": "Niektoré atribúty môžete prepísať v sekcii {customize_link}.", "no_unique_id": "Táto entita (\"{entity_id}\") nemá jedinečné ID, preto jej nastavenia nie je možné spravovať z používateľského rozhrania. Viac podrobností nájdete na {faq_link}.", "related": "Súvisiace", "settings": "Nastavenia" @@ -512,6 +886,9 @@ "person": { "create_zone": "Vytvoriť zónu z aktuálnej polohy" }, + "remote": { + "activity": "Aktuálne entity" + }, "restored": { "confirm_remove_text": "Naozaj chcete odstrániť túto entitu?", "confirm_remove_title": "Odstrániť entitu?", @@ -566,7 +943,8 @@ "commands": { "navigation": { "areas": "Oblasti", - "logs": "Logy" + "logs": "Logy", + "tag": "Značky" }, "reload": { "automation": "Znova načítať automatizácie", @@ -594,6 +972,7 @@ "add": "Pridanie zariadení cez toto zariadenie", "reconfigure": "Prekonfigurovať zariadenie", "remove": "Odstrániť zariadenie", + "view_in_visualization": "Zobraziť vo vizualizácii", "zigbee_information": "Informácie o Zigbee" }, "confirmations": { @@ -630,6 +1009,7 @@ "editor_not_supported": "Vizuálny editor nie je pre túto konfiguráciu podporovaný", "error_detected": "Zistili sa chyby v konfigurácii", "key_missing": "Chýba požadovaný kľúč \"{key}\".", + "key_not_expected": "Kľúč \"{key}\" sa neočakáva alebo ho vizuálny editor nepodporuje.", "key_wrong_type": "Vizuálny editor nepodporuje zadanú hodnotu pre \"{key}\". Podporujeme ({type_correct}), ale dostali sme ({type_wrong}).", "no_type_provided": "Nie je uvedený žiadny typ." } @@ -717,7 +1097,8 @@ "device_id": { "action": "Akcia", "extra_fields": { - "code": "Kód" + "code": "Kód", + "position": "pozícia" }, "label": "Zariadenie" }, @@ -1028,7 +1409,7 @@ "thank_you_note": "Ďakujeme, že ste sa stali súčasťou Home Assistant Cloudu. Vďaka ľuďom, ako ste vy, sme schopní urobiť skvelý zážitok z automatizácie domácnosti pre každého. Ďakujeme!", "tts": { "dialog": { - "example_message": "Dobrý deň, {name} , môžete prehrávať ľubovoľný text v ľubovoľnom podporovanom prehrávači médií!", + "example_message": "Dobrý deň, {name}, môžete prehrávať ľubovoľný text v ľubovoľnom podporovanom prehrávači médií!", "header": "Vyskúšať prevod textu na reč", "play": "Prehrať", "target": "Cieľ", @@ -1209,6 +1590,7 @@ "cant_edit": "Môžete upravovať iba položky, ktoré sú vytvorené v používateľskom rozhraní.", "caption": "Zariadenia", "confirm_delete": "Naozaj chcete odstrániť toto zariadenie?", + "confirm_disable_config_entry": "Pre položku konfigurácie {entry_name} už neexistujú žiadne zariadenia, chcete namiesto toho vypnúť položku konfigurácie?", "confirm_rename_entity_ids": "Chcete tiež premenovať ID entít svojich entít?", "confirm_rename_entity_ids_warning": "To nezmení žiadnu konfiguráciu (napríklad automatizácie, skripty, scény, dashboardy), ktorá momentálne používa tieto entity! Aby ste mohli používať nové ID entít, budete si ich musieť sami aktualizovať!", "data_table": { @@ -1241,12 +1623,14 @@ }, "scene": { "create": "Vytvorte scénu pomocou zariadenia", + "create_disable": "Nie je možné vytvoriť scénu s vypnutým zariadením", "no_scenes": "Žiadne scény", "scenes": "Scény" }, "scenes": "Scény", "script": { "create": "Vytvorte skript pomocou zariadenia", + "create_disable": "Nie je možné vytvoriť script s vypnutým zariadením", "no_scripts": "Žiadne skripty", "scripts": "Skripty" }, @@ -1301,7 +1685,8 @@ }, "filtering": { "clear": "Vyčistiť", - "filtering_by": "Filtrovanie podľa" + "filtering_by": "Filtrovanie podľa", + "show": "Zobraziť" }, "header": "Konfigurovať Home Assistant", "helpers": { @@ -1358,7 +1743,19 @@ "delete": "Odstrániť", "delete_confirm": "Naozaj chcete odstrániť túto integráciu?", "device_unavailable": "Zariadenie nie je k dispozícii", + "disable_restart_confirm": "Reštartujte asistenta domácnosti a dokončite deaktiváciu tejto integrácie", + "disable": { + "disable_confirm": "Naozaj chcete vypnúť túto položku konfigurácie? Jeho zariadenia a entity budú vypnuté.", + "disabled": "Vypnuté", + "disabled_by": { + "device": "zariadenie", + "integration": "integrácia", + "user": "používateľ" + }, + "disabled_cause": "Vypnuté {cause}" + }, "documentation": "Dokumentácia", + "enable_restart_confirm": "Reštartujte Home Assistant a dokončite povolenie tejto integrácie", "entity_unavailable": "Entita nie je k dispozícii", "firmware": "Firmvér: {version}", "hub": "Pripojené cez", @@ -1374,6 +1771,7 @@ "config_flow": { "aborted": "Prerušené", "close": "Zavrieť", + "could_not_load": "Nepodarilo sa načítať konfiguračný tok", "created_config": "Vytvorená konfigurácia pre {name}.", "dismiss": "Zrušiť dialógové okno", "error": "Chyba", @@ -1385,6 +1783,10 @@ "finish": "Dokončiť", "loading_first_time": "Počkajte, kým sa nainštaluje integrácia", "not_all_required_fields": "Nie sú vyplnené všetky povinné polia.", + "pick_flow_step": { + "new_flow": "Nie, nastaviť inú inštanciu {integration}", + "title": "Objavili sme ich, chcete ich nastaviť?" + }, "submit": "Odoslať" }, "configure": "Konfigurovať", @@ -1392,6 +1794,11 @@ "confirm_new": "Chcete nastaviť {integration}?", "description": "Spravujte integrácie so službami, zariadeniami, ...", "details": "Podrobnosti o integrácii", + "disable": { + "disabled_integrations": "{number} deaktivované", + "hide_disabled": "Skryť vypnuté integrácie", + "show_disabled": "Zobraziť vypnuté integrácie" + }, "discovered": "Objavené", "home_assistant_website": "Home Assistant webová stránka", "ignore": { @@ -1871,6 +2278,9 @@ }, "network": { "caption": "Sieť" + }, + "visualization": { + "refresh_topology": "Obnoviť topológiu" } }, "zone": { @@ -1903,8 +2313,28 @@ "no_zones_created_yet": "Zdá sa, že ste ešte nevytvorili žiadne zóny." }, "zwave_js": { + "add_node": { + "inclusion_failed": "Uzol sa nepodarilo pridať. Ďalšie informácie nájdete v denníkoch.", + "inclusion_finished": "Uzol bol pridaný. Môže trvať niekoľko minút, kým sa všetky entity zobrazia, keď dokončíme nastavenie uzla na pozadí.", + "view_device": "Zobraziť zariadenie" + }, "dashboard": { - "dump_not_ready_confirm": "Stiahnuť" + "dump_dead_nodes_text": "Niektoré z vašich uzlov neodpovedali a predpokladá sa, že sú mŕtve. Tieto sa nebudú úplne exportovať.", + "dump_dead_nodes_title": "Niektoré z vašich uzlov sú mŕtve", + "dump_debug": "Stiahnutie výpisu siete na diagnostiku problémov", + "dump_not_ready_confirm": "Stiahnuť", + "dump_not_ready_text": "Ak vytvoríte export, hoci nie všetky uzly sú pripravené, mohli by ste prísť o potrebné údaje. Poskytnite svojej sieti čas na dopytovanie všetkých uzlov. Chcete pokračovať s výpisom?", + "dump_not_ready_title": "Nie všetky uzly sú pripravené", + "nodes_ready": "Uzly pripravené" + }, + "remove_node": { + "cancel_exclusion": "Zrušiť vylúčenie", + "controller_in_exclusion_mode": "Váš Z-Wave kontrolér je teraz v režime vylúčenia.", + "exclusion_failed": "Uzol sa nepodarilo odstrániť. Ďalšie informácie nájdete v denníkoch.", + "exclusion_finished": "Uzol {id} bol odstránený z vašej siete Z-Wave.", + "introduction": "Odstráňte uzol zo Z-Wave siete, priradené zariadenie a entity z Home Assistanta.", + "start_exclusion": "Spustiť vylúčenie", + "title": "Odstráňte uzol Z-Wave" } }, "zwave": { @@ -1918,6 +2348,12 @@ }, "description": "Spravujte svoju Z-Wave sieť", "learn_more": "Viac informácií o Z-Wave", + "migration": { + "ozw": { + "header": "Prejdite na OpenZWave", + "introduction": "Tento sprievodca vám pomôže prejsť zo staršej integrácie Z-Wave na integráciu OpenZWave, ktorá je momentálne v beta verzii." + } + }, "network_management": { "header": "Správa siete Z-Wave", "introduction": "Spúšťajte príkazy, ktoré ovplyvňujú sieť Z-Wave. Nebudete mať spätnú väzbu o tom, či väčšina príkazov bola úspešná, ale môžete skontrolovať protokol OZW a pokúsiť sa to zistiť." @@ -1987,16 +2423,22 @@ "type": "Typ udalosti" }, "services": { + "accepts_target": "Príklad použitia tejto služby: `entity_id: light.bed_light`", + "all_parameters": "Všetky dostupné parametre", "call_service": "Zavolať službu", "column_description": "Popis", "column_example": "Príklad", "column_parameter": "Parameter", "description": "Vývojársky nástroj vám umožňuje zavolať akúkoľvek dostupnú službu v Home Assistant.", "fill_example_data": "Vyplniť vzorové údaje", - "title": "Služby" + "title": "Služby", + "ui_mode": "Prejdite do režimu používateľského rozhrania", + "yaml_mode": "Prejdite do režimu YAML", + "yaml_parameters": "Parametre dostupné len v móde YAML" }, "states": { "attributes": "Atribúty", + "copy_id": "Kopírovať ID do schránky", "current_entities": "Aktuálne entity", "description1": "Nastavte zobrazenie zariadenia v Home Assistant", "description2": "Toto nebude komunikovať so skutočným zariadením.", @@ -2049,7 +2491,12 @@ }, "cards": { "actions": { - "action_confirmation": "Naozaj chcete vykonať akciu \"{action}\"?" + "action_confirmation": "Naozaj chcete vykonať akciu \"{action}\"?", + "no_entity_more_info": "Pre ďalšie informačné dialógy nieje žiadna entita", + "no_entity_toggle": "Žiadna entita na prepínanie", + "no_navigation_path": "Žiadna navigačná cesta", + "no_service": "Žiadna služba na spustenie", + "no_url": "Žiadna adresa URL na otvorenie" }, "confirm_delete": "Naozaj chcete odstrániť túto kartu?", "empty_state": { @@ -2210,7 +2657,8 @@ "name": "Náhľad" }, "grid": { - "columns": "Stĺpce" + "columns": "Stĺpce", + "square": "Vykresliť karty ako štvorce" }, "history-graph": { "description": "Karta Graf histórie umožňuje zobraziť graf pre každú z uvedených entít.", @@ -2340,6 +2788,8 @@ }, "header": "Upraviť používateľské rozhranie", "menu": { + "manage_dashboards": "Spravujte dashboardy", + "manage_resources": "Spravujte prostriedky", "open": "Otvoriť Lovelace menu", "raw_editor": "Raw editor konfigurácie" }, @@ -2361,6 +2811,8 @@ "error_remove": "Konfiguráciu sa nepodarilo odstrániť: {error}", "error_save_yaml": "Nepodarilo sa uložiť YAML: {error}", "header": "Upraviť konfiguráciu", + "lovelace_changed": "Konfigurácia Lovelace bola aktualizovaná. Chcete načítať aktualizovanú konfiguráciu do editora a stratiť aktuálne zmeny?", + "reload": "Znova načítať", "resources_moved": "Prostriedky by už nemali byť pridané do konfigurácie Lovelace, ale môžu byť pridané v konfiguračnom paneli Lovelace.", "save": "Uložiť", "saved": "Uložené", @@ -2440,7 +2892,11 @@ }, "my": { "component_not_loaded": "Inštancia Home Assistant toto presmerovanie nepodporuje. Na použitie tohto presmerovania potrebujete integráciu {integration}.", - "error": "Vyskytla sa neznáma chyba" + "documentation": "dokumentácia", + "error": "Vyskytla sa neznáma chyba", + "faq_link": "Home Assistant otázky a odpovede", + "no_supervisor": "Vaša inštalácia Home Assistant nepodporuje toto presmerovanie. Potrebujete buď Home Assistant OS alebo Home Assistant Supervised. Ďalšie informácie nájdete v téme {docs_link}.", + "not_supported": "Toto presmerovanie nie je podporované inštanciou vášho Home Asistenta. Skontrolujte {link} pre podporované presmerovania a verziu." }, "page-authorize": { "abort_intro": "Prihlásenie bolo zrušené", @@ -2533,6 +2989,7 @@ "working": "Prosím čakajte" }, "initializing": "Inicializácia", + "logging_in_to_with": "Prihlasujete sa do **{locationName}** pomocou **{authProviderName}**.", "logging_in_with": "Prihlasovanie pomocou **{authProviderName}**.", "pick_auth_provider": "Alebo sa prihláste prostredníctvom" }, diff --git a/translations/frontend/sv.json b/translations/frontend/sv.json index a827794407..4d031345bf 100644 --- a/translations/frontend/sv.json +++ b/translations/frontend/sv.json @@ -102,6 +102,270 @@ "unknown": "Okänd" } }, + "supervisor": { + "addon": { + "configuration": { + "network": { + "container": "Behållare", + "disabled": "Inaktiverad", + "header": "Nätverk", + "host": "Värd" + }, + "options": { + "edit_in_ui": "Redigera i användargränssnittet", + "edit_in_yaml": "Redigera i YAML", + "invalid_yaml": "Ogiltig YAML" + } + }, + "dashboard": { + "action_error": { + "install": "Kunde inte installera tillägg", + "restart": "Kunde inte starta om tillägg", + "start": "Kunde inte starta tillägg", + "start_invalid_config": "Gå till inställningar", + "stop": "Kunde inte stoppa tillägg", + "uninstall": "Kunde inte avinstallera tillägg" + }, + "capability": { + "rating": { + "title": "Tilläggets säkerhetsrating" + }, + "role": { + "admin": "administratör", + "backup": "säkerhetskopia", + "default": "standard", + "homeassistant": "homeassistant", + "manager": "föreståndare" + } + }, + "cpu_usage": "Tillägg CPU-användning", + "hostname": "Värdnamn", + "install": "installera", + "new_update_available": "{name} {version} är tillgänglig", + "not_available_arch": "Detta tillägg är inte kompatibelt med processorn eller operativsystemet som du har installerat i din enhet.", + "open_web_ui": "Öppna webbgränssnitt", + "option": { + "auto_update": { + "description": "Uppdatera tillägget automatiskt när en ny version finns tillgänglig", + "title": "Uppdatera automatiskt" + }, + "boot": { + "description": "Starta tillägget under en systemstart", + "title": "Starta vid systemstart" + }, + "ingress_panel": { + "description": "Lägg till detta tillägg till ditt sidofält", + "title": "Visa i sidofältet" + }, + "protected": { + "title": "Skyddsläge" + }, + "watchdog": { + "description": "Detta kommer att starta tillägget om det kraschar", + "title": "Vakthund" + } + }, + "protection_mode": { + "enable": "Aktivera skyddsläge", + "title": "Varning: Skyddsläge är inaktiverat!" + }, + "ram_usage": "Tillägg RAM-användning", + "restart": "omstart", + "start": "starta", + "stop": "stoppa", + "uninstall": "avinstallera", + "visit_addon_page": "Besök sidan {name} för fler detaljer" + }, + "logs": { + "get_logs": "Kunde inte hämta loggar för tillägg {error}" + }, + "panel": { + "configuration": "Inställningar", + "documentation": "Dokumentation", + "info": "Info", + "log": "Logg" + } + }, + "common": { + "cancel": "Avbryt", + "close": "Stäng", + "error": { + "unknown": "Okänt fel", + "update_failed": "Uppdatering misslyckades" + }, + "failed_to_restart_name": "Kunde inte starta om {name}", + "failed_to_update_name": "Kunde inte uppdatera {name}", + "learn_more": "Läs mer", + "new_version_available": "Ny version tillgänglig", + "newest_version": "Nyaste version", + "refresh": "Uppdatera", + "reload": "Ladda om", + "reset_defaults": "Nollställ till standard", + "reset_options": "Nollställ alternativ", + "restart": "Starta om", + "restart_name": "Starta om {name}", + "running_version": "Du kör för närvarande version {version}", + "save": "Spara", + "show_more": "Visa mer information om detta", + "update": "Uppdatera", + "version": "Version" + }, + "confirm": { + "reset_options": { + "text": "Är du säker på att du vill nollställa alla alternativ?", + "title": "Nollställ alternativ" + }, + "restart": { + "text": "Är du säker på att du vill starta om {name}", + "title": "Starta om {name}" + }, + "update": { + "text": "Är du säker på att du vill uppdatera {name} till version {version}?", + "title": "Uppdatera {name}" + } + }, + "dialog": { + "network": { + "connected_to": "Ansluten till {ssid}", + "dhcp": "DHCP", + "disabled": "Inaktiverad", + "dns_servers": "DNS-servrar", + "failed_to_change": "Kunde inte ändra nätverksinställningar", + "gateway": "Gateway-adress", + "ip_netmask": "IP-adress/Nätmask", + "open": "Öppet", + "scan_ap": "Sök efter åtkomstpunkter", + "static": "Statisk", + "title": "Nätverksinställningar", + "unsaved": "Du har ändringar som inte sparats, dessa kommer gå förlorade om du byter tabbar, vill du fortsätta?", + "warning": "Om du ändrar Wi-Fi-, IP- eller gateway-adresserna kan du förlora anslutningen!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Lägg till nytt register", + "add_registry": "Lägg till register", + "failed_to_add": "Kunde inte lägga till register", + "failed_to_remove": "Kunde inte ta bort register", + "no_registries": "Inga register konfigurerade", + "password": "Lösenord", + "registry": "Register", + "remove": "Ta bort", + "username": "Användarnamn" + }, + "repositories": { + "add": "Lägg till", + "remove": "Ta bort", + "title": "Hantera resurser för tillägg" + }, + "restart_addon": { + "confirm_text": "Starta om tillägget", + "text": "Vill du starta om tillägget med dina ändringar?" + }, + "update": { + "create_snapshot": "Skapa en avbild av {name} innan uppdatering", + "snapshot": "Avbild", + "snapshotting": "Skapar avbild av {name}", + "updating": "Uppdaterar {name} till version {version}" + } + }, + "my": { + "error": "Ett okänt fel inträffade", + "error_addon_not_found": "Tillägget hittades inte", + "faq_link": "Min Home Assistant FAQ", + "not_supported": "Denna omdirigering stöds inte av din Home Assistant-instans. Kontroller {link} för vilka omdirigeringar som stöds och i vilken version de introducerades." + }, + "snapshot": { + "addons": "Tillägg", + "available_snapshots": "Tillgängliga Avbilder", + "could_not_create": "Kunde inte skapa avbild", + "create": "Skapa", + "create_blocked_not_running": "Det är inte möjligt att skapa en avbild just nu när systemet är i {state} läge.", + "create_snapshot": "Skapa avbild", + "description": "Avbilder gör det enkelt för dig att ta backup och återställa all data i din Home Assistant instans.", + "enter_password": "Vänligen ange ett lösenord.", + "folder": { + "addons/local": "Lokala tillägg", + "homeassistant": "Home Assistant inställningar", + "media": "Media", + "ssl": "SSL" + }, + "folders": "Mappar", + "full_snapshot": "Full avbild", + "name": "Namn", + "no_snapshots": "Du har inga avbilder ännu.", + "partial_snapshot": "Del av avbild", + "password": "Lösenord", + "password_protected": "lösenordskyddad", + "password_protection": "Lösenordsskydd", + "security": "Säkerhet", + "type": "Typ", + "upload_snapshot": "Ladda upp avbild" + }, + "system": { + "core": { + "cpu_usage": "Grundläggande CPU-användning", + "ram_usage": "Grundläggande RAM-användning" + }, + "host": { + "change": "Ändra", + "change_hostname": "Ändra värdnamn", + "confirm_reboot": "Är du säker på att du vill starta om värden?", + "confirm_shutdown": "Är du säker på att du vill stänga ner värden?", + "docker_version": "Dockerversion", + "failed_to_get_hardware_list": "Kunde inte hämta hårdvarulistan", + "failed_to_import_from_usb": "Kunde inte importera från USB", + "failed_to_reboot": "Kunde inte starta om värden", + "failed_to_set_hostname": "Kunde inte sätta värdnamn", + "failed_to_shutdown": "Kunde inte stänga ner värden", + "hardware": "Hårdvara", + "hostname": "Värdnamn", + "import_from_usb": "Importera från USB", + "ip_address": "IP-adress", + "new_hostname": "Vänligen skriv in ett nytt värdnamn", + "operating_system": "Operativsystem", + "reboot_host": "Starta om värd", + "shutdown_host": "Stäng ner värd", + "used_space": "Använt utrymme" + }, + "log": { + "get_logs": "Kunde inte hämta {provider} loggar, {error}", + "log_provider": "Loggleverantör" + }, + "supervisor": { + "beta_backup": "Se till att du har säkerhetskopior av dina data innan du aktiverar den här funktionen.", + "beta_join_confirm": "Vill du gå med i betakanalen?", + "beta_release_items": "Detta inkluderar betaversioner för:", + "beta_warning": "Betaversioner är för testare och de som vill vara först med nya funktioner men kan innehålla instabila kodändringar", + "channel": "Kanal", + "cpu_usage": "Supervisor CPU-användning", + "failed_to_reload": "Kunde inte ladda om Supervisor", + "failed_to_update": "Kunde inte uppdatera Supervisor", + "join_beta_action": "Gå med i betakanalen", + "join_beta_description": "Få betauppdateringar för Home Assistant (RCs), Supervisor och värd", + "leave_beta_action": "Lämna betakanalen", + "leave_beta_description": "Få stabila uppdateringar för Home Assistant, Supervisor och värd", + "ram_usage": "Supervisor RAM-användning", + "reload_supervisor": "Ladda om Supervisor", + "share_diagnostics": "Dela diagnostik", + "share_diagnostics_description": "Dela kraschrapporter och diagnostisk information.", + "share_diagonstics_title": "Hjälp till att förbättra Home Assistant", + "unhealthy_description": "Att köra en ohälsosam installation kan orsaka problem. Nedan är en lista med problem som hittats med din installation, klicka på länkarna för att lära dig hur du kan lösa problemen.", + "unhealthy_reason": { + "docker": "Docker-miljön fungerar inte korrekt" + }, + "unhealthy_title": "Din installation är ohälsosam", + "unsupported_description": "Nedan är en lista med problem som hittats med din installation, klicka på länkarna för att lära dig hur du kan lösa problemen.", + "unsupported_reason": { + "container": "Behållare känd för att orsaka problem", + "dbus": "DBUS" + }, + "unsupported_title": "Du kör en installation som inte stöds", + "update_supervisor": "Uppdatera Supervisor", + "warning": "VARNING" + } + } + }, "ui": { "auth_store": { "ask": "Vill du fortsätta vara inloggad?", @@ -200,7 +464,8 @@ }, "script": { "cancel": "Avbryt", - "cancel_multiple": "Avbryt {number}" + "cancel_multiple": "Avbryt {number}", + "run": "Kör" }, "service": { "run": "Kör" @@ -363,6 +628,8 @@ "changed_to_state": "ändrades till {state}", "cleared_device_class": "rensat (ingen {device_class} upptäckt)", "detected_device_class": "upptäckt {device_class}", + "is_closing": "stänger", + "is_opening": "öppnar", "rose": "gick upp", "set": "gick ned", "turned_off": "slogs av", @@ -604,6 +871,9 @@ "person": { "create_zone": "Skapa zon från aktuell plats" }, + "remote": { + "activity": "Nuvarande aktivitet" + }, "restored": { "confirm_remove_text": "Är du säker på att du vill ta bort den här entiteten?", "confirm_remove_title": "Ta bort entitet?", @@ -676,6 +946,7 @@ "scene": "Scener", "script": "Skript", "server_control": "Serverhantering", + "tag": "Taggar", "users": "Användare", "zone": "Zoner" }, @@ -1661,7 +1932,18 @@ "delete_confirm": "Är du säker på att du vill radera denna integration?", "device_unavailable": "Enhet otillgänglig", "devices": "{count} {count, plural,\n one {enhet}\n other {enheter}\n}", + "disable_restart_confirm": "Starta om Home Assistant för att slutföra inaktiveringen av denna integration", + "disable": { + "disabled": "Inaktiverad", + "disabled_by": { + "device": "enhet", + "integration": "integration", + "user": "användare" + }, + "disabled_cause": "Inaktiverad på grund av {cause}" + }, "documentation": "Dokumentation", + "enable_restart_confirm": "Starta om Home Assistant för att slutföra aktiveringen av denna integration", "entities": "{count} {count, plural,\n one {entitet}\n other {entiteter}\n}", "entity_unavailable": "Entitet otillgänglig", "firmware": "Firmware: {version}", @@ -1697,6 +1979,10 @@ "configured": "Konfigurerad", "description": "Hantera integrationer med tjänster, enheter, ...", "details": "Integrationsdetaljer", + "disable": { + "disabled_integrations": "{number} inaktiverad(e)", + "hide_disabled": "Dölj inaktiverade integrationer" + }, "discovered": "Upptäckt", "home_assistant_website": "Home Assistants hemsida", "ignore": { @@ -2517,6 +2803,7 @@ "states": { "alert_entity_field": "Enhet är ett obligatoriskt fält", "attributes": "Attribut", + "copy_id": "Kopiera ID till klippbordet", "current_entities": "Nuvarande enheter", "description1": "Ställ in representationen av en enhet i Home Assistant.", "description2": "Detta kommer inte att kommunicera med den faktiska enheten.", @@ -2956,6 +3243,8 @@ "error_remove": "Det går inte att ta bort konfigurationen: {error}", "error_save_yaml": "Det gick inte att spara YAML: {error}", "header": "Redigera konfiguration", + "lovelace_changed": "Lovelace-konfigurationen uppdaterades, vill du ladda den uppdaterade konfigurationen i redigeraren och förlora dina nuvarande ändringar?", + "reload": "Ladda om", "resources_moved": "Resurser ska inte längre läggas till i Lovelace konfiguration, utan ska läggas till i Lovelace konfigurationspanel.", "save": "Spara", "saved": "Sparad", @@ -3041,6 +3330,9 @@ "empty": "Du har inga meddelanden", "playback_title": "Meddelandeuppspelning" }, + "my": { + "not_supported": "Denna omdirigering stöds inte av din Home Assistant-instans. Kolla {link} för vilka omdirigeringar som stöds och i vilken version de introducerades." + }, "page-authorize": { "abort_intro": "Inloggning avbruten", "authorizing_client": "Du håller på att ge {clientId} behörighet till din Home Assistant.", diff --git a/translations/frontend/zh-Hans.json b/translations/frontend/zh-Hans.json index 3c85f21567..b1bb001a92 100644 --- a/translations/frontend/zh-Hans.json +++ b/translations/frontend/zh-Hans.json @@ -104,6 +104,26 @@ }, "supervisor": { "addon": { + "dashboard": { + "capability": { + "apparmor": { + "description": "Application Armor,简称 AppArmor,是一个 Linux 内核安全模块,其限制加载项的部分功能,如网络访问、原始套接字访问、读写或执行特定文件的权限。\n\n加载项可以提供针对其自身进行了优化的安全配置文件,或者要求禁用 AppArmor。一旦禁用,将增加安全风险,也会相应地降低加载项的安全评分。", + "title": "AppArmor" + }, + "auth_api": { + "description": "加载项可以通过 Home Assistant 验证用户身份,从而允许其用户通过 Home Assistant 的用户名和密码登录加载项内部的应用程序。此标识代表加载项是否请求此项功能。", + "title": "Home Assistant 身份认证" + }, + "host_pid": { + "description": "通常情况下,加载项进程与其他系统进程是隔离的。加载项已要求其有权访问在宿主系统上运行的系统进程,并且在宿主系统上生成进程。此模式为加载项提供了对整个 Home Assistant 系统的完全访问和控制权,这增加了安全风险,并且在使用不当时可能会损坏系统。因此,此功能会降低加载项的安全评分。 \n\n这种级别的访问权限不会自动授予,必须由您确认。为此,您需要手动禁用插件上的保护模式。请务必在了解、信任加载项来源并且确有需要时,才禁用保护模式。", + "title": "宿主进程命名空间" + } + }, + "protection_mode": { + "content": "此加载项的保护模式已禁用!这将使加载项具有对整个系统的完全访问权限,这增加了安全风险,并且在使用不当时可能会损坏系统。请务必在了解、信任加载项来源并且确有需要时,才禁用保护模式。", + "title": "警告:保护模式已禁用!" + } + }, "panel": { "configuration": "配置", "documentation": "文档", @@ -113,9 +133,13 @@ }, "common": { "cancel": "取消", + "close": "关闭", "newest_version": "最新版本", + "refresh": "刷新", "release_notes": "发行说明", + "save": "保存", "update": "更新", + "update_available": "正在等待 {count} 项更新", "version": "版本" }, "confirm": { @@ -131,11 +155,46 @@ "addons": "加载项", "no_addons": "您尚未安装任何加载项。去加载项商店看看吧!" }, + "dialog": { + "registries": { + "add_new_registry": "添加新注册信息", + "add_registry": "添加注册信息", + "failed_to_add": "添加注册信息失败", + "failed_to_remove": "删除注册信息失败", + "remove": "删除" + }, + "repositories": { + "add": "添加", + "remove": "删除", + "title": "管理加载项 Repo" + }, + "restart_addon": { + "confirm_text": "重启加载项", + "text": "您确定要重启已更改的加载项吗?" + }, + "update": { + "create_snapshot": "在更新前为 {name} 创建快照", + "snapshot": "快照", + "snapshotting": "正在为 {name} 创建快照", + "updating": "正在更新 {name} 至版本 {version}" + } + }, + "my": { + "error": "发生未知错误", + "error_addon_not_found": "未找到加载项", + "faq_link": "我的 Home Assistant 常见问题", + "not_supported": "您的 Home Assistant 不支持此重定向。请查阅{link}以获取受支持的重定向及其引入的版本。" + }, "panel": { "dashboard": "仪表盘", "snapshots": "快照", "store": "加载项商店", "system": "系统" + }, + "system": { + "supervisor": { + "share_diagonstics_description": "您想要在 Supervisor 遇到异常错误时,共享崩溃报告和诊断信息吗?{line_break}这将帮助我们解决问题,此信息仅限 Home Assistant Core 团队访问,不会共享给他人。{line_break}此信息不包含私密、敏感信息,您可以随时在设置中将其禁用。" + } } }, "ui": { @@ -662,6 +721,9 @@ "person": { "create_zone": "从当前位置创建地点" }, + "remote": { + "activity": "当前活动" + }, "restored": { "confirm_remove_text": "您确定要删除此实体吗?", "confirm_remove_title": "是否删除实体?", diff --git a/translations/frontend/zh-Hant.json b/translations/frontend/zh-Hant.json index e78928839b..bfc880ba43 100644 --- a/translations/frontend/zh-Hant.json +++ b/translations/frontend/zh-Hant.json @@ -1011,6 +1011,9 @@ "person": { "create_zone": "使用目前位置新增區域" }, + "remote": { + "activity": "目前活動" + }, "restored": { "confirm_remove_text": "確定要移除此實體?", "confirm_remove_title": "移除實體?", From d715867b09d8aab7830d687717e5e2e28b8fa0a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Fri, 5 Mar 2021 10:40:49 +0100 Subject: [PATCH 024/164] More consistant ignoring errors (#8553) --- hassio/src/dashboard/hassio-update.ts | 8 ++------ .../dialogs/update/dialog-supervisor-update.ts | 9 +++++++-- hassio/src/system/hassio-host-info.ts | 6 +++--- src/data/hassio/common.ts | 17 ++++++++++++++++- 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/hassio/src/dashboard/hassio-update.ts b/hassio/src/dashboard/hassio-update.ts index 5859a7f78f..ccff99445b 100644 --- a/hassio/src/dashboard/hassio-update.ts +++ b/hassio/src/dashboard/hassio-update.ts @@ -19,7 +19,7 @@ import "../../../src/components/ha-svg-icon"; import { extractApiErrorMessage, HassioResponse, - ignoredStatusCodes, + ignoreSupervisorError, } from "../../../src/data/hassio/common"; import { HassioHassOSInfo } from "../../../src/data/hassio/host"; import { @@ -216,11 +216,7 @@ export class HassioUpdate extends LitElement { } catch (err) { // Only show an error if the status code was not expected (user behind proxy) // or no status at all(connection terminated) - if ( - this.hass.connection.connected && - err.status_code && - !ignoredStatusCodes.has(err.status_code) - ) { + if (this.hass.connection.connected && !ignoreSupervisorError(err)) { showAlertDialog(this, { title: this.supervisor.localize("common.error.update_failed"), text: extractApiErrorMessage(err), diff --git a/hassio/src/dialogs/update/dialog-supervisor-update.ts b/hassio/src/dialogs/update/dialog-supervisor-update.ts index ee2edff4b4..47f509331d 100644 --- a/hassio/src/dialogs/update/dialog-supervisor-update.ts +++ b/hassio/src/dialogs/update/dialog-supervisor-update.ts @@ -14,7 +14,10 @@ import "../../../../src/components/ha-dialog"; import "../../../../src/components/ha-settings-row"; import "../../../../src/components/ha-svg-icon"; import "../../../../src/components/ha-switch"; -import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; +import { + extractApiErrorMessage, + ignoreSupervisorError, +} from "../../../../src/data/hassio/common"; import { createHassioPartialSnapshot } from "../../../../src/data/hassio/snapshot"; import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; import type { HomeAssistant } from "../../../../src/types"; @@ -160,7 +163,9 @@ class DialogSupervisorUpdate extends LitElement { try { await this._dialogParams!.updateHandler!(); } catch (err) { - this._error = extractApiErrorMessage(err); + if (this.hass.connection.connected && !ignoreSupervisorError(err)) { + this._error = extractApiErrorMessage(err); + } this._action = null; return; } diff --git a/hassio/src/system/hassio-host-info.ts b/hassio/src/system/hassio-host-info.ts index 1525f71a62..2abc9c1652 100644 --- a/hassio/src/system/hassio-host-info.ts +++ b/hassio/src/system/hassio-host-info.ts @@ -21,7 +21,7 @@ import "../../../src/components/ha-card"; import "../../../src/components/ha-settings-row"; import { extractApiErrorMessage, - ignoredStatusCodes, + ignoreSupervisorError, } from "../../../src/data/hassio/common"; import { fetchHassioHardwareInfo } from "../../../src/data/hassio/hardware"; import { @@ -274,7 +274,7 @@ class HassioHostInfo extends LitElement { await rebootHost(this.hass); } catch (err) { // Ignore connection errors, these are all expected - if (err.status_code && !ignoredStatusCodes.has(err.status_code)) { + if (this.hass.connection.connected && !ignoreSupervisorError(err)) { showAlertDialog(this, { title: this.supervisor.localize("system.host.failed_to_reboot"), text: extractApiErrorMessage(err), @@ -304,7 +304,7 @@ class HassioHostInfo extends LitElement { await shutdownHost(this.hass); } catch (err) { // Ignore connection errors, these are all expected - if (err.status_code && !ignoredStatusCodes.has(err.status_code)) { + if (this.hass.connection.connected && !ignoreSupervisorError(err)) { showAlertDialog(this, { title: this.supervisor.localize("system.host.failed_to_shutdown"), text: extractApiErrorMessage(err), diff --git a/src/data/hassio/common.ts b/src/data/hassio/common.ts index de6a28c68b..dd774816a1 100644 --- a/src/data/hassio/common.ts +++ b/src/data/hassio/common.ts @@ -28,7 +28,22 @@ export const extractApiErrorMessage = (error: any): string => { : error; }; -export const ignoredStatusCodes = new Set([502, 503, 504]); +const ignoredStatusCodes = new Set([502, 503, 504]); + +export const ignoreSupervisorError = (error): boolean => { + if (error && error.status_code && ignoredStatusCodes.has(error.status_code)) { + return true; + } + if ( + error && + error.message && + (error.message.includes("ERR_CONNECTION_CLOSED") || + error.message.includes("ERR_CONNECTION_RESET")) + ) { + return true; + } + return false; +}; export const fetchHassioStats = async ( hass: HomeAssistant, From 845411b48c98554d5ced757fc96fba42781cb95d Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Fri, 5 Mar 2021 15:01:22 +0100 Subject: [PATCH 025/164] Fix codemirror active line (#8558) fixes #8556 --- src/components/ha-code-editor.ts | 1 + src/resources/codemirror.ts | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/ha-code-editor.ts b/src/components/ha-code-editor.ts index 8388d423be..1ec42a3dd8 100644 --- a/src/components/ha-code-editor.ts +++ b/src/components/ha-code-editor.ts @@ -126,6 +126,7 @@ export class HaCodeEditor extends UpdatingElement { this._loadedCodeMirror.history(), this._loadedCodeMirror.highlightSelectionMatches(), this._loadedCodeMirror.highlightActiveLine(), + this._loadedCodeMirror.drawSelection(), this._loadedCodeMirror.rectangularSelection(), this._loadedCodeMirror.keymap.of([ ...this._loadedCodeMirror.defaultKeymap, diff --git a/src/resources/codemirror.ts b/src/resources/codemirror.ts index e8162732a3..3ddbce40ad 100644 --- a/src/resources/codemirror.ts +++ b/src/resources/codemirror.ts @@ -6,7 +6,7 @@ import { yaml } from "@codemirror/legacy-modes/mode/yaml"; import { indentLess, indentMore } from "@codemirror/commands"; import { Compartment } from "@codemirror/state"; -export { keymap, highlightActiveLine } from "@codemirror/view"; +export { keymap, highlightActiveLine, drawSelection } from "@codemirror/view"; export { CMEditorView as EditorView }; export { EditorState, Prec } from "@codemirror/state"; export { defaultKeymap } from "@codemirror/commands"; @@ -49,6 +49,10 @@ export const theme = CMEditorView.theme({ backgroundColor: "rgba(var(--rgb-primary-color), 0.3)", }, + ".cm-activeLine": { + backgroundColor: "rgba(var(--rgb-secondary-text-color), 0.1)", + }, + ".cm-scroller": { outline: "none" }, ".cm-content": { caretColor: "var(--secondary-text-color)" }, From fa0172d00cd6b00225c5a2203c9d9fe12ee49abd Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Fri, 5 Mar 2021 22:24:44 +0100 Subject: [PATCH 026/164] Fix a few translation typos (#8563) --- src/translations/en.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/translations/en.json b/src/translations/en.json index 2b887a7f25..0c6d5dc42d 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -3466,8 +3466,8 @@ "hostname": "Hostname", "new_update_available": "{name} {version} is available", "not_available_arch": "This add-on is not compatible with the processor of your device or the operating system you have installed on your device.", - "not_available_version": "You are unning Home Assistant {core_version_installed}, to update to this version of the add-on you need at least version {core_version_needed} of Home Assistan", - "visit_addon_page": "Visit the {name} page for more detals", + "not_available_version": "You are running Home Assistant {core_version_installed}, to update to this version of the add-on you need at least version {core_version_needed} of Home Assistant", + "visit_addon_page": "Visit the {name} page for more details", "restart": "restart", "start": "start", "stop": "stop", From ad53c99fc436227fe2d5687810f6d21debf90351 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Sat, 6 Mar 2021 01:22:48 +0000 Subject: [PATCH 027/164] Translation update --- translations/frontend/bg.json | 324 +++++++++++++++++++++++++++-- translations/frontend/ca.json | 12 +- translations/frontend/cs.json | 15 +- translations/frontend/de.json | 6 +- translations/frontend/el.json | 4 +- translations/frontend/en.json | 4 +- translations/frontend/es-419.json | 18 +- translations/frontend/fr.json | 222 +++++++++++++++++++- translations/frontend/he.json | 11 +- translations/frontend/id.json | 22 +- translations/frontend/it.json | 4 +- translations/frontend/ja.json | 4 +- translations/frontend/lt.json | 69 ++++++ translations/frontend/nl.json | 96 ++++----- translations/frontend/ro.json | 157 ++++++++++++-- translations/frontend/ru.json | 2 +- translations/frontend/sk.json | 16 +- translations/frontend/tr.json | 10 +- translations/frontend/zh-Hant.json | 16 +- 19 files changed, 879 insertions(+), 133 deletions(-) diff --git a/translations/frontend/bg.json b/translations/frontend/bg.json index 6b157382b1..ae64ffce91 100644 --- a/translations/frontend/bg.json +++ b/translations/frontend/bg.json @@ -102,6 +102,165 @@ "unknown": "Неизвестно" } }, + "supervisor": { + "addon": { + "configuration": { + "audio": { + "default": "По подразбиране", + "header": "Аудио", + "input": "Вход", + "output": "Изход" + }, + "network": { + "header": "Мрежа" + } + }, + "dashboard": { + "capability": { + "label": { + "hardware": "хардуер", + "rating": "рейтинг" + }, + "role": { + "default": "по подразбиране", + "homeassistant": "homeassistant" + } + }, + "option": { + "auto_update": { + "title": "Автоматично актуализиране" + }, + "ingress_panel": { + "title": "Показване в страничната лента" + } + }, + "restart": "рестарт", + "start": "старт", + "stop": "стоп" + }, + "panel": { + "configuration": "Конфигурация", + "documentation": "Документация", + "info": "Информация" + }, + "state": { + "installed": "Добавката е инсталирана", + "not_installed": "Добавката не е инсталирана" + } + }, + "common": { + "close": "Затваряне", + "description": "Описание", + "error": { + "unknown": "Неизвестна грешка" + }, + "learn_more": "Научете повече", + "new_version_available": "Налична е нова версия", + "no": "Не", + "reload": "Презареждане", + "restart": "Рестартиране", + "restart_name": "Рестартиране {name}", + "update": "Актуализиране", + "version": "Версия", + "yes": "Да" + }, + "confirm": { + "update": { + "text": "Наистина ли искате да актуализирате {name} до версия {version}?", + "title": "Актуализиране на {name}" + } + }, + "dashboard": { + "addon_new_version": "Налична е нова версия", + "addons": "Добавки" + }, + "dialog": { + "network": { + "connected_to": "Свързан с {ssid}", + "dhcp": "DHCP", + "dns_servers": "DNS Сървъри", + "ip_netmask": "IP адрес/Мрежова маска", + "open": "Отворена", + "scan_ap": "Сканиране за точки за достъп", + "static": "Статичен", + "title": "Мрежови настройки", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Добавяне на нов регистър", + "add_registry": "Добавяне на регистър", + "no_registries": "Няма конфигурирани регистри", + "password": "Парола", + "registry": "Регистър", + "remove": "Премахване", + "username": "Потребителско име" + }, + "repositories": { + "add": "Добавяне", + "remove": "Премахване" + }, + "update": { + "updating": "Актуализиране на {name} до версия {version}" + } + }, + "my": { + "error": "Възникна неизвестна грешка", + "error_addon_not_found": "Добавката не е намерена" + }, + "panel": { + "dashboard": "Табло", + "system": "Система" + }, + "snapshot": { + "addons": "Добавки", + "create": "Създаване", + "enter_password": "Моля, въведете парола.", + "folder": { + "homeassistant": "Конфигурация на Home Assistant", + "media": "Медия", + "ssl": "SSL" + }, + "folders": "Папки", + "name": "Име", + "password": "Парола", + "password_protected": "защитен с парола", + "password_protection": "Защита с парола", + "security": "Сигурност", + "type": "Тип" + }, + "store": { + "no_results_found": "Няма намерени резултати в {repository}.", + "registries": "Регистри", + "repositories": "Хранилища" + }, + "system": { + "host": { + "change": "Промяна", + "failed_to_import_from_usb": "Неуспешно импортиране от USB", + "hardware": "Хардуер", + "import_from_usb": "Импортиране от USB", + "ip_address": "IP адрес", + "operating_system": "Операционна система", + "used_space": "Използвано пространство" + }, + "supervisor": { + "beta_backup": "Уверете се, че имате резервни копия на вашите данни, преди да активирате тази функция.", + "beta_join_confirm": "Искате ли да се присъедините към бета канала?", + "channel": "Канал", + "join_beta_action": "Присъединяване към бета канала", + "leave_beta_action": "Напускане на бета канала", + "reload_supervisor": "Презареждане на Supervisor", + "unsupported_reason": { + "dbus": "DBUS", + "lxc": "LXC", + "os": "Операционна система" + }, + "update_supervisor": "Актуализиране на Supervisor", + "warning": "ВНИМАНИЕ" + } + } + }, "ui": { "auth_store": { "ask": "Искате ли да останете вписани?", @@ -269,6 +428,7 @@ "close": "Затвори", "continue": "Продължи", "copied": "Копиран", + "copied_clipboard": "Копирано в клипборда", "delete": "Изтриване", "disable": "Деактивиране", "enable": "Активиране", @@ -293,6 +453,9 @@ "yes": "Да" }, "components": { + "addon-picker": { + "addon": "Добавка" + }, "area-picker": { "add_dialog": { "add": "Добавяне", @@ -313,6 +476,10 @@ "remove_user": "Премахване на потребител", "select_blueprint": "Изберете План" }, + "calendar": { + "my_calendars": "Моите календари", + "today": "Днес" + }, "data-table": { "no-data": "Няма данни", "search": "Търсене" @@ -396,7 +563,9 @@ "playlist": "Плейлист", "podcast": "Подкаст", "season": "Сезон", - "url": "URL" + "tv_show": "ТВ предаване", + "url": "URL", + "video": "Видео" }, "documentation": "документация", "learn_adding_local_media": "Научете повече за добавянето на мултимедия в {documentation} .", @@ -484,6 +653,7 @@ "control": "Контрол", "dismiss": "Отхвърли", "editor": { + "advanced": "Разширени настройки", "confirm_delete": "Наистина ли искате да изтриете този запис?", "delete": "Изтриване", "device_disabled": "Устройството на този обект е деактивирано.", @@ -562,6 +732,9 @@ "person": { "create_zone": "Създайте зона от текущото местоположение" }, + "remote": { + "activity": "Текуща дейност" + }, "restored": { "confirm_remove_text": "Наистина ли искате да изтриете този запис?", "confirm_remove_title": "Премахване на обект?", @@ -616,6 +789,7 @@ "quick-bar": { "commands": { "navigation": { + "automation": "Автоматизации", "blueprint": "Планове", "devices": "Устройства", "entities": "Обекти", @@ -740,6 +914,7 @@ "blueprint": { "use_blueprint": "Използвайте план" }, + "header": "Създаване на нова автоматизация", "how": "Как искате да създадете новата си автоматизация?", "start_empty": "Започнете с празна автоматизация", "thingtalk": { @@ -780,7 +955,10 @@ "device_id": { "action": "Действие", "extra_fields": { - "code": "Код" + "code": "Код", + "message": "Съобщение", + "position": "Позиция", + "title": "Заглавие" }, "label": "Устройство" }, @@ -948,7 +1126,8 @@ "extra_fields": { "above": "Над", "below": "Под", - "for": "Продължителност" + "for": "Продължителност", + "zone": "Зона" }, "label": "Устройство", "trigger": "Тригер" @@ -1115,6 +1294,12 @@ "title": "Дистанционен контрол" }, "sign_out": "Отписване", + "tts": { + "default_language": "Език по подразбиране за използване", + "female": "Жена", + "male": "Мъж", + "title": "Текст в Реч" + }, "webhooks": { "disable_hook_error_msg": "Неуспешно деактивиране на webhook:", "loading": "Зареждане ...", @@ -1144,6 +1329,10 @@ "copied_to_clipboard": "Копирано в клипборда", "view_documentation": "Преглед на документацията" }, + "forgot_password": { + "email_error_msg": "Грешен имейл", + "title": "Забравена парола" + }, "google": { "disable_2FA": "Деактивирайте двуфакторното удостоверяване", "dont_expose_entity": "Не излагай обекта", @@ -1156,13 +1345,21 @@ }, "login": { "alert_password_change_required": "Трябва да промените паролата си, преди да влезете.", + "email_error_msg": "Грешен имейл", + "forgot_password": "Забравена парола?", "introduction2": "Тази услуга се управлява от нашия партньор", - "learn_more_link": "Научете повече за Home Assistant Cloud" + "learn_more_link": "Научете повече за Home Assistant Cloud", + "password": "Парола", + "password_error_msg": "Паролите са най-малко 8 знака" }, "register": { "create_account": "Създаване на акаунт", + "feature_amazon_alexa": "Интеграция с Amazon Alexa", + "feature_google_home": "Интеграция с Google Assistant", "feature_webhook_apps": "Лесна интеграция с базирани на webhook приложения като OwnTracks", "information3": "Тази услуга се управлява от нашия партньор", + "link_terms_conditions": "Правила и условия", + "password": "Парола", "title": "Регистриране на акаунт" } }, @@ -1319,7 +1516,11 @@ }, "info": { "caption": "Информация", - "description": "Версия, състояние на системата и връзки към документация" + "description": "Версия, състояние на системата и връзки към документация", + "documentation": "Документация", + "integrations": "Интеграции", + "server": "сървър", + "source": "Източник:" }, "integrations": { "add_integration": "Добавяне на интеграция", @@ -1330,6 +1531,14 @@ "delete_confirm": "Сигурни ли сте, че искате да изтриете интеграцията?", "device_unavailable": "Устройството е недостъпно", "devices": "{count} {count, plural,\n one {устройство}\n other {устройства}\n}", + "disable": { + "disabled_by": { + "device": "устройство", + "integration": "интеграция", + "user": "потребител" + } + }, + "documentation": "Документация", "entities": "{count} {count, plural,\n one {обект}\n other {обекти}\n}", "entity_unavailable": "Обектът е недостъпен", "firmware": "Фърмуер: {version}", @@ -1348,10 +1557,12 @@ }, "config_flow": { "created_config": "Създадена конфигурация за {name} .", + "error": "Грешка", "external_step": { "description": "Завършването на тази стъпка изисква да посетите външен уебсайт.", "open_site": "Отваряне на уеб сайт" }, + "loading_first_time": "Моля, изчакайте, докато се инсталира интеграцията", "not_all_required_fields": "Не всички задължителни полета са попълнени." }, "configure": "Конфигуриране", @@ -1407,10 +1618,15 @@ "description": "Създайте персонализирани набори от карти, за да контролирате дома си", "resources": { "cant_edit_yaml": "Използвате Lovelace в YAML режим, следователно не можете да управлявате ресурсите си чрез потребителския интерфейс. Управлявайте ги в configuration.yaml.", + "caption": "Ресурси", "detail": { "create": "Създаване", + "delete": "Изтриване", + "dismiss": "Затваряне", + "update": "Актуализиране", "url": "URL", - "url_error_msg": "URL е задължително поле" + "url_error_msg": "URL е задължително поле", + "warning_header": "Бъдете предпазливи!" }, "picker": { "headers": { @@ -1424,11 +1640,22 @@ "title": "MQTT" }, "ozw": { + "common": { + "controller": "Контролер", + "network": "Мрежа" + }, "navigation": { + "network": "Мрежа", "node": { "dashboard": "Табло" } }, + "network_status": { + "details": { + "started": "Свързан към MQTT", + "starting": "Свързване към MQTT" + } + }, "node_query_stages": { "associations": "Обновяване на свързаните групи и членства" }, @@ -1583,7 +1810,10 @@ "detail": { "create": "Създаване", "create_and_write": "Създаване и запис", - "name": "Име" + "delete": "Изтриване", + "description": "Описание", + "name": "Име", + "update": "Актуализиране" }, "headers": { "name": "Име" @@ -1605,6 +1835,7 @@ "admin": "Администратор", "caption": "Преглед на потребителя", "change_password": "Смяна на парола", + "confirm_user_deletion": "Наистина ли искате да изтриете {name}?", "deactivate_user": "Деактивиране на потребителя", "delete_user": "Изтриване на потребител", "group": "Група", @@ -1654,6 +1885,9 @@ "groups": { "add_group": "Добавяне на група" }, + "network": { + "caption": "Мрежа" + }, "visualization": { "caption": "Визуализация", "header": "Визуализация на мрежата" @@ -1670,6 +1904,22 @@ "edit_home_zone": "Радиусът на зоната \"Дом\" все още не може да бъде редактиран. Плъзнете маркера на картата, за да преместите въпросната зона.", "no_zones_created_yet": "Изглежда, че все още не сте създали никакви зони." }, + "zwave_js": { + "common": { + "close": "Затваряне", + "network": "Мрежа" + }, + "dashboard": { + "dump_not_ready_confirm": "Изтегляне" + }, + "navigation": { + "network": "Мрежа" + }, + "network_status": { + "connected": "Свързан", + "connecting": "Свързване" + } + }, "zwave": { "common": { "index": "Индекс", @@ -1736,6 +1986,8 @@ "description1": "Задайте представянето на устройство или обект в Home Assistant.", "description2": "Промяната е фиктивна, до следваща актуализация на устройството или обекта.", "filter_attributes": "Филтриране на атрибути", + "last_changed": "Последна промяна", + "last_updated": "Последна актуализация", "set_state": "Задаване на състояние", "state_attributes": "Атрибути на състоянието (YAML, по избор)", "title": "Състояния" @@ -1757,8 +2009,18 @@ } } }, + "history": { + "ranges": { + "last_week": "Миналата седмица", + "this_week": "Тази седмица", + "today": "Днес", + "yesterday": "Вчера" + } + }, "logbook": { "ranges": { + "last_week": "Миналата седмица", + "this_week": "Тази седмица", "today": "Днес", "yesterday": "Вчера" } @@ -1879,8 +2141,16 @@ "description": "Картата \"Обект\" ви дава бърз преглед на състоянието на избран обект.", "name": "Обект" }, + "gauge": { + "severity": { + "green": "Зелено", + "red": "Червено", + "yellow": "Жълто" + } + }, "generic": { "name": "Име", + "no_theme": "Няма тема", "search": "Търсене", "show_name": "Показване на името?", "state_color": "Да се оцветят ли иконите спрямо състоянието?", @@ -1889,6 +2159,7 @@ "url": "URL" }, "grid": { + "columns": "Колони", "description": "Картата Решетка ви позволява да показвате няколко карти, които да подредите в решетка.", "name": "Решетка" }, @@ -1908,7 +2179,8 @@ }, "map": { "dark_mode": "Тъмен режим?", - "name": "Карта" + "name": "Карта", + "source": "Източник" }, "media-control": { "description": "Картата за управление на плейърите се използва за показване на обекти на мултимедийния плейър в интерфейс с лесни за използване контроли.", @@ -1948,7 +2220,9 @@ "no_description": "Няма налично описание." }, "common": { - "add": "Добавяне" + "add": "Добавяне", + "edit": "Редактиране", + "none": "Без" }, "edit_badges": { "panel_mode": "Тези значки няма да се показват, защото този изглед е в „Панелен режим“." @@ -1969,7 +2243,8 @@ "show_code_editor": "Редактирайте кода", "show_visual_editor": "Показване на визуален редактор", "toggle_editor": "Превключете редактора", - "typed_header": "Конфигурация на карта {type}" + "typed_header": "Конфигурация на карта {type}", + "unsaved_changes": "Имате незапазени промени" }, "edit_lovelace": { "edit_title": "Редактиране на заглавие", @@ -1991,7 +2266,16 @@ } }, "header": "Редактиране на Lovelace", + "header-footer": { + "types": { + "buttons": { + "name": "Бутони" + } + } + }, "menu": { + "manage_dashboards": "Управление на таблата", + "manage_resources": "Управление на ресурсите", "open": "Отваряне на Lovelace меню", "raw_editor": "Текстов редактор на Lovelace" }, @@ -2011,12 +2295,14 @@ "error_invalid_config": "Вашата конфигурация не е валидна: {error}", "error_remove": "Конфигурацията не може да бъде премахната: {error}", "header": "Редактиране на конфигурацията", + "reload": "Презареждане", "save": "Запазване", "saved": "Запазено", "unsaved_changes": "Незапазени промени" }, "save_config": { "cancel": "Няма значение", + "close": "Затваряне", "header": "Поемете контрол над потребителския интерфейс на Lovelace", "para": "В момента това табло се поддържа от Home Assistant. То се актуализира автоматично, когато станат достъпни нови обекти или компоненти на потребителския интерфейс на Lovelace. Ако поемете контрола, това табло вече няма да се актуализира автоматично. Винаги можете да създадете ново табло за управление в конфигурация, с което да си играете.", "para_sure": "Наистина ли искате да поемете управлението на потребителския интерфейс?", @@ -2067,7 +2353,8 @@ "attribute_not_found": "Атрибут {attribute} не е наличен в: {entity}", "entity_non_numeric": "Обектът не е число: {entity}", "entity_not_found": "Обектът не е достъпен: {entity}", - "entity_unavailable": "{entity} в момента е недостъпен" + "entity_unavailable": "{entity} в момента е недостъпен", + "starting": "Home Assistant стартира, все още може да не е налице всичко" } }, "mailbox": { @@ -2076,10 +2363,15 @@ "empty": "Нямате съобщения", "playback_title": "Възпроизвеждане на съобщение" }, + "my": { + "documentation": "документация", + "error": "Възникна неизвестна грешка" + }, "page-authorize": { "abort_intro": "Входът е прекратен", "authorizing_client": "На път сте да дадете {clientId} достъп до вашия Home Assistant.", "form": { + "next": "Следващ", "providers": { "command_line": { "abort": { @@ -2335,10 +2627,18 @@ "token_title": "Код за опресняване за {clientId}" }, "themes": { + "accent_color": "Цвят на акцента", + "dark_mode": { + "auto": "Авто", + "dark": "Тъмна", + "light": "Светла" + }, "dropdown_label": "Тема", "error_no_theme": "Няма налични теми.", "header": "Тема", - "link_promo": "Научете повече за темите" + "link_promo": "Научете повече за темите", + "primary_color": "Основен цвят", + "reset": "Нулиране" }, "vibrate": { "description": "Разрешаване или забраняване на вибрациите на това устройство при управление на устройства." diff --git a/translations/frontend/ca.json b/translations/frontend/ca.json index e6411d1382..8ecc3bca2c 100644 --- a/translations/frontend/ca.json +++ b/translations/frontend/ca.json @@ -148,13 +148,15 @@ "title": "Autenticació de Home Assistant" }, "docker_api": { + "description": "Aquest complement, per petició del seu autor, demana accés a la instància de Docker del teu sistema. Aquest mode porporciona un control complet de tot el teu sistema Home Assistant al complement. Això genera possibles riscos de seguretat i podria fer malbé el sistema si no s'utilitza adequadament. Per aquesta raó, aquesta funció afecta negativament al nivell de seguretat del complement. \n\nAquest nivell d'accés no s'atorga automàticament i cal que el confirms. Per fer-ho, has de desactivar manualment el mode de protecció del complement. Desactiva el mode de protecció només si coneixes i confies en l'origen del complement.", "title": "Accés complet a Docker" }, "full_access": { - "description": "Aquest complement té accés complet al maquinari del teu sistema per petició del seu autor. Aquest accés és similar al mode privilegiat de Docker. Com que això genera possibles riscos de seguretat, aquesta funció afecta negativament al nivell de seguretat del complement. \n\nAquest accés no s'atorga automàticament i cal que ho confirms. Per fer-ho, has de desactivar manualment el mode de protecció del complement. Desactiva el mode de protecció només si coneixes i confies en l'origen del complement.", + "description": "Aquest complement té accés complet al maquinari del teu sistema per petició del seu autor. Aquest accés és similar al mode privilegiat de Docker. Com que això genera possibles riscos de seguretat, aquesta funció afecta negativament al nivell de seguretat del complement. \n\nAquest accés no s'atorga automàticament i cal que el confirms. Per fer-ho, has de desactivar manualment el mode de protecció del complement. Desactiva el mode de protecció només si coneixes i confies en l'origen del complement.", "title": "Accés complet al maquinari" }, "hassio_api": { + "description": "Aquest complement té accés a l'API del Supervisor per petició del seu autor. Per defecte, el complement pot accedir a informació de la versió del teu sistema. Si demana a l'API accés de gestió o d'administrador, obtindrà accés per controlar diferents parts de Home Assistant. Aquest permís s'indica amb aquesta insígnia i afecta negativament al nivell de seguretat del complement.", "title": "Accés a l'API del Supervisor" }, "homeassistant_api": { @@ -165,6 +167,10 @@ "description": "Els complements normalment s'executen dins la seva pròpia capa de xarxa aïllada, cosa que els impedeix accedir a la xarxa del sistema operatiu amfitrió. En alguns casos, aquest aïllament pot limitar la prestació dels serveis del complement. Per tant, l'aïllament pot ser eliminat per l'autor del complement; en aquest cas, el complement té un accés complet a les capacitats de xarxa del dispositiu amfitrió. Això li porporciona més capacitats però en redueix la seguretat, per tant, el nivell de seguretat del complement es reduirà quan aquesta opció s'utilitzi.", "title": "Xarxa amfitrió" }, + "host_pid": { + "description": "Habitualment, els processos que executen els complements estan aïllats dels altres processos del sistema. L'autor del complement ha demanat tenir accés i poder crear processos del sistema amfitrió. Aquest mode dóna accés i control total de tot el teu sistema Home Assistant al complement. Això genera possibles riscos de seguretat i podria fer malbé el sistema si no s'utilitza adequadament. Per aquesta raó, aquesta funció afecta negativament al nivell de seguretat del complement. \n\nAquest nivell d'accés no s'atorga automàticament i cal que el confirms. Per fer-ho, has de desactivar manualment el mode de protecció del complement. Desactiva el mode de protecció només si coneixes i confies en l'origen del complement.", + "title": "Espai de noms de processos de l'amfitrió" + }, "ingress": { "description": "Aquest complement utilitza Ingress per poder incrustar la seva interfície de manera segura a Home Assistant.", "title": "Ingress" @@ -220,6 +226,7 @@ "title": "Mostra a la barra lateral" }, "protected": { + "description": "Bloqueja l'accés privilegiat del complement al sistema", "title": "Mode de protecció" }, "watchdog": { @@ -439,6 +446,7 @@ "beta_backup": "Assegura't que tens còpies de seguretat de les teves dades abans d'activar aquesta funció.", "beta_join_confirm": "Vols unir-te al canal beta?", "beta_release_items": "Això inclou les versions beta de:", + "beta_warning": "Les versions beta són per a verificadors i els primers que vulguin provar-la, però poden tenir canvis de codi inestables", "channel": "Canal", "cpu_usage": "Ús de CPU del Supervisor", "failed_to_reload": "No s'ha pogut tornar a carregar el Supervisor", @@ -464,9 +472,11 @@ "unhealthy_title": "La teva instal·lació no és bona", "unsupported_description": "A continuació es mostra una llista de problemes relacionats amb la instal·lació, fes clic als enllaços per obtenir informació sobre com resoldre'ls.", "unsupported_reason": { + "container": "Els contenidors són coneguts per causar problemes", "dbus": "DBUS", "docker_configuration": "Configuració de Docker", "docker_version": "Versió de Docker", + "job_conditions": "Condicions 'job' ignorades", "lxc": "LXC", "network_manager": "Gestor de xarxa", "os": "Sistema operatiu", diff --git a/translations/frontend/cs.json b/translations/frontend/cs.json index b50dc77f0d..ff81574f21 100644 --- a/translations/frontend/cs.json +++ b/translations/frontend/cs.json @@ -144,6 +144,7 @@ }, "changelog": "Seznam změn", "hostname": "Název hostitele", + "new_update_available": "{name} {verze} je k dispozici", "open_web_ui": "Otevřít webové rozhraní", "option": { "boot": { @@ -152,7 +153,8 @@ "watchdog": { "title": "Hlídací pes" } - } + }, + "visit_addon_page": "Další podrobnosti naleznete na stránce {name}" }, "panel": { "configuration": "Nastavení", @@ -167,10 +169,13 @@ }, "common": { "cancel": "Zrušit", + "close": "Zavřít", "description": "Popis", "error": { "unknown": "Neznámá chyba" }, + "failed_to_restart_name": "Restartování {name} se nezdařilo", + "failed_to_update_name": "Aktualizace {name} se nezdařila", "learn_more": "Další informace", "new_version_available": "K dispozici je nová verze", "newest_version": "Nejnovější verze", @@ -192,6 +197,7 @@ "title": "Obnovit možnosti" }, "restart": { + "text": "Opravdu chcete restartovat {name}?", "title": "Restartovat {name}" }, "update": { @@ -240,14 +246,15 @@ "text": "Chcete doplněk restartovat se svými změnami?" }, "update": { - "create_snapshot": "Vytvořit zálohu \"{name}\" před aktualizací", + "create_snapshot": "Vytvořit zálohu {name} před aktualizací", "snapshot": "Záloha", - "snapshotting": "Vytváří se záloha \"{name}\"", - "updating": "Aktualizuje se \"{name}\" na verzi {version}" + "snapshotting": "Vytváří se záloha {name}", + "updating": "Aktualizuje se {name} na verzi {version}" } }, "my": { "error": "Nastala neznámá chyba", + "error_addon_not_found": "Doplněk nebyl nalezen", "faq_link": "Časté dotazy týkající se My Home Assistant", "not_supported": "Toto přesměrování není vaší instancí Home Assistant podporováno. Zkontrolujte {link} pro podporovaná přesměrování a verzi, ve které byla zavedena." }, diff --git a/translations/frontend/de.json b/translations/frontend/de.json index 0b2a80413f..9736f4912d 100644 --- a/translations/frontend/de.json +++ b/translations/frontend/de.json @@ -422,7 +422,7 @@ "confirm_shutdown": "Bist du sicher, dass du den Host herunterfahren willst?", "deployment": "Deployment", "docker_version": "Docker-Version", - "emmc_lifetime_used": "eMMC Verschleiß", + "emmc_lifetime_used": "eMMC verschlissen", "failed_to_get_hardware_list": "Fehler beim Abrufen der Hardwareliste", "failed_to_import_from_usb": "Fehler beim Importieren von USB", "failed_to_reboot": "Fehler beim Neustart des Hosts", @@ -457,7 +457,7 @@ "leave_beta_action": "Beta-Kanal verlassen", "leave_beta_description": "Erhalte stabile Updates für Home Assistant, Supervisor und Host", "ram_usage": "Arbeitsspeicherbedarf von Supervisor", - "reload_supervisor": "Supervisor neu starten", + "reload_supervisor": "Supervisor neu laden", "share_diagnostics": "Diagnose teilen", "share_diagnostics_description": "Teile Absturzberichte und Diagnoseinformationen.", "share_diagonstics_description": "Möchtest du Absturzberichte und Diagnoseinformationen automatisch freigeben, wenn der Supervisor auf unerwartete Fehler stößt? {line_break} Auf diese Weise können wir die Probleme beheben. Die Informationen sind nur für das Home Assistant Core Team zugänglich und werden nicht an andere weitergegeben. {line_break} Die Daten enthalten keine privaten/sensiblen Informationen und du kannst diese jederzeit in den Einstellungen deaktivieren.", @@ -478,7 +478,7 @@ "docker_version": "Docker Version", "job_conditions": "Ignorierte Jobbedingungen", "lxc": "LXC", - "network_manager": "Netzwerk Einstellungen", + "network_manager": "Netzwerk-Manager", "os": "Betriebssystem", "privileged": "Der Supervisor ist nicht berechtigt", "systemd": "Systemd" diff --git a/translations/frontend/el.json b/translations/frontend/el.json index 4e24f449bc..306ed38391 100644 --- a/translations/frontend/el.json +++ b/translations/frontend/el.json @@ -502,14 +502,14 @@ "disarm": "Αφοπλισμός" }, "automation": { - "last_triggered": "Τελευταίο έναυσμα", + "last_triggered": "Τελευταία ενεργοποίηση", "trigger": "Εκτέλεση ενεργειών" }, "camera": { "not_available": "Μη διαθέσιμη εικόνα" }, "climate": { - "aux_heat": "Θερμοκρασία Aux", + "aux_heat": "Βοηθητική θέρμανση", "away_mode": "Λειτουργία εκτός σπιτιού", "cooling": "{name} ψύξη", "current_temperature": "{name} τρέχουσα θερμοκρασία", diff --git a/translations/frontend/en.json b/translations/frontend/en.json index 2e57c541e7..caba0b0022 100644 --- a/translations/frontend/en.json +++ b/translations/frontend/en.json @@ -210,7 +210,7 @@ "install": "install", "new_update_available": "{name} {version} is available", "not_available_arch": "This add-on is not compatible with the processor of your device or the operating system you have installed on your device.", - "not_available_version": "You are unning Home Assistant {core_version_installed}, to update to this version of the add-on you need at least version {core_version_needed} of Home Assistan", + "not_available_version": "You are running Home Assistant {core_version_installed}, to update to this version of the add-on you need at least version {core_version_needed} of Home Assistant", "open_web_ui": "Open web UI", "option": { "auto_update": { @@ -245,7 +245,7 @@ "start": "start", "stop": "stop", "uninstall": "uninstall", - "visit_addon_page": "Visit the {name} page for more detals" + "visit_addon_page": "Visit the {name} page for more details" }, "documentation": { "get_documentation": "Failed to get add-on documentation, {error}" diff --git a/translations/frontend/es-419.json b/translations/frontend/es-419.json index eba19e1d5f..fa8711ea3f 100644 --- a/translations/frontend/es-419.json +++ b/translations/frontend/es-419.json @@ -444,7 +444,7 @@ }, "supervisor": { "beta_backup": "Asegúrese de tener copias de seguridad de sus datos antes de activar esta función.", - "beta_join_confirm": "¿Quieres unirte al canal beta?", + "beta_join_confirm": "¿Quiere unirse al canal beta?", "beta_release_items": "Esto incluye versiones beta para:", "beta_warning": "Las versiones beta son para testers y usuarios pioneros. Pueden contener cambios de código inestables.", "channel": "Canal", @@ -464,10 +464,10 @@ "share_diagonstics_title": "Ayude a mejorar Home Assistant", "unhealthy_description": "Ejecutar una instalación en mal estado causará problemas. A continuación se muestra una lista de problemas encontrados con su instalación, haga clic en los enlaces para saber cómo puede resolverlos.", "unhealthy_reason": { - "docker": "El entorno de Docker no funciona correctamente", - "privileged": "El supervisor no tiene privilegios", - "setup": "Falló la configuración del supervisor", - "supervisor": "El supervisor no pudo actualizar" + "docker": "El entorno Docker no funciona correctamente", + "privileged": "Supervisor no tiene privilegios", + "setup": "Falló la configuración de Supervisor", + "supervisor": "No se pudo actualizar Supervisor" }, "unhealthy_title": "La instalación tiene problemas", "unsupported_description": "A continuación se muestra una lista de problemas encontrados con su instalación, haga clic en los enlaces para saber cómo puede resolverlos.", @@ -480,11 +480,11 @@ "lxc": "LXC", "network_manager": "Administrador de red", "os": "Sistema operativo", - "privileged": "El supervisor no tiene privilegios", + "privileged": "Supervisor no tiene privilegios", "systemd": "Systemd" }, "unsupported_title": "Está ejecutando una instalación no soportada", - "update_supervisor": "Actualizar el supervisor", + "update_supervisor": "Actualizar Supervisor", "warning": "ADVERTENCIA" } } @@ -1354,7 +1354,7 @@ "conditions": { "add": "Agregar condición", "delete": "Eliminar", - "delete_confirm": "¿Está seguro que quiere eliminar?", + "delete_confirm": "¿Está seguro de eliminar ésto?", "duplicate": "Duplicar", "header": "Condiciones", "introduction": "Las condiciones son opcionales y evitarán una mayor ejecución a menos que se cumplan todas las condiciones.", @@ -3776,7 +3776,7 @@ "token_title": "Actualizar token para {clientId}" }, "suspend": { - "description": "¿Deberíamos cerrar la conexión al servidor después de estar oculto durante 5 minutos?", + "description": "¿Deberíamos cerrar la conexión al servidor después de estar ausente por 5 minutos?", "header": "Conexión cerrada automáticamente" }, "themes": { diff --git a/translations/frontend/fr.json b/translations/frontend/fr.json index 22b2bbea49..afdc17db98 100644 --- a/translations/frontend/fr.json +++ b/translations/frontend/fr.json @@ -106,44 +106,174 @@ "addon": { "configuration": { "audio": { - "header": "Audio" + "default": "Défaut", + "header": "Audio", + "input": "Entrée", + "output": "Sortie" + }, + "network": { + "container": "Conteneur", + "disabled": "Désactivé", + "header": "Réseau", + "host": "Hôte" }, "options": { - "header": "Options" + "edit_in_ui": "Modifier dans l'interface utilisateur", + "edit_in_yaml": "Modifier en tant que YAML", + "header": "Options", + "invalid_yaml": "YAML invalide", + "show_unused_optional": "Afficher les options non utilisées dans la configuration" } }, + "dashboard": { + "action_error": { + "install": "Échec de l'installation de l'extension", + "restart": "Échec du redémarrage de l'extension", + "start": "Échec du démarrage de l'extension", + "start_invalid_config": "Aller à la configuration", + "stop": "Échec de l'arrêt de l'extension", + "uninstall": "Échec de la désinstallation de l'extension", + "validate_config": "Échec de la validation de la configuration de l'add-on" + }, + "capability": { + "docker_api": { + "title": "Accès complet à Docker" + }, + "full_access": { + "title": "Accès complet au matériel" + }, + "host_network": { + "title": "Réseau hôte" + }, + "label": { + "auth": "auth", + "hardware": "Matériel", + "hass": "hass", + "hassio": "hassio", + "host": "Hôte", + "rating": "notation" + }, + "rating": { + "title": "Évaluation de sécurité de l'extension" + }, + "role": { + "admin": "admin", + "backup": "sauvegarde", + "default": "Défaut", + "homeassistant": "homeassistant", + "manager": "gestionnaire" + } + }, + "changelog": "Changelog", + "cpu_usage": "Utilisation CPU de l'extension", + "hostname": "Nom d'hôte", + "install": "installer", + "new_update_available": "{name} {version} est disponible", + "not_available_version": "Votre Home Assistant est en version {core_version_installed}, pour mettre à jour cet add-on, vous devez êtes au minimum en version {core_version_needed} de Home Assistant", + "open_web_ui": "Ouvrir l'interface utilisateur Web", + "option": { + "auto_update": { + "title": "Mise à jour automatique" + }, + "boot": { + "title": "Lancer au démarrage" + }, + "ingress_panel": { + "description": "Ajoutez l'extension à la barre latérale", + "title": "Afficher dans la barre latérale" + }, + "protected": { + "title": "Mode protégé" + }, + "watchdog": { + "description": "Cela démarrera l'extension en cas de panne", + "title": "Watchdog" + } + }, + "protection_mode": { + "enable": "Activer le mode protégé", + "title": "Attention: le mode protection est désactivé!" + }, + "ram_usage": "Utilisation de la RAM de l'extension", + "restart": "redémarrer", + "start": "démarrer", + "stop": "arrêter", + "uninstall": "désinstaller", + "visit_addon_page": "Visitez la page {name} pour plus de détails" + }, "panel": { "configuration": "Configuration", "documentation": "Documentation", - "info": "Info" + "info": "Info", + "log": "Journal" + }, + "state": { + "installed": "l'add-on est installé.", + "not_available": "L'extension n'est pas disponible sur votre système", + "not_installed": "l'add-on n'est pas installé" } }, "common": { "cancel": "Annuler", "close": "Fermer", + "description": "Description", + "error": { + "unknown": "Erreur inconnue", + "update_failed": "La mise à jour a échoué" + }, + "failed_to_restart_name": "Échec du redémarrage de {name}", + "failed_to_update_name": "Échec de la mise à jour de {name}", + "learn_more": "En savoir plus", + "new_version_available": "Nouvelle version disponible", + "newest_version": "Version la plus récente", "no": "Non", + "refresh": "Actualiser", "reload": "Recharger", - "save": "Sauver", + "reset_defaults": "Réinitialiser la configuration", + "reset_options": "Réinitialiser les options", + "restart": "Redémarrer", + "restart_name": "Redémarrer {name}", + "save": "Sauvegarder", "update": "Mise à jour", + "update_available": "{count, plural,\n one {Mise à jour en attente}\n other {{count} Mises à jour en attentes}\n}", "version": "Version", "yes": "Oui" }, "confirm": { + "reset_options": { + "text": "Êtes-vous sûr de vouloir réinitialiser toutes vos options ?", + "title": "Réinitialiser les options" + }, + "restart": { + "text": "Êtes-vous sûr de vouloir redémarrer {name}?", + "title": "Redémarre {name}" + }, "update": { + "text": "Êtes-vous sûr de vouloir mettre à jour {name} vers {version}?", "title": "Mettre à jour {name}" } }, + "dashboard": { + "addon_new_version": "Nouvelle version disponible", + "addon_running": "Le module complémentaire fonctionne", + "addon_stopped": "Le module complémentaire est arrêté", + "addons": "Modules complémentaires", + "no_addons": "Vous n'avez pas encore installé de modules complémentaires. Rendez-vous dans la boutique des modules complémentaires pour commencer!" + }, "dialog": { "network": { + "connected_to": "Connecté à {ssid}", "dhcp": "DHCP", "disabled": "Désactivé", "dns_servers": "Serveurs DNS", + "failed_to_change": "Échec de la modification des paramètres réseaux", "gateway": "Adresse de la passerelle", "ip_netmask": "Adresse IP / masque réseau", "open": "Ouvrir", "scan_ap": "Rechercher les points d'accès", "static": "Statique", "title": "Paramètres réseaux", + "warning": "Si vous modifiez les adresses Wi-Fi, IP ou de passerelle, vous risquez de perdre la connexion!", "wep": "WEP", "wpa": "wpa-psk" }, @@ -151,6 +281,7 @@ "add_new_registry": "Ajouter un nouveau registre", "add_registry": "Ajouter un registre", "failed_to_add": "Échec de l'ajout du registre", + "failed_to_remove": "Échec de la suppression du registre", "no_registries": "Aucun registre configuré", "password": "Mot de passe", "registry": "Registre", @@ -160,53 +291,126 @@ "repositories": { "add": "Ajouter", "remove": "Supprimer", - "title": "Gérer les référentiels d'add-ons" + "title": "Gérer les dépôts d'add-ons" }, "restart_addon": { - "confirm_text": "Redémarrer add-on" + "confirm_text": "Redémarrer add-on", + "text": "Voulez-vous redémarrer l’add-on avec vos modifications ?" }, "update": { - "snapshot": "Instantané" + "create_snapshot": "Créez un instantané de {name} avant de mettre à jour", + "snapshot": "Instantané", + "snapshotting": "Création d'un instantané de {name}", + "updating": "Mise à jour de {name} vers la version {version}" } }, "my": { - "error_addon_not_found": "Add-on non trouvé" + "error": "Une erreur inconnue s'est produite", + "error_addon_not_found": "Add-on non trouvé", + "faq_link": "FAQ de My Home Assistant" + }, + "panel": { + "dashboard": "Tableau de bord", + "snapshots": "Instantanés", + "store": "Boutique des modules complémentaires", + "system": "Système" }, "snapshot": { + "addons": "Add-ons", "available_snapshots": "Instantanés disponibles", + "could_not_create": "Impossible de créer un instantané", "create": "Créer", + "create_blocked_not_running": "La création d’un instantané n’est pas possible en ce moment car le système est en état {state}.", "create_snapshot": "Créer un instantané", + "description": "Les instantanés vous permettent de sauvegarder et de restaurer facilement toutes les données de votre instance Home Assistant.", + "enter_password": "Veuillez entrer un mot de passe.", "folder": { + "addons/local": "Add-ons locaux", + "homeassistant": "Configuration Home Assistant", "media": "Médias", "share": "Partager", "ssl": "SSL" }, "folders": "Dossiers", + "full_snapshot": "Instantané complet", "name": "Nom", + "no_snapshots": "Vous n'avez pas encore d'instantanés.", + "partial_snapshot": "Instantané partiel", "password": "Mot de passe", + "password_protected": "protégé par mot de passe", + "password_protection": "Protection par mot de passe", "security": "Sécurité", "type": "Type", "upload_snapshot": "Téléverser un instantané" }, "store": { + "no_results_found": "Aucun résultat trouvé dans {repository}.", "registries": "Registres", "repositories": "Dépôts" }, "system": { + "core": { + "cpu_usage": "Utilisation du CPU Core", + "ram_usage": "Utilisation de la RAM Core" + }, "host": { + "change": "Changer", + "change_hostname": "Changer le nom de l'hôte", + "confirm_reboot": "Êtes-vous sûr de vouloir redémarrer l'hôte ?", + "confirm_shutdown": "Êtes-vous sûr de vouloir arrêter l'hôte ?", + "deployment": "Déploiement", + "docker_version": "Version Docker", + "emmc_lifetime_used": "Durée de vie de l'eMMC utilisée", + "failed_to_get_hardware_list": "Impossible d'obtenir la liste du matériel", + "failed_to_import_from_usb": "Impossible d'importer à partir de l'USB", + "failed_to_reboot": "Échec du redémarrage du système.", + "failed_to_set_hostname": "Échec du paramétrage du nom de la machine", + "failed_to_shutdown": "Échec de l'arrêt du système", "hardware": "Matériel", + "hostname": "Nom d'hôte", + "import_from_usb": "Importer depuis USB", + "ip_address": "Adresse IP", + "new_hostname": "Veuillez saisir un nouveau nom d'hôte:", + "operating_system": "Système d'exploitation", "reboot_host": "Redémarrer l'hôte", - "shutdown_host": "Arrêter l'hôte" + "shutdown_host": "Arrêter l'hôte", + "used_space": "Espace utilisé" + }, + "log": { + "log_provider": "Fournisseur de journaux" }, "supervisor": { + "beta_backup": "Assurez-vous d'avoir des sauvegardes de vos données avant d'activer cette fonctionnalité.", + "beta_join_confirm": "Voulez-vous rejoindre le canal bêta?", + "beta_release_items": "Cela inclut les versions bêta pour:", "channel": "Canal", + "cpu_usage": "Utilisation du processeur par Supervisor", + "failed_to_reload": "Échec du rechargement de Supervisor", + "failed_to_set_option": "Échec lors du paramétrage de l'option du Supervisor", + "failed_to_update": "Échec de la mise à jour de Supervisor", + "join_beta_action": "Rejoignez le canal bêta", + "leave_beta_action": "Quitter le canal bêta", + "ram_usage": "Utilisation de la RAM Supervisor", "reload_supervisor": "Recharger le superviseur", + "share_diagnostics": "Partager les diagnostics", + "share_diagnostics_description": "Partagez les rapports d'incident et les informations de diagnostic.", "share_diagonstics_title": "Aider à améliorer Home Assistant", + "unhealthy_reason": { + "supervisor": "Le Supervisor ne peu pas mettre à jour" + }, + "unhealthy_title": "Votre installation est défectueuse", "unsupported_reason": { + "container": "Conteneurs connus pour causer des problèmes", "dbus": "DBUS", + "docker_configuration": "Configuration de Docker", + "docker_version": "Version Docker", "lxc": "LXC", + "network_manager": "Gestionnaire de réseaux", + "os": "Système d'exploitation", "systemd": "Systemd" }, + "unsupported_title": "Vous exécutez une installation non prise en charge", + "update_supervisor": "Mettre à jour Supervisor", "warning": "AVERTISSEMENT" } } diff --git a/translations/frontend/he.json b/translations/frontend/he.json index 182f9ea17d..4e68f4b0eb 100644 --- a/translations/frontend/he.json +++ b/translations/frontend/he.json @@ -388,10 +388,17 @@ "second": "{count} {count, plural,\n one {שנייה}\n other {שניות}\n}", "week": "{count} {count, plural,\n one {שבוע}\n other {שבועות}\n}" }, + "future_duration": { + "day": "בעוד {count} {count, plural,\n one {יום}\n other {ימים}\n}", + "hour": "בעוד {count} {count, plural,\n one {שעה}\n other {שעות}\n}", + "minute": "בעוד {count} {count, plural,\n one {דקה}\n other {דקות}\n}", + "second": "בעוד {count} {count, plural,\n one {שניה}\n other {שניות}\n}", + "week": "בעוד {count} {count, plural,\n one {שבוע}\n other {שבועות}\n}" + }, "never": "אף פעם לא", "past_duration": { "day": "לפני {count} {count, plural,\n one {day}\n other {days}\n}", - "hour": "לפני {count} {count, plural,\n one {hour}\n other {hours}\n}", + "hour": "לפני {count} {count, plural,\n one {שעה}\n other {שעות}\n}", "minute": "לפני {count} {count, plural,\n one {minute}\n other {minutes}\n}", "second": "לפני {count} {count, plural,\n one {second}\n other {seconds}\n}", "week": "לפני {count} {count, plural,\n one {week}\n other {weeks}\n}" @@ -1394,7 +1401,7 @@ "add_integration": "הוסף אינטגרציה", "caption": "אינטגרציות", "config_entry": { - "area": "ב {area}", + "area": "ב-{area}", "delete": "מחק", "delete_confirm": "האם אתה בטוח שברצונך למחוק אינטגרציה זו?", "device_unavailable": "מכשיר אינו זמין", diff --git a/translations/frontend/id.json b/translations/frontend/id.json index b13629a76d..17043324e3 100644 --- a/translations/frontend/id.json +++ b/translations/frontend/id.json @@ -44,6 +44,7 @@ "preset_mode": { "activity": "Aktivitas", "away": "Keluar", + "boost": "Kencang", "comfort": "Nyaman", "eco": "Eco", "home": "Rumah", @@ -56,6 +57,7 @@ "auto": "Otomatis", "away": "Keluar", "baby": "Bayi", + "boost": "Kencang", "comfort": "Nyaman", "eco": "Eco", "home": "Rumah", @@ -162,7 +164,7 @@ "title": "Akses API Home Assistant" }, "host_network": { - "description": "Add-on biasanya berjalan di lapisan jaringannya sendiri yang terisolasi, yang mencegahnya mengakses jaringan sistem operasi host. Dalam beberapa kasus, isolasi jaringan ini dapat membatasi add-on dalam menyediakan layanannya dan oleh karena itu, isolasi tersebut dapat dicabut oleh pembuat add-on, sehingga memberikan akses penuh add-on ke kemampuan jaringan mesin host. Ini memberi add-on lebih banyak kemampuan jaringan tetapi menurunkan tingkat keamanan. Oleh karena itu, peringkat keamanan add-on akan diturunkan ketika opsi ini digunakan oleh add-on.", + "description": "Add-on biasanya berjalan di lapisan jaringannya sendiri yang terisolasi, yang mencegahnya mengakses jaringan sistem operasi host. Dalam beberapa kasus, isolasi jaringan ini dapat membatasi add-on dalam menyediakan layanannya dan oleh karena itu, izin isolasi tersebut dapat dicabut oleh pembuat add-on, sehingga memberikan akses penuh add-on ke kemampuan jaringan mesin host. Ini memberi add-on lebih banyak kemampuan jaringan tetapi menurunkan tingkat keamanan. Oleh karena itu, peringkat keamanan add-on akan diturunkan ketika opsi ini digunakan oleh add-on.", "title": "Jaringan Host" }, "host_pid": { @@ -208,7 +210,7 @@ "install": "instal", "new_update_available": "{name} {version} tersedia", "not_available_arch": "Add-on ini tidak kompatibel dengan prosesor perangkat Anda atau sistem operasi yang Anda instal di perangkat.", - "not_available_version": "Anda menjalanan Home Assistant {core_version_installed}, untuk memperbarui ke versi add-on ini, Anda memerlukan Home Assistant setidaknya versi {core_version_needed}", + "not_available_version": "Anda menjalanan Home Assistant {core_version_installed}. Untuk memperbarui ke versi add-on ini, Anda memerlukan Home Assistant setidaknya versi {core_version_needed}", "open_web_ui": "Buka antarmuka web", "option": { "auto_update": { @@ -267,6 +269,7 @@ }, "common": { "cancel": "Batalkan", + "close": "Tutup", "description": "Deskripsi", "error": { "unknown": "Kesalahan yang tidak diketahui", @@ -363,6 +366,7 @@ }, "my": { "error": "Terjadi kesalahan yang tidak diketahui", + "error_addon_not_found": "Add-on tidak ditemukan", "faq_link": "FAQ Home Assistant Saya", "not_supported": "Pengalihan ini tidak didukung oleh instans Home Assistant Anda. Periksa {link} tentang pengalihan yang didukung dan versi mana mulai diperkenalkan." }, @@ -494,6 +498,7 @@ "card": { "alarm_control_panel": { "arm_away": "Aktifkan utk keluar", + "arm_custom_bypass": "Diaktifkan khusus", "arm_home": "Aktifkan utk di rumah", "arm_night": "Aktifkan utk malam", "clear_code": "Hapus", @@ -757,7 +762,7 @@ "messages": { "became_unavailable": "menjadi tidak tersedia", "changed_to_state": "berubah menjadi {state}", - "cleared_device_class": "dibersihkan (tidak ada {device_class} yang terdeteksi)", + "cleared_device_class": "tidak ada (tidak ada {device_class} yang terdeteksi)", "detected_device_class": "terdeteksi {device_class}", "is_closing": "menutup", "is_opening": "membuka", @@ -878,6 +883,8 @@ "add_area_id": "Pilih area", "add_device_id": "Pilih perangkat", "add_entity_id": "Pilih entitas", + "expand_area_id": "Bentangkan area ini ke masing-masing perangkat dan entitas yang ada di dalamnya. Setelah dibentangkan dan areanya berubah, perangkat dan entitas tidak akan turut diubah secara otomatis.", + "expand_device_id": "Bentangkan perangkat ini ke masing-masing entitas yang ada di dalamnya. Setelah dibentangkan dan perangkatnya berubah, entitas tidak akan turut diubah secara otomatis.", "remove_area_id": "Hapus area", "remove_device_id": "Hapus perangkat", "remove_entity_id": "Hapus entitas" @@ -1006,6 +1013,9 @@ "person": { "create_zone": "Buat zona dari lokasi saat ini" }, + "remote": { + "activity": "Aktivitas saat ini" + }, "restored": { "confirm_remove_text": "Yakin ingin menghapus entitas ini?", "confirm_remove_title": "Hapus entitas?", @@ -1014,8 +1024,8 @@ "remove_intro": "Jika entitas tidak lagi digunakan, Anda dapat membersihkannya dengan menghapusnya." }, "script": { - "last_action": "Aksi Terakhir", - "last_triggered": "Terpicu Terakhir" + "last_action": "Aksi terakhir", + "last_triggered": "Terpicu terakhir" }, "settings": "Pengaturan entitas", "sun": { @@ -2520,7 +2530,7 @@ "input_number": "Muat ulang input bilangan", "input_select": "Muat ulang input pilihan", "input_text": "Muat ulang input teks", - "introduction": "Beberapa bagian Home Assistant dapat memuat ulang tanpa memerlukan memulai ulang. Menekan tombol muat ulang akan membatalkan konfigurasi YAML saat ini dan memuat konfigurasi yang baru.", + "introduction": "Beberapa bagian Home Assistant dapat memuat ulang tanpa memerlukan memulai ulang. Penekanan tombol muat ulang akan membatalkan konfigurasi YAML saat ini dan memuat konfigurasi yang baru.", "min_max": "Muat ulang entitas min/maks", "mqtt": "Muat ulang entitas MQTT yang dikonfigurasi secara manual", "person": "Muat ulang orang", diff --git a/translations/frontend/it.json b/translations/frontend/it.json index 5e3f10c6f4..26fe89b096 100644 --- a/translations/frontend/it.json +++ b/translations/frontend/it.json @@ -269,6 +269,7 @@ }, "common": { "cancel": "Annulla", + "close": "Chiudi", "description": "Descrizione", "error": { "unknown": "Errore sconosciuto", @@ -365,6 +366,7 @@ }, "my": { "error": "Si è verificato un errore sconosciuto", + "error_addon_not_found": "Componente aggiuntivo non trovato", "faq_link": "My Home Assistant FAQ", "not_supported": "Questo reindirizzamento non è supportato dall'istanza di Home Assistant. Controlla il {link} per i reindirizzamenti supportati e la versione in cui sono stati introdotti." }, @@ -2557,7 +2559,7 @@ "validation": { "check_config": "Verifica Configurazione", "heading": "Convalida della configurazione", - "introduction": "Convalidare la configurazione se di recente sono state apportate alcune modifiche alla configurazione e ci si vuole assicurare che sia tutto valido", + "introduction": "Controllare la configurazione se essa è stata modificata di recente e ci si vuole assicurare che sia tutto valido.", "invalid": "Configurazione non valida", "valid": "Configurazione valida!" } diff --git a/translations/frontend/ja.json b/translations/frontend/ja.json index f1f778763a..c9bd286e2b 100644 --- a/translations/frontend/ja.json +++ b/translations/frontend/ja.json @@ -766,13 +766,13 @@ "was_closed": "閉鎖されました", "was_connected": "接続されました", "was_disconnected": "切断されました", - "was_locked": "施錠されました", + "was_locked": "施錠しました", "was_low": "低かった", "was_normal": "正常でした", "was_opened": "開かれました", "was_plugged_in": "接続されました", "was_safe": "安全でした", - "was_unlocked": "解錠されました", + "was_unlocked": "解錠しました", "was_unplugged": "プラグが抜かれました", "was_unsafe": "安全ではなかった" } diff --git a/translations/frontend/lt.json b/translations/frontend/lt.json index 86e1d78c15..d23edef884 100644 --- a/translations/frontend/lt.json +++ b/translations/frontend/lt.json @@ -70,6 +70,72 @@ "dashboard": { "visit_addon_page": "Apsilankykite puslapyje {name}, jei reikia daugiau detalių" } + }, + "common": { + "cancel": "Atšaukti", + "close": "Užverti", + "save": "Išsaugoti" + }, + "confirm": { + "update": { + "title": "Atnaujinti {name}" + } + }, + "dialog": { + "network": { + "connected_to": "Prisijungta prie {ssid}", + "disabled": "Išjungta", + "dns_servers": "DNS serveriai", + "failed_to_change": "Nepavyko pakeisti tinklo nustatymų", + "open": "Atidaryti", + "scan_ap": "Ieškoti prieigos taškų", + "unsaved": "Turite neišsaugotų pakeitimų, ar tikrai norite išeiti?" + }, + "registries": { + "add_new_registry": "Pridėti naują registrą", + "add_registry": "Pridėti registrą", + "no_registries": "Nėra sukonfigūruotų registrų", + "password": "Slaptažodis", + "registry": "Registras", + "remove": "Pašalinti", + "username": "Vartotojo vardas" + }, + "repositories": { + "add": "Pridėti", + "remove": "Pašalinti" + }, + "restart_addon": { + "confirm_text": "Paleiskite priedą iš naujo ", + "text": "Ar norite iš naujo paleisti priedą su pakeitimais?" + }, + "update": { + "create_snapshot": "Prieš naujinant sukurti {name} momentinę kopiją", + "updating": "{name} naujinama į versiją {version}" + } + }, + "my": { + "error_addon_not_found": "Priedas nerastas" + }, + "snapshot": { + "addons": "Priedai", + "could_not_create": "Nepavyko sukurti momentinės kopijos", + "create": "Sukurti", + "enter_password": "Įveskite slaptažodį.", + "folder": { + "homeassistant": "„Home Assistant“ konfigūracija" + }, + "folders": "Aplankai", + "name": "Pavadinimas", + "no_snapshots": "Dar neturite momentinių kopijų.", + "password": "Slaptažodis", + "security": "Saugumas", + "type": "Tipas" + }, + "system": { + "host": { + "hardware": "Įranga", + "import_from_usb": "Importuoti iš USB" + } } }, "ui": { @@ -204,6 +270,9 @@ }, "more_info_control": { "dismiss": "Atsisakyti dialogo", + "remote": { + "activity": "Dabartinė veikla" + }, "script": { "last_action": "Paskutinis veiksmas" }, diff --git a/translations/frontend/nl.json b/translations/frontend/nl.json index c290f9bf29..a9a099e8fb 100644 --- a/translations/frontend/nl.json +++ b/translations/frontend/nl.json @@ -128,14 +128,14 @@ }, "dashboard": { "action_error": { - "get_changelog": "Mislukt om add-on changelog te krijgen", + "get_changelog": "Ophalen changelog van add-on is mislukt", "go_to_config": "Kan de add-on niet starten - configuratie validatie mislukt!", "install": "De installatie van de add-on is mislukt", "restart": "Kan de add-on niet herstarten", "start": "Kan de add-on niet starten", "start_invalid_config": "Ga naar configuratie", "stop": "Kan add-on niet stoppen", - "uninstall": "De installatie van de add-on is mislukt", + "uninstall": "De de-installatie van de add-on is mislukt", "validate_config": "De configuratie van de add-on kon niet worden gevalideerd" }, "capability": { @@ -172,7 +172,7 @@ "title": "Host Processes Namespace" }, "ingress": { - "description": "Deze add-on maakt gebruik van Ingress om zijn interface veilig toe te passen in Home Assistant.", + "description": "Deze add-on maakt gebruik van Ingress om zijn gebruikersinterface veilig te integreren in Home Assistant.", "title": "Ingress" }, "label": { @@ -209,24 +209,24 @@ "hostname": "Hostnaam", "install": "installeren", "new_update_available": "{name} {version} is beschikbaar", - "not_available_arch": "Deze add-on is niet compatibel met de processor van uw apparaat of het besturingssysteem dat u op uw apparaat hebt geïnstalleerd.", - "not_available_version": "U draait Home Assistant {core_version_installed}. Om de add-on naar deze versie bij te werken dient u op zijn minst Home Assistant {core_version_needed} te hebben.", + "not_available_arch": "Deze add-on is niet compatibel met de processor van je apparaat of het besturingssysteem dat je op je apparaat hebt geïnstalleerd.", + "not_available_version": "Je draait Home Assistant {core_version_installed}. Om de add-on naar deze versie bij te werken moet je minimaal Home Assistant {core_version_needed} hebben.", "open_web_ui": "Open web UI", "option": { "auto_update": { "description": "Update automatisch de add-on wanneer er een nieuwe versie beschikbaar is", - "title": "Automatisch updaten" + "title": "Automatisch bijwerken" }, "boot": { "description": "Laat de add-on starten tijdens het opstarten van het systeem", "title": "Start bij opstarten" }, "ingress_panel": { - "description": "Voeg deze add-on toe aan uw zijbalk", + "description": "Voeg deze add-on toe aan je zijbalk", "title": "Weergeven in zijbalk" }, "protected": { - "description": "Blokkeert verhoogde systeem toegang van de add-on", + "description": "Blokkeert systeemtoegang met extra rechten voor de add-on", "title": "Beschermingsmodus" }, "watchdog": { @@ -241,19 +241,19 @@ }, "ram_usage": "Add-on RAM-gebruik", "rebuild": "Herbouw", - "restart": "herstarten", + "restart": "herstart", "start": "start", "stop": "stop", "uninstall": "verwijderen", "visit_addon_page": "Bezoek de {name} pagina voor meer details" }, "documentation": { - "get_documentation": "Mislukt om add-on documentatie te krijgen, {error}" + "get_documentation": "Ophalen documentatie van add-on is mislukt, {error}" }, "failed_to_reset": "Kan configuratie van add-on niet resetten, {error}", "failed_to_save": "Mislukt om add-on configuratie op te slaan, {error}", "logs": { - "get_logs": "Mislukt om add-on logs te krijgen, {error}" + "get_logs": "Ophalen logs van add-on is mislukt, {error}" }, "panel": { "configuration": "Configuratie", @@ -275,8 +275,8 @@ "unknown": "Onbekende fout", "update_failed": "Update mislukt" }, - "failed_to_restart_name": "Mislukt om {name} te herstarten", - "failed_to_update_name": "Mislukt om {name} bij te werken", + "failed_to_restart_name": "Herstarten {name} is mislukt", + "failed_to_update_name": "Bijwerken {name} is mislukt", "learn_more": "Meer informatie", "new_version_available": "Nieuwe versie beschikbaar", "newest_version": "Nieuwste versie", @@ -284,15 +284,15 @@ "refresh": "Vernieuwen", "release_notes": "Release-notities", "reload": "Herlaad", - "reset_defaults": "Terugzetten naar standaardinstellingen", + "reset_defaults": "Standaardinstellingen terugzetten", "reset_options": "Reset opties", "restart": "Herstart", "restart_name": "Herstart {name}", - "running_version": "U gebruikt momenteel versie {version}", + "running_version": "Je gebruikt momenteel versie {version}", "save": "Opslaan", "show_more": "Toon meer informatie hierover", "update": "Update", - "update_available": "{count, plural, one {Update} other {{count} Updates}} Wachtend", + "update_available": "Er staan {count, plural, one {Update} other {{count} Updates}} klaar", "version": "Versie", "yes": "Ja" }, @@ -323,35 +323,35 @@ "dhcp": "DHCP", "disabled": "Uitgeschakeld", "dns_servers": "DNS-servers", - "failed_to_change": "Kan de netwerkinstellingen niet wijzigen", + "failed_to_change": "Wijzigen netwerkinstellingen mislukt", "gateway": "Gateway-adres", "ip_netmask": "IP-adres/Netmask", "open": "Open", "scan_ap": "Scan voor toegangspunten", "static": "Statisch", "title": "Netwerkinstellingen", - "unsaved": "U heeft onopgeslagen wijzigingen, deze gaan verloren als u van tabblad verandert, wilt u doorgaan?", - "warning": "Als u het Wi-Fi, IP of gateway adres verandert, kunt u de verbinding verliezen!", + "unsaved": "U heeft niet-opgeslagen wijzigingen, deze gaan verloren als u van tabblad verandert, wilt u doorgaan?", + "warning": "Als u het Wi-Fi-, IP- of gateway-adres verandert, kunt u de verbinding verliezen!", "wep": "WEP", "wpa": "wpa-psk" }, "registries": { - "add_new_registry": "Voeg een nieuw register toe", - "add_registry": "Voeg register toe", - "failed_to_add": "Mislukt om register toe te voegen", - "failed_to_remove": "Het is niet gelukt om het register te verwijderen", + "add_new_registry": "Nieuw register toevoegen", + "add_registry": "Register toevoegen", + "failed_to_add": "Register toevoegen mislukt", + "failed_to_remove": "Register verwijderen mislukt", "no_registries": "Geen registers geconfigureerd", "password": "Wachtwoord", "registry": "Register", "remove": "Verwijderen", "title_add": "Nieuwe container registratie toevoegen", - "title_manage": "Containerregisters beheren", + "title_manage": "Beheer containerregisters", "username": "Gebruikersnaam" }, "repositories": { "add": "Toevoegen", - "remove": "Verwijder", - "title": "Beheer add-on opslagplaatsen" + "remove": "Verwijderen", + "title": "Beheer add-on repository's" }, "restart_addon": { "confirm_text": "Herstart add-on", @@ -360,7 +360,7 @@ "update": { "create_snapshot": "Maak een snapshot van {name} voordat u gaat updaten", "snapshot": "Snapshot", - "snapshotting": "Maak een snapshot van {name}", + "snapshotting": "Een snapshot van {name} aan het maken", "updating": "Bijwerken van {name} naar versie {version}" } }, @@ -405,10 +405,10 @@ "upload_snapshot": "Upload snapshot" }, "store": { - "missing_addons": "Mis je de add-ons? Schakel de geadvanceerde modus in op uw gebruikersprofielpagina", + "missing_addons": "Mis je de add-ons? Schakel de geavanceerde modus in op uw gebruikersprofielpagina", "no_results_found": "Geen resultaten gevonden in {repository}.", "registries": "Registers", - "repositories": "Opslagplaatsen" + "repositories": "Repository's" }, "system": { "core": { @@ -416,42 +416,42 @@ "ram_usage": "Core RAM-gebruik" }, "host": { - "change": "Verander", + "change": "Wijzig", "change_hostname": "Hostnaam wijzigen", - "confirm_reboot": "Weet u zeker dat u de host opnieuw wilt opstarten?", + "confirm_reboot": "Weet u zeker dat u de host wilt herstarten?", "confirm_shutdown": "Weet je zeker dat je de host wilt afsluiten?", - "deployment": "Implementatie", + "deployment": "Uitrol", "docker_version": "Docker versie", "emmc_lifetime_used": "eMMC Levensduur Gebruikt", "failed_to_get_hardware_list": "Kan geen hardware lijst krijgen", "failed_to_import_from_usb": "Importeren vanaf USB mislukt", - "failed_to_reboot": "Kan de host niet herstarten", + "failed_to_reboot": "Herstarten host mislukt", "failed_to_set_hostname": "Instellen hostnaam mislukt", - "failed_to_shutdown": "Het is niet gelukt om de host af te sluiten", + "failed_to_shutdown": "Afsluiten host mislukt", "hardware": "Hardware", "hostname": "Hostnaam", "import_from_usb": "Importeren van USB", "ip_address": "IP-adres", "new_hostname": "Voer een nieuwe hostnaam in:", "operating_system": "Besturingssysteem", - "reboot_host": "Host opnieuw opstarten", + "reboot_host": "Host herstarten", "shutdown_host": "Host afsluiten", "used_space": "Gebruikte ruimte" }, "log": { - "get_logs": "Mislukt om {provider} logs te krijgen, {error}", + "get_logs": "Ophalen {provider} logs mislukt, {error}", "log_provider": "Logboekprovider" }, "supervisor": { - "beta_backup": "Zorg ervoor dat u back-ups van uw gegevens hebt voordat u deze functie activeert.", + "beta_backup": "Zorg ervoor dat je back-ups van je gegevens hebt voordat je deze functie activeert.", "beta_join_confirm": "Wil je meedoen met de bèta releases?", "beta_release_items": "Dit omvat beta releases voor:", "beta_warning": "Beta-releases zijn voor testers en early adopters en kunnen onstabiele codewijzigingen bevatten", "channel": "Kanaal", "cpu_usage": "Supervisor CPU-gebruik", - "failed_to_reload": "Het is niet gelukt de Supervisor te herladen", - "failed_to_set_option": "Mislukt om Supervisor-optie in te stellen", - "failed_to_update": "Het is niet gelukt om de Supervisor bij te werken", + "failed_to_reload": "Herladen van de Supervisor is mislukt", + "failed_to_set_option": "Instellen van Supervisor-optie is mislukt", + "failed_to_update": "Bijwerken van de Supervisor is mislukt", "join_beta_action": "Word lid van het beta-kanaal", "join_beta_description": "Ontvang beta-updates voor Home Assistant (RC's), Supervisor en host", "leave_beta_action": "Verlaat beta-kanaal", @@ -465,12 +465,12 @@ "unhealthy_description": "Het draaien van een onvolledige installatie zal problemen veroorzaken. Hieronder vindt u een lijst met problemen die gevonden zijn met uw installatie, klik op de links om te leren hoe u de problemen kunt oplossen.", "unhealthy_reason": { "docker": "De Docker omgeving werkt niet goed", - "privileged": "Supervisor heeft niet voldoende toegang", + "privileged": "Supervisor heeft onvoldoende toegangsrechten", "setup": "Setup van de Supervisor mislukt", - "supervisor": "Supervisor kon niet updaten" + "supervisor": "Supervisor kon niet worden bijgewerkt" }, - "unhealthy_title": "Uw installatie is niet volledig", - "unsupported_description": "Hieronder vindt u een lijst met problemen die bij uw installatie zijn aangetroffen. Klik op de links om te zien hoe u de problemen kunt oplossen.", + "unhealthy_title": "Er is iets mis met je installatie", + "unsupported_description": "Hieronder vindt je een lijst met problemen die bij je installatie zijn aangetroffen. Klik op de links om te zien hoe je de problemen kunt oplossen.", "unsupported_reason": { "container": "Containers waarvan bekend is dat ze problemen veroorzaken", "dbus": "DBUS", @@ -480,11 +480,11 @@ "lxc": "LXC", "network_manager": "Netwerkmanager", "os": "Besturingssysteem", - "privileged": "Supervisor heeft niet voldoende toegang", + "privileged": "Supervisor heeft onvoldoende toegangsrechten", "systemd": "Systemd" }, - "unsupported_title": "U gebruikt een niet-ondersteunde installatie", - "update_supervisor": "Supervisor updaten", + "unsupported_title": "Je gebruikt een niet-ondersteunde installatie", + "update_supervisor": "Supervisor bijwerken", "warning": "WAARSCHUWING" } } @@ -2935,7 +2935,7 @@ "data": "Gebeurtenis data (YAML, optioneel)", "description": "Start een evenement op de Home Assistant-gebeurtenisbus", "documentation": "Gebeurtenissen documentatie.", - "event_fired": "Gebeurtenis {name} afgevuurd", + "event_fired": "Gebeurtenis {name} uitgevoerd", "fire_event": "Gebeurtenis uitvoeren", "listen_to_events": "Luisteren naar gebeurtenissen", "listening_to": "Luisteren naar", diff --git a/translations/frontend/ro.json b/translations/frontend/ro.json index 6e7e338b26..1278b240fd 100644 --- a/translations/frontend/ro.json +++ b/translations/frontend/ro.json @@ -101,6 +101,99 @@ "unknown": "Necunoscut" } }, + "supervisor": { + "addon": { + "configuration": { + "audio": { + "header": "Audio" + }, + "network": { + "disabled": "Dezactivat", + "header": "Rețea" + }, + "options": { + "edit_in_ui": "Modificați în interfața de utilizator", + "edit_in_yaml": "Editați în YAML", + "header": "Opțiuni", + "invalid_yaml": "YAML nevalid" + } + }, + "dashboard": { + "changelog": "Jurnal de schimbări", + "option": { + "auto_update": { + "title": "Actualizare automată" + } + } + }, + "panel": { + "configuration": "Configurare", + "documentation": "Documentație" + } + }, + "common": { + "description": "Descriere", + "error": { + "unknown": "Eroare necunoscută", + "update_failed": "Actualizare eșuată" + }, + "learn_more": "Aflați mai multe", + "new_version_available": "Versiune nouă disponibilă", + "newest_version": "Cea mai nouă versiune", + "show_more": "Afișați mai multe informații despre acest lucru", + "update": "Actualizați", + "version": "Versiune" + }, + "confirm": { + "reset_options": { + "text": "Sigur doriți să resetați toate opțiunile?", + "title": "Resetați opțiunile" + }, + "update": { + "title": "Actualizați {name}" + } + }, + "dialog": { + "network": { + "disabled": "Dezactivat", + "dns_servers": "Servere DNS" + }, + "registries": { + "password": "Parolă", + "username": "Nume de utilizator" + }, + "update": { + "updating": "Se actualizează {name} la versiunea {version}" + } + }, + "panel": { + "dashboard": "Tablou de bord" + }, + "snapshot": { + "enter_password": "Vă rugăm să introduceți o parolă.", + "folders": "Dosare", + "name": "Nume", + "password": "Parolă", + "type": "Tip" + }, + "system": { + "host": { + "docker_version": "Versiune Docker", + "ip_address": "Adresa IP", + "operating_system": "Sistem de operare", + "used_space": "Spațiu utilizat" + }, + "supervisor": { + "beta_join_confirm": "Doriți să vă alăturați canalului beta?", + "channel": "Canal", + "leave_beta_action": "Părăsiți canalul beta", + "unsupported_reason": { + "docker_version": "Versiunea Docker", + "os": "Sistem de operare" + } + } + } + }, "ui": { "auth_store": { "ask": "Doriți să rămâneți autentificat?", @@ -215,7 +308,7 @@ "actions": { "resume_cleaning": "Reluați curățarea", "return_to_base": "Întoarcere la doc", - "start_cleaning": "Începeți curățarea", + "start_cleaning": "Începe curățarea", "turn_off": "Opriți", "turn_on": "Porniți" } @@ -292,6 +385,13 @@ "yes": "Da" }, "components": { + "addon-picker": { + "error": { + "no_supervisor": { + "title": "Fără Supervisor" + } + } + }, "area-picker": { "add_dialog": { "add": "Adăugați", @@ -312,6 +412,10 @@ "remove_user": "Eliminați utilizatorul", "select_blueprint": "Selectați un plan" }, + "calendar": { + "my_calendars": "Calendarele mele", + "today": "Astăzi" + }, "data-table": { "no-data": "Fără date", "search": "Căutați" @@ -484,7 +588,7 @@ "customize_link": "personalizarea entității", "dismiss": "Renunțați", "editor": { - "advanced": "Setari avansate", + "advanced": "Setări avansate", "area": "Setați numai zona entității", "area_note": "În mod implicit, entitățile unui dispozitiv se află în aceeași zonă cu dispozitivul. Dacă modificați zona acestei entități, aceasta nu va mai urma zona dispozitivului.", "change_device_area": "Schimbați zona dispozitivului", @@ -507,7 +611,7 @@ "update": "Actualizați" }, "faq": "documentație", - "info_customize": "Puteți suprascrie unele atribute în secțiunea {customize_link} .", + "info_customize": "Puteți suprascrie unele atribute în secțiunea {customize_link}.", "no_unique_id": "Această entitate („ {entity_id} ”) nu are un ID unic, prin urmare setările sale nu pot fi gestionate din interfața de utilizator. Consultați {faq_link} pentru mai multe detalii.", "related": "În legătură cu", "settings": "Setări" @@ -602,7 +706,7 @@ "vacuum": { "clean_spot": "Loc curat", "commands": "Comenzi aspirator:", - "fan_speed": "Viteza ventilatorului", + "fan_speed": "Mod aspirare", "locate": "Localizați", "pause": "Pauză", "return_home": "Întoarce-te acasă", @@ -724,7 +828,7 @@ "error_detected": "Au fost detectate erori de configurare", "key_missing": "Cheia necesară \"{key}\" lipsește.", "key_not_expected": "Cheia \"{key}\" nu este așteptată sau nu este acceptată de editorul vizual.", - "key_wrong_type": "Valoarea furnizată pentru \"{key}\" nu este acceptată de editorul de editare vizuală. Acceptăm ({type_correct}), dar am primit ({type_wrong}).", + "key_wrong_type": "Valoarea furnizată pentru \"{key}\" nu este acceptată de editorul vizual. Acceptăm ({type_correct}), dar am primit ({type_wrong}).", "no_type_provided": "Niciun tip furnizat." } }, @@ -834,7 +938,7 @@ "extra_fields": { "code": "Cod", "message": "Mesaj", - "position": "Pozitie", + "position": "Poziţie", "title": "Titlu" }, "label": "Dispozitiv" @@ -917,8 +1021,8 @@ "numeric_state": { "above": "Peste", "below": "Sub", - "label": "Status numeric", - "value_template": "Valoare șablon (opțional)" + "label": "Stare numerică", + "value_template": "Valoarea şablon (opţional)" }, "or": { "label": "Sau" @@ -1211,7 +1315,7 @@ "sign_out": "Deconectare", "thank_you_note": "Vă mulțumim că faceți parte din Home Assistant Cloud. Datorită oamenilor ca dvs. suntem capabili să facem o experiență excelentă de automatizare a locuinței pentru toată lumea. Mulțumim!", "tts": { - "default_language": "Limba implicită de utilizat", + "default_language": "Limba implicită folosită", "dialog": { "example_message": "Bună ziua {name}, puteți reda orice text pe orice player media acceptat!", "header": "Încercați text în vorbire", @@ -1223,7 +1327,7 @@ "info": "Aduceți personalitate acasă, făcându-i să vă vorbească folosind serviciile noastre Text-to-Speech. Puteți utiliza acest lucru în automatizări și scripturi utilizând serviciul {service} .", "male": "Bărbat", "title": "Text în vorbire", - "try": "Încercaţi" + "try": "Încercați" }, "webhooks": { "disable_hook_error_msg": "Nu putut fi dezactivat webhook-ul:", @@ -1595,7 +1699,17 @@ "delete_confirm": "Sigur doriți să ștergeți această integrare?", "device_unavailable": "Dispozitiv indisponibil", "devices": "{count} {count, plural,\n one {dispozitiv}\n other {dispozitive}\n}", + "disable": { + "disabled": "Dezactivat", + "disabled_by": { + "device": "dispozitiv", + "integration": "integrare", + "user": "utilizator" + }, + "disabled_cause": "Dezactivat de {cause}" + }, "documentation": "Documentație", + "enable_restart_confirm": "Reporniți Home Assistant pentru a finaliza activarea acestei integrări", "entities": "{count} {count, plural,\n one {entity}\n other {entities}\n}", "entity_unavailable": "Entitate indisponibilă", "firmware": "Firmware: {version}", @@ -1617,6 +1731,7 @@ "close": "Închide", "created_config": "Configurare creată pentru {name}.", "dismiss": "Ascunde dialogul", + "error": "Eroare", "error_saving_area": "Imposibil de salvat zona: {error}", "external_step": { "description": "Acest pas necesită să vizitați un site web extern pentru a fi finalizat.", @@ -1632,6 +1747,11 @@ "confirm_new": "Doriți să configurați {integration} ?", "description": "Gestionați integrările cu servicii, dispozitive, ...", "details": "Detalii integrare", + "disable": { + "disabled_integrations": "{number} dezactivat", + "hide_disabled": "Ascundeți integrările dezactivate", + "show_disabled": "Afișați integrări dezactivate" + }, "discovered": "Descoperit", "home_assistant_website": "Site-ul Home Assistant", "ignore": { @@ -2170,7 +2290,7 @@ "group_details": "Iată toate detaliile pentru grupul Zigbee selectat.", "group_id": "ID grup", "group_info": "Informații despre grup", - "group_name_placeholder": "Numele Grupului", + "group_name_placeholder": "Numele grupului", "group_not_found": "Grupul nu a fost găsit!", "groups": "Grupuri", "members": "Membri", @@ -2238,8 +2358,8 @@ "remove_node": "Eliminați nodul" }, "dashboard": { - "driver_version": "Versiunea driverului", - "dump_not_ready_confirm": "Descarca", + "driver_version": "Versiune driver", + "dump_not_ready_confirm": "Descarcă", "header": "Gestionați-vă rețeaua Z-Wave", "home_id": "ID domiciliu", "introduction": "Gestionați rețeaua Z-Wave și nodurile Z-Wave", @@ -2259,11 +2379,14 @@ "unknown": "Necunoscut" }, "node_status": { - "alive": "În viaţă", + "alive": "Activ", "asleep": "Adormit", "awake": "Treaz", "dead": "Inactiv", "unknown": "Necunoscut" + }, + "remove_node": { + "title": "Eliminați un nod Z-Wave" } }, "zwave": { @@ -2391,6 +2514,7 @@ "states": { "alert_entity_field": "Entitatea este un câmp obligatoriu", "attributes": "Atribute", + "copy_id": "Copiați ID-ul în clipboard", "current_entities": "Entități actuale", "description1": "Setați reprezentarea unui dispozitiv în cadrul Home Assistant.", "description2": "Acesta nu va comunica cu dispozitivul actual.", @@ -2617,6 +2741,10 @@ "description": "Cardul Glance este util pentru a grupa mai mulți senzori într-o imagine de ansamblu compactă.", "name": "Privire rapida" }, + "grid": { + "columns": "Coloane", + "square": "Randați cardurile sub formă de pătrate" + }, "history-graph": { "description": "Cardul History Graph vă permite să afișați un grafic pentru fiecare dintre entitățile listate.", "name": "Grafic istoric" @@ -2883,6 +3011,7 @@ "playback_title": "Redarea mesajelor" }, "my": { + "documentation": "documentație", "error": "A apărut o eroare necunoscută", "faq_link": "Întrebări frecvente despre Home Assistant", "not_supported": "Această redirecționare nu este acceptată de instanța Home Assistant. Verificați {link} pentru redirecționările acceptate și versiunea pe care au fost introduse." diff --git a/translations/frontend/ru.json b/translations/frontend/ru.json index 45b4632123..c820510945 100644 --- a/translations/frontend/ru.json +++ b/translations/frontend/ru.json @@ -209,7 +209,7 @@ "hostname": "Доменное имя", "install": "установить", "new_update_available": "Доступно обновление {name} до версии {version}", - "not_available_arch": "Это дополнение несовместимо с процессором или установленной операционной системой Вашего устройства.", + "not_available_arch": "Это дополнение несовместимо с процессором или операционной системой Вашего устройства.", "not_available_version": "В настоящее время у Вас установлен Home Assistant {core_version_installed}. Для обновления дополнения требуется Home Assistan версии {core_version_needed} или выше.", "open_web_ui": "Открыть веб-интерфейс", "option": { diff --git a/translations/frontend/sk.json b/translations/frontend/sk.json index b98c8ca01a..9624d00ffe 100644 --- a/translations/frontend/sk.json +++ b/translations/frontend/sk.json @@ -1,7 +1,7 @@ { "config_entry": { "disabled_by": { - "config_entry": "Zadanie konfigurácie", + "config_entry": "Položka konfigurácie", "integration": "integrácia", "user": "Používateľ" } @@ -379,6 +379,7 @@ "confirm_shutdown": "Naozaj chcete vypnúť hostiteľa?", "deployment": "Nasadenie", "docker_version": "Verzia Dockera", + "emmc_lifetime_used": "Použitá životnosť eMMC", "failed_to_get_hardware_list": "Nepodarilo sa získať zoznam hardvéru", "failed_to_import_from_usb": "Nepodarilo sa importovať z USB", "failed_to_reboot": "Nepodarilo sa reštartovať hostiteľa", @@ -463,7 +464,7 @@ }, "automation": { "last_triggered": "Naposledy spustené", - "trigger": "Spustiť" + "trigger": "Spustiť akcie" }, "camera": { "not_available": "Obrázok nie je k dispozícii" @@ -791,6 +792,8 @@ }, "target-picker": { "add_area_id": "Vybrať oblasť", + "expand_area_id": "Rozbaliť túto oblasť na samostatné zariadenia a entity, ktoré obsahuje. Po rozbalení sa nebudú pri zmene oblasti aktualizovať zariadenia a entity.", + "expand_device_id": "Rozbaliť toto zariadenie na samostatné entity, ktoré obsahuje. Po rozbalení sa nebudú pri zmene zariadenia aktualizovať entity.", "remove_area_id": "Odstrániť oblasť" } }, @@ -1137,7 +1140,7 @@ "delete_confirm": "Ste si istý odstránením ? ", "duplicate": "Duplikovať", "header": "Podmienky", - "introduction": "Podmienky sú voliteľnou súčasťou pravidla automatizácie a môžu sa použiť na zabránenie tomu, aby sa akcia vykonala pri spustení. Podmienky vyzerajú veľmi podobne ako spúšťače, ale sú veľmi odlišné. Spúšťač sa zameria na udalosti, ktoré sa dejú v systéme, zatiaľ čo podmienka sa zameriava iba na to, ako systém práve vyzerá. Spúšťač môže pozorovať, že je zapnutý spínač. Podmienkou je iba to, či je vypínač v súčasnosti zapnutý alebo vypnutý. \n\n [Viac informácií o podmienkach.](https://home-assistant.io/docs/scripts/conditions/)", + "introduction": "Podmienky sú voliteľné a zabránia spusteniu automatizácie, pokiaľ nie sú splnené všetky podmienky.", "learn_more": "Získajte viac informácií o podmienkach", "name": "Podmienka", "type_select": "Typ podmienky", @@ -1605,6 +1608,9 @@ "description": "Spravujte nakonfigurované zariadenia", "device_info": "Informácie o zariadení", "disabled": "Vypnuté", + "disabled_by": { + "config_entry": "Položka konfigurácie" + }, "entities": { "add_entities_lovelace": "Pridať do Lovelace", "entities": "Entity", @@ -2071,7 +2077,7 @@ "icon": "Ikona", "id": "Entity ID", "id_already_exists": "Toto ID už existuje", - "introduction": "Na vykonanie sledu akcií použite skripty.", + "introduction": "Pomocou skriptov môžete spustiť postupnosť akcií.", "link_available_actions": "Získajte viac informácií o dostupných akciách.", "load_error_not_editable": "Iba skripty zo súboru scripts.yaml sú editovateľné.", "max": { @@ -2806,7 +2812,7 @@ "confirm_remove_config_text": "Ak odstránite svoju konfiguráciu používateľského rozhrania Lovelace, automaticky vygenerujeme vaše zobrazenia používateľského rozhrania Lovelace s vašimi oblasťami a zariadeniami.", "confirm_remove_config_title": "Naozaj chcete odstrániť svoju konfiguráciu používateľského rozhrania Lovelace?", "confirm_unsaved_changes": "Máte neuložené zmeny. Naozaj chcete odísť?", - "confirm_unsaved_comments": "Vaša konfigurácia obsahuje komentáre, ktoré sa neuložia. Chcete pokračovať?", + "confirm_unsaved_comments": "Vaša konfigurácia môže obsahovať komentár(e), ktoré sa neuložia. Chcete pokračovať?", "error_invalid_config": "Vaša konfigurácia je neplatná: {error}", "error_remove": "Konfiguráciu sa nepodarilo odstrániť: {error}", "error_save_yaml": "Nepodarilo sa uložiť YAML: {error}", diff --git a/translations/frontend/tr.json b/translations/frontend/tr.json index 0e110755e4..b5f9118fa3 100644 --- a/translations/frontend/tr.json +++ b/translations/frontend/tr.json @@ -409,7 +409,7 @@ "disable": "Devre dışı bırak", "enable": "Etkinleştir", "error_required": "Gerekli", - "leave": "Çıkınca", + "leave": "Ayrıl", "loading": "Yükleniyor", "menu": "Menü", "next": "Sonraki", @@ -422,7 +422,7 @@ "rename": "Yeniden adlandır", "save": "Kaydet", "skip": "Atla", - "stay": "Kalmak", + "stay": "Kal", "successfully_deleted": "Başarıyla silindi", "successfully_saved": "Başarıyla kaydedildi", "undo": "Geri al", @@ -1228,7 +1228,7 @@ "enter": "Girince", "event": "Olay:", "label": "Konum", - "leave": "Çıkınca", + "leave": "Ayrıl", "source": "Kaynak", "zone": "Bölge" }, @@ -1291,7 +1291,7 @@ "entity": "Konumu olan varlık", "event": "Olay:", "label": "Bölge", - "leave": "Çıkınca", + "leave": "Ayrıl", "zone": "Bölge" } }, @@ -2688,7 +2688,7 @@ "services": { "accepts_target": "Bu hizmet bir hedefi kabul eder, örneğin: 'entity_id: light.bed_light'", "all_parameters": "Mevcut tüm parametreler", - "call_service": "Arama Servisi", + "call_service": "Servisi Çağır", "column_description": "Açıklama", "column_example": "Örnek", "column_parameter": "Parametre", diff --git a/translations/frontend/zh-Hant.json b/translations/frontend/zh-Hant.json index bfc880ba43..2ca826b94c 100644 --- a/translations/frontend/zh-Hant.json +++ b/translations/frontend/zh-Hant.json @@ -269,12 +269,13 @@ }, "common": { "cancel": "取消", + "close": "關閉", "description": "說明", "error": { "unknown": "未知錯誤", "update_failed": "更新失敗" }, - "failed_to_restart_name": "重啟{name}失敗", + "failed_to_restart_name": "重啟 {name} 失敗", "failed_to_update_name": "更新{name}失敗", "learn_more": "了解更多", "new_version_available": "新版本可供下載", @@ -286,13 +287,13 @@ "reset_defaults": "重置為預設值", "reset_options": "重置選項", "restart": "重啟", - "restart_name": "重啟{name}", + "restart_name": "重啟 {name}", "running_version": "目前執行為 {version} 版", "save": "儲存", "show_more": "顯示關於此更詳細資訊", "update": "更新", "update_available": "{count, plural,\n one {個更新}\n other {{count} 個更新}\n}等候中", - "version": "版本", + "version": "安裝版本", "yes": "是" }, "confirm": { @@ -302,7 +303,7 @@ }, "restart": { "text": "確定要重啟 {name}?", - "title": "重啟{name}" + "title": "重啟 {name}" }, "update": { "text": "確定要更新 {name} 至 {version} 版?", @@ -365,6 +366,7 @@ }, "my": { "error": "發生未知錯誤", + "error_addon_not_found": "找不到附加元件", "faq_link": "Home Assistant 常見問答集", "not_supported": "Home Assistant 不支援此重新導向。點選 {link} 獲取支援之重新導向與版本。" }, @@ -438,7 +440,7 @@ }, "log": { "get_logs": "取得 {provider} 日誌失敗,{error}", - "log_provider": "日誌提供者" + "log_provider": "日誌" }, "supervisor": { "beta_backup": "請於啟用此功能前確定已經備份所有資料。", @@ -463,7 +465,7 @@ "unhealthy_description": "執行不健康的安裝版本可能會導致問題。下方列表為安裝問題清單,點選連結以了解如何解決問題。", "unhealthy_reason": { "docker": "Docker 環境未正常工作", - "privileged": "Supervisor 不允許", + "privileged": "未獲得 Supervisor 特權", "setup": "設定 Supervisor 失敗", "supervisor": "Supervisor 無法進行更新" }, @@ -478,7 +480,7 @@ "lxc": "LXC", "network_manager": "網路管理員", "os": "作業系統", - "privileged": "Supervisor 不允許", + "privileged": "未獲得 Supervisor 特權", "systemd": "Systemd" }, "unsupported_title": "所執行的安裝方式不支援", From f659a6fe37684d789bc9b27072c02a62ccc42c9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sat, 6 Mar 2021 15:17:30 +0200 Subject: [PATCH 028/164] Grammar and spelling fixes (#8568) Co-authored-by: Bram Kragten --- src/translations/en.json | 4 ++-- translations/frontend/en.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/translations/en.json b/src/translations/en.json index 0c6d5dc42d..c896bfe240 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -835,7 +835,7 @@ "no_supervisor": "This redirect is not supported by your Home Assistant installation. It needs either the Home Assistant Operating System or Home Assistant Supervised installation method. For more information, see the {docs_link}.", "documentation": "documentation", "faq_link": "My Home Assistant FAQ", - "error": "An unknown error occured" + "error": "An unknown error occurred" }, "config": { "header": "Configure Home Assistant", @@ -2097,7 +2097,7 @@ "integration": "integration", "device": "device" }, - "disable_confirm": "Are you sure you want to disable this config entry? It's devices and entities will be disabled." + "disable_confirm": "Are you sure you want to disable this config entry? Its devices and entities will be disabled." } }, "config_flow": { diff --git a/translations/frontend/en.json b/translations/frontend/en.json index caba0b0022..c6272d63ca 100644 --- a/translations/frontend/en.json +++ b/translations/frontend/en.json @@ -3808,4 +3808,4 @@ "sidebar_toggle": "Sidebar Toggle" } } -} \ No newline at end of file +} From 35f776284b0502cc885a6dcfcd6efc11011a2f1f Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 6 Mar 2021 05:18:42 -0800 Subject: [PATCH 029/164] Better place where device edit button is on desktop (#8566) --- .../config/devices/ha-config-device-page.ts | 50 ++++++++++++------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/src/panels/config/devices/ha-config-device-page.ts b/src/panels/config/devices/ha-config-device-page.ts index 541ceabd16..aa988682a3 100644 --- a/src/panels/config/devices/ha-config-device-page.ts +++ b/src/panels/config/devices/ha-config-device-page.ts @@ -181,15 +181,17 @@ export class HaConfigDevicePage extends LitElement { ${computeDeviceName(device, this.hass)} + ` : "" } - + +
@@ -197,19 +199,25 @@ export class HaConfigDevicePage extends LitElement { this.narrow ? "" : html` -
-

${computeDeviceName(device, this.hass)}

- ${area - ? html` - ${this.hass.localize( - "ui.panel.config.integrations.config_entry.area", - "area", - area.name || "Unnamed Area" - )} - ` - : ""} +
+
+

${computeDeviceName(device, this.hass)}

+ ${area + ? html` + ${this.hass.localize( + "ui.panel.config.integrations.config_entry.area", + "area", + area.name || "Unnamed Area" + )} + ` + : ""} +
+
` } @@ -780,6 +788,12 @@ export class HaConfigDevicePage extends LitElement { justify-content: space-between; } + .header-name { + display: flex; + align-items: center; + padding-left: 8px; + } + .column, .fullwidth { padding: 8px; From d784a30d42a6d7b4a10fdc6eb06b448ad79e2ef2 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 6 Mar 2021 05:19:56 -0800 Subject: [PATCH 030/164] Allow sharing blueprints (#8565) --- .../config/blueprint/ha-blueprint-overview.ts | 36 ++++++++++++++++++- src/translations/en.json | 2 ++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/src/panels/config/blueprint/ha-blueprint-overview.ts b/src/panels/config/blueprint/ha-blueprint-overview.ts index 7bb8955aac..ba0e80217e 100644 --- a/src/panels/config/blueprint/ha-blueprint-overview.ts +++ b/src/panels/config/blueprint/ha-blueprint-overview.ts @@ -1,5 +1,11 @@ import "@material/mwc-icon-button"; -import { mdiDelete, mdiDownload, mdiHelpCircle, mdiRobot } from "@mdi/js"; +import { + mdiDelete, + mdiDownload, + mdiHelpCircle, + mdiRobot, + mdiShareVariant, +} from "@mdi/js"; import "@polymer/paper-tooltip/paper-tooltip"; import { CSSResult, @@ -140,6 +146,24 @@ class HaBlueprintOverview extends LitElement { )} `, }, + share: { + title: "", + type: "icon-button", + template: (_, blueprint: any) => + blueprint.error + ? "" + : html` this._share(ev)} + >`, + }, delete: { title: "", type: "icon-button", @@ -262,6 +286,16 @@ class HaBlueprintOverview extends LitElement { createNewFunctions[blueprint.domain](this, blueprint); } + private _share(ev) { + const blueprint = ev.currentTarget.blueprint; + const params = new URLSearchParams(); + params.append("redirect", "blueprint_import"); + params.append("blueprint_url", blueprint.source_url); + window.open( + `https://my.home-assistant.io/create-link/?${params.toString()}` + ); + } + private async _delete(ev) { const blueprint = ev.currentTarget.blueprint; if ( diff --git a/src/translations/en.json b/src/translations/en.json index c896bfe240..e4339203a0 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -1531,6 +1531,8 @@ "add_blueprint": "Import blueprint", "use_blueprint": "Create automation", "delete_blueprint": "Delete blueprint", + "share_blueprint": "Share blueprint", + "share_blueprint_no_url": "Unable to share blueprint: no source url", "discover_more": "Discover more blueprints" }, "add": { From 4d3d27f2c48efbaf8c9cb7fcbfa98e71c76a2326 Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Sat, 6 Mar 2021 18:58:29 +0100 Subject: [PATCH 031/164] Move log item level position + color in detail popup header (#8270) --- src/panels/config/logs/dialog-system-log-detail.ts | 12 +++++++----- src/panels/config/logs/system-log-card.ts | 6 +++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/panels/config/logs/dialog-system-log-detail.ts b/src/panels/config/logs/dialog-system-log-detail.ts index 0444724f77..c76e0894b7 100644 --- a/src/panels/config/logs/dialog-system-log-detail.ts +++ b/src/panels/config/logs/dialog-system-log-detail.ts @@ -72,11 +72,7 @@ class DialogSystemLogDetail extends LitElement { - ${this.hass.localize( - "ui.panel.config.logs.details", - "level", - item.level - )} + ${this.hass.localize("ui.panel.config.logs.details", "level", html`${item.level}`)} @@ -176,6 +172,12 @@ class DialogSystemLogDetail extends LitElement { margin-bottom: 0; font-family: var(--code-font-family, monospace); } + .error { + color: var(--error-color); + } + .warning { + color: var(--warning-color); + } ha-header-bar { --mdc-theme-on-primary: var(--primary-text-color); diff --git a/src/panels/config/logs/system-log-card.ts b/src/panels/config/logs/system-log-card.ts index 57533373bf..e7e55c0087 100644 --- a/src/panels/config/logs/system-log-card.ts +++ b/src/panels/config/logs/system-log-card.ts @@ -71,15 +71,15 @@ export class SystemLogCard extends LitElement { this.hass!.language )} – + ${html`(${item.level}) `} ${integrations[idx] ? domainToName( this.hass!.localize, integrations[idx]! ) : item.source[0]} - ${html`(${item.level})`} ${item.count > 1 ? html` - From 4a11975349ab00ba98e9a6a51fd9aac03771e721 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Sat, 6 Mar 2021 23:11:57 +0100 Subject: [PATCH 032/164] Fix codemirror cursor color (#8571) --- src/resources/codemirror.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/resources/codemirror.ts b/src/resources/codemirror.ts index 3ddbce40ad..18e353b4a5 100644 --- a/src/resources/codemirror.ts +++ b/src/resources/codemirror.ts @@ -37,14 +37,17 @@ export const theme = CMEditorView.theme({ backgroundColor: "var(--code-editor-background-color, var(--card-background-color))", "& ::selection": { backgroundColor: "rgba(var(--rgb-primary-color), 0.3)" }, + caretColor: "var(--secondary-text-color)", height: "var(--code-mirror-height, auto)", maxHeight: "var(--code-mirror-max-height, unset)", }, "&.cm-focused": { outline: "none" }, + "&.cm-focused .cm-cursor": { - borderLeftColor: "#var(--secondary-text-color)", + borderLeftColor: "var(--secondary-text-color)", }, + "&.cm-focused .cm-selectionBackground, .cm-selectionBackground": { backgroundColor: "rgba(var(--rgb-primary-color), 0.3)", }, From 705871f8dc37076aa34f8d2302b108e43c8d262b Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Sun, 7 Mar 2021 01:26:43 +0000 Subject: [PATCH 033/164] Translation update --- translations/frontend/bg.json | 46 ++++- translations/frontend/ca.json | 2 + translations/frontend/de.json | 2 +- translations/frontend/el.json | 39 +++-- translations/frontend/en.json | 10 +- translations/frontend/es-419.json | 2 + translations/frontend/es.json | 2 + translations/frontend/et.json | 4 +- translations/frontend/fi.json | 102 +++++++++++ translations/frontend/fr.json | 81 ++++++++- translations/frontend/he.json | 66 ++++++- translations/frontend/ko.json | 264 +++++++++++++++++----------- translations/frontend/nl.json | 20 ++- translations/frontend/pt.json | 30 ++-- translations/frontend/ru.json | 8 +- translations/frontend/tr.json | 271 ++++++++++++++++++++++++++++- translations/frontend/zh-Hans.json | 8 +- translations/frontend/zh-Hant.json | 2 + 18 files changed, 796 insertions(+), 163 deletions(-) diff --git a/translations/frontend/bg.json b/translations/frontend/bg.json index ae64ffce91..85d787d602 100644 --- a/translations/frontend/bg.json +++ b/translations/frontend/bg.json @@ -112,13 +112,16 @@ "output": "Изход" }, "network": { - "header": "Мрежа" + "header": "Мрежа", + "host": "Хост" } }, "dashboard": { "capability": { "label": { "hardware": "хардуер", + "hass": "hass", + "hassio": "hassio", "rating": "рейтинг" }, "role": { @@ -126,14 +129,20 @@ "homeassistant": "homeassistant" } }, + "changelog": "Дневник на промените", + "hostname": "Име на хоста", "option": { "auto_update": { "title": "Автоматично актуализиране" }, "ingress_panel": { + "description": "Добавете тази добавка към страничната си лента", "title": "Показване в страничната лента" } }, + "protection_mode": { + "title": "Внимание: Режимът на защита е деактивиран!" + }, "restart": "рестарт", "start": "старт", "stop": "стоп" @@ -149,6 +158,7 @@ } }, "common": { + "cancel": "Отказ", "close": "Затваряне", "description": "Описание", "error": { @@ -156,10 +166,13 @@ }, "learn_more": "Научете повече", "new_version_available": "Налична е нова версия", + "newest_version": "Последна версия", "no": "Не", + "release_notes": "Бележки към изданието", "reload": "Презареждане", "restart": "Рестартиране", "restart_name": "Рестартиране {name}", + "save": "Запис", "update": "Актуализиране", "version": "Версия", "yes": "Да" @@ -172,6 +185,8 @@ }, "dashboard": { "addon_new_version": "Налична е нова версия", + "addon_running": "Добавката се изпълнява", + "addon_stopped": "Добавката е спряна", "addons": "Добавки" }, "dialog": { @@ -179,11 +194,13 @@ "connected_to": "Свързан с {ssid}", "dhcp": "DHCP", "dns_servers": "DNS Сървъри", + "gateway": "Адрес на шлюза", "ip_netmask": "IP адрес/Мрежова маска", "open": "Отворена", "scan_ap": "Сканиране за точки за достъп", "static": "Статичен", "title": "Мрежови настройки", + "warning": "Ако промените Wi-Fi, IP адреса или адреса на шлюза, може да загубите връзката!", "wep": "WEP", "wpa": "wpa-psk" }, @@ -198,9 +215,13 @@ }, "repositories": { "add": "Добавяне", - "remove": "Премахване" + "remove": "Премахване", + "title": "Управление на хранилищата на добавки" }, "update": { + "create_snapshot": "Създаване на снапшот на {name} преди актуализиране", + "snapshot": "Снапшот", + "snapshotting": "Създава се моментна снимка на {name}", "updating": "Актуализиране на {name} до версия {version}" } }, @@ -210,24 +231,34 @@ }, "panel": { "dashboard": "Табло", + "snapshots": "Снапшоти", + "store": "Хранилище за добавки", "system": "Система" }, "snapshot": { "addons": "Добавки", + "available_snapshots": "Налични Снапшоти", + "could_not_create": "Не можа да се създаде снапшот", "create": "Създаване", + "create_snapshot": "Създаване на снапшот", "enter_password": "Моля, въведете парола.", "folder": { + "addons/local": "Локални добавки", "homeassistant": "Конфигурация на Home Assistant", "media": "Медия", "ssl": "SSL" }, "folders": "Папки", + "full_snapshot": "Пълен снапшот", "name": "Име", + "no_snapshots": "Все още нямате снапшоти", + "partial_snapshot": "Частичен снапшот", "password": "Парола", "password_protected": "защитен с парола", "password_protection": "Защита с парола", "security": "Сигурност", - "type": "Тип" + "type": "Тип", + "upload_snapshot": "Качване на снапшот" }, "store": { "no_results_found": "Няма намерени резултати в {repository}.", @@ -239,6 +270,7 @@ "change": "Промяна", "failed_to_import_from_usb": "Неуспешно импортиране от USB", "hardware": "Хардуер", + "hostname": "Име на хоста", "import_from_usb": "Импортиране от USB", "ip_address": "IP адрес", "operating_system": "Операционна система", @@ -247,14 +279,17 @@ "supervisor": { "beta_backup": "Уверете се, че имате резервни копия на вашите данни, преди да активирате тази функция.", "beta_join_confirm": "Искате ли да се присъедините към бета канала?", + "beta_release_items": "Това включва бета версии за:", "channel": "Канал", "join_beta_action": "Присъединяване към бета канала", "leave_beta_action": "Напускане на бета канала", "reload_supervisor": "Презареждане на Supervisor", + "share_diagonstics_title": "Помогнете за подобряването на Home Assistant", "unsupported_reason": { "dbus": "DBUS", "lxc": "LXC", - "os": "Операционна система" + "os": "Операционна система", + "systemd": "Systemd" }, "update_supervisor": "Актуализиране на Supervisor", "warning": "ВНИМАНИЕ" @@ -1890,7 +1925,8 @@ }, "visualization": { "caption": "Визуализация", - "header": "Визуализация на мрежата" + "header": "Визуализация на мрежата", + "refresh_topology": "Обновяване на топологията" } }, "zone": { diff --git a/translations/frontend/ca.json b/translations/frontend/ca.json index 8ecc3bca2c..27edac1269 100644 --- a/translations/frontend/ca.json +++ b/translations/frontend/ca.json @@ -1626,6 +1626,8 @@ }, "introduction": "La configuració dels blueprints et permet importar-ne i gestionar-los.", "learn_more": "Més informació sobre l'ús dels blueprints", + "share_blueprint": "Comparteix blueprint", + "share_blueprint_no_url": "No s'ha pogut compartir el blueprint: no hi ha cap URL origen", "use_blueprint": "Crea automatització" } }, diff --git a/translations/frontend/de.json b/translations/frontend/de.json index 9736f4912d..d543b9d20e 100644 --- a/translations/frontend/de.json +++ b/translations/frontend/de.json @@ -2169,7 +2169,7 @@ "caption": "Logs", "clear": "Leeren", "description": "Home Assistant Logs einsehen", - "details": "Protokolldetails ( {level} )", + "details": "Protokolldetails ({level})", "load_full_log": "Vollständiges Home Assistant-Protokoll laden", "loading_log": "Fehlerprotokoll wird geladen...", "multiple_messages": "Die Nachricht ist zum ersten Mal um {time} aufgetreten und erscheint {counter} mal", diff --git a/translations/frontend/el.json b/translations/frontend/el.json index 306ed38391..a315b9fe00 100644 --- a/translations/frontend/el.json +++ b/translations/frontend/el.json @@ -165,11 +165,11 @@ }, "host_network": { "description": "Τα πρόσθετα συνήθως εκτελούνται στο δικό τους απομονωμένο επίπεδο δικτύου, το οποίο τους εμποδίζει να έχουν πρόσβαση στο δίκτυο του κεντρικού λειτουργικού συστήματος. Σε ορισμένες περιπτώσεις, αυτή η απομόνωση δικτύου μπορεί να περιορίσει τα πρόσθετα στην παροχή των υπηρεσιών τους και ως εκ τούτου, η απομόνωση μπορεί να αρθεί από τον πρόσθετο συντάκτη, παρέχοντας στο πρόσθετο πλήρη πρόσβαση στις δυνατότητες δικτύου του κεντρικού υπολογιστή. Αυτό δίνει στο πρόσθετο περισσότερες δυνατότητες δικτύωσης αλλά μειώνει την ασφάλεια, επομένως, η βαθμολογία ασφαλείας του πρόσθετου θα μειωθεί όταν αυτή η επιλογή χρησιμοποιείται από το πρόσθετο.", - "title": "Δίκτυο κεντρικού υπολογιστή" + "title": "Δίκτυο διακομιστή" }, "host_pid": { "description": "Συνήθως, οι διαδικασίες που εκτελούνται το πρόσθετο, είναι απομονωμένες από όλες τις άλλες διαδικασίες συστήματος. Ο συντάκτης του πρόσθετου ζήτησε από το πρόσθετο να έχει πρόσβαση στις διεργασίες συστήματος που εκτελούνται στην παρουσία του συστήματος κεντρικού υπολογιστή, και επιτρέπει στο πρόσθετο να δημιουργεί διαδικασίες στο σύστημα κεντρικού υπολογιστή. Αυτή η λειτουργία παρέχει στο πρόσθετο πλήρη πρόσβαση και έλεγχο σε ολόκληρο το σύστημα οικιακού βοηθού σας, το οποίο προσθέτει κινδύνους ασφαλείας και ενδέχεται να προκαλέσει βλάβη στο σύστημά σας όταν γίνεται κατάχρηση. Επομένως, αυτή η δυνατότητα επηρεάζει αρνητικά τη βαθμολογία ασφαλείας του πρόσθετου. \n\n Αυτό το επίπεδο πρόσβασης δεν χορηγείται αυτόματα και πρέπει να επιβεβαιωθεί από εσάς. Για να το κάνετε αυτό, πρέπει να απενεργοποιήσετε τη λειτουργία προστασίας στο πρόσθετο με μη αυτόματο τρόπο. Απενεργοποιήστε τη λειτουργία προστασίας μόνο εάν γνωρίζετε, χρειάζεστε και εμπιστεύεστε την πηγή αυτού του πρόσθετου.", - "title": "Χώρος ονομάτων διεργασιών κεντρικού υπολογιστή" + "title": "Χώρος ονομάτων διεργασιών διακομιστή" }, "ingress": { "description": "Αυτό το πρόσθετο χρησιμοποιεί το Ingress για να ενσωματώσει τη διασύνδεσή του με ασφάλεια στο Home Assistant.", @@ -183,7 +183,7 @@ "hass": "hass", "hassio": "hassio", "host": "κεντρικός υπολογιστής", - "host_pid": "pid κεντρικού υπολογιστή", + "host_pid": "pid διακομιστή", "ingress": "είσοδος", "rating": "εκτίμηση", "stage": "στάδιο" @@ -206,7 +206,7 @@ }, "changelog": "Changelog", "cpu_usage": "Χρήση CPU πρόσθετου", - "hostname": "Όνομα κεντρικού υπολογιστή", + "hostname": "Όνομα διακομιστή", "install": "εγκατάσταση", "new_update_available": "{name} {version} είναι διαθέσιμο", "not_available_arch": "Αυτό το πρόσθετο δεν είναι συμβατό με τον επεξεργαστή της συσκευής σας ή το λειτουργικό σύστημα που έχετε εγκαταστήσει στη συσκευή σας.", @@ -269,6 +269,7 @@ }, "common": { "cancel": "Ακύρωση", + "close": "Κλείσιμο", "description": "Περιγραφή", "error": { "unknown": "Άγνωστο σφάλμα", @@ -301,7 +302,8 @@ "title": "Επαναφορά επιλογών" }, "restart": { - "text": "Είστε βέβαιοι ότι θέλετε να επανεκκινήσετε το {name};" + "text": "Είστε βέβαιοι ότι θέλετε να επανεκκινήσετε το {name};", + "title": "Επανεκκινηση {name}" }, "update": { "text": "Είστε βέβαιοι ότι θέλετε να ενημερώσετε το {name} στην έκδοση {version} ;", @@ -364,7 +366,9 @@ }, "my": { "error": "Προέκυψε ένα άγνωστο σφάλμα", - "faq_link": "Συχνές ερωτήσεις Home Assistant" + "error_addon_not_found": "Το πρόσθετο δεν βρέθηκε", + "faq_link": "Συχνές ερωτήσεις Home Assistant", + "not_supported": "Αυτή η ανακατεύθυνση δεν υποστηρίζεται από την παρουσία του Home Assistant σας. Ελέγξτε το {link} για τις υποστηριζόμενες ανακατευθύνσεις και την έκδοση που εισήχθησαν." }, "panel": { "dashboard": "Πίνακας Επισκόπησης", @@ -413,25 +417,25 @@ }, "host": { "change": "Αλλαγή", - "change_hostname": "Αλλαγή ονόματος κεντρικού υπολογιστή", + "change_hostname": "Αλλαγή ονόματος διακομιστή", "confirm_reboot": "Είστε βέβαιοι ότι θέλετε να επανεκκινήσετε τον κεντρικό υπολογιστή;", - "confirm_shutdown": "Είστε βέβαιοι ότι θέλετε να τερματίσετε τη λειτουργία του κεντρικού υπολογιστή;", + "confirm_shutdown": "Είστε βέβαιοι ότι θέλετε να τερματίσετε τη λειτουργία του διακομιστή;", "deployment": "Ανάπτυξη", "docker_version": "Έκδοση Docker", "emmc_lifetime_used": "eMMC διάρκεια ζωής που χρησιμοποιήθηκε", "failed_to_get_hardware_list": "Αποτυχία λήψης λίστας υλικού", "failed_to_import_from_usb": "Αποτυχία εισαγωγής από USB", - "failed_to_reboot": "Αποτυχία επανεκκίνησης του κεντρικού υπολογιστή", - "failed_to_set_hostname": "Η ρύθμιση ονόματος κεντρικού υπολογιστή απέτυχε", - "failed_to_shutdown": "Αποτυχία τερματισμού του κεντρικού υπολογιστή", + "failed_to_reboot": "Αποτυχία επανεκκίνησης του διακομιστή", + "failed_to_set_hostname": "Η ρύθμιση ονόματος διακομιστή απέτυχε", + "failed_to_shutdown": "Αποτυχία τερματισμού του διακομιστή", "hardware": "Υλικό", - "hostname": "Όνομα κεντρικού υπολογιστή", + "hostname": "Όνομα διακομιστή", "import_from_usb": "Εισαγωγή από USB", "ip_address": "Διεύθυνση IP", - "new_hostname": "Εισαγάγετε ένα νέο όνομα κεντρικού υπολογιστή:", + "new_hostname": "Εισαγάγετε ένα νέο όνομα διακομιστή:", "operating_system": "Λειτουργικό σύστημα", - "reboot_host": "Επανεκκίνηση κεντρικού υπολογιστή", - "shutdown_host": "Τερματισμός κεντρικού υπολογιστή", + "reboot_host": "Επανεκκίνηση διακομιστή", + "shutdown_host": "Τερματισμός διακομιστή", "used_space": "Χρησιμοποιημένος χώρος" }, "log": { @@ -453,7 +457,7 @@ "leave_beta_action": "Αποχώρηση από το κανάλι beta", "leave_beta_description": "Λάβετε σταθερές ενημερώσεις για το Home Assistant, τον Επόπτη και τον κεντρικό υπολογιστή", "ram_usage": "Χρήση μνήμης RAM Επόπτη", - "reload_supervisor": "Επαναφόρτωση Επόπτη", + "reload_supervisor": "Επαναφορτωση Εποπτη", "share_diagnostics": "Κοινή χρήση διαγνωστικών", "share_diagnostics_description": "Μοιραστείτε αναφορές σφαλμάτων και διαγνωστικές πληροφορίες.", "share_diagonstics_description": "Θα θέλατε να κοινοποιείτε αυτόματα αναφορές σφαλμάτων και διαγνωστικές πληροφορίες όταν ο επόπτης αντιμετωπίζει απρόσμενα σφάλματα; {line_break} Αυτό θα μας επιτρέψει να διορθώσουμε τα προβλήματα, οι πληροφορίες είναι προσβάσιμες μόνο από την ομάδα του Home Assistant Core και δεν θα κοινοποιηθούν σε άλλους. {line_break} Τα δεδομένα δεν περιλαμβάνουν ιδιωτικές / ευαίσθητες πληροφορίες και μπορείτε να το απενεργοποιήσετε στις ρυθμίσεις όποτε θέλετε.", @@ -1009,6 +1013,9 @@ "person": { "create_zone": "Δημιουργία ζώνης από την τρέχουσα θέση" }, + "remote": { + "activity": "Τρέχουσα δραστηριότητα" + }, "restored": { "confirm_remove_text": "Είστε βέβαιοι πως θέλετε να καταργήσετε αυτή την οντότητα;", "confirm_remove_title": "Θέλετε να αφαιρέσετε αυτή την οντότητα;", diff --git a/translations/frontend/en.json b/translations/frontend/en.json index c6272d63ca..907a617f04 100644 --- a/translations/frontend/en.json +++ b/translations/frontend/en.json @@ -365,7 +365,7 @@ } }, "my": { - "error": "An unknown error occured", + "error": "An unknown error occurred", "error_addon_not_found": "Add-on not found", "faq_link": "My Home Assistant FAQ", "not_supported": "This redirect is not supported by your Home Assistant instance. Check the {link} for the supported redirects and the version they where introduced." @@ -1626,6 +1626,8 @@ }, "introduction": "The blueprint configuration allows you to import and manage your blueprints.", "learn_more": "Learn more about using blueprints", + "share_blueprint": "Share blueprint", + "share_blueprint_no_url": "Unable to share blueprint: no source url", "use_blueprint": "Create automation" } }, @@ -2079,7 +2081,7 @@ "devices": "{count} {count, plural,\n one {device}\n other {devices}\n}", "disable_restart_confirm": "Restart Home Assistant to finish disabling this integration", "disable": { - "disable_confirm": "Are you sure you want to disable this config entry? It's devices and entities will be disabled.", + "disable_confirm": "Are you sure you want to disable this config entry? Its devices and entities will be disabled.", "disabled": "Disabled", "disabled_by": { "device": "device", @@ -3493,7 +3495,7 @@ "my": { "component_not_loaded": "This redirect is not supported by your Home Assistant instance. You need the integration {integration} to use this redirect.", "documentation": "documentation", - "error": "An unknown error occured", + "error": "An unknown error occurred", "faq_link": "My Home Assistant FAQ", "no_supervisor": "This redirect is not supported by your Home Assistant installation. It needs either the Home Assistant Operating System or Home Assistant Supervised installation method. For more information, see the {docs_link}.", "not_supported": "This redirect is not supported by your Home Assistant instance. Check the {link} for the supported redirects and the version they where introduced." @@ -3808,4 +3810,4 @@ "sidebar_toggle": "Sidebar Toggle" } } -} +} \ No newline at end of file diff --git a/translations/frontend/es-419.json b/translations/frontend/es-419.json index fa8711ea3f..8d3a25eb2a 100644 --- a/translations/frontend/es-419.json +++ b/translations/frontend/es-419.json @@ -1626,6 +1626,8 @@ }, "introduction": "La configuración de planos le permite importar y administrar sus planos.", "learn_more": "Obtenga más información sobre el uso de planos", + "share_blueprint": "Compartir plano", + "share_blueprint_no_url": "No se puede compartir el plano: no hay URL de origen", "use_blueprint": "Crear automatización" } }, diff --git a/translations/frontend/es.json b/translations/frontend/es.json index 1fb98fa795..7d0f915a1d 100644 --- a/translations/frontend/es.json +++ b/translations/frontend/es.json @@ -1626,6 +1626,8 @@ }, "introduction": "La configuración de planos te permite importar y administrar tus planos.", "learn_more": "Aprende más sobre el uso de planos", + "share_blueprint": "Compartir plano", + "share_blueprint_no_url": "No se puede compartir el plano: no hay URL de origen", "use_blueprint": "Crear automatización" } }, diff --git a/translations/frontend/et.json b/translations/frontend/et.json index 3f0cfe173d..64826ca08c 100644 --- a/translations/frontend/et.json +++ b/translations/frontend/et.json @@ -210,7 +210,7 @@ "install": "paigalda", "new_update_available": "{name} {version} on saadaval", "not_available_arch": "See lisandmoodul ei ühildu seadme protsessoriga ega seadmesse installitud operatsioonisüsteemiga.", - "not_available_version": "Kasutad Home Assistant {core_version_installed} Selle lisandmooduli versiooni värskendamiseks vajad vähemalt Home Assistant {core_version_needed}", + "not_available_version": "Kasutad Home Assistanti {core_version_installed}. Selle lisandmooduli versiooni värskendamiseks vajad vähemalt Home Assistanti {core_version_needed}", "open_web_ui": "Ava veebiliides", "option": { "auto_update": { @@ -1626,6 +1626,8 @@ }, "introduction": "Kavandite seadistus võimaldab importida ja hallata oma kavandeid.", "learn_more": "Lisateave kavandite kasutamise kohta", + "share_blueprint": "Kavandi jagamine", + "share_blueprint_no_url": "Kavandit ei saa jagada: URL puudub", "use_blueprint": "Loo automatiseering" } }, diff --git a/translations/frontend/fi.json b/translations/frontend/fi.json index 8b1d1b79a5..08420fcc2f 100644 --- a/translations/frontend/fi.json +++ b/translations/frontend/fi.json @@ -102,6 +102,108 @@ "unknown": "Tuntematon" } }, + "supervisor": { + "addon": { + "configuration": { + "network": { + "container": "Kontti", + "header": "Verkko" + } + }, + "dashboard": { + "capability": { + "role": { + "default": "oletus" + } + }, + "changelog": "Muutosloki", + "hostname": "Isäntänimi", + "install": "asenna", + "new_update_available": "{name} {version} on saatavilla", + "option": { + "auto_update": { + "title": "Automaattinen päivitys" + }, + "watchdog": { + "title": "Vahtikoira" + } + }, + "restart": "käynnistä uudelleen", + "start": "käynnistä", + "stop": "pysäytä", + "uninstall": "poista" + } + }, + "common": { + "cancel": "Peru", + "close": "Sulje", + "description": "Kuvaus", + "error": { + "unknown": "Tuntematon virhe", + "update_failed": "Päivitys epäonnistui" + }, + "save": "Tallenna" + }, + "confirm": { + "update": { + "title": "Päivitä {name}" + } + }, + "dialog": { + "network": { + "connected_to": "Yhdistetty kohteeseen {ssid}", + "dhcp": "DHCP", + "disabled": "Poistettu käytöstä", + "dns_servers": "DNS-palvelimet", + "gateway": "Yhdyskäytävän osoite", + "scan_ap": "Etsi tukiasemia", + "title": "Verkkoasetukset", + "wep": "WEP" + }, + "registries": { + "password": "Salasana", + "remove": "Poista", + "username": "Käyttäjätunnus" + }, + "repositories": { + "add": "Lisää", + "remove": "Poista" + } + }, + "panel": { + "system": "Järjestelmä" + }, + "snapshot": { + "addons": "Lisäosat", + "create": "Luo", + "folder": { + "addons/local": "Paikalliset lisäosat", + "ssl": "SSL" + }, + "folders": "Kansiot", + "name": "Nimi", + "password": "Salasana", + "type": "Tyyppi" + }, + "system": { + "host": { + "change": "Muuta", + "deployment": "Käyttöönotto", + "docker_version": "Docker-versio", + "hardware": "Laitteisto", + "ip_address": "IP-osoite", + "operating_system": "Käyttöjärjestelmä" + }, + "supervisor": { + "unsupported_reason": { + "docker_version": "Docker-versio", + "lxc": "LXC", + "systemd": "Systemd" + }, + "warning": "VAROITUS" + } + } + }, "ui": { "auth_store": { "ask": "Haluatko pysyä kirjautuneena sisään?", diff --git a/translations/frontend/fr.json b/translations/frontend/fr.json index afdc17db98..1206633b2c 100644 --- a/translations/frontend/fr.json +++ b/translations/frontend/fr.json @@ -117,6 +117,7 @@ "header": "Réseau", "host": "Hôte" }, + "no_configuration": "Cet add-on n'expose pas de configuration pour que vous puissiez jouer avec ...", "options": { "edit_in_ui": "Modifier dans l'interface utilisateur", "edit_in_yaml": "Modifier en tant que YAML", @@ -127,6 +128,8 @@ }, "dashboard": { "action_error": { + "get_changelog": "Impossible d'obtenir le journal des modifications du module complémentaire", + "go_to_config": "Échec du démarrage du module complémentaire - échec de la validation de la configuration!", "install": "Échec de l'installation de l'extension", "restart": "Échec du redémarrage de l'extension", "start": "Échec du démarrage de l'extension", @@ -136,24 +139,57 @@ "validate_config": "Échec de la validation de la configuration de l'add-on" }, "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') est un module de sécurité du noyau Linux qui restreint les capacités des modules complémentaires comme l'accès réseau, l'accès au socket brut et l'autorisation de lire, d'écrire ou d'exécuter des fichiers spécifiques. \n\n Les auteurs de modules complémentaires peuvent fournir leurs profils de sécurité, optimisés pour le module complémentaire, ou demander sa désactivation. Si AppArmor est désactivé, cela augmentera les risques de sécurité et, par conséquent, aura un impact négatif sur le score de sécurité du module complémentaire.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Un module complémentaire peut authentifier les utilisateurs auprès de Home Assistant, permettant aux modules complémentaires de donner aux utilisateurs la possibilité de se connecter à des applications exécutées à l'intérieur de modules complémentaires, en utilisant leur nom d'utilisateur / mot de passe Home Assistant. Ce badge indique si l'auteur du module complémentaire demande cette capacité.", + "title": "Authentification de l'assistant domestique" + }, "docker_api": { + "description": "L'auteur du module complémentaire a demandé au module complémentaire d'avoir un accès de gestion à l'instance Docker exécutée sur votre système. Ce mode donne au module complémentaire un accès et un contrôle complets à l'ensemble de votre système Home Assistant, ce qui ajoute des risques de sécurité et peut endommager votre système en cas d'utilisation abusive. Par conséquent, cette fonctionnalité a un impact négatif sur le score de sécurité du module complémentaire. \n\n Ce niveau d'accès n'est pas accordé automatiquement et doit être confirmé par vous. Pour ce faire, vous devez désactiver manuellement le mode de protection sur le module complémentaire. Ne désactivez le mode de protection que si vous connaissez, avez besoin ET faites confiance à la source de ce module complémentaire.", "title": "Accès complet à Docker" }, "full_access": { + "description": "Ce module complémentaire bénéficie d'un accès complet au matériel de votre système, à la demande de l'auteur du module complémentaire. L'accès est comparable au mode privilégié dans Docker. Étant donné que cela ouvre des risques de sécurité possibles, cette fonctionnalité a un impact négatif sur le score de sécurité du module complémentaire. \n\n Ce niveau d'accès n'est pas accordé automatiquement et doit être confirmé par vous. Pour ce faire, vous devez désactiver manuellement le mode de protection sur le module complémentaire. Ne désactivez le mode de protection que si vous connaissez, avez besoin ET faites confiance à la source de ce module complémentaire.", "title": "Accès complet au matériel" }, + "hassio_api": { + "description": "Le module complémentaire a eu accès à l'API Supervisor, à la demande de l'auteur du module complémentaire. Par défaut, le module complémentaire peut accéder aux informations générales sur la version de votre système. Lorsque le module complémentaire demande un accès de niveau `` gestionnaire '' ou `` administrateur '' à l'API, il aura accès pour contrôler plusieurs parties de votre système Home Assistant. Cette autorisation est indiquée par ce badge et aura un impact négatif sur le score de sécurité du module complémentaire.", + "title": "Accès à l'API du superviseur" + }, + "homeassistant_api": { + "description": "Ce module complémentaire est autorisé à accéder à votre instance Home Assistant en cours d'exécution directement via l'API Home Assistant. Ce mode gère également l'authentification pour le module complémentaire, ce qui permet à un module complémentaire d'interagir avec Home Assistant sans avoir besoin de jetons d'authentification supplémentaires.", + "title": "Accès à l'API Home Assistant" + }, "host_network": { + "description": "Les modules complémentaires s'exécutent généralement dans leur propre couche réseau isolée, ce qui les empêche d'accéder au réseau du système d'exploitation hôte. Dans certains cas, cette isolation du réseau peut limiter les modules complémentaires dans la fourniture de leurs services et, par conséquent, l'isolement peut être levé par l'auteur du module complémentaire, donnant au module complémentaire un accès complet aux capacités réseau de la machine hôte. Cela donne au module complémentaire plus de capacités de mise en réseau mais réduit la sécurité, par conséquent, la cote de sécurité du module complémentaire sera réduite lorsque cette option est utilisée par le module complémentaire.", "title": "Réseau hôte" }, + "host_pid": { + "description": "Habituellement, les processus exécutés par le module complémentaire sont isolés de tous les autres processus système. L'auteur du module complémentaire a demandé au module complémentaire d'avoir accès aux processus système s'exécutant sur l'instance du système hôte et de permettre au module complémentaire de générer également des processus sur le système hôte. Ce mode donne au module complémentaire un accès et un contrôle complets à l'ensemble de votre système Home Assistant, ce qui ajoute des risques de sécurité et peut endommager votre système en cas d'utilisation abusive. Par conséquent, cette fonctionnalité a un impact négatif sur le score de sécurité du module complémentaire. \n\n Ce niveau d'accès n'est pas accordé automatiquement et doit être confirmé par vous. Pour ce faire, vous devez désactiver manuellement le mode de protection sur le module complémentaire. Ne désactivez le mode de protection que si vous connaissez, avez besoin ET faites confiance à la source de ce module complémentaire.", + "title": "Espace de noms des processus hôtes" + }, + "ingress": { + "description": "Ce module complémentaire utilise Ingress pour intégrer son interface en toute sécurité dans Home Assistant.", + "title": "Entrée" + }, "label": { + "apparmor": "Apparmor", "auth": "auth", + "docker": "docker", "hardware": "Matériel", "hass": "hass", "hassio": "hassio", "host": "Hôte", - "rating": "notation" + "host_pid": "hôte pid", + "ingress": "entrée", + "rating": "notation", + "stage": "Étape" }, "rating": { + "description": "Home Assistant fournit une cote de sécurité à chacun des modules complémentaires, qui indique les risques encourus lors de l'utilisation de ce module complémentaire. Plus un module complémentaire a besoin d'accès à votre système, plus le score est bas, augmentant ainsi les risques de sécurité potentiels. \n\n Un score est sur une échelle de 1 à 6. Où 1 est le score le plus bas (considéré comme le plus dangereux et le plus risqué) et un score de 6 est le score le plus élevé (considéré comme le plus sûr et le plus faible risque).", "title": "Évaluation de sécurité de l'extension" }, "role": { @@ -162,6 +198,10 @@ "default": "Défaut", "homeassistant": "homeassistant", "manager": "gestionnaire" + }, + "stage": { + "description": "Les modules complémentaires peuvent comporter l'une des trois étapes suivantes: \n\n {icon_stable} ** Stable **: il s'agit de modules complémentaires prêts à être utilisés en production. \n\n {icon_experimental} ** Expérimental **: Ceux-ci peuvent contenir des bogues et peuvent être inachevés. \n\n {icon_deprecated} ** Obsolète **: ces modules complémentaires ne recevront plus de mises à jour.", + "title": "Étape complémentaire" } }, "changelog": "Changelog", @@ -169,13 +209,16 @@ "hostname": "Nom d'hôte", "install": "installer", "new_update_available": "{name} {version} est disponible", + "not_available_arch": "Ce module complémentaire n'est pas compatible avec le processeur de votre appareil ou le système d'exploitation que vous avez installé sur votre appareil.", "not_available_version": "Votre Home Assistant est en version {core_version_installed}, pour mettre à jour cet add-on, vous devez êtes au minimum en version {core_version_needed} de Home Assistant", "open_web_ui": "Ouvrir l'interface utilisateur Web", "option": { "auto_update": { + "description": "Mettre à jour automatiquement le module complémentaire lorsqu'une nouvelle version est disponible", "title": "Mise à jour automatique" }, "boot": { + "description": "Faire démarrer le module complémentaire lors du démarrage du système", "title": "Lancer au démarrage" }, "ingress_panel": { @@ -183,6 +226,7 @@ "title": "Afficher dans la barre latérale" }, "protected": { + "description": "Bloque l'accès élevé au système depuis le module complémentaire", "title": "Mode protégé" }, "watchdog": { @@ -191,16 +235,26 @@ } }, "protection_mode": { + "content": "Le mode de protection de ce module complémentaire est désactivé! Cela donne au module complémentaire un accès complet à l'ensemble du système, ce qui ajoute des risques de sécurité et peut endommager votre système s'il est utilisé de manière incorrecte. Ne désactivez le mode de protection que si vous connaissez, avez besoin ET faites confiance à la source de ce module complémentaire.", "enable": "Activer le mode protégé", "title": "Attention: le mode protection est désactivé!" }, "ram_usage": "Utilisation de la RAM de l'extension", + "rebuild": "reconstruire", "restart": "redémarrer", "start": "démarrer", "stop": "arrêter", "uninstall": "désinstaller", "visit_addon_page": "Visitez la page {name} pour plus de détails" }, + "documentation": { + "get_documentation": "Échec de l'obtention de la documentation du module complémentaire, {error}" + }, + "failed_to_reset": "Échec de la réinitialisation de la configuration du module complémentaire, {error}", + "failed_to_save": "Échec de l'enregistrement de la configuration du module complémentaire, {error}", + "logs": { + "get_logs": "Échec de l'obtention des journaux du module complémentaire, {error}" + }, "panel": { "configuration": "Configuration", "documentation": "Documentation", @@ -228,12 +282,15 @@ "newest_version": "Version la plus récente", "no": "Non", "refresh": "Actualiser", + "release_notes": "Notes de version", "reload": "Recharger", "reset_defaults": "Réinitialiser la configuration", "reset_options": "Réinitialiser les options", "restart": "Redémarrer", "restart_name": "Redémarrer {name}", + "running_version": "Vous utilisez actuellement la version {version}", "save": "Sauvegarder", + "show_more": "Afficher plus d'informations à ce sujet", "update": "Mise à jour", "update_available": "{count, plural,\n one {Mise à jour en attente}\n other {{count} Mises à jour en attentes}\n}", "version": "Version", @@ -273,6 +330,7 @@ "scan_ap": "Rechercher les points d'accès", "static": "Statique", "title": "Paramètres réseaux", + "unsaved": "Vous avez des modifications non enregistrées, elles seront perdues si vous changez d'onglet, voulez-vous continuer?", "warning": "Si vous modifiez les adresses Wi-Fi, IP ou de passerelle, vous risquez de perdre la connexion!", "wep": "WEP", "wpa": "wpa-psk" @@ -286,6 +344,8 @@ "password": "Mot de passe", "registry": "Registre", "remove": "Supprimer", + "title_add": "Ajouter un nouveau registre de conteneurs", + "title_manage": "Gérer les registres de conteneurs", "username": "Nom d'utilisateur" }, "repositories": { @@ -307,7 +367,8 @@ "my": { "error": "Une erreur inconnue s'est produite", "error_addon_not_found": "Add-on non trouvé", - "faq_link": "FAQ de My Home Assistant" + "faq_link": "FAQ de My Home Assistant", + "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." }, "panel": { "dashboard": "Tableau de bord", @@ -344,6 +405,7 @@ "upload_snapshot": "Téléverser un instantané" }, "store": { + "missing_addons": "Modules complémentaires manquants? Activer le mode avancé dans votre page de profil utilisateur", "no_results_found": "Aucun résultat trouvé dans {repository}.", "registries": "Registres", "repositories": "Dépôts" @@ -377,36 +439,48 @@ "used_space": "Espace utilisé" }, "log": { + "get_logs": "Échec de l'obtention des journaux de {provider} {error}", "log_provider": "Fournisseur de journaux" }, "supervisor": { "beta_backup": "Assurez-vous d'avoir des sauvegardes de vos données avant d'activer cette fonctionnalité.", "beta_join_confirm": "Voulez-vous rejoindre le canal bêta?", "beta_release_items": "Cela inclut les versions bêta pour:", + "beta_warning": "Les versions bêta sont destinées aux testeurs et aux utilisateurs précoces et peuvent contenir des modifications de code instables", "channel": "Canal", "cpu_usage": "Utilisation du processeur par Supervisor", "failed_to_reload": "Échec du rechargement de Supervisor", "failed_to_set_option": "Échec lors du paramétrage de l'option du Supervisor", "failed_to_update": "Échec de la mise à jour de Supervisor", "join_beta_action": "Rejoignez le canal bêta", + "join_beta_description": "Obtenez des mises à jour bêta pour Home Assistant (RCs), Supervisor et host", "leave_beta_action": "Quitter le canal bêta", + "leave_beta_description": "Obtenez des mises à jour stables pour l'assistant domestique, le superviseur et l'hôte", "ram_usage": "Utilisation de la RAM Supervisor", "reload_supervisor": "Recharger le superviseur", "share_diagnostics": "Partager les diagnostics", "share_diagnostics_description": "Partagez les rapports d'incident et les informations de diagnostic.", + "share_diagonstics_description": "Souhaitez-vous partager automatiquement les rapports d'erreur et les informations de diagnostic lorsque le superviseur rencontre des erreurs inattendues? {line_break} Cela nous permettra de résoudre les problèmes, les informations ne sont accessibles qu'à l'équipe Home Assistant Core et ne seront pas partagées avec d'autres. {line_break} Les données n'incluent aucune information privée / sensible et vous pouvez désactiver cela dans les paramètres à tout moment.", "share_diagonstics_title": "Aider à améliorer Home Assistant", + "unhealthy_description": "L'exécution d'une installation défectueuse entraînera des problèmes. Vous trouverez ci-dessous une liste des problèmes rencontrés avec votre installation, cliquez sur les liens pour savoir comment vous pouvez résoudre les problèmes.", "unhealthy_reason": { + "docker": "L'environnement Docker ne fonctionne pas correctement", + "privileged": "Le superviseur n'est pas privilégié", + "setup": "La configuration du superviseur a échoué", "supervisor": "Le Supervisor ne peu pas mettre à jour" }, "unhealthy_title": "Votre installation est défectueuse", + "unsupported_description": "Vous trouverez ci-dessous une liste des problèmes rencontrés avec votre installation, cliquez sur les liens pour savoir comment vous pouvez résoudre les problèmes.", "unsupported_reason": { "container": "Conteneurs connus pour causer des problèmes", "dbus": "DBUS", "docker_configuration": "Configuration de Docker", "docker_version": "Version Docker", + "job_conditions": "Conditions de travail ignorées", "lxc": "LXC", "network_manager": "Gestionnaire de réseaux", "os": "Système d'exploitation", + "privileged": "Le superviseur n'est pas privilégié", "systemd": "Systemd" }, "unsupported_title": "Vous exécutez une installation non prise en charge", @@ -1073,6 +1147,7 @@ "clusters": "Gérer les clusters", "reconfigure": "Reconfigurer l'appareil", "remove": "Supprimer l'appareil", + "view_in_visualization": "Afficher dans la visualisation", "zigbee_information": "Informations Zigbee" }, "confirmations": { @@ -2650,6 +2725,7 @@ "caption": "Visualisation", "header": "Visualisation du réseau", "highlight_label": "Mettre en évidence les appareils", + "refresh_topology": "Actualiser la topologie", "zoom_label": "Se connecter à l'appareil" } }, @@ -3327,6 +3403,7 @@ "error_remove": "Impossible de supprimer la configuration: {error}", "error_save_yaml": "Impossible de sauvegarder le YAML : {error}", "header": "Modifier la configuration", + "lovelace_changed": "La configuration Lovelace a été mise à jour, voulez-vous charger la configuration mise à jour dans l'éditeur et perdre vos modifications actuelles?", "reload": "Recharger", "resources_moved": "Les ressources ne doivent plus être ajoutées à la configuration Lovelace mais peuvent être ajoutées dans le panneau de configuration Lovelace.", "save": "Enregistrer", diff --git a/translations/frontend/he.json b/translations/frontend/he.json index 4e68f4b0eb..9b61ecdd90 100644 --- a/translations/frontend/he.json +++ b/translations/frontend/he.json @@ -101,6 +101,48 @@ "unknown": "לא ידוע" } }, + "supervisor": { + "addon": { + "dashboard": { + "not_available_version": "אתה מפעיל את Home Assistant {core_version_installed} , כדי לעדכן לגרסה זו של התוסף אתה זקוק לפחות לגרסה {core_version_needed} של Home Assistant", + "visit_addon_page": "בקר בדף {name} לפרטים נוספים" + } + }, + "common": { + "cancel": "בטל", + "close": "סגור", + "save": "שמור" + }, + "confirm": { + "update": { + "title": "עדכן את {name}" + } + }, + "dialog": { + "registries": { + "password": "סיסמה", + "username": "שם משתמש" + }, + "repositories": { + "add": "הוסף", + "remove": "הסר", + "title": "נהל את מאגרי ההרחבות" + }, + "restart_addon": { + "confirm_text": "אתחל את התוסף", + "text": "האם ברצונך לאתחל את התוסף עם השינויים שלך?" + }, + "update": { + "create_snapshot": "צור נקודת גיבוי עבור {name}", + "snapshot": "נקודת גיבוי", + "snapshotting": "יוצר נקודת גיבוי עבור {name}", + "updating": "מעדכן את {name} לגרסה {version}" + } + }, + "my": { + "error_addon_not_found": "התוסף לא נמצא" + } + }, "ui": { "auth_store": { "ask": "האם ברצונך לשמור את ההתחברות הזו?", @@ -360,6 +402,7 @@ }, "media-browser": { "class": { + "url": "נתיב כתובת URL", "video": "וידאו" }, "documentation": "תיעוד", @@ -404,6 +447,9 @@ "week": "לפני {count} {count, plural,\n one {week}\n other {weeks}\n}" } }, + "service-control": { + "target_description": "אלה האיזורים, התקנים וישויות בהם ישתמש שירות זה" + }, "service-picker": { "service": "שירות" }, @@ -510,6 +556,9 @@ "person": { "create_zone": "צור אזור מהמיקום הנוכחי" }, + "remote": { + "activity": "פעילות נוכחית" + }, "restored": { "confirm_remove_text": "האם אתה בטוח שברצונך להסיר ישות זו?", "confirm_remove_title": "להסיר את הישות?", @@ -619,6 +668,11 @@ "second": "שניה שניות", "week": "שבוע שבועות" }, + "errors": { + "config": { + "key_wrong_type": "הערך שסופק עבור \"{key}\" אינו נתמך על-ידי העורך החזותי. אנו תומכים ({type_correct}) אך קיבלנו ({type_wrong})." + } + }, "login-form": { "log_in": "התחבר", "password": "סיסמה", @@ -979,7 +1033,9 @@ "blueprint": { "add": { "community_forums": "פורומים קהילתיים", + "error_no_url": "אנא הזן כתובת URL של השרטוט", "file_name": "נתיב שרטוט", + "header": "יבוא שרטוט", "import_btn": "תצוגה מקדימה של שרטוט", "import_header": "שרטוט \" {name} \"", "import_introduction_link": "באפשרותך לייבא שרטוטים של משתמשים אחרים מ- Github ומ {community_link}. הזן את כתובת ה- URL של השרטוט.", @@ -992,12 +1048,14 @@ }, "overview": { "add_blueprint": "יבוא שרטוט", + "confirm_delete_text": "האם אתה בטוח שברצונך למחוק שרטוט זה?", "delete_blueprint": "מחק שרטוט", "discover_more": "גלה שרטוטים נוספים", "headers": { "domain": "דומיין", "file_name": "שם קובץ" }, + "learn_more": "למד עוד אודות שימוש בשרטוטים", "use_blueprint": "צור אוטומציה" } }, @@ -2145,7 +2203,8 @@ }, "cards": { "actions": { - "no_service": "לא צוין שום שירות לביצוע", + "action_confirmation": "האם אתה בטוח שברצונך לבצע פעולה \" {action} \"?", + "no_service": "לא צוין שירות להפעלה", "no_url": "לא צוין כתובת אתר לפתיחה" }, "confirm_delete": "האם אתה בטוח שברצונך למחוק את הכרטיס הזה?", @@ -2200,7 +2259,8 @@ "none": "אין פעולה", "toggle": "החלף מצב", "url": "Url" - } + }, + "url_path": "נתיב כתובת URL" }, "card": { "alarm-panel": { @@ -2835,7 +2895,7 @@ "error_no_theme": "אין ערכות נושא זמינות.", "header": "ערכת נושא", "link_promo": "למד אודות ערכות נושא", - "primary_color": "בצע ראשי", + "primary_color": "צבע ראשי", "reset": "איפוס" }, "vibrate": { diff --git a/translations/frontend/ko.json b/translations/frontend/ko.json index 0b8496be98..dc5aa10349 100644 --- a/translations/frontend/ko.json +++ b/translations/frontend/ko.json @@ -146,29 +146,37 @@ }, "common": { "cancel": "취소", + "close": "닫기", + "description": "상세정보", "error": { "unknown": "알 수 없는 오류", - "update_failed": "업데이트 실패" + "update_failed": "업데이트가 실패했습니다" }, - "failed_to_restart_name": "{name} 을(를) 다시 시작하지 못했습니다", - "refresh": "새로 고침", - "reload": "재실행", - "reset_defaults": "기본값으로 재설정", - "reset_options": "옵션 재설정", - "restart": "재시작", - "restart_name": "{name} 다시 시작", - "running_version": "현재 버전 {version}을 실행 중입니다.", - "save": "저장", - "show_more": "자세한 정보 표시" + "failed_to_restart_name": "{name}을(를) 다시 시작하지 못했습니다", + "failed_to_update_name": "{name}을(를) 업데이트하지 못했습니다", + "learn_more": "더 알아보기", + "new_version_available": "새로운 버전을 사용할 수 있습니다", + "no": "아니오", + "refresh": "새로고침", + "reload": "다시 읽어오기", + "reset_defaults": "기본값으로 재설정하기", + "reset_options": "옵션 재설정하기", + "restart": "다시 시작하기", + "restart_name": "{name} 다시 시작하기", + "running_version": "현재 버전 {version}을(를) 실행 중입니다", + "save": "저장하기", + "show_more": "이에 대한 자세한 정보 표시", + "update_available": "{count, plural,\n one {업데이트}\n other {{count} 업데이트}\n} 보류 중", + "yes": "예" }, "confirm": { "reset_options": { - "text": "모든 옵션을 재설정 하시겠습니까?", - "title": "옵션 재설정" + "text": "모든 옵션을 재설정하시겠습니까?", + "title": "옵션 재설정하기" }, "restart": { - "text": "{name} 을(를) 다시 시작하시겠습니까?", - "title": "{name} 다시 시작" + "text": "{name}을(를) 다시 시작하시겠습니까?", + "title": "{name} 다시 시작하기" }, "update": { "title": "{name} 업데이트" @@ -176,34 +184,34 @@ }, "dialog": { "network": { - "connected_to": "{ssid} 연결됨", + "connected_to": "{ssid}에 연결되었습니다", "dhcp": "DHCP", "disabled": "비활성화", "dns_servers": "DNS 서버", - "failed_to_change": "네트워크 설정 변경 실패", + "failed_to_change": "네트워크 설정을 변경하지 못했습니다", "gateway": "게이트웨이 주소", "ip_netmask": "IP 주소/넷마스크", "open": "공개", - "scan_ap": "액세스 포인트 검색", + "scan_ap": "액세스 포인트 검색하기", "static": "정적", "title": "네트워크 설정", - "unsaved": "저장하지 않은 변경 사항이 있습니다. 탭을 변경하면 손실됩니다. 계속 하시겠습니까?", - "warning": "Wi-Fi, IP 또는 게이트웨이 주소를 변경하는 경우 연결이 끊어 질 수 있습니다!", + "unsaved": "저장되지 않은 변경 사항이 있습니다. 탭을 변경하면 손실됩니다. 계속하시겠습니까?", + "warning": "Wi-Fi, IP 또는 게이트웨이 주소를 변경하는 경우 연결이 끊어질 수 있습니다!", "wep": "WEP", "wpa": "wpa-psk" }, "registries": { - "add_new_registry": "신규 레지스트리 추가", - "add_registry": "레지스트리 추가", - "failed_to_add": "레지스트리 추가 실패", - "failed_to_remove": "레지스트리 제거 실패", - "no_registries": "구성된 레지스트리 없음", - "password": "암호", + "add_new_registry": "새로운 레지스트리 추가하기", + "add_registry": "레지스트리 추가하기", + "failed_to_add": "레지스트리를 추가하지 못했습니다", + "failed_to_remove": "레지스트리를 제거하지 못했습니다", + "no_registries": "구성된 레지스트리가 없습니다", + "password": "비밀번호", "registry": "레지스트리", - "remove": "제거", - "title_add": "신규 컨테이너 레지스트리 추가", + "remove": "제거하기", + "title_add": "새로운 컨테이너 레지스트리 추가", "title_manage": "컨테이너 레지스트리 관리", - "username": "사용자명" + "username": "사용자 이름" }, "repositories": { "add": "추가하기", @@ -211,42 +219,53 @@ "title": "추가 기능 저장소 관리" }, "restart_addon": { - "confirm_text": "추가 기능 다시 시작", + "confirm_text": "추가 기능 다시 시작하기", "text": "변경 사항과 함께 추가 기능을 다시 시작하시겠습니까?" }, "update": { "create_snapshot": "업데이트하기 전에 {name}의 스냅샷을 만들기", "snapshot": "스냅샷", "snapshotting": "{name} 스냅샷을 만드는 중", - "updating": "{name} 을(를) {version} 버전으로 업데이트 중" + "updating": "{name}을(를) {version} 버전으로 업데이트 중" } }, "my": { - "error": "알려지지 않은 에러 발생", - "error_addon_not_found": "애드온을 찾을 수 없습니다.", + "error": "알 수 없는 오류가 발생했습니다", + "error_addon_not_found": "추가 기능을 찾을 수 없습니다", "faq_link": "자주 묻는 질문", - "not_supported": "이 리다이렉트는 홈어시트턴드에서 지원되지 않습니다. {link} 에서 소개되는 리다이렉트와 버전을 확인하세요." + "not_supported": "이 리디렉션은 Home Assistant 인스턴스에서 지원되지 않습니다. {link} 에서 지원되는 리디렉션과 리디렉션이 도입된 버전을 확인해주세요." }, "snapshot": { + "addons": "추가 기능", "available_snapshots": "사용 가능한 스냅샷", - "could_not_create": "스냅샷을 만들 수 없습니다.", - "create": "생성", - "create_blocked_not_running": "{state} 상태이기 때문에 지금은 스냅샷을 생성 할 수 없습니다.", - "create_snapshot": "스냅샷 생성", - "description": "스냅샷을 사용하면 홈 어시스턴트 인스턴스의 모든 데이터를 쉽게 백업하고 복원할 수 있습니다.", + "could_not_create": "스냅샷을 만들 수 없습니다", + "create": "생성하기", + "create_blocked_not_running": "시스템이 {state} 상태이기 때문에 지금은 스냅샷을 생성할 수 없습니다.", + "create_snapshot": "스냅샷 생성하기", + "description": "스냅샷을 사용하면 Home Assistant 인스턴스의 모든 데이터를 쉽게 백업하고 복원할 수 있습니다.", + "enter_password": "비밀번호를 입력해주세요", "folder": { - "addons/local": "로컬 애드온", - "media": "미디어" + "addons/local": "로컬 추가 기능", + "homeassistant": "Home Assistant 구성 내용", + "media": "미디어", + "share": "공유 내용", + "ssl": "SSL 인증서" }, + "folders": "폴더", + "full_snapshot": "전체 스냅샷", "name": "이름", - "no_snapshots": "아직 스냅샷이 없습니다.", + "no_snapshots": "스냅샷이 존재하지 않습니다.", + "partial_snapshot": "부분 스냅샷", + "password": "비밀번호", + "password_protected": "비밀번호로 보호됨", + "password_protection": "비밀번호 보호", "security": "보안", "type": "유형", - "upload_snapshot": "스냅샷 업로드" + "upload_snapshot": "스냅샷 업로드하기" }, "store": { - "missing_addons": "애드온이 없나요? 사용자 프로필에서 고급 모드 활성화 하세요.", - "no_results_found": "{repository} 에 결과가 없습니다.", + "missing_addons": "추가 기능이 보이지 않으신가요? 사용자 프로필 페이지에서 고급 모드를 활성화해보세요", + "no_results_found": "{repository}에 결과가 존재하지 않습니다", "registries": "레지스트리", "repositories": "저장소" }, @@ -256,41 +275,76 @@ "ram_usage": "코어 RAM 사용량" }, "host": { - "change": "변경", - "change_hostname": "호스트 이름 변경", - "confirm_reboot": "호스트를 재부팅 하시겠습니까?", - "confirm_shutdown": "호스트를 종료 하시겠습니까?", - "deployment": "배포", + "change": "변경하기", + "change_hostname": "호스트 이름 변경하기", + "confirm_reboot": "호스트를 재부팅하시겠습니까?", + "confirm_shutdown": "호스트를 종료하시겠습니까?", + "deployment": "배포 버전", "docker_version": "Docker 버전", - "emmc_lifetime_used": "eMMC 사용 시간", - "failed_to_import_from_usb": "USB에서 가져오기 실패", - "failed_to_set_hostname": "호스트 이름 설정 실패", + "emmc_lifetime_used": "eMMC 사용 수명", + "failed_to_get_hardware_list": "하드웨어 목록을 가져오지 못했습니다", + "failed_to_import_from_usb": "USB에서 가져오지 못했습니다", + "failed_to_reboot": "호스트를 재부팅하지 못했습니다", + "failed_to_set_hostname": "호스트 이름을 설정하지 못했습니다", + "failed_to_shutdown": "호스트를 종료하지 못했습니다", "hardware": "하드웨어", "hostname": "호스트 이름", "import_from_usb": "USB에서 가져오기", "ip_address": "IP 주소", - "new_hostname": "새 호스트 이름을 입력하십시오.", + "new_hostname": "새로운 호스트 이름을 입력해주세요:", "operating_system": "운영 체제", - "reboot_host": "호스트 재부팅", - "shutdown_host": "호스트 종료", - "used_space": "사용 공간" + "reboot_host": "호스트 재부팅하기", + "shutdown_host": "호스트 종료하기", + "used_space": "사용된 공간" }, "log": { - "get_logs": "{provider} 로그를 가져 오지 못했습니다 {error}", - "log_provider": "로그 제공" + "get_logs": "{provider} 로그를 가져오지 못했습니다. {error}", + "log_provider": "로그 제공자" }, "supervisor": { + "beta_backup": "이 기능을 활성화하기 전에 백업된 데이터가 있는지 확인해주세요.", + "beta_join_confirm": "베타 채널에 가입하시겠습니까?", + "beta_release_items": "여기에는 다음에 대한 베타 릴리스가 포함됩니다:", + "beta_warning": "베타 릴리스는 테스터 및 얼리 어답터용이며 불안정한 코드 변경 내용을 포함할 수 있습니다", "channel": "채널", "cpu_usage": "Supervisor CPU 사용량", - "failed_to_reload": "Supervisor 재실행 실패", - "failed_to_set_option": "Supervisor 옵션 설정 실패", - "failed_to_update": "Supervisor 업데이트 실패", + "failed_to_reload": "Supervisor를 다시 읽어오지 못했습니다", + "failed_to_set_option": "Supervisor 옵션을 설정하지 못했습니다", + "failed_to_update": "Supervisor를 업데이트하지 못했습니다", + "join_beta_action": "베타 채널에 가입하기", + "join_beta_description": "Home Assistant (출시 직전버전), Supervisor 및 호스트에 대한 베타 업데이트를 가져옵니다", + "leave_beta_action": "베타 채널에서 탈퇴하기", + "leave_beta_description": "Home Assistant, Supervisor 및 호스트에 대한 안정적인 업데이트를 가져옵니다 ", "ram_usage": "Supervisor RAM 사용량", - "unhealthy_description": "비정상적인 설치를 실행하면 문제가 발생합니다. 다음은 설치시 발견 된 문제 목록입니다. 링크를 클릭하여 문제를 해결하는 방법을 알아보십시오.", - "unhealthy_title": "비정상 설치입니다.", - "unsupported_description": "다음은 설치시 발견 된 문제 목록입니다. 링크를 클릭하여 문제를 해결하는 방법을 알아보십시오.", - "unsupported_title": "지원되지 않는 설치로 운영 중입니다.", - "update_supervisor": "Supervisor 업데이트" + "reload_supervisor": "Supervisor 다시 읽어오기", + "share_diagnostics": "진단 정보 공유하기", + "share_diagnostics_description": "충돌 보고서 및 진단 정보를 공유합니다.", + "share_diagonstics_description": "Supervisor에서 예기치 않은 오류가 발생할 경우 충돌 보고서 및 진단 정보를 자동으로 공유하시겠습니까? {line_break} 공유된 내용으로 발생된 문제를 해결할 수 있으며, 해당 정보는 Home Assistant Core 팀에서만 접근할 수 있을 뿐, 다른 사람과 공유되지 않습니다.{line_break} 데이터에는 개인 및 민감한 정보가 포함되어 있지 않으므로 언제든지 설정에서 이 정보를 사용하지 않도록 설정할 수 있습니다.", + "share_diagonstics_title": "Home Assistant 개선 도와주기", + "unhealthy_description": "비정상적으로 설치를 실행하면 문제가 발생합니다. 다음은 설치 시 발견된 문제 목록입니다. 문제를 해결하는 방법에 대해 알아보려면 링크를 클릭해주세요.", + "unhealthy_reason": { + "docker": "Docker 환경이 제대로 작동하지 않습니다", + "privileged": "Supervisor가 권한이 없습니다", + "setup": "Supervisor 설치에 실패했습니다", + "supervisor": "Supervisor가 업데이트할 수 없습니다" + }, + "unhealthy_title": "설치가 비정상적입니다", + "unsupported_description": "다음은 설치 시 발견된 문제 목록입니다. 문제를 해결하는 방법에 대해 알아보려면 링크를 클릭해주세요.", + "unsupported_reason": { + "container": "문제를 일으키는 것으로 알려진 컨테이너입니다", + "dbus": "DBUS", + "docker_configuration": "Docker 구성 내용", + "docker_version": "Docker 버전", + "job_conditions": "작업 조건이 무시되었습니다", + "lxc": "LXC", + "network_manager": "네트워크 관리자", + "os": "운영 체제", + "privileged": "Supervisor가 권한이 없습니다", + "systemd": "Systemd" + }, + "unsupported_title": "지원되지 않는 설치로 실행 중입니다", + "update_supervisor": "Supervisor 업데이트하기", + "warning": "경고" } } }, @@ -534,32 +588,34 @@ }, "logbook": { "by": "트리거 요소: ", - "by_service": "서비스 요소: ", + "by_service": "트리거 요소: 서비스", "entries_not_found": "로그북 구성요소를 찾을 수 없습니다.", "messages": { - "became_unavailable": "이(가) 사용 불가능함.", - "changed_to_state": "이(가) {state} 로 변경됨.", - "cleared_device_class": "이(가) 더 이상 {device_class} 을(를) 감지하지 않음.", - "detected_device_class": "이(가) {device_class} 을(를) 감지함.", - "rose": "일출 시각", - "set": "일몰 시각", - "turned_off": "이(가) 꺼짐.", - "turned_on": "이(가) 켜짐.", - "was_at_home": "이(가) 집에서 발견됨.", - "was_at_state": "이(가) {state} 로 감지됨.", - "was_away": "이(가) 외출로 감지됨.", - "was_closed": "이(가) 닫힘.", - "was_connected": "이(가) 연결됨.", - "was_disconnected": "이(가) 연결이 끊어짐.", - "was_locked": "이(가) 잠김.", - "was_low": "이(가) 낮음.", - "was_normal": "이(가) 정상상태가 됨.", - "was_opened": "이(가) 열림.", - "was_plugged_in": "이(가) 플러그가 꼽힘.", - "was_safe": "이(가) 안전함.", - "was_unlocked": "이(가) 잠금이 해제됨.", - "was_unplugged": "이(가) 플러그가 뽑힘.", - "was_unsafe": "이(가) 안전하지 않음." + "became_unavailable": "이(가) 사용 불가능해짐", + "changed_to_state": "이(가) {state}로(으로) 변경됨", + "cleared_device_class": "이(가) 더 이상 {device_class}을(를) 감지하지 않음", + "detected_device_class": "이(가) {device_class}을(를) 감지함", + "is_closing": "이(가) 닫히는 중", + "is_opening": "이(가) 열리는 중", + "rose": "이(가) 짐", + "set": "이(가) 뜸", + "turned_off": "이(가) 꺼짐", + "turned_on": "이(가) 켜짐", + "was_at_home": "이(가) 집에서 발견됨", + "was_at_state": "이(가) {state}로(으로) 감지됨", + "was_away": "이(가) 외출로 감지됨", + "was_closed": "이(가) 닫힘", + "was_connected": "이(가) 연결됨", + "was_disconnected": "이(가) 연결이 끊어짐", + "was_locked": "이(가) 잠김", + "was_low": "이(가) 낮음", + "was_normal": "이(가) 정상상태가 됨", + "was_opened": "이(가) 열림", + "was_plugged_in": " 플러그가 꼽힘", + "was_safe": "이(가) 안전함", + "was_unlocked": "이(가) 잠금이 해제됨", + "was_unplugged": " 플러그가 뽑힘", + "was_unsafe": "이(가) 안전하지 않음" } }, "media-browser": { @@ -794,7 +850,7 @@ "start": "시작", "start_pause": "시작 / 일시정지", "status": "상태", - "stop": "중지" + "stop": "중지하기" } }, "mqtt_device_debug_info": { @@ -874,8 +930,8 @@ }, "server_control": { "perform_action": "서버 {action}", - "restart": "재시작", - "stop": "중지" + "restart": "다시 시작하기", + "stop": "중지하기" } }, "filter_placeholder": "구성요소 필터" @@ -947,7 +1003,7 @@ "panel": { "config": { "advanced_mode": { - "hint_enable": "구성 옵션이 보이지 않으신가요? 고급 모드를 사용해보세요", + "hint_enable": "구성 옵션이 보이지 않으신가요? 사용자 프로필 페이지에서 고급 모드를 활성화해보세요", "link_profile_page": "프로필 페이지" }, "areas": { @@ -1173,7 +1229,7 @@ "label": "모드", "parallel": "병렬", "queued": "대기", - "restart": "재시작", + "restart": "다시 시작하기", "single": "단일 (기본값)" }, "move_down": "아래로 이동", @@ -1824,7 +1880,7 @@ "ignore": "무시", "ignored": "무시된 통합 구성요소", "show_ignored": "무시된 통합 구성요소 표시", - "stop_ignore": "무시 중지" + "stop_ignore": "무시 중지하기" }, "integration": "통합 구성요소", "integration_not_found": "통합 구성요소를 찾을 수 없습니다.", @@ -2162,7 +2218,7 @@ "label": "모드", "parallel": "병렬", "queued": "대기", - "restart": "재시작", + "restart": "다시 시작하기", "single": "단일 (기본값)" }, "save_script": "스크립트 저장", @@ -2186,7 +2242,7 @@ }, "server_control": { "caption": "서버 제어", - "description": "Home Assistant 서버를 재시작 또는 중지합니다", + "description": "Home Assistant 서버를 다시 시작하거나 중지합니다", "section": { "reloading": { "automation": "자동화 다시 읽어오기", @@ -2205,7 +2261,7 @@ "input_number": "숫자입력 다시 읽어오기", "input_select": "선택입력 다시 읽어오기", "input_text": "문자입력 다시 읽어오기", - "introduction": "Home Assistant 의 일부 구성 내용은 재시작 없이 다시 읽어 들일 수 있습니다. 다시 읽어오기를 누르면 현재 사용 중인 YAML 구성 내용을 내리고 새로운 구성 내용을 읽어 들입니다.", + "introduction": "Home Assistant의 일부 구성 내용은 다시 시작할 필요 없이 다시 읽어 들일 수 있습니다. 다시 읽어오기를 누르면 현재 사용 중인 YAML 구성 내용을 내리고 새로운 구성 내용을 읽어 들입니다.", "min_max": "최소/최대 구성요소 다시 읽어오기", "mqtt": "직접 구성한 MQTT 구성요소 다시 읽어오기", "person": "구성원 다시 읽어오기", @@ -2224,12 +2280,12 @@ "zone": "지역 다시 읽어오기" }, "server_management": { - "confirm_restart": "Home Assistant 를 재시작하시겠습니까?", - "confirm_stop": "Home Assistant 를 중지하시겠습니까?", + "confirm_restart": "Home Assistant를 다시 시작하시겠습니까?", + "confirm_stop": "Home Assistant를 중지하시겠습니까?", "heading": "서버 관리", "introduction": "Home Assistant 서버를 제어합니다.", - "restart": "재시작", - "stop": "중지" + "restart": "다시 시작하기", + "stop": "중지하기" }, "validation": { "check_config": "구성 내용 확인", diff --git a/translations/frontend/nl.json b/translations/frontend/nl.json index a9a099e8fb..60bbb03a5a 100644 --- a/translations/frontend/nl.json +++ b/translations/frontend/nl.json @@ -358,7 +358,7 @@ "text": "Wilt u de add-on opnieuw starten met uw wijzigingen?" }, "update": { - "create_snapshot": "Maak een snapshot van {name} voordat u gaat updaten", + "create_snapshot": "Maak een snapshot van {name} voordat u gaat bijwerken", "snapshot": "Snapshot", "snapshotting": "Een snapshot van {name} aan het maken", "updating": "Bijwerken van {name} naar versie {version}" @@ -445,16 +445,16 @@ "supervisor": { "beta_backup": "Zorg ervoor dat je back-ups van je gegevens hebt voordat je deze functie activeert.", "beta_join_confirm": "Wil je meedoen met de bèta releases?", - "beta_release_items": "Dit omvat beta releases voor:", - "beta_warning": "Beta-releases zijn voor testers en early adopters en kunnen onstabiele codewijzigingen bevatten", + "beta_release_items": "Dit omvat bèta releases voor:", + "beta_warning": "Bèta-releases zijn voor testers en early adopters en kunnen onstabiele codewijzigingen bevatten", "channel": "Kanaal", "cpu_usage": "Supervisor CPU-gebruik", "failed_to_reload": "Herladen van de Supervisor is mislukt", "failed_to_set_option": "Instellen van Supervisor-optie is mislukt", "failed_to_update": "Bijwerken van de Supervisor is mislukt", - "join_beta_action": "Word lid van het beta-kanaal", - "join_beta_description": "Ontvang beta-updates voor Home Assistant (RC's), Supervisor en host", - "leave_beta_action": "Verlaat beta-kanaal", + "join_beta_action": "Word lid van het bèta-kanaal", + "join_beta_description": "Ontvang bèta-updates voor Home Assistant (RC's), Supervisor en host", + "leave_beta_action": "Verlaat bèta-kanaal", "leave_beta_description": "Krijg stabiele updates voor Home Assistant, Supervisor en host", "ram_usage": "Supervisor RAM-gebruik", "reload_supervisor": "Herlaad de Supervisor", @@ -714,7 +714,7 @@ "blueprint-picker": { "add_user": "Gebruiker toevoegen", "remove_user": "Gebruiker verwijderen", - "select_blueprint": "Selecteer een blauwdruk" + "select_blueprint": "Selecteer een Blueprint" }, "calendar": { "my_calendars": "Mijn agenda's", @@ -1615,7 +1615,7 @@ "overview": { "add_blueprint": "Blueprint importeren", "confirm_delete_header": "Deze Blueprint verwijderen?", - "confirm_delete_text": "Weet je zeker dat je deze blauwdruk wilt verwijderen?", + "confirm_delete_text": "Weet je zeker dat je deze Blueprint wilt verwijderen?", "delete_blueprint": "Verwijder Blueprint", "discover_more": "Ontdek meer Blueprints", "header": "Blueprinteditor", @@ -1626,6 +1626,8 @@ }, "introduction": "Met de Blueprinteditor kunt je Blueprints maken en bewerken.", "learn_more": "Meer informatie over Blueprints", + "share_blueprint": "Deel Blueprint", + "share_blueprint_no_url": "Kan Blueprint niet delen: geen bron-URL", "use_blueprint": "Automatisering maken" } }, @@ -2841,7 +2843,7 @@ "migration": { "ozw": { "header": "Migreren naar OpenZWave", - "introduction": "Deze wizard helpt u te migreren van de oude Z-Wave integratie naar de OpenZWave integratie die momenteel in beta is." + "introduction": "Deze wizard helpt u te migreren van de oude Z-Wave integratie naar de OpenZWave integratie die momenteel in bèta is." } }, "network_management": { diff --git a/translations/frontend/pt.json b/translations/frontend/pt.json index 5213854712..58a8c3dc67 100644 --- a/translations/frontend/pt.json +++ b/translations/frontend/pt.json @@ -200,6 +200,7 @@ }, "common": { "cancel": "Cancelar", + "close": "Fechar", "description": "Descrição", "error": { "unknown": "Erro desconhecido", @@ -270,6 +271,8 @@ "password": "Palavra-passe", "registry": "Registro", "remove": "Remover", + "title_add": "Adicionar registo de novo Container", + "title_manage": "Gerir Registos dos Containers", "username": "Nome de Utilizador" }, "repositories": { @@ -282,14 +285,15 @@ "text": "Desejas reiniciar o add-on com as alterações?" }, "update": { - "create_snapshot": "Criar uma imagem de sistema do {name} antes de atualizar", - "snapshot": "Imagem de sistema", - "snapshotting": "A criar uma imagem de sistema do {home}", + "create_snapshot": "Criar um snapshot do {name} antes de atualizar", + "snapshot": "Snapshot", + "snapshotting": "A criar um snapshot de {name}", "updating": "Actualizando {nome} para a versão {versão}" } }, "my": { - "error": "Ocorreu um erro desconhecido" + "error": "Ocorreu um erro desconhecido", + "error_addon_not_found": "Add-on não encontrado" }, "panel": { "dashboard": "Painel", @@ -300,10 +304,10 @@ "snapshot": { "addons": "Add-ons", "available_snapshots": "Imagens de sistema disponíveis", - "could_not_create": "Não foi possivel criar imagem de sistema", + "could_not_create": "Não foi possivel criar um snapshot", "create": "Criar", - "create_blocked_not_running": "Não é possível criar uma imagem de sistema neste momento, porque o sistema encontra-se no estado {state}.", - "create_snapshot": "Criar imagem de sistema", + "create_blocked_not_running": "Não é possível criar um snapshot agora porque o sistema está {state}.", + "create_snapshot": "Criar snapshot", "description": "As imagens de sistema permitem facilmente criar uma cópia de segurança e restaurar todos os dados da sua instancia do Home Assistant", "enter_password": "Por favor introduza uma palavra-passe.", "folder": { @@ -314,16 +318,16 @@ "ssl": "SSL" }, "folders": "Pastas", - "full_snapshot": "Imagem completa de sistema", + "full_snapshot": "Snapshot completo", "name": "Nome", "no_snapshots": "Ainda não existem imagens de sistema.", - "partial_snapshot": "Imagem parcial de sistema", + "partial_snapshot": "Snapshot parcial", "password": "Palavra-passe", "password_protected": "Protegido por Palavra-passe", "password_protection": "Protecção por palavra-passe", "security": "Segurança", "type": "Tipo", - "upload_snapshot": "Carregar imagem de sistema" + "upload_snapshot": "Upload snapshot" }, "store": { "no_results_found": "Nenhum resultado encontrado em {repository} .", @@ -378,6 +382,7 @@ "reload_supervisor": "Recarregar Supervisor", "share_diagnostics": "Partilhar Diagnósticos", "share_diagnostics_description": "Partilhar relatórios de falhas e informações de diagnóstico.", + "share_diagonstics_description": "Quer partilhar automaticamente relatórios de quebras do sistema e informações de diagnóstico quando o Supervisor se deparar com erros inesperados? {line_break} Isto permitir-nos-á resolver os problemas, a informação só é acessível à equipa do Home Assistant Core e não será partilhada com outros.{line_break} Os dados não incluem qualquer informação privada/sensível e pode desativá-la em configurações em qualquer altura.", "share_diagonstics_title": "Ajudar a melhorar o Home Assistant", "unhealthy_description": "Executar uma instalação não íntegra causará problemas. Abaixo está uma lista de problemas detetados na sua instalação, clique nos links para saber como poderá resolver os problemas.", "unhealthy_reason": { @@ -918,6 +923,9 @@ "person": { "create_zone": "Criar zona a partir da localização atual" }, + "remote": { + "activity": "Atividade actual" + }, "restored": { "confirm_remove_text": "Tem a certeza que deseja remover esta entidade?", "confirm_remove_title": "Remover a entidade?", @@ -1525,6 +1533,8 @@ }, "introduction": "A configuração de *blueprints* permite importar e gerir os seus *blueprints*", "learn_more": "Aprenda mais sobre os *blueprints*", + "share_blueprint": "Partilhar blueprint", + "share_blueprint_no_url": "Não é possível partilhar o blueprint: falta o source url", "use_blueprint": "Criar automação" } }, diff --git a/translations/frontend/ru.json b/translations/frontend/ru.json index c820510945..9ff5ea378d 100644 --- a/translations/frontend/ru.json +++ b/translations/frontend/ru.json @@ -245,7 +245,7 @@ "start": "запустить", "stop": "остановить", "uninstall": "удалить", - "visit_addon_page": "Для получения дополнительной информации посетите страницу дополнения {name}" + "visit_addon_page": "Перейдите на страницу дополнения {name} для получения дополнительной информации" }, "documentation": { "get_documentation": "Не удалось получить документацию к дополнению, {error}" @@ -365,7 +365,7 @@ } }, "my": { - "error": "Произошла неизвестная ошибка.", + "error": "Произошла неизвестная ошибка", "error_addon_not_found": "Дополнение не найдено.", "faq_link": "часто задаваемыми вопросами по My Home Assistant", "not_supported": "Это перенаправление не поддерживается Вашим Home Assistant. Ознакомьтесь с {link}, чтобы узнать поддерживаемые перенаправления и версии, в которых они были добавлены." @@ -1626,6 +1626,8 @@ }, "introduction": "В этом разделе настроек Вы можете импортировать новые и управлять существующими проектами.", "learn_more": "Узнайте больше об использовании проектов", + "share_blueprint": "Поделиться проектом", + "share_blueprint_no_url": "Не удалось поделиться проектом: нет исходного URL-адреса", "use_blueprint": "Создать автоматизацию" } }, @@ -3493,7 +3495,7 @@ "my": { "component_not_loaded": "Это перенаправление не поддерживается Вашим Home Assistant. Настройте интеграцию \"{integration}\" для использования этого перенаправления.", "documentation": "документацией", - "error": "Произошла неизвестная ошибка.", + "error": "Произошла неизвестная ошибка", "faq_link": "часто задаваемыми вопросами по My Home Assistant", "no_supervisor": "Это перенаправление не поддерживается Вашим Home Assistant. Оно предназначено только для Home Assistant OS или Home Assistant Supervised. Для получения дополнительной информации ознакомьтесь с {docs_link}.", "not_supported": "Это перенаправление не поддерживается Вашим Home Assistant. Ознакомьтесь с {link}, чтобы узнать поддерживаемые перенаправления и версии, в которых они были добавлены." diff --git a/translations/frontend/tr.json b/translations/frontend/tr.json index b5f9118fa3..0059067cc4 100644 --- a/translations/frontend/tr.json +++ b/translations/frontend/tr.json @@ -103,14 +103,220 @@ } }, "supervisor": { + "addon": { + "configuration": { + "audio": { + "default": "Varsayılan", + "header": "Ses", + "input": "Giriş", + "output": "Çıkış" + }, + "network": { + "container": "Konteyner", + "disabled": "Devre dışı", + "header": "Ağ", + "host": "Ana bilgisayar" + }, + "no_configuration": "Bu eklenti, yapılandırmayı sizin için karışıklığa maruz bırakmaz ...", + "options": { + "edit_in_ui": "Kullanıcı arayüzünde düzenle", + "edit_in_yaml": "YAML'de düzenle", + "header": "Seçenekler", + "invalid_yaml": "Geçersiz YAML", + "show_unused_optional": "Kullanılmayan isteğe bağlı yapılandırma seçeneklerini göster" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "Eklenti değişiklik günlüğü alınamadı", + "go_to_config": "Eklenti başlatılamadı - yapılandırma doğrulaması başarısız oldu!", + "install": "Eklenti yüklenemedi", + "restart": "Eklenti yeniden başlatılamadı", + "start": "Eklenti başlatılamadı", + "start_invalid_config": "Yapılandırmaya git", + "stop": "Eklenti durdurulamadı", + "uninstall": "Eklenti kaldırılamadı", + "validate_config": "Eklenti yapılandırması doğrulanamadı" + }, + "capability": { + "apparmor": { + "description": "AppArmor ('Uygulama Zırhı'), ağ erişimi, ham soket erişimi ve belirli dosyaları okuma, yazma veya yürütme izni gibi eklenti yeteneklerini kısıtlayan bir Linux çekirdek güvenlik modülüdür. \n\n Eklenti yazarları, eklenti için optimize edilmiş güvenlik profillerini sağlayabilir veya devre dışı bırakılmasını isteyebilir. AppArmor devre dışı bırakılırsa, güvenlik riskleri artar ve bu nedenle eklentinin güvenlik puanı üzerinde olumsuz bir etkisi olur.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Bir eklenti, Home Assistant'a karşı kullanıcıların kimliğini doğrulayabilir ve eklentilerin kullanıcılara Home Assistant kullanıcı adlarını / şifrelerini kullanarak eklentiler içinde çalışan uygulamalarda oturum açmalarına olanak tanır. Bu rozet, eklenti yazarının bu özelliği isteyip istemediğini gösterir.", + "title": "Home Assistant Kimlik Doğrulaması" + }, + "docker_api": { + "description": "Eklenti yazarı, eklentinin sisteminizde çalışan Docker örneğine yönetim erişimine sahip olmasını istedi. Bu mod, eklentiye tüm Ev Asistanı sisteminize tam erişim ve kontrol sağlar, bu da güvenlik riskleri ekler ve kötüye kullanıldığında sisteminize zarar verebilir. Bu nedenle, bu özellik eklenti güvenlik puanını olumsuz etkiler. \n\n Bu erişim düzeyi otomatik olarak verilmez ve sizin tarafınızdan onaylanması gerekir. Bunu yapmak için, eklentideki koruma modunu manuel olarak devre dışı bırakmanız gerekir. Koruma modunu yalnızca bu eklentinin kaynağını biliyorsanız, buna ihtiyaç duyuyorsanız VE güveniyorsanız devre dışı bırakın.", + "title": "Tam Docker Erişimi" + }, + "full_access": { + "description": "Bu eklentiye, eklenti yazarının isteği üzerine sisteminizin donanımına tam erişim verilir. Erişim, Docker'daki ayrıcalıklı modla karşılaştırılabilir. Bu olası güvenlik risklerini ortaya çıkardığından, bu özellik eklenti güvenlik puanını olumsuz yönde etkiler. \n\n Bu erişim düzeyi otomatik olarak verilmez ve sizin tarafınızdan onaylanması gerekir. Bunu yapmak için, eklentideki koruma modunu manuel olarak devre dışı bırakmanız gerekir. Koruma modunu yalnızca bu eklentinin kaynağını biliyorsanız, buna ihtiyaç duyuyorsanız VE güveniyorsanız devre dışı bırakın.", + "title": "Tam Donanım Erişimi" + }, + "hassio_api": { + "description": "Eklenti yazarının isteği üzerine eklentiye Supervisor API'ye erişim verildi. Varsayılan olarak eklenti, sisteminizin genel sürüm bilgilerine erişebilir. Eklenti, API'ye \"yönetici\" veya \"yönetici\" düzeyinde erişim istediğinde, Home Assistant sisteminizin birden çok bölümünü kontrol etme erişimi kazanır. Bu izin, bu rozetle belirtilir ve eklentinin güvenlik puanını olumsuz etkileyecektir.", + "title": "Supervisor API Erişimi" + }, + "homeassistant_api": { + "description": "Bu eklentinin, çalışan Home Assistant örneğinize doğrudan Home Assistant API aracılığıyla erişmesine izin verilir. Bu mod, eklenti için kimlik doğrulamasını da yönetir, bu da bir eklentinin ek kimlik doğrulama belirteçlerine ihtiyaç duymadan Home Assistant ile etkileşime girmesini sağlar.", + "title": "Home Assistant API Erişimi" + }, + "host_network": { + "description": "Eklentiler genellikle kendi yalıtılmış ağ katmanlarında çalışır ve bu da ana bilgisayar işletim sisteminin ağına erişmelerini engeller. Bazı durumlarda, bu ağ yalıtımı, hizmetlerini sağlamada eklentileri sınırlayabilir ve bu nedenle yalıtım, eklenti yazarı tarafından kaldırılarak eklentiye ana makinenin ağ yeteneklerine tam erişim sağlanabilir. Bu, eklentiye daha fazla ağ oluşturma yeteneği verir, ancak güvenliği düşürür, bu nedenle eklentinin güvenlik derecesi, eklenti tarafından bu seçenek kullanıldığında düşürülür.", + "title": "Ana Bilgisayar Ağı" + }, + "host_pid": { + "description": "Eklentinin çalıştırdığı işlemler genellikle diğer tüm sistem işlemlerinden izole edilir. Eklenti yazarı, eklentinin ana bilgisayar sistemi örneğinde çalışan sistem işlemlerine erişmesini ve eklentinin ana bilgisayar sisteminde de işlemleri oluşturmasına izin vermesini istedi. Bu mod, eklentiye tüm Ev Asistanı sisteminize tam erişim ve kontrol sağlar, bu da güvenlik riskleri ekler ve kötüye kullanıldığında sisteminize zarar verebilir. Bu nedenle, bu özellik eklenti güvenlik puanını olumsuz etkiler. \n\n Bu erişim düzeyi otomatik olarak verilmez ve sizin tarafınızdan onaylanması gerekir. Bunu yapmak için, eklentideki koruma modunu manuel olarak devre dışı bırakmanız gerekir. Koruma modunu yalnızca bu eklentinin kaynağını biliyorsanız, buna ihtiyaç duyuyorsanız VE güveniyorsanız devre dışı bırakın.", + "title": "Ana Bilgisayar İşlemleri Ad Alanı" + }, + "ingress": { + "description": "Bu eklenti, arayüzünü güvenli bir şekilde Home Assistant'a yerleştirmek için Ingress'i kullanıyor.", + "title": "Ingress" + }, + "label": { + "apparmor": "apparmor", + "auth": "kimlik doğrulaması", + "docker": "docker", + "hardware": "donanım", + "hass": "hass", + "hassio": "hassio", + "host": "ana bilgisayar", + "host_pid": "ana bilgisayar pid'si", + "ingress": "ingress", + "rating": "değerlendirme", + "stage": "sahne" + }, + "rating": { + "description": "Home Assistant, eklentilerin her biri için bu eklentiyi kullanırken ortaya çıkan riskleri gösteren bir güvenlik derecelendirmesi sağlar. Bir eklenti sisteminizde ne kadar çok erişim gerektirirse, puan o kadar düşük olur ve bu da olası güvenlik risklerini artırır. \n\n Puan 1'den 6'ya kadar bir skaladır. Burada 1 en düşük puan (en güvensiz ve en yüksek risk olarak kabul edilir) ve 6 puan en yüksek puandır (en güvenli ve en düşük risk olarak kabul edilir).", + "title": "Eklenti Güvenlik Derecelendirmesi" + }, + "role": { + "admin": "yönetici", + "backup": "yedekleme", + "default": "varsayılan", + "homeassistant": "homeassistant", + "manager": "yönetici" + }, + "stage": { + "description": "Eklentiler üç aşamadan birine sahip olabilir: \n\n {icon_stable} ** Kararlı **: Bunlar, üretimde kullanılmaya hazır eklentilerdir. \n\n {icon_experimental} ** Deneysel **: Bunlar hatalar içerebilir ve tamamlanmamış olabilir. \n\n {icon_deprecated} ** Kullanımdan kaldırıldı **: Bu eklentiler artık herhangi bir güncelleme almayacak.", + "title": "Eklenti Aşaması" + } + }, + "changelog": "Değişiklik günlüğü", + "cpu_usage": "Eklenti CPU Kullanımı", + "hostname": "Ana bilgisayar adı", + "install": "yükle", + "new_update_available": "{name} {version} mevcut", + "not_available_arch": "Bu eklenti, cihazınızın işlemcisi veya cihazınıza yüklediğiniz işletim sistemi ile uyumlu değildir.", + "not_available_version": "Home Assistant'ı {core_version_installed} çalıştırıyorsunuz, eklentinin bu sürümüne güncellemek için Home Assistant'ın {core_version_needed} sürümüne ihtiyacınız vardır", + "open_web_ui": "Web kullanıcı arayüzünü aç", + "option": { + "auto_update": { + "description": "Yeni bir sürüm mevcut olduğunda eklentiyi otomatik güncelle", + "title": "Otomatik güncelleme" + }, + "boot": { + "description": "Eklentiyi bir sistem önyüklemesi sırasında başlatın", + "title": "Önyüklemede başlat" + }, + "ingress_panel": { + "description": "Bu eklentiyi kenar çubuğunuza ekleyin", + "title": "Kenar çubuğunda göster" + }, + "protected": { + "description": "Eklentiden yükseltilmiş sistem erişimini engeller", + "title": "Koruma modu" + }, + "watchdog": { + "description": "Bu, çökerse eklentiyi başlatır", + "title": "Watchdog" + } + }, + "protection_mode": { + "content": "Bu eklentideki koruma modu devre dışı bırakıldı! Bu, eklentiye tüm sisteme tam erişim sağlar, bu da güvenlik riskleri ekler ve yanlış kullanıldığında sisteminize zarar verebilir. Koruma modunu yalnızca bu eklentinin kaynağını biliyorsanız, buna ihtiyaç duyuyorsanız VE güveniyorsanız devre dışı bırakın.", + "enable": "Koruma modunu etkinleştir", + "title": "Uyarı: Koruma modu devre dışı bırakıldı!" + }, + "ram_usage": "Eklenti RAM Kullanımı", + "rebuild": "yeniden inşa et", + "restart": "yeniden başlat", + "start": "başlat", + "stop": "dur", + "uninstall": "kaldır", + "visit_addon_page": "Daha fazla ayrıntı için {name} sayfasını ziyaret edin" + }, + "documentation": { + "get_documentation": "Eklenti belgeleri alınamadı, {error}" + }, + "failed_to_reset": "Eklenti yapılandırması sıfırlanamadı, {error}", + "failed_to_save": "Eklenti yapılandırması kaydedilemedi, {error}", + "logs": { + "get_logs": "Eklenti günlükleri alınamadı, {error}" + }, + "panel": { + "configuration": "Yapılandırma", + "documentation": "Dökümanlar", + "info": "Bilgi", + "log": "Günlük" + }, + "state": { + "installed": "Eklenti yüklendi", + "not_available": "Eklenti sisteminizde kullanılamıyor", + "not_installed": "Eklenti yüklü değil" + } + }, "common": { - "cancel": "İptal" + "cancel": "İptal", + "close": "Kapat", + "description": "Açıklama", + "error": { + "unknown": "Bilinmeyen hata", + "update_failed": "Güncelleştirme başarısız oldu" + }, + "failed_to_restart_name": "{name} yeniden başlatılamadı", + "failed_to_update_name": "{name} güncellenemedi", + "learn_more": "Daha fazla bilgi edinin", + "new_version_available": "Yeni sürüm mevcut", + "newest_version": "En Yeni Sürüm", + "no": "Hayır", + "refresh": "Yenile", + "release_notes": "Sürüm notları", + "reload": "Tekrar yükle", + "reset_defaults": "Varsayılanlara dön", + "reset_options": "Ayarları sıfırla", + "restart": "Yeniden başlat", + "restart_name": "{name} yeniden başlatın", + "running_version": "Şu anda {version} sürümünü çalıştırıyorsunuz", + "save": "Kaydet", + "show_more": "Bununla ilgili daha fazla bilgi göster", + "update": "Güncelle", + "update_available": "{count, plural,\n one {Update}\n other {{count} Updates}\n} pending", + "version": "Sürüm", + "yes": "Evet" }, "confirm": { + "reset_options": { + "text": "Tüm seçeneklerinizi sıfırlamak istediğinizden emin misiniz?", + "title": "Ayarları sıfırla" + }, + "restart": { + "text": "{name} yeniden başlatmak istediğinizden emin misiniz?", + "title": "{name} yeniden başlatın" + }, "update": { + "text": "{name} i {version} sürümüne güncellemek istediğinizden emin misiniz?", "title": "{name} güncelleyin" } }, + "dashboard": { + "addon_new_version": "Yeni sürüm mevcut", + "addon_running": "Eklenti çalışıyor", + "addon_stopped": "Eklenti durduruldu", + "addons": "Eklentiler", + "no_addons": "Henüz yüklü eklentiniz yok. Başlamak için eklenti mağazasına gidin!" + }, "dialog": { "network": { "connected_to": "{ssid} bağlantı kuruldu", @@ -158,6 +364,18 @@ "updating": "{name} , {version} sürümüne güncelleniyor" } }, + "my": { + "error": "Bilinmeyen bir hata oluştu", + "error_addon_not_found": "Eklenti bulunamadı", + "faq_link": "Home Assistant SSS", + "not_supported": "Bu yönlendirme, Home Assistant örneğiniz tarafından desteklenmiyor. Desteklenen yönlendirmeler ve bunların sunulduğu sürüm için {link} bağlantısını kontrol edin." + }, + "panel": { + "dashboard": "Gösterge Paneli", + "snapshots": "Anlık görüntüler", + "store": "Eklenti Mağazası", + "system": "Sistem" + }, "snapshot": { "addons": "Eklentiler", "available_snapshots": "Kullanılabilir Anlık Görüntüler", @@ -186,6 +404,12 @@ "type": "Tür", "upload_snapshot": "Anlık görüntü yükle" }, + "store": { + "missing_addons": "Eksik eklentiler mi var? Kullanıcı profili sayfanızda gelişmiş modu etkinleştirin", + "no_results_found": "{repository} içinde sonuç bulunamadı.", + "registries": "Kayıtlar", + "repositories": "Depolar" + }, "system": { "core": { "cpu_usage": "Çekirdek CPU Kullanımı", @@ -214,14 +438,41 @@ "shutdown_host": "Ana bilgisayarı kapat", "used_space": "Kullanılan alan" }, + "log": { + "get_logs": "{provider} günlükleri alınamadı, {error}", + "log_provider": "Günlük Sağlayıcısı" + }, "supervisor": { + "beta_backup": "Bu özelliği etkinleştirmeden önce verilerinizin yedeğini aldığınızdan emin olun.", + "beta_join_confirm": "Beta kanalına katılmak ister misiniz?", + "beta_release_items": "Bu, aşağıdakiler için beta sürümlerini içerir:", + "beta_warning": "Beta sürümleri test ediciler ve ilk kullanıcılar içindir ve dengesiz kod değişiklikleri içerebilir", + "channel": "Kanal", + "cpu_usage": "Süpervizör CPU Kullanımı", + "failed_to_reload": "Süpervizör yeniden yüklenemedi", + "failed_to_set_option": "Süpervizör seçeneği ayarlanamadı", + "failed_to_update": "Süpervizör güncellenemedi", + "join_beta_action": "Beta kanalına katılın", + "join_beta_description": "Home Assistant (RC'ler), Süpervizör ve ana bilgisayar için beta güncellemelerini alın", + "leave_beta_action": "Beta kanalından ayrıl", + "leave_beta_description": "Home Assistant, Süpervizör ve ana bilgisayar için kararlı güncellemeler alın", + "ram_usage": "Süpervizör RAM Kullanımı", + "reload_supervisor": "Süpervizörü Yeniden Yükleme", + "share_diagnostics": "Tanılamayı Paylaş", + "share_diagnostics_description": "Kilitlenme raporlarını ve tanılama bilgilerini paylaşın.", + "share_diagonstics_description": "Süpervizör beklenmedik hatalarla karşılaştığında otomatik olarak kilitlenme raporlarını ve tanılama bilgilerini paylaşmak ister misiniz? {line_break} Bu, sorunları çözmemize olanak tanıyacak, bilgilere yalnızca Home Assistant Core ekibi erişebilecek ve başkalarıyla paylaşılmayacaktır. {line_break} Veriler hiçbir özel / hassas bilgi içermez ve bunu istediğiniz zaman ayarlardan devre dışı bırakabilirsiniz.", + "share_diagonstics_title": "Home Assistant'ı Geliştirmeye Yardım Edin", + "unhealthy_description": "Sağlıksız bir kurulum çalıştırmak sorunlara neden olacaktır. Aşağıda, kurulumunuzla ilgili bulunan sorunların bir listesi verilmiştir, sorunları nasıl çözebileceğinizi öğrenmek için bağlantılara tıklayın.", "unhealthy_reason": { "docker": "Docker ortamı düzgün çalışmıyor", "privileged": "Süpervizör ayrıcalıklı değil", "setup": "Süpervizörün kurulumu başarısız oldu", "supervisor": "Süpervizör güncellenemedi" }, + "unhealthy_title": "Kurulumunuz sağlıksız", + "unsupported_description": "Aşağıda, kurulumunuzla ilgili bulunan sorunların bir listesi verilmiştir, sorunları nasıl çözebileceğinizi öğrenmek için bağlantılara tıklayın.", "unsupported_reason": { + "container": "Sorunlara neden olduğu bilinen kapsayıcılar", "dbus": "DBUS", "docker_configuration": "Docker Yapılandırması", "docker_version": "Docker Sürümü", @@ -231,7 +482,10 @@ "os": "İşletim sistemi", "privileged": "Süpervizör ayrıcalıklı değil", "systemd": "Systemd" - } + }, + "unsupported_title": "Desteklenmeyen bir kurulum çalıştırıyorsunuz", + "update_supervisor": "Süpervizörü Güncelle", + "warning": "UYARI" } } }, @@ -510,6 +764,8 @@ "changed_to_state": "{state} değiştirildi", "cleared_device_class": "temizlendi ( {device_class} algılanmadı)", "detected_device_class": "{device_class} algılandı", + "is_closing": "kapanıyor", + "is_opening": "açılıyor", "rose": "gül", "set": "Ayarlamak", "turned_off": "Kapatıldı", @@ -757,6 +1013,9 @@ "person": { "create_zone": "Geçerli konumdan bölge oluşturma" }, + "remote": { + "activity": "Şu anki aktivite" + }, "restored": { "confirm_remove_text": "Bu varlığı kaldırmak istediğinizden emin misiniz?", "confirm_remove_title": "Varlık kaldırılsın mı?", @@ -888,6 +1147,7 @@ "clusters": "Kümeleri Yönet", "reconfigure": "Cihazı Yeniden Yapılandır", "remove": "Cihazı Kaldır", + "view_in_visualization": "Görselleştirmede Görüntüle", "zigbee_information": "Zigbee cihaz imzası" }, "confirmations": { @@ -1366,6 +1626,8 @@ }, "introduction": "Taslak düzenleyici, taslakları oluşturmanıza ve düzenlemenize olanak tanır.", "learn_more": "Taslaklar hakkında daha fazla bilgi edinin", + "share_blueprint": "Taslağı paylaş", + "share_blueprint_no_url": "Taslak paylaşılamıyor: kaynak url yok", "use_blueprint": "Otomasyon oluşturun" } }, @@ -1819,7 +2081,7 @@ "devices": "{count} {count, plural,\n one {cihaz}\n other {cihazlar}\n}", "disable_restart_confirm": "Bu entegrasyonu devre dışı bırakmayı tamamlamak için Home Assistant'ı yeniden başlatın", "disable": { - "disable_confirm": "Bu yapılandırma girişini devre dışı bırakmak istediğinizden emin misiniz? Cihazlar ve varlıklar devre dışı bırakılacak.", + "disable_confirm": "Bu yapılandırma girişini devre dışı bırakmak istediğinizden emin misiniz? Cihazları ve varlıkları devre dışı bırakılacak.", "disabled": "Devre dışı", "disabled_by": { "device": "cihaz", @@ -2465,6 +2727,7 @@ "caption": "Görselleştirme", "header": "Ağ Görselleştirme", "highlight_label": "Cihazları Vurgula", + "refresh_topology": "Topolojiyi Yenile", "zoom_label": "Cihaza Yakınlaştır" } }, @@ -3142,6 +3405,8 @@ "error_remove": "Yapılandırma kaldırılamıyor: {error}", "error_save_yaml": "YAML kaydedilemiyor: {error}", "header": "Yapılandırmayı Düzenle", + "lovelace_changed": "Lovelace yapılandırması güncellendi, güncellenmiş yapılandırmayı düzenleyiciye yüklemek ve mevcut değişikliklerinizi kaybetmek ister misiniz?", + "reload": "Tekrar yükle", "resources_moved": "Kaynaklar artık Lovelace yapılandırmasına eklenemez, ancak Lovelace yapılandırma paneline eklenebilir.", "save": "Kaydet", "saved": "Kaydedildi", diff --git a/translations/frontend/zh-Hans.json b/translations/frontend/zh-Hans.json index b1bb001a92..05e8c553b7 100644 --- a/translations/frontend/zh-Hans.json +++ b/translations/frontend/zh-Hans.json @@ -119,10 +119,12 @@ "title": "宿主进程命名空间" } }, + "not_available_version": "您正在运行 Home Assistant 版本 {core_version_installed},要将加载项更新到此版本,至少需要 Home Assistant 版本 {core_version_needed}", "protection_mode": { "content": "此加载项的保护模式已禁用!这将使加载项具有对整个系统的完全访问权限,这增加了安全风险,并且在使用不当时可能会损坏系统。请务必在了解、信任加载项来源并且确有需要时,才禁用保护模式。", "title": "警告:保护模式已禁用!" - } + }, + "visit_addon_page": "有关更多信息,请访问{name}页面" }, "panel": { "configuration": "配置", @@ -139,7 +141,7 @@ "release_notes": "发行说明", "save": "保存", "update": "更新", - "update_available": "正在等待 {count} 项更新", + "update_available": "正在等待{count, plural,\n one {更新}\n other { {count} 项更新}\n}", "version": "版本" }, "confirm": { @@ -1334,6 +1336,8 @@ }, "introduction": "Blueprint 编辑器方便您导入和管理 Blueprint。", "learn_more": "详细了解如何使用 Blueprint", + "share_blueprint": "共享 Blueprint", + "share_blueprint_no_url": "无法共享 Blueprint,因为没有源码 URL", "use_blueprint": "创建自动化" } }, diff --git a/translations/frontend/zh-Hant.json b/translations/frontend/zh-Hant.json index 2ca826b94c..47868bf45e 100644 --- a/translations/frontend/zh-Hant.json +++ b/translations/frontend/zh-Hant.json @@ -1626,6 +1626,8 @@ }, "introduction": "Blueprint 編輯器可允許匯入與管理 Blueprint。", "learn_more": "詳細了解如何使用 Blueprint", + "share_blueprint": "分享 Blueprint", + "share_blueprint_no_url": "無法分享 Blueprint:沒有來源 URL", "use_blueprint": "新增自動化" } }, From aece3a37c0ad1ea637044dbed97706803a9992ee Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Sun, 7 Mar 2021 16:40:54 +0100 Subject: [PATCH 034/164] Ensure dev-tools state attribute checkbox state gets stored (#8579) --- src/panels/developer-tools/state/developer-tools-state.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/panels/developer-tools/state/developer-tools-state.js b/src/panels/developer-tools/state/developer-tools-state.js index a170068bc1..e416414aa6 100644 --- a/src/panels/developer-tools/state/developer-tools-state.js +++ b/src/panels/developer-tools/state/developer-tools-state.js @@ -171,7 +171,7 @@ class HaPanelDevState extends EventsMixin(LocalizeMixin(PolymerElement)) { [[localize('ui.panel.developer-tools.tabs.states.attributes')]] From 7ea1ece1694ff556eb01b3553e0aa0f2aa25000a Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Sun, 7 Mar 2021 21:02:44 +0100 Subject: [PATCH 035/164] Don't allow UI editor for service calls with templates (#8581) --- src/common/string/has-template.ts | 17 +++++++++++++++++ .../types/ha-automation-action-service.ts | 10 ++++++++++ 2 files changed, 27 insertions(+) create mode 100644 src/common/string/has-template.ts diff --git a/src/common/string/has-template.ts b/src/common/string/has-template.ts new file mode 100644 index 0000000000..b54af3307d --- /dev/null +++ b/src/common/string/has-template.ts @@ -0,0 +1,17 @@ +const isTemplateRegex = new RegExp("{%|{{|{#"); +export const isTemplate = (value: string): boolean => + isTemplateRegex.test(value); + +export const hasTemplate = (value: unknown): boolean => { + if (!value) { + return false; + } + if (typeof value === "string") { + return isTemplate(value); + } + if (typeof value === "object") { + const values = Array.isArray(value) ? value : Object.values(value!); + return values.some((val) => hasTemplate(val)); + } + return false; +}; diff --git a/src/panels/config/automation/action/types/ha-automation-action-service.ts b/src/panels/config/automation/action/types/ha-automation-action-service.ts index 984c2f0a52..4930c86b9b 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-service.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-service.ts @@ -16,6 +16,7 @@ import type { HomeAssistant } from "../../../../../types"; import { EntityIdOrAll } from "../../../../../common/structs/is-entity-id"; import { ActionElement } from "../ha-automation-action-row"; import "../../../../../components/ha-service-control"; +import { hasTemplate } from "../../../../../common/string/has-template"; const actionStruct = object({ service: optional(string()), @@ -46,6 +47,15 @@ export class HaServiceAction extends LitElement implements ActionElement { assert(this.action, actionStruct); } catch (error) { fireEvent(this, "ui-mode-not-available", error); + return; + } + if (this.action && hasTemplate(this.action)) { + fireEvent( + this, + "ui-mode-not-available", + Error(this.hass.localize("ui.errors.config.no_template_editor_support")) + ); + return; } if (this.action.entity_id) { this._action = { From b71f452795fc5be13d732a39acfc9e6aafb523ef Mon Sep 17 00:00:00 2001 From: tkdrob Date: Sun, 7 Mar 2021 16:33:02 -0500 Subject: [PATCH 036/164] Fix spelling (#8582) --- src/translations/en.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/translations/en.json b/src/translations/en.json index e4339203a0..f8b6340eec 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -2037,7 +2037,7 @@ "new": "Set up a new integration", "confirm_new": "Do you want to set up {integration}?", "add_integration": "Add integration", - "no_integrations": "Seems like you don't have any integations configured yet. Click on the button below to add your first integration!", + "no_integrations": "Seems like you don't have any integrations configured yet. Click on the button below to add your first integration!", "note_about_integrations": "Not all integrations can be configured via the UI yet.", "note_about_website_reference": "More are available on the ", "home_assistant_website": "Home Assistant website", @@ -2204,7 +2204,7 @@ "node_query_stages": { "protocolinfo": "Obtaining basic Z-Wave capabilities of this node from the controller", "probe": "Checking if the node is awake/alive", - "wakeup": "Setting up support for wakeup queues and messages", + "wakeup": "Setting up support for wake-up queues and messages", "manufacturerspecific1": "Obtaining manufacturer and product ID codes from the node", "nodeinfo": "Obtaining supported command classes from the node", "nodeplusinfo": "Obtaining Z-Wave+ information from the node", @@ -2226,8 +2226,8 @@ "complete": "Node Refresh Complete", "description": "This will tell OpenZWave to re-interview a node and update the node's command classes, capabilities, and values.", "battery_note": "If the node is battery powered, be sure to wake it before proceeding", - "wakeup_header": "Wakeup Instructions for", - "wakeup_instructions_source": "Wakeup instructions are sourced from the OpenZWave community device database.", + "wakeup_header": "Wake-up Instructions for", + "wakeup_instructions_source": "Wake-up instructions are sourced from the OpenZWave community device database.", "start_refresh_button": "Start Refresh", "refreshing_description": "Refreshing node information...", "node_status": "Node Status", @@ -2395,7 +2395,7 @@ "instance": "Instance", "index": "Index", "unknown": "unknown", - "wakeup_interval": "Wakeup Interval" + "wakeup_interval": "Wake-up Interval" }, "migration": { "ozw": { @@ -2446,7 +2446,7 @@ "node_config": { "header": "Node Configuration Options", "seconds": "seconds", - "set_wakeup": "Set Wakeup Interval", + "set_wakeup": "Set Wake-up Interval", "config_parameter": "Configuration Parameter", "config_value": "Configuration Value", "true": "True", @@ -3773,7 +3773,7 @@ "network": { "title": "Network settings", "connected_to": "Connected to {ssid}", - "scan_ap": "Scan for accesspoints", + "scan_ap": "Scan for access points", "open": "Open", "wep": "WEP", "wpa": "wpa-psk", From c8ea37eec0858bb894f5e200d303f283cd8c7e15 Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Sun, 7 Mar 2021 23:05:20 +0100 Subject: [PATCH 037/164] Consistent blank before "%" (#8366) --- hassio/src/components/supervisor-metric.ts | 2 +- hassio/src/system/hassio-host-info.ts | 4 ++-- src/components/ha-climate-state.ts | 2 +- src/dialogs/more-info/controls/more-info-vacuum.ts | 2 +- src/panels/config/devices/ha-config-device-page.ts | 2 +- src/panels/config/devices/ha-config-devices-dashboard.ts | 6 +++--- src/panels/lovelace/components/hui-generic-entity-row.ts | 2 +- .../lovelace/entity-rows/hui-humidifier-entity-row.ts | 2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/hassio/src/components/supervisor-metric.ts b/hassio/src/components/supervisor-metric.ts index 116b137e0f..25eabcdf60 100644 --- a/hassio/src/components/supervisor-metric.ts +++ b/hassio/src/components/supervisor-metric.ts @@ -28,7 +28,7 @@ class SupervisorMetric extends LitElement {
- ${roundedValue}% + ${roundedValue} % - ${this.supervisor.host.disk_life_time - 10}% - - ${this.supervisor.host.disk_life_time}% + ${this.supervisor.host.disk_life_time - 10} % - + ${this.supervisor.host.disk_life_time} % ` : ""} diff --git a/src/components/ha-climate-state.ts b/src/components/ha-climate-state.ts index 9b46f6cdb8..19a8bc0b68 100644 --- a/src/components/ha-climate-state.ts +++ b/src/components/ha-climate-state.ts @@ -101,7 +101,7 @@ class HaClimateState extends LitElement { )}-${formatNumber( this.stateObj.attributes.target_humidity_high, this.hass!.language - )}%`; + )} %`; } if (this.stateObj.attributes.humidity != null) { diff --git a/src/dialogs/more-info/controls/more-info-vacuum.ts b/src/dialogs/more-info/controls/more-info-vacuum.ts index 1e862c474a..945f0d75e4 100644 --- a/src/dialogs/more-info/controls/more-info-vacuum.ts +++ b/src/dialogs/more-info/controls/more-info-vacuum.ts @@ -123,7 +123,7 @@ class MoreInfoVacuum extends LitElement {
- ${stateObj.attributes.battery_level}% + ${stateObj.attributes.battery_level} %
` diff --git a/src/panels/config/devices/ha-config-device-page.ts b/src/panels/config/devices/ha-config-device-page.ts index aa988682a3..3d7129e354 100644 --- a/src/panels/config/devices/ha-config-device-page.ts +++ b/src/panels/config/devices/ha-config-device-page.ts @@ -226,7 +226,7 @@ export class HaConfigDevicePage extends LitElement { batteryState ? html`
- ${batteryIsBinary ? "" : batteryState.state + "%"} + ${batteryIsBinary ? "" : batteryState.state + " %"} { const battery = batteryEntityPair && batteryEntityPair[0] @@ -298,7 +298,7 @@ export class HaConfigDeviceDashboard extends LitElement { battery && computeStateDomain(battery) === "binary_sensor"; return battery && (batteryIsBinary || !isNaN(battery.state as any)) ? html` - ${batteryIsBinary ? "" : battery.state + "%"} + ${batteryIsBinary ? "" : battery.state + " %"} ` diff --git a/src/panels/lovelace/entity-rows/hui-humidifier-entity-row.ts b/src/panels/lovelace/entity-rows/hui-humidifier-entity-row.ts index 7a2e1a12b6..f9e54b8b04 100644 --- a/src/panels/lovelace/entity-rows/hui-humidifier-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-humidifier-entity-row.ts @@ -52,7 +52,7 @@ class HuiHumidifierEntityRow extends LitElement implements LovelaceRow { .config=${this._config} .secondaryText=${stateObj.attributes.humidity ? `${this.hass!.localize("ui.card.humidifier.humidity")}: - ${stateObj.attributes.humidity}%${ + ${stateObj.attributes.humidity} %${ stateObj.attributes.mode ? ` (${ this.hass!.localize( From f24f21ca91647b0f823c9670529556208105a134 Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Sun, 7 Mar 2021 23:15:53 +0100 Subject: [PATCH 038/164] Handle delay templates properly + error handling tweaks (#8578) Co-authored-by: Bram Kragten --- src/data/script.ts | 2 +- .../action/ha-automation-action-row.ts | 21 ++++-- .../types/ha-automation-action-delay.ts | 67 ++++++++++++------- .../ha-automation-condition-editor.ts | 6 +- .../trigger/ha-automation-trigger-row.ts | 6 +- .../lovelace/editor/hui-element-editor.ts | 10 ++- src/translations/en.json | 13 ++-- 7 files changed, 83 insertions(+), 42 deletions(-) diff --git a/src/data/script.ts b/src/data/script.ts index 10f32a549e..bb04af28e5 100644 --- a/src/data/script.ts +++ b/src/data/script.ts @@ -55,7 +55,7 @@ export interface DelayActionParts { days?: number; } export interface DelayAction { - delay: number | Partial; + delay: number | Partial | string; } export interface SceneAction { diff --git a/src/panels/config/automation/action/ha-automation-action-row.ts b/src/panels/config/automation/action/ha-automation-action-row.ts index ed4f1be90c..61810c87e8 100644 --- a/src/panels/config/automation/action/ha-automation-action-row.ts +++ b/src/panels/config/automation/action/ha-automation-action-row.ts @@ -193,12 +193,16 @@ export default class HaAutomationActionRow extends LitElement {
${this._warnings ? html`
- UI editor is not supported for this config: + ${this.hass.localize("ui.errors.config.editor_not_supported")}:
-
    - ${this._warnings.map((warning) => html`
  • ${warning}
  • `)} -
- You can still edit your config in YAML. + ${this._warnings!.length > 0 && this._warnings![0] !== undefined + ? html`
    + ${this._warnings!.map( + (warning) => html`
  • ${warning}
  • ` + )} +
` + : ""} + ${this.hass.localize("ui.errors.config.edit_in_yaml_supported")}
` : ""} ${yamlMode @@ -212,7 +216,11 @@ export default class HaAutomationActionRow extends LitElement { )} ` : ""} -

Edit in YAML

+

+ ${this.hass.localize( + "ui.panel.config.automation.editor.edit_yaml" + )} +

- - `; + protected render() { + return html``; } private _valueChanged(ev: CustomEvent) { diff --git a/src/panels/config/automation/condition/ha-automation-condition-editor.ts b/src/panels/config/automation/condition/ha-automation-condition-editor.ts index 42dd2c34d8..e7a1c2f691 100644 --- a/src/panels/config/automation/condition/ha-automation-condition-editor.ts +++ b/src/panels/config/automation/condition/ha-automation-condition-editor.ts @@ -63,7 +63,11 @@ export default class HaAutomationConditionEditor extends LitElement { )} ` : ""} -

Edit in YAML

+

+ ${this.hass.localize( + "ui.panel.config.automation.editor.edit_yaml" + )} +

Edit in YAML +

+ ${this.hass.localize( + "ui.panel.config.automation.editor.edit_yaml" + )} +

extends LitElement {
${this.hass.localize("ui.errors.config.editor_not_supported")}:
-
    - ${this._warnings!.map((warning) => html`
  • ${warning}
  • `)} -
+ ${this._warnings!.length > 0 && this._warnings![0] !== undefined + ? html`
    + ${this._warnings!.map( + (warning) => html`
  • ${warning}
  • ` + )} +
` + : ""} ${this.hass.localize("ui.errors.config.edit_in_yaml_supported")}
` diff --git a/src/translations/en.json b/src/translations/en.json index f8b6340eec..d8d640e3bb 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -800,7 +800,8 @@ "edit_in_yaml_supported": "You can still edit your config in YAML.", "key_missing": "Required key \"{key}\" is missing.", "key_not_expected": "Key \"{key}\" is not expected or not supported by the visual editor.", - "key_wrong_type": "The provided value for \"{key}\" is not supported by the visual editor. We support ({type_correct}) but received ({type_wrong})." + "key_wrong_type": "The provided value for \"{key}\" is not supported by the visual editor. We support ({type_correct}) but received ({type_wrong}).", + "no_template_editor_support": "Templates not supported in visual editor" } }, "login-form": { @@ -1235,8 +1236,8 @@ "queued": "Queue length", "parallel": "Max number of parallel runs" }, - "edit_yaml": "Edit as YAML", - "edit_ui": "Edit with UI", + "edit_yaml": "Edit in YAML", + "edit_ui": "Edit in visual editor", "copy_to_clipboard": "Copy to Clipboard", "triggers": { "name": "Trigger", @@ -1247,7 +1248,7 @@ "duplicate": "Duplicate", "delete": "[%key:ui::panel::mailbox::delete_button%]", "delete_confirm": "Are you sure you want to delete this?", - "unsupported_platform": "No UI support for platform: {platform}", + "unsupported_platform": "No visual editor support for platform: {platform}", "type_select": "Trigger type", "type": { "device": { @@ -1349,7 +1350,7 @@ "duplicate": "[%key:ui::panel::config::automation::editor::triggers::duplicate%]", "delete": "[%key:ui::panel::mailbox::delete_button%]", "delete_confirm": "[%key:ui::panel::config::automation::editor::triggers::delete_confirm%]", - "unsupported_condition": "No UI support for condition: {condition}", + "unsupported_condition": "No visual editor support for condition: {condition}", "type_select": "Condition type", "type": { "and": { @@ -1425,7 +1426,7 @@ "duplicate": "[%key:ui::panel::config::automation::editor::triggers::duplicate%]", "delete": "[%key:ui::panel::mailbox::delete_button%]", "delete_confirm": "[%key:ui::panel::config::automation::editor::triggers::delete_confirm%]", - "unsupported_action": "No UI support for action: {action}", + "unsupported_action": "No visual editor support for action: {action}", "type_select": "Action type", "type": { "service": { From 39847f9c9d90a19e5cde39262084f796ff8783a3 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Mon, 8 Mar 2021 01:25:07 +0000 Subject: [PATCH 039/164] Translation update --- translations/frontend/ca.json | 10 +- translations/frontend/da.json | 505 ++++++++++++++- translations/frontend/en.json | 25 +- translations/frontend/fr.json | 2 + translations/frontend/hu.json | 79 ++- translations/frontend/it.json | 4 +- translations/frontend/ko.json | 971 ++++++++++++++++++++--------- translations/frontend/nb.json | 8 +- translations/frontend/pl.json | 4 +- translations/frontend/ru.json | 22 +- translations/frontend/sv.json | 4 + translations/frontend/zh-Hans.json | 95 ++- 12 files changed, 1381 insertions(+), 348 deletions(-) diff --git a/translations/frontend/ca.json b/translations/frontend/ca.json index 27edac1269..e86186165a 100644 --- a/translations/frontend/ca.json +++ b/translations/frontend/ca.json @@ -2347,7 +2347,7 @@ "session": "Obtenint valors inusualment canviants del node", "static": "Obtenint valors estàtics del dispositiu", "versions": "Obtenint informació de programari i versions de classes de comandes", - "wakeup": "Configurant el suport per a cues i missatges" + "wakeup": "Configurant el suport per a cues de despertar i missatges" }, "node": { "button": "Detalls del node", @@ -2371,8 +2371,8 @@ "start_refresh_button": "Inicia l'actualització", "step": "Pas", "title": "Informació d'actualització del node", - "wakeup_header": "Instruccions en despertar de", - "wakeup_instructions_source": "Les instruccions en despertar provenen de la base de dades de dispositius de la comunitat OpenZWave." + "wakeup_header": "Instruccions per despertar de", + "wakeup_instructions_source": "Les instruccions per despertar provenen de la base de dades de dispositius de la comunitat OpenZWave." }, "select_instance": { "header": "Selecciona una instància d'OpenZWave", @@ -2836,7 +2836,7 @@ "instance": "Instància", "unknown": "desconegut", "value": "Valor", - "wakeup_interval": "Interval en despertar" + "wakeup_interval": "Interval per despertar-se" }, "description": "Gestiona la teva xarxa Z-Wave", "learn_more": "Més informació sobre Z-Wave", @@ -2865,7 +2865,7 @@ "header": "Opcions de configuració del node", "seconds": "segons", "set_config_parameter": "Defineix el paràmetre de configuració", - "set_wakeup": "Estableix l'interval en despertar", + "set_wakeup": "Estableix l'interval per despertar-se", "true": "Cert" }, "node_management": { diff --git a/translations/frontend/da.json b/translations/frontend/da.json index 655ba43fe7..c6a00b61f3 100644 --- a/translations/frontend/da.json +++ b/translations/frontend/da.json @@ -1,7 +1,7 @@ { "config_entry": { "disabled_by": { - "config_entry": "Konfigurationstilstand", + "config_entry": "Konfigurationsparameter", "device": "Enhed", "integration": "Integration", "user": "Bruger" @@ -87,7 +87,7 @@ }, "device_tracker": { "home": "Hjemme", - "not_home": "Ude" + "not_home": "[%key:state::device_tracker::not_home%]" }, "person": { "home": "Hjemme", @@ -103,33 +103,234 @@ } }, "supervisor": { + "addon": { + "configuration": { + "audio": { + "default": "Standard", + "header": "Lyd", + "input": "Input", + "output": "Output" + }, + "network": { + "container": "Container", + "disabled": "Deaktiveret", + "header": "Netværk", + "host": "Vært" + }, + "no_configuration": "Dette tilføjelsesprogram har ingen konfiguration, som du kan tilpasse...", + "options": { + "edit_in_ui": "Rediger i brugergrænsefladen", + "edit_in_yaml": "Rediger i YAML", + "header": "Indstillinger", + "invalid_yaml": "Ugyldig YAML", + "show_unused_optional": "Vis valgfri konfigurationsindstillinger, der ikke er anvendt" + } + }, + "dashboard": { + "action_error": { + "get_changelog": "Ændringsloggen for tilføjelsesprogrammet kunne ikke hentes", + "go_to_config": "Tilføjelsesprogrammet kunne ikke startes - validering af konfigurationen mislykkedes!", + "install": "Tilføjelsesprogrammet kunne ikke installeres", + "restart": "Tilføjelsesprogrammet kunne ikke genstartes", + "start": "Tilføjelsesprogrammet kunne ikke startes", + "start_invalid_config": "Gå til konfiguration", + "stop": "Tilføjelsesprogrammet kunne ikke stoppes", + "uninstall": "Tilføjelsesprogrammet kunne ikke fjernes", + "validate_config": "Konfigurationen af tilføjelsesprogrammet kunne ikke valideres" + }, + "capability": { + "apparmor": { + "description": "AppArmor ('Application Armor') er et Linux-kernesikkerhedsmodul, der begrænser tilføjelsesprogrammets adgang til netværket, adgang til netværkstrafik samt tilladelse til at læse, skrive eller afvikle bestemte filer.\n\nTilføjelsesprogrammets udviklere kan optimere sikkerhedsindstillingerne for tilføjelsesprogrammet eller anmode om, at de deaktiveres. Hvis AppArmor er deaktiveret, vil det øge sikkerhedsrisiciene og har derfor en negativ indvirkning på sikkerhedsscoren for tilføjelsesprogrammet.", + "title": "AppArmor" + }, + "auth_api": { + "description": "Et tilføjelsesprogram kan godkende Home Assistant brugere, så tilføjelsesprogrammet giver brugerne mulighed for at logge ind på programmer, der kører i tilføjelsesprogrammet ved hjælp af deres Home Assistant brugernavn/adgangskode. Dette symbol angiver, om udvikleren af tilføjelsesprogrammet har anvendt denne funktion.", + "title": "Home Assistant autentifikation" + }, + "docker_api": { + "description": "Tilføjelsesprogrammets udviklere har anmodet om at få adgang til administration af Docker på dit system. Dette giver tilføjelsesprogrammet fuld adgang til og kontrol med hele dit Home Assistant system, hvilket medfører sikkerhedsrisici og kan beskadige dit system. Derfor påvirker dette sikkerhedsvurderingen for tilføjelsesprogrammet negativt.\n\nAdgangen tildeles ikke automatisk og skal bekræftes af dig. Du skal derfor deaktivere beskyttelsestilstanden på tilføjelsesprogrammet manuelt. Deaktiver kun beskyttelsestilstanden, hvis du kender OG har tillid til udviklerne af dette tilføjelsesprogram.", + "title": "Fuld adgang til Docker" + }, + "full_access": { + "description": "Dette tilføjelsesprogram får fuld adgang til systemets hardware efter anmodning fra tilføjelsesprogrammets udviklere. Adgangen kan sammenlignes med den privilegerede tilstand i Docker. Da dette medfører mulige sikkerhedsrisici, påvirker dette tilføjelsesprogrammets sikkerhedsvurdering negativt.\n\nAdgangen tildeles ikke automatisk og skal bekræftes af dig. Du skal derfor deaktivere beskyttelsestilstanden på tilføjelsesprogrammet manuelt. Deaktiver kun beskyttelsestilstanden, hvis du kender OG har tillid til udviklerne af dette tilføjelsesprogram.", + "title": "Fuld adgang til hardware" + }, + "hassio_api": { + "description": "Tilføjelsesprogrammet har fået adgang til Supervisor API efter anmodning fra tilføjelsesprogrammets udviklere. Som standard kan tilføjelsesprogrammet få adgang til generelle versionsoplysninger om dit system. Når tilføjelsesprogrammet anmoder om 'Manager' eller 'Administrator' adgangsrettigheder til API'et, får tilføjelsesprogrammet adgang til at kontrollere flere dele af dit Home Assistant system. Denne tilladelse er fremhævet med dette symbol og vil påvirke tilføjelsesprogrammets sikkerhedsvurdering negativt.", + "title": "Adgang til Supervisor API" + }, + "homeassistant_api": { + "description": "Dette tilføjelsesprogram har tilladelse til at tilgå dit Home Assistant system via API kald. Denne tilstand håndterer også godkendelse for tilføjelsesprogrammet, hvilket gør det muligt for tilføjelsesprogrammet at interagere med Home Assistant uden yderligere godkendelse.", + "title": "Home Assistant API-adgang" + }, + "host_network": { + "description": "Tilføjelsesprogrammer kører normalt i deres eget isolerede netværkslag, hvilket forhindrer dem i at få adgang til netværket på værtsoperativsystemet. I nogle tilfælde kan netværksisolationen begrænse tilføjelsesprogrammets funktionalitet, og derfor kan isolationen ophæves af udvikleren af tilføjelsesprogrammet, hvilket kan give programmet fuld adgang til værtsmaskinens netværksfunktioner. Dette reducerer sikkerheden og påvirker derfor sikkerhedsvurderingen af tilføjelsesprogrammet, når denne indstilling bruges af tilføjelsesprogrammet.", + "title": "Værtsnetværk" + }, + "host_pid": { + "description": "Normalt er de processer, som tilføjelsesprogrammet kører, isoleret fra alle andre systemprocesser. Tilføjelsesprogrammets udviklere har anmodet om at få adgang til de systemprocesser, der kører på værtsoperativsystemet, og give tilføjelsesprogrammet mulighed for også at afvikle processer på værtssystemet. Dette giver tilføjelsesprogrammet fuld adgang til og kontrol til hele dit Home Assistant system, hvilket medfører sikkerhedsrisici og kan beskadige dit system. Derfor påvirker dette sikkerhedsvurderingen for tilføjelsesprogrammet negativt.\n\nDette adgangsniveau gives ikke automatisk og skal bekræftes af dig. Du skal derfor deaktivere beskyttelsestilstanden på tilføjelsesprogrammet manuelt. Deaktiver kun beskyttelsestilstanden, hvis du kender OG har tillid til udviklerne af dette tilføjelsesprogram.", + "title": "Navneområde for værtsprocesser" + }, + "ingress": { + "description": "Denne tilføjelse bruger Ingress til at integrere sin grænseflade sikkert i Home Assistant.", + "title": "Ingress" + }, + "label": { + "apparmor": "apparmor", + "auth": "godkendelse", + "docker": "docker", + "hardware": "hardware", + "hass": "hass", + "hassio": "hassio", + "host": "vært", + "host_pid": "vært pid", + "ingress": "ingress", + "rating": "bedømmelse", + "stage": "Fase" + }, + "rating": { + "description": "Home Assistant viser en sikkerhedsvurdering for hvert tilføjelsesprogram. Vurderingen angiver risici forbundet med brugen af det pågældende tilføjelsesprogram. Sikkerhedsvurderingen tager bl.a. hensyn til hvilken adgang et givet tilføjelsesprogram kræver til dit system.\n\nSikkerhedsvurderingen giver en score på en skala fra 1 til 6, hvor 1 er den laveste score (betragtes som den mest usikre og højeste risiko), og en score på 6 er den højeste score (betragtes som den mest sikre og laveste risiko).", + "title": "Sikkerhedsklassifikation for tilføjelsesprogram" + }, + "role": { + "admin": "Administrator", + "backup": "sikkerhedskopi", + "default": "Standard", + "homeassistant": "homeassistant", + "manager": "Manager" + }, + "stage": { + "description": "Tilføjelsesprogrammer kan have en af tre faser:\n\n{icon_stable} **Stabil**: Disse tilføjelsesprogrammer er klar til brug i produktionen.\n\n{icon_experimental} **Eksperimentel**: Disse tilføjelsesprogrammer indeholde fejl og kan være ufærdige.\n\n{icon_deprecated} **Forældet**: Disse tilføjelsesprogrammer modtager ikke længere opdateringer.", + "title": "Fase for tilføjelsesprogram" + } + }, + "changelog": "Ændringshistorik", + "cpu_usage": "Tilføjelsesprogrammets forbrug af CPU", + "hostname": "Værtsnavn", + "install": "installer", + "new_update_available": "{name} {version} er tilgængelig", + "not_available_arch": "Dette tilføjelsesprogram er ikke kompatibelt med processoren på enheden eller det operativsystem, du har installeret på enheden.", + "not_available_version": "Du kører Home Assistant {core_version_installed}. For at opdatere dette tilføjelsesprogram, skal du køre version {core_version_needed} eller nyere versioner af Home Assistant", + "open_web_ui": "Åbn webbrugergrænseflade", + "option": { + "auto_update": { + "description": "Opdater automatisk tilføjelsesprogrammet, når en ny version er tilgængelig", + "title": "Automatisk opdatering" + }, + "boot": { + "description": "Start tilføjelsesprogrammet under en systemstart", + "title": "Start ved opstart" + }, + "ingress_panel": { + "description": "Føj dette tilføjelsesprogram til sidepanelet", + "title": "Vis i sidepanel" + }, + "protected": { + "description": "Blokerer forhøjet systemadgang fra tilføjelsesprogrammet", + "title": "Beskyttelsestilstand" + }, + "watchdog": { + "description": "Dette starter tilføjelsesprogrammet, hvis det går ned", + "title": "Vagthund" + } + }, + "protection_mode": { + "content": "Beskyttelsestilstand på dette tilføjelsesprogram er deaktiveret! Dette giver tilføjelsesprogrammet fuld adgang til hele systemet, hvilket medfører sikkerhedsrisici og kan beskadige dit system. Deaktiver kun beskyttelsestilstanden, hvis du kender, har brug for og har tillid til udvikleren bag dette tilføjelsesprogram.", + "enable": "Aktivér beskyttelsestilstand", + "title": "Advarsel: Beskyttelsestilstand er deaktiveret!" + }, + "ram_usage": "Tilføjelsesprogrammets forbrug af RAM", + "rebuild": "genopbyg", + "restart": "genstart", + "start": "start", + "stop": "stop", + "uninstall": "afinstaller", + "visit_addon_page": "Besøg siden {name} for at få flere oplysninger" + }, + "documentation": { + "get_documentation": "Dokumentationen for tilføjelsesprogrammet kunne ikke hentes, {error}" + }, + "failed_to_reset": "Konfigurationen af tilføjelsesprogrammet kunne ikke nulstilles.", + "failed_to_save": "Konfigurationen af tilføjelsesprogrammet kunne ikke gemmes, {error}", + "logs": { + "get_logs": "Logfiler for tilføjelsesprogrammet kunne ikke hentes, {error}" + }, + "panel": { + "configuration": "Konfiguration", + "documentation": "Dokumentation", + "info": "Info", + "log": "Logfil" + }, + "state": { + "installed": "Tilføjelsesprogrammet er installeret", + "not_available": "Tilføjelsesprogrammet er ikke tilgængeligt på dit system", + "not_installed": "Tilføjelsesprogrammet er ikke installeret" + } + }, "common": { "cancel": "Afbryd", + "close": "Luk", + "description": "Beskrivelse", + "error": { + "unknown": "Ukendt fejl", + "update_failed": "Opdateringen mislykkedes" + }, + "failed_to_restart_name": "Ude af stand til at genstarte {name}", + "failed_to_update_name": "Ude af stand til at updatere {name}", + "learn_more": "Lær mere", + "new_version_available": "Ny version tilgængelig", + "newest_version": "Nyeste version", + "no": "Nej", + "refresh": "Opdater", + "release_notes": "Udgivelses noter", + "reload": "Genindlæs", + "reset_defaults": "gendan standardindstillinger", + "reset_options": "Genstart indstillinger", "restart": "Genstart", "restart_name": "Genstart {name}", - "save": "Gem" + "running_version": "Du bruger pt. version", + "save": "Gem", + "show_more": "Vis flere oplysninger om dette", + "update": "Opdater", + "update_available": "{count, plural,\n one {opdatering}\n other {{count} opdateringer}\n} afventer", + "version": "Version", + "yes": "Ja" }, "confirm": { + "reset_options": { + "text": "Er du sikker på, at du vil nulstille alle dine indstillinger?", + "title": "Nulstil indstillinger" + }, "restart": { "text": "Er du sikker på at du vil genstarte {name}?", "title": "Genstart {name}" }, "update": { + "text": "Er du sikker på, at du vil opdatere {name} til version {version} ?", "title": "Opdater {name}" } }, + "dashboard": { + "addon_new_version": "En ny version er tilgængelig", + "addon_running": "Tilføjelsesprogrammet kører", + "addon_stopped": "Tilføjelsesprogrammet er stoppet", + "addons": "Tilføjelsesprogrammer", + "no_addons": "Du har endnu ikke installeret nogen tilføjelsesprogrammer. Gå over til butikken for tilføjelsesprogrammer for at komme i gang!" + }, "dialog": { "network": { "connected_to": "Forbundet til {ssid}", "dhcp": "DHCP", "disabled": "Deaktiveret", "dns_servers": "DNS servere", + "failed_to_change": "Ændring af netværksindstillingerne fejlede", "gateway": "Gateway adresse", "ip_netmask": "IP adresse/netmaske", "open": "Åben", "scan_ap": "Scan for adgangspunkter", "static": "Statisk", "title": "Netværksindstillinger", + "unsaved": "Du har ikke gemte ændringer, hvis du fortsætter, vil disse gå tabt", "warning": "Hvis du ændrer på Wi-Fi, IP eller Gateway adresser, vil du måske miste forbindelsen!", "wep": "WEP", "wpa": "wpa-psk" @@ -143,6 +344,7 @@ "password": "Kodeord", "registry": "Registry", "remove": "Fjern", + "title_add": "Tilføj nyt containerregister", "title_manage": "Håndtér container registries", "username": "Brugernavn" }, @@ -162,6 +364,18 @@ "updating": "Opdaterer {name} til version {version}" } }, + "my": { + "error": "Der opstod en ukendt fejl", + "error_addon_not_found": "Add-on ikke fundet", + "faq_link": "Ofte stillede spørgsmål om Home Assistant", + "not_supported": "Denne omdirigering understøttes ikke af din Home Assistant installation. Kontroller {link} for de understøttede omdirigeringer og den version, de blev introduceret i." + }, + "panel": { + "dashboard": "Betjeningspanel", + "snapshots": "Snapshots", + "store": "Butik for tilføjelsesprogrammer", + "system": "System" + }, "snapshot": { "addons": "Tilføjelser", "available_snapshots": "Tilgængelige snapshots", @@ -190,16 +404,30 @@ "type": "Type", "upload_snapshot": "Opload snapshot" }, + "store": { + "missing_addons": "Mangler du tilføjelsesprogrammer? Aktivér avanceret tilstand på din brugerprofilside.", + "no_results_found": "Der blev ikke fundet nogen resultater i {repository}.", + "registries": "Registre", + "repositories": "Tilføjelsesregistre" + }, "system": { "core": { "cpu_usage": "Core CPU forbrug", "ram_usage": "Core RAM forbrug" }, "host": { + "change": "Ændre", "change_hostname": "Skift værtsnavn", "confirm_reboot": "Er du sikker på, at du vil genstarte værten?", "confirm_shutdown": "Er du sikker på, at du vil lukke værten ned?", + "deployment": "Installation", "docker_version": "Docker-version", + "emmc_lifetime_used": "Anvendt eMMC levetid", + "failed_to_get_hardware_list": "Hardwarelisten kunne ikke hentes", + "failed_to_import_from_usb": "Importer fra USB fejlede", + "failed_to_reboot": "Kunne ikke genstarte host maskinen", + "failed_to_set_hostname": "Indstilling af værtsnavn mislykkedes", + "failed_to_shutdown": "Fejlede nedlukning af host", "hardware": "Hardware", "hostname": "Værtsnavn", "import_from_usb": "Importer fra USB", @@ -210,12 +438,54 @@ "shutdown_host": "Sluk vært", "used_space": "Plads forbrug" }, + "log": { + "get_logs": "Kunne ikke hente {provider} -logfiler, {error}", + "log_provider": "Logudbyder" + }, "supervisor": { + "beta_backup": "Sørg for, at du har sikkerhedskopier af dine data, før du aktiverer denne funktion.", + "beta_join_confirm": "Vil du tilmelde dig beta-kanalen?", + "beta_release_items": "Dette omfatter betaversioner af:", + "beta_warning": "Betaversioner er henvendt til testere og tidlige brugere og kan indeholde ustabil kode", + "channel": "Kanal", + "cpu_usage": "Supervisor CPU forbrug", + "failed_to_reload": "Supervisor kunne ikke genindlæses", + "failed_to_set_option": "Indstillingen af Supervisor kunne ikke gennemføres", + "failed_to_update": "Supervisor kunne ikke opdateres", + "join_beta_action": "Deltag i beta-kanal", + "join_beta_description": "Få beta-opdateringer til Home Assistant (RCs), Supervisor og værtsmaskinen", + "leave_beta_action": "Forlad betakanal", + "leave_beta_description": "Få stabile opdateringer til Home Assistant, Supervisor og værtsmaskinen", + "ram_usage": "Supervisor RAM forbrug", + "reload_supervisor": "Genindlæs Supervisor", + "share_diagnostics": "Del diagnostik", + "share_diagnostics_description": "Del oplysninger om nedbrud og diagnosticeringsinformationer.", "share_diagonstics_description": "Ønsker du automatisk at dele rapporter og diagnosticeringsoplysninger når supervisoren oplever uventede fejl? {line_break} Dette vil lade os fikse problemerne, informationerene er kun tilgængelige for Home Assistant Core teamet og vil ikke blive delt med andre. {line_break} Dataene indeholder ikke private/følsomme informationer og du kan slå det fra i indstillingerne til hver en tid.", + "share_diagonstics_title": "Hjælp med at forbedre Home Assistant", + "unhealthy_description": "At køre en usund installation vil forårsage problemer. Nedenfor er en liste over problemer, der er fundet med din installation. Klik på linkene for at lære, hvordan du kan løse problemerne.", + "unhealthy_reason": { + "docker": "Docker-miljøet fungerer ikke korrekt", + "privileged": "Supervisor er ikke privilegeret", + "setup": "Opsætning af Supervisor mislykkedes", + "supervisor": "Supervisor kunne ikke opdateres" + }, + "unhealthy_title": "Din installation er usund", + "unsupported_description": "Nedenfor er en liste over problemer, der er fundet med din installation. Klik på linkene for at lære, hvordan du kan løse problemerne.", "unsupported_reason": { + "container": "Containere, der erfaringsmæssigt giver problemer", + "dbus": "DBUS", + "docker_configuration": "Konfiguration af Docker", "docker_version": "Docker version", - "os": "Operativsystem" - } + "job_conditions": "Ignorerede jobbetingelser", + "lxc": "LXC", + "network_manager": "Netværksadministrator", + "os": "Operativsystem", + "privileged": "Supervisor er ikke privilegeret", + "systemd": "Systemd" + }, + "unsupported_title": "Du anvender en ikke-understøttet installation", + "update_supervisor": "Opdater Supervisor", + "warning": "ADVARSEL" } } }, @@ -276,6 +546,7 @@ "direction": "Retning", "forward": "Frem", "oscillate": "Sving", + "preset_mode": "Forudindstillet tilstand", "reverse": "Baglæns", "speed": "Hastighed" }, @@ -316,7 +587,8 @@ }, "script": { "cancel": "Annuller", - "cancel_multiple": "Annuller {number}" + "cancel_multiple": "Annuller {number}", + "run": "Kør" }, "service": { "run": "Kør" @@ -411,6 +683,19 @@ "yes": "Ja" }, "components": { + "addon-picker": { + "addon": "Tilføjelsesprogram", + "error": { + "fetch_addons": { + "description": "Der opstod en fejl under indlæsningen af tilføjelsesprogrammer.", + "title": "Fejl ved indlæsning af tilføjelsesprogrammer" + }, + "no_supervisor": { + "description": "Ingen supervisor blev fundet, så tilføjelsesprogrammer kunne ikke indlæses.", + "title": "Supervisor blev ikke fundet" + } + } + }, "area-picker": { "add_dialog": { "add": "Tilføj", @@ -477,8 +762,10 @@ "messages": { "became_unavailable": "blev utilgængelig", "changed_to_state": "ændret til {state}", - "cleared_device_class": "ryddet (ingen {device_class} registreret)", + "cleared_device_class": "ingen {device_class} registreret", "detected_device_class": "registreret {device_class}", + "is_closing": "lukker", + "is_opening": "åbner", "rose": "stod op", "set": "gik ned", "turned_off": "blev slukket", @@ -583,6 +870,12 @@ "week": "{count} {count, plural,\n one {uge}\n other {uger}\n} siden" } }, + "service-control": { + "required": "Dette felt er påkrævet", + "service_data": "Service data", + "target": "Mål", + "target_description": "Hvad skal denne tjeneste bruge som mål områder, enheder eller entiteter." + }, "service-picker": { "service": "Tjeneste" }, @@ -632,9 +925,9 @@ "enabled_restart_confirm": "Genstart Home Assistant for at fuldføre aktiveringen af entiteterne", "entity_id": "Entitets-id", "follow_device_area": "Følg enhedsområde", - "icon": "Brugerdefineret ikon", + "icon": "Ikon", "icon_error": "Ikoner skal være i formatet 'præfiks:ikonnavn', fx. 'mdi:home'", - "name": "Brugerdefineret navn", + "name": "Navn", "note": "Bemærk: Alle integrationer virker muligvis ikke med endnu.", "open_device_settings": "Åbn enhedsindstillinger", "unavailable": "Denne entitet er ikke tilgængelig i øjeblikket.", @@ -795,6 +1088,7 @@ "scene": "Scener", "script": "Scripts", "server_control": "Serveradministration", + "tag": "Tags", "users": "Brugere", "zone": "Zoner" }, @@ -853,6 +1147,7 @@ "clusters": "Administrer klynger", "reconfigure": "Genkonfigurer enhed", "remove": "Fjern enhed", + "view_in_visualization": "Vis i Visualisering", "zigbee_information": "Zigbee-enhedssignatur" }, "confirmations": { @@ -892,6 +1187,7 @@ "key_missing": "Påkrævede nøgle \"{key}\" mangler.", "key_not_expected": "Nøglen \"{key}\" er ikke forventet eller understøttes ikke af den visuelle editor.", "key_wrong_type": "Den angivne værdi for \"{key}\" understøttes ikke af den visuelle editor. Vi understøtter ( {type_correct} ) men modtog ( {type_wrong} ).", + "no_template_editor_support": "Skabeloner understøttes ikke i visuel editor", "no_type_provided": "Der er ikke angivet nogen type." } }, @@ -931,7 +1227,7 @@ "confirmation_text": "Alle enheder i dette område vil blive utildelte.", "confirmation_title": "Er du sikker på, at du vil slette dette område?" }, - "description": "Administrer områder i dit hjem", + "description": "Tilknyt enheder og entiteter til områder", "editor": { "area_id": "Område-id", "create": "Opret", @@ -999,13 +1295,17 @@ "device_id": { "action": "Handling", "extra_fields": { - "code": "Kode" + "code": "Kode", + "message": "Besked", + "position": "Position", + "title": "Titel" }, "label": "Enhed" }, "event": { "event": "Hændelse:", - "label": "Afsend hændelse" + "label": "Afsend hændelse", + "service_data": "Service data" }, "repeat": { "label": "Gentag", @@ -1134,8 +1434,8 @@ "label": "Beskrivelse", "placeholder": "Valgfri beskrivelse" }, - "edit_ui": "Rediger brugerflade", - "edit_yaml": "Rediger med YAML", + "edit_ui": "Rediger via brugerfladen", + "edit_yaml": "Rediger i YAML", "enable_disable": "Aktiver/deaktiver automatisering", "introduction": "Brug automatiseringer til at vække dit hjem til live.", "load_error_not_editable": "Kun automatiseringer i 'automations.yaml' kan redigeres.", @@ -1171,13 +1471,15 @@ "extra_fields": { "above": "Over", "below": "Under", - "for": "Varighed" + "for": "Varighed", + "zone": "Zone" }, "label": "Enhed", "trigger": "Udløser" }, "event": { "context_user_pick": "Tilføj bruger", + "context_user_picked": "Brugerinitieret hændelse", "context_users": "Begræns til begivenheder udløst af", "event_data": "Hændelsesdata", "event_type": "Hændelsestype", @@ -1325,6 +1627,8 @@ }, "introduction": "Blueprintkonfigurationen giver dig mulighed for at importere og administrere dine blueprints.", "learn_more": "Lær mere om brugen af blueprints", + "share_blueprint": "Del Blueprint", + "share_blueprint_no_url": "Kan ikke dele Blueprint: no soure url", "use_blueprint": "Opret automation" } }, @@ -1382,12 +1686,19 @@ "sign_out": "Log ud", "thank_you_note": "Tak for at du er en del af Home Assistant Cloud. Det er på grund af folk som dig, at vi er i stand til at skabe en god hjemmeautomatiseringsoplevelse for alle. Tak skal du have!", "tts": { + "default_language": "Standardsprog", "dialog": { "example_message": "Hej {name}, kan du afspille tekst på enhver understøttet medieafspiller!", + "header": "Prøv Tekst til tale", "play": "Afspil", "target": "Modtager", "target_browser": "Gennemse" - } + }, + "female": "Kvinde", + "info": "Personliggør dit hjem ved at få det til at tale med dig ved hjælp af vores Tekst-til-tale-tjenester. Du kan bruge dette i automatiseringer og scripts ved hjælp af tjenesten {service}.", + "male": "Mand", + "title": "Tekst til tale", + "try": "Prøv" }, "webhooks": { "disable_hook_error_msg": "Webhook kunne ikke deaktiveres:", @@ -1584,6 +1895,7 @@ "cant_edit": "Du kan kun redigere elementer, der er oprettet i brugerfladen.", "caption": "Enheder", "confirm_delete": "Er du sikker på, at du vil slette denne enhed?", + "confirm_disable_config_entry": "Der er ikke flere enheder til konfigurationen {entry_name} . Vil du i stedet deaktivere konfigurationen?", "confirm_rename_entity_ids": "Vil du også omdøbe entitet-id'et for dine entiteter?", "confirm_rename_entity_ids_warning": "Dette ændrer ikke nogen konfiguration (automatiseringer, scripts, scener, dashboards mv.), der i øjeblikket bruger disse enheder! Du skal selv opdatere dem for at bruge de nye entitets-id'er!", "data_table": { @@ -1696,7 +2008,8 @@ }, "filtering": { "clear": "Ryd", - "filtering_by": "Filtrering efter" + "filtering_by": "Filtrering efter", + "show": "Vis" }, "header": "Konfigurer Home Assistant", "helpers": { @@ -1767,7 +2080,19 @@ "delete_confirm": "Er du sikker på, at du vil fjerne denne integration?", "device_unavailable": "Enheden er utilgængelig", "devices": "{count} {count, plural,\n one {enhed}\n other {enheder}\n}", + "disable_restart_confirm": "Genstart Home Assistant for at fuldføre deaktivering af denne integration", + "disable": { + "disable_confirm": "Er du sikker på, at du vil deaktivere denne integration? Integrationens enheder og entiteter vil blive deaktiveret.", + "disabled": "Deaktiveret", + "disabled_by": { + "device": "enhed", + "integration": "integration", + "user": "bruger" + }, + "disabled_cause": "Deaktiveret af {cause}" + }, "documentation": "Dokumentation", + "enable_restart_confirm": "Genstart Home Assistant for at fuldføre aktivering af denne integration", "entities": "{count} {count, plural,\n one {entitet}\n other {entiteter}\n}", "entity_unavailable": "Entiteten er utilgængelig", "firmware": "Firmware: {version}", @@ -1787,8 +2112,10 @@ "config_flow": { "aborted": "Afbrudt", "close": "Luk", + "could_not_load": "Konfigurationsflow kunne ikke indlæses", "created_config": "Oprettede konfiguration for {name}.", "dismiss": "Afvis dialog", + "error": "Fejl", "error_saving_area": "Fejl ved lagring af område: {error}", "external_step": { "description": "Dette trin kræver, at du besøger et eksternt websted.", @@ -1797,12 +2124,22 @@ "finish": "Afslut", "loading_first_time": "Vent mens integrationen installeres", "not_all_required_fields": "Ikke alle påkrævede felter er udfyldt.", + "pick_flow_step": { + "new_flow": "Nej, konfigurer en anden forekomst af {integration}", + "title": "Vi opdagede disse, vil du oprette dem?" + }, "submit": "Send" }, "configure": "Konfigurer", "configured": "Konfigureret", + "confirm_new": "Vil du konfigurere {integration} ?", "description": "Administrer integrationer", "details": "Integrationsdetaljer", + "disable": { + "disabled_integrations": "{number} er deaktiveret", + "hide_disabled": "Skjul deaktiverede integrationer", + "show_disabled": "Vis deaktiverede integrationer" + }, "discovered": "Fundet", "home_assistant_website": "Home Assistants hjemmeside", "ignore": { @@ -1987,11 +2324,32 @@ }, "node_config": { "header": "Konfiguration af node", - "introduction": "Administrer de forskellige konfigurationsparametre for en Z-Wave-node." + "help_source": "Beskrivelser af konfigurationsparametre og hjælpetekster leveres af OpenZWave-projektet.", + "introduction": "Administrer de forskellige konfigurationsparametre for en Z-Wave-node.", + "wakeup_help": "Batteridrevne noder skal være vågne for at ændre deres konfiguration. Hvis noden ikke er vågen, vil OpenZWave forsøge at opdatere nodens konfiguration, næste gang den vågner, hvilket kan være flere timer (eller dage) senere. Følg disse trin for at vække enheden:" }, "node_metadata": { "product_manual": "Brugervejledning" }, + "node_query_stages": { + "associations": "Opdaterer tilknytningsgrupper og medlemskaber", + "cacheload": "Indlæser oplysninger fra OpenZWave cache-filen. Batteridrevne noder forbliver på dette trin, indtil noden vågner op.", + "complete": "Interviewprocessen er fuldført", + "configuration": "Henter konfigurationsværdier fra noden", + "dynamic": "Henter ofte skiftende værdier fra noden", + "instances": "Henter oplysninger om, hvilke forekomster eller kanaler, som en enhed understøtter", + "manufacturerspecific1": "Henter producent- og produkt-ID-koder fra noden", + "manufacturerspecific2": "Henter yderligere producent- og produkt-ID-koder fra noden", + "neighbors": "Henter en liste over nodens naboer", + "nodeinfo": "Henter understøttede kommandoklasser fra noden", + "nodeplusinfo": "Henter Z-Wave + -oplysninger fra noden", + "probe": "Kontrollerer, om noden er vågen / i live", + "protocolinfo": "Henter oplysninger fra controlleren om grundlæggende Z-Wave-funktioner for denne node", + "session": "Henter værdier fra noden, som sjældent opdateres", + "static": "Henter statiske værdier fra enheden", + "versions": "Henter oplysninger om firmware- og kommandoklasseversioner", + "wakeup": "Konfigurerer understøttelse af vækningskøer og meddelelser" + }, "node": { "button": "Nodeoplysninger", "not_found": "Noden blev ikke fundet" @@ -2008,6 +2366,7 @@ "battery_note": "Hvis noden er batteridrevet, skal du sørge for at vække den, før du fortsætter", "button": "Opdater node", "complete": "Opdatering af noder er fuldført", + "description": "Dette vil få OpenZWave til at genindlæse en node og opdatere nodens kommandoklasser, funktioner og værdier.", "node_status": "Nodestatus", "refreshing_description": "Opdaterer nodeoplysninger ...", "start_refresh_button": "Start opdatering", @@ -2018,7 +2377,8 @@ }, "select_instance": { "header": "Vælg en OpenZWave-instans", - "introduction": "Du kører mere end én OpenZWave instans. Hvilken instans vil du administrere?" + "introduction": "Du kører mere end én OpenZWave instans. Hvilken instans vil du administrere?", + "none_found": "Vi kunne ikke finde en OpenZWave instans. Hvis dette skyldes en fejl, skal du kontrollere din OpenZWave- og MQTT-konfiguration og sikre, at Home Assistant kan kommunikere med din MQTT-mægler." }, "services": { "add_node": "Tilføj node", @@ -2226,7 +2586,8 @@ "new_tag": "Nyt tag", "tag_id": "Tag-ID", "tag_id_placeholder": "Genereres automatisk, hvis feltet efterlades tomt", - "update": "Opdater" + "update": "Opdater", + "usage": "Et tag kan udløse en automatisering, når det scannes, du kan bruge NFC-tags, QR-koder eller enhver anden form for tag. Brug vores {companion_link} til at skrive dette tag til et programmerbart NFC-tag eller opret en QR-kode nedenfor." }, "edit": "Rediger", "headers": { @@ -2367,6 +2728,7 @@ "caption": "Visualisering", "header": "Netværksvisualisering", "highlight_label": "Fremhæv enheder", + "refresh_topology": "Opdater topologi", "zoom_label": "Zoom til enhed" } }, @@ -2399,6 +2761,75 @@ "introduction": "Zoner giver dig mulighed for at angive bestemte områder på jorden. Når en person er inden for en zone, vil tilstanden antage navnet fra zonen. Zoner kan også bruges som udløser eller tilstand inde i automatiseringsopsætninger.", "no_zones_created_yet": "Det ser ud til, at du ikke har oprettet nogen zoner endnu." }, + "zwave_js": { + "add_node": { + "cancel_inclusion": "Afbryd inklusionstilstand", + "controller_in_inclusion_mode": "Din Z-Wave-controller er nu i inklusionstilstand.", + "follow_device_instructions": "Følg instruktionerne, der fulgte med din enhed for at starte parring af enheden.", + "inclusion_failed": "Noden kunne ikke tilføjes. Se i logfilerne for at få flere oplysninger.", + "inclusion_finished": "Noden er blevet tilføjet. Det kan tage et par minutter før alle enheder dukker op, mens konfiguration af noden fuldføres.", + "introduction": "Denne guide hjælper dig med at føje en node til dit Z-Wave-netværk.", + "secure_inclusion_warning": "Sikre enheder kræver ekstra båndbredde. For mange sikre enheder kan gøre dit Z-Wave-netværk langsomt. Det anbefaler kun at bruge sikker inklusion til de enheder, hvor det er nødvendigt. For eksempel til låse eller garageportåbnere.", + "start_inclusion": "Start inklusionstilstand", + "start_secure_inclusion": "Start sikker inklusion", + "title": "Tilføj en Z-Wave-node", + "use_secure_inclusion": "Brug sikker inklusion", + "view_device": "Vis enhed" + }, + "button": "Konfigurer", + "common": { + "add_node": "Tilføj node", + "close": "Luk", + "home_id": "Hjem-id", + "network": "Netværk", + "node_id": "Node-id", + "remove_node": "Fjern node" + }, + "dashboard": { + "driver_version": "Driverversion", + "dump_dead_nodes_text": "Nogle af dine noder svarede ikke og antages døde. De vil ikke blive eksporteret.", + "dump_dead_nodes_title": "Nogle af dine noder er døde", + "dump_debug": "Download et udtræk af dit netværk for at hjælpe med at diagnosticere problemer", + "dump_not_ready_confirm": "Hent", + "dump_not_ready_text": "Hvis du opretter en eksport, når ikke alle noder er klar, kan du mangle nødvendige data i udtrækket. Vent på, at dit netværk søger på alle noder. Vil du fortsætte med eksporten?", + "dump_not_ready_title": "Ikke alle noder er klar endnu", + "header": "Administrer dit Z-Wave-netværk", + "home_id": "Hjem-id", + "introduction": "Administrer dit Z-Wave-netværk og Z-Wave-noder", + "nodes_ready": "Noder er klar", + "server_version": "Serverversion" + }, + "device_info": { + "node_ready": "Node klar", + "node_status": "Nodestatus", + "zwave_info": "Z-Wave-info" + }, + "navigation": { + "network": "Netværk" + }, + "network_status": { + "connected": "Forbundet", + "connecting": "Forbinder", + "unknown": "Ukendt" + }, + "node_status": { + "alive": "I live", + "asleep": "Dvale", + "awake": "Vågen", + "dead": "Død", + "unknown": "Ukendt" + }, + "remove_node": { + "cancel_exclusion": "Annuller udelukkelse", + "controller_in_exclusion_mode": "Din Z-Wave-controller er nu i eksklusionstilstand.", + "exclusion_failed": "Noden kunne ikke fjernes. Se i logfilerne for at få flere oplysninger.", + "exclusion_finished": "Node {id} er fjernet fra dit Z-Wave-netværk.", + "follow_device_instructions": "Følg de anvisninger, der fulgte med enheden, for at foretage eksklusion på enheden.", + "introduction": "Fjern en node fra dit Z-Wave-netværk, og fjern den tilknyttede enhed og entiteter fra Home Assistant.", + "start_exclusion": "Start eksklusion", + "title": "Fjern en Z-Wave-node" + } + }, "zwave": { "button": "Konfigurer", "common": { @@ -2410,6 +2841,12 @@ }, "description": "Administrer dit Z-Wave-netværk", "learn_more": "Lær mere om Z-Wave", + "migration": { + "ozw": { + "header": "Migrer til OpenZWave", + "introduction": "Denne guide hjælper dig med at migrere fra den tidligere Z-Wave-integration til OpenZWave-integrationen, der i øjeblikket er i betaversion." + } + }, "network_management": { "header": "Administration af Z-Wave-netværk", "introduction": "Kør kommandoer, der påvirker Z-Wave-netværket. Du får ikke feedback på, om de fleste kommandoer lykkedes, men du kan kontrollere OZW-loggen for at forsøge at finde ud af det." @@ -2513,17 +2950,23 @@ "type": "Hændelsestype" }, "services": { + "accepts_target": "Et mål for denne tjeneste kan angives, for eksempel: `entity_id: light.bed_light`", + "all_parameters": "Alle tilgængelige parametre", "call_service": "Kald tjeneste", "column_description": "Beskrivelse", "column_example": "Eksempel", "column_parameter": "Parameter", "description": "Tjenesteværktøjet til udviklere giver dig mulighed for at kalde alle tilgængelige tjenester i Home Assistant.", "fill_example_data": "Udfyld eksempeldata", - "title": "Tjenester" + "title": "Tjenester", + "ui_mode": "Gå til brugergrænsefladetilstand", + "yaml_mode": "Gå til YAML-tilstand", + "yaml_parameters": "Parametre er kun tilgængelige i YAML-tilstand" }, "states": { "alert_entity_field": "Entitet er et obligatorisk felt", "attributes": "Egenskaber", + "copy_id": "Kopier id til Udklipsholder", "current_entities": "Aktuelle entiteter", "description1": "Sæt repræsentationen af en enhed i Home Assistant.", "description2": "Dette vil ikke kommunikere med den faktiske enhed.", @@ -2581,6 +3024,14 @@ "yaml_unsupported": "Du kan ikke bruge denne funktion, når du bruger Lovelace-brugerfladen i YAML-tilstand." }, "cards": { + "actions": { + "action_confirmation": "Er du sikker på, at du vil afvikle handlingen \" {action} \"?", + "no_entity_more_info": "Der er ikke angivet en entitet til visning af dialogboksen med flere oplysninger", + "no_entity_toggle": "Der er ikke angivet en entitet, som skal slås til/fra", + "no_navigation_path": "Der er ikke angivet nogen navigationssti", + "no_service": "Der er ikke angivet en tjeneste, som skal afvikles", + "no_url": "Der er ikke angivet en URL-adresse, der skal åbnes" + }, "confirm_delete": "Er du sikker på, at du vil slette dette kort?", "empty_state": { "go_to_integrations_page": "Gå til integrationssiden.", @@ -2644,7 +3095,7 @@ "name": "Alarmpanel" }, "button": { - "default_action_help": "Standardhandlingen afhænger af entitetens muligheder, den skifte enten tilstand, eller flere oplysninger vises.", + "default_action_help": "Standardhandlingen afhænger af entitetens muligheder. Den skifter enten tilstand eller flere oplysninger vises.", "description": "Med knapkortet kan du tilføje knapper til at udføre opgaver.", "name": "Knap" }, @@ -2955,6 +3406,8 @@ "error_remove": "Ude af stand til at fjerne konfiguration: {error}", "error_save_yaml": "Kunne ikke gemme YAML: {error}", "header": "Rediger konfiguration", + "lovelace_changed": "Lovelace-konfigurationen blev opdateret. Vil du indlæse den opdaterede konfiguration i editoren og miste dine aktuelle ændringer?", + "reload": "Genindlæs", "resources_moved": "Ressourcer bør ikke længere føjes til Lovelace-konfigurationen, men kan tilføjes i Lovelace-konfigurationspanelet.", "save": "Gem", "saved": "Gemt", @@ -3040,6 +3493,14 @@ "empty": "Du har ingen beskeder", "playback_title": "Afspilning af besked" }, + "my": { + "component_not_loaded": "Denne omdirigering understøttes ikke af din Home Assistant installation. Du skal bruge integrationen {integration} for at kunne bruge denne omdirigering.", + "documentation": "dokumentation", + "error": "Der opstod en ukendt fejl", + "faq_link": "Ofte stillede spørgsmål om Home Assistant", + "no_supervisor": "Denne omdirigering understøttes ikke af din Home Assistant-installation. Dette understøttes af enten Home Assistant Operating System eller Home Assistant Supervised installationsmetoden. Se {docs_link} for flere oplysninger.", + "not_supported": "Denne omdirigering understøttes ikke af din Home Assistant installation. Kontroller {link} for de understøttede omdirigeringer og den version, de blev introduceret i." + }, "page-authorize": { "abort_intro": "Login afbrudt", "authorizing_client": "Du er ved at give {clientId} adgang til din Home Assistant-instans.", diff --git a/translations/frontend/en.json b/translations/frontend/en.json index 907a617f04..7d04842a78 100644 --- a/translations/frontend/en.json +++ b/translations/frontend/en.json @@ -327,7 +327,7 @@ "gateway": "Gateway address", "ip_netmask": "IP address/Netmask", "open": "Open", - "scan_ap": "Scan for accesspoints", + "scan_ap": "Scan for access points", "static": "Static", "title": "Network settings", "unsaved": "You have unsaved changes, these will get lost if you change tabs, do you want to continue?", @@ -1187,6 +1187,7 @@ "key_missing": "Required key \"{key}\" is missing.", "key_not_expected": "Key \"{key}\" is not expected or not supported by the visual editor.", "key_wrong_type": "The provided value for \"{key}\" is not supported by the visual editor. We support ({type_correct}) but received ({type_wrong}).", + "no_template_editor_support": "Templates not supported in visual editor", "no_type_provided": "No type provided." } }, @@ -1342,7 +1343,7 @@ "wait_template": "Wait Template" } }, - "unsupported_action": "No UI support for action: {action}" + "unsupported_action": "No visual editor support for action: {action}" }, "alias": "Name", "blueprint": { @@ -1425,7 +1426,7 @@ "zone": "Zone" } }, - "unsupported_condition": "No UI support for condition: {condition}" + "unsupported_condition": "No visual editor support for condition: {condition}" }, "copy_to_clipboard": "Copy to Clipboard", "default_name": "New Automation", @@ -1433,8 +1434,8 @@ "label": "Description", "placeholder": "Optional description" }, - "edit_ui": "Edit with UI", - "edit_yaml": "Edit as YAML", + "edit_ui": "Edit in visual editor", + "edit_yaml": "Edit in YAML", "enable_disable": "Enable/Disable automation", "introduction": "Use automations to bring your home to life.", "load_error_not_editable": "Only automations in automations.yaml are editable.", @@ -1555,7 +1556,7 @@ "zone": "Zone" } }, - "unsupported_platform": "No UI support for platform: {platform}" + "unsupported_platform": "No visual editor support for platform: {platform}" }, "unsaved_confirm": "You have unsaved changes. Are you sure you want to leave?" }, @@ -2155,7 +2156,7 @@ "integration": "integration", "integration_not_found": "Integration not found.", "new": "Set up a new integration", - "no_integrations": "Seems like you don't have any integations configured yet. Click on the button below to add your first integration!", + "no_integrations": "Seems like you don't have any integrations configured yet. Click on the button below to add your first integration!", "none": "Nothing configured yet", "none_found": "No integrations found", "none_found_detail": "Adjust your search criteria.", @@ -2347,7 +2348,7 @@ "session": "Obtaining infrequently changing values from the node", "static": "Obtaining static values from the device", "versions": "Obtaining information about firmware and command class versions", - "wakeup": "Setting up support for wakeup queues and messages" + "wakeup": "Setting up support for wake-up queues and messages" }, "node": { "button": "Node Details", @@ -2371,8 +2372,8 @@ "start_refresh_button": "Start Refresh", "step": "Step", "title": "Refresh Node Information", - "wakeup_header": "Wakeup Instructions for", - "wakeup_instructions_source": "Wakeup instructions are sourced from the OpenZWave community device database." + "wakeup_header": "Wake-up Instructions for", + "wakeup_instructions_source": "Wake-up instructions are sourced from the OpenZWave community device database." }, "select_instance": { "header": "Select an OpenZWave Instance", @@ -2836,7 +2837,7 @@ "instance": "Instance", "unknown": "unknown", "value": "Value", - "wakeup_interval": "Wakeup Interval" + "wakeup_interval": "Wake-up Interval" }, "description": "Manage your Z-Wave network", "learn_more": "Learn more about Z-Wave", @@ -2865,7 +2866,7 @@ "header": "Node Configuration Options", "seconds": "seconds", "set_config_parameter": "Set Configuration Parameter", - "set_wakeup": "Set Wakeup Interval", + "set_wakeup": "Set Wake-up Interval", "true": "True" }, "node_management": { diff --git a/translations/frontend/fr.json b/translations/frontend/fr.json index 1206633b2c..dec1ee39d0 100644 --- a/translations/frontend/fr.json +++ b/translations/frontend/fr.json @@ -1626,6 +1626,8 @@ }, "introduction": "L’éditeur de Blueprint vous permet de créer et de modifier les Blueprints qui permettent de créer des automatisations facilement à l'aide de modèles configurables.", "learn_more": "En savoir plus sur les Blueprints", + "share_blueprint": "Partager le Blueprint", + "share_blueprint_no_url": "Impossible de partager le Blueprint: pas d'URL source", "use_blueprint": "Créer une automatisation" } }, diff --git a/translations/frontend/hu.json b/translations/frontend/hu.json index 941e233f35..0e4368907c 100644 --- a/translations/frontend/hu.json +++ b/translations/frontend/hu.json @@ -134,21 +134,41 @@ "uninstall": "A bővítmény törlése sikertelen" }, "capability": { + "apparmor": { + "title": "AppArmor" + }, + "auth_api": { + "title": "Home Assistant Hitelesítés" + }, + "docker_api": { + "title": "Teljes Docker hozzáférés" + }, + "hassio_api": { + "title": "Supervisor API hozzáférés" + }, "label": { "apparmor": "apparmor", "auth": "auth", "docker": "docker", "hardware": "hardver", + "hass": "hass", "hassio": "hassio", "host": "gazdagép", - "rating": "értékelés" + "host_pid": "gazda pid", + "rating": "értékelés", + "stage": "szakasz" }, "role": { "admin": "admin", - "homeassistant": "homeassistant" + "backup": "biztonsági mentés", + "default": "alapértelmezett", + "homeassistant": "homeassistant", + "manager": "manager" } }, "changelog": "Változási napló", + "cpu_usage": "Bővítmény CPU-használat", + "hostname": "Gazdagép neve", "install": "telepítés", "open_web_ui": "Webes felhasználói felület megnyitása", "option": { @@ -160,23 +180,41 @@ "title": "Indítás a rendszerindításkor" }, "ingress_panel": { + "description": "Bővítmény hozzáadása az oldalsávhoz", "title": "Megjelenítés az oldalsávon" }, + "protected": { + "title": "Védelmi mód" + }, "watchdog": { "description": "Ez elindítja az add-ont, ha összeomlik", "title": "Watchdog" } }, + "ram_usage": "Bővítmény RAM-használat", "restart": "újraindítás", "start": "indítás", "stop": "leállítás", "uninstall": "eltávolítás" }, + "documentation": { + "get_documentation": "Nem sikerült lekérni a bővítmény dokumentációját, {error}" + }, + "failed_to_reset": "Nem sikerült visszaállítani a bővítmény konfigurációját, {error}", + "failed_to_save": "Nem sikerült elmenteni a bővítmény konfigurációját, {error}", + "logs": { + "get_logs": "Nem sikerült a bővítménynaplók beszerzése, {error}" + }, "panel": { "configuration": "Konfiguráció", "documentation": "Dokumentáció", "info": "Infó", "log": "Napló" + }, + "state": { + "installed": "A bővítmény telepítve van", + "not_available": "A bővítmény nem érhető el a rendszerén", + "not_installed": "A bővítmény nincs telepítve" } }, "common": { @@ -194,6 +232,7 @@ "newest_version": "Legújabb verzió", "no": "Nem", "refresh": "Frissítés", + "release_notes": "A jelenlegi kiadás megjegyzései", "reload": "Újratöltés", "reset_defaults": "Visszaállítás az alapértelmezett értékekre", "reset_options": "Visszaállítási lehetõségek", @@ -223,7 +262,10 @@ }, "dashboard": { "addon_new_version": "Új verzió érhető el", - "addons": "Bővítmények" + "addon_running": "A bővítmény fut", + "addon_stopped": "A bővítmény leállt", + "addons": "Bővítmények", + "no_addons": "Még nincs telepítve egyetlen bővítmény sem. A kezdéshez menjen át a bővítmény boltba!" }, "dialog": { "network": { @@ -235,6 +277,7 @@ "gateway": "Átjáró címe", "ip_netmask": "IP-cím/Netmaszk", "open": "Nyitva", + "scan_ap": "Hozzáférési pontok keresése", "static": "Statikus", "title": "Hálózati beállítások", "unsaved": "Vannak nem mentett módosítások, amik elvesznek ha másik fülre váltasz, biztosan ki akarsz lépni?", @@ -269,6 +312,7 @@ "panel": { "dashboard": "Irányítópult", "snapshots": "Pillanatképek", + "store": "Bővítménybolt", "system": "Rendszer" }, "snapshot": { @@ -284,6 +328,7 @@ "addons/local": "Helyi bővítmények", "homeassistant": "Home Assistant konfiguráció", "media": "Média", + "share": "Megosztás", "ssl": "SSL" }, "folders": "Mappák", @@ -304,7 +349,8 @@ }, "system": { "core": { - "cpu_usage": "Core CPU használat" + "cpu_usage": "Core CPU használat", + "ram_usage": "Core RAM használat" }, "host": { "change": "Módosítás", @@ -313,13 +359,16 @@ "confirm_shutdown": "Valóban le szeretnéd állítani a gazdagépet?", "deployment": "Telepítés", "docker_version": "Docker verzió", + "failed_to_get_hardware_list": "Nem sikerült lekérni a hardverlistát", "failed_to_import_from_usb": "Nem sikerült importálni az USB-ről", "failed_to_reboot": "A gazdagép újraindítása sikertelen", + "failed_to_set_hostname": "Az állomásnév beállítása nem sikerült", "failed_to_shutdown": "A gazdagép leállítása sikertelen", "hardware": "Hardver", "hostname": "Gazdagép neve", "import_from_usb": "Importálás USB-ről", "ip_address": "IP-cím", + "new_hostname": "Adj meg egy új állomásnevet:", "operating_system": "Operációs rendszer", "reboot_host": "Gazdagép újraindítása", "shutdown_host": "Gazdagép leállítása", @@ -329,7 +378,10 @@ "get_logs": "Nem sikerült lekérni a(z) {provider} naplókat, {error}" }, "supervisor": { + "beta_backup": "A szolgáltatás aktiválása előtt győződj meg arról, hogy rendelkezel biztonsági másolattal az adatokról.", "beta_join_confirm": "Szeretnél csatlakozni a béta csatornához?", + "beta_release_items": "Ez magában foglalja a következő béta verziókat:", + "beta_warning": "A bétaverziók tesztelők és korai alkalmazók számára készültek, és instabil programelemeket tartalmazhatnak", "channel": "Csatorna", "cpu_usage": "Supervisor CPU használat", "failed_to_reload": "Nem sikerült újratölteni a Supervisort", @@ -359,6 +411,7 @@ "os": "Operációs rendszer", "systemd": "Systemd" }, + "unsupported_title": "Nem támogatott telepítést futtat", "update_supervisor": "A Supervisor frissítése", "warning": "FIGYELMEZTETÉS" } @@ -393,7 +446,7 @@ "cooling": "{name} hűtés", "current_temperature": "{name} aktuális hőmérséklet", "currently": "Jelenleg", - "fan_mode": "Sebesség", + "fan_mode": "Ventilátor mód", "heating": "{name} fűtés", "high": "magas", "low": "alacsony", @@ -559,6 +612,7 @@ }, "components": { "addon-picker": { + "addon": "Bővítmény", "error": { "no_supervisor": { "title": "Nincs Supervisor" @@ -632,6 +686,8 @@ "changed_to_state": "állapota megváltozott: {state}", "cleared_device_class": "{device_class} észlelés befejeződött", "detected_device_class": "{device_class} észlelve", + "is_closing": "zár", + "is_opening": "nyílik", "rose": "felkelt", "set": "lenyugodott", "turned_off": "ki lett kapcsolva", @@ -738,7 +794,8 @@ }, "service-control": { "required": "Ez a mező kötelező", - "service_data": "Szolgáltatás adatai" + "service_data": "Szolgáltatás adatai", + "target": "Célok" }, "service-picker": { "service": "Szolgáltatás" @@ -1006,6 +1063,7 @@ "clusters": "Klaszterek Kezelése", "reconfigure": "Eszköz újrakonfigurálása", "remove": "Eszköz eltávolítása", + "view_in_visualization": "Megtekintés a Vizualizációban", "zigbee_information": "Zigbee eszköz aláírása" }, "confirmations": { @@ -1483,6 +1541,8 @@ }, "introduction": "A tervrajz-szerkesztő lehetővé teszi tervrajzok létrehozását és szerkesztését.", "learn_more": "Tudj meg többet a tervrajzokról", + "share_blueprint": "Blueprint megosztása", + "share_blueprint_no_url": "Nem lehet megosztani a Blueprint-et: nincs forrás url", "use_blueprint": "Automatizálás létrehozása" } }, @@ -1857,7 +1917,8 @@ }, "filtering": { "clear": "Törlés", - "filtering_by": "Szűrés" + "filtering_by": "Szűrés", + "show": "Megmutat" }, "header": "Home Assistant beállítása", "helpers": { @@ -1928,6 +1989,7 @@ "delete_confirm": "Biztosan törölni szeretnéd ezt az integrációt?", "device_unavailable": "Eszköz nem érhető el", "devices": "{count} {count, plural,\n one {eszköz}\n other {eszköz}\n}", + "disable_restart_confirm": "Indítsa újra a Home Assistant programot az integráció lekapcsolásának befejezéséhez", "disable": { "disabled": "Letiltva", "disabled_by": { @@ -1938,6 +2000,7 @@ "disabled_cause": "Letiltva ez által: {cause}" }, "documentation": "Dokumentáció", + "enable_restart_confirm": "Indítsa újra a Home Assistant programot az integráció bekapcsolásának befejezéséhez", "entities": "{count} {count, plural,\n one {entitás}\n other {entitás}\n}", "entity_unavailable": "Entitás nem érhető el", "firmware": "Firmware: {version}", @@ -1976,6 +2039,7 @@ }, "configure": "Beállítás", "configured": "Konfigurálva", + "confirm_new": "Be szeretnéd állítani a(z) {integráció}-t?", "description": "Integrációk kezelése (szolgáltatások, eszközök...)", "details": "Integráció részletei", "disable": { @@ -2571,6 +2635,7 @@ "caption": "Megjelenítés", "header": "Hálózati megjelenítés", "highlight_label": "Kiemelt ezközök", + "refresh_topology": "Topológia frissítése", "zoom_label": "Ráközelítés az ezközre" } }, diff --git a/translations/frontend/it.json b/translations/frontend/it.json index 26fe89b096..2b4b2aaa25 100644 --- a/translations/frontend/it.json +++ b/translations/frontend/it.json @@ -245,7 +245,7 @@ "start": "avvia", "stop": "arresta", "uninstall": "disinstalla", - "visit_addon_page": "Visita la pagina di {name} per maggiori dettagli" + "visit_addon_page": "Visita la pagina con {name} per maggiori dettagli" }, "documentation": { "get_documentation": "Impossibile ottenere la documentazione del componente aggiuntivo, {error}" @@ -1626,6 +1626,8 @@ }, "introduction": "La configurazione del progetto ti consente di importare e gestire i tuoi progetti.", "learn_more": "Ulteriori informazioni sull'utilizzo dei progetti", + "share_blueprint": "Condividi progetto", + "share_blueprint_no_url": "Impossibile condividere il progetto: url di origine assente", "use_blueprint": "Crea automazione" } }, diff --git a/translations/frontend/ko.json b/translations/frontend/ko.json index dc5aa10349..f0471cc10e 100644 --- a/translations/frontend/ko.json +++ b/translations/frontend/ko.json @@ -2,6 +2,7 @@ "config_entry": { "disabled_by": { "config_entry": "구성 항목", + "device": "기기", "integration": "통합 구성요소", "user": "사용자" } @@ -103,45 +104,167 @@ }, "supervisor": { "addon": { + "configuration": { + "audio": { + "default": "기본값", + "header": "오디오", + "input": "입력", + "output": "출력" + }, + "network": { + "container": "컨테이너", + "disabled": "비활성화됨", + "header": "네트워크", + "host": "호스트" + }, + "no_configuration": "이 추가 기능은 사용자가 가지고 놀만한 노출된 구성이 없습니다...", + "options": { + "edit_in_ui": "UI로 편집하기", + "edit_in_yaml": "YAML로 편집하기", + "header": "옵션", + "invalid_yaml": "YAML이 잘못되었습니다", + "show_unused_optional": "사용하지 않는 선택적 구성 옵션 표시하기" + } + }, "dashboard": { + "action_error": { + "get_changelog": "추가 기능 변경 로그를 가져오지 못했습니다", + "go_to_config": "추가 기능을 시작하지 못했습니다 - 구성 유효성 검사에 실패했습니다!", + "install": "추가 기능을 설치하지 못했습니다", + "restart": "추가 기능을 다시 시작하지 못했습니다", + "start": "추가 기능을 시작하지 못했습니다", + "start_invalid_config": "구성으로 이동하기", + "stop": "추가 기능을 중지하지 못했습니다", + "uninstall": "추가 기능을 제거하지 못했습니다", + "validate_config": "추가 기능 구성의 유효성을 검사하지 못했습니다" + }, "capability": { "apparmor": { - "description": "앱아머 ( 'Application Armor')는 네트워크 액세스, 원시 소켓 액세스 및 특정 파일 읽기, 쓰기 또는 실행 권한과 같은 추가 기능 기능을 제한하는 Linux 커널 보안 모듈입니다. \n\n 애드온 작성자는 애드온에 최적화 된 보안 프로필을 제공하거나 비활성화하도록 요청할 수 있습니다. AppArmor가 비활성화되면 보안 위험이 높아져 추가 기능의 보안 점수에 부정적인 영향을 미칩니다.", - "title": "앱아머" + "description": "AppArmor ('Application Armor')는 네트워크 액세스, 원시 소켓 액세스 및 특정 파일의 읽기, 쓰기 또는 실행 권한과 같은 추가 기능을 제한하는 Linux 커널 보안 모듈입니다.\n\n추가 기능 작성자는 추가 기능에 최적화된 보안 프로필을 제공하거나 비활성화하도록 요청할 수 있습니다. AppArmor가 비활성화되면 보안 위험이 증가하므로 추가 기능의 보안 점수에 부정적인 영향을 미칩니다.", + "title": "AppArmor" }, "auth_api": { - "description": "애드온은 Home Assistant에서 사용자를 인증 할 수 있으므로 이 기능을 통해 사용자는 Home Assistant 사용자 이름 / 암호를 사용하여 애드온 내에서 실행되는 응용 프로그램에 로그인 할 수 있습니다. 이 배지는 애드온 작성자가이 이러한 기능을 요청하는지 여부를 나타냅니다.", - "title": "홈어시스턴트 인증" + "description": "추가 기능은 Home Assistant에 대해 사용자를 인증할 수 있으므로 추가 기능을 통해 사용자가 Home Assistant 사용자이름/비밀번호를 사용하여 추가 기능 내에서 실행되는 응용 프로그램에 로그인할 수 있습니다. 이 배지는 추가 기능 작성자가 이 기능을 요청하는지 여부를 나타냅니다.", + "title": "Home Assistant 인증" }, "docker_api": { - "description": "애드온 작성자가 시스템에서 실행중인 Docker 인스턴스에 대한 관리 액세스 권한을 갖도록 애드온을 요청했습니다. 이 모드는 애드온이 전체 홈 어시스턴트 시스템에 대한 전체 액세스 및 제어를 제공하여 보안 위험을 추가하고 오용시 시스템을 손상시킬 수 있습니다. 따라서이 기능은 애드온 보안 점수에 부정적인 영향을 미칩니다. \n\n 이 수준의 액세스는 자동으로 부여되지 않으며 귀하가 확인해야합니다. 이렇게하려면 애드온에서 보호 모드를 수동으로 비활성화해야합니다. 이 애드온의 출처를 알고 필요하고 신뢰할 수있는 경우에만 보호 모드를 비활성화하십시오.", - "title": "전체 Docker 액세스" + "description": "추가 기능 작성자가 시스템에서 실행 중인 Docker 인스턴스에 대한 관리 액세스 권한을 추가 기능에 요청했습니다. 이 모드는 추가 기능이 Home Assistant 시스템 전체에 대해 완전한 액세스 및 제어 기능을 제공하므로 보안 위험이 추가되며 잘못 사용될 경우 시스템이 손상될 수 있습니다. 따라서 이 기능은 추가 기능 보안 점수에 부정적인 영향을 미칩니다.\n\n이 액세스 수준은 자동으로 부여되지 않으므로 사용자가 확인해야 합니다. 이렇게 하려면 추가 기능에서 보호 모드를 수동으로 비활성화해야 합니다. 이 추가 기능의 출처를 알고 있으며 신뢰하고 사용이 필요한 경우에만 보호 모드를 비활성화하십시오.", + "title": "완전한 Docker 액세스" + }, + "full_access": { + "description": "추가 기능 작성자의 요청에 의해 추가 기능에 시스템의 하드웨어에 대한 완전한 액세스 권한이 부여되었습니다. 액세스는 Docker의 권한 모드와 비슷합니다. 이로 인해 보안 위험이 발생할 수 있으므로 이 기능은 추가 기능 보안 점수에 부정적인 영향을 미칩니다.\n\n이 액세스 수준은 자동으로 부여되지 않으므로 사용자가 확인해야 합니다. 이렇게 하려면 추가 기능에서 보호 모드를 수동으로 비활성화해야 합니다. 이 추가 기능의 출처를 알고 있으며 신뢰하고 사용이 필요한 경우에만 보호 모드를 비활성화하십시오.", + "title": "완전한 하드웨어 액세스" + }, + "hassio_api": { + "description": "추가 기능 작성자의 요청에 의해 추가 기능에 Supervisor API에 대한 액세스 권한이 부여되었습니다. 기본적으로 추가 기능은 시스템의 일반 버전 정보에 액세스 할 수 있습니다. 추가 기능이 API에 대해 '매니저' 또는 '관리자' 수준의 액세스를 요청할 때 Home Assistant 시스템의 여러 부분을 제어할 수 있는 액세스 권한을 얻게 됩니다. 이 권한은 이 배지로 표시되며 추가 기능의 보안 점수에 부정적인 영향을 미칩니다.", + "title": "Supervisor API 액세스" + }, + "homeassistant_api": { + "description": "이 추가 기능은 Home Assistant API를 통해 실행 중인 Home Assistant 인스턴스에 직접 액세스할 수 있습니다. 이 모드는 추가 기능에 대한 인증도 처리하므로 추가 인증 토큰 없이도 추가 기능이 Home Assistant와 상호 작용할 수 있습니다.", + "title": "Home Assistant API 엑세스" + }, + "host_network": { + "description": "추가 기능은 일반적으로 자체 격리된 네트워크 계층에서 실행되므로 호스트 운영 체제의 네트워크에 액세스 할 수 없습니다. 경우에 따라 이 네트워크 격리에 의해 추가 기능의 서비스 제공이 제한될 수 있으므로 추가 기능 작성자가 격리를 해제하여 추가 기능에 호스트 시스템의 네트워크 기능에 대한 전체 액세스 권한을 부여할 수 있습니다. 이렇게 하면 추가 기능에 더 많은 네트워크 기능이 제공되지만 보안이 저하되므로 추가 기능에서 이 옵션을 사용하면 추가 기능의 보안 등급이 낮아집니다.", + "title": "호스트 네트워크" }, "host_pid": { - "description": "일반적으로 애드온이 실행하는 프로세스는 다른 모든 시스템 프로세스와 격리됩니다. 애드온 작성자는 호스트 시스템 인스턴스에서 실행중인 시스템 프로세스에 액세스 할 수 있도록 애드온을 요청했으며 애드온이 호스트 시스템에서도 프로세스를 생성 할 수 있도록 허용했습니다. 이 모드는 애드온이 전체 홈 어시스턴트 시스템에 대한 전체 액세스 및 제어를 제공하여 보안 위험을 추가하고 오용시 시스템을 손상시킬 수 있습니다. 따라서이 기능은 애드온 보안 점수에 부정적인 영향을 미칩니다. \n\n 이 수준의 액세스는 자동으로 부여되지 않으며 귀하가 확인해야합니다. 이렇게하려면 애드온에서 보호 모드를 수동으로 비활성화해야합니다. 이 애드온의 출처를 알고 필요하고 신뢰할 수있는 경우에만 보호 모드를 비활성화하십시오.", + "description": "일반적으로 추가 기능이 실행하는 프로세스는 다른 모든 시스템 프로세스와 격리됩니다. 추가 기능 작성자는 추가 기능이 호스트 시스템 인스턴스에서 실행 중인 시스템 프로세스에 액세스 할 수 있도록 요청하고 호스트 시스템에서 프로세스를 생성할 수 있도록 허용했습니다. 이 모드는 추가 기능이 Home Assistant 시스템 전체에 대해 완전한 액세스 및 제어 기능을 제공하므로 보안 위험이 추가되며 잘못 사용될 경우 시스템이 손상될 수 있습니다. 따라서 이 기능은 추가 기능 보안 점수에 부정적인 영향을 미칩니다.\n\n이 액세스 수준은 자동으로 부여되지 않으므로 사용자가 확인해야 합니다. 이렇게 하려면 추가 기능에서 보호 모드를 수동으로 비활성화해야 합니다. 이 추가 기능의 출처를 알고 있으며 신뢰하고 사용이 필요한 경우에만 보호 모드를 비활성화하십시오.", "title": "호스트 프로세스 네임스페이스" }, "ingress": { - "description": "이 애드온은 안전하게 내장된 홈어시스턴트 인터페이스로의 진입을 사용합니다.", - "title": "진입" + "description": "이 추가 기능은 인그레스를 사용하여 추가 기능의 인터페이스를 Home Assistant에 안전하게 적용합니다.", + "title": "인그레스" }, "label": { - "apparmor": "앱아머", + "apparmor": "apparmor", "auth": "인증", - "docker": "Docker", + "docker": "docker", "hardware": "하드웨어", "hass": "hass", - "hassio": "Hassio", + "hassio": "hassio", "host": "호스트", "host_pid": "호스트 pid", - "ingress": "진입", - "rating": "평가", + "ingress": "인그레스", + "rating": "등급", "stage": "단계" }, + "rating": { + "description": "Home Assistant는 각 추가 기능에 대해 보안 등급을 제공하며, 이 추가 기능을 사용할 때 발생할 수 있는 위험 정도를 나타냅니다. 시스템에 대한 추가 기능에 더 많은 액세스 권한이 필요할수록 점수가 낮아지며 보안 위험이 높아질 수 있습니다.\n\n보안 등급 점수는 1부터 6까지입니다. 여기서 1은 최저 점수(가장 불안전하고 가장 높은 위험으로 간주됨)이고 6은 최고 점수(가장 안전하고 가장 낮은 위험으로 간주됨)입니다.", + "title": "추가 기능 보안 등급" + }, "role": { - "manager": "관리자" + "admin": "관리자", + "backup": "백업", + "default": "기본값", + "homeassistant": "homeassistant", + "manager": "매니저" + }, + "stage": { + "description": "추가 기능은 다음 세 가지 단계 중 하나일 수 있습니다:\n\n{icon_stable} **안정*: 실제 환경에서 바로 사용할 수 있는 추가 기능입니다.\n\n{icon_experimental} **실험**: 버그를 포함할 수 있으며 완성되지 않았을 수 있습니다.\n\n{icon_deprecated} **중단**: 이러한 추가 기능은 더 이상 업데이트되지 않습니다.", + "title": "추가 기능 단계" } - } + }, + "changelog": "변경 로그", + "cpu_usage": "추가 기능 CPU 사용량", + "hostname": "호스트 이름", + "install": "설치하기", + "new_update_available": "{name} {version}을(를) 사용할 수 있습니다", + "not_available_arch": "이 추가 기능은 시스템의 프로세서 또는 시스템에 설치된 운영 체제와 호환되지 않습니다.", + "not_available_version": "Home Assistant {core_version_installed}을(를) 실행 중입니다. 이 추가 기능의 버전으로 업데이트하려면 Home Assistant의 버전 {core_version_needed} 이상이 필요합니다", + "open_web_ui": "웹 UI 열기", + "option": { + "auto_update": { + "description": "사용 가능한 새로운 버전이 있을 경우 추가 기능을 자동으로 업데이트합니다", + "title": "자동 업데이트" + }, + "boot": { + "description": "시스템이 부팅될 때 추가 기능을 시작합니다", + "title": "자동 시작" + }, + "ingress_panel": { + "description": "이 추가 기능을 사이드바에 추가합니다", + "title": "사이드바에 표시하기" + }, + "protected": { + "description": "추가 기능에서 상위 시스템에 접근하는 것을 차단합니다", + "title": "보호 모드" + }, + "watchdog": { + "description": "추가 기능이 충돌한 경우 다시 시작합니다", + "title": "실행 감시" + } + }, + "protection_mode": { + "content": "이 추가 기능의 보호 모드가 비활성화되었습니다! 이렇게 하면 추가 기능에 전체 시스템에 대한 완전한 액세스 권한을 부여하여 보안 위험을 가중시키고 잘못 사용하면 시스템이 손상될 수 있습니다. 이 추가 기능의 출처를 알고 있으며 신뢰하고 사용이 필요한 경우에만 보호 모드를 비활성화하십시오.", + "enable": "보호 모드 활성화하기", + "title": "경고: 보호 모드가 비활성화되었습니다!" + }, + "ram_usage": "추가 기능 RAM 사용량", + "rebuild": "다시 빌드하기", + "restart": "다시 시작하기", + "start": "시작하기", + "stop": "중지하기", + "uninstall": "제거하기", + "visit_addon_page": "자세한 내용은 {name} 페이지를 참조해주세요" + }, + "documentation": { + "get_documentation": "추가 기능 문서를 가져오지 못했습니다. {error}" + }, + "failed_to_reset": "추가 기능 구성을 재설정하지 못했습니다. {error}", + "failed_to_save": "추가 기능 구성을 저장하지 못했습니다. {error}", + "logs": { + "get_logs": "추가 기능 로그를 가져오지 못했습니다. {error}" + }, + "panel": { + "configuration": "구성", + "documentation": "관련 문서", + "info": "정보", + "log": "로그" + }, + "state": { + "installed": "추가 기능이 설치되었습니다", + "not_available": "시스템에서 추가 기능을 사용할 수 없습니다", + "not_installed": "추가 기능이 설치되지 않았습니다" } }, "common": { @@ -156,17 +279,21 @@ "failed_to_update_name": "{name}을(를) 업데이트하지 못했습니다", "learn_more": "더 알아보기", "new_version_available": "새로운 버전을 사용할 수 있습니다", + "newest_version": "최신 버전", "no": "아니오", "refresh": "새로고침", + "release_notes": "릴리스 노트", "reload": "다시 읽어오기", "reset_defaults": "기본값으로 재설정하기", "reset_options": "옵션 재설정하기", "restart": "다시 시작하기", "restart_name": "{name} 다시 시작하기", - "running_version": "현재 버전 {version}을(를) 실행 중입니다", + "running_version": "현재 {version} 버전을 실행 중입니다", "save": "저장하기", - "show_more": "이에 대한 자세한 정보 표시", - "update_available": "{count, plural,\n one {업데이트}\n other {{count} 업데이트}\n} 보류 중", + "show_more": "이에 대한 자세한 정보 표시하기", + "update": "업데이트하기", + "update_available": "{count, plural,\n one{개의 업데이트}\n other{{count}개의 업데이트}\n} 보류 중", + "version": "버전", "yes": "예" }, "confirm": { @@ -179,13 +306,21 @@ "title": "{name} 다시 시작하기" }, "update": { + "text": "{name}을(를) 버전 {version}(으)로 업데이트하시겠습니까?", "title": "{name} 업데이트" } }, + "dashboard": { + "addon_new_version": "새로운 버전을 사용할 수 있습니다", + "addon_running": "추가 기능이 실행 중입니다", + "addon_stopped": "추가 기능이 중지되었습니다", + "addons": "추가 기능", + "no_addons": "아직 설치된 추가 기능이 없습니다. 시작하려면 추가 기능 스토어로 이동해보세요!" + }, "dialog": { "network": { "connected_to": "{ssid}에 연결되었습니다", - "dhcp": "DHCP", + "dhcp": "자동 구성", "disabled": "비활성화", "dns_servers": "DNS 서버", "failed_to_change": "네트워크 설정을 변경하지 못했습니다", @@ -193,12 +328,12 @@ "ip_netmask": "IP 주소/넷마스크", "open": "공개", "scan_ap": "액세스 포인트 검색하기", - "static": "정적", + "static": "수동 구성", "title": "네트워크 설정", "unsaved": "저장되지 않은 변경 사항이 있습니다. 탭을 변경하면 손실됩니다. 계속하시겠습니까?", "warning": "Wi-Fi, IP 또는 게이트웨이 주소를 변경하는 경우 연결이 끊어질 수 있습니다!", - "wep": "WEP", - "wpa": "wpa-psk" + "wep": "WEB", + "wpa": "WPA-PSK" }, "registries": { "add_new_registry": "새로운 레지스트리 추가하기", @@ -232,8 +367,14 @@ "my": { "error": "알 수 없는 오류가 발생했습니다", "error_addon_not_found": "추가 기능을 찾을 수 없습니다", - "faq_link": "자주 묻는 질문", - "not_supported": "이 리디렉션은 Home Assistant 인스턴스에서 지원되지 않습니다. {link} 에서 지원되는 리디렉션과 리디렉션이 도입된 버전을 확인해주세요." + "faq_link": "내 Home Assistant 자주 묻는 질문", + "not_supported": "이 리디렉션은 Home Assistant 인스턴스에서 지원되지 않습니다. {link}에서 지원되는 리디렉션과 리디렉션이 도입된 버전을 확인해주세요." + }, + "panel": { + "dashboard": "대시보드", + "snapshots": "스냅샷", + "store": "추가 기능 스토어", + "system": "시스템" }, "snapshot": { "addons": "추가 기능", @@ -261,7 +402,7 @@ "password_protection": "비밀번호 보호", "security": "보안", "type": "유형", - "upload_snapshot": "스냅샷 업로드하기" + "upload_snapshot": "스냅샷 올리기" }, "store": { "missing_addons": "추가 기능이 보이지 않으신가요? 사용자 프로필 페이지에서 고급 모드를 활성화해보세요", @@ -314,7 +455,7 @@ "join_beta_action": "베타 채널에 가입하기", "join_beta_description": "Home Assistant (출시 직전버전), Supervisor 및 호스트에 대한 베타 업데이트를 가져옵니다", "leave_beta_action": "베타 채널에서 탈퇴하기", - "leave_beta_description": "Home Assistant, Supervisor 및 호스트에 대한 안정적인 업데이트를 가져옵니다 ", + "leave_beta_description": "Home Assistant, Supervisor 및 호스트에 대한 안정적인 업데이트를 가져옵니다", "ram_usage": "Supervisor RAM 사용량", "reload_supervisor": "Supervisor 다시 읽어오기", "share_diagnostics": "진단 정보 공유하기", @@ -446,7 +587,7 @@ }, "script": { "cancel": "취소", - "cancel_multiple": "{number} 개 취소", + "cancel_multiple": "{number}개 취소하기", "run": "실행" }, "service": { @@ -542,6 +683,19 @@ "yes": "예" }, "components": { + "addon-picker": { + "addon": "추가 기능", + "error": { + "fetch_addons": { + "description": "추가 기능을 가져오는 중 오류가 반환되었습니다.", + "title": "추가 기능 가져오기 오류" + }, + "no_supervisor": { + "description": "Supervisor를 찾을 수 없으므로 추가 기능을 읽어 들일 수 없습니다.", + "title": "Supervisor가 없습니다" + } + } + }, "area-picker": { "add_dialog": { "add": "추가하기", @@ -553,7 +707,18 @@ "add_new": "새로운 영역 추가하기", "area": "영역", "clear": "지우기", - "show_areas": "영역 표시" + "no_areas": "영역이 존재하지 않습니다", + "no_match": "일치하는 영역을 찾을 수 없습니다", + "show_areas": "영역 표시하기" + }, + "blueprint-picker": { + "add_user": "사용자 추가하기", + "remove_user": "사용자 제거하기", + "select_blueprint": "블루프린트 선택하기" + }, + "calendar": { + "my_calendars": "내 캘린더", + "today": "오늘" }, "data-table": { "no-data": "데이터가 없습니다", @@ -568,21 +733,25 @@ "clear": "지우기", "device": "기기", "no_area": "영역 없음", - "show_devices": "기기 표시", + "no_devices": "기기가 존재하지 않습니다", + "no_match": "일치하는 기기를 찾을 수 없습니다", + "show_devices": "기기 표시하기", "toggle": "토글" }, "entity": { "entity-attribute-picker": { "attribute": "속성", - "show_attributes": "속성 표시" + "show_attributes": "속성 표시하기" }, "entity-picker": { "clear": "지우기", "entity": "구성요소", - "show_entities": "구성요소 표시" + "no_match": "일치하는 구성요소를 찾을 수 없습니다", + "show_entities": "구성요소 표시하기" } }, "history_charts": { + "history_disabled": "기록 그래프 통합 구성요소가 비활성화되었습니다", "loading_history": "상태 기록 내용 읽는 중...", "no_history_found": "상태 기록 내용이 없습니다." }, @@ -592,7 +761,7 @@ "entries_not_found": "로그북 구성요소를 찾을 수 없습니다.", "messages": { "became_unavailable": "이(가) 사용 불가능해짐", - "changed_to_state": "이(가) {state}로(으로) 변경됨", + "changed_to_state": "이(가) {state}으(로) 변경됨", "cleared_device_class": "이(가) 더 이상 {device_class}을(를) 감지하지 않음", "detected_device_class": "이(가) {device_class}을(를) 감지함", "is_closing": "이(가) 닫히는 중", @@ -602,7 +771,7 @@ "turned_off": "이(가) 꺼짐", "turned_on": "이(가) 켜짐", "was_at_home": "이(가) 집에서 발견됨", - "was_at_state": "이(가) {state}로(으로) 감지됨", + "was_at_state": "이(가) {state}(으)로 감지됨", "was_away": "이(가) 외출로 감지됨", "was_closed": "이(가) 닫힘", "was_connected": "이(가) 연결됨", @@ -644,7 +813,7 @@ "video": "비디오" }, "documentation": "관련 문서", - "learn_adding_local_media": "{documentation} 에서 미디어 추가에 대해 자세히 알아보세요.", + "learn_adding_local_media": "{documentation}에서 미디어 추가에 대해 자세히 알아보세요.", "local_media_files": "브라우저 또는 지원되는 미디어 플레이어에서 탐색하고 재생할 수 있도록 비디오, 오디오 및 이미지 파일을 미디어 디렉터리에 넣어주세요.", "media_browsing_error": "미디어 탐색 오류", "media_not_supported": "브라우저 미디어 플레이어에서 이 유형의 미디어를 지원하지 않습니다", @@ -657,7 +826,7 @@ "pick-media": "미디어 선택", "play": "재생", "play-media": "미디어 재생", - "setup_local_help": "로컬 미디어 설정 방법에 대한 {documentation} 을(를) 확인해주세요.", + "setup_local_help": "로컬 미디어 설정 방법에 대한 {documentation}을(를) 확인해주세요.", "video_not_supported": "브라우저가 비디오를 지원하지 않습니다.", "web-browser": "웹 브라우저" }, @@ -678,32 +847,48 @@ }, "relative_time": { "duration": { - "day": "{count} {count, plural,\none {일}\nother {일}\n}", - "hour": "{count} {count, plural,\none {시간}\nother {시간}\n}", - "minute": "{count} {count, plural,\none {분}\nother {분}\n}", - "second": "{count} {count, plural,\none {초}\nother {초}\n}", - "week": "{count} {count, plural,\none {주}\nother {주}\n}" + "day": "{count} {count, plural,\none{일}\nother{일}\n}", + "hour": "{count} {count, plural,\none{시간}\nother{시간}\n}", + "minute": "{count} {count, plural,\none{분}\nother{분}\n}", + "second": "{count} {count, plural,\none{초}\nother{초}\n}", + "week": "{count} {count, plural,\none{주}\nother{주}\n}" }, "future_duration": { - "day": "{count} {count, plural,\n one {일}\n other {일}\n} 후", - "hour": "{count} {count, plural,\n one {시간}\n other {시간}\n} 후", - "minute": "{count} {count, plural,\n one {분}\n other {분}\n} 후", - "second": "{count} {count, plural,\n one {초}\n other {초}\n} 후", - "week": "{count} {count, plural,\n one {주}\n other {주}\n} 후" + "day": "{count} {count, plural,\n one{일}\n other{일}\n} 후", + "hour": "{count} {count, plural,\n one{시간}\n other{시간}\n} 후", + "minute": "{count} {count, plural,\n one{분}\n other{분}\n} 후", + "second": "{count} {count, plural,\n one{초}\n other{초}\n} 후", + "week": "{count} {count, plural,\n one{주}\n other{주}\n} 후" }, "just_now": "방금", "never": "해당없음", "past_duration": { - "day": "{count} {count, plural,\n one {일}\n other {일}\n} 전", - "hour": "{count} {count, plural,\n one {시간}\n other {시간}\n} 전", - "minute": "{count} {count, plural,\n one {분}\n other {분}\n} 전", - "second": "{count} {count, plural,\n one {초}\n other {초}\n} 전", - "week": "{count} {count, plural,\n one {주}\n other {주}\n} 전" + "day": "{count} {count, plural,\n one{일}\n other{일}\n} 전", + "hour": "{count} {count, plural,\n one{시간}\n other{시간}\n} 전", + "minute": "{count} {count, plural,\n one{분}\n other{분}\n} 전", + "second": "{count} {count, plural,\n one{초}\n other{초}\n} 전", + "week": "{count} {count, plural,\n one{주}\n other{주}\n} 전" } }, + "service-control": { + "required": "이 입력란은 필수 요소입니다", + "service_data": "서비스 데이터", + "target": "대상", + "target_description": "이 서비스는 대상 영역, 기기 또는 구성요소로 무엇을 사용해야 합니까?" + }, "service-picker": { "service": "서비스" }, + "target-picker": { + "add_area_id": "영역 선택하기", + "add_device_id": "기기 선택하기", + "add_entity_id": "구성요소 선택하기", + "expand_area_id": "이 영역을 포함하는 개별 기기 및 구성요소로 확장합니다. 확장 후에는 영역이 변경될 때 기기 및 구성요소를 업데이트하지 않습니다.", + "expand_device_id": "이 기기를 포함하는 개별 구성요소로 확장합니다. 확장 후에는 기기가 변경될 때 구성요소를 업데이트하지 않습니다.", + "remove_area_id": "영역 제거하기", + "remove_device_id": "기기 제거하기", + "remove_entity_id": "구성요소 제거하기" + }, "user-picker": { "add_user": "사용자 추가하기", "no_user": "사용자 없음", @@ -712,7 +897,7 @@ }, "dialogs": { "config_entry_system_options": { - "enable_new_entities_description": "비활성화한 경우 새로 발견된 {integration} 구성요소는 Home Assistant 에 자동으로 추가되지 않습니다.", + "enable_new_entities_description": "비활성화한 경우 새로 발견된 {integration} 구성요소는 Home Assistant에 자동으로 추가되지 않습니다.", "enable_new_entities_label": "새로 추가된 구성요소를 활성화합니다.", "title": "{integration} 시스템 옵션", "update": "업데이트" @@ -723,25 +908,34 @@ }, "entity_registry": { "control": "제어하기", + "customize_link": "구성요소 사용자화", "dismiss": "해제", "editor": { + "advanced": "고급 설정", + "area": "구성 요소 영역만 설정하기", + "area_note": "기본적으로 기기의 구성요소는 기기와 동일한 영역에 있습니다. 이 구성요소의 영역을 변경하면 더 이상 기기의 영역을 따르지 않습니다.", + "change_device_area": "기기 영역 변경하기", "confirm_delete": "이 구성요소를 제거하시겠습니까?", - "delete": "삭제", - "enabled_cause": "{cause} 에 의해 비활성화 되었습니다.", - "enabled_delay_confirm": "활성화 된 구성요소는 {delay} 초 후에 Home Assistant 에 추가됩니다", - "enabled_description": "비활성화 된 구성요소는 Home Assistant 에 추가되지 않습니다.", + "delete": "삭제하기", + "device_disabled": "이 구성요소의 기기가 비활성화되었습니다.", + "enabled_cause": "{cause}에 의해 비활성화되었습니다.", + "enabled_delay_confirm": "활성화된 구성요소는 {delay}초 후에 Home Assistant에 추가됩니다", + "enabled_description": "비활성화된 구성요소는 Home Assistant에 추가되지 않습니다.", "enabled_label": "구성요소 활성화", - "enabled_restart_confirm": "구성요소를 활성화하려면 Home Assistant 를 다시 시작해주세요", + "enabled_restart_confirm": "구성요소를 활성화하려면 Home Assistant를 다시 시작해주세요", "entity_id": "구성요소 ID", + "follow_device_area": "기기 영역 따르기", "icon": "아이콘", "icon_error": "아이콘은 접두사:아이콘이름 형식이어야 합니다. 예: mdi:home", "name": "이름", "note": "참고: 모든 통합 구성요소에서 아직 작동하지 않을 수 있습니다.", + "open_device_settings": "기기 설정 열기", "unavailable": "이 구성요소는 현재 사용할 수 없습니다.", "update": "업데이트" }, "faq": "관련 문서", - "no_unique_id": "이 구성요소 (\"{entity_id}\") 은(는) 고유한 ID 가 없으므로 UI 에서 설정 내용을 관리할 수 없습니다. 자세한 내용은 {faq_link} 을(를) 참조해주세요.", + "info_customize": "{customize_link} 섹션에서 일부 속성을 재정의 할 수 있습니다.", + "no_unique_id": "이 구성요소 (\"{entity_id}\")은(는) 고유한 ID 가 없으므로 UI 에서 구성 내용을 관리할 수 없습니다. 자세한 내용은 {faq_link}을(를) 참조해주세요.", "related": "관련 내용", "settings": "설정 내용" }, @@ -756,7 +950,7 @@ "initial": "초기값", "maximum": "최대값", "minimum": "최소값", - "restore": "Home Assistant 가 시작될 때 최근 값으로 복원", + "restore": "Home Assistant가 시작될 때 최근 값으로 복원", "step": "계수 간격" }, "generic": { @@ -792,25 +986,27 @@ "pattern": "클라이언트 측 검증을 위한 정규표현식", "text": "텍스트" }, - "platform_not_loaded": "{platform} 통합 구성요소가 로드되지 않았습니다. 'default_config:' 또는 \"{platform}:\" 을 configuration.yaml 에 추가해주세요.", + "platform_not_loaded": "{platform} 통합 구성요소가 로드되지 않았습니다. 'default_config:' 또는 \"{platform}:\" 을 configuration.yaml에 추가해주세요.", "required_error_msg": "이 입력란은 필수 요소입니다", "timer": { "duration": "기간" }, - "yaml_not_editable": "이 구성요소의 설정은 UI 에서 편집할 수 없습니다. UI 에서 설정한 구성요소만 UI 에서 구성할 수 있습니다." + "yaml_not_editable": "이 구성요소의 설정은 UI에서 편집할 수 없습니다. UI에서 설정한 구성요소만 UI에서 구성할 수 있습니다." }, "image_cropper": { "crop": "자르기" }, "more_info_control": { "cover": { + "close_cover": "닫기", "close_tile_cover": "닫기", + "open_cover": "열기", "open_tilt_cover": "열기", "stop_cover": "멈추기" }, "details": "세부 정보", "dismiss": "대화창 닫기", - "edit": "구성요소 편집", + "edit": "구성요소 편집하기", "history": "기록 내용", "last_changed": "최근 변경 됨", "last_updated": "최근 업데이트 됨", @@ -859,8 +1055,8 @@ "no_entities": "구성요소가 없습니다", "no_triggers": "트리거가 없습니다", "payload_display": "페이로드 표시", - "recent_messages": "{n} 개의 최근 수신 메시지", - "show_as_yaml": "YAML 로 표시", + "recent_messages": "{n}개의 최근 수신 메시지", + "show_as_yaml": "YAML로 표시하기", "title": "{device} 디버그 정보", "triggers": "트리거" }, @@ -887,6 +1083,7 @@ "integrations": "통합 구성요소", "logs": "로그", "lovelace": "Lovelace 대시보드", + "navigate_to": "{panel}(으)로 이동하기", "person": "구성원", "scene": "씬", "script": "스크립트", @@ -937,7 +1134,7 @@ "filter_placeholder": "구성요소 필터" }, "voice_command": { - "did_not_hear": "Home Assistant 가 아무 소리도 듣지 못했습니다", + "did_not_hear": "Home Assistant가 아무 소리도 듣지 못했습니다", "error": "이런, 오류가 발생했습니다", "found": "다음을 찾았습니다:", "how_can_i_help": "무엇을 도와드릴까요?", @@ -948,8 +1145,9 @@ "buttons": { "add": "이 기기를 통해 기기 추가하기", "clusters": "클러스터 관리", - "reconfigure": "기기 재설정", + "reconfigure": "기기 재구성하기", "remove": "기기 제거하기", + "view_in_visualization": "시각화에서보기", "zigbee_information": "Zigbee 기기 서명" }, "confirmations": { @@ -974,11 +1172,23 @@ } }, "duration": { - "day": "{count} {count, plural,\none {일}\nother {일}\n}", - "hour": "{count} {count, plural,\none {시간}\nother {시간}\n}", - "minute": "{count} {count, plural,\none {분}\nother {분}\n}", - "second": "{count} {count, plural,\none {초}\nother {초}\n}", - "week": "{count} {count, plural,\none {주}\nother {주}\n}" + "day": "{count} {count, plural,\none{일}\nother{일}\n}", + "hour": "{count} {count, plural,\none{시간}\nother{시간}\n}", + "minute": "{count} {count, plural,\none{분}\nother{분}\n}", + "second": "{count} {count, plural,\none{초}\nother{초}\n}", + "week": "{count} {count, plural,\none{주}\nother{주}\n}" + }, + "errors": { + "config": { + "edit_in_yaml_supported": "YAML에서도 구성을 편집할 수 있습니다.", + "editor_not_available": "\"{type}\" 유형에 사용할 수 있는 비주얼 편집기가 없습니다.", + "editor_not_supported": "이 구성에 대해 비주얼 편집기가 지원되지 않습니다.", + "error_detected": "구성 내용에 오류가 감지되었습니다", + "key_missing": "필수 키 \"{key}\"이(가) 없습니다.", + "key_not_expected": "비주얼 편집기에서 \"{key}\" 키는 예상되지 않거나 지원되지 않습니다.", + "key_wrong_type": "\"{key}\"에 제공된 값은 비주얼 편집기에서 지원되지 않습니다. ({type_correct})을(를) 지원하지만 ({type_wrong})을(를) 받았습니다.", + "no_type_provided": "유형이 제공되지 않았습니다." + } }, "login-form": { "log_in": "로그인", @@ -986,7 +1196,7 @@ "remember": "자동로그인" }, "notification_drawer": { - "click_to_configure": "버튼을 클릭하여 {entity} 을(를) 구성", + "click_to_configure": "버튼을 클릭하여 {entity}을(를) 구성", "close": "닫기", "dismiss_all": "모두 해제", "empty": "알림 내용이 없습니다.", @@ -996,9 +1206,9 @@ "connection_lost": "서버와 연결이 끊어졌습니다. 다시 연결 중...", "dismiss": "해제", "service_call_failed": "{service} 서비스를 호출하지 못했습니다.", - "started": "Home Assistant 가 시작되었습니다!", - "starting": "Home Assistant 가 시작됩니다. 완료될 때까지 모든 기능을 사용할 수 있는 것은 아닙니다.", - "triggered": "{name} 트리거됨" + "started": "Home Assistant가 시작되었습니다!", + "starting": "Home Assistant가 시작됩니다. 완료될 때까지 모든 기능을 사용할 수 있는 것은 아닙니다.", + "triggered": "{name}이(가) 트리거됨" }, "panel": { "config": { @@ -1021,7 +1231,7 @@ "area_id": "영역 ID", "create": "만들기", "default_name": "새로운 영역", - "delete": "삭제", + "delete": "삭제하기", "name": "이름", "name_required": "이름은 필수 요소입니다", "unknown_error": "알 수 없는 오류", @@ -1031,7 +1241,7 @@ "create_area": "영역 만들기", "header": "영역", "integrations_page": "통합 구성요소 페이지", - "introduction": "영역은 기기가 있는 위치를 설정하는데 사용합니다. 이 정보는 인터페이스와 권한 그리고 다른 시스템과의 연동을 구성하는 데 도움이 되도록 Home Assistant 에 사용됩니다.", + "introduction": "영역은 기기가 있는 위치를 설정하는데 사용합니다. 이 정보는 인터페이스와 권한 그리고 다른 시스템과의 연동을 구성하는 데 도움이 되도록 Home Assistant에 사용됩니다.", "introduction2": "특정 영역에 기기를 배치하려면 아래 링크를 따라 통합 구성요소 페이지로 이동 한 다음 구성된 통합 구성요소를 클릭하여 기기 카드로 이동해주세요.", "no_areas": "등록된 영역이 없습니다. 거실, 침실과 같이 영역을 등록해보세요!" } @@ -1040,10 +1250,17 @@ "caption": "자동화", "description": "집에 대한 사용자 지정 동작 규칙을 만들고 관리합니다", "dialog_new": { + "blueprint": { + "use_blueprint": "블루프린트 사용하기" + }, + "header": "새로운 자동화 만들기", + "how": "새로운 자동화를 어떻게 만드시겠습니까?", "start_empty": "빈 자동화로 시작하기", "thingtalk": { "create": "만들기", - "input_label": "이 자동화로 무엇을 하시겠습니까?" + "header": "만들려는 자동화에 대해 알려주세요", + "input_label": "이 자동화로 무엇을 하시겠습니까?", + "intro": "그러면 알맞은 자동화를 만들어 드리겠습니다. 예: Turn the lights off when I leave." } }, "editor": { @@ -1053,7 +1270,7 @@ "delete_confirm": "정말 삭제하시겠습니까?", "duplicate": "복제", "header": "동작", - "introduction": "동작은 자동화가 트리거 될 때 Home Assistant 가 수행할 작업입니다.", + "introduction": "동작은 자동화가 트리거 될 때 Home Assistant가 수행할 작업입니다.", "learn_more": "동작에 대해 더 알아보기", "name": "동작", "type_select": "동작 유형", @@ -1078,13 +1295,16 @@ "action": "동작", "extra_fields": { "code": "코드", - "position": "위치" + "message": "메시지", + "position": "위치", + "title": "제목" }, "label": "기기" }, "event": { "event": "이벤트:", - "label": "이벤트 발행" + "label": "이벤트 발행", + "service_data": "서비스 데이터" }, "repeat": { "label": "반복", @@ -1213,8 +1433,8 @@ "label": "설명", "placeholder": "부가 설명" }, - "edit_ui": "UI 로 편집", - "edit_yaml": "YAML 로 편집", + "edit_ui": "UI로 편집하기", + "edit_yaml": "YAML로 편집하기", "enable_disable": "자동화 활성화 / 비활성화", "introduction": "자동화를 사용하여 집에 활기를 불어넣어 보세요.", "load_error_not_editable": "automations.yaml 의 자동화만 편집할 수 있습니다.", @@ -1224,7 +1444,7 @@ "queued": "대기열 길이" }, "modes": { - "description": "모드는 자동화가 이전 트리거에서 동작이 실행되는 동안 트리거될 때 실행되는 작업을 제어합니다. 자세한 내용은 {documentation_link} 을(를) 확인해주세요.", + "description": "모드는 자동화가 이전 트리거에서 동작이 실행되는 동안 트리거될 때 실행되는 작업을 제어합니다. 자세한 내용은 {documentation_link}을(를) 확인해주세요.", "documentation": "자동화 문서", "label": "모드", "parallel": "병렬", @@ -1241,7 +1461,7 @@ "delete_confirm": "정말 삭제하시겠습니까?", "duplicate": "복제", "header": "트리거", - "introduction": "트리거는 자동화 규칙을 처리하는 시작점입니다. 같은 자동화 규칙에 여러 개의 트리거를 지정할 수 있습니다. 트리거가 발동되면 Home Assistant 는 조건을 확인하고 동작을 호출합니다.", + "introduction": "트리거는 자동화 규칙을 처리하는 시작점입니다. 같은 자동화 규칙에 여러 개의 트리거를 지정할 수 있습니다. 트리거가 발동되면 Home Assistant는 조건을 확인하고 동작을 호출합니다.", "learn_more": "트리거에 대해 더 알아보기", "name": "트리거", "type_select": "트리거 유형", @@ -1341,21 +1561,21 @@ }, "picker": { "add_automation": "자동화 추가하기", - "delete_automation": "자동화 삭제", + "delete_automation": "자동화 삭제하기", "delete_confirm": "이 자동화를 삭제하시겠습니까?", "duplicate": "복제", "duplicate_automation": "자동화 복제", - "edit_automation": "자동화 편집", - "header": "자동화 편집", + "edit_automation": "자동화 편집하기", + "header": "자동화 편집기", "headers": { "name": "이름" }, - "introduction": "자동화 편집기를 사용하여 자동화를 작성하고 편집할 수 있습니다. 아래 링크를 따라 안내사항을 읽고 Home Assistant 를 올바르게 구성했는지 확인해보세요.", + "introduction": "자동화 편집기를 사용하여 자동화를 작성하고 편집할 수 있습니다. 아래 링크를 따라 안내사항을 읽고 Home Assistant를 올바르게 구성했는지 확인해보세요.", "learn_more": "자동화에 대해 더 알아보기", "no_automations": "편집 가능한 자동화를 찾을 수 없습니다", - "only_editable": "automations.yaml 에 정의 된 자동화 만 편집 할 수 있습니다.", + "only_editable": "automations.yaml에 정의 된 자동화 만 편집 할 수 있습니다.", "pick_automation": "편집할 자동화 선택", - "show_info_automation": "자동화에 대한 정보 표시" + "show_info_automation": "자동화에 대한 정보 표시하기" }, "thingtalk": { "create": "자동화 만들기", @@ -1367,7 +1587,7 @@ "task_selection": { "error_empty": "명령을 입력하거나 건너뛰기를 탭하세요.", "error_unsupported": "이를 위한 자동화를 만들 수 없습니다. (아직 지원되지 않습니다)", - "for_example": "예제: ", + "for_example": "예:", "header": "새로운 자동화 만들기", "introduction": "이 자동화가 수행할 작업을 아래에 입력하면 Home Assistant 자동화로 변환됩니다.", "language_note": "참고: 아직 영어만 지원됩니다." @@ -1376,11 +1596,13 @@ }, "blueprint": { "add": { + "community_forums": "커뮤니티 포럼", "error_no_url": "블루프린트의 URL 을 입력해주세요.", "file_name": "블루프린트 경로", "header": "블루프린트 가져오기", "import_btn": "블루프린트 미리보기", "import_header": "\"{name}\" 블루프린트", + "import_introduction_link": "Github 및 {community_link}에서 다른 사용자의 블루프린트를 가져올 수 있습니다. 블루프린트의 URL을 하단의 입력란에 입력해주세요.", "importing": "블루프린트를 읽는 중 ...", "raw_blueprint": "블루프린트 내용", "save_btn": "블루프린트 가져오기", @@ -1394,7 +1616,8 @@ "add_blueprint": "블루프린트 가져오기", "confirm_delete_header": "이 블루프린트를 삭제하시겠습니까?", "confirm_delete_text": "이 블루프린트를 삭제하시겠습니까?", - "delete_blueprint": "블루프린트 삭제", + "delete_blueprint": "블루프린트 삭제하기", + "discover_more": "더 많은 블루프린트를 찾아보기", "header": "블루프린트 편집기", "headers": { "domain": "도메인", @@ -1403,6 +1626,8 @@ }, "introduction": "블루프린트 구성을 사용하면 블루프린트를 가져오고 관리할 수 있습니다.", "learn_more": "블루프린트 사용에 대해 더 알아보기", + "share_blueprint": "블루프린트 공유하기", + "share_blueprint_no_url": "블루프린트를 공유할 수 없습니다: 소스 URL이 없습니다", "use_blueprint": "자동화 만들기" } }, @@ -1414,8 +1639,8 @@ "enable": "활성화", "enable_ha_skill": "Alexa 에 Home Assistant 스킬 사용하기", "enable_state_reporting": "상태 보고 활성화", - "info": "Home Assistant Cloud 의 Alexa 연동 기능으로 Alexa 가 지원하는 기기로서 Home Assistant 기기를 제어할 수 있습니다.", - "info_state_reporting": "상태 보고를 활성화하면 Home Assistant 는 노출된 구성요소의 모든 상태 변경 사항을 Amazon 에 보냅니다. 이를 통해 Alexa 앱에서 언제든지 구성요소의 최신 상태를 확인할 수 있으며, 상태 변경을 사용하여 루틴을 만들 수 있습니다.", + "info": "Home Assistant Cloud의 Alexa 연동 기능으로 Alexa 가 지원하는 기기로서 Home Assistant 기기를 제어할 수 있습니다.", + "info_state_reporting": "상태 보고를 활성화하면 Home Assistant는 노출된 구성요소의 모든 상태 변경 사항을 Amazon 에 보냅니다. 이를 통해 Alexa 앱에서 언제든지 구성요소의 최신 상태를 확인할 수 있으며, 상태 변경을 사용하여 루틴을 만들 수 있습니다.", "manage_entities": "구성요소 관리", "state_reporting_error": "상태 보고를 {enable_disable}할 수 없습니다.", "sync_entities": "구성요소를 Amazon 에 동기화", @@ -1433,8 +1658,8 @@ "enter_pin_error": "PIN 을 저장할 수 없습니다:", "enter_pin_hint": "보안 기기 사용 PIN 입력", "enter_pin_info": "보안 기기를 제어하기 위한 PIN 을 설정해주세요. 보안 기기란 현관문, 차고문, 도어락과 같은 기기입니다. Google 어시스턴트를 통해 이러한 기기를 제어할 때 PIN 을 입력하거나 말씀해주셔야 합니다.", - "info": "Home Assistant Cloud 의 Google 어시스턴트 연동 기능으로 Google 어시스턴트가 지원하는 기기로서 Home Assistant 기기를 제어할 수 있습니다.", - "info_state_reporting": "상태 보고를 활성화하면 Home Assistant 는 노출된 구성요소의 모든 상태 변경 사항을 Google 에 보냅니다. 이를 통해 Google 앱에서 언제든지 구성요소의 최신 상태를 확인할 수 있습니다.", + "info": "Home Assistant Cloud의 Google 어시스턴트 연동 기능으로 Google 어시스턴트가 지원하는 기기로서 Home Assistant 기기를 제어할 수 있습니다.", + "info_state_reporting": "상태 보고를 활성화하면 Home Assistant는 노출된 구성요소의 모든 상태 변경 사항을 Google 에 보냅니다. 이를 통해 Google 앱에서 언제든지 구성요소의 최신 상태를 확인할 수 있습니다.", "manage_entities": "구성요소 관리", "security_devices": "보안 기기", "sync_entities": "구성요소를 Google 에 동기화", @@ -1451,15 +1676,16 @@ "remote": { "access_is_being_prepared": "원격 액세스가 준비 중입니다. 준비가 되면 알려드리겠습니다.", "certificate_info": "인증서 정보", - "info": "Home Assistant Cloud 는 집 밖에서도 구성요소에 대한 안전한 원격 연결을 제공해드립니다.", + "info": "Home Assistant Cloud는 집 밖에서도 구성요소에 대한 안전한 원격 연결을 제공해드립니다.", "instance_is_available": "구성요소는 다음의 주소에서 사용할 수 있습니다.", "instance_will_be_available": "토글을 활성화하여 다음의 주소에서 구성요소를 사용해보세요.", "link_learn_how_it_works": "작동 방식에 대해 알아보기", "title": "원격 제어" }, "sign_out": "로그 아웃", - "thank_you_note": "Home Assistant Cloud 를 이용해주셔서 감사합니다. 여러분 덕분에 저희는 모든 분들에게 더 나은 홈 자동화를 제공해드릴 수 있습니다. 감사합니다!", + "thank_you_note": "Home Assistant Cloud를 이용해주셔서 감사합니다. 여러분 덕분에 저희는 모든 분들에게 더 나은 홈 자동화를 제공해드릴 수 있습니다. 감사합니다!", "tts": { + "default_language": "사용할 기본 언어", "dialog": { "example_message": "안녕하세요, {name}님. 지원되는 모든 미디어 플레이어에서 텍스트를 재생할 수 있습니다!", "header": "텍스트 음성 변환 사용해보기", @@ -1467,11 +1693,15 @@ "target": "대상", "target_browser": "브라우저" }, + "female": "여성", + "info": "텍스트 음성 변환 서비스를 이용하여 여러분의 집에 개성을 불어넣어보세요. 이 기능은 {service} 서비스를 사용하여 자동화 및 스크립트에서 사용할 수 있습니다.", + "male": "남성", + "title": "텍스트 음성 변환", "try": "사용해보기" }, "webhooks": { "disable_hook_error_msg": "웹 훅을 비활성화하지 못했습니다:", - "info": "웹 훅에 의해 트리거 되도록 구성된 모든 구성요소를 인터넷상에 공개 노출시키지 않고도 어디서나 Home Assistant 로 데이터를 보낼 수 있는 공개된 액세스가 가능한 URL 을 제공해드립니다.", + "info": "웹 훅에 의해 트리거 되도록 구성된 모든 구성요소를 인터넷상에 공개 노출시키지 않고도 어디서나 Home Assistant로 데이터를 보낼 수 있는 공개된 액세스가 가능한 URL 을 제공해드립니다.", "link_learn_more": "웹 훅 기반 자동화 생성에 대해 더 알아보기.", "loading": "읽는 중 ...", "manage": "관리", @@ -1483,20 +1713,20 @@ } }, "alexa": { - "banner": "configuration.yaml 에서 구성요소 필터를 구성했기 때문에 UI 에서 노출된 구성요소를 편집 할 수 없습니다.", + "banner": "configuration.yaml에서 구성요소 필터를 구성했으므로 이 UI를 통해 노출되는 구성요소는 편집할 수 없습니다.", "dont_expose_entity": "구성 요소 노출하지 않기", "expose": "Alexa 에 노출", "expose_entity": "구성 요소 노출하기", - "exposed": "{selected} 노출됨", + "exposed": "{selected}개의 구성요소가 노출됨", "exposed_entities": "노출된 구성요소", "follow_domain": "도메인 설정 따르기", "manage_domains": "도메인 관리", - "not_exposed": "{selected} 노출되지 않음", + "not_exposed": "{selected}개의 구성요소가 노출되지 않음", "not_exposed_entities": "노출되지 않은 구성요소", "title": "Alexa" }, "description_features": "집 밖에서도 집을 관리하고 Alexa 및 Google 어시스턴트와 연동시킵니다", - "description_login": "{email} 로(으로) 로그인 되어있습니다", + "description_login": "{email}(으)로 로그인 되어있습니다", "description_not_login": "로그인이 되어있지 않습니다", "dialog_certificate": { "certificate_expiration_date": "인증서 만료 날짜:", @@ -1526,16 +1756,16 @@ "title": "비밀번호 찾기" }, "google": { - "banner": "configuration.yaml 에서 구성요소 필터를 구성했기 때문에 UI 에서 노출된 구성요소를 편집 할 수 없습니다.", + "banner": "configuration.yaml에서 구성요소 필터를 구성했으므로 이 UI를 통해 노출되는 구성요소는 편집할 수 없습니다.", "disable_2FA": "2단계 인증 비활성화", "dont_expose_entity": "구성 요소 노출하지 않기", "expose": "Google 어시스턴트에 노출", "expose_entity": "구성 요소 노출하기", - "exposed": "{selected} 노출됨", + "exposed": "{selected}개의 구성요소가 노출됨", "exposed_entities": "노출된 구성요소", "follow_domain": "도메인 설정 따르기", "manage_domains": "도메인 관리", - "not_exposed": "{selected} 노출되지 않음", + "not_exposed": "{selected}개의 구성요소가 노출되지 않음", "not_exposed_entities": "노출되지 않은 구성요소", "sync_to_google": "변경 사항을 Google 에 동기화하는 중.", "title": "Google 어시스턴트" @@ -1547,11 +1777,11 @@ "email": "이메일", "email_error_msg": "이메일 형식이 잘못되었습니다", "forgot_password": "비밀번호가 기억나지 않으세요?", - "introduction": "Home Assistant Cloud 는 집 밖에서도 구성요소에 대한 안전한 원격 연결을 제공해드립니다. 또한 Amazon Alexa 및 Google 어시스턴트와 같은 클라우드 전용 서비스에 연결할 수 있습니다.", - "introduction2": "이 서비스는 Home Assistant 와 Hass.io 의 창립자가 설립한 회사인 ", + "introduction": "Home Assistant Cloud는 집 밖에서도 구성요소에 대한 안전한 원격 연결을 제공해드립니다. 또한 Amazon Alexa 및 Google 어시스턴트와 같은 클라우드 전용 서비스에 연결할 수 있습니다.", + "introduction2": "이 서비스는 Home Assistant와 Hass.io의 창립자가 설립한 회사인 ", "introduction2a": " 에 의해 운영되고 있습니다.", - "introduction3": "Home Assistant Cloud 는 1개월 무료 평가판이 포함된 구독 서비스입니다. 결제 정보는 필요하지 않습니다.", - "learn_more_link": "Home Assistant Cloud 에 대해 더 알아보기", + "introduction3": "Home Assistant Cloud는 1개월 무료 평가판이 포함된 구독 서비스입니다. 결제 정보는 필요하지 않습니다.", + "learn_more_link": "Home Assistant Cloud에 대해 더 알아보기", "password": "비밀번호", "password_error_msg": "비밀번호는 최소 8자 이상입니다", "sign_in": "로그인", @@ -1566,12 +1796,12 @@ "email_error_msg": "이메일 형식이 잘못되었습니다", "feature_amazon_alexa": "Amazon Alexa 연동", "feature_google_home": "Google 어시스턴트 연동", - "feature_remote_control": "집 밖에서 Home Assistant 를 제어", + "feature_remote_control": "집 밖에서 Home Assistant를 제어", "feature_webhook_apps": "OwnTracks 와 같은 웹 훅 기반 앱과 쉬운 연동", "headline": "1개월 무료 평가판 사용해 보기", "information": "1개월간 무료로 사용해 볼 수 있는 Home Assistant Cloud 계정을 만들어보세요. 결제 정보는 필요하지 않습니다.", - "information2": "평가판을 사용하면 다음을 포함하는 Home Assistant Cloud 의 모든 기능을 이용해 볼 수 있습니다:", - "information3": "이 서비스는 Home Assistant 와 Hass.io 의 창립자가 설립한 회사인 ", + "information2": "평가판을 사용하면 다음을 포함하는 Home Assistant Cloud의 모든 기능을 이용해 볼 수 있습니다:", + "information3": "이 서비스는 Home Assistant와 Hass.io의 창립자가 설립한 회사인 ", "information3a": " 에 의해 운영되고 있습니다.", "information4": "계정 등록은 다음 이용 약관의 동의를 포함합니다.", "link_privacy_policy": "개인 정보 정책", @@ -1594,7 +1824,7 @@ "section": { "core": { "core_config": { - "edit_requires_storage": "구성내용이 configuration.yaml 에 저장되어 있기 때문에 편집기가 비활성화 되었습니다.", + "edit_requires_storage": "구성내용이 configuration.yaml에 저장되어 있기 때문에 편집기가 비활성화되었습니다.", "elevation": "고도", "elevation_meters": "미터", "external_url": "외부 URL", @@ -1637,7 +1867,7 @@ } }, "devices": { - "add_prompt": "아직 이 기기로 추가 된 {name} 이(가) 없습니다. 위의 + 단추를 클릭하여 추가할 수 있습니다.", + "add_prompt": "아직 이 기기로 추가 된 {name}이(가) 없습니다. 위의 + 단추를 클릭하여 추가할 수 있습니다.", "automation": { "actions": { "caption": "뭔가 트리거 되었을 때....", @@ -1651,6 +1881,7 @@ "unknown_condition": "알 수 없는 조건" }, "create": "기기로 자동화 구성하기", + "create_disable": "비활성화된 기기로 자동화를 만들 수 없습니다", "no_automations": "자동화 없음", "no_device_automations": "이 기기에서 사용할 수 있는 자동화가 없습니다.", "triggers": { @@ -1663,8 +1894,9 @@ "cant_edit": "UI 에서 작성된 항목만 편집할 수 있습니다.", "caption": "기기", "confirm_delete": "이 기기를 삭제하시겠습니까?", + "confirm_disable_config_entry": "{entry_name} 구성 항목에 대한 기기가 더 이상 존재하지 않습니다. 구성 항목을 비활성화하시겠습니까?", "confirm_rename_entity_ids": "구성요소의 ID 이름 또한 바꾸시겠습니까?", - "confirm_rename_entity_ids_warning": "현재 이러한 구성요소를 사용하고 있는 구성 (자동화, 스크립트, 씬, 대시보드 등)은 변경되지 않습니다. 새로운 구성요소 ID 를 사용하려면 직접 업데이트해야 합니다.", + "confirm_rename_entity_ids_warning": "이렇게 해도 현재 이러한 구성요소를 사용하고 있는 구성(예: 자동화, 스크립트, 씬, 대시보드)은 변경되지 않습니다! 새 구성요소 ID를 사용하려면 직접 업데이트해야 합니다!", "data_table": { "area": "영역", "battery": "배터리", @@ -1674,35 +1906,47 @@ "model": "모델", "no_devices": "기기 없음" }, - "delete": "삭제", + "delete": "삭제하기", "description": "구성된 기기를 관리합니다", "device_info": "기기 정보", "device_not_found": "기기를 찾을 수 없습니다.", + "disabled": "비활성화됨", "disabled_by": { - "config_entry": "구성 항목" + "config_entry": "구성 항목", + "integration": "통합 구성요소", + "user": "사용자" }, + "enabled_cause": "{cause}에 의해 기기가 비활성화되었습니다.", + "enabled_description": "비활성화된 기기는 표시되지 않으며 기기에 속한 구성요소는 비활성화되고 Home Assistant에 추가되지 않습니다.", + "enabled_label": "기기 활성화하기", "entities": { "add_entities_lovelace": "Lovelace 에 추가하기", - "disabled_entities": "+{count} {count, plural,\n one {비활성화 된 구성요소}\n other {비활성화 된 구성요소}\n}", + "disabled_entities": "+{count} {count, plural,\n one{개의 비활성화된 구성요소}\n other{개의 비활성화된 구성요소}\n}", "entities": "구성요소", - "hide_disabled": "비활성화 된 구성요소 숨김", + "hide_disabled": "비활성화된 구성요소 숨기기", "none": "이 기기는 구성요소가 없습니다" }, "name": "이름", "no_devices": "기기 없음", "picker": { "filter": { - "hidden_devices": "{number} {number, plural,\n one { 개의 숨겨진 기기}\n other { 개의 숨겨진 기기}\n}" - } + "filter": "필터", + "hidden_devices": "{number} {number, plural,\n one{개의 숨겨진 기기}\n other{개의 숨겨진 기기}\n}", + "show_all": "모두 표시하기", + "show_disabled": "비활성화된 기기 표시하기" + }, + "search": "기기 찾기" }, "scene": { "create": "기기로 씬 구성하기", + "create_disable": "비활성화된 기기로 씬을 만들 수 없습니다", "no_scenes": "씬 없음", "scenes": "씬" }, "scenes": "씬", "script": { "create": "기기로 스크립트 작성하기", + "create_disable": "비활성화된 기기로 스크립트를 만들 수 없습니다", "no_scripts": "스크립트 없음", "scripts": "스크립트" }, @@ -1717,21 +1961,21 @@ "picker": { "disable_selected": { "button": "선택된 구성요소 비활성화", - "confirm_text": "비활성화 된 구성요소는 Home Assistant 에 추가되지 않습니다.", - "confirm_title": "{number} {number, plural,\n one { 개의 구성요소}\n other { 개의 구성요소}\n} 를 비활성화하시겠습니까?" + "confirm_text": "비활성화된 구성요소는 Home Assistant에 추가되지 않습니다.", + "confirm_title": "{number} {number, plural,\n one{개의 구성요소}\n other{개의 구성요소}\n}를 비활성화하시겠습니까?" }, "enable_selected": { "button": "선택된 구성요소 활성화", - "confirm_text": "이제 비활성화 된 경우 Home Assistant 에서 다시 사용할 수 있게 됩니다.", - "confirm_title": "{number} {number, plural,\n one { 개의 구성요소}\n other { 개의 구성요소}\n} 를 활성화하시겠습니까?" + "confirm_text": "비활성화된 구성요소는 Home Assistant에서 다시 사용할 수 있게 됩니다.", + "confirm_title": "{number} {number, plural,\n one{개의 구성요소}\n other{개의 구성요소}\n}를 활성화하시겠습니까?" }, "filter": { "filter": "필터", - "hidden_entities": "{number} {number, plural,\n one { 개의 숨겨진 구성요소}\n other { 개의 숨겨진 구성요소}\n}", - "show_all": "모두 표시", - "show_disabled": "비활성화 된 구성요소 표시", - "show_readonly": "읽기 전용 구성요소 표시", - "show_unavailable": "사용할 수 없는 구성요소 표시" + "hidden_entities": "{number} {number, plural,\n one{개의 숨겨진 구성요소}\n other{개의 숨겨진 구성요소}\n}", + "show_all": "모두 표시하기", + "show_disabled": "비활성화된 구성요소 표시하기", + "show_readonly": "읽기 전용 구성요소 표시하기", + "show_unavailable": "사용할 수 없는 구성요소 표시하기" }, "header": "구성요소", "headers": { @@ -1741,17 +1985,17 @@ "name": "이름", "status": "상태" }, - "introduction": "Home Assistant 는 구성요소의 식별을 위해 모든 구성요소에 고유한 레지스트리를 부여합니다. 각각의 구성요소들은 자신만의 고유한 구성요소 ID 를 가집니다.", - "introduction2": "구성요소 레지스트리를 사용하여 이름을 대체하거나 구성요소 ID 변경 또는 Home Assistant 에서 항목을 제거할 수 있습니다.", + "introduction": "Home Assistant는 구성요소의 식별을 위해 모든 구성요소에 고유한 레지스트리를 부여합니다. 각각의 구성요소들은 자신만의 고유한 구성요소 ID를 가집니다.", + "introduction2": "구성요소 레지스트리를 사용하여 이름을 대체하거나 구성요소 ID 변경 또는 Home Assistant에서 항목을 제거할 수 있습니다.", "remove_selected": { "button": "선택된 구성요소 제거하기", - "confirm_partly_text": "선택한 {selected} 개의 구성요소 중 {removable} 개의 구성요소를 제거할 수 있습니다. 통합 구성요소가 더 이상 구성요소를 제공하지 않는 경우에만 구성요소를 제거할 수 있으며, 제거된 통합 구성요소의 구성요소를 제거하기 전에 Home Assistant 를 다시 시작해야 할 수 있습니다. 제거 가능한 구성요소를 제거하시겠습니까?", - "confirm_partly_title": "선택된 {number} {number, plural,\n one { 개의 구성요소}\n other { 개의 구성요소}\n} 만 제거할 수 있습니다.", + "confirm_partly_text": "선택한 {selected}개의 구성요소 중 {removable}개의 구성요소를 제거할 수 있습니다. 통합 구성요소가 더 이상 구성요소를 제공하지 않는 경우에만 구성요소를 제거할 수 있으며, 제거된 통합 구성요소의 구성요소를 제거하기 전에 Home Assistant를 다시 시작해야 할 수 있습니다. 제거 가능한 구성요소를 제거하시겠습니까?", + "confirm_partly_title": "선택된 {number} {number, plural,\n one{개의 구성요소}\n other{개의 구성요소}\n} 만 제거할 수 있습니다.", "confirm_text": "이러한 구성요소가 포함된 경우 Lovelace 구성 및 자동화에서 제거해야 합니다.", - "confirm_title": "{number} {number, plural,\n one { 개의 구성요소}\n other { 개의 구성요소}\n} 를 제거하시겠습니까?" + "confirm_title": "{number} {number, plural,\n one{개의 구성요소}\n other{개의 구성요소}\n}를 제거하시겠습니까?" }, - "search": "구성요소 검색", - "selected": "{number} 개 선택됨", + "search": "구성요소 찾기", + "selected": "{number}개 선택됨", "status": { "disabled": "비활성화", "ok": "확인", @@ -1763,9 +2007,10 @@ }, "filtering": { "clear": "지우기", - "filtering_by": "필터링" + "filtering_by": "필터링", + "show": "표시하기" }, - "header": "Home Assistant 설정", + "header": "Home Assistant 구성", "helpers": { "caption": "도우미", "description": "자동화 구축에 도움이 되는 요소를 관리합니다", @@ -1782,7 +2027,7 @@ "name": "이름", "type": "유형" }, - "no_helpers": "아직 설정한 도우미가 없는 것 같습니다." + "no_helpers": "아직 구성한 도우미가 없는 것 같습니다." }, "types": { "counter": "계수기", @@ -1797,9 +2042,11 @@ "info": { "built_using": "다음을 사용하여 제작", "caption": "정보", + "copy_github": "GitHub 용", + "copy_raw": "일반 텍스트", "custom_uis": "사용자 UI :", - "description": "버전, 시스템 상태 및 문서에 대한 링크입니다", - "developed_by": "Home Assistant 는 수많은 멋진 사람들에 의해 개발되었습니다.", + "description": "버전, 시스템 상태 및 관련 문서에 대한 링크입니다", + "developed_by": "Home Assistant는 수많은 멋진 사람들에 의해 개발되었습니다.", "documentation": "관련 문서", "frontend": "프런트엔드-UI", "frontend_version": "프런트엔드 버전: {version} - {type}", @@ -1808,19 +2055,19 @@ "integrations": "통합 구성요소", "issues": "이슈", "license": "Apache 2.0 License 에 따라 게시", - "path_configuration": "configuration.yaml 의 위치: {path}", + "path_configuration": "configuration.yaml의 위치: {path}", "server": "서버", "source": "소스:", "system_health_error": "시스템 상태보기 구성요소가 로드되지 않았습니다. configuration.yaml 에 'system_health:' 를 추가해주세요.", "system_health": { - "manage": "관리", + "manage": "관리하기", "more_info": "추가 정보" } }, "integration_panel_move": { "link_integration_page": "통합 구성요소 페이지", - "missing_zha": "ZHA 구성 패널이 보이지 않으신가요? {integrations_page} 의 ZHA 항목으로 이동되었습니다.", - "missing_zwave": "Z-Wave 구성 패널이 보이지 않으신가요? {integrations_page} 의 ZHA 항목으로 이동되었습니다." + "missing_zha": "ZHA 구성 패널이 보이지 않으신가요? {integrations_page}의 ZHA 항목으로 이동되었습니다.", + "missing_zwave": "Z-Wave 구성 패널이 보이지 않으신가요? {integrations_page}의 ZHA 항목으로 이동되었습니다." }, "integrations": { "add_integration": "통합 구성요소 추가하기", @@ -1828,12 +2075,24 @@ "caption": "통합 구성요소", "config_entry": { "area": "{area}에 위치", - "delete": "삭제", + "delete": "삭제하기", "delete_confirm": "이 통합 구성요소를 제거하시겠습니까?", "device_unavailable": "기기 사용불가", - "devices": "{count} {count, plural,\none {기기}\nother {기기}\n}", + "devices": "{count} {count, plural,\none{개의 기기}\nother{개의 기기}\n}", + "disable_restart_confirm": "이 통합 구성요소를 비활성화하려면 Home Assistant를 다시 시작해주세요", + "disable": { + "disable_confirm": "이 구성 항목을 비활성화하시겠습니까? 해당 기기 및 구성요소가 비활성화됩니다.", + "disabled": "비활성화됨", + "disabled_by": { + "device": "기기", + "integration": "통합 구성요소", + "user": "사용자" + }, + "disabled_cause": "{cause}에 의해 비활성화되었습니다" + }, "documentation": "관련 문서", - "entities": "{count} {count, plural,\none {구성요소}\nother {구성요소}\n}", + "enable_restart_confirm": "이 통합 구성요소를 활성화하려면 Home Assistant를 다시 시작해주세요", + "entities": "{count} {count, plural,\none{개의 구성요소}\nother{개의 구성요소}\n}", "entity_unavailable": "구성요소 사용불가", "firmware": "펌웨어: {version}", "hub": "연결 경유 대상", @@ -1842,18 +2101,20 @@ "options": "옵션", "reload": "다시 읽어오기", "reload_confirm": "통합 구성요소를 다시 읽어 들였습니다", - "reload_restart_confirm": "이 통합 구성요소를 다시 읽어 들일려면 Home Assistant 를 다시 시작해주세요", + "reload_restart_confirm": "이 통합 구성요소를 다시 읽어 들일려면 Home Assistant를 다시 시작해주세요", "rename": "이름 변경", - "restart_confirm": "이 통합 구성요소를 제거하려면 Home Assistant 를 다시 시작해주세요", - "services": "{count} {count, plural,\n one {서비스}\n other {서비스}\n}", + "restart_confirm": "이 통합 구성요소를 제거하려면 Home Assistant를 다시 시작해주세요", + "services": "{count} {count, plural,\n one{개의 서비스}\n other{개의 서비스}\n}", "system_options": "시스템 옵션", "unnamed_entry": "이름이 없는 항목" }, "config_flow": { "aborted": "취소됨", "close": "닫기", - "created_config": "{name} 에 대한 구성을 만들었습니다.", + "could_not_load": "구성 흐름을 읽어 들일 수 없습니다", + "created_config": "{name}에 대한 구성을 만들었습니다.", "dismiss": "대화창 닫기", + "error": "에러", "error_saving_area": "영역 저장 오류: {error}", "external_step": { "description": "이 단계는 외부 웹사이트 방문이 필요합니다.", @@ -1862,41 +2123,50 @@ "finish": "완료", "loading_first_time": "통합 구성요소가 설치되는 동안 기다려주세요", "not_all_required_fields": "필수 입력란이 모두 채워지지 않았습니다.", + "pick_flow_step": { + "new_flow": "아니요, 다른 {integration}의 인스턴스를 설정합니다", + "title": "이걸 발견했습니다. 설치하시겠습니까?" + }, "submit": "확인" }, - "configure": "설정하기", - "configured": "설정된 통합 구성요소", - "confirm_new": "{integration} 을(를) 설정하시겠습니까?", + "configure": "구성하기", + "configured": "구성된 통합 구성요소", + "confirm_new": "{integration}을(를) 설정하시겠습니까?", "description": "통합 구성요소를 관리합니다", "details": "통합 구성요소 상세정보", + "disable": { + "disabled_integrations": "{number}개의 비활성화된 통합 구성요소", + "hide_disabled": "비활성화된 통합 구성요소 숨기기", + "show_disabled": "비활성화된 통합 구성요소 표시하기" + }, "discovered": "발견된 구성요소", "home_assistant_website": "Home Assistant 웹 사이트", "ignore": { "confirm_delete_ignore": "이렇게 하면 발견된 통합 구성요소가 발견될 때, 발견된 통합 구성요소에 다시 나타나게 됩니다. 다시 시작해야 하거나 시간이 걸릴 수 있습니다.", "confirm_delete_ignore_title": "{name} 무시를 중지하시겠습니까?", - "confirm_ignore": "이 통합 구성요소의 설정을 하지 않으시겠습니까? 오른쪽 상단의 오버플로 메뉴에서 '무시된 통합 구성요소 표시' 를 클릭하여 이 작업을 취소할 수 있습니다.", + "confirm_ignore": "이 통합 구성요소의 설정을 하지 않으시겠습니까? 오른쪽 상단의 오버플로 메뉴에서 '무시된 통합 구성요소 표시하기' 를 클릭하여 이 작업을 취소할 수 있습니다.", "confirm_ignore_title": "발견된 {name} 기기를 무시하시겠습니까?", - "hide_ignored": "무시된 통합 구성요소 숨김", + "hide_ignored": "무시된 통합 구성요소 숨기기", "ignore": "무시", "ignored": "무시된 통합 구성요소", - "show_ignored": "무시된 통합 구성요소 표시", + "show_ignored": "무시된 통합 구성요소 표시하기", "stop_ignore": "무시 중지하기" }, "integration": "통합 구성요소", "integration_not_found": "통합 구성요소를 찾을 수 없습니다.", "new": "새로운 통합 구성요소 설정", "no_integrations": "아직 통합 구성요소를 구성하지 않은 것 같습니다. 첫 번째 통합 구성요소를 추가하려면 아래 버튼을 클릭해주세요!", - "none": "설정된 통합 구성요소가 없습니다", + "none": "구성된 통합 구성요소가 없습니다", "none_found": "통합 구성요소를 찾을 수 없습니다", "none_found_detail": "검색 대상을 확인해주세요.", - "note_about_integrations": "아직 UI 에서 모든 통합 구성요소를 구성할 수 있는 것은 아닙니다.", + "note_about_integrations": "아직 모든 통합 구성요소를 UI를 통해 구성할 수 없습니다.", "note_about_website_reference": "더 많은 구성요소는 다음에서 살펴 봐주세요. ", - "reconfigure": "재구성", + "reconfigure": "재구성하기", "rename_dialog": "이 구성 항목의 이름을 편집하기", "rename_input_label": "구성 항목의 이름", - "search": "통합 구성요소 검색" + "search": "통합 구성요소 찾기" }, - "introduction": "이 뷰에서 구성요소와 Home Assistant 를 설정할 수 있습니다. 아직 여기서 모두 설정할 수는 없지만, 모든 내용을 설정할 수 있도록 작업 중입니다.", + "introduction": "이 뷰에서 구성요소와 Home Assistant를 구성할 수 있습니다. 아직 여기서 모든 것을 구성할 수는 없지만, 모든 내용을 구성할 수 있도록 작업 중입니다.", "logs": { "caption": "로그", "clear": "지우기", @@ -1904,7 +2174,7 @@ "details": "로그 상세정보 ({level})", "load_full_log": "Home Assistant 로그 전부 불러오기", "loading_log": "오류 로그를 읽는 중...", - "multiple_messages": "{time} 에 처음 발생했으며, {counter} 번 발생했습니다.", + "multiple_messages": "{time}에 처음 발생했으며, {counter}번 발생했습니다.", "no_errors": "보고된 오류가 없습니다.", "no_issues": "새롭게 보고된 문제가 없습니다!", "refresh": "새로고침" @@ -1912,8 +2182,8 @@ "lovelace": { "caption": "Lovelace 대시보드", "dashboards": { - "cant_edit_default": "기본 Lovelace 대시보드는 UI 에서 편집할 수 없습니다. 다른 대시보드를 기본값으로 설정하여 숨길 수 있습니다.", - "cant_edit_yaml": "YAML 에서 정의된 대시보드는 UI 에서 편집할 수 없습니다. configuration.yaml 파일에서 수정해주세요.", + "cant_edit_default": "기본 Lovelace 대시보드는 UI에서 편집할 수 없습니다. 다른 대시보드를 기본값으로 설정하여 숨길 수 있습니다.", + "cant_edit_yaml": "YAML에서 정의된 대시보드는 UI에서 편집할 수 없습니다. configuration.yaml 파일에서 수정해주세요.", "caption": "대시보드", "conf_mode": { "storage": "UI 제어", @@ -1923,15 +2193,15 @@ "default_dashboard": "기본 대시보드입니다", "detail": { "create": "만들기", - "delete": "삭제", + "delete": "삭제하기", "dismiss": "닫기", - "edit_dashboard": "대시보드 편집", + "edit_dashboard": "대시보드 편집하기", "icon": "아이콘", "new_dashboard": "새로운 대시보드 추가하기", "remove_default": "이 기기에서 기본값으로 제거하기", "require_admin": "관리자 전용", "set_default": "이 기기에서 기본값으로 설정", - "show_sidebar": "사이드바에 표시", + "show_sidebar": "사이드바에 표시하기", "title": "제목", "title_required": "제목은 필수 요소입니다", "update": "업데이트", @@ -1945,7 +2215,7 @@ "default": "기본값", "filename": "파일 이름", "require_admin": "관리자 전용", - "sidebar": "사이드바에 표시", + "sidebar": "사이드바에 표시하기", "title": "제목" }, "open": "열기" @@ -1958,7 +2228,7 @@ "confirm_delete": "이 리소스를 삭제하시겠습니까?", "detail": { "create": "만들기", - "delete": "삭제", + "delete": "삭제하기", "dismiss": "닫기", "new_resource": "새로운 리소스 추가하기", "type": "리소스 유형", @@ -1987,11 +2257,11 @@ } }, "mqtt": { - "button": "설정", + "button": "구성하기", "description_listen": "토픽 내용 들어보기", "description_publish": "패킷 발행", "listening_to": "토픽 청취 중", - "message_received": "{time} 에 {id} 메시지가 {topic} 에 수신되었습니다.", + "message_received": "{time}에 {id} 메시지가 {topic}에 수신되었습니다.", "payload": "페이로드 (템플릿 허용)", "publish": "발행", "start_listening": "청취 시작", @@ -2001,7 +2271,7 @@ "topic": "토픽" }, "ozw": { - "button": "설정", + "button": "구성하기", "common": { "controller": "컨트롤러", "instance": "인스턴스", @@ -2029,7 +2299,7 @@ "network_status": { "details": { "driverallnodesqueried": "모든 노드가 쿼리되었습니다", - "driverallnodesqueriedsomedead": "모든 노드가 쿼리되었습니다. 일부 노드는 죽은 것으로 발견되었습니다.", + "driverallnodesqueriedsomedead": "모든 노드가 쿼리 되었습니다. 일부 노드는 작동하지 않는 것으로 발견되었습니다", "driverawakenodesqueries": "모든 절전모드 해제 노드가 쿼리되었습니다.", "driverfailed": "Z-Wave 컨트롤러에 연결하지 못했습니다", "driverready": "Z-Wave 컨트롤러 초기화 중", @@ -2049,7 +2319,7 @@ "network": { "header": "네트워크 관리", "introduction": "네트워크 전체 기능을 관리합니다.", - "node_count": "{count} 개 노드" + "node_count": "{count}개 노드" }, "node_config": { "header": "노드 구성", @@ -2095,7 +2365,7 @@ "battery_note": "노드가 배터리 전원을 사용하는 경우 계속하기 전에 절전 모드가 해제되어 있는지 확인해주세요", "button": "노드 새로고침", "complete": "노드 새로고침 완료", - "description": "OpenZWave 가 노드를 다시 인터뷰하고 노드의 명령 클래스, 기능 및 값을 업데이트하도록 지시합니다.", + "description": "OpenZWave가 노드를 다시 인터뷰하고 노드의 명령 클래스, 기능 및 값을 업데이트하도록 지시합니다.", "node_status": "노드 상태", "refreshing_description": "노드 정보를 새로고침 하는 중...", "start_refresh_button": "새로고침 시작", @@ -2107,7 +2377,7 @@ "select_instance": { "header": "OpenZWave 인스턴스 선택", "introduction": "둘 이상의 OpenZWave 인스턴스가 실행 중입니다. 어떤 인스턴스를 관리하시겠습니까?", - "none_found": "OpenZWave 인스턴스를 찾을 수 없습니다. 이 상황이 잘못되었다고 생각되시면 OpenZWave 및 MQTT 설정을 확인하고 Home Assistant 가 MQTT 브로커와 통신할 수 있는지 확인해주세요." + "none_found": "OpenZWave 인스턴스를 찾을 수 없습니다. 이 상황이 잘못되었다고 생각되시면 OpenZWave 및 MQTT 설정을 확인하고 Home Assistant가 MQTT 브로커와 통신할 수 있는지 확인해주세요." }, "services": { "add_node": "노드 추가하기", @@ -2121,13 +2391,13 @@ "confirm_delete": "이 구성원을 삭제하시겠습니까?", "confirm_delete2": "이 구성원에게 속한 모든 기기는 비할당 상태로 남게됩니다.", "create_person": "구성원 만들기", - "description": "Home Assistant 가 추적하는 구성원을 관리합니다", + "description": "Home Assistant가 추적하는 구성원을 관리합니다", "detail": { "admin": "관리자", "allow_login": "로그인 허용", "confirm_delete_user": "{name} 구성원에 대한 사용자 계정을 삭제하시겠습니까? 여전히 해당 사용자를 추적할 수는 있지만 해당 구성원은 더 이상 로그인할 수 없습니다.", "create": "만들기", - "delete": "삭제", + "delete": "삭제하기", "device_tracker_intro": "이 구성원에게 속한 기기를 선택해주세요.", "device_tracker_pick": "추적 대상 기기 선택", "device_tracker_picked": "추적 대상 기기", @@ -2140,10 +2410,10 @@ "no_device_tracker_available_intro": "구성원의 재실 여부를 알려주는 기기가 있다면 구성원을 해당 기기에 할당할 수 있습니다. 통합 구성요소 페이지에서 재실 감지 통합 구성요소를 추가해서 기기를 구성해보세요.", "update": "업데이트" }, - "introduction": "Home Assistant 에서 추적할 구성원을 정의할 수 있습니다.", + "introduction": "Home Assistant에서 추적할 구성원을 정의할 수 있습니다.", "learn_more": "구성원에 대해 더 알아보기", "no_persons_created_yet": "아직 생성된 구성원이 없는 것 같습니다.", - "note_about_persons_configured_in_yaml": "참고: configuration.yaml 에서 구성된 구성원은 UI 에서 편집 할 수 없습니다.", + "note_about_persons_configured_in_yaml": "참고: configuration.yaml에서 구성된 구성원은 UI에서 편집할 수 없습니다.", "person_not_found": "편집하려는 구성원을 찾을 수 없습니다.", "person_not_found_title": "구성원을 찾을 수 없음" }, @@ -2155,13 +2425,13 @@ "default_name": "새로운 씬", "devices": { "add": "기기 추가하기", - "delete": "기기 삭제", + "delete": "기기 삭제하기", "header": "기기", "introduction": "씬에 포함시키려는 기기를 추가해주세요. 모든 기기를 이 씬에 원하는 상태로 설정해주세요." }, "entities": { "add": "구성요소 추가하기", - "delete": "구성요소 삭제", + "delete": "구성요소 삭제하기", "device_entities": "기기에 속하는 구성요소를 추가하면 해당 기기가 추가됩니다.", "header": "구성요소", "introduction": "기기에 속하지 않은 구성요소는 여기에서 설정할 수 있습니다.", @@ -2169,7 +2439,7 @@ }, "icon": "아이콘", "introduction": "씬을 사용하여 집에 활기를 불어넣어 보세요.", - "load_error_not_editable": "scenes.yaml 의 씬 만 편집할 수 있습니다.", + "load_error_not_editable": "scenes.yaml의 씬 만 편집할 수 있습니다.", "load_error_unknown": "씬 불러오기 오류: ({err_no}).", "name": "이름", "save": "저장", @@ -2178,18 +2448,18 @@ "picker": { "add_scene": "씬 추가하기", "delete_confirm": "이 씬을 삭제하시겠습니까?", - "delete_scene": "씬 삭제", - "edit_scene": "씬 편집", + "delete_scene": "씬 삭제하기", + "edit_scene": "씬 편집하기", "header": "씬 편집기", "headers": { "name": "이름" }, - "introduction": "씬 편집기를 사용하여 씬을 작성하고 편집 할 수 있습니다. 아래 링크를 따라 안내사항을 읽고 Home Assistant 를 올바르게 구성했는지 확인해보세요.", + "introduction": "씬 편집기를 사용하여 씬을 작성하고 편집 할 수 있습니다. 아래 링크를 따라 안내사항을 읽고 Home Assistant를 올바르게 구성했는지 확인해보세요.", "learn_more": "씬에 대해 더 알아보기", "no_scenes": "편집 가능한 씬을 찾을 수 없습니다", - "only_editable": "scenes.yaml 에 정의 된 씬 만 편집 할 수 있습니다.", - "pick_scene": "편집 할 씬 선택", - "show_info_scene": "씬에 대한 정보 표시" + "only_editable": "scenes.yaml에 정의 된 씬 만 편집 할 수 있습니다.", + "pick_scene": "편집할 씬 선택하기", + "show_info_scene": "씬에 대한 정보 표시하기" } }, "script": { @@ -2199,12 +2469,12 @@ "alias": "이름", "default_name": "새로운 스크립트", "delete_confirm": "이 스크립트를 삭제하시겠습니까?", - "delete_script": "스크립트 삭제", + "delete_script": "스크립트 삭제하기", "header": "스크립트: {name}", "icon": "아이콘", "id": "구성요소 ID", - "id_already_exists": "ID 가 이미 존재합니다", - "id_already_exists_save_error": "고유한 ID 가 아니므로 이 스크립트를 저장할 수 없습니다. 다른 ID 를 선택하거나 자동생성하려면 비워두세요.", + "id_already_exists": "ID가 이미 존재합니다", + "id_already_exists_save_error": "고유한 ID가 아니므로 이 스크립트를 저장할 수 없습니다. 다른 ID를 선택하거나 자동생성하려면 비워두세요.", "introduction": "스크립트를 사용하여 일련의 동작을 실행합니다.", "link_available_actions": "사용가능한 동작에 대해 더 알아보기.", "load_error_not_editable": "scripts.yaml 의 스크립트만 편집할 수 있습니다.", @@ -2213,7 +2483,7 @@ "queued": "대기열 길이" }, "modes": { - "description": "모드는 스크립트가 하나 이상의 이전 호출에서 계속 실행되는 동안 스크립트가 호출될 때 실행되는 작업을 제어합니다. 자세한 내용은 {documentation_link} 을(를) 확인해주세요.", + "description": "모드는 스크립트가 하나 이상의 이전 호출에서 계속 실행되는 동안 스크립트가 호출될 때 실행되는 작업을 제어합니다. 자세한 내용은 {documentation_link}을(를) 확인해주세요.", "documentation": "스크립트 문서", "label": "모드", "parallel": "병렬", @@ -2228,16 +2498,17 @@ "picker": { "add_script": "스크립트 추가하기", "duplicate": "복제", - "edit_script": "스크립트 편집", + "duplicate_script": "스크립트 복제하기", + "edit_script": "스크립트 편집하기", "header": "스크립트 편집기", "headers": { "name": "이름" }, - "introduction": "스크립트 편집기를 사용하여 스크립트를 작성하고 편집할 수 있습니다. 아래 링크를 따라 안내사항을 읽고 Home Assistant 를 올바르게 구성했는지 확인해보세요.", + "introduction": "스크립트 편집기를 사용하여 스크립트를 작성하고 편집할 수 있습니다. 아래 링크를 따라 안내사항을 읽고 Home Assistant를 올바르게 구성했는지 확인해보세요.", "learn_more": "스크립트에 대해 더 알아보기", "no_scripts": "편집 가능한 스크립트를 찾을 수 없습니다", "run_script": "스크립트 실행", - "show_info": "스크립트에 대한 정보 표시" + "show_info": "스크립트에 대한 정보 표시하기" } }, "server_control": { @@ -2290,7 +2561,7 @@ "validation": { "check_config": "구성 내용 확인", "heading": "구성 내용 유효성 검사", - "introduction": "최근에 구성 내용을 추가 혹은 변경하셨다면, 구성 내용 확인 버튼을 눌러 구성 내용이 올바른지 검사하고 Home Assistant 가 정상 작동 되는지 확인하실 수 있습니다.", + "introduction": "최근에 구성 내용을 추가 혹은 변경하셨다면, 구성 내용 확인 버튼을 눌러 구성 내용이 올바른지 검사하고 Home Assistant가 정상 작동 되는지 확인하실 수 있습니다.", "invalid": "구성 내용이 잘못되었습니다", "valid": "구성 내용이 모두 올바릅니다!" } @@ -2308,16 +2579,16 @@ "companion_apps": "지원하는 앱", "create": "만들기", "create_and_write": "만들고 쓰기", - "delete": "삭제", + "delete": "삭제하기", "description": "상세정보", "name": "이름", "new_tag": "새로운 태그", "tag_id": "태그 ID", "tag_id_placeholder": "비워두면 자동으로 생성됩니다", - "update": "업데이트", - "usage": "태그는 스캔될 때 자동화를 트리거할 수 있으며, NFC 태그, QR 코드 또는 다른 지원되는 모든 종류의 태그를 사용할 수 있습니다. {companion_link} 을(를) 사용하여 이 태그를 프로그래밍 가능한 NFC 태그에 쓰거나 아래에서 QR 코드를 만들어주세요." + "update": "업데이트하기", + "usage": "태그는 스캔될 때 자동화를 트리거할 수 있으며, NFC 태그, QR 코드 또는 다른 지원되는 모든 종류의 태그를 사용할 수 있습니다. {companion_link}을(를) 사용하여 이 태그를 프로그래밍 가능한 NFC 태그에 쓰거나 아래에서 QR 코드를 만들어주세요." }, - "edit": "편집", + "edit": "편집하기", "headers": { "last_scanned": "최근 검색 됨", "name": "이름" @@ -2336,14 +2607,15 @@ "password_not_match": "비밀번호가 일치하지 않습니다" }, "caption": "사용자", - "description": "사용자를 관리합니다", + "description": "Home Assistant 사용자 계정을 관리합니다", "editor": { "activate_user": "사용자 활성화", "active": "활성화", + "active_tooltip": "사용자가 로그인할 수 있는지 여부를 제어합니다", "admin": "관리자", "caption": "사용자 보기", "change_password": "비밀번호 변경", - "confirm_user_deletion": "{name} 을(를) 삭제하시겠습니까?", + "confirm_user_deletion": "{name}을(를) 삭제하시겠습니까?", "deactivate_user": "사용자 비활성화", "delete_user": "사용자 삭제하기", "group": "그룹", @@ -2378,10 +2650,10 @@ "discovered_text": "기기가 발견되면 여기에 표시됩니다.", "no_devices_found": "발견된 기기가 없습니다. 기기를 검색하는 동안 기기가 페어링 모드 상태이고 절전모드가 해제되어있는지 확인해주세요.", "pairing_mode": "기기가 페어링 모드인지 확인해주세요. 기기의 페어링 모드 설정 방법은 기기의 설명서를 참조해주세요.", - "search_again": "다시 검색", + "search_again": "다시 찾기", "spinner": "ZHA Zigbee 기기를 찾고있습니다..." }, - "button": "설정", + "button": "구성하기", "cluster_attributes": { "attributes_of_cluster": "선택된 클러스터의 속성", "get_zigbee_attribute": "Zigbee 속성 가져오기", @@ -2453,19 +2725,22 @@ }, "visualization": { "caption": "시각화", - "header": "네트워크 시각화" + "header": "네트워크 시각화", + "highlight_label": "기기를 강조 표시하기", + "refresh_topology": "토폴로지 새로고침", + "zoom_label": "기기로 확대하기" } }, "zone": { "add_zone": "지역 추가하기", "caption": "지역", - "configured_in_yaml": "configuration.yaml 에서 구성된 지역은 UI 에서 편집할 수 없습니다.", + "configured_in_yaml": "configuration.yaml에서 구성된 지역은 UI에서 편집할 수 없습니다.", "confirm_delete": "이 지역을 삭제하시겠습니까?", "create_zone": "지역 만들기", "description": "구성원을 추적할 지역을 관리합니다", "detail": { "create": "만들기", - "delete": "삭제", + "delete": "삭제하기", "icon": "아이콘", "icon_error_msg": "아이콘은 \"접두사:아이콘이름\" 형식이어야 합니다. 예: \"mdi:home\"", "latitude": "위도", @@ -2485,8 +2760,77 @@ "introduction": "지역을 사용하면 지구 상의 특정 위치를 지정할 수 있습니다. 구성원이 지역 내에 있으면 구성요소 상태에서 지역의 이름을 가져옵니다. 자동화 설정 내에서 지역을 트리거 또는 조건으로 사용할 수도 있습니다.", "no_zones_created_yet": "아직 설정한 지역이 없는 것 같습니다." }, + "zwave_js": { + "add_node": { + "cancel_inclusion": "포함 취소하기", + "controller_in_inclusion_mode": "Z-Wave 컨트롤러가 이제 포함 모드에 있습니다", + "follow_device_instructions": "기기에서 페어링을 트리거하려면 기기와 함께 제공된 지침을 따라주세요.", + "inclusion_failed": "노드를 추가할 수 없습니다. 자세한 내용은 로그를 확인해주세요.", + "inclusion_finished": "노드가 추가되었습니다. 백그라운드에서 노드 설정을 마치면 모든 구성요소가 표시되는 데 몇 분 정도 걸릴 수 있습니다.", + "introduction": "이 마법사는 Z-Wave 네트워크에 노드를 추가하는 과정을 안내해드립니다.", + "secure_inclusion_warning": "보안 기기에는 추가 대역폭이 필요합니다. 보안 기기가 너무 많으면 Z-Wave 네트워크의 속도가 느려질 수 있습니다. 잠금장치나 차고 문 열림과 같이 보안이 필요한 기기에만 보안 포함을 사용하는 것이 좋습니다.", + "start_inclusion": "포함 시작하기", + "start_secure_inclusion": "보안 포함 시작하기", + "title": "Z-Wave 노드 추가하기", + "use_secure_inclusion": "보안 포함 사용하기", + "view_device": "기기 보기" + }, + "button": "구성하기", + "common": { + "add_node": "노드 추가하기", + "close": "닫기", + "home_id": "집 ID", + "network": "네트워크", + "node_id": "노드 ID", + "remove_node": "노드 제거하기" + }, + "dashboard": { + "driver_version": "드라이버 버전", + "dump_dead_nodes_text": "일부 노드가 응답하지 않고 작동하지 않는 것 같습니다. 이러한 항목은 완전히 내보내지지 않습니다.", + "dump_dead_nodes_title": "일부 노드가 작동하지 않습니다", + "dump_debug": "문제 진단에 도움이 되는 네트워크 덤프 내려받기", + "dump_not_ready_confirm": "내려받기", + "dump_not_ready_text": "모든 노드가 준비되지 않은 상태에서 내보내기를 생성하면 필요한 데이터가 누락될 수 있습니다. 네트워크에 모든 노드를 쿼리 할 시간을 주세요. 덤프를 계속하시겠습니까?", + "dump_not_ready_title": "모든 노드가 아직 준비되지 않았습니다", + "header": "Z-Wave 네트워크를 관리합니다", + "home_id": "집 ID", + "introduction": "Z-Wave 네트워크 및 Z-Wave 노드를 관리합니다", + "nodes_ready": "노드 준비 완료", + "server_version": "서버 버전" + }, + "device_info": { + "node_ready": "노드 준비", + "node_status": "노드 상태", + "zwave_info": "Z-Wave 정보" + }, + "navigation": { + "network": "네트워크" + }, + "network_status": { + "connected": "연결됨", + "connecting": "연결 중", + "unknown": "알 수 없슴" + }, + "node_status": { + "alive": "사용가능", + "asleep": "절전", + "awake": "절전해제", + "dead": "사용불가", + "unknown": "알 수 없슴" + }, + "remove_node": { + "cancel_exclusion": "제외 취소하기", + "controller_in_exclusion_mode": "Z-Wave 컨트롤러가 이제 제외 모드에 있습니다", + "exclusion_failed": "노드를 제거할 수 없습니다. 자세한 내용은 로그를 확인해주세요.", + "exclusion_finished": "Z-Wave 네트워크에서 {id} 노드가 제거되었습니다.", + "follow_device_instructions": "기기에서 제외를 트리거하려면 기기와 함께 제공된 지침을 따라주세요.", + "introduction": "Z-Wave 네트워크에서 노드를 제거하고 Home Assistant에서 연결된 기기와 구성요소를 제거합니다.", + "start_exclusion": "제외 시작하기", + "title": "Z-Wave 노드 제거하기" + } + }, "zwave": { - "button": "설정", + "button": "구성하기", "common": { "index": "색인", "instance": "인스턴스", @@ -2528,7 +2872,7 @@ "add_to_group": "그룹에 추가하기", "entities": "이 노드의 구성요소", "entity_info": "구성요소 정보", - "exclude_entity": "Home Assistant 에서 이 구성요소 제외", + "exclude_entity": "Home Assistant에서 이 구성요소 제외", "group": "그룹", "header": "Z-Wave 노드 관리", "introduction": "단일 노드에 영향을 주는 Z-Wave 명령을 실행합니다. 사용 가능한 명령 목록을 보려면 노드를 선택해주세요.", @@ -2579,9 +2923,9 @@ }, "custom": { "external_panel": { - "complete_access": "Home Assistant 의 모든 데이터에 액세스 할 수 있습니다.", + "complete_access": "Home Assistant의 모든 데이터에 액세스 할 수 있습니다.", "hide_message": "이 메시지를 숨기려면 panel_custom 구성요소에 대한 문서를 확인해주세요", - "question_trust": "{link} 의 외부 패널 {name} 을(를) 신뢰하십니까?" + "question_trust": "{link}의 외부 패널 {name}을(를) 신뢰하십니까?" } }, "developer-tools": { @@ -2589,7 +2933,7 @@ "events": { "alert_event_type": "이벤트 유형은 필수 입력 요소입니다", "available_events": "사용 가능한 이벤트", - "count_listeners": " ({count} 청취객체)", + "count_listeners": " ({count}개의 청취객체)", "data": "이벤트 데이터 (YAML, 선택 사항)", "description": "이벤트 버스에서 이벤트를 발행합니다.", "documentation": "이벤트 문서 보기.", @@ -2605,17 +2949,23 @@ "type": "이벤트 유형" }, "services": { + "accepts_target": "이 서비스는 대상을 지정받습니다. 예: 'entity_id: light.bed_light'", + "all_parameters": "사용 가능한 모든 매개 변수", "call_service": "서비스 호출", "column_description": "상세정보", "column_example": "예제", "column_parameter": "매개 변수", - "description": "서비스 개발 도구를 사용하면 Home Assistant 에서 사용 가능한 서비스를 호출할 수 있습니다.", + "description": "서비스 개발 도구를 사용하면 Home Assistant에서 사용 가능한 서비스를 호출할 수 있습니다.", "fill_example_data": "예제 데이터를 입력란에 넣기", - "title": "서비스" + "title": "서비스", + "ui_mode": "UI 모드로 이동하기", + "yaml_mode": "YAML 모드로 이동하기", + "yaml_parameters": "매개 변수는 YAML 모드에서만 사용할 수 있습니다" }, "states": { "alert_entity_field": "구성요소는 필수 입력 요소입니다", "attributes": "속성", + "copy_id": "클립보드에 ID 복사하기", "current_entities": "구성요소 현재 상태", "description1": "Home Assistant 구성요소의 상태를 설정합니다.", "description2": "Home Assistant 내에서만 설정되며, 실제로 기기와 통신하는것은 아닙니다.", @@ -2634,7 +2984,7 @@ }, "templates": { "all_listeners": "이 템플릿은 모든 상태 변경 이벤트를 수신합니다.", - "description": "템플릿은 Home Assistant 의 특정 확장기능의 일부로써, Jinja2 템플릿 엔진을 사용하여 구성됩니다.", + "description": "템플릿은 Home Assistant의 특정 확장기능의 일부로써, Jinja2 템플릿 엔진을 사용하여 구성됩니다.", "domain": "도메인", "editor": "템플릿 편집기", "entity": "구성요소", @@ -2675,7 +3025,11 @@ "cards": { "actions": { "action_confirmation": "\"{action}\" 동작을 실행하시겠습니까?", - "no_service": "실행할 서비스가 지정되지 않았습니다" + "no_entity_more_info": "자세한 정보 대화상자에 구성요소가 제공되지 않았습니다", + "no_entity_toggle": "토글 할 구성요소가 제공되지 않았습니다", + "no_navigation_path": "탐색 경로가 지정되지 않았습니다", + "no_service": "실행할 서비스가 지정되지 않았습니다", + "no_url": "URL이 지정되지 않았습니다" }, "confirm_delete": "이 카드를 삭제하시겠습니까?", "empty_state": { @@ -2687,30 +3041,38 @@ "never_triggered": "트리거 된 적 없음" }, "picture-elements": { - "call_service": "{name} 서비스 호출", + "call_service": "{name} 서비스 호출하기", "hold": "누르고 있기:", - "more_info": "추가 정보 표시: {name}", - "navigate_to": "{location} 탐색", + "more_info": "자세한 정보 표시하기: {name}", + "navigate_to": "{location}(으)로 이동하기", "tap": "탭:", - "toggle": "{name} 토글", + "toggle": "{name} 토글하기", "url": "{url_path} 창 열기" }, "safe-mode": { - "description": "구성 내용을 읽어오는 중에 Home Assistant 에서 문제가 발생하여 안전 모드에서 실행 중입니다. 오류 로그를 참고하여 무엇이 잘못되었는지 확인해주세요.", + "description": "구성 내용을 읽어오는 중에 Home Assistant에서 문제가 발생하여 안전 모드에서 실행 중입니다. 오류 로그를 참고하여 무엇이 잘못되었는지 확인해주세요.", "header": "안전 모드 활성화" }, "shopping-list": { "add_item": "항목 추가하기", "checked_items": "선택한 항목", - "clear_items": "선택한 항목 삭제" + "clear_items": "선택한 항목 삭제하기", + "drag_and_drop": "끌어서 놓기", + "reorder_items": "항목 다시 정렬하기" }, "starting": { - "description": "Home Assistant 가 시작 중입니다. 잠시만 기다려주세요..." + "description": "Home Assistant가 시작 중입니다. 잠시만 기다려주세요..." } }, "changed_toast": { "message": "이 대시보드의 Lovelace UI 구성이 업데이트되었습니다. 새로 고치시겠습니까?" }, + "components": { + "timestamp-display": { + "invalid": "시간 표기가 잘못되었습니다", + "invalid_format": "표시 형식이 잘못되었습니다" + } + }, "editor": { "action-editor": { "actions": { @@ -2788,7 +3150,7 @@ "position": "위치", "tilt-position": "기울기" }, - "show_header_toggle": "헤더 토글 표시", + "show_header_toggle": "헤더 토글 표시하기", "special_row": "특별 행", "toggle": "구성요소 토글" }, @@ -2832,9 +3194,9 @@ "refresh_interval": "새로고침 간격", "search": "검색", "secondary_info_attribute": "보조 정보 속성", - "show_icon": "아이콘 표시", - "show_name": "이름 표시", - "show_state": "상태 표시", + "show_icon": "아이콘 표시하기", + "show_name": "이름 표시하기", + "show_state": "상태 표시하기", "state": "상태", "state_color": "상태에 따른 색상 아이콘", "tap_action": "탭 동작", @@ -2849,8 +3211,10 @@ "name": "한눈에 보기" }, "grid": { + "columns": "열", "description": "격자 모아보기 카드를 사용하면 한 격자에 여러 카드를 표시할 수 있습니다.", - "name": "격자 모아보기" + "name": "격자 모아보기", + "square": "카드를 정사각형으로 표시하기" }, "history-graph": { "description": "기록 그래프 카드를 사용하면 나열된 각 구성요소에 대한 그래프를 표시할 수 있습니다.", @@ -2865,7 +3229,7 @@ "name": "습도 조절기" }, "iframe": { - "description": "웹 페이지 카드를 사용하면 즐겨 찾는 웹 페이지를 Home Assistant 에 삽입할 수 있습니다.", + "description": "웹 페이지 카드를 사용하면 즐겨 찾는 웹 페이지를 Home Assistant에 삽입할 수 있습니다.", "name": "웹 페이지" }, "light": { @@ -2873,10 +3237,11 @@ "name": "조명" }, "logbook": { + "description": "로그북 카드에는 구성요소에 대한 이벤트 목록이 표시됩니다.", "name": "로그북" }, "map": { - "dark_mode": "어둡게 표시", + "dark_mode": "다크모드로 표시하기", "default_zoom": "기본 확대", "description": "지도 카드는 지도에 구성요소를 표시할 수 있습니다.", "geo_location_sources": "위치정보 소스", @@ -2918,7 +3283,7 @@ "description": "센서 카드는 시간 경과에 따라 상태 변화를 시각화하는 그래프 옵션을 통해 센서 상태에 대한 빠른 개요보기를 제공합니다.", "graph_type": "그래프 유형", "name": "센서", - "show_more_detail": "자세한 내용 표시" + "show_more_detail": "자세한 내용 표시하기" }, "shopping-list": { "description": "장보기 목록 카드를 사용하면 장보기 목록에서 항목을 추가, 편집, 확인 및 삭제를 할 수 있습니다.", @@ -2947,15 +3312,22 @@ "entity": "구성요소", "no_description": "상세정보가 없습니다" }, + "common": { + "add": "추가하기", + "clear": "지우기", + "edit": "편집하기", + "none": "없음" + }, "edit_badges": { "panel_mode": "이 뷰는 \"패널 모드\" 이므로 이 배지는 표시되지 않습니다." }, "edit_card": { "add": "카드 추가하기", + "clear": "지우기", "confirm_cancel": "취소하시겠습니까?", - "delete": "카드 삭제", + "delete": "카드 삭제하기", "duplicate": "카드 복사", - "edit": "편집", + "edit": "편집하기", "header": "카드 구성", "move": "다른 뷰로 이동", "move_after": "카드를 뒤로 이동", @@ -2963,7 +3335,7 @@ "options": "옵션 더보기", "pick_card": "어떤 카드를 추가하시겠습니까?", "pick_card_view_title": "{name} 뷰에 어떤 카드를 추가하시겠습니까?", - "search_cards": "카드 검색", + "search_cards": "카드 찾기", "show_code_editor": "코드 편집기 보기", "show_visual_editor": "비주얼 편집기 보기", "toggle_editor": "에디터 전환", @@ -2971,15 +3343,15 @@ "unsaved_changes": "저장하지 않은 변경 사항이 있습니다" }, "edit_lovelace": { - "edit_title": "제목 편집", + "edit_title": "제목 편집하기", "explanation": "이 제목은 Lovelace UI 모든 뷰의 상단에 표시됩니다.", "header": "Lovelace UI 의 제목", "title": "제목" }, "edit_view": { "add": "뷰 추가하기", - "delete": "뷰 삭제", - "edit": "뷰 편집", + "delete": "뷰 삭제하기", + "edit": "뷰 편집하기", "header": "구성 보기", "header_name": "{name} 뷰 구성", "move_left": "뷰를 왼쪽으로 이동", @@ -2991,7 +3363,23 @@ "select_users": "탐색에서 이 뷰를 볼 수 있는 사용자를 선택해주세요" } }, - "header": "UI 편집", + "header": "UI 편집하기", + "header-footer": { + "choose_header_footer": "{type} 선택하기", + "footer": "푸터", + "header": "헤더", + "types": { + "buttons": { + "name": "버튼" + }, + "graph": { + "name": "그래프" + }, + "picture": { + "name": "그림" + } + } + }, "menu": { "manage_dashboards": "대시보드 관리하기", "manage_resources": "리소스 관리하기", @@ -3001,7 +3389,7 @@ "migrate": { "header": "구성 내용이 호환되지 않습니다", "migrate": "구성 마이그레이션", - "para_migrate": "Home Assistant 는 '구성 마이그레이션' 버튼을 눌러 자동으로 모든 카드와 뷰에 ID를 추가할 수 있습니다.", + "para_migrate": "Home Assistant는 '구성 마이그레이션' 버튼을 눌러 자동으로 모든 카드와 뷰에 ID를 추가할 수 있습니다.", "para_no_id": "이 요소에는 ID가 없습니다. 'ui-lovelace.yaml' 에 요소의 ID를 추가해주세요." }, "move_card": { @@ -3013,10 +3401,12 @@ "confirm_unsaved_changes": "저장되지 않은 변경 사항이 있습니다. 종료하시겠습니까?", "confirm_unsaved_comments": "구성 내용에 주석이 포함되어 있지만 저장되지는 않습니다. 계속하시겠습니까?", "error_invalid_config": "구성이 잘못되었습니다: {error}", - "error_parse_yaml": "YAML 을 구문 분석할 수 없습니다: {error}", + "error_parse_yaml": "YAML을 구문 분석할 수 없습니다: {error}", "error_remove": "구성을 제거할 수 없습니다: {error}", - "error_save_yaml": "YAML 을 저장할 수 없습니다: {error}", - "header": "구성 코드 편집", + "error_save_yaml": "YAML을 저장할 수 없습니다: {error}", + "header": "구성 코드 편집하기", + "lovelace_changed": "Lovelace 구성이 업데이트되었습니다. 업데이트된 구성 내용을 편집기에서 읽어 들이고 현재 변경 내용을 버리시겠습니까?", + "reload": "다시 읽어오기", "resources_moved": "리소스는 더 이상 Lovelace 구성에서 추가할 수 없으며 Lovelace 구성 패널에서 추가할 수 있습니다.", "save": "저장하기", "saved": "저장되었습니다", @@ -3027,7 +3417,7 @@ "close": "닫기", "empty_config": "비어있는 대시보드로 시작", "header": "Lovelace UI 직접 관리하기", - "para": "이 대시보드는 현재 Home Assistant 에 의해 유지 관리되고 있습니다. 사용할 수 있는 새로운 구성요소나 Lovelace UI 구성요소가 있을 때 자동으로 업데이트됩니다. 사용자가 직접 관리하는 경우 이 대시보드는 더 이상 자동으로 업데이트되지 않습니다. 언제든지 설정에서 새로운 대시보드를 만들 수 있습니다.", + "para": "이 대시보드는 현재 Home Assistant에 의해 유지 관리되고 있습니다. 사용할 수 있는 새로운 구성요소나 Lovelace UI 구성요소가 있을 때 자동으로 업데이트됩니다. 사용자가 직접 관리하는 경우 이 대시보드는 더 이상 자동으로 업데이트되지 않습니다. 언제든지 설정에서 새로운 대시보드를 만들 수 있습니다.", "para_sure": "사용자 인터페이스를 직접 관리하시겠습니까?", "save": "직접 관리할게요", "yaml_config": "시작하는데 도움이 될 수 있는 대시보드의 현재 구성은 다음과 같습니다:", @@ -3036,7 +3426,14 @@ }, "select_view": { "dashboard_label": "대시보드", - "header": "뷰 선택" + "header": "뷰 선택하기" + }, + "sub-element-editor": { + "types": { + "footer": "푸터 편집기", + "header": "헤더 편집기", + "row": "구성요소 행 편집기" + } }, "suggest_card": { "add": "Lovelace UI 에 추가하기", @@ -3053,8 +3450,8 @@ }, "menu": { "close": "닫기", - "configure_ui": "대시보드 편집", - "exit_edit_mode": "UI 편집 모드 종료", + "configure_ui": "대시보드 편집하기", + "exit_edit_mode": "UI 편집 모드 나가기", "help": "도움말", "reload_resources": "리소스 다시 읽어오기", "start_conversation": "대화 시작" @@ -3071,7 +3468,7 @@ "entity_id": "구성요소 ID", "last_changed": "최근 변경 됨", "no_data": "미사용 구성요소가 없습니다", - "search": "구성요소 검색", + "search": "구성요소 찾기", "select_to_add": "카드에 추가 할 구성요소를 선택한 다음, 카드 추가 버튼을 클릭해주세요.", "title": "미사용 구성요소" }, @@ -3085,8 +3482,8 @@ "attribute_not_found": "{attribute} 속성을 사용할 수 없습니다: {entity}", "entity_non_numeric": "구성요소가 숫자형식이 아닙니다: {entity}", "entity_not_found": "구성요소를 사용할 수 없습니다: {entity}", - "entity_unavailable": "{entity} 은(는) 현재 사용할 수 없습니다", - "starting": "Home Assistant 가 시작됩니다. 완료될 때까지 모든 기능을 사용할 수 있는 것은 아닙니다." + "entity_unavailable": "{entity}은(는) 현재 사용할 수 없습니다", + "starting": "Home Assistant가 시작됩니다. 완료될 때까지 모든 기능을 사용할 수 있는 것은 아닙니다." } }, "mailbox": { @@ -3097,13 +3494,15 @@ }, "my": { "component_not_loaded": "이 리디렉션은 Home Assistant 인스턴스에서 지원되지 않습니다. 이 리디렉션을 사용하려면 {integration} 통합 구성요소가 필요합니다.", + "documentation": "관련 문서", "error": "알 수 없는 오류가 발생했습니다", - "faq_link": "자주 묻는 질문", - "not_supported": "이 리디렉션은 Home Assistant 인스턴스에서 지원되지 않습니다. {link} 에서 지원되는 리디렉션과 리디렉션이 도입된 버전을 확인해주세요." + "faq_link": "내 Home Assistant 자주 묻는 질문", + "no_supervisor": "이 리디렉션은 현재 설치된 Home Assistant에서 지원되지 않습니다. Home Assistant Operating System 또는 Home Assistant Supervised 방식으로 설치되어야 합니다. 자세한 내용은 {docs_link}을(를) 참조해주세요.", + "not_supported": "이 리디렉션은 Home Assistant 인스턴스에서 지원되지 않습니다. {link}에서 지원되는 리디렉션과 리디렉션이 도입된 버전을 확인해주세요." }, "page-authorize": { "abort_intro": "로그인이 중단되었습니다", - "authorizing_client": "{clientId} 에 Home Assistant 구성요소에 대한 액세스 권한을 부여하려고 합니다.", + "authorizing_client": "{clientId}에 Home Assistant 구성요소에 대한 액세스 권한을 부여하려고 합니다.", "form": { "error": "오류: {error}", "next": "다음", @@ -3114,7 +3513,7 @@ }, "error": { "invalid_auth": "사용자 이름 또는 비밀번호가 잘못되었습니다", - "invalid_code": "잘못된 인증 코드" + "invalid_code": "인증 코드가 잘못되었습니다" }, "step": { "init": { @@ -3127,7 +3526,7 @@ "data": { "code": "2단계 인증 코드" }, - "description": "2단계 인증 코드 및 신원을 확인하기 위해 기기에서 **{mfa_module_name}** 을(를) 열어주세요:" + "description": "2단계 인증 코드 및 신원을 확인하기 위해 기기에서 **{mfa_module_name}**을(를) 열어주세요:" } } }, @@ -3137,7 +3536,7 @@ }, "error": { "invalid_auth": "사용자 이름 또는 비밀번호가 잘못되었습니다", - "invalid_code": "잘못된 인증 코드" + "invalid_code": "인증 코드가 잘못되었습니다" }, "step": { "init": { @@ -3150,7 +3549,7 @@ "data": { "code": "2단계 인증 코드" }, - "description": "2단계 인증 코드 및 신원을 확인하기 위해 기기에서 **{mfa_module_name}** 을(를) 열어주세요:" + "description": "2단계 인증 코드 및 신원을 확인하기 위해 기기에서 **{mfa_module_name}**을(를) 열어주세요:" } } }, @@ -3161,7 +3560,7 @@ }, "error": { "invalid_auth": "API 비밀번호가 잘못되었습니다", - "invalid_code": "잘못된 인증 코드" + "invalid_code": "인증 코드가 잘못되었습니다" }, "step": { "init": { @@ -3174,7 +3573,7 @@ "data": { "code": "2단계 인증 코드" }, - "description": "2단계 인증 코드 및 신원을 확인하기 위해 기기에서 **{mfa_module_name}** 을(를) 열어주세요:" + "description": "2단계 인증 코드 및 신원을 확인하기 위해 기기에서 **{mfa_module_name}**을(를) 열어주세요:" } } }, @@ -3197,15 +3596,16 @@ "working": "잠시 기다려주세요" }, "initializing": "초기화 중", - "logging_in_with": "**{authProviderName}** 로(으로) 로그인 합니다.", + "logging_in_to_with": "**{authProviderName}**(으)로 **{locationName}**에 로그인 합니다.", + "logging_in_with": "**{authProviderName}**(으)로 로그인 합니다.", "pick_auth_provider": "또는 다음으로 로그인하세요" }, "page-demo": { "cards": { "demo": { - "demo_by": "{name} 님이 만듦", - "introduction": "집에 오신 것을 환영합니다! 커뮤니티에서 만든 멋진 UI 가 적용된 Home Assistant 를 소개합니다.", - "learn_more": "Home Assistant 에 대해 더 알아보기", + "demo_by": "{name}님이 만듦", + "introduction": "집에 오신 것을 환영합니다! 커뮤니티에서 만든 멋진 UI 가 적용된 Home Assistant를 소개합니다.", + "learn_more": "Home Assistant에 대해 더 알아보기", "next_demo": "다음 데모" } }, @@ -3248,7 +3648,7 @@ "core-config": { "button_detect": "탐색", "finish": "다음", - "intro": "{name} 님, 안녕하세요! Home Assistant 에 오신 것을 환영합니다. 집에 어떤 이름을 지어주시겠어요?", + "intro": "{name}님, 안녕하세요! Home Assistant에 오신 것을 환영합니다. 집에 어떤 이름을 지어주시겠어요?", "intro_location": "현재 살고 계시는 위치를 알려주세요. 이는 태양 위치를 기반으로 하는 자동화를 설정하는데 도움이 됩니다. 위치 정보는 외부 네트워크와 절대 공유되지 않습니다.", "intro_location_detect": "외부 서비스에 일회성 요청을 해서 위치 정보를 넣는데 도움을 드릴 수 있습니다.", "location_name": "설치된 Home Assistant 이름", @@ -3256,7 +3656,7 @@ }, "integration": { "finish": "완료", - "intro": "기기 및 서비스는 Home Assistant 에서 통합 구성요소로 표시됩니다. 지금 구성하거나 나중에 설정 화면에서 구성할 수 있습니다.", + "intro": "기기 및 서비스는 Home Assistant에서 통합 구성요소로 표시됩니다. 지금 구성하거나 나중에 설정 화면에서 구성할 수 있습니다.", "more_integrations": "더보기" }, "intro": "잠들어 있는 집을 깨우고 개인정보를 보호하며 전세계의 공돌이 커뮤니티에 가입 할 준비가 되셨나요?", @@ -3264,7 +3664,7 @@ "description": "이전 스냅샷에서 복원할 수 있습니다.", "hide_log": "전체 로그 숨기기", "in_progress": "복원 중", - "show_log": "전체 로그 표시" + "show_log": "전체 로그 표시하기" }, "user": { "create_account": "계정 만들기", @@ -3291,14 +3691,17 @@ "change_password": { "confirm_new_password": "새로운 비밀번호 확인", "current_password": "현재 비밀번호", + "error_new_is_old": "새로운 비밀번호는 현재 비밀번호와 달라야 합니다", + "error_new_mismatch": "입력한 새로운 비밀번호 값이 일치하지 않습니다", "error_required": "필수 요소", "header": "비밀번호 변경", "new_password": "새로운 비밀번호", - "submit": "변경하기" + "submit": "변경하기", + "success": "비밀번호가 변경되었습니다" }, - "current_user": "현재 {fullName} 로(으로) 로그인 한 상태 입니다.", + "current_user": "현재 {fullName}(으)로 로그인 한 상태 입니다.", "customize_sidebar": { - "button": "편집", + "button": "편집하기", "description": "사이드바의 헤더를 길게 눌러 편집 모드를 활성화할 수도 있습니다.", "header": "사이드바의 항목 순서 변경 및 숨기기" }, @@ -3328,7 +3731,7 @@ "confirm_delete": "{name} 액세스 토큰을 삭제하시겠습니까?", "create": "토큰 만들기", "create_failed": "액세스 토큰을 생성을 할 수 없습니다.", - "created": "{date} 에 생성 됨", + "created": "{date}에 생성 됨", "delete_failed": "액세스 토큰을 삭제할 수 없습니다.", "description": "스크립트가 Home Assistant 구성요소와 상호 작용할 수 있도록 장기 액세스 토큰을 생성하세요. 각 토큰은 생성 후 10년 동안 유효합니다. 현재 활성 상태인 장기 액세스 토큰은 다음과 같습니다.", "empty_state": "장기 액세스 토큰이 없습니다.", @@ -3340,13 +3743,13 @@ }, "mfa_setup": { "close": "닫기", - "step_done": "{step} 설정 완료", + "step_done": "{step} 설치가 완료되었습니다", "submit": "구성하기", "title_aborted": "취소됨", "title_success": "성공!" }, "mfa": { - "confirm_disable": "{name} 을(를) 비활성화하시겠습니까?", + "confirm_disable": "{name}을(를) 비활성화하시겠습니까?", "disable": "비활성화", "enable": "활성화", "header": "다단계 인증 모듈" @@ -3364,18 +3767,18 @@ "push_notifications": "푸시 알림" }, "refresh_tokens": { - "confirm_delete": "{name} 의 리프레시 토큰을 삭제하시겠습니까?", - "created_at": "{date} 에 생성 됨", - "current_token_tooltip": "현재 리프레시 토큰을 삭제할 수 없음", + "confirm_delete": "{name}의 리프레시 토큰을 삭제하시겠습니까?", + "created_at": "{date}에 생성 됨", + "current_token_tooltip": "현재 리프레시 토큰을 삭제할 수 없습니다", "delete_failed": "리프레시 토큰을 삭제할 수 없습니다.", "description": "각 리프레시 토큰은 로그인 세션을 나타냅니다. 로그아웃을 클릭하면 리프레시 토큰은 자동으로 제거됩니다. 다음의 리프레시 토큰이 현재 접속한 계정에 대해 활성화되어 있습니다.", "header": "리프레시 토큰", - "last_used": "{date} 에 {location} 에서 마지막으로 사용됨", + "last_used": "{date}에 {location}에서 마지막으로 사용됨", "not_used": "사용된 적이 없음", - "token_title": "{clientId} 의 리프레시 토큰" + "token_title": "{clientId}의 리프레시 토큰" }, "suspend": { - "description": "5 분 동안 기다렸다가 서버와의 연결을 종료시킵니다.", + "description": "Home Assistant UI를 5분 동안 보지 않는 경우 서버와의 연결을 종료시킵니다.", "header": "자동 연결 종료" }, "themes": { @@ -3398,7 +3801,7 @@ } }, "shopping_list": { - "start_conversation": "대화 시작" + "start_conversation": "대화 시작하기" } }, "sidebar": { diff --git a/translations/frontend/nb.json b/translations/frontend/nb.json index e9cce68034..c8b0b8def6 100644 --- a/translations/frontend/nb.json +++ b/translations/frontend/nb.json @@ -210,7 +210,7 @@ "install": "Installer", "new_update_available": "{name} {version} er tilgjengelig", "not_available_arch": "Dette tillegget er ikke kompatibelt med prosessoren på enheten din eller operativsystemet du har installert på enheten", - "not_available_version": "Du kjører Home Assistant {core_version_installed} , for å oppdatere til denne versjonen av tillegget trenger du minst versjon {core_version_needed} av Home Assistant", + "not_available_version": "Du kjører Home Assistant {core_version_installed}, for å oppdatere til denne versjonen av tillegget trenger du minst versjon {core_version_needed} av Home Assistant", "open_web_ui": "Åpne nettgrensesnitt", "option": { "auto_update": { @@ -365,7 +365,7 @@ } }, "my": { - "error": "Det oppstod en ukjent feil", + "error": "En ukjent feil har oppstått", "error_addon_not_found": "Tillegget ble ikke funnet", "faq_link": "Vanlige spørsmål om Min Home Assistant", "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." @@ -1626,6 +1626,8 @@ }, "introduction": "Med Blueprint-konfigurasjonen kan du importere og behandle dine Blueprinter", "learn_more": "Finn ut mer om hvordan du bruker Blueprinter", + "share_blueprint": "Del blueprint", + "share_blueprint_no_url": "Kan ikke dele blueprint: ingen kilde-url", "use_blueprint": "Opprett automasjon" } }, @@ -3493,7 +3495,7 @@ "my": { "component_not_loaded": "Denne viderekoblingen støttes ikke av Home Assistant-forekomsten. Du trenger integrasjonen {integration} å bruke denne viderekoblingen.", "documentation": "dokumentasjon", - "error": "Det oppstod en ukjent feil", + "error": "En ukjent feil har oppstått", "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 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." diff --git a/translations/frontend/pl.json b/translations/frontend/pl.json index 6e83d9c816..f39ded43bd 100644 --- a/translations/frontend/pl.json +++ b/translations/frontend/pl.json @@ -1626,6 +1626,8 @@ }, "introduction": "Konfiguracja schematów umożliwia ich importowanie i zarządzanie nimi.", "learn_more": "Dowiedz się więcej o używaniu schematów", + "share_blueprint": "Udostępnij schemat", + "share_blueprint_no_url": "Nie można udostępnić schematu: brak źródłowego adresu URL", "use_blueprint": "Utwórz automatyzację" } }, @@ -2079,7 +2081,7 @@ "devices": "{count} {count, plural,\n one {urządzenie}\n few {urządzenia}\n many {urządzeń}\n other {urządzeń}\n}", "disable_restart_confirm": "Zrestartuj Home Assistanta, aby zakończyć wyłączanie tej integracji", "disable": { - "disable_confirm": "Czy na pewno chcesz wyłączyć ten wpis? Jego urządzenia i instancje zostaną wyłączone.", + "disable_confirm": "Czy na pewno chcesz wyłączyć ten wpis w konfiguracji? Jego urządzenia i instancje zostaną wyłączone.", "disabled": "Wyłączone", "disabled_by": { "device": "Urządzenie", diff --git a/translations/frontend/ru.json b/translations/frontend/ru.json index 9ff5ea378d..cea3f71b17 100644 --- a/translations/frontend/ru.json +++ b/translations/frontend/ru.json @@ -144,7 +144,7 @@ "title": "AppArmor" }, "auth_api": { - "description": "Это дополнение может аутентифицировать пользователей с помощью Home Assistant, предоставляя возможность входить в приложения, работающие внутри дополнения, используя логин и пароль Home Assistant.", + "description": "Это дополнение может аутентифицировать пользователей с помощью Home Assistant, предоставляя возможность входить в приложения, работающие внутри дополнения, используя имя пользователя и пароль Home Assistant.", "title": "Аутентификация Home Assistant" }, "docker_api": { @@ -346,7 +346,7 @@ "remove": "Удалить", "title_add": "Добавить новый реестр контейнеров", "title_manage": "Управление реестрами контейнеров", - "username": "Логин" + "username": "Имя пользователя" }, "repositories": { "add": "Добавить", @@ -355,7 +355,7 @@ }, "restart_addon": { "confirm_text": "Перезапустить дополнение", - "text": "Вы хотите перезапустить дополнение с внесенными изменениями?" + "text": "Перезапустить дополнение с внесенными изменениями?" }, "update": { "create_snapshot": "Создайте снимок {name} перед обновлением", @@ -2112,7 +2112,7 @@ "aborted": "Отменено", "close": "Закрыть", "could_not_load": "Не удалось загрузить мастер настройки", - "created_config": "Создана конфигурация для {name}.", + "created_config": "Создана запись конфигурации {name}", "dismiss": "Закрыть", "error": "Ошибка", "error_saving_area": "Ошибка сохранения помещения: {error}", @@ -2629,7 +2629,7 @@ "system_generated_users_not_removable": "Системные пользователи защищены от удаления", "unnamed_user": "Безымянный пользователь", "update_user": "Обновить", - "username": "Логин" + "username": "Имя пользователя" }, "picker": { "add_user": "Добавить пользователя", @@ -2639,7 +2639,7 @@ "is_owner": "Владелец", "name": "Имя", "system": "Системный", - "username": "Логин" + "username": "Имя пользователя" } }, "users_privileges_note": "Функционал пользователей всё ещё в стадии разработки. В дальнейшем пользователи не смогут администрировать сервер через пользовательский интерфейс. Мы все еще проверяем все конечные точки API управления, чтобы убедиться, что они правильно ограничивают доступ." @@ -3512,14 +3512,14 @@ "login_expired": "Время сеанса истекло, пожалуйста войдите в систему снова." }, "error": { - "invalid_auth": "Неверный логин или пароль", + "invalid_auth": "Неверное имя пользователя или пароль", "invalid_code": "Неверный код аутентификации" }, "step": { "init": { "data": { "password": "Пароль", - "username": "Логин" + "username": "Имя пользователя" } }, "mfa": { @@ -3535,14 +3535,14 @@ "login_expired": "Время сеанса истекло, пожалуйста войдите в систему снова." }, "error": { - "invalid_auth": "Неверный логин или пароль", + "invalid_auth": "Неверное имя пользователя или пароль", "invalid_code": "Неверный код аутентификации" }, "step": { "init": { "data": { "password": "Пароль", - "username": "Логин" + "username": "Имя пользователя" } }, "mfa": { @@ -3672,7 +3672,7 @@ "name": "Имя", "password": "Пароль", "password_confirm": "Подтвердите пароль", - "username": "Логин" + "username": "Имя пользователя" }, "error": { "password_not_match": "Пароли не совпадают", diff --git a/translations/frontend/sv.json b/translations/frontend/sv.json index 4d031345bf..9fe126f709 100644 --- a/translations/frontend/sv.json +++ b/translations/frontend/sv.json @@ -105,6 +105,10 @@ "supervisor": { "addon": { "configuration": { + "audio": { + "default": "Standard", + "header": "Ljud" + }, "network": { "container": "Behållare", "disabled": "Inaktiverad", diff --git a/translations/frontend/zh-Hans.json b/translations/frontend/zh-Hans.json index 05e8c553b7..9c980cfe08 100644 --- a/translations/frontend/zh-Hans.json +++ b/translations/frontend/zh-Hans.json @@ -158,12 +158,35 @@ "no_addons": "您尚未安装任何加载项。去加载项商店看看吧!" }, "dialog": { + "network": { + "connected_to": "已连接到 {ssid}", + "dhcp": "DHCP", + "disabled": "已禁用", + "dns_servers": "DNS 服务器", + "failed_to_change": "更改网络设置失败", + "gateway": "网关地址", + "ip_netmask": "IP 地址/子网掩码", + "open": "开放式", + "scan_ap": "扫描接入点", + "static": "静态地址", + "title": "网络设置", + "unsaved": "有更改尚未保存,如果切换标签页,这些更改将会丢失。确认继续吗?", + "warning": "如果您更改了 Wi-Fi、IP 或网关地址,可能会断开当前连接!", + "wep": "WEP", + "wpa": "WPA-PSK" + }, "registries": { "add_new_registry": "添加新注册信息", "add_registry": "添加注册信息", "failed_to_add": "添加注册信息失败", "failed_to_remove": "删除注册信息失败", - "remove": "删除" + "no_registries": "未配置注册表项", + "password": "密码", + "registry": "注册表", + "remove": "删除", + "title_add": "新增容器注册表", + "title_manage": "管理容器注册表", + "username": "用户名" }, "repositories": { "add": "添加", @@ -193,9 +216,77 @@ "store": "加载项商店", "system": "系统" }, + "snapshot": { + "addons": "加载项", + "available_snapshots": "可用快照", + "could_not_create": "未能创建快照", + "create": "创建", + "create_blocked_not_running": "现在无法创建快照,因为系统处于{state}状态。", + "create_snapshot": "创建快照", + "description": "“快照”使您可以轻松地备份和还原 Home Assistant 实例的所有数据。", + "enter_password": "请输入密码。", + "folder": { + "addons/local": "本地加载项", + "homeassistant": "Home Assistant 配置", + "media": "媒体", + "share": "分享", + "ssl": "SSL" + }, + "folders": "文件夹", + "full_snapshot": "完整快照", + "name": "名称", + "no_snapshots": "您还没有快照。", + "partial_snapshot": "部分快照", + "password": "密码", + "password_protected": "密码保护", + "password_protection": "密码保护", + "security": "安全性", + "type": "类型", + "upload_snapshot": "上传快照" + }, "system": { + "core": { + "cpu_usage": "核心 CPU 使用率", + "ram_usage": "核心内存使用率" + }, + "host": { + "change": "变更", + "change_hostname": "更改主机名", + "confirm_reboot": "您确定要重启主机吗?", + "confirm_shutdown": "您确定要关闭主机吗?", + "deployment": "部署方式", + "docker_version": "Docker 版本", + "emmc_lifetime_used": "eMMC 已用寿命", + "failed_to_get_hardware_list": "获取硬件列表失败", + "failed_to_import_from_usb": "从 USB 导入失败", + "failed_to_reboot": "重启主机失败", + "failed_to_set_hostname": "设置主机名失败", + "failed_to_shutdown": "关闭主机失败", + "hardware": "硬件", + "hostname": "主机名", + "import_from_usb": "从 USB 导入", + "ip_address": "IP 地址", + "new_hostname": "请输入新的主机名:", + "operating_system": "操作系统", + "reboot_host": "重启主机", + "shutdown_host": "关闭主机", + "used_space": "已用空间" + }, "supervisor": { - "share_diagonstics_description": "您想要在 Supervisor 遇到异常错误时,共享崩溃报告和诊断信息吗?{line_break}这将帮助我们解决问题,此信息仅限 Home Assistant Core 团队访问,不会共享给他人。{line_break}此信息不包含私密、敏感信息,您可以随时在设置中将其禁用。" + "share_diagonstics_description": "您想要在 Supervisor 遇到异常错误时,共享崩溃报告和诊断信息吗?{line_break}这将帮助我们解决问题,此信息仅限 Home Assistant Core 团队访问,不会共享给他人。{line_break}此信息不包含私密、敏感信息,您可以随时在设置中将其禁用。", + "unhealthy_reason": { + "docker": "Docker 环境无法正常工作", + "privileged": "Supervisor 权限不够", + "setup": "Supervisor 设置失败", + "supervisor": "Supervisor 未能更新" + }, + "unsupported_reason": { + "lxc": "LXC", + "network_manager": "网络管理器", + "os": "操作系统", + "privileged": "Supervisor 权限不够", + "systemd": "Systemd" + } } } }, From 47a024b795e2b8bec68ae71cc2fc7db2f117685a Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 8 Mar 2021 09:46:13 +0100 Subject: [PATCH 040/164] Update translations --- translations/frontend/bg.json | 44 ++++++++++++++++++++++++++++++----- translations/frontend/da.json | 6 ++--- translations/frontend/et.json | 3 ++- translations/frontend/fr.json | 4 ++-- translations/frontend/ko.json | 23 +++++++++--------- translations/frontend/nb.json | 27 ++++++++++----------- translations/frontend/ru.json | 1 + 7 files changed, 72 insertions(+), 36 deletions(-) diff --git a/translations/frontend/bg.json b/translations/frontend/bg.json index 85d787d602..d4a587ea2c 100644 --- a/translations/frontend/bg.json +++ b/translations/frontend/bg.json @@ -114,6 +114,10 @@ "network": { "header": "Мрежа", "host": "Хост" + }, + "options": { + "header": "Опции", + "invalid_yaml": "Невалиден YAML" } }, "dashboard": { @@ -122,6 +126,7 @@ "hardware": "хардуер", "hass": "hass", "hassio": "hassio", + "host": "хост", "rating": "рейтинг" }, "role": { @@ -131,13 +136,18 @@ }, "changelog": "Дневник на промените", "hostname": "Име на хоста", + "install": "инсталиране", "option": { "auto_update": { + "description": "Автоматично актуализиране на добавката, когато има налична нова версия", "title": "Автоматично актуализиране" }, "ingress_panel": { "description": "Добавете тази добавка към страничната си лента", "title": "Показване в страничната лента" + }, + "protected": { + "title": "Режим на защита" } }, "protection_mode": { @@ -145,7 +155,8 @@ }, "restart": "рестарт", "start": "старт", - "stop": "стоп" + "stop": "стоп", + "uninstall": "деинсталиране" }, "panel": { "configuration": "Конфигурация", @@ -159,11 +170,13 @@ }, "common": { "cancel": "Отказ", - "close": "Затваряне", + "close": "Затвори", "description": "Описание", "error": { - "unknown": "Неизвестна грешка" + "unknown": "Неизвестна грешка", + "update_failed": "Актуализацията не бе успешна" }, + "failed_to_update_name": "Актуализирането на {name} не бе успешно", "learn_more": "Научете повече", "new_version_available": "Налична е нова версия", "newest_version": "Последна версия", @@ -178,6 +191,9 @@ "yes": "Да" }, "confirm": { + "restart": { + "text": "Наистина ли искате да рестартирате {name}?" + }, "update": { "text": "Наистина ли искате да актуализирате {name} до версия {version}?", "title": "Актуализиране на {name}" @@ -268,11 +284,14 @@ "system": { "host": { "change": "Промяна", + "docker_version": "Docker версия", + "failed_to_get_hardware_list": "Неуспешно получаване на списъка с хардуер", "failed_to_import_from_usb": "Неуспешно импортиране от USB", "hardware": "Хардуер", "hostname": "Име на хоста", "import_from_usb": "Импортиране от USB", "ip_address": "IP адрес", + "new_hostname": "Моля, въведете ново име на хоста:", "operating_system": "Операционна система", "used_space": "Използвано пространство" }, @@ -284,6 +303,7 @@ "join_beta_action": "Присъединяване към бета канала", "leave_beta_action": "Напускане на бета канала", "reload_supervisor": "Презареждане на Supervisor", + "share_diagnostics_description": "Споделяйте доклади за сривове и диагностична информация.", "share_diagonstics_title": "Помогнете за подобряването на Home Assistant", "unsupported_reason": { "dbus": "DBUS", @@ -689,6 +709,7 @@ "dismiss": "Отхвърли", "editor": { "advanced": "Разширени настройки", + "change_device_area": "Промяна областта на устройството", "confirm_delete": "Наистина ли искате да изтриете този запис?", "delete": "Изтриване", "device_disabled": "Устройството на този обект е деактивирано.", @@ -824,8 +845,10 @@ "quick-bar": { "commands": { "navigation": { + "areas": "Области", "automation": "Автоматизации", "blueprint": "Планове", + "customize": "Персонализации", "devices": "Устройства", "entities": "Обекти", "helpers": "Помощници", @@ -898,6 +921,12 @@ "second": "{count} {count, plural,\n one {секунда}\n other {секунди}\n}", "week": "{count} {count, plural,\n one {седмица}\n other {седмици}\n}" }, + "errors": { + "config": { + "error_detected": "Открити са грешки в конфигурацията", + "no_template_editor_support": "Шаблоните не се поддържат във визуалния редактор" + } + }, "login-form": { "log_in": "Вход", "password": "Парола", @@ -1331,6 +1360,9 @@ "sign_out": "Отписване", "tts": { "default_language": "Език по подразбиране за използване", + "dialog": { + "target_browser": "Браузър" + }, "female": "Жена", "male": "Мъж", "title": "Текст в Реч" @@ -1657,7 +1689,7 @@ "detail": { "create": "Създаване", "delete": "Изтриване", - "dismiss": "Затваряне", + "dismiss": "Затвори", "update": "Актуализиране", "url": "URL", "url_error_msg": "URL е задължително поле", @@ -1942,7 +1974,7 @@ }, "zwave_js": { "common": { - "close": "Затваряне", + "close": "Затвори", "network": "Мрежа" }, "dashboard": { @@ -2338,7 +2370,7 @@ }, "save_config": { "cancel": "Няма значение", - "close": "Затваряне", + "close": "Затвори", "header": "Поемете контрол над потребителския интерфейс на Lovelace", "para": "В момента това табло се поддържа от Home Assistant. То се актуализира автоматично, когато станат достъпни нови обекти или компоненти на потребителския интерфейс на Lovelace. Ако поемете контрола, това табло вече няма да се актуализира автоматично. Винаги можете да създадете ново табло за управление в конфигурация, с което да си играете.", "para_sure": "Наистина ли искате да поемете управлението на потребителския интерфейс?", diff --git a/translations/frontend/da.json b/translations/frontend/da.json index c6a00b61f3..9a9ef2966d 100644 --- a/translations/frontend/da.json +++ b/translations/frontend/da.json @@ -87,7 +87,7 @@ }, "device_tracker": { "home": "Hjemme", - "not_home": "[%key:state::device_tracker::not_home%]" + "not_home": "Ude" }, "person": { "home": "Hjemme", @@ -250,7 +250,7 @@ "documentation": { "get_documentation": "Dokumentationen for tilføjelsesprogrammet kunne ikke hentes, {error}" }, - "failed_to_reset": "Konfigurationen af tilføjelsesprogrammet kunne ikke nulstilles.", + "failed_to_reset": "Konfigurationen af tilføjelsesprogrammet kunne ikke nulstilles, {error}", "failed_to_save": "Konfigurationen af tilføjelsesprogrammet kunne ikke gemmes, {error}", "logs": { "get_logs": "Logfiler for tilføjelsesprogrammet kunne ikke hentes, {error}" @@ -268,7 +268,7 @@ } }, "common": { - "cancel": "Afbryd", + "cancel": "Annuller", "close": "Luk", "description": "Beskrivelse", "error": { diff --git a/translations/frontend/et.json b/translations/frontend/et.json index 64826ca08c..f6e19af4e4 100644 --- a/translations/frontend/et.json +++ b/translations/frontend/et.json @@ -1187,6 +1187,7 @@ "key_missing": "Nõutav võti \" {key} \" puudub.", "key_not_expected": "Võti \"{key}\" pole visuaalses redaktoris eeldatud või toetatatud.", "key_wrong_type": "Visuaalne redaktor ei toeta \"{key}\" jaoks sisestatud väärtust. Toetatud on ({type_correct}) kuid saadi ({type_wrong}).", + "no_template_editor_support": "Visuaalne redaktor ei toetata malle", "no_type_provided": "Tüüpi pole esitatud." } }, @@ -2155,7 +2156,7 @@ "integration": "sidumine", "integration_not_found": "Sidumist ei leitud.", "new": "Loo uus sidumine", - "no_integrations": "Tundub, et teil pole veel ühtegi sidumist häälestatud. Esimese sidumise lisamiseks klõpsake allolevat nuppu!", + "no_integrations": "Tundub, et ühtegi sidumist pole veel lisatud. Esimese sidumise lisamiseks klõpsa allolevat nuppu!", "none": "Midagi pole veel seadistatud", "none_found": "Sidumisi ei leitud", "none_found_detail": "Korrigeerige oma otsingukriteeriume.", diff --git a/translations/frontend/fr.json b/translations/frontend/fr.json index dec1ee39d0..f956314530 100644 --- a/translations/frontend/fr.json +++ b/translations/frontend/fr.json @@ -355,11 +355,11 @@ }, "restart_addon": { "confirm_text": "Redémarrer add-on", - "text": "Voulez-vous redémarrer l’add-on avec vos modifications ?" + "text": "Voulez-vous redémarrer l’add-on avec vos modifications?" }, "update": { "create_snapshot": "Créez un instantané de {name} avant de mettre à jour", - "snapshot": "Instantané", + "snapshot": "Snapshot", "snapshotting": "Création d'un instantané de {name}", "updating": "Mise à jour de {name} vers la version {version}" } diff --git a/translations/frontend/ko.json b/translations/frontend/ko.json index f0471cc10e..d68affc45b 100644 --- a/translations/frontend/ko.json +++ b/translations/frontend/ko.json @@ -326,7 +326,7 @@ "failed_to_change": "네트워크 설정을 변경하지 못했습니다", "gateway": "게이트웨이 주소", "ip_netmask": "IP 주소/넷마스크", - "open": "공개", + "open": "비밀번호 없음", "scan_ap": "액세스 포인트 검색하기", "static": "수동 구성", "title": "네트워크 설정", @@ -1187,6 +1187,7 @@ "key_missing": "필수 키 \"{key}\"이(가) 없습니다.", "key_not_expected": "비주얼 편집기에서 \"{key}\" 키는 예상되지 않거나 지원되지 않습니다.", "key_wrong_type": "\"{key}\"에 제공된 값은 비주얼 편집기에서 지원되지 않습니다. ({type_correct})을(를) 지원하지만 ({type_wrong})을(를) 받았습니다.", + "no_template_editor_support": "비주얼 편집기에서 템플릿이 지원되지 않습니다", "no_type_provided": "유형이 제공되지 않았습니다." } }, @@ -1342,7 +1343,7 @@ "wait_template": "대기 템플릿" } }, - "unsupported_action": "UI 미지원 동작: {action}" + "unsupported_action": "비주얼 편집기에서 지원하지 않는 동작입니다: {action}" }, "alias": "이름", "blueprint": { @@ -1425,7 +1426,7 @@ "zone": "지역" } }, - "unsupported_condition": "UI 미지원 조건: {condition}" + "unsupported_condition": "비주얼 편집기에서 지원하지 않는 조건입니다: {condition}" }, "copy_to_clipboard": "클립보드에 복사", "default_name": "새로운 자동화", @@ -1441,14 +1442,14 @@ "load_error_unknown": "자동화를 읽어오는 도중 오류가 발생했습니다 ({err_no}).", "max": { "parallel": "최대 병렬 실행 수", - "queued": "대기열 길이" + "queued": "최대 대기열 길이" }, "modes": { "description": "모드는 자동화가 이전 트리거에서 동작이 실행되는 동안 트리거될 때 실행되는 작업을 제어합니다. 자세한 내용은 {documentation_link}을(를) 확인해주세요.", "documentation": "자동화 문서", "label": "모드", "parallel": "병렬", - "queued": "대기", + "queued": "대기열", "restart": "다시 시작하기", "single": "단일 (기본값)" }, @@ -1555,7 +1556,7 @@ "zone": "지역" } }, - "unsupported_platform": "UI 미지원 플랫폼: {platform}" + "unsupported_platform": "비주얼 편집기에서 지원하지 않는 플랫폼입니다: {platform}" }, "unsaved_confirm": "변경된 내용을 저장하지 않았습니다. 정말 이 페이지를 떠나시겠습니까?" }, @@ -2155,7 +2156,7 @@ "integration": "통합 구성요소", "integration_not_found": "통합 구성요소를 찾을 수 없습니다.", "new": "새로운 통합 구성요소 설정", - "no_integrations": "아직 통합 구성요소를 구성하지 않은 것 같습니다. 첫 번째 통합 구성요소를 추가하려면 아래 버튼을 클릭해주세요!", + "no_integrations": "아직 구성된 통합 구성요소가 존재하지 않습니다. 첫 번째 통합 구성요소를 추가하려면 아래 버튼을 클릭해주세요!", "none": "구성된 통합 구성요소가 없습니다", "none_found": "통합 구성요소를 찾을 수 없습니다", "none_found_detail": "검색 대상을 확인해주세요.", @@ -2371,7 +2372,7 @@ "start_refresh_button": "새로고침 시작", "step": "단계", "title": "노드 정보 새로고침", - "wakeup_header": "절전 해제 지침", + "wakeup_header": "절전 해제 지침:", "wakeup_instructions_source": "절전 해제 지침은 OpenZWave 커뮤니티 기기 데이터베이스에서 제공됩니다." }, "select_instance": { @@ -2480,14 +2481,14 @@ "load_error_not_editable": "scripts.yaml 의 스크립트만 편집할 수 있습니다.", "max": { "parallel": "최대 병렬 실행 수", - "queued": "대기열 길이" + "queued": "최대 대기열 길이" }, "modes": { "description": "모드는 스크립트가 하나 이상의 이전 호출에서 계속 실행되는 동안 스크립트가 호출될 때 실행되는 작업을 제어합니다. 자세한 내용은 {documentation_link}을(를) 확인해주세요.", "documentation": "스크립트 문서", "label": "모드", "parallel": "병렬", - "queued": "대기", + "queued": "대기열", "restart": "다시 시작하기", "single": "단일 (기본값)" }, @@ -2865,7 +2866,7 @@ "header": "노드 구성 옵션", "seconds": "초", "set_config_parameter": "구성 매개 변수 설정", - "set_wakeup": "절전모드 해제 간격 설정", + "set_wakeup": "절전모드 해제 간격 설정하기", "true": "참" }, "node_management": { diff --git a/translations/frontend/nb.json b/translations/frontend/nb.json index c8b0b8def6..e75597f7de 100644 --- a/translations/frontend/nb.json +++ b/translations/frontend/nb.json @@ -327,7 +327,7 @@ "gateway": "Gateway-adresse", "ip_netmask": "IP-adresse / nettmaske", "open": "Åpen", - "scan_ap": "Søk etter tilgangspunkter", + "scan_ap": "Skann etter tilgangspunkter", "static": "Statisk", "title": "Nettverksinnstillinger", "unsaved": "Du har ikke lagrede endringer, disse vil gå tapt hvis du bytter fane, vil du fortsette?", @@ -1187,6 +1187,7 @@ "key_missing": "Nødvendig nøkkel \"{key}\" mangler.", "key_not_expected": "Nøkkelen \"{key}\" forventes ikke eller støttes ikke av det visuelle redigeringsprogrammet.", "key_wrong_type": "Den angitte verdien for \"{key}\" støttes ikke av det visuelle redigeringsprogrammet. Vi støtter ({type_correct}), men mottatt ({type_wrong}).", + "no_template_editor_support": "Maler støttes ikke i visual editor", "no_type_provided": "Ingen type oppgitt." } }, @@ -1342,7 +1343,7 @@ "wait_template": "Ventemal" } }, - "unsupported_action": "Ingen brukergrensesnitt for handling: {action}" + "unsupported_action": "Ingen støtte for visuell redigering for handling: {action}" }, "alias": "Navn", "blueprint": { @@ -1425,7 +1426,7 @@ "zone": "Sone" } }, - "unsupported_condition": "Ingen brukergrensesnitt for bruk: {condition}" + "unsupported_condition": "Ingen støtte for visuell redigering for betingelse: {condition}" }, "copy_to_clipboard": "Kopier til utklippstavle", "default_name": "Ny automasjon", @@ -1433,8 +1434,8 @@ "label": "Beskrivelse", "placeholder": "Valgfri beskrivelse" }, - "edit_ui": "Rediger med brukergrensesnittet", - "edit_yaml": "Rediger som YAML", + "edit_ui": "Rediger i visuell editor", + "edit_yaml": "Rediger i YAML", "enable_disable": "Aktivere/deaktivere automasjon", "introduction": "Bruk automatisering for å bringe hjemmet ditt til live.", "load_error_not_editable": "Kun automasjoner i automations.yaml kan redigeres", @@ -1555,7 +1556,7 @@ "zone": "Sone" } }, - "unsupported_platform": "Ingen UI-støtte for plattform: {platform}" + "unsupported_platform": "Ingen støtte for visuell redigering for plattform: {platform}" }, "unsaved_confirm": "Du har ulagrede endringer. Er du sikker på at du vil lukke?" }, @@ -2081,7 +2082,7 @@ "devices": "{count} {count, plural,\n one {enhet}\n other {enheter}\n}", "disable_restart_confirm": "Start Home Assistant på nytt for å fullføre deaktiveringen av denne integreringen", "disable": { - "disable_confirm": "Er du sikker på at du vil deaktivere denne konfigurasjonsoppføringen? Enhetene og enhetene blir deaktivert.", + "disable_confirm": "Er du sikker på at du vil deaktivere denne config-oppføringen? Enhetene og enhetene deaktiveres.", "disabled": "Deaktivert", "disabled_by": { "device": "enhet", @@ -2155,7 +2156,7 @@ "integration": "integrasjon", "integration_not_found": "Integrasjon ikke funnet.", "new": "Sett opp en ny integrasjon", - "no_integrations": "Det ser ut som om du ikke har konfigurert noen integrasjoner ennå. Klikk på knappen nedenfor for å legge til din første integrasjon!", + "no_integrations": "Virker som du ikke har noen integrasjoner konfigurert ennå. Klikk på knappen nedenfor for å legge til din første integrasjon!", "none": "Ingenting er konfigurert enda", "none_found": "Ingen integrasjoner funnet", "none_found_detail": "Juster dine søkekriterier", @@ -2347,7 +2348,7 @@ "session": "Henter verdier fra noden som sjeldent oppdateres", "static": "Henter statiske verdier fra enheten", "versions": "Henter informasjon om fastvare- og kommandoklasseversjoner", - "wakeup": "Setter opp støtte for vekkingskøer og meldinger" + "wakeup": "Konfigurere støtte for vekkekøer og meldinger" }, "node": { "button": "Node detaljer", @@ -2371,8 +2372,8 @@ "start_refresh_button": "Start oppdatering", "step": "Steg", "title": "Oppdater nodeinformasjon", - "wakeup_header": "Wakeup Instruksjoner for", - "wakeup_instructions_source": "Wakeup-instruksjoner hentes fra OpenZWave-fellesskapets enhetsdatabase." + "wakeup_header": "Instruksjoner for oppvåking for", + "wakeup_instructions_source": "Våkningsinstruksjoner kommer fra OpenZWave fellesskapsenhetsdatabase." }, "select_instance": { "header": "Velg en OpenZWave-forekomst", @@ -2836,7 +2837,7 @@ "instance": "Forekomst", "unknown": "Ukjent", "value": "Verdi", - "wakeup_interval": "Våkningsintervall" + "wakeup_interval": "Intervall for oppvåking" }, "description": "Administrer ditt Z-Wave-nettverk", "learn_more": "Lær mer om Z-Wave", @@ -2865,7 +2866,7 @@ "header": "Alternativer for nodekonfigurasjon", "seconds": "sekunder", "set_config_parameter": "Angi konfigurasjonsparameter", - "set_wakeup": "Angi vekkeintervall", + "set_wakeup": "Angi oppvåkingsintervall", "true": "Sant" }, "node_management": { diff --git a/translations/frontend/ru.json b/translations/frontend/ru.json index cea3f71b17..dd20bf6918 100644 --- a/translations/frontend/ru.json +++ b/translations/frontend/ru.json @@ -1187,6 +1187,7 @@ "key_missing": "Требуемый ключ \"{key}\" отсутствует.", "key_not_expected": "Ключ \"{key}\" не ожидается или не поддерживается визуальным редактором.", "key_wrong_type": "Предоставленное значение для \"{key}\" не поддерживается визуальным редактором. Поддерживается: ({type_correct}), получено: ({type_wrong}).", + "no_template_editor_support": "В форме ввода шаблоны не поддерживаются", "no_type_provided": "Тип не указан." } }, From bef0d3a6a11a6f12513f57f210fc80dc16a39c3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=A2irts?= <37773046+girtskokars@users.noreply.github.com> Date: Mon, 8 Mar 2021 13:47:19 +0200 Subject: [PATCH 041/164] Remove margin from button card icon if icon is all that is set (#8584) --- src/panels/lovelace/cards/hui-button-card.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/panels/lovelace/cards/hui-button-card.ts b/src/panels/lovelace/cards/hui-button-card.ts index b6259afae7..8b36381c0e 100644 --- a/src/panels/lovelace/cards/hui-button-card.ts +++ b/src/panels/lovelace/cards/hui-button-card.ts @@ -272,7 +272,10 @@ export class HuiButtonCard extends LitElement implements LovelaceCard { height: auto; color: var(--paper-item-icon-color, #44739e); --mdc-icon-size: 100%; - margin-bottom: 8px; + } + + ha-icon + span { + margin-top: 8px; } ha-icon, From 194024edb9c8fbb3253796c54a4138da47b2f164 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 8 Mar 2021 13:02:28 +0100 Subject: [PATCH 042/164] Fix demo states translation (#8586) --- src/state/translations-mixin.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/state/translations-mixin.ts b/src/state/translations-mixin.ts index cfb99bf845..2258833b72 100644 --- a/src/state/translations-mixin.ts +++ b/src/state/translations-mixin.ts @@ -230,7 +230,7 @@ export default >(superClass: T) => } this.__loadedFragmetTranslations.add(fragment); const result = await getTranslation(fragment, language); - this._updateResources(result.language, result.data); + await this._updateResources(result.language, result.data); } private async _loadCoreTranslations(language: string) { From 01c4d662f24a7d27154bb43055f8fc18f681619f Mon Sep 17 00:00:00 2001 From: "David F. Mulcahey" Date: Mon, 8 Mar 2021 07:23:14 -0500 Subject: [PATCH 043/164] ZHA UI enhancements (#8573) Co-authored-by: Bram Kragten --- .../zha/ha-device-actions-zha.ts | 10 ++ .../zha/dialog-zha-device-children.ts | 146 ++++++++++++++++++ .../zha/show-dialog-zha-device-children.ts | 20 +++ .../zha/zha-network-visualization-page.ts | 27 ++++ src/translations/en.json | 3 + 5 files changed, 206 insertions(+) create mode 100644 src/panels/config/integrations/integration-panels/zha/dialog-zha-device-children.ts create mode 100644 src/panels/config/integrations/integration-panels/zha/show-dialog-zha-device-children.ts diff --git a/src/panels/config/devices/device-detail/integration-elements/zha/ha-device-actions-zha.ts b/src/panels/config/devices/device-detail/integration-elements/zha/ha-device-actions-zha.ts index b8a179e542..ddca57c922 100644 --- a/src/panels/config/devices/device-detail/integration-elements/zha/ha-device-actions-zha.ts +++ b/src/panels/config/devices/device-detail/integration-elements/zha/ha-device-actions-zha.ts @@ -21,6 +21,7 @@ import { haStyle } from "../../../../../../resources/styles"; import { HomeAssistant } from "../../../../../../types"; import { showZHAClusterDialog } from "../../../../integrations/integration-panels/zha/show-dialog-zha-cluster"; import { showZHADeviceZigbeeInfoDialog } from "../../../../integrations/integration-panels/zha/show-dialog-zha-device-zigbee-info"; +import { showZHADeviceChildrenDialog } from "../../../../integrations/integration-panels/zha/show-dialog-zha-device-children"; @customElement("ha-device-actions-zha") export class HaDeviceActionsZha extends LitElement { @@ -65,6 +66,11 @@ export class HaDeviceActionsZha extends LitElement { ${this.hass!.localize("ui.dialogs.zha_device_info.buttons.add")} + + ${this.hass!.localize( + "ui.dialogs.zha_device_info.buttons.device_children" + )} + ` : ""} ${this._zhaDevice.device_type !== "Coordinator" @@ -120,6 +126,10 @@ export class HaDeviceActionsZha extends LitElement { showZHADeviceZigbeeInfoDialog(this, { device: this._zhaDevice! }); } + private async _handleDeviceChildrenClicked() { + showZHADeviceChildrenDialog(this, { device: this._zhaDevice! }); + } + private async _removeDevice() { const confirmed = await showConfirmationDialog(this, { text: this.hass.localize( diff --git a/src/panels/config/integrations/integration-panels/zha/dialog-zha-device-children.ts b/src/panels/config/integrations/integration-panels/zha/dialog-zha-device-children.ts new file mode 100644 index 0000000000..31869775cc --- /dev/null +++ b/src/panels/config/integrations/integration-panels/zha/dialog-zha-device-children.ts @@ -0,0 +1,146 @@ +import { + CSSResult, + customElement, + html, + internalProperty, + LitElement, + property, + TemplateResult, +} from "lit-element"; +import memoizeOne from "memoize-one"; +import { computeRTLDirection } from "../../../../../common/util/compute_rtl"; +import "../../../../../components/ha-code-editor"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; +import { haStyleDialog } from "../../../../../resources/styles"; +import { HomeAssistant } from "../../../../../types"; +import { ZHADeviceChildrenDialogParams } from "./show-dialog-zha-device-children"; +import "../../../../../components/data-table/ha-data-table"; +import type { + DataTableColumnContainer, + DataTableRowData, +} from "../../../../../components/data-table/ha-data-table"; +import "../../../../../components/ha-circular-progress"; +import { fetchDevices, ZHADevice } from "../../../../../data/zha"; +import { fireEvent } from "../../../../../common/dom/fire_event"; + +export interface DeviceRowData extends DataTableRowData { + id: string; + name: string; + lqi: number; +} + +@customElement("dialog-zha-device-children") +class DialogZHADeviceChildren extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + + @internalProperty() private _device: ZHADevice | undefined; + + @internalProperty() private _devices: Map | undefined; + + private _deviceChildren = memoizeOne( + ( + device: ZHADevice | undefined, + devices: Map | undefined + ) => { + const outputDevices: DeviceRowData[] = []; + if (device && devices) { + device.neighbors.forEach((child) => { + const zhaDevice: ZHADevice | undefined = devices.get(child.ieee); + if (zhaDevice) { + outputDevices.push({ + name: zhaDevice.user_given_name || zhaDevice.name, + id: zhaDevice.device_reg_id, + lqi: child.lqi, + }); + } + }); + } + return outputDevices; + } + ); + + private _columns: DataTableColumnContainer = { + name: { + title: "Name", + sortable: true, + filterable: true, + direction: "asc", + grows: true, + }, + lqi: { + title: "LQI", + sortable: true, + filterable: true, + direction: "asc", + width: "75px", + }, + }; + + public showDialog( + params: ZHADeviceChildrenDialogParams + ): void { + this._device = params.device; + this._fetchData(); + } + + public closeDialog(): void { + this._device = undefined; + this._devices = undefined; + fireEvent(this, "dialog-closed", { dialog: this.localName }); + } + + protected render(): TemplateResult { + if (!this._device) { + return html``; + } + return html` + + ${!this._devices + ? html`` + : html``} + + `; + } + + private async _fetchData(): Promise { + if (this._device && this.hass) { + const devices = await fetchDevices(this.hass!); + this._devices = new Map( + devices.map((device: ZHADevice) => [device.ieee, device]) + ); + } + } + + static get styles(): CSSResult { + return haStyleDialog; + } +} + +declare global { + interface HTMLElementTagNameMap { + "dialog-zha-device-children": DialogZHADeviceChildren; + } +} diff --git a/src/panels/config/integrations/integration-panels/zha/show-dialog-zha-device-children.ts b/src/panels/config/integrations/integration-panels/zha/show-dialog-zha-device-children.ts new file mode 100644 index 0000000000..f8a3e64ab0 --- /dev/null +++ b/src/panels/config/integrations/integration-panels/zha/show-dialog-zha-device-children.ts @@ -0,0 +1,20 @@ +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { ZHADevice } from "../../../../../data/zha"; + +export interface ZHADeviceChildrenDialogParams { + device: ZHADevice; +} + +export const loadZHADeviceChildrenDialog = () => + import("./dialog-zha-device-children"); + +export const showZHADeviceChildrenDialog = ( + element: HTMLElement, + zhaDeviceChildrenParams: ZHADeviceChildrenDialogParams +): void => { + fireEvent(element, "show-dialog", { + dialogTag: "dialog-zha-device-children", + dialogImport: loadZHADeviceChildrenDialog, + dialogParams: zhaDeviceChildrenParams, + }); +}; diff --git a/src/panels/config/integrations/integration-panels/zha/zha-network-visualization-page.ts b/src/panels/config/integrations/integration-panels/zha/zha-network-visualization-page.ts index 190c7dd3c2..6cbe4e77be 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-network-visualization-page.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-network-visualization-page.ts @@ -27,6 +27,8 @@ import "../../../../../components/ha-svg-icon"; import { PolymerChangedEvent } from "../../../../../polymer-types"; import { formatAsPaddedHex } from "./functions"; import { DeviceRegistryEntry } from "../../../../../data/device_registry"; +import "../../../../../components/ha-checkbox"; +import type { HaCheckbox } from "../../../../../components/ha-checkbox"; @customElement("zha-network-visualization-page") export class ZHANetworkVisualizationPage extends LitElement { @@ -55,11 +57,15 @@ export class ZHANetworkVisualizationPage extends LitElement { @internalProperty() private _filter?: string; + private _autoZoom = true; + protected firstUpdated(changedProperties: PropertyValues): void { super.firstUpdated(changedProperties); + if (this.hass) { this._fetchData(); } + this._network = new Network( this._visualization!, {}, @@ -92,6 +98,7 @@ export class ZHANetworkVisualizationPage extends LitElement { }, } ); + this._network.on("doubleClick", (properties) => { const ieee = properties.nodes[0]; if (ieee) { @@ -106,6 +113,17 @@ export class ZHANetworkVisualizationPage extends LitElement { } }); + this._network.on("click", (properties) => { + const ieee = properties.nodes[0]; + if (ieee) { + const device = this._devices.get(ieee); + if (device && this._autoZoom) { + this.zoomedDeviceId = device.device_reg_id; + this._zoomToDevice(); + } + } + }); + this._network.on("stabilized", () => { if (this.zoomedDeviceId) { this._zoomToDevice(); @@ -141,6 +159,11 @@ export class ZHANetworkVisualizationPage extends LitElement { .deviceFilter=${(device) => this._filterDevices(device)} @value-changed=${this._onZoomToDevice} > + ${this.hass!.localize("ui.panel.config.zha.visualization.auto_zoom")} ${this.hass!.localize( "ui.panel.config.zha.visualization.refresh_topology" @@ -325,6 +348,10 @@ export class ZHANetworkVisualizationPage extends LitElement { return false; } + private _handleCheckboxChange(ev: Event) { + this._autoZoom = (ev.target as HaCheckbox).checked; + } + static get styles(): CSSResult[] { return [ css` diff --git a/src/translations/en.json b/src/translations/en.json index d8d640e3bb..ddfaf478a3 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -743,12 +743,14 @@ "manuf": "by {manufacturer}", "no_area": "No Area", "device_signature": "Zigbee device signature", + "device_children": "Zigbee device children", "buttons": { "add": "Add Devices via this device", "remove": "Remove Device", "clusters": "Manage Clusters", "reconfigure": "Reconfigure Device", "zigbee_information": "Zigbee device signature", + "device_children": "View Children", "view_in_visualization": "View in Visualization" }, "services": { @@ -2373,6 +2375,7 @@ "caption": "Visualization", "highlight_label": "Highlight Devices", "zoom_label": "Zoom To Device", + "auto_zoom": "Auto Zoom", "refresh_topology": "Refresh Topology" }, "group_binding": { From 4f5a47ace77bf79a06db272c879c5f1aa438ed3c Mon Sep 17 00:00:00 2001 From: Milan Meulemans Date: Mon, 8 Mar 2021 13:23:30 +0100 Subject: [PATCH 044/164] Fix typo (#8587) --- src/translations/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/translations/en.json b/src/translations/en.json index ddfaf478a3..4dacc57eae 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -2313,7 +2313,7 @@ "spinner": "Searching for ZHA Zigbee devices...", "pairing_mode": "Make sure your devices are in pairing mode. Check the instructions of your device on how to do this.", "discovered_text": "Devices will show up here once discovered.", - "no_devices_found": "No devices were found, make sure they are in paring mode and keep them awake while discovering is running.", + "no_devices_found": "No devices were found, make sure they are in pairing mode and keep them awake while discovering is running.", "search_again": "Search Again" }, "add_device": "Add Device", From 9560a1c4a77e8ce3829f9fbd5692286f58ca7caf Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 9 Mar 2021 01:24:35 +0000 Subject: [PATCH 045/164] Translation update --- translations/frontend/bg.json | 149 ++++++++++++++++++--- translations/frontend/ca.json | 16 ++- translations/frontend/cs.json | 5 + translations/frontend/en.json | 5 +- translations/frontend/es.json | 19 +-- translations/frontend/et.json | 3 + translations/frontend/it.json | 10 +- translations/frontend/ja.json | 2 +- translations/frontend/ko.json | 5 +- translations/frontend/lb.json | 200 ++++++++++++++++++++++++++++- translations/frontend/nl.json | 14 +- translations/frontend/ru.json | 3 + translations/frontend/zh-Hans.json | 4 + translations/frontend/zh-Hant.json | 12 +- 14 files changed, 399 insertions(+), 48 deletions(-) diff --git a/translations/frontend/bg.json b/translations/frontend/bg.json index d4a587ea2c..d478aa88ec 100644 --- a/translations/frontend/bg.json +++ b/translations/frontend/bg.json @@ -123,6 +123,7 @@ "dashboard": { "capability": { "label": { + "docker": "docker", "hardware": "хардуер", "hass": "hass", "hassio": "hassio", @@ -165,6 +166,7 @@ }, "state": { "installed": "Добавката е инсталирана", + "not_available": "Добавката не е налична във вашата система", "not_installed": "Добавката не е инсталирана" } }, @@ -284,6 +286,7 @@ "system": { "host": { "change": "Промяна", + "change_hostname": "Промяна в името на хоста", "docker_version": "Docker версия", "failed_to_get_hardware_list": "Неуспешно получаване на списъка с хардуер", "failed_to_import_from_usb": "Неуспешно импортиране от USB", @@ -307,6 +310,7 @@ "share_diagonstics_title": "Помогнете за подобряването на Home Assistant", "unsupported_reason": { "dbus": "DBUS", + "docker_version": "Docker Версия", "lxc": "LXC", "os": "Операционна система", "systemd": "Systemd" @@ -674,6 +678,9 @@ "week": "преди {count} {count, plural,\n one {седмица}\n other {седмици}\n}" } }, + "service-control": { + "required": "Това поле е задължително" + }, "service-picker": { "service": "Услуга" }, @@ -763,7 +770,9 @@ }, "input_select": { "add": "Добавяне", - "add_option": "Добавяне на опция" + "add_option": "Добавяне на опция", + "no_options": "Все още няма опции.", + "options": "Опции" }, "input_text": { "max": "Максимална дължина", @@ -891,6 +900,7 @@ "voice_command": { "did_not_hear": "Home Assistant не чу нищо", "error": "Ами сега, възникна грешка", + "how_can_i_help": "Как мога да помогна?", "label": "Въведете въпрос и натиснете „Enter“", "label_voice": "Въведете и натиснете „Enter“ или докоснете микрофона, за да говорите" }, @@ -934,6 +944,7 @@ }, "notification_drawer": { "click_to_configure": "Щракнете върху бутона, за да конфигурирате {entity}", + "close": "Затвори", "empty": "Няма известия", "title": "Известия" }, @@ -960,6 +971,7 @@ "delete": "Изтриване", "name": "Име", "name_required": "Името е задължително", + "unknown_error": "Неизвестна грешка", "update": "Актуализация" }, "picker": { @@ -1343,13 +1355,15 @@ "config_documentation": "Документация за конфигурацията", "disable": "деактивирайте", "enable": "активиране", - "enable_ha_skill": "Активирайте умението Home Assistant за Alexa" + "enable_ha_skill": "Активирайте умението Home Assistant за Alexa", + "title": "Alexa" }, "google": { "config_documentation": "Документация за конфигурацията", "devices_pin": "ПИН код за Устройства за защита", "enter_pin_hint": "Въведете ПИН за използване на устройства за защита", - "security_devices": "Устройства за защита" + "security_devices": "Устройства за защита", + "title": "Google Assistant" }, "integrations_introduction2": "Проверете уебсайта за", "integrations_link_all_features": "всички налични функции", @@ -1361,11 +1375,14 @@ "tts": { "default_language": "Език по подразбиране за използване", "dialog": { + "example_message": "Здравейте, {name}, можете да възпроизвеждате произволен текст на всеки поддържан медиен плейър!", + "header": "Опитайте Текст в Реч", "target_browser": "Браузър" }, "female": "Жена", "male": "Мъж", - "title": "Текст в Реч" + "title": "Текст в Реч", + "try": "Опитайте" }, "webhooks": { "disable_hook_error_msg": "Неуспешно деактивиране на webhook:", @@ -1383,7 +1400,8 @@ "follow_domain": "Следван домейн", "manage_domains": "Управление на домейни", "not_exposed": "{selected} неизложен", - "not_exposed_entities": "Не изложени обекти" + "not_exposed_entities": "Не изложени обекти", + "title": "Alexa" }, "description_features": "Контролирайте дома си, и когато не сте вкъщи, активирайте интегрирациите с Alexa и Google Assistant.", "description_login": "Вписани сте като {email}", @@ -1397,6 +1415,7 @@ "view_documentation": "Преглед на документацията" }, "forgot_password": { + "email": "Имейл", "email_error_msg": "Грешен имейл", "title": "Забравена парола" }, @@ -1408,13 +1427,16 @@ "exposed": "{selected} изложен", "follow_domain": "следван домейн", "manage_domains": "Управление на домейни", - "not_exposed": "{selected} неизложен" + "not_exposed": "{selected} неизложен", + "title": "Google Assistant" }, "login": { "alert_password_change_required": "Трябва да промените паролата си, преди да влезете.", + "email": "Имейл", "email_error_msg": "Грешен имейл", "forgot_password": "Забравена парола?", "introduction2": "Тази услуга се управлява от нашия партньор", + "introduction2a": ", компания основана от основателите на Home Assistant и Hass.io.", "learn_more_link": "Научете повече за Home Assistant Cloud", "password": "Парола", "password_error_msg": "Паролите са най-малко 8 знака" @@ -1424,7 +1446,10 @@ "feature_amazon_alexa": "Интеграция с Amazon Alexa", "feature_google_home": "Интеграция с Google Assistant", "feature_webhook_apps": "Лесна интеграция с базирани на webhook приложения като OwnTracks", + "headline": "Започнете безплатния си пробен период", "information3": "Тази услуга се управлява от нашия партньор", + "information3a": ", компания основана от основателите на Home Assistant и Hass.io.", + "link_privacy_policy": "Политика за поверителност", "link_terms_conditions": "Правила и условия", "password": "Парола", "title": "Регистриране на акаунт" @@ -1439,7 +1464,9 @@ "edit_requires_storage": "Редакторът е деактивиран, защото конфигурацията е съхранена в configuration.yaml.", "elevation": "Надморска височина", "elevation_meters": "метра", + "external_url": "Външен URL", "imperial_example": "Фаренхайт, паунд", + "internal_url": "Вътрешен URL", "latitude": "Географска ширина", "location_name": "Име на Вашия Home Assistant", "longitude": "Географска дължина", @@ -1461,6 +1488,9 @@ "picker": { "header": "Персонализиране", "introduction": "Настройте атрибутите за всеки обект. Добавени/редактирани персонализации ще имат ефект, когато обектът бъде опреснен." + }, + "warning": { + "include_link": "включва customize.yaml" } }, "devices": { @@ -1491,6 +1521,7 @@ }, "delete": "Изтриване", "description": "Управление на конфигурираните устройства", + "device_info": "Информация за устройството", "disabled": "Деактивирано", "disabled_by": { "config_entry": "Конфигурационен запис", @@ -1502,7 +1533,8 @@ "entities": { "add_entities_lovelace": "Добавете към Lovelace", "disabled_entities": "+{count} {count, plural,\n one {деактивиран обект}\n other {деактивирани обекти}\n}", - "entities": "Обекти" + "entities": "Обекти", + "hide_disabled": "Скриване на деактивираните" }, "name": "Име", "no_devices": "Няма устройства", @@ -1541,10 +1573,15 @@ "enable_selected": { "confirm_title": "Искате ли да разрешите {number} {number, plural,\n one {обект}\n other {обекта}\n}?" }, + "filter": { + "filter": "Филтър" + }, "header": "Обекти", "headers": { "area": "Област", - "name": "Име" + "integration": "Интеграция", + "name": "Име", + "status": "Състояние" }, "introduction": "Home Assistant поддържа регистър на всички обекти, които някога е виждал, които могат да бъдат идентифицирани уникално. Всеки от тези обекти ще има идентификатор на обект, който ще бъде резервиран само за този обект.", "introduction2": "Използвайте регистъра на обектите, за да промените името, идентификатора на обекта или да премахнете записа от Home Assistant. Моля имайте на предвид, че премахването на записа от регистъра на обектите няма да премахне обекта. За да направите това, следвайте препратката по-долу и я премахнете от страницата за интеграции.", @@ -1586,6 +1623,8 @@ "description": "Версия, състояние на системата и връзки към документация", "documentation": "Документация", "integrations": "Интеграции", + "license": "Публикувано под лиценза Apache 2.0", + "path_configuration": "Път към configuration.yaml: {path}", "server": "сървър", "source": "Източник:" }, @@ -1594,6 +1633,7 @@ "attention": "Задълителна проверка", "caption": "Интеграции", "config_entry": { + "area": "В {area}", "delete": "Изтриване", "delete_confirm": "Сигурни ли сте, че искате да изтриете интеграцията?", "device_unavailable": "Устройството е недостъпно", @@ -1603,7 +1643,8 @@ "device": "устройство", "integration": "интеграция", "user": "потребител" - } + }, + "disabled_cause": "Деактивирано от {cause}" }, "documentation": "Документация", "entities": "{count} {count, plural,\n one {обект}\n other {обекти}\n}", @@ -1623,6 +1664,7 @@ "unnamed_entry": "Запис без име" }, "config_flow": { + "close": "Затвори", "created_config": "Създадена конфигурация за {name} .", "error": "Грешка", "external_step": { @@ -1661,22 +1703,34 @@ "cant_edit_default": "Стандартното Lovelace табло не може да се редактира от потребителския интерфейс. Можете да го скриете, като зададете друго табло по подразбиране.", "cant_edit_yaml": "Табла, дефинирани в YAML, не могат да бъдат редактирани от потребителския интерфейс. Променете ги в configuration.yaml.", "caption": "Табла", + "conf_mode": { + "yaml": "YAML файл" + }, + "confirm_delete": "Наистина ли искате да изтриете това табло?", "default_dashboard": "Това е таблото по подразбиране", "detail": { "create": "Създаване", + "delete": "Изтрий", + "dismiss": "Затвори", + "edit_dashboard": "Редактиране на таблото", "icon": "Икона", + "new_dashboard": "Добавяне на ново табло", "require_admin": "Само администратори", + "show_sidebar": "Показване в страничната лента", "title": "Заглавие", "title_required": "Заглавието е задължително.", + "update": "Актуализиране", "url": "URL", "url_error_msg": "URL адресът трябва да съдържа '-' и не може да съдържа интервали или специални символи, с изключение на '_' и '-'" }, "picker": { "add_dashboard": "Добавяне на табло", "headers": { + "conf_mode": "Метод за конфигуриране", "default": "По подразбиране", "filename": "Име на файл", "require_admin": "Само администратори", + "sidebar": "Показване в страничната лента", "title": "Заглавие" }, "open": "Отворен" @@ -1697,8 +1751,10 @@ }, "picker": { "headers": { + "type": "Тип", "url": "URL" - } + }, + "no_resources": "Няма ресурси" }, "refresh_body": "Трябва да опресните страницата, за да завършите премахването. Искате ли да се опресните сега?" } @@ -1709,7 +1765,8 @@ "ozw": { "common": { "controller": "Контролер", - "network": "Мрежа" + "network": "Мрежа", + "zwave": "Z-Wave" }, "navigation": { "network": "Мрежа", @@ -1760,8 +1817,10 @@ "device_tracker_intro": "Изберете устройствата, които принадлежат на това лице.", "device_tracker_pick": "Изберете устройство за проследяване", "device_tracker_picked": "Устройство за проследяване", + "linked_user": "Свързан потребител", "name": "Име", - "name_error_msg": "Името е задължително" + "name_error_msg": "Името е задължително", + "update": "Актуализиране" }, "no_persons_created_yet": "Изглежда все още не сте добавили хора.", "note_about_persons_configured_in_yaml": "Забележка: хората, конфигурирани чрез configuration.yaml, не могат да бъдат редактирани чрез потребителския интерфейс." @@ -1785,6 +1844,8 @@ }, "icon": "Икона", "introduction": "Използвайте сцени, за да вдъхнете живот на дома си.", + "load_error_not_editable": "Само сцени в scenes.yaml могат да се редактират.", + "load_error_unknown": "Грешка при зареждането на сцена ({err_no}).", "name": "Име", "save": "Запази", "unsaved_confirm": "Имате незапазени промени. Сигурни ли сте, че искате да напуснете?" @@ -1798,6 +1859,8 @@ "headers": { "name": "Име" }, + "learn_more": "Научете повече за сцените", + "only_editable": "Само сцени дефинирани в scenes.yaml могат да се редактират.", "pick_scene": "Изберете сцена за редактиране", "show_info_scene": "Показване на информация за сцена" } @@ -1810,6 +1873,7 @@ "default_name": "Нов скрипт", "delete_script": "Изтриване на скрипт", "header": "Скрипт: {name}", + "id_already_exists": "Това ID вече съществува", "introduction": "Използвайте скриптове за изпълнение на последователност от действия.", "link_available_actions": "Научете повече за наличните действия.", "modes": { @@ -1830,6 +1894,7 @@ "headers": { "name": "Име" }, + "learn_more": "Научете повече за скриптовете", "show_info": "Показване на информация за скрипта" } }, @@ -1913,6 +1978,7 @@ "password_changed": "Паролата беше променена успешно", "system_generated": "Генерирано от системата", "system_generated_users_not_editable": "Неуспешно обновяване на системно генерираните потребители", + "update_user": "Актуализиране", "username": "Потребителско име" }, "picker": { @@ -1936,9 +2002,11 @@ "spinner": "Търсене на ZHA Zigbee устройства..." }, "clusters": { + "header": "Клъстери", "introduction": "Клъстерите са градивните елементи за функционалността на Zigbee. Те разделят функционалността на логически единици. Има типове клиенти и сървъри, състоящи се от атрибути и команди." }, "common": { + "clusters": "Клъстери", "value": "Стойност" }, "device_pairing_card": { @@ -1950,7 +2018,19 @@ "PAIRED": "Намерено устройство" }, "groups": { - "add_group": "Добавяне на група" + "add_group": "Добавяне на група", + "add_members": "Добавяне на членове", + "caption": "Групи", + "create": "Създай група", + "create_group_details": "Въведете необходимите данни, за да създадете нова zigbee група", + "creating_group": "Създаване на група", + "group_info": "Информация за групата", + "group_name_placeholder": "Име на групата", + "group_not_found": "Групата не е намерена!", + "groups": "Групи", + "members": "Членове", + "remove_members": "Премахване на членове", + "removing_members": "Премахване на членове" }, "network": { "caption": "Мрежа" @@ -1962,12 +2042,23 @@ } }, "zone": { + "add_zone": "Добавяне на зона", "caption": "Зони", + "confirm_delete": "Наистина ли искате да изтриете тази зона?", + "create_zone": "Създаване на зона", "description": "Управлявайте зоните, в които искате да проследявате хората", "detail": { "create": "Създаване", + "delete": "Изтрий", + "icon": "Икона", + "icon_error_msg": "Иконата трябва да е във формат „prefix:iconname“, например: „mdi:home“", + "latitude": "Географска ширина", + "longitude": "Географска дължина", "name": "Име", - "required_error_msg": "Полето е задължително" + "new_zone": "Нова зона", + "radius": "Радиус", + "required_error_msg": "Полето е задължително", + "update": "Актуализиране" }, "edit_home_zone": "Радиусът на зоната \"Дом\" все още не може да бъде редактиран. Плъзнете маркера на картата, за да преместите въпросната зона.", "no_zones_created_yet": "Изглежда, че все още не сте създали никакви зони." @@ -1997,6 +2088,7 @@ "wakeup_interval": "Интервал за събуждане" }, "description": "Управлявайте своята Z-Wave мрежа", + "learn_more": "Научете повече за Z-Wave", "network_management": { "header": "Управление на Z-Wave мрежата", "introduction": "Изпълнение на команди, които засягат Z-Wave мрежата. Няма да получите обратна информация за това дали повечето команди са успели, но можете да проверите OZW лог файла, за да се опитате да разберете." @@ -2020,6 +2112,8 @@ "true": "Вярно" }, "node_management": { + "add_to_group": "Добавяне към група", + "group": "Група", "remove_from_group": "Премахване от групата" }, "services": { @@ -2046,6 +2140,9 @@ "title": "Събития" }, "services": { + "column_description": "Описание", + "column_example": "Пример", + "column_parameter": "Параметър", "title": "Услуги" }, "states": { @@ -2073,7 +2170,8 @@ "result_type": "Тип на резултата", "template_extensions": "Разширения на шаблона за Home Assistant", "time": "Този шаблон се актуализира в началото на всяка минута.", - "title": "Шаблон" + "title": "Шаблон", + "unknown_error_template": "Неизвестна грешка при визуализирането на шаблон" } } }, @@ -2100,6 +2198,7 @@ "yaml_unsupported": "Не можете да използвате тази функция, когато използвате потребителския интерфейс на Lovelace в режим YAML." }, "cards": { + "confirm_delete": "Наистина ли искате да изтриете тази карта?", "empty_state": { "go_to_integrations_page": "Отидете на страницата за интеграции.", "no_devices": "Тази страница ви позволява да контролирате устройствата си, но изглежда, че все още нямате настроени устройства. Отидете на страницата за интеграции, за да започнете.", @@ -2217,15 +2316,23 @@ } }, "generic": { + "icon": "Икона", + "maximum": "Максимум", + "minimum": "Минимум", "name": "Име", "no_theme": "Няма тема", + "refresh_interval": "Интервал на опресняване", "search": "Търсене", + "show_icon": "Показване на иконата?", "show_name": "Показване на името?", "state_color": "Да се оцветят ли иконите спрямо състоянието?", "theme": "Тема", "title": "Заглавие", "url": "URL" }, + "glance": { + "columns": "Колони" + }, "grid": { "columns": "Колони", "description": "Картата Решетка ви позволява да показвате няколко карти, които да подредите в решетка.", @@ -2395,6 +2502,7 @@ } }, "menu": { + "close": "Затвори", "configure_ui": "Редактиране на табло", "help": "Помощ", "reload_resources": "Презареждане на ресурсите" @@ -2414,6 +2522,7 @@ }, "views": { "confirm_delete": "Изтриване на изгледа?", + "confirm_delete_existing_cards": "Изтриването на този изглед също ще премахне картите", "confirm_delete_existing_cards_text": "Наистина ли искате да изтриете изгледа си \"{name}\"? Изгледът съдържа {number} карти, които ще бъдат изтрити. Това действие не може да бъде отменено.", "confirm_delete_text": "Наистина ли искате да изтриете изгледа си \"{name}\"?" }, @@ -2439,6 +2548,7 @@ "abort_intro": "Входът е прекратен", "authorizing_client": "На път сте да дадете {clientId} достъп до вашия Home Assistant.", "form": { + "error": "Грешка: {error}", "next": "Следващ", "providers": { "command_line": { @@ -2606,6 +2716,7 @@ "profile": { "advanced_mode": { "description": "Отключва разширени функции.", + "link_promo": "Научете повече", "title": "Разширен режим" }, "change_password": { @@ -2644,6 +2755,8 @@ "link_promo": "Помогнете за превода" }, "logout": "Изход", + "logout_text": "Наистина ли искате да излезете?", + "logout_title": "Изход", "long_lived_access_tokens": { "confirm_delete": "Сигурни ли сте, че искате да изтриете кода за достъп за {name}?", "create": "Създай код", @@ -2694,6 +2807,9 @@ "not_used": "Никога не е бил използван", "token_title": "Код за опресняване за {clientId}" }, + "suspend": { + "header": "Автоматично затваряне на връзката" + }, "themes": { "accent_color": "Цвят на акцента", "dark_mode": { @@ -2709,7 +2825,8 @@ "reset": "Нулиране" }, "vibrate": { - "description": "Разрешаване или забраняване на вибрациите на това устройство при управление на устройства." + "description": "Разрешаване или забраняване на вибрациите на това устройство при управление на устройства.", + "header": "Вибрация" } } }, diff --git a/translations/frontend/ca.json b/translations/frontend/ca.json index e86186165a..6cebf49319 100644 --- a/translations/frontend/ca.json +++ b/translations/frontend/ca.json @@ -1145,6 +1145,7 @@ "buttons": { "add": "Afegeix dispositius a través d'aquest dispositiu", "clusters": "Gestiona clústers", + "device_children": "Mostra fills", "reconfigure": "Reconfigurar dispositiu", "remove": "Eliminar dispositiu", "view_in_visualization": "Mostra a la visualització", @@ -1153,6 +1154,7 @@ "confirmations": { "remove": "Estàs segur que vols eliminar el dispositiu?" }, + "device_children": "Dispositiu Zigbee fill", "device_signature": "Signatura Zigbee del dispositiu", "last_seen": "Vist per últim cop", "manuf": "per {manufacturer}", @@ -1187,6 +1189,7 @@ "key_missing": "Falta la clau obligatòria \"{key}\".", "key_not_expected": "No s'està esperant la clau \"{key}\" o no és compatible amb l'editor visual.", "key_wrong_type": "L'editor visual no admet el valor proporcionat de \"{key}\". ({type_correct}) és compatible, però s'ha rebut ({type_wrong}).", + "no_template_editor_support": "Les plantilles no són compatibles amb l'editor visual", "no_type_provided": "No s'ha proporcionat cap tipus." } }, @@ -1342,7 +1345,7 @@ "wait_template": "Plantilla d'espera" } }, - "unsupported_action": "La IU no és compatible amb l'acció: {action}" + "unsupported_action": "Acció no compatible amb l'editor visual: {action}" }, "alias": "Nom", "blueprint": { @@ -1425,7 +1428,7 @@ "zone": "Zona" } }, - "unsupported_condition": "La IU no és compatible amb la condició: {condition}" + "unsupported_condition": "Condició no compatible amb l'editor visual: {condition}" }, "copy_to_clipboard": "Copia al porta-retalls", "default_name": "Nova automatització", @@ -1433,8 +1436,8 @@ "label": "Descripció", "placeholder": "Descripció opcional" }, - "edit_ui": "Edita a través d'interfície", - "edit_yaml": "Edita com a YAML", + "edit_ui": "Edita amb l'editor visual", + "edit_yaml": "Edita en YAML", "enable_disable": "Activa/desactiva automatització", "introduction": "Utilitza les automatitzacions per donar vida a casa teva.", "load_error_not_editable": "Només les automatitzacions a automations.yaml són editables.", @@ -1555,7 +1558,7 @@ "zone": "Zona" } }, - "unsupported_platform": "La IU no és compatible amb la plataforma: {platform}" + "unsupported_platform": "Plataforma no compatible amb l'editor visual: {platform}" }, "unsaved_confirm": "Hi ha canvis no desats. Segur que vols sortir?" }, @@ -2648,7 +2651,7 @@ "add_device": "Afegeix dispositiu", "add_device_page": { "discovered_text": "Els dispositius apareixeran aquí un cop descoberts.", - "no_devices_found": "No s'han trobat dispositius, assegura't que estiguin en mode vinculació i manten-los desperts mentre s'estiguin descoberint.", + "no_devices_found": "No s'han trobat dispositius, assegura't que estiguin en mode vinculació i manten-los desperts mentre s'estiguin descobrint.", "pairing_mode": "Assegura't que els dispositiu estiguin en mode vinculació. Consulta les instruccions del dispositiu per saber com fer-ho.", "search_again": "Torna a cercar", "spinner": "S'estan cercant dispositius ZHA Zigbee..." @@ -2724,6 +2727,7 @@ "caption": "Xarxa" }, "visualization": { + "auto_zoom": "Zoom automàtic", "caption": "Visualització", "header": "Visualització de xarxa", "highlight_label": "Ressalta els dispositius", diff --git a/translations/frontend/cs.json b/translations/frontend/cs.json index ff81574f21..29951beeaf 100644 --- a/translations/frontend/cs.json +++ b/translations/frontend/cs.json @@ -145,6 +145,7 @@ "changelog": "Seznam změn", "hostname": "Název hostitele", "new_update_available": "{name} {verze} je k dispozici", + "not_available_version": "Používáte Home Assistant {core_version_installed}, pro aktualizaci na tuto verzi doplňku potřebujete alespoň Home Assistant ve verzi {core_version_needed}", "open_web_ui": "Otevřít webové rozhraní", "option": { "boot": { @@ -220,6 +221,7 @@ "gateway": "IP adresa brány", "ip_netmask": "IP adresa/Maska sítě", "open": "Otevřít", + "scan_ap": "Hledat přístupové body", "static": "Statická", "title": "Nastavení sítě", "wep": "WEP", @@ -1028,6 +1030,7 @@ "key_missing": "Chybí požadovaný klíč \"{key}\".", "key_not_expected": "Klíč \"{key}\" není vizuálním editorem očekáván nebo podporován.", "key_wrong_type": "Zadávanou hodnotu \"{key}\" nepodporuje vizuální editor. Podporuje ({type_correct}), ale obdržel ({type_wrong}).", + "no_template_editor_support": "Šablony nejsou podporovány v uživatelském rozhraní", "no_type_provided": "Není k dispozici žádný typ." } }, @@ -1467,6 +1470,8 @@ }, "introduction": "Nastavení šablon vám umožňuje importovat a spravovat vaše šablony.", "learn_more": "Další informace o používání šablon", + "share_blueprint": "Sdílet šablonu", + "share_blueprint_no_url": "Nelze sdílet šablonu: žádná zdrojová URL adresa", "use_blueprint": "Vytvořit automatizaci" } }, diff --git a/translations/frontend/en.json b/translations/frontend/en.json index 7d04842a78..d9e208e89a 100644 --- a/translations/frontend/en.json +++ b/translations/frontend/en.json @@ -1145,6 +1145,7 @@ "buttons": { "add": "Add Devices via this device", "clusters": "Manage Clusters", + "device_children": "View Children", "reconfigure": "Reconfigure Device", "remove": "Remove Device", "view_in_visualization": "View in Visualization", @@ -1153,6 +1154,7 @@ "confirmations": { "remove": "Are you sure that you want to remove the device?" }, + "device_children": "Zigbee device children", "device_signature": "Zigbee device signature", "last_seen": "Last Seen", "manuf": "by {manufacturer}", @@ -2649,7 +2651,7 @@ "add_device": "Add Device", "add_device_page": { "discovered_text": "Devices will show up here once discovered.", - "no_devices_found": "No devices were found, make sure they are in paring mode and keep them awake while discovering is running.", + "no_devices_found": "No devices were found, make sure they are in pairing mode and keep them awake while discovering is running.", "pairing_mode": "Make sure your devices are in pairing mode. Check the instructions of your device on how to do this.", "search_again": "Search Again", "spinner": "Searching for ZHA Zigbee devices..." @@ -2725,6 +2727,7 @@ "caption": "Network" }, "visualization": { + "auto_zoom": "Auto Zoom", "caption": "Visualization", "header": "Network Visualization", "highlight_label": "Highlight Devices", diff --git a/translations/frontend/es.json b/translations/frontend/es.json index 7d0f915a1d..2ad1cd2ee9 100644 --- a/translations/frontend/es.json +++ b/translations/frontend/es.json @@ -1187,6 +1187,7 @@ "key_missing": "Falta la clave obligatoria \"{key}\".", "key_not_expected": "El editor visual no espera o no admite la clave \"{key}\".", "key_wrong_type": "El valor proporcionado para \"{key}\" no es compatible con el editor visual. Aceptamos ({type_correct}) pero recibimos ({type_wrong}).", + "no_template_editor_support": "Las plantillas no son compatibles con el editor visual", "no_type_provided": "No se proporciona ningún tipo." } }, @@ -1342,7 +1343,7 @@ "wait_template": "Plantilla de espera" } }, - "unsupported_action": "No hay soporte en la IU para la acción: {action}" + "unsupported_action": "No hay soporte del editor visual para la acción: {action}" }, "alias": "Nombre", "blueprint": { @@ -1425,7 +1426,7 @@ "zone": "Zona" } }, - "unsupported_condition": "No hay soporte en la IU para la condición: {condition}" + "unsupported_condition": "No hay soporte del editor visual para la condición: {condition}" }, "copy_to_clipboard": "Copiar al portapapeles", "default_name": "Nueva automatización", @@ -1433,8 +1434,8 @@ "label": "Descripción", "placeholder": "Descripción opcional" }, - "edit_ui": "Editar con la interfaz de usuario", - "edit_yaml": "Editar como YAML", + "edit_ui": "Editar en el editor visual", + "edit_yaml": "Editar en YAML", "enable_disable": "Activar/Desactivar automatización", "introduction": "Usa automatizaciones para darle vida a tu hogar.", "load_error_not_editable": "Solo las automatizaciones en automations.yaml son editables.", @@ -1555,7 +1556,7 @@ "zone": "Zona" } }, - "unsupported_platform": "No hay soporte en la IU para la plataforma: {platform}" + "unsupported_platform": "No hay soporte del editor visual para la plataforma: {platform}" }, "unsaved_confirm": "Tienes cambios sin guardar. ¿Estás seguro de que quieres salir?" }, @@ -2347,7 +2348,7 @@ "session": "Obteniendo valores que cambian con poca frecuencia del nodo", "static": "Obteniendo valores estáticos del dispositivo", "versions": "Obteniendo información sobre versiones de firmware y clases de órdenes", - "wakeup": "Configurando soporte para colas de despertador y mensajes" + "wakeup": "Configurar soporte para mensajes y colas de activación" }, "node": { "button": "Detalles del nodo", @@ -2371,8 +2372,8 @@ "start_refresh_button": "Iniciar Refresco", "step": "Paso", "title": "Refrescar Información del Nodo", - "wakeup_header": "Instrucciones para despertar a", - "wakeup_instructions_source": "Las instrucciones para despertarlo se obtienen de la base de datos de dispositivos de la comunidad OpenZWave." + "wakeup_header": "Instrucciones de activación para", + "wakeup_instructions_source": "Las instrucciones de activación se obtienen de la base de datos de dispositivos de la comunidad OpenZWave." }, "select_instance": { "header": "Selecciona una instancia de OpenZWave", @@ -2865,7 +2866,7 @@ "header": "Opciones de configuración de nodo", "seconds": "segundos", "set_config_parameter": "Establecer parámetro de configuración", - "set_wakeup": "Configurar el intervalo de activación", + "set_wakeup": "Establecer intervalo de activación", "true": "Verdadero" }, "node_management": { diff --git a/translations/frontend/et.json b/translations/frontend/et.json index f6e19af4e4..14f2bd7c57 100644 --- a/translations/frontend/et.json +++ b/translations/frontend/et.json @@ -1145,6 +1145,7 @@ "buttons": { "add": "Lisa seadmeid selle seadme abil", "clusters": "Halda seadmekobaraid", + "device_children": "Kuva alamseadmed", "reconfigure": "Muuda seadme sätteid", "remove": "Eemalda seade", "view_in_visualization": "Visualiseeri", @@ -1153,6 +1154,7 @@ "confirmations": { "remove": "Oled kindel, et soovid selle seadme eemaldada?" }, + "device_children": "Zigbee alamseadmed", "device_signature": "Zigbee seadme tunnus", "last_seen": "Viimati nähtud", "manuf": "{manufacturer} järgi", @@ -2725,6 +2727,7 @@ "caption": "Võrk" }, "visualization": { + "auto_zoom": "Mahuta kuvale", "caption": "Visualiseerimine", "header": "Võrgu visualiseerimine", "highlight_label": "Tõsta seadmed esile", diff --git a/translations/frontend/it.json b/translations/frontend/it.json index 2b4b2aaa25..c14a71aadf 100644 --- a/translations/frontend/it.json +++ b/translations/frontend/it.json @@ -218,8 +218,8 @@ "title": "Aggiornamento automatico" }, "boot": { - "description": "Avvia il componente aggiuntivo durante l'avvio del sistema", - "title": "Inizia dall'avvio" + "description": "Il componente aggiuntivo sarà eseguito durante l'avvio del sistema", + "title": "Esegui dall'avvio" }, "ingress_panel": { "description": "Aggiungi questo componente aggiuntivo alla barra laterale", @@ -230,7 +230,7 @@ "title": "Modalità di protezione" }, "watchdog": { - "description": "Questo avvierà il componente aggiuntivo se si arresta in modo anomalo", + "description": "Questo riavvierà automaticamente il componente aggiuntivo in caso di arresti anomali", "title": "Watchdog" } }, @@ -1145,6 +1145,7 @@ "buttons": { "add": "Aggiungi dispositivi tramite questo dispositivo", "clusters": "Gestisci i cluster", + "device_children": "Visualizza dispositivo", "reconfigure": "Riconfigura dispositivo", "remove": "Rimuovi dispositivo", "view_in_visualization": "Visualizza in visualizzazione", @@ -1153,6 +1154,7 @@ "confirmations": { "remove": "Sei sicuro di voler rimuovere il dispositivo?" }, + "device_children": "Firma del dispositivo Zigbee", "device_signature": "Firma del dispositivo Zigbee", "last_seen": "Ultima visualizzazione", "manuf": "da {manufacturer}", @@ -1187,6 +1189,7 @@ "key_missing": "Chiave obbligatoria \"{key}\" mancante.", "key_not_expected": "La chiave \"{key}\" non è prevista o non è supportata dall'editor visivo.", "key_wrong_type": "Il valore fornito per \"{key}\" non è supportato dall'editor visivo. Supportiamo ({type_correct}) ma ricevuto ({type_wrong}).", + "no_template_editor_support": "Modelli non supportati nell'editor visivo", "no_type_provided": "Nessun tipo fornito." } }, @@ -2724,6 +2727,7 @@ "caption": "Rete" }, "visualization": { + "auto_zoom": "Zoom automatico", "caption": "Visualizzazione", "header": "Visualizzazione di rete", "highlight_label": "Evidenzia dispositivi", diff --git a/translations/frontend/ja.json b/translations/frontend/ja.json index c9bd286e2b..970e5937bf 100644 --- a/translations/frontend/ja.json +++ b/translations/frontend/ja.json @@ -390,7 +390,7 @@ "no_snapshots": "スナップショットはまだありません。", "partial_snapshot": "部分的なスナップショット", "password": "パスワード", - "password_protected": "パスワードで保護された", + "password_protected": "パスワードで保護されています", "password_protection": "パスワード保護", "security": "セキュリティ", "type": "タイプ", diff --git a/translations/frontend/ko.json b/translations/frontend/ko.json index d68affc45b..c067a070fa 100644 --- a/translations/frontend/ko.json +++ b/translations/frontend/ko.json @@ -1145,6 +1145,7 @@ "buttons": { "add": "이 기기를 통해 기기 추가하기", "clusters": "클러스터 관리", + "device_children": "자식 보기", "reconfigure": "기기 재구성하기", "remove": "기기 제거하기", "view_in_visualization": "시각화에서보기", @@ -1153,6 +1154,7 @@ "confirmations": { "remove": "이 기기를 제거하시겠습니까?" }, + "device_children": "Zigbee 기기 자식", "device_signature": "Zigbee 기기 서명", "last_seen": "마지막 확인", "manuf": "{manufacturer} 제조", @@ -2649,7 +2651,7 @@ "add_device": "기기 추가하기", "add_device_page": { "discovered_text": "기기가 발견되면 여기에 표시됩니다.", - "no_devices_found": "발견된 기기가 없습니다. 기기를 검색하는 동안 기기가 페어링 모드 상태이고 절전모드가 해제되어있는지 확인해주세요.", + "no_devices_found": "기기를 찾을 수 없습니다. 기기가 페어링 모드에 있는지 확인하고 검색이 실행되는 동안 절전모드가 해제되어있는지 확인해주세요.", "pairing_mode": "기기가 페어링 모드인지 확인해주세요. 기기의 페어링 모드 설정 방법은 기기의 설명서를 참조해주세요.", "search_again": "다시 찾기", "spinner": "ZHA Zigbee 기기를 찾고있습니다..." @@ -2725,6 +2727,7 @@ "caption": "네트워크" }, "visualization": { + "auto_zoom": "자동 확대", "caption": "시각화", "header": "네트워크 시각화", "highlight_label": "기기를 강조 표시하기", diff --git a/translations/frontend/lb.json b/translations/frontend/lb.json index d2eec88bfd..a8eaec9ade 100644 --- a/translations/frontend/lb.json +++ b/translations/frontend/lb.json @@ -102,6 +102,180 @@ "unknown": "Onbekannt" } }, + "supervisor": { + "common": { + "close": "Zoumaachen", + "error": { + "unknown": "Onbekannte Feeler", + "update_failed": "Feeler bei der Aktualiséierung" + }, + "learn_more": "Méi léieren", + "new_version_available": "Nei Versioun disponibel", + "restart": "Frësch starten", + "running_version": "Du benotz de Moment Versioun {version}" + }, + "dialog": { + "network": { + "connected_to": "Verbonne mat {ssid}", + "dhcp": "DHCP", + "disabled": "Deaktivéiert", + "dns_servers": "DNS Server", + "failed_to_change": "Feeler beim ännere vun den Netzwierk Astellungen", + "gateway": "Adress vun der Gateway", + "ip_netmask": "IP Adress/Netmask", + "open": "Offen", + "scan_ap": "No Access Points scannen", + "static": "Statesch", + "title": "Netzwierk Astellungen", + "unsaved": "Du hues net gespäichert Ännerungen, dës gi verluer wanns Du Tabs wiesselt, wëlls Du weiderfueren?", + "warning": "Falls du Wi-Fi, IP oder Gateway Adress änners, riskéiers du den Accès ze verléieren!", + "wep": "WEP", + "wpa": "wpa-psk" + }, + "registries": { + "add_new_registry": "Nei Registry dobäisetzen", + "add_registry": "Registry dobäisetzen", + "failed_to_add": "Feeler beim dobäisetze vun der Registry", + "failed_to_remove": "Feeler beim läschen vun der Registry", + "no_registries": "Keng Registry konfiguréiert", + "password": "Passwuert", + "registry": "Registry", + "remove": "Läschen", + "title_add": "Neie Container Registry dobäisetzen", + "title_manage": "Container Registry verwalten", + "username": "Benotzernumm" + }, + "repositories": { + "add": "Dobäisetzen", + "remove": "Läschen", + "title": "Add-On Depoten verwalten" + }, + "restart_addon": { + "confirm_text": "Add-On frësch starten", + "text": "Soll den Add-on mat dengem Ännerungen frësch gestart ginn?" + }, + "update": { + "create_snapshot": "Erstell ee Snapshot vun {name} virun der Aktualiséierung", + "snapshot": "Snapshot", + "snapshotting": "Snapshot vun {name} gëtt erstallt", + "updating": "Aktualiséiert {name} op Versioun {version}" + } + }, + "my": { + "error_addon_not_found": "Add-on net fonnt" + }, + "snapshot": { + "addons": "Add-ons", + "available_snapshots": "Verfügbar Snapshoten", + "could_not_create": "Feeler beim erstellen vum Snapshot", + "create": "Erstellen", + "create_blocked_not_running": "Ee Snapshot erstellen ass fir de Moment net méiglech well de System an engem {state} Zoustand ass.", + "create_snapshot": "Snapshot erstellen", + "description": "Snapshots erlaaben Dir all Home Assistant Instanz Donnéeën einfach ze backupen an ze restauréieren.", + "enter_password": "Gëff ee Passwuert an", + "folder": { + "addons/local": "Lokal Add-ons", + "homeassistant": "Home Assistant Konfiguratioun", + "media": "Medien", + "share": "Deelen", + "ssl": "SSL" + }, + "folders": "Dossieren", + "full_snapshot": "Komplette Snapshot", + "name": "Numm", + "no_snapshots": "Du hues nach keng Snapshoten.", + "partial_snapshot": "Deelweise Snapshot", + "password": "Passwuert", + "password_protected": "Duerch ee Passwuert geschützt", + "password_protection": "Passwuert Protektioun", + "security": "Sëcherheet", + "type": "Typ", + "upload_snapshot": "Snapshot eroplueden" + }, + "store": { + "no_results_found": "Keng Resultater fonnt am {repository}.", + "registries": "Registry", + "repositories": "Depoten" + }, + "system": { + "core": { + "cpu_usage": "Core CPU Verbrauch", + "ram_usage": "Core RAM Verbrauch" + }, + "host": { + "change": "Änneren", + "change_hostname": "Host Numm änneren", + "confirm_reboot": "Sécher fir den Host frësch ze starten?", + "confirm_shutdown": "Sécher fir den Host aus ze schalten?", + "deployment": "Deployment", + "docker_version": "Docker Versioun", + "emmc_lifetime_used": "eMMC Liewensdauer benotzt", + "failed_to_get_hardware_list": "Feeler beim liesen vun der Hardware Lëscht", + "failed_to_import_from_usb": "Feeler beim importéieren vun USB", + "failed_to_reboot": "Feeler beim frësch starten vum Host", + "failed_to_set_hostname": "Feeler beim setzen vum Host Numm", + "failed_to_shutdown": "Feeler beim ausschalten vum Host", + "hardware": "Hardware", + "hostname": "Host Numm", + "import_from_usb": "Vun USB importéieren", + "ip_address": "IP Adresse", + "new_hostname": "Gëff een neien Host Numm un:", + "operating_system": "Betribssystem", + "reboot_host": "Host frësch starten", + "shutdown_host": "Host Ausmaachen", + "used_space": "Benotzten Espace" + }, + "log": { + "get_logs": "Feeler beim liesen vun {provider} logs, {error}", + "log_provider": "Log Provider" + }, + "supervisor": { + "beta_backup": "Stell sécher dass du ee Backup vun dengen Donnéeën hues iers du dëse Feature aktivéiers.", + "beta_join_confirm": "Wëlls du dem Beta Kanal beitrieden?", + "beta_release_items": "Dëst enthält Beta Versiounen fir:", + "beta_warning": "Beta Versiounen si fir Tester an Early Adopter an können onstabile Code enthalen.", + "channel": "Kanal", + "cpu_usage": "Supervisor CPU Verbrauch", + "failed_to_reload": "Feeler beim frësch lueden vum Supervisor", + "failed_to_set_option": "Feeler beim setzen vun enger Optioun am Supervisor", + "failed_to_update": "Feeler beim Aktualiséieren vum Supervisor", + "join_beta_action": "Beta Kanal beitrieden", + "join_beta_description": "Beta Versioune fir Home Assistant (RCs), Supervisor an Host kréien", + "leave_beta_action": "Beta Kanal verloossen", + "leave_beta_description": "Stabil Versioune fir Home Assistant, Supervisor an Host kréien", + "ram_usage": "Supervisor RAM Verbrauch", + "reload_supervisor": "Supervisor frësch lueden", + "share_diagnostics": "Diagnose Informatioune deelen", + "share_diagnostics_description": "Crash Meldungan an Diagnose Informatioune deelen.", + "share_diagonstics_description": "Wëlls Du automatesch Crash Meldungen an Diagnosinformatiounen deelen wann de Supervisor een onerwaarte Feeler begéint?{line_break} Dëst erlaabt eis d'Problemer ze fixéieren, d'Informatioun ass nëmme fir den Home Assistant Core Team zougänglech a gëtt net mat aneren gedeelt.{line_break}D'Donnéeën enthalen keng privat / sensibel Informatioun an Du kanns dëst an den Astellungen ausschalten wanns Du wëlls.", + "share_diagonstics_title": "Hëllef Home Assistant ze verbesseren", + "unhealthy_description": "Eng ongesond Installatioun auszeféieren verursaacht Problemer. Hei drënner ass eng Lëscht vu Probleemer déi an denger Installatioun fonnt goufen, klick op d'Links fir ze léieren wéi's Du Problemer léise kanns.", + "unhealthy_reason": { + "docker": "Den Docker Environnement ass feelerhaft", + "privileged": "Supervisor ass net privilegéiert", + "setup": "Feeler beim ariichten vum Supervisor", + "supervisor": "Supervisor konnt net aktualiséiert ginn" + }, + "unhealthy_title": "Deng Installation ass ongesond", + "unsupported_description": "Hei drënner ass eng Lëscht vu Probleemer déi an denger Installatioun fonnt goufen, klick op d'Links fir ze léieren wéi's Du Problemer léise kanns.", + "unsupported_reason": { + "container": "Container vun deene mir wësse dass sie Problemer verursaachen", + "dbus": "DBUS", + "docker_configuration": "Docker Konfiguratioun", + "docker_version": "Docker Versioun", + "job_conditions": "Ignoréiert Job Konditiounen", + "lxc": "LXC", + "network_manager": "Netzwierk Manager", + "os": "Betribssystem", + "privileged": "Supervisor ass net privilegéiert", + "systemd": "Systemd" + }, + "unsupported_title": "Du benotz eng net ënnerstëtzten Installatioun", + "update_supervisor": "Supervisor aktualiséieren", + "warning": "WARNUNG" + } + } + }, "ui": { "auth_store": { "ask": "Soll dëse Login gespäichert ginn?", @@ -294,6 +468,13 @@ "yes": "Jo" }, "components": { + "addon-picker": { + "error": { + "no_supervisor": { + "title": "Keen Supervisor" + } + } + }, "area-picker": { "add_dialog": { "add": "Dobäisetzen", @@ -578,6 +759,9 @@ "person": { "create_zone": "Zone erstellen vun der aktueller Positioun" }, + "remote": { + "activity": "Aktuel Aktivitéit" + }, "restored": { "confirm_remove_text": "Sécher fir dës Entitéit ze läsche?", "confirm_remove_title": "Entitéit läschen?", @@ -698,6 +882,7 @@ "buttons": { "add": "Apparater via dësen Apparat dobäisetzen", "clusters": "Cluster verwalten", + "device_children": "Kanner uweisen", "reconfigure": "Apparat frësch konfiguréieren", "remove": "Apparat läschen", "zigbee_information": "Zigbee Apparat Informatiounen" @@ -705,6 +890,7 @@ "confirmations": { "remove": "Sécher fir den Apparat ze läsche?" }, + "device_children": "Zigbee Apparat Kanner", "device_signature": "Zigbee Apparat Signatur", "last_seen": "Fir d'läscht gesinn", "manuf": "vun {manufacturer}", @@ -739,6 +925,7 @@ "key_missing": "Néidege Schlëssel \"{key}\" feelt.", "key_not_expected": "Schlëssel \"{key}\" ass net erwaard oder vum visuellen Editeur ënnerstëtzt.", "key_wrong_type": "De Wäert fir \"{key}\" ass net vum visuelle Editeur ënnerstëtzt. Mir ënnerstëtzen ({type_correct}) mee mir kruuten ({type_wrong}).", + "no_template_editor_support": "Modeller net ënnerstëtzt am Visuellen Editeur", "no_type_provided": "Keen Typ uginn." } }, @@ -1173,6 +1360,8 @@ }, "introduction": "Plang Konfiguratioun erlabt et Pläng z'importéieren an deng Pläng ze verwalten.", "learn_more": "Méi iwwert Pläng léieren", + "share_blueprint": "Plang deelen", + "share_blueprint_no_url": "Kann de Plang net deelen: keng quell URL", "use_blueprint": "Automatisme erstellen" } }, @@ -2239,6 +2428,7 @@ "caption": "Netzwierk" }, "visualization": { + "auto_zoom": "Auto Zoom", "caption": "Visualisatioun", "header": "Visualisatioun vum Netzwierk", "zoom_label": "Op apparat vergréisseren" @@ -2275,7 +2465,12 @@ }, "zwave_js": { "dashboard": { - "dump_not_ready_confirm": "Eroflueden" + "driver_version": "Driver Versioun", + "dump_not_ready_confirm": "Eroflueden", + "server_version": "Server Versioun" + }, + "node_status": { + "unknown": "Onbekannt" } }, "zwave": { @@ -2923,7 +3118,8 @@ "playback_title": "Noriicht ofspillen" }, "my": { - "documentation": "Dokumentatioun" + "documentation": "Dokumentatioun", + "no_supervisor": "Dëse Redirect gëtt net vun Denger Home Assistant Installatioun ënnerstëtzt. Et brauch entweder een Home Assistant Betribssystem oder eng Home Assistant Superviséiert Installatiounsmethod. Fir méi Informatiounen, kuck {docs_link}." }, "page-authorize": { "abort_intro": "Login ofgebrach", diff --git a/translations/frontend/nl.json b/translations/frontend/nl.json index 60bbb03a5a..6533be73bc 100644 --- a/translations/frontend/nl.json +++ b/translations/frontend/nl.json @@ -1145,6 +1145,7 @@ "buttons": { "add": "Apparaten toevoegen via dit apparaat", "clusters": "Clusters beheren", + "device_children": "Toon kinderen", "reconfigure": "Apparaat opnieuw configureren", "remove": "Verwijder apparaat", "view_in_visualization": "Bekijk in Visualisatie", @@ -1153,6 +1154,7 @@ "confirmations": { "remove": "Weet je zeker dat je het apparaat wilt verwijderen?" }, + "device_children": "Kinderen van Zigbee-apparaat", "device_signature": "Handtekening van het Zigbee-apparaat", "last_seen": "Laatst gezien", "manuf": "door {manufacturer}", @@ -1187,6 +1189,7 @@ "key_missing": "Verplichte sleutel \"{key}\" ontbreekt.", "key_not_expected": "Sleutel \"{key}\" wordt niet verwacht of ondersteund door de visuele editor.", "key_wrong_type": "De opgegeven waarde voor \" {key} \" wordt niet ondersteund door de visuele editor. We ondersteunen ( {type_correct} ) maar hebben ( {type_wrong} ) ontvangen.", + "no_template_editor_support": "Sjablonen worden niet ondersteund in visuele editor", "no_type_provided": "Geen type opgegeven." } }, @@ -2081,7 +2084,7 @@ "devices": "{count} {count, plural,\n one {apparaat}\n other {apparaten}\n}", "disable_restart_confirm": "Start Home Assistant opnieuw op om het uitzetten van deze integratie te voltooien", "disable": { - "disable_confirm": "Weet je zeker dat je deze configuratie wilt uitschakelen? Al zijn apparaten en entiteiten zullen worden uitgeschakeld.", + "disable_confirm": "Weet je zeker dat je deze configuratie wilt uitschakelen? Al diens apparaten en entiteiten zullen worden uitgeschakeld.", "disabled": "Uitgeschakeld", "disabled_by": { "device": "apparaat", @@ -2347,7 +2350,7 @@ "session": "Het verkrijgen van zelden veranderende waarden uit het knooppunt", "static": "Statische waarden ophalen van het apparaat", "versions": "Het verkrijgen van informatie over firmware en commandoklasseversies", - "wakeup": "Ondersteuning instellen voor waakwachtrijen en berichten" + "wakeup": "Ondersteuning instellen voor wek-wachtrijen en berichten" }, "node": { "button": "Node details", @@ -2648,7 +2651,7 @@ "add_device": "Apparaat toevoegen", "add_device_page": { "discovered_text": "Apparaten zullen hier verschijnen zodra ze zijn ontdekt.", - "no_devices_found": "Geen apparaten gevonden, zorg ervoor dat ze in de koppelingsmodus staan en dat de apparaten activiteit blijven maken gedurende het koppelen.", + "no_devices_found": "Geen apparaten gevonden, zorg ervoor dat ze in de koppelingsmodus staan en dat de apparaten actief blijven gedurende het koppelen.", "pairing_mode": "Zorg ervoor dat de apparaten in de koppelingsmodus staan. Kijk in de instructies van het apparaat hoe dit moet.", "search_again": "Opnieuw zoeken", "spinner": "Zoeken naar ZHA Zigbee-apparaten ..." @@ -2724,6 +2727,7 @@ "caption": "Netwerk" }, "visualization": { + "auto_zoom": "Automatische zoom", "caption": "Visualisatie", "header": "Netwerkvisualisatie", "highlight_label": "Markeer Apparaten", @@ -2836,7 +2840,7 @@ "instance": "Exemplaar", "unknown": "onbekend", "value": "Waarde", - "wakeup_interval": "Activeringsinterval" + "wakeup_interval": "Wek-interval" }, "description": "Beheer je Z-Wave-netwerk", "learn_more": "Meer informatie over Z-Wave", @@ -2865,7 +2869,7 @@ "header": "Knooppunt Configuratie Opties", "seconds": "Seconden", "set_config_parameter": "Stel de configuratieparameter in", - "set_wakeup": "Activeringsinterval instellen", + "set_wakeup": "Wek-interval instellen", "true": "Waar" }, "node_management": { diff --git a/translations/frontend/ru.json b/translations/frontend/ru.json index dd20bf6918..ad1e4bafde 100644 --- a/translations/frontend/ru.json +++ b/translations/frontend/ru.json @@ -1145,6 +1145,7 @@ "buttons": { "add": "Добавить устройства через это устройство", "clusters": "Управление кластерами", + "device_children": "Дочерние устройства", "reconfigure": "Перенастроить устройство", "remove": "Удалить устройство", "view_in_visualization": "Просмотреть на схеме визуализации сети", @@ -1153,6 +1154,7 @@ "confirmations": { "remove": "Вы уверены, что хотите удалить это устройство?" }, + "device_children": "Дочерние устройства Zigbee", "device_signature": "Подпись устройства Zigbee", "last_seen": "Устройство было в сети", "manuf": "{manufacturer}", @@ -2725,6 +2727,7 @@ "caption": "Сеть" }, "visualization": { + "auto_zoom": "Автоматическое приближение", "caption": "Визуализация", "header": "Визуализация сети", "highlight_label": "Выделить устройства", diff --git a/translations/frontend/zh-Hans.json b/translations/frontend/zh-Hans.json index 9c980cfe08..29a9b99b81 100644 --- a/translations/frontend/zh-Hans.json +++ b/translations/frontend/zh-Hans.json @@ -946,6 +946,7 @@ "buttons": { "add": "通过此设备添加设备", "clusters": "管理簇", + "device_children": "查看子设备", "reconfigure": "重新配置设备", "remove": "删除设备", "view_in_visualization": "可视化查看", @@ -954,6 +955,7 @@ "confirmations": { "remove": "您确定要删除此设备吗?" }, + "device_children": "Zigbee 子设备", "device_signature": "Zigbee 设备签名", "last_seen": "上次发现", "manuf": "制造商:{manufacturer}", @@ -988,6 +990,7 @@ "key_missing": "缺少必需的键“{key}”。", "key_not_expected": "“{key}”选项不可用,或不被可视化编辑器支持。", "key_wrong_type": "“{key}”的值不受可视化编辑器支持。支持 ({type_correct}) 但得到 ({type_wrong})。", + "no_template_editor_support": "可视化编辑器不支持模板", "no_type_provided": "未提供类型。" } }, @@ -2525,6 +2528,7 @@ "caption": "网络" }, "visualization": { + "auto_zoom": "自动缩放", "caption": "可视化", "header": "网络可视化", "highlight_label": "高亮显示设备", diff --git a/translations/frontend/zh-Hant.json b/translations/frontend/zh-Hant.json index 47868bf45e..d29e6315b8 100644 --- a/translations/frontend/zh-Hant.json +++ b/translations/frontend/zh-Hant.json @@ -1145,6 +1145,7 @@ "buttons": { "add": "透過這個裝置來新增裝置", "clusters": "管理叢集", + "device_children": "檢視子設備", "reconfigure": "重新設定裝置", "remove": "移除裝置", "view_in_visualization": "網路形象化", @@ -1153,6 +1154,7 @@ "confirmations": { "remove": "確定要移除此裝置?" }, + "device_children": "Zigbee 裝置子設備", "device_signature": "Zigbee 裝置簽章", "last_seen": "上次出現", "manuf": "由 {manufacturer}", @@ -1187,6 +1189,7 @@ "key_missing": "缺少所需的權杖 \"{key}\"。", "key_not_expected": "視覺化編輯器不支援權杖 \"{key}\"。", "key_wrong_type": "視覺化編輯器不支援所提供的 \"{key}\" 數值。支援 ({type_correct}) 但卻收到 ({type_wrong})。", + "no_template_editor_support": "視覺化編輯器不支援模版", "no_type_provided": "未提供類型。" } }, @@ -1342,7 +1345,7 @@ "wait_template": "等待模板" } }, - "unsupported_action": "UI 介面不支援觸發動作:{action}" + "unsupported_action": "視覺化編輯器不支援觸發動作:{action}" }, "alias": "名稱", "blueprint": { @@ -1425,7 +1428,7 @@ "zone": "區域" } }, - "unsupported_condition": "UI 介面不支援觸發判斷:{condition}" + "unsupported_condition": "視覺化編輯器不支援觸發判斷:{condition}" }, "copy_to_clipboard": "複製至剪貼簿", "default_name": "建立新的自動化", @@ -1433,7 +1436,7 @@ "label": "說明", "placeholder": "選項說明" }, - "edit_ui": "以 UI 編輯", + "edit_ui": "以視覺化編輯器編輯", "edit_yaml": "以 YAML 編輯", "enable_disable": "開啟/關閉自動化", "introduction": "運用自動化、讓智能家居更具魅力吧。", @@ -1555,7 +1558,7 @@ "zone": "區域" } }, - "unsupported_platform": "UI 介面不支援平台:{platform}" + "unsupported_platform": "視覺化編輯器不支援平台:{platform}" }, "unsaved_confirm": "設定尚未儲存,確定要放棄嗎?" }, @@ -2724,6 +2727,7 @@ "caption": "網路" }, "visualization": { + "auto_zoom": "自動縮放", "caption": "形象化", "header": "網路形象化", "highlight_label": "高亮顯示裝置", From 9ec4e083d93f11f01a8d317470d4eade0c1a0fee Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 9 Mar 2021 11:21:59 +0100 Subject: [PATCH 046/164] Change layout of automation yaml editor (#8560) --- src/components/entity/ha-entity-toggle.ts | 25 ++-- .../config/automation/ha-automation-editor.ts | 114 ++++++++++-------- 2 files changed, 84 insertions(+), 55 deletions(-) diff --git a/src/components/entity/ha-entity-toggle.ts b/src/components/entity/ha-entity-toggle.ts index 93bd745e87..10fb56e096 100644 --- a/src/components/entity/ha-entity-toggle.ts +++ b/src/components/entity/ha-entity-toggle.ts @@ -17,6 +17,7 @@ import { forwardHaptic } from "../../data/haptics"; import { HomeAssistant } from "../../types"; import "../ha-icon-button"; import "../ha-switch"; +import "../ha-formfield"; const isOn = (stateObj?: HassEntity) => stateObj !== undefined && @@ -29,6 +30,8 @@ export class HaEntityToggle extends LitElement { @property() public stateObj?: HassEntity; + @property() public label?: string; + @internalProperty() private _isOn = false; protected render(): TemplateResult { @@ -55,15 +58,21 @@ export class HaEntityToggle extends LitElement { `; } + const switchTemplate = html``; + + if (!this.label) { + return switchTemplate; + } + return html` - + ${switchTemplate} `; } diff --git a/src/panels/config/automation/ha-automation-editor.ts b/src/panels/config/automation/ha-automation-editor.ts index dca916a6d0..a7af6b6879 100644 --- a/src/panels/config/automation/ha-automation-editor.ts +++ b/src/panels/config/automation/ha-automation-editor.ts @@ -197,7 +197,11 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) { ${this.narrow ? html` ${this._config?.alias} ` : ""} -
+
${this._errors ? html`
${this._errors}
` : ""} @@ -223,52 +227,52 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) { ` : this._mode === "yaml" ? html` - - ${!this.narrow - ? html` - ${this._config.alias} - ` - : ``} - -
- - - ${this.hass.localize( - "ui.panel.config.automation.editor.copy_to_clipboard" - )} - -
- ${stateObj - ? html` -
-
- - ${this.hass.localize( - "ui.panel.config.automation.editor.enable_disable" - )} -
- - ${this.hass.localize( - "ui.card.automation.trigger" - )} - -
- ` - : ""} -
-
+ ${!this.narrow + ? html` +
+ ${this._config.alias} +
+ ${stateObj + ? html` +
+ + + + ${this.hass.localize( + "ui.card.automation.trigger" + )} + +
+ ` + : ""} +
+ ` + : ``} + +
+ + ${this.hass.localize( + "ui.panel.config.automation.editor.copy_to_clipboard" + )} + +
+
` : ``}
@@ -531,6 +535,22 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) { .content { padding-bottom: 20px; } + .yaml-mode { + height: 100%; + display: flex; + flex-direction: column; + padding-bottom: 0; + } + ha-yaml-editor { + flex-grow: 1; + --code-mirror-height: 100%; + min-height: 0; + } + .yaml-mode ha-card { + overflow: initial; + --ha-card-border-radius: 0; + border-bottom: 1px solid var(--divider-color); + } p { margin-bottom: 0; } From 41852460e15164d78e2f1986208a082149e5e783 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 9 Mar 2021 11:23:02 +0100 Subject: [PATCH 047/164] Improve code mirror comments check (#8585) --- package.json | 2 +- src/components/ha-code-editor.ts | 11 +++++++++++ src/panels/lovelace/hui-editor.ts | 2 +- src/resources/codemirror.ts | 15 ++++++++++----- yarn.lock | 14 +++++++------- 5 files changed, 30 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index f2114f3125..f57b523722 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "@braintree/sanitize-url": "^5.0.0", "@codemirror/commands": "^0.18.0", "@codemirror/gutter": "^0.18.0", - "@codemirror/highlight": "^0.18.1", + "@codemirror/highlight": "^0.18.0", "@codemirror/history": "^0.18.0", "@codemirror/legacy-modes": "^0.18.0", "@codemirror/rectangular-selection": "^0.18.0", diff --git a/src/components/ha-code-editor.ts b/src/components/ha-code-editor.ts index 1ec42a3dd8..064383ccbf 100644 --- a/src/components/ha-code-editor.ts +++ b/src/components/ha-code-editor.ts @@ -47,6 +47,17 @@ export class HaCodeEditor extends UpdatingElement { return this.codemirror ? this.codemirror.state.doc.toString() : this._value; } + public get hasComments(): boolean { + if (!this.codemirror || !this._loadedCodeMirror) { + return false; + } + const className = this._loadedCodeMirror.HighlightStyle.get( + this.codemirror.state, + this._loadedCodeMirror.tags.comment + ); + return !!this.shadowRoot!.querySelector(`span.${className}`); + } + public connectedCallback() { super.connectedCallback(); if (!this.codemirror) { diff --git a/src/panels/lovelace/hui-editor.ts b/src/panels/lovelace/hui-editor.ts index d1b42574ab..9766279d3d 100644 --- a/src/panels/lovelace/hui-editor.ts +++ b/src/panels/lovelace/hui-editor.ts @@ -248,7 +248,7 @@ class LovelaceFullConfigEditor extends LitElement { return; } - if (/^#|\s#/gm.test(value)) { + if (this.yamlEditor.hasComments) { if ( !confirm( this.hass.localize( diff --git a/src/resources/codemirror.ts b/src/resources/codemirror.ts index 18e353b4a5..75ed71495a 100644 --- a/src/resources/codemirror.ts +++ b/src/resources/codemirror.ts @@ -1,19 +1,24 @@ import { HighlightStyle, tags } from "@codemirror/highlight"; -import { EditorView as CMEditorView, KeyBinding } from "@codemirror/view"; +import { EditorView, 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"; import { indentLess, indentMore } from "@codemirror/commands"; import { Compartment } from "@codemirror/state"; -export { keymap, highlightActiveLine, drawSelection } from "@codemirror/view"; -export { CMEditorView as EditorView }; +export { + keymap, + highlightActiveLine, + drawSelection, + EditorView, +} from "@codemirror/view"; export { EditorState, Prec } from "@codemirror/state"; export { defaultKeymap } from "@codemirror/commands"; export { lineNumbers } from "@codemirror/gutter"; export { searchKeymap, highlightSelectionMatches } from "@codemirror/search"; export { history, historyKeymap } from "@codemirror/history"; export { rectangularSelection } from "@codemirror/rectangular-selection"; +export { HighlightStyle, tags } from "@codemirror/highlight"; export const langs = { jinja2: StreamLanguage.define(jinja2), @@ -31,7 +36,7 @@ export const tabKeyBindings: KeyBinding[] = [ }, ]; -export const theme = CMEditorView.theme({ +export const theme = EditorView.theme({ "&": { color: "var(--primary-text-color)", backgroundColor: @@ -133,7 +138,7 @@ export const theme = CMEditorView.theme({ "2px solid var(--paper-input-container-focus-color, var(--primary-color))", paddingRight: "0", }, - ".cm-gutterElementags.lineNumber": { color: "inherit" }, + ".cm-gutterElement.lineNumber": { color: "inherit" }, }); export const highlightStyle = HighlightStyle.define([ diff --git a/yarn.lock b/yarn.lock index c43e85b834..0e99fa45a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1926,10 +1926,10 @@ "@codemirror/state" "^0.18.0" "@codemirror/view" "^0.18.0" -"@codemirror/highlight@^0.18.0", "@codemirror/highlight@^0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@codemirror/highlight/-/highlight-0.18.1.tgz#9ba1e842dd149b9985ee48cfdbeff6ef191378bb" - integrity sha512-SBbz6hS7/vUrgeiwTBByx/UXY8+Tkdyk7/CUq+XfgGUwPXpK8+llzBlQHa4mov46f/wAy1qoj0uobfgSjcvEpQ== +"@codemirror/highlight@^0.18.0": + version "0.18.3" + resolved "https://registry.yarnpkg.com/@codemirror/highlight/-/highlight-0.18.3.tgz#50e268630f113c322a2dc97c9f68d71934fffcb0" + integrity sha512-NmRmkmWl8ht6Y6Y39ghov84AMPCqhUPIH9fmILs2NaWxZFZf4jGCTzrULnmREGsTie+26+LbKUncIU+PBu1Qng== dependencies: "@codemirror/language" "^0.18.0" "@codemirror/rangeset" "^0.18.0" @@ -2035,9 +2035,9 @@ integrity sha512-HMzHNIAbjCiCf3tEJMRg6ul01KPuXxQGNiHlHgAnqPguq/CX+L4Nvj5JlWQAI91Pupk18zhmM1c6eaazX4YeTg== "@codemirror/view@^0.18.0": - version "0.18.0" - resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-0.18.0.tgz#3bbb95d71fd526460acb0de724846851d0f7137c" - integrity sha512-+ll9SL8dIAvaI4OMv4wZWRrW6AGUY45Al5L88KIp+bd1jFKYO1cu21UXAG25EvqYInZ4ctc6el0vYRP9A+VOrw== + version "0.18.1" + resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-0.18.1.tgz#5fbc97acd28997ed2aafbe6e8d48d9446b4bf5ff" + integrity sha512-chyy+oEnywKMUFDMafVAMcrV+DkjJT3l6pSfN1cvM2LBM/eY54gekv/aXtmsBFRSnd+u09mhjb/kGB+EdNHIjg== dependencies: "@codemirror/rangeset" "^0.18.0" "@codemirror/state" "^0.18.0" From ca3cac4ed33991f60875d4bf692fdb17ba7f1b0c Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 9 Mar 2021 11:23:31 +0100 Subject: [PATCH 048/164] Fix missing areas in area picker (#8594) --- src/components/ha-area-picker.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/ha-area-picker.ts b/src/components/ha-area-picker.ts index 0bf8fb199f..10a9f9881e 100644 --- a/src/components/ha-area-picker.ts +++ b/src/components/ha-area-picker.ts @@ -140,7 +140,7 @@ export class HaAreaPicker extends SubscribeMixin(LitElement) { this._devices = devices; }), subscribeEntityRegistry(this.hass.connection!, (entities) => { - this._entities = entities.filter((entity) => entity.area_id); + this._entities = entities; }), ]; } @@ -193,13 +193,13 @@ export class HaAreaPicker extends SubscribeMixin(LitElement) { deviceEntityLookup[entity.device_id].push(entity); } inputDevices = devices; - inputEntities = entities; + inputEntities = entities.filter((entity) => entity.area_id); } else { if (deviceFilter) { inputDevices = devices; } if (entityFilter) { - inputEntities = entities; + inputEntities = entities.filter((entity) => entity.area_id); } } From 2e76b306c4ad2c198797c24ed7d10c650ba1f87e Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 9 Mar 2021 11:56:26 +0100 Subject: [PATCH 049/164] Add guard for when default url is not available (#8593) --- src/layouts/hass-error-screen.ts | 24 +++++++++++--- src/layouts/hass-loading-screen.ts | 4 +-- src/layouts/partial-panel-resolver.ts | 47 +++++++++++++++------------ 3 files changed, 48 insertions(+), 27 deletions(-) diff --git a/src/layouts/hass-error-screen.ts b/src/layouts/hass-error-screen.ts index 75642c5e0b..d7b9f5ea4c 100644 --- a/src/layouts/hass-error-screen.ts +++ b/src/layouts/hass-error-screen.ts @@ -9,7 +9,8 @@ import { TemplateResult, } from "lit-element"; import { HomeAssistant } from "../types"; -import "./hass-subpage"; +import "../components/ha-menu-button"; +import "../components/ha-icon-button-arrow-prev"; @customElement("hass-error-screen") class HassErrorScreen extends LitElement { @@ -17,16 +18,29 @@ class HassErrorScreen extends LitElement { @property({ type: Boolean }) public toolbar = true; + @property({ type: Boolean }) public rootnav = false; + + @property() public narrow?: boolean; + @property() public error?: string; protected render(): TemplateResult { return html` ${this.toolbar ? html`
- + ${this.rootnav + ? html` + + ` + : html` + + `}
` : ""}
diff --git a/src/layouts/hass-loading-screen.ts b/src/layouts/hass-loading-screen.ts index ae7d41e8ea..40582f15b4 100644 --- a/src/layouts/hass-loading-screen.ts +++ b/src/layouts/hass-loading-screen.ts @@ -16,13 +16,13 @@ import { HomeAssistant } from "../types"; @customElement("hass-loading-screen") class HassLoadingScreen extends LitElement { + @property({ attribute: false }) public hass?: HomeAssistant; + @property({ type: Boolean, attribute: "no-toolbar" }) public noToolbar = false; @property({ type: Boolean }) public rootnav = false; - @property({ attribute: false }) public hass?: HomeAssistant; - @property() public narrow?: boolean; protected render(): TemplateResult { diff --git a/src/layouts/partial-panel-resolver.ts b/src/layouts/partial-panel-resolver.ts index 0c37a91b6d..cbc3cdfefb 100644 --- a/src/layouts/partial-panel-resolver.ts +++ b/src/layouts/partial-panel-resolver.ts @@ -7,6 +7,7 @@ import { import { customElement, property, PropertyValues } from "lit-element"; import { deepActiveElement } from "../common/dom/deep-active-element"; import { deepEqual } from "../common/util/deep-equal"; +import { getDefaultPanel } from "../data/panel"; import { CustomPanelInfo } from "../data/panel_custom"; import { HomeAssistant, Panels } from "../types"; import { removeInitSkeleton } from "../util/init-skeleton"; @@ -37,25 +38,6 @@ const COMPONENTS = { import("../panels/media-browser/ha-panel-media-browser"), }; -const getRoutes = (panels: Panels): RouterOptions => { - const routes: RouterOptions["routes"] = {}; - Object.values(panels).forEach((panel) => { - const data: RouteOptions = { - tag: `ha-panel-${panel.component_name}`, - cache: CACHE_URL_PATHS.includes(panel.url_path), - }; - if (panel.component_name in COMPONENTS) { - data.load = COMPONENTS[panel.component_name]; - } - routes[panel.url_path] = data; - }); - - return { - showLoading: true, - routes, - }; -}; - @customElement("partial-panel-resolver") class PartialPanelResolver extends HassRouterPage { @property({ attribute: false }) public hass!: HomeAssistant; @@ -144,6 +126,31 @@ class PartialPanelResolver extends HassRouterPage { } } + private getRoutes(panels: Panels): RouterOptions { + const routes: RouterOptions["routes"] = {}; + Object.values(panels).forEach((panel) => { + const data: RouteOptions = { + tag: `ha-panel-${panel.component_name}`, + cache: CACHE_URL_PATHS.includes(panel.url_path), + }; + if (panel.component_name in COMPONENTS) { + data.load = COMPONENTS[panel.component_name]; + } + routes[panel.url_path] = data; + }); + + return { + beforeRender: (page) => { + if (!page || !routes[page]) { + return getDefaultPanel(this.hass).url_path; + } + return undefined; + }, + showLoading: true, + routes, + }; + } + private _onHidden() { this._hiddenTimeout = window.setTimeout(() => { this._hiddenTimeout = undefined; @@ -191,7 +198,7 @@ class PartialPanelResolver extends HassRouterPage { } private async _updateRoutes(oldPanels?: HomeAssistant["panels"]) { - this.routerOptions = getRoutes(this.hass.panels); + this.routerOptions = this.getRoutes(this.hass.panels); if ( !this._waitForStart && From 68ea1abc051193faf3fd4f94b9ced3855e4d60d3 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 9 Mar 2021 15:26:26 +0100 Subject: [PATCH 050/164] Fallback to yaml for service data if unknown key is in data (#8595) --- src/components/ha-service-control.ts | 55 ++++++++++++++++------------ 1 file changed, 31 insertions(+), 24 deletions(-) diff --git a/src/components/ha-service-control.ts b/src/components/ha-service-control.ts index 3997bfcf52..7b2caa9e9c 100644 --- a/src/components/ha-service-control.ts +++ b/src/components/ha-service-control.ts @@ -36,6 +36,7 @@ interface ExtHassService extends Omit { example?: any; selector?: Selector; }[]; + hasSelector: string[]; } @customElement("ha-service-control") @@ -52,8 +53,6 @@ export class HaServiceControl extends LitElement { @property({ type: Boolean }) public showAdvanced?: boolean; - @internalProperty() private _serviceData?: ExtHassService; - @internalProperty() private _checkedKeys = new Set(); @query("ha-yaml-editor") private _yamlEditor?: HaYamlEditor; @@ -70,13 +69,11 @@ export class HaServiceControl extends LitElement { this._checkedKeys = new Set(); } - this._serviceData = this.value?.service - ? this._getServiceInfo(this.value.service) - : undefined; + const serviceData = this._getServiceInfo(this.value?.service); if ( - this._serviceData && - "target" in this._serviceData && + serviceData && + "target" in serviceData && (this.value?.data?.entity_id || this.value?.data?.area_id || this.value?.data?.device_id) @@ -119,7 +116,7 @@ export class HaServiceControl extends LitElement { return ENTITY_COMPONENT_DOMAINS.includes(domain) ? [domain] : null; }); - private _getServiceInfo = memoizeOne((service: string): + private _getServiceInfo = memoizeOne((service?: string): | ExtHassService | undefined => { if (!service) { @@ -147,23 +144,29 @@ export class HaServiceControl extends LitElement { return { ...serviceDomains[domain][serviceName], fields, + hasSelector: fields.length + ? fields.filter((field) => field.selector).map((field) => field.key) + : [], }; }); protected render() { - const legacy = - this._serviceData?.fields.length && - !this._serviceData.fields.some((field) => field.selector); + const serviceData = this._getServiceInfo(this.value?.service); + + const shouldRenderServiceDataYaml = + (serviceData?.fields.length && !serviceData.hasSelector.length) || + (serviceData && + Object.keys(this.value?.data || {}).some( + (key) => !serviceData!.hasSelector.includes(key) + )); const entityId = - legacy && - this._serviceData?.fields.find((field) => field.key === "entity_id"); + shouldRenderServiceDataYaml && + serviceData?.fields.find((field) => field.key === "entity_id"); const hasOptional = Boolean( - !legacy && - this._serviceData?.fields.some( - (field) => field.selector && !field.required - ) + !shouldRenderServiceDataYaml && + serviceData?.fields.some((field) => field.selector && !field.required) ); return html` -

${this._serviceData?.description}

- ${this._serviceData && "target" in this._serviceData +

${serviceData?.description}

+ ${serviceData && "target" in serviceData ? html` ${hasOptional ? html`
` @@ -188,8 +191,8 @@ export class HaServiceControl extends LitElement { )}` : ""} - ${legacy + ${shouldRenderServiceDataYaml ? html`` - : this._serviceData?.fields.map((dataField) => - dataField.selector && (!dataField.advanced || this.showAdvanced) + : serviceData?.fields.map((dataField) => + dataField.selector && + (!dataField.advanced || + this.showAdvanced || + (this.value?.data && + this.value.data[dataField.key] !== undefined)) ? html` ${dataField.required ? hasOptional From e50fd80b2ed332b974bb27095f9ed0b0efe15c88 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 9 Mar 2021 06:30:29 -0800 Subject: [PATCH 051/164] Add particles to onboarding (#8567) --- package.json | 1 + src/html/onboarding.html.template | 52 +++++++++------ src/onboarding/ha-onboarding.ts | 3 + src/onboarding/onboarding-create-user.ts | 2 +- src/onboarding/particles.ts | 82 ++++++++++++++++++++++++ yarn.lock | 12 ++++ 6 files changed, 133 insertions(+), 19 deletions(-) create mode 100644 src/onboarding/particles.ts diff --git a/package.json b/package.json index f57b523722..d897135776 100644 --- a/package.json +++ b/package.json @@ -132,6 +132,7 @@ "sortablejs": "^1.10.2", "superstruct": "^0.10.13", "tinykeys": "^1.1.1", + "tsparticles": "^1.19.2", "unfetch": "^4.1.0", "vis-data": "^7.1.1", "vis-network": "^8.5.4", diff --git a/src/html/onboarding.html.template b/src/html/onboarding.html.template index b4bf31b620..e38f06a4d5 100644 --- a/src/html/onboarding.html.template +++ b/src/html/onboarding.html.template @@ -7,24 +7,16 @@ - +
- + Home Assistant
@@ -76,4 +92,4 @@ })(); - \ No newline at end of file + diff --git a/src/onboarding/ha-onboarding.ts b/src/onboarding/ha-onboarding.ts index a460ab60d5..8bd4e25210 100644 --- a/src/onboarding/ha-onboarding.ts +++ b/src/onboarding/ha-onboarding.ts @@ -121,6 +121,9 @@ class HaOnboarding extends litLocalizeLiteMixin(HassElement) { import("./onboarding-core-config"); registerServiceWorker(this, false); this.addEventListener("onboarding-step", (ev) => this._handleStepDone(ev)); + if (window.innerWidth > 450) { + import("./particles"); + } } protected updated(changedProps: PropertyValues) { diff --git a/src/onboarding/onboarding-create-user.ts b/src/onboarding/onboarding-create-user.ts index bb3f27ba2e..63cff1ca6e 100644 --- a/src/onboarding/onboarding-create-user.ts +++ b/src/onboarding/onboarding-create-user.ts @@ -206,7 +206,7 @@ class OnboardingCreateUser extends LitElement { } .action { - margin: 32px 0; + margin: 32px 0 16px; text-align: center; } `; diff --git a/src/onboarding/particles.ts b/src/onboarding/particles.ts new file mode 100644 index 0000000000..e3f49dd2a5 --- /dev/null +++ b/src/onboarding/particles.ts @@ -0,0 +1,82 @@ +import { tsParticles } from "tsparticles"; + +tsParticles.load("particles", { + // autoPlay: true, + fullScreen: { + enable: true, + zIndex: -1, + }, + detectRetina: true, + fpsLimit: 60, + motion: { + disable: false, + reduce: { + factor: 4, + value: true, + }, + }, + particles: { + color: { + value: "#fff", + animation: { + enable: true, + speed: 50, + sync: false, + }, + }, + links: { + color: { + value: "random", + }, + distance: 100, + enable: true, + frequency: 1, + opacity: 0.7, + width: 1, + }, + move: { + enable: true, + speed: 0.5, + }, + number: { + density: { + enable: true, + area: 800, + factor: 1000, + }, + limit: 0, + value: 50, + }, + opacity: { + random: { + enable: true, + minimumValue: 0.3, + }, + value: 0.5, + animation: { + destroy: "none", + enable: true, + minimumValue: 0.3, + speed: 0.5, + startValue: "random", + sync: false, + }, + }, + size: { + random: { + enable: true, + minimumValue: 1, + }, + value: 3, + animation: { + destroy: "none", + enable: true, + minimumValue: 1, + speed: 3, + startValue: "random", + sync: false, + }, + }, + }, + pauseOnBlur: true, +}); diff --git a/yarn.lock b/yarn.lock index 0e99fa45a0..f2806a4f66 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11209,6 +11209,11 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pathseg@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pathseg/-/pathseg-1.2.0.tgz#22af051e28037671e7799e296fe96c5dcbe53acd" + integrity sha512-+pQS7lTaoVIXhaCW7R3Wd/165APzZHWzYVqe7dxzdupxQwebgpBaCmf0/XZwmoA/rkDq3qvzO0qv4d5oFVrBRw== + pathval@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" @@ -13399,6 +13404,13 @@ tslib@^2.0.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== +tsparticles@^1.19.2: + version "1.19.2" + resolved "https://registry.yarnpkg.com/tsparticles/-/tsparticles-1.19.2.tgz#056d26149e67155e99efbfb1ea8f521fcc66520c" + integrity sha512-DqoseKpYxXAsmpUmXcqf4d7QK7zEcLcrcxjGB4qA6hn9XonVo1oa9hf1XaCgO/H23Dh4Ia31Z4DcSAgsqSt5Xg== + optionalDependencies: + pathseg "^1.2.0" + tsscmp@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" From a475e143b7908036fff7a0599dad82438480fd10 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Mar 2021 19:31:27 +0100 Subject: [PATCH 052/164] Bump elliptic from 6.5.3 to 6.5.4 (#8603) Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/yarn.lock b/yarn.lock index f2806a4f66..0844e66263 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5124,10 +5124,10 @@ bmp-js@^0.1.0: resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.1.0.tgz#e05a63f796a6c1ff25f4771ec7adadc148c07233" integrity sha1-4Fpj95amwf8l9Hcex62twUjAcjM= -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: - version "4.11.9" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== bn.js@^5.1.1: version "5.1.2" @@ -5215,7 +5215,7 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.0.1: +brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= @@ -6713,17 +6713,17 @@ elegant-spinner@^1.0.1: integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= elliptic@^6.0.0, elliptic@^6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" + bn.js "^4.11.9" + brorand "^1.1.0" hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" emoji-regex@^7.0.1: version "7.0.3" @@ -8336,7 +8336,7 @@ hls.js@^0.13.2: eventemitter3 "3.1.0" url-toolkit "^2.1.6" -hmac-drbg@^1.0.0: +hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= @@ -8602,20 +8602,20 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= -inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= ini@^1.3.4, ini@~1.3.0: version "1.3.7" @@ -10197,7 +10197,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: +minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= From e2f07f672376fbfeadf4c795859b4cf16e913243 Mon Sep 17 00:00:00 2001 From: Mick Vleeshouwer Date: Tue, 9 Mar 2021 19:32:06 +0100 Subject: [PATCH 053/164] Add support for DEVICE_CLASS_CO and CO2 (#8602) --- src/common/const.ts | 2 ++ src/util/hass-attributes-util.ts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/common/const.ts b/src/common/const.ts index 0b3e70ed03..6ec749d662 100644 --- a/src/common/const.ts +++ b/src/common/const.ts @@ -56,6 +56,8 @@ export const FIXED_DOMAIN_ICONS = { export const FIXED_DEVICE_CLASS_ICONS = { current: "hass:current-ac", + carbon_dioxide: "mdi:molecule-co2", + carbon_monoxide: "mdi:molecule-co", energy: "hass:flash", humidity: "hass:water-percent", illuminance: "hass:brightness-5", diff --git a/src/util/hass-attributes-util.ts b/src/util/hass-attributes-util.ts index 1b9c521e34..95bfee3e96 100644 --- a/src/util/hass-attributes-util.ts +++ b/src/util/hass-attributes-util.ts @@ -40,6 +40,8 @@ const hassAttributeUtil = { humidifier: ["dehumidifier", "humidifier"], sensor: [ "battery", + "carbon_dioxide", + "carbon_monoxide", "current", "energy", "humidity", From 7f21a2b3195ce2b9031080f5c66f07ce568cdfd3 Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Tue, 9 Mar 2021 20:38:26 +0100 Subject: [PATCH 054/164] Properly align date time input fields around suffix separator (#8462) --- src/components/paper-time-input.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/components/paper-time-input.js b/src/components/paper-time-input.js index 944360227d..c057b3dc36 100644 --- a/src/components/paper-time-input.js +++ b/src/components/paper-time-input.js @@ -107,6 +107,10 @@ export class PaperTimeInput extends PolymerElement { #millisec { width: 38px; } + + .no-suffix { + margin-left: -2px; + } @@ -134,6 +138,7 @@ export class PaperTimeInput extends PolymerElement { Date: Tue, 9 Mar 2021 20:39:08 +0100 Subject: [PATCH 055/164] Change preload to modulepreload (#8600) --- src/html/authorize.html.template | 2 +- src/html/index.html.template | 4 ++-- src/html/onboarding.html.template | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/html/authorize.html.template b/src/html/authorize.html.template index 5b6b6aee89..43d63fd024 100644 --- a/src/html/authorize.html.template +++ b/src/html/authorize.html.template @@ -2,7 +2,7 @@ Home Assistant - + <%= renderTemplate('_header') %>