Compare commits

...

13 Commits

Author SHA1 Message Date
Thomas Lovén bda951e6d1 POC 2020-09-14 14:25:40 +02:00
Joakim Sørensen 92ed14c0e4 Merge pull request #6983 from home-assistant/fix-mnuted
Fix muted on video
2020-09-14 11:29:14 +02:00
Bram Kragten 5b94a4de9a Fix muted on video 2020-09-14 11:14:32 +02:00
Kendell R 709112c498 Do safety check before detecting hex value and handle YAML numbers better (#6956)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-09-14 09:40:35 +02:00
Kendell R e465ec8835 Make code editor font family follow theme (#6958) 2020-09-14 09:39:47 +02:00
Kendell R f6eb31bf9d Use --error-color instead of a fixed color (#6961)
Co-authored-by: Zack Barett <zackbarett@hey.com>
2020-09-14 09:37:59 +02:00
Thomas Lovén 426f939982 Add Execute button to script editor (#6957) 2020-09-14 09:34:59 +02:00
Zack Barett fab6cebf0d fix hard to read text (#6980) 2020-09-14 09:33:23 +02:00
HomeAssistant Azure ff081dd0f1 [ci skip] Translation update 2020-09-14 00:32:37 +00:00
Zack Barett 868399ed6f HA Logs: Copy log (#6945) 2020-09-13 15:27:16 -05:00
Kendell R 1bc9b95289 Remove useless "My Title" (#6970) 2020-09-13 21:43:54 +02:00
Kendell R 9af805ab5e Make moon icon more readable (#6969) 2020-09-13 21:43:17 +02:00
HomeAssistant Azure 6b88081360 [ci skip] Translation update 2020-09-13 00:32:53 +00:00
22 changed files with 1018 additions and 201 deletions
+2 -2
View File
@@ -105,12 +105,12 @@ const processTheme = (
const keys = {};
for (const key of Object.keys(combinedTheme)) {
const prefixedKey = `--${key}`;
const value = combinedTheme[key]!;
const value = String(combinedTheme[key]!);
styles[prefixedKey] = value;
keys[prefixedKey] = "";
// Try to create a rgb value for this key if it is not a var
if (!value.startsWith("#")) {
if (value.startsWith("#")) {
// Can't convert non hex value
continue;
}
+1
View File
@@ -97,6 +97,7 @@ export class HaCodeEditor extends UpdatingElement {
.CodeMirror {
height: var(--code-mirror-height, auto);
direction: var(--code-mirror-direction, ltr);
font-family: var(--code-font-family, monospace);
}
.CodeMirror-scroll {
max-height: var(--code-mirror-max-height, --code-mirror-height);
+1 -1
View File
@@ -61,7 +61,7 @@ class HaHLSPlayer extends LitElement {
return html`
<video
?autoplay=${this.autoPlay}
?muted=${this.muted}
.muted=${this.muted}
?playsinline=${this.playsInline}
?controls=${this.controls}
@loadeddata=${this._elementResized}
+1 -1
View File
@@ -200,7 +200,7 @@ export const weatherSVGStyles = css`
fill: var(--weather-icon-sun-color, #fdd93c);
}
.moon {
fill: var(--weather-icon-moon-color, #fdf9cc);
fill: var(--weather-icon-moon-color, #fcf497);
}
.cloud-back {
fill: var(--weather-icon-cloud-back-color, #d4d4d4);
@@ -1,14 +1,21 @@
import "@material/mwc-icon-button/mwc-icon-button";
import { mdiContentCopy } from "@mdi/js";
import "@polymer/paper-dialog-scrollable/paper-dialog-scrollable";
import "@polymer/paper-tooltip/paper-tooltip";
import type { PaperTooltipElement } from "@polymer/paper-tooltip/paper-tooltip";
import {
css,
CSSResult,
html,
internalProperty,
LitElement,
property,
internalProperty,
query,
TemplateResult,
} from "lit-element";
import { fireEvent } from "../../../common/dom/fire_event";
import "../../../components/dialog/ha-paper-dialog";
import "../../../components/ha-svg-icon";
import {
domainToName,
fetchIntegrationManifest,
@@ -16,12 +23,11 @@ import {
IntegrationManifest,
} from "../../../data/integration";
import { getLoggedErrorIntegration } from "../../../data/system_log";
import { PolymerChangedEvent } from "../../../polymer-types";
import type { PolymerChangedEvent } from "../../../polymer-types";
import { haStyleDialog } from "../../../resources/styles";
import { HomeAssistant } from "../../../types";
import { SystemLogDetailDialogParams } from "./show-dialog-system-log-detail";
import type { HomeAssistant } from "../../../types";
import type { SystemLogDetailDialogParams } from "./show-dialog-system-log-detail";
import { formatSystemLogTime } from "./util";
import { fireEvent } from "../../../common/dom/fire_event";
class DialogSystemLogDetail extends LitElement {
@property({ attribute: false }) public hass!: HomeAssistant;
@@ -30,6 +36,8 @@ class DialogSystemLogDetail extends LitElement {
@internalProperty() private _manifest?: IntegrationManifest;
@query("paper-tooltip") private _toolTip?: PaperTooltipElement;
public async showDialog(params: SystemLogDetailDialogParams): Promise<void> {
this._params = params;
this._manifest = undefined;
@@ -66,13 +74,25 @@ class DialogSystemLogDetail extends LitElement {
opened
@opened-changed="${this._openedChanged}"
>
<h2>
${this.hass.localize(
"ui.panel.config.logs.details",
"level",
item.level
)}
</h2>
<div class="heading">
<h2>
${this.hass.localize(
"ui.panel.config.logs.details",
"level",
item.level
)}
</h2>
<mwc-icon-button id="copy" @click=${this._copyLog}>
<ha-svg-icon .path=${mdiContentCopy}></ha-svg-icon>
</mwc-icon-button>
<paper-tooltip
manual-mode
for="copy"
position="top"
animation-delay="0"
>${this.hass.localize("ui.common.copied")}</paper-tooltip
>
</div>
<paper-dialog-scrollable>
<p>
Logger: ${item.name}<br />
@@ -148,6 +168,25 @@ class DialogSystemLogDetail extends LitElement {
}
}
private _copyLog(): void {
const copyElement = this.shadowRoot?.querySelector(
"paper-dialog-scrollable"
) as HTMLElement;
const selection = window.getSelection()!;
const range = document.createRange();
range.selectNodeContents(copyElement);
selection.removeAllRanges();
selection.addRange(range);
document.execCommand("copy");
window.getSelection()!.removeAllRanges();
this._toolTip!.show();
setTimeout(() => this._toolTip?.hide(), 3000);
}
static get styles(): CSSResult[] {
return [
haStyleDialog,
@@ -164,6 +203,15 @@ class DialogSystemLogDetail extends LitElement {
pre {
margin-bottom: 0;
}
.heading {
display: flex;
display: flex;
align-items: center;
justify-content: space-between;
}
.heading ha-svg-icon {
cursor: pointer;
}
`,
];
}
+267 -137
View File
@@ -1,7 +1,10 @@
import "@polymer/app-layout/app-header/app-header";
import "@polymer/paper-dropdown-menu/paper-dropdown-menu-light";
import "@polymer/app-layout/app-toolbar/app-toolbar";
import { ActionDetail } from "@material/mwc-list/mwc-list-foundation";
import "@material/mwc-list/mwc-list-item";
import "../../../components/ha-icon-button";
import "../../../components/ha-button-menu";
import {
css,
CSSResult,
@@ -18,12 +21,14 @@ import { navigate } from "../../../common/navigate";
import { computeRTL } from "../../../common/util/compute_rtl";
import "../../../components/ha-card";
import "../../../components/ha-icon-input";
import { showToast } from "../../../util/toast";
import "@material/mwc-fab";
import {
Action,
deleteScript,
getScriptEditorInitData,
ScriptConfig,
triggerScript,
MODES,
MODES_MAX,
} from "../../../data/script";
@@ -36,7 +41,7 @@ import { HaDeviceAction } from "../automation/action/types/ha-automation-action-
import "../ha-config-section";
import { configSections } from "../ha-panel-config";
import "../../../components/ha-svg-icon";
import { mdiContentSave } from "@mdi/js";
import { mdiContentSave, mdiDotsVertical } from "@mdi/js";
import { PaperListboxElement } from "@polymer/paper-listbox";
import { slugify } from "../../../common/string/slugify";
@@ -61,6 +66,8 @@ export class HaScriptEditor extends LitElement {
@internalProperty() private _errors?: string;
@internalProperty() private _yamlMode = false;
protected render(): TemplateResult {
return html`
<hass-tabs-subpage
@@ -70,19 +77,46 @@ export class HaScriptEditor extends LitElement {
.backCallback=${() => this._backTapped()}
.tabs=${configSections.automation}
>
${!this.scriptEntityId
? ""
: html`
<ha-icon-button
class="warning"
slot="toolbar-icon"
title="${this.hass.localize(
"ui.panel.config.script.editor.delete_script"
)}"
icon="hass:delete"
@click=${this._deleteConfirm}
></ha-icon-button>
`}
<ha-button-menu
corner="BOTTOM_START"
slot="toolbar-icon"
@action=${this._handleAction}
>
<mwc-icon-button
slot="trigger"
.title=${this.hass.localize("ui.common.menu")}
.label=${this.hass.localize("ui.common.overflow_menu")}
><ha-svg-icon path=${mdiDotsVertical}></ha-svg-icon>
</mwc-icon-button>
<mwc-list-item
aria-label=${this._yamlMode
? this.hass.localize("ui.panel.config.automation.editor.edit_ui")
: this.hass.localize(
"ui.panel.config.automation.editor.edit_yaml"
)}
>
${this._yamlMode
? this.hass.localize("ui.panel.config.automation.editor.edit_ui")
: this.hass.localize(
"ui.panel.config.automation.editor.edit_yaml"
)}
</mwc-list-item>
${!this.scriptEntityId
? ""
: html`
<mwc-list-item
class="warning"
aria-label=${this.hass.localize(
"ui.panel.config.script.editor.delete_script"
)}
>
${this.hass.localize(
"ui.panel.config.script.editor.delete_script"
)}
</mwc-list-item>
`}
</ha-button-menu>
${this.narrow
? html` <span slot="header">${this._config?.alias}</span> `
: ""}
@@ -96,135 +130,195 @@ export class HaScriptEditor extends LitElement {
})}"
>
${this._config
? html`
<ha-config-section .isWide=${this.isWide}>
${!this.narrow
? html` <span slot="header">${this._config.alias}</span> `
: ""}
<span slot="introduction">
${this.hass.localize(
"ui.panel.config.script.editor.introduction"
)}
</span>
<ha-card>
<div class="card-content">
<paper-input
.label=${this.hass.localize(
"ui.panel.config.script.editor.alias"
)}
name="alias"
.value=${this._config.alias}
@value-changed=${this._valueChanged}
@change=${this._aliasChanged}
>
</paper-input>
<ha-icon-input
.label=${this.hass.localize(
"ui.panel.config.script.editor.icon"
)}
.name=${"icon"}
.value=${this._config.icon}
@value-changed=${this._valueChanged}
>
</ha-icon-input>
${!this.scriptEntityId
? html` <paper-input
.label=${this.hass.localize(
"ui.panel.config.script.editor.id"
)}
.errorMessage=${this.hass.localize(
"ui.panel.config.script.editor.id_already_exists"
)}
.invalid=${this._idError}
.value=${this._entityId}
@value-changed=${this._idChanged}
? this._yamlMode
? html`
<ha-config-section .isWide=${false}>
${!this.narrow
? html`
<span slot="header">${this._config.alias}</span>
`
: ""}
<ha-card>
<div class="card-content">
<ha-yaml-editor
.defaultValue=${this._config}
@value-changed=${this._onYamlChange}
></ha-yaml-editor>
</div>
${this.scriptEntityId
? html`
<div
class="card-actions layout horizontal justified center"
>
<span></span>
<mwc-button
@click=${this._runScript}
title="${this.hass.localize(
"ui.panel.config.script.picker.activate_script"
)}"
?disabled=${this._dirty}
>
${this.hass.localize(
"ui.card.script.execute"
)}
</mwc-button>
</div>
`
: ``}
</ha-card>
</ha-config-section>
`
: html`
<ha-config-section .isWide=${this.isWide}>
${!this.narrow
? html`
<span slot="header">${this._config.alias}</span>
`
: ""}
<span slot="introduction">
${this.hass.localize(
"ui.panel.config.script.editor.introduction"
)}
</span>
<ha-card>
<div class="card-content">
<paper-input
.label=${this.hass.localize(
"ui.panel.config.script.editor.alias"
)}
name="alias"
.value=${this._config.alias}
@value-changed=${this._valueChanged}
@change=${this._aliasChanged}
>
</paper-input>
<ha-icon-input
.label=${this.hass.localize(
"ui.panel.config.script.editor.icon"
)}
.name=${"icon"}
.value=${this._config.icon}
@value-changed=${this._valueChanged}
>
</ha-icon-input>
${!this.scriptEntityId
? html` <paper-input
.label=${this.hass.localize(
"ui.panel.config.script.editor.id"
)}
.errorMessage=${this.hass.localize(
"ui.panel.config.script.editor.id_already_exists"
)}
.invalid=${this._idError}
.value=${this._entityId}
@value-changed=${this._idChanged}
>
</paper-input>`
: ""}
<p>
${this.hass.localize(
"ui.panel.config.script.editor.modes.description",
"documentation_link",
html`<a
href="https://www.home-assistant.io/integrations/script/#script-modes"
target="_blank"
rel="noreferrer"
>${this.hass.localize(
"ui.panel.config.script.editor.modes.documentation"
)}</a
>`
)}
</p>
<paper-dropdown-menu-light
.label=${this.hass.localize(
"ui.panel.config.script.editor.modes.label"
)}
no-animations
>
<paper-listbox
slot="dropdown-content"
.selected=${this._config.mode
? MODES.indexOf(this._config.mode)
: 0}
@iron-select=${this._modeChanged}
>
</paper-input>`
: ""}
${MODES.map(
(mode) => html`
<paper-item .mode=${mode}>
${this.hass.localize(
`ui.panel.config.script.editor.modes.${mode}`
) || mode}
</paper-item>
`
)}
</paper-listbox>
</paper-dropdown-menu-light>
${this._config.mode &&
MODES_MAX.includes(this._config.mode)
? html` <paper-input
.label=${this.hass.localize(
`ui.panel.config.script.editor.max.${this._config.mode}`
)}
type="number"
name="max"
.value=${this._config.max || "10"}
@value-changed=${this._valueChanged}
>
</paper-input>`
: html``}
</div>
${this.scriptEntityId
? html`
<div
class="card-actions layout horizontal justified center"
>
<span></span>
<mwc-button
@click=${this._runScript}
title="${this.hass.localize(
"ui.panel.config.script.picker.activate_script"
)}"
?disabled=${this._dirty}
>
${this.hass.localize(
"ui.card.script.execute"
)}
</mwc-button>
</div>
`
: ``}
</ha-card>
</ha-config-section>
<ha-config-section .isWide=${this.isWide}>
<span slot="header">
${this.hass.localize(
"ui.panel.config.script.editor.sequence"
)}
</span>
<span slot="introduction">
<p>
${this.hass.localize(
"ui.panel.config.script.editor.modes.description",
"documentation_link",
html`<a
href="https://www.home-assistant.io/integrations/script/#script-modes"
target="_blank"
rel="noreferrer"
>${this.hass.localize(
"ui.panel.config.script.editor.modes.documentation"
)}</a
>`
"ui.panel.config.script.editor.sequence_sentence"
)}
</p>
<paper-dropdown-menu-light
.label=${this.hass.localize(
"ui.panel.config.script.editor.modes.label"
)}
no-animations
<a
href="https://home-assistant.io/docs/scripts/"
target="_blank"
rel="noreferrer"
>
<paper-listbox
slot="dropdown-content"
.selected=${this._config.mode
? MODES.indexOf(this._config.mode)
: 0}
@iron-select=${this._modeChanged}
>
${MODES.map(
(mode) => html`
<paper-item .mode=${mode}>
${this.hass.localize(
`ui.panel.config.script.editor.modes.${mode}`
) || mode}
</paper-item>
`
)}
</paper-listbox>
</paper-dropdown-menu-light>
${this._config.mode &&
MODES_MAX.includes(this._config.mode)
? html` <paper-input
.label=${this.hass.localize(
`ui.panel.config.script.editor.max.${this._config.mode}`
)}
type="number"
name="max"
.value=${this._config.max || "10"}
@value-changed=${this._valueChanged}
>
</paper-input>`
: html``}
</div>
</ha-card>
</ha-config-section>
<ha-config-section .isWide=${this.isWide}>
<span slot="header">
${this.hass.localize(
"ui.panel.config.script.editor.sequence"
)}
</span>
<span slot="introduction">
<p>
${this.hass.localize(
"ui.panel.config.script.editor.sequence_sentence"
)}
</p>
<a
href="https://home-assistant.io/docs/scripts/"
target="_blank"
rel="noreferrer"
>
${this.hass.localize(
"ui.panel.config.script.editor.link_available_actions"
)}
</a>
</span>
<ha-automation-action
.actions=${this._config.sequence}
@value-changed=${this._sequenceChanged}
.hass=${this.hass}
></ha-automation-action>
</ha-config-section>
`
${this.hass.localize(
"ui.panel.config.script.editor.link_available_actions"
)}
</a>
</span>
<ha-automation-action
.actions=${this._config.sequence}
@value-changed=${this._sequenceChanged}
.hass=${this.hass}
></ha-automation-action>
</ha-config-section>
`
: ""}
</div>
</div>
@@ -301,6 +395,33 @@ export class HaScriptEditor extends LitElement {
}
}
private async _runScript(ev: Event) {
ev.stopPropagation();
await triggerScript(this.hass, this.scriptEntityId);
showToast(this, {
message: this.hass.localize(
"ui.notification_toast.triggered",
"name",
this._config!.alias
),
});
}
private _handleAction(ev: CustomEvent<ActionDetail>) {
switch (ev.detail.index) {
case 0:
this._switchYamlMode();
break;
case 1:
this._deleteConfirm();
break;
}
}
private _switchYamlMode() {
this._yamlMode = !this._yamlMode;
}
private _modeChanged(ev: CustomEvent) {
const mode = ((ev.target as PaperListboxElement)?.selectedItem as any)
?.mode;
@@ -340,6 +461,15 @@ export class HaScriptEditor extends LitElement {
}
}
private _onYamlChange(ev: CustomEvent) {
ev.stopPropagation();
if (!ev.detail.isValid) {
return;
}
this._config = ev.detail.value;
this._dirty = true;
}
private _valueChanged(ev: CustomEvent) {
ev.stopPropagation();
const target = ev.target as any;
@@ -50,7 +50,7 @@ class HuiEntitiesCard extends LitElement implements LovelaceCard {
["light", "switch", "sensor"]
);
return { type: "entities", title: "My Title", entities: foundEntities };
return { type: "entities", entities: foundEntities };
}
@internalProperty() private _config?: EntitiesCardConfig;
+2 -2
View File
@@ -43,8 +43,8 @@ export class HuiErrorCard extends LitElement implements LovelaceCard {
return css`
:host {
display: block;
background-color: #ef5350;
color: white;
background-color: var(--error-color);
color: var(--color-on-error, white);
padding: 8px;
font-weight: 500;
user-select: text;
@@ -64,7 +64,7 @@ class PanelMediaBrowser extends LitElement {
"ui.components.media-browser.media-player-browser"
)}
</div>
<div class="secondary">${title || ""}</div>
<div class="secondary-text">${title || ""}</div>
</div>
<mwc-button @click=${this._showSelectMediaPlayerDialog}>
${this.hass.localize("ui.components.media-browser.choose_player")}
@@ -146,8 +146,7 @@ class PanelMediaBrowser extends LitElement {
overflow: hidden;
white-space: nowrap;
}
.heading .secondary {
color: var(--secondary-text-color);
.heading .secondary-text {
font-size: 14px;
overflow: hidden;
text-overflow: ellipsis;
+2 -1
View File
@@ -278,7 +278,8 @@
"successfully_saved": "Successfully saved",
"successfully_deleted": "Successfully deleted",
"back": "Back",
"error_required": "Required"
"error_required": "Required",
"copied": "Copied"
},
"components": {
"logbook": {
+107 -4
View File
@@ -19,6 +19,7 @@
"logbook": "Дневник",
"mailbox": "Пощенска кутия",
"map": "Карта",
"media_browser": "Медиен браузър",
"profile": "Профил",
"shopping_list": "Списък за пазаруване",
"states": "Състояние"
@@ -455,6 +456,7 @@
},
"common": {
"cancel": "Отмени",
"continue": "Продължи",
"delete": "Изтриване",
"loading": "Зареждане",
"save": "Запазване",
@@ -466,6 +468,10 @@
"device": "Устройство"
},
"entity": {
"entity-attribute-picker": {
"attribute": "Атрибут",
"show_attributes": "Показване на атрибутите"
},
"entity-picker": {
"entity": "Обект"
}
@@ -474,6 +480,18 @@
"loading_history": "Зареждане на история за състоянието...",
"no_history_found": "Не е намерена история за състоянието"
},
"logbook": {
"entries_not_found": "Липсват логове в дневника"
},
"media-browser": {
"audio_not_supported": "Браузърът не поддържа този аудио елемент.",
"choose_player": "Изберете плейър",
"media_browsing_error": "Грешка в медийния браузър",
"media_not_supported": "Плейърът на медийния браузър не поддържа този тип медия",
"media_player": "Медиен плейър",
"video_not_supported": "Браузърът не поддържа този видео елемент.",
"web-browser": "Уеб браузър"
},
"relative_time": {
"duration": {
"day": "{count}{count, plural,\n one {ден}\n other {дни}\n}",
@@ -496,6 +514,9 @@
"enable_new_entities_label": "Активирай новодобавените устройства.",
"title": "Системни опции за {integration}"
},
"domain_toggler": {
"reset_entities": "Нулиране на обекти"
},
"entity_registry": {
"editor": {
"delete": "Изтриване",
@@ -515,6 +536,9 @@
"yaml_not_editable": "Настройките на този обект не могат да бъдат редактирани. Могат да се конфигурират само обектите, създадени от потребителския интерфейс."
},
"more_info_control": {
"controls": "Контроли",
"details": "Детайли",
"history": "История",
"script": {
"last_action": "Последно задействане"
},
@@ -644,7 +668,13 @@
"label": "Извикване на услуга",
"service_data": "Данни за услугата"
},
"wait_for_trigger": {
"continue_timeout": "Продължи след изчакване",
"label": "Изчакайте спусък/тригър",
"timeout": "Време на изчакване (опция)"
},
"wait_template": {
"continue_timeout": "Продължи след изчакване",
"label": "Изчакване",
"timeout": "Изчакване (по избор)",
"wait_template": "Шаблон за изчакване"
@@ -692,7 +722,9 @@
"time": {
"after": "След",
"before": "Преди",
"label": "Време"
"label": "Време",
"type_input": "Стойност на помощника за дата/час",
"type_value": "Фиксирано време"
},
"zone": {
"entity": "Обект с местоположение",
@@ -751,6 +783,7 @@
"value_template": "Шаблон за стойност (незадължително)"
},
"state": {
"attribute": "Атрибут (опция)",
"for": "За период от",
"from": "От",
"label": "Състояние",
@@ -775,7 +808,9 @@
},
"time": {
"at": "В",
"label": "Време"
"label": "Време",
"type_input": "Стойност на помощника за дата/час",
"type_value": "Фиксирано време"
},
"webhook": {
"label": "Webhook",
@@ -796,6 +831,8 @@
},
"picker": {
"add_automation": "Добавяне на автоматизация",
"duplicate": "Дублиране",
"duplicate_automation": "Дублиране на автоматизация",
"header": "Редактор на автоматизации",
"headers": {
"name": "Име"
@@ -815,10 +852,26 @@
"config_documentation": "Документация за конфигурацията"
}
},
"alexa": {
"dont_expose_entity": "Не излагай обекта",
"expose_entity": "Изложи обекта",
"exposed": "{избран} изложен",
"follow_domain": "следван домейн",
"manage_domains": "Управление на домейни",
"not_exposed": "{избран} неизложен"
},
"caption": "Home Assistant Cloud",
"description_features": "Контролирайте дома си, и когато не сте вкъщи, активирайте интегрирациите с Alexa и Google Assistant.",
"description_login": "Влезли сте като {email}",
"description_not_login": "Не сте влезли"
"description_not_login": "Не сте влезли",
"google": {
"dont_expose_entity": "Не излагай обекта",
"expose_entity": "Изложи обекта",
"exposed": "{избран} изложен",
"follow_domain": "следван домейн",
"manage_domains": "Управление на домейни",
"not_exposed": "{избран} неизложен"
}
},
"core": {
"caption": "Общи",
@@ -882,6 +935,7 @@
},
"integrations": {
"add_integration": "Добавяне на интеграция",
"attention": "Задълителна проверка",
"caption": "Интеграции",
"config_entry": {
"delete": "Изтриване",
@@ -897,6 +951,7 @@
"options": "Настройки",
"rename": "Преименуване",
"restart_confirm": "Рестартирайте Home Assistant за да завършите премахването на интеграцията",
"services": "{брой} {число, множествено число,\n една {услуга}\n други {услуги}\n}",
"system_options": "Системни настройки"
},
"config_flow": {
@@ -915,6 +970,7 @@
"none": "Нищо не е конфигурирано към момента",
"none_found": "Не са намерени интеграции",
"none_found_detail": "Коригирайте критериите си за търсене.",
"reconfigure": "Преконфигурирай",
"rename_dialog": "Редактирайте името на този запис в конфигурацията"
},
"introduction": "Тук е възможно да конфигурирате Вашите компоненти и Home Assistant. Не всичко е възможно да се конфигурира от Интерфейса, но работим по върпоса.",
@@ -942,6 +998,23 @@
"mqtt": {
"title": "MQTT"
},
"ozw": {
"node": {
"button": "Детайли за възела",
"not_found": "Възел не е намерен"
},
"nodes_table": {
"failed": "Неуспешно",
"id": "ID",
"manufacturer": "Производител",
"model": "Модел",
"query_stage": "Етап на заявка",
"zwave_plus": "Z-Wave плюс"
},
"refresh_node": {
"button": "Обнови възела"
}
},
"person": {
"caption": "Хора",
"description": "Управлявайте хората, които следите от Home Assistant.",
@@ -979,8 +1052,13 @@
"group": "Презареждане на гурпите",
"heading": "Презареждане на YAML конфигурацията",
"introduction": "Някои части от Home Assistant могат да се презаредят без да е необходимо рестартиране. Натискането на Презареди ще отхвърли настоящата конфигурация и ще зареди новата конфигурация.",
"mqtt": "Презареди mqtt обектите",
"reload": "Презарежди {домейн}",
"rpi_gpio": "Презареди GPIO обектите на Raspberry Pi ",
"scene": "Презареди сцените",
"script": "Презареждане на скриптовете"
"script": "Презареждане на скриптовете",
"smtp": "Презареди smtp услугите за уведомяване",
"telegram": "Презареди telegram услугите за уведомяване"
},
"server_management": {
"confirm_restart": "Сигурни ли сте, че искате да рестартирате Home Assistant?",
@@ -1005,6 +1083,8 @@
"create": "Създаване",
"name": "Име",
"password": "Парола",
"password_confirm": "Потвърди парола",
"password_not_match": "Паролите не съвпадат",
"username": "Потребителско име"
},
"caption": "Потребители",
@@ -1017,6 +1097,8 @@
"deactivate_user": "Деактивиране на потребителя",
"delete_user": "Изтриване на потребител",
"name": "Име",
"new_password": "Нова парола",
"password_changed": "Паролата е променена!",
"system_generated_users_not_editable": "Неуспешно обновяване на системно генерираните потребители"
},
"picker": {
@@ -1102,6 +1184,11 @@
"title": "Състояния"
},
"templates": {
"all_listeners": "Този шаблон следи за всички събития на промяна на състояние.",
"domain": "Домейн",
"entity": "Обект",
"listeners": "Този шаблон следи за събития със следните промени на състояния:",
"no_listeners": "Този шаблон не следи за събития на промяна на състояние и не се актуализира автоматично.",
"title": "Шаблон"
}
}
@@ -1144,6 +1231,9 @@
"entities": {
"toggle": "Превключване на обекти."
},
"generic": {
"state_color": "Да се оцветят ли иконите спрямо състоянието?"
},
"iframe": {
"name": "Уеб страница"
},
@@ -1155,6 +1245,10 @@
}
},
"cardpicker": {
"by_card": "По карта",
"by_entity": "По обект",
"domain": "Домейн",
"entity": "Обект",
"no_description": "Няма налично описание."
},
"edit_card": {
@@ -1166,6 +1260,7 @@
"move": "Преместване",
"options": "Още опции",
"pick_card": "Изберете картата, която искате да добавите.",
"search_cards": "Търсене на карти",
"toggle_editor": "Превключете редактора"
},
"edit_lovelace": {
@@ -1419,6 +1514,11 @@
"submit": "Промяна"
},
"current_user": "В момента сте влезли като {fullName}.",
"customize_sidebar": {
"button": "Редактиране",
"description": "Може също да се задържи водача на страничната лента, за да се активира режим за редактиране.",
"header": "Промяна на реда и скриване на елементи от страничната лента"
},
"dashboard": {
"dropdown_label": "Табло",
"header": "Табло"
@@ -1438,6 +1538,7 @@
"confirm_delete": "Сигурни ли сте, че искате да изтриете кода за достъп за {name}?",
"create": "Създай код",
"create_failed": "Възникна грешка при създаването на код за достъп.",
"created": "Създаване {дата}",
"created_at": "Създаден на {date}",
"delete_failed": "Възникна грешка при изтриването на кода за достъп.",
"description": "Създайте дългосрочни кодове за достъп за да могат скриптовете Ви да взаимодействат с Home Assistant. Всеки код е валиден за 10 години от създаването си. Следните дългосрочни кодове са активни в момента.",
@@ -1445,6 +1546,7 @@
"header": "Дългосрочни кодове за достъп",
"last_used": "Последно използван на {date} от {location}",
"learn_auth_requests": "Научете се как да правите оторизирани заявки.",
"name": "Име",
"not_used": "Никога не е бил използван",
"prompt_copy_token": "Копирайте кода си за достъп. Той няма да бъде показан отново.",
"prompt_name": "Име?"
@@ -1495,6 +1597,7 @@
}
},
"sidebar": {
"done": "Готово",
"external_app_configuration": "Конфигурация на приложение"
}
}
+35 -2
View File
@@ -574,6 +574,28 @@
"audio_not_supported": "El teu navegador no és compatible amb l'element d'àudio.",
"choose_player": "Tria el reproductor",
"choose-source": "Tria la font",
"class": {
"album": "Àlbum",
"app": "Aplicació",
"artist": "Artista",
"channel": "Canal",
"composer": "Compositor",
"contributing_artist": "Artista col·laborador",
"directory": "Biblioteca",
"episode": "Episodi",
"game": "Joc",
"genre": "Gènere",
"image": "Imatge",
"movie": "Pel·lícula",
"music": "Música",
"playlist": "Llista de reproducció",
"podcast": "Podcast",
"season": "Temporada",
"track": "Pista",
"tv_show": "Programa de TV",
"url": "URL",
"video": "Vídeo"
},
"content-type": {
"album": "Àlbum",
"artist": "Artista",
@@ -1943,7 +1965,7 @@
},
"introduction": "L'editor de scripts et permet crear i editar scripts. Vés a l'enllaç de sota per veure'n les instruccions i assegurar-te que has configurat Home Assistant correctament.",
"learn_more": "Més informació sobre els scripts",
"no_scripts": "No hem trobat cap script editable",
"no_scripts": "No s'ha pogut trobar cap script editable",
"show_info": "Mostra informació sobre l'script",
"trigger_script": "Dispara l'script"
}
@@ -2352,9 +2374,14 @@
"title": "Estats"
},
"templates": {
"all_listeners": "Aquesta plantilla escolta a tots els esdeveniments de canvi d'estat.",
"description": "Les plantilles es renderitzen mitjançant el motor Jinja2 amb algunes extensions específiques de Home Assistant.",
"domain": "Domini",
"editor": "Editor de plantilles",
"entity": "Entitat",
"jinja_documentation": "Documentació sobre plantilles amb Jinja2",
"listeners": "Aquesta plantilla escolta als següents esdeveniments de canvi d'estat:",
"no_listeners": "Aquesta plantilla no escolta cap esdeveniment de canvi d'estat i no s'actualitza automàticament.",
"reset": "Restableix a la plantilla de demostració",
"template_extensions": "Extensions de plantilla de Home Assistant",
"title": "Plantilla",
@@ -2501,7 +2528,7 @@
"no_theme": "Sense tema",
"refresh_interval": "Interval d'actualització",
"search": "Cerca",
"secondary_info_attribute": "Atribut dinformació secundària",
"secondary_info_attribute": "Atribut d'informació secundària",
"show_icon": "Mostra icona?",
"show_name": "Mostra nom?",
"show_state": "Mostra estat?",
@@ -2941,6 +2968,11 @@
"submit": "Envia"
},
"current_user": "Has iniciat la sessió com a {fullName}.",
"customize_sidebar": {
"button": "Edita",
"description": "També pots mantenir premuda la capçalera de la barra lateral per activar el mode d'edició.",
"header": "Canvia l'ordre i/o amaga elements de la barra lateral"
},
"dashboard": {
"description": "Tria un panell per defecte per a aquest dispositiu.",
"dropdown_label": "Panell",
@@ -3038,6 +3070,7 @@
}
},
"sidebar": {
"done": "Fet",
"external_app_configuration": "Configuració de l'aplicació",
"sidebar_toggle": "Commutació de la barra lateral"
}
+33
View File
@@ -574,6 +574,28 @@
"audio_not_supported": "Váš prohlížeč nepodporuje element \"audio\".",
"choose_player": "Vyberte přehrávač",
"choose-source": "Zvolte zdroj",
"class": {
"album": "Album",
"app": "Aplikace",
"artist": "Umělec",
"channel": "Kanál",
"composer": "Skladatel",
"contributing_artist": "Přispívající umělec",
"directory": "Knihovna",
"episode": "Epizoda",
"game": "Hra",
"genre": "Žánr",
"image": "Obrázek",
"movie": "Film",
"music": "Hudba",
"playlist": "Seznam skladeb",
"podcast": "Podcast",
"season": "Sezóna",
"track": "Stopa",
"tv_show": "Televizní pořad",
"url": "Url adresa",
"video": "Video"
},
"content-type": {
"album": "Album",
"artist": "Umělec",
@@ -2352,9 +2374,14 @@
"title": "Stavy"
},
"templates": {
"all_listeners": "Tato šablona naslouchá všem změnám stavu.",
"description": "Šablony jsou vykreslovány pomocí Jinja2 šablonového enginu s některými specifickými rozšířeními pro Home Assistant.",
"domain": "Doména",
"editor": "Editor šablon",
"entity": "Entita",
"jinja_documentation": "Dokumentace šablony Jinja2",
"listeners": "Tato šablona naslouchá následujícím změnám stavu:",
"no_listeners": "Tato šablona neposlouchá žádné změny stavu a nebude se automaticky aktualizovat.",
"reset": "Obnovit ukázkovou šablonu",
"template_extensions": "Rozšíření šablony Home Assistant",
"title": "Šablony",
@@ -2941,6 +2968,11 @@
"submit": "Odeslat"
},
"current_user": "Nyní jste přihlášeni jako {fullName}.",
"customize_sidebar": {
"button": "Upravit",
"description": "Režim úprav můžete aktivovat také stisknutím a podržením záhlaví postranního panelu.",
"header": "Změna pořadí a skrytí položek postranního panelu"
},
"dashboard": {
"description": "Vyberte výchozí dashboard pro toto zařízení.",
"dropdown_label": "Dashboard",
@@ -3038,6 +3070,7 @@
}
},
"sidebar": {
"done": "Hotovo",
"external_app_configuration": "Konfigurace aplikace",
"sidebar_toggle": "Přepínač postranního panelu"
}
+23
View File
@@ -507,6 +507,7 @@
"cancel": "Cancel",
"close": "Close",
"continue": "Continue",
"copied": "Copied",
"delete": "Delete",
"error_required": "Required",
"loading": "Loading",
@@ -574,6 +575,28 @@
"audio_not_supported": "Your browser does not support the audio element.",
"choose_player": "Choose Player",
"choose-source": "Choose Source",
"class": {
"album": "Album",
"app": "App",
"artist": "Artist",
"channel": "Channel",
"composer": "Composer",
"contributing_artist": "Contributing Artist",
"directory": "Library",
"episode": "Episode",
"game": "Game",
"genre": "Genre",
"image": "Image",
"movie": "Movie",
"music": "Music",
"playlist": "Playlist",
"podcast": "Podcast",
"season": "Season",
"track": "Track",
"tv_show": "TV Show",
"url": "Url",
"video": "Video"
},
"content-type": {
"album": "Album",
"artist": "Artist",
+254 -28
View File
@@ -19,6 +19,7 @@
"logbook": "",
"mailbox": "",
"map": "",
"media_browser": "Navegador de medios",
"profile": "Perfil",
"shopping_list": "Lista de compras",
"states": ""
@@ -106,7 +107,7 @@
},
"automation": {
"off": "Desactivado",
"on": "Encendido"
"on": "Activada"
},
"binary_sensor": {
"battery": {
@@ -205,7 +206,7 @@
"fan_only": "Sólo ventilador",
"heat": "Calentar",
"heat_cool": "Calentar/Enfriar",
"off": "Desactivar"
"off": "Apagado"
},
"configurator": {
"configure": "Configurar",
@@ -237,7 +238,7 @@
"home": "En Casa",
"locked": "Cerrado",
"not_home": "Fuera de Casa",
"off": "Desactivado",
"off": "Apagado",
"ok": "OK",
"on": "Encendido",
"open": "Abierto",
@@ -419,9 +420,16 @@
"unlock": "Desbloquear"
},
"media_player": {
"browse_media": "Explorar medios",
"media_next_track": "Siguiente",
"media_play": "Reproducir",
"media_play_pause": "Reproducir/pausa",
"media_previous_track": "Anterior",
"sound_mode": "Modo de sonido",
"source": "Fuente",
"text_to_speak": "Texto a hablar"
"text_to_speak": "Texto a hablar",
"turn_off": "Apagar",
"turn_on": "Encender"
},
"persistent_notification": {
"dismiss": "Descartar"
@@ -498,6 +506,7 @@
"back": "Atrás",
"cancel": "Cancelar",
"close": "Cerrar",
"continue": "Continuar",
"delete": "Eliminar",
"error_required": "Requerido",
"loading": "Cargando",
@@ -544,6 +553,10 @@
"toggle": "Alternar"
},
"entity": {
"entity-attribute-picker": {
"attribute": "Atributo",
"show_attributes": "Mostrar atributos"
},
"entity-picker": {
"clear": "Limpiar",
"entity": "Entidad",
@@ -554,6 +567,58 @@
"loading_history": "Cargando historial de estado...",
"no_history_found": "No se encontró historial de estado."
},
"logbook": {
"entries_not_found": "No se encontraron entradas en el libro de registro."
},
"media-browser": {
"audio_not_supported": "Su navegador no soporta el elemento de audio.",
"choose_player": "Elige el reproductor",
"choose-source": "Elige la fuente",
"class": {
"album": "Álbum",
"app": "Aplicación",
"artist": "Artista",
"channel": "Canal",
"composer": "Compositor",
"contributing_artist": "Artista colaborador",
"directory": "Biblioteca",
"episode": "Episodio",
"game": "Juego",
"genre": "Género",
"image": "Imagen",
"movie": "Película",
"music": "Música",
"playlist": "Lista de reproducción",
"podcast": "Podcast",
"season": "Temporada",
"track": "Pista",
"tv_show": "Programa de TV",
"url": "URL",
"video": "Video"
},
"content-type": {
"album": "Álbum",
"artist": "Artista",
"library": "Biblioteca",
"playlist": "Lista de reproducción",
"server": "Servidor"
},
"media_browsing_error": "Error de navegación de medios",
"media_not_supported": "El Reproductor multimedia no es compatible con este tipo de medios",
"media_player": "Reproductor multimedia",
"media-player-browser": "Navegador del reproductor multimedia",
"no_items": "No hay elementos",
"pick": "Elegir",
"pick-media": "Elija medios",
"play": "Reproducir",
"play-media": "Reproducir medios",
"video_not_supported": "Su navegador no soporta el elemento de vídeo.",
"web-browser": "Navegador web"
},
"picture-upload": {
"label": "Imagen",
"unsupported_format": "Formato no admitido, elija una imagen JPEG, PNG o GIF."
},
"related-items": {
"area": "Área",
"automation": "Parte de las siguientes automatizaciones",
@@ -574,6 +639,7 @@
"week": "{count} {count, plural,\n one {semana}\n other {semanas}\n}"
},
"future": "en {time}",
"just_now": "Ahora mismo",
"never": "Nunca",
"past": "Hace {time}"
},
@@ -652,13 +718,19 @@
"pattern": "Patrón de expresiones regulares para la validación del lado del cliente",
"text": "Texto"
},
"platform_not_loaded": "La integración {platform} no está cargada. Agregue su configuración agregando 'default_config:' o ''{platform}:''.",
"platform_not_loaded": "La integración {platform} no está cargada. Añádela a su archivo de configuración agregando 'default_config:' o ''{platform}:''.",
"required_error_msg": "Este campo es requerido",
"yaml_not_editable": "La configuración de esta entidad no se puede editar desde la interfaz de usuario. Solo las entidades configuradas desde la interfaz de usuario se pueden configurar desde la interfaz de usuario."
},
"image_cropper": {
"crop": "Cortar"
},
"more_info_control": {
"controls": "Controles",
"details": "Detalles",
"dismiss": "Descartar diálogo",
"edit": "Editar entidad",
"history": "Historial",
"person": {
"create_zone": "Crear zona desde ubicación actual"
},
@@ -724,11 +796,11 @@
},
"zha_device_info": {
"buttons": {
"add": "Agregar dispositivos",
"add": "Agregar dispositivos usando este dispositivo",
"clusters": "Administrar clústeres",
"reconfigure": "Reconfigurar dispositivo",
"remove": "Eliminar dispositivo",
"zigbee_information": "Información de Zigbee"
"zigbee_information": "Firma del dispositivo Zigbee"
},
"confirmations": {
"remove": "¿Está seguro de que desea eliminar el dispositivo?"
@@ -748,7 +820,7 @@
"unknown": "Desconocido",
"zha_device_card": {
"area_picker_label": "Área",
"device_name_placeholder": "Nombre de usuario",
"device_name_placeholder": "Cambiar el nombre del dispositivo",
"update_name_button": "Actualizar Nombre"
}
}
@@ -798,7 +870,7 @@
"confirmation_text": "Todos los dispositivos en esta área quedarán sin asignar.",
"confirmation_title": "¿Está seguro de que desea eliminar esta área?"
},
"description": "Visión general de todas las áreas de su casa.",
"description": "Gestione las áreas de su casa.",
"editor": {
"area_id": "Identificador del área",
"create": "Crear",
@@ -859,13 +931,19 @@
"label": "Llamar servico",
"service_data": "Datos"
},
"wait_for_trigger": {
"continue_timeout": "Continuar cuando el tiempo venza",
"label": "Esperar por un desencadenador",
"timeout": "Tiempo limite (opcional)"
},
"wait_template": {
"continue_timeout": "Continuar cuando el tiempo venza",
"label": "Esperar",
"timeout": "Tiempo de espera (opcional)",
"wait_template": "Plantilla de espera"
}
},
"unsupported_action": "Acción no soportada: {action}"
"unsupported_action": "No hay soporte en la interfaz de usuario para la acción: {action}"
},
"alias": "Nombre",
"conditions": {
@@ -923,7 +1001,9 @@
"time": {
"after": "Después de",
"before": "Antes de",
"label": "Hora"
"label": "Hora",
"type_input": "Valor de un auxiliar de tipo fecha/tiempo",
"type_value": "Tiempo corregido"
},
"zone": {
"entity": "Entidad con ubicación",
@@ -931,7 +1011,7 @@
"zone": "Zona"
}
},
"unsupported_condition": "Condición no soportada: {condition}"
"unsupported_condition": "No hay soporte en la interfaz de usuario para la condición: {condition}"
},
"default_name": "Nueva Automatización",
"description": {
@@ -1000,7 +1080,7 @@
"start": "Inicio"
},
"mqtt": {
"label": "",
"label": "MQTT",
"payload": "Payload (opcional)",
"topic": "Topic"
},
@@ -1011,6 +1091,7 @@
"value_template": "Plantilla de valor (opcional)"
},
"state": {
"attribute": "Atributo (opcional)",
"for": "Por",
"from": "De",
"label": "Estado",
@@ -1023,6 +1104,9 @@
"sunrise": "Salida del sol",
"sunset": "Puesta de sol"
},
"tag": {
"label": "Etiqueta"
},
"template": {
"label": "Plantilla",
"value_template": "Plantilla de valor"
@@ -1034,8 +1118,10 @@
"seconds": "Segundos"
},
"time": {
"at": "A",
"label": "Hora"
"at": "A las",
"label": "Hora",
"type_input": "Valor de un auxiliar de tipo fecha/tiempo",
"type_value": "Tiempo corregido"
},
"webhook": {
"label": "Webhook",
@@ -1050,7 +1136,7 @@
"zone": "Zona"
}
},
"unsupported_platform": "Plataforma no soportada: {platform}"
"unsupported_platform": "No hay soporte en la interfaz de usuario para la plataforma: {platform}"
},
"unsaved_confirm": "Tiene cambios sin guardar. ¿Estás seguro que quieres salir?"
},
@@ -1058,6 +1144,8 @@
"add_automation": "Agregar automatización",
"delete_automation": "Eliminar automatización",
"delete_confirm": "¿Está seguro de que desea eliminar esta automatización?",
"duplicate": "Duplicar",
"duplicate_automation": "Duplicar automatización",
"edit_automation": "Editar automatización",
"header": "Editor de automatizaciones",
"headers": {
@@ -1139,8 +1227,13 @@
},
"alexa": {
"banner": "La edición de las entidades expuestas a través de esta interfaz de usuario está deshabilitada porque ha configurado filtros de entidad en configuration.yaml.",
"dont_expose_entity": "No exponer la entidad",
"expose": "Exponer a Alexa",
"expose_entity": "Exponer la entidad",
"exposed": "{selected} expuesto",
"exposed_entities": "Entidades expuestas",
"follow_domain": "Seguir dominio",
"not_exposed": "{selected} no expuesto",
"not_exposed_entities": "Entidades no expuestas",
"title": "Alexa"
},
@@ -1178,8 +1271,14 @@
"google": {
"banner": "La edición de las entidades expuestas a través de esta interfaz de usuario está deshabilitada porque ha configurado filtros de entidad en configuration.yaml.",
"disable_2FA": "Deshabilitar la autenticación de dos factores",
"dont_expose_entity": "No exponer la entidad",
"expose": "Exponer al Asistente de Google",
"expose_entity": "Exponer la entidad",
"exposed": "{selected} expuesto",
"exposed_entities": "Entidades expuestas",
"follow_domain": "Seguir dominio",
"manage_domains": "Gestionar dominios",
"not_exposed": "{selected} no expuesto",
"not_exposed_entities": "Entidades no expuestas",
"sync_to_google": "Sincronizar los cambios con Google.",
"title": "Asistente de Google"
@@ -1281,6 +1380,7 @@
}
},
"devices": {
"add_prompt": "Aún no se ha agregado ningún {name} con este dispositivo. Puede agregar uno haciendo clic en el botón + de arriba.",
"automation": {
"actions": {
"caption": "Cuando algo se desencadena..."
@@ -1300,6 +1400,7 @@
"caption": "Dispositivos",
"confirm_delete": "¿Está seguro de que desea eliminar este dispositivo?",
"confirm_rename_entity_ids": "¿También desea cambiar el nombre de la identificación de la entidad de sus entidades?",
"confirm_rename_entity_ids_warning": "Esto no cambiará ninguna configuración (como automatizaciones, scripts, escenas, Lovelace) que esté usando actualmente estas entidades, tendrás que actualizarlas tú mismo.",
"data_table": {
"area": "Área",
"battery": "Batería",
@@ -1341,7 +1442,7 @@
},
"entities": {
"caption": "Entidades",
"description": "Visión general de todas las entidades conocidas.",
"description": "Gestione todas las entidades conocidas.",
"picker": {
"disable_selected": {
"button": "Deshabilitar selección",
@@ -1393,7 +1494,7 @@
"header": "Configurar Home Assistant",
"helpers": {
"caption": "Auxiliares",
"description": "Elementos que pueden ayudar a construir automatizaciones.",
"description": "Gestionar elementos ayudan a construir automatizaciones",
"dialog": {
"add_helper": "Agregar auxiliar",
"add_platform": "Añadir {platform}",
@@ -1444,6 +1545,7 @@
},
"integrations": {
"add_integration": "Agregar integración",
"attention": "Atención requerida",
"caption": "Integraciones",
"config_entry": {
"area": "En {area}",
@@ -1464,6 +1566,7 @@
"options": "Opciones",
"rename": "Renombrar",
"restart_confirm": "Reinicie Home Assistant para terminar de eliminar esta integración.",
"services": "{count} {count, plural,\n one {service}\n other {services}\n}",
"settings_button": "Editar configuración para {integration}",
"system_options": "Opciones de Sistema",
"system_options_button": "Opciones del sistema para {integration}",
@@ -1486,7 +1589,7 @@
},
"configure": "Configurar",
"configured": "Configurado",
"description": "Administrar y configurar integraciones",
"description": "Gestione las integraciones",
"details": "Detalles de integración",
"discovered": "Descubierto",
"home_assistant_website": "Sitio web de Home Assistant",
@@ -1510,6 +1613,7 @@
"none_found_detail": "Ajuste sus criterios de búsqueda",
"note_about_integrations": "No todas las integraciones se pueden configurar a través de la interfaz de usuario.",
"note_about_website_reference": "Hay más disponibles en ",
"reconfigure": "Reconfigurar",
"rename_dialog": "Editar el nombre de esta entrada de configuración",
"rename_input_label": "Ingresar Nombre",
"search": "Buscar integraciones"
@@ -1619,13 +1723,84 @@
"title": "",
"topic": "tema"
},
"ozw": {
"button": "Configurar",
"common": {
"controller": "Controlador",
"instance": "Instancia",
"network": "Red"
},
"navigation": {
"network": "Red",
"nodes": "Nodos",
"select_instance": "Seleccione la instancia"
},
"network_status": {
"details": {
"driverallnodesqueried": "Todos los nodos han sido consultados",
"driverallnodesqueriedsomedead": "Todos los nodos han sido consultados. Algunos nodos fueron encontrados inactivos.",
"driverawakenodesqueries": "Se han consultado todos los nodos activos",
"driverfailed": "No se pudo conectar al controlador Z-Wave",
"driverready": "Iniciando el controlador de Z-Wave",
"driverremoved": "El controlador ha sido eliminado",
"driverreset": "El controlador se ha reiniciado",
"offline": "OZWDaemon fuera de línea",
"ready": "Listo para conectar",
"started": "Conectado a MQTT",
"starting": "Conectando con MQTT",
"stopped": "OpenZWave se detuvo"
},
"offline": "Fuera de línea",
"online": "En línea",
"starting": "Comenzando",
"unknown": "Desconocido"
},
"network": {
"header": "Gestión de red",
"introduction": "Gestione las funciones de toda la red."
},
"node_query_stages": {
"complete": "El proceso de consulta está completo",
"configuration": "Obteniendo los valores de configuración del nodo",
"dynamic": "Obteniendo los valores que cambian con frecuencia del nodo"
},
"node": {
"button": "Detalles del nodo",
"not_found": "Nodo no encontrado"
},
"nodes_table": {
"failed": "Fallido",
"id": "ID",
"manufacturer": "Fabricante",
"model": "Modelo",
"query_stage": "Etapa de consulta",
"zwave_plus": "Z-Wave Plus"
},
"refresh_node": {
"battery_note": "Si el nodo funciona con batería, asegúrese de activarlo antes de continuar.",
"button": "Actualizar nodo",
"complete": "Actualización de nodo completa",
"description": "Esto le indicará a OpenZWave que vuelva a consultar un nodo y actualice las clases de comando, las capacidades y los valores del nodo.",
"node_status": "Estado del nodo",
"refreshing_description": "Actualizando la información del nodo ...",
"start_refresh_button": "Iniciar actualización",
"step": "Paso",
"title": "Actualizar la información del nodos",
"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": "Seleccione una instancia OpenZWave",
"introduction": "Tiene más de una instancia de OpenZWave en ejecución. ¿Qué instancia te gustaría gestionar?"
}
},
"person": {
"add_person": "Agregar persona",
"caption": "Personas",
"confirm_delete": "¿Está seguro de que desea eliminar a esta persona?",
"confirm_delete2": "Todos los dispositivos que pertenecen a esta persona quedarán sin asignar.",
"create_person": "Crear persona",
"description": "Gestiona las personas que rastrea Home Assistant.",
"description": "Gestione las personas que rastrea Home Assistant.",
"detail": {
"create": "Crear",
"delete": "Eliminar",
@@ -1648,7 +1823,7 @@
"scene": {
"activated": "Escena activada {name}.",
"caption": "Escenas",
"description": "Crear y editar escenas",
"description": "Gestionar escenas",
"editor": {
"default_name": "Nueva escena",
"devices": {
@@ -1743,7 +1918,7 @@
"reloading": {
"automation": "Recargar automatizaciones",
"core": "Recargar ubicación y personalizaciones",
"group": "Recargar grupos",
"group": "Recargar grupos, entidades grupales, y servicios de notificación",
"heading": "Recarga de configuración YAML",
"input_boolean": "Recargar controles booleanos",
"input_datetime": "Recargar controles de fechas",
@@ -1751,9 +1926,16 @@
"input_select": "Recargar controles de selección",
"input_text": "Recargar controles de texto",
"introduction": "Algunas partes de Home Assistant pueden recargarse sin requerir un reinicio. Al presionar recargar se descargará su configuración YAML actual y se cargará la nueva.",
"mqtt": "Recargar entidades MQTT",
"person": "Recargar personas",
"reload": "Recargar {domain}",
"rest": "Recargar entidades \"rest\" y servicios de notificación.",
"rpi_gpio": "Recargue las entidades GPIO de la Raspberry Pi",
"scene": "Recargar escenas",
"script": "Recargar scripts",
"smtp": "Recargar servicios de notificación smtp",
"telegram": "Recargar servicios de notificación de telegram",
"template": "Recargar las entidades de la plantilla",
"zone": "Recargar zonas"
},
"server_management": {
@@ -1773,6 +1955,32 @@
}
}
},
"tags": {
"add_tag": "Añadir etiqueta",
"automation_title": "La etiqueta {name} ha sido escaneada",
"caption": "Etiquetas",
"create_automation": "Crea automatización con etiqueta",
"description": "Gestionar etiquetas",
"detail": {
"create": "Crear",
"create_and_write": "Crear y escribir",
"delete": "Eliminar",
"description": "Descripción",
"name": "Nombre",
"new_tag": "Nueva etiqueta",
"tag_id": "ID de etiqueta",
"tag_id_placeholder": "Autogenerado cuando se deja vacío",
"update": "Actualizar"
},
"edit": "Editar",
"headers": {
"last_scanned": "Último escaneado",
"name": "Nombre"
},
"never_scanned": "Nunca escaneado",
"no_tags": "Sin etiquetas",
"write": "Escribir"
},
"users": {
"add_user": {
"caption": "Agregar usuario",
@@ -1809,7 +2017,7 @@
"system": "Sistema"
}
},
"users_privileges_note": "El grupo de usuarios es un trabajo en progreso. El usuario no podrá administrar la instancia a través de la interfaz de usuario. Todavía estamos auditando todos los puntos finales de la API de administración para garantizar que limiten correctamente el acceso a los administradores."
"users_privileges_note": "El grupo de usuarios es un trabajo en progreso. El usuario no podrá administrar la instancia a través de la interfaz de usuario. Todavía estamos auditando todos los puntos finales de la API de administración para garantizar que limiten correctamente el acceso solo a los administradores."
},
"zha": {
"add_device_page": {
@@ -1847,7 +2055,7 @@
"clusters": {
"header": "Clústeres",
"help_cluster_dropdown": "Seleccione un clúster para ver atributos y comandos.",
"introduction": "Los clústeres son los bloques de construcción para la funcionalidad de Zigbee. Separa la funcionalidad en unidades lógicas. Hay tipos de clientes y servidores que se componen de atributos y comandos."
"introduction": "Los clústeres son los bloques de construcción para la funcionalidad de Zigbee. Ellos separan la funcionalidad en unidades lógicas. Hay tipos de clientes y servidores que se componen de atributos y comandos."
},
"common": {
"add_devices": "Agregar dispositivos",
@@ -1879,7 +2087,7 @@
"create_group": "Zigbee Home Automation - Crear grupo",
"create_group_details": "Ingrese los detalles requeridos para crear un nuevo grupo zigbee",
"creating_group": "Creando grupo",
"description": "Crear y modificar grupos Zigbee",
"description": "Gestione los grupos Zigbee",
"group_details": "Aquí están todos los detalles para el grupo Zigbee seleccionado.",
"group_id": "Identificación del grupo",
"group_info": "Información del grupo",
@@ -2091,9 +2299,14 @@
"title": "Estados"
},
"templates": {
"all_listeners": "Esta plantilla escucha todos los eventos de cambio de estado.",
"description": "Las plantillas se representan utilizando el motor de plantillas Jinja2 con algunas extensiones específicas de Home Assistant.",
"domain": "Dominio",
"editor": "Editor de plantillas",
"entity": "Entidad",
"jinja_documentation": "Documentación de plantillas Jinja2",
"listeners": "Esta plantilla escucha los eventos de los siguientes cambios de estado:",
"no_listeners": "Esta plantilla no escucha ningún evento de cambio de estado y no se actualizará automáticamente.",
"template_extensions": "Extensiones de plantilla de Home Assistant",
"title": "Plantilla",
"unknown_error_template": "Error desconocido al mostrar la plantilla"
@@ -2335,7 +2548,11 @@
}
},
"cardpicker": {
"by_card": "Por Tarjeta",
"by_entity": "Por Entidad",
"custom_card": "Personalizado",
"domain": "Dominio",
"entity": "Entidad",
"no_description": "No hay descripción disponible."
},
"edit_card": {
@@ -2349,10 +2566,11 @@
"options": "Mas opciones",
"pick_card": "¿Qué tarjeta desea agregar?",
"pick_card_view_title": "¿Qué tarjeta le gustaría agregar a su vista de {name} ?",
"search_cards": "Buscar tarjetas",
"show_code_editor": "Mostrar editor de código",
"show_visual_editor": "Mostrar el editor visual",
"toggle_editor": "Cambiar editor",
"typed_header": "{tipo} Configuración de la tarjeta",
"typed_header": "{type} Configuración de la tarjeta",
"unsaved_changes": "Tiene cambios no guardados"
},
"edit_lovelace": {
@@ -2429,7 +2647,7 @@
},
"menu": {
"close": "Cerrar",
"configure_ui": "Configurar interfaz de usuario",
"configure_ui": "Editar interfaz de usuario",
"exit_edit_mode": "Salir del modo de edición de la interfaz de usuario",
"help": "Ayuda",
"refresh": "Refrescar",
@@ -2661,6 +2879,11 @@
"submit": "Enviar"
},
"current_user": "Actualmente estás conectado como {fullName} .",
"customize_sidebar": {
"button": "Editar",
"description": "También puede mantener pulsado el encabezado de la barra lateral para activar el modo de edición.",
"header": "Cambiar el orden y ocultar elementos de la barra lateral"
},
"dashboard": {
"description": "Elija un tablero predeterminado para este dispositivo.",
"dropdown_label": "Tablero",
@@ -2683,6 +2906,7 @@
"confirm_delete": "¿Está seguro de que desea eliminar el token de acceso para {name}?",
"create": "Crear Token",
"create_failed": "No se pudo crear el token de acceso.",
"created": "Creado {date}",
"created_at": "Creado en {date}",
"delete_failed": "No se pudo eliminar el token de acceso.",
"description": "Cree tokens de acceso de larga duración para permitir que sus secuencias de comandos interactúen con la instancia de su Home Assistant. Cada token tendrá una validez de 10 años a partir de su creación. Los siguientes tokens de acceso de larga duración están activos actualmente.",
@@ -2690,9 +2914,10 @@
"header": "Tokens de acceso de larga duración",
"last_used": "Utilizado por última vez en {date} desde {location}.",
"learn_auth_requests": "Aprenda a realizar solicitudes autenticadas.",
"name": "Nombre",
"not_used": "Nunca se ha utilizado",
"prompt_copy_token": "Copia tu token de acceso. No se volverá a mostrar",
"prompt_name": "¿Nombre?"
"prompt_name": "Dale un nombre al token"
},
"mfa_setup": {
"close": "Cerrar",
@@ -2748,6 +2973,7 @@
}
},
"sidebar": {
"done": "Hecho",
"external_app_configuration": "Configuración de la aplicación",
"sidebar_toggle": "Alternar barra lateral"
}
+9
View File
@@ -571,6 +571,15 @@
"audio_not_supported": "Tu navegador no es compatible con el elemento de audio.",
"choose_player": "Elige reproductor",
"choose-source": "Elige la fuente",
"class": {
"playlist": "Lista de reproducción",
"podcast": "Podcast",
"season": "Temporada",
"track": "Pista",
"tv_show": "Programa de TV",
"url": "Url",
"video": "Vídeo"
},
"content-type": {
"album": "Álbum",
"artist": "Artista",
+30
View File
@@ -574,6 +574,28 @@
"audio_not_supported": "Nettleseren din støtter ikke lydelementet.",
"choose_player": "Velg spiller",
"choose-source": "Velg kilde",
"class": {
"album": "Album",
"app": "App",
"artist": "Artist",
"channel": "Kanal",
"composer": "Komponist",
"contributing_artist": "Medvirkende artist",
"directory": "Bibliotek",
"episode": "Episode",
"game": "Spill",
"genre": "Sjanger",
"image": "Bilde",
"movie": "Film",
"music": "Musikk",
"playlist": "Spilleliste",
"podcast": "Podcast",
"season": "Sesong",
"track": "Spor",
"tv_show": "TV Serie",
"url": "Url",
"video": "Video"
},
"content-type": {
"album": "Album",
"artist": "Artist",
@@ -2353,7 +2375,9 @@
},
"templates": {
"description": "Maler blir rendret ved hjelp av Jinja2-malmotoren med noen spesifikke utvidelser for Home Assistant.",
"domain": "Domene",
"editor": "Maleditor",
"entity": "Entitet",
"jinja_documentation": "Jinja2 mal dokumentasjon",
"reset": "Tilbakestill til demomal",
"template_extensions": "Mal utvidelser for Home Assistant",
@@ -2941,6 +2965,9 @@
"submit": "Send inn"
},
"current_user": "Du er logget inn som {fullName}.",
"customize_sidebar": {
"header": "Endre rekkefølgen og skjul elementer fra sidepanelet"
},
"dashboard": {
"description": "Velg et standard instrumentbord for denne enheten.",
"dropdown_label": "",
@@ -2963,6 +2990,7 @@
"confirm_delete": "Er du sikker på at du vil slette tilgangstoken for {name}?",
"create": "Opprett Token",
"create_failed": "Kunne ikke opprette tilgangstoken.",
"created": "Opprettet {date}",
"created_at": "Opprettet den {date}",
"delete_failed": "Kan ikke slette tilgangstokenet.",
"description": "Opprett langvarige tilgangstokener slik at skriptene dine kan samhandle med din Home Assistant instans. Hver token vil være gyldig i 10 år fra opprettelsen. Følgende langvarige tilgangstokener er for tiden aktive.",
@@ -2970,6 +2998,7 @@
"header": "Langvarige tilgangstokener",
"last_used": "Sist brukt den {date} fra {location}",
"learn_auth_requests": "Lær hvordan du lager godkjente forespørsler.",
"name": "Navn",
"not_used": "Har aldri blitt brukt",
"prompt_copy_token": "Kopier tilgangstoken. Det blir ikke vist igjen.",
"prompt_name": "Navn?"
@@ -3036,6 +3065,7 @@
}
},
"sidebar": {
"done": "Ferdig",
"external_app_configuration": "Appkonfigurasjon",
"sidebar_toggle": "Vis/Skjul sidepanel"
}
+32
View File
@@ -574,6 +574,28 @@
"audio_not_supported": "Uw browser ondersteunt het audio-element niet.",
"choose_player": "Kies speler",
"choose-source": "Kies bron",
"class": {
"album": "Album",
"app": "App",
"artist": "Artiest",
"channel": "Kanaal",
"composer": "Componist",
"contributing_artist": "Bijdragende artiest",
"directory": "Bibliotheek",
"episode": "Aflevering",
"game": "Spel",
"genre": "Genre",
"image": "Afbeelding",
"movie": "Film",
"music": "Muziek",
"playlist": "Afspeellijst",
"podcast": "Podcast",
"season": "Seizoen",
"track": "Nummer",
"tv_show": "TV-programma",
"url": "Url",
"video": "Video"
},
"content-type": {
"album": "Album",
"artist": "Artiest",
@@ -2353,7 +2375,9 @@
},
"templates": {
"description": "Sjablonen worden weergegeven met de Jinja2-sjabloonediter samen met enkele extensies van Home Assistant.",
"domain": "Domein",
"editor": "Sjabloonediter",
"entity": "Entiteit",
"jinja_documentation": "Jinja2-sjabloondocumentatie",
"reset": "Resetten naar demosjabloon",
"template_extensions": "Home Assistant sjabloon extensiesHome Assistant",
@@ -2941,6 +2965,11 @@
"submit": "Verzenden"
},
"current_user": "Je bent momenteel ingelogd als {fullName}.",
"customize_sidebar": {
"button": "Bewerken",
"description": "U kunt ook de koptekst van de zijbalk ingedrukt houden om de bewerkingsmodus te activeren.",
"header": "Wijzig de volgorde en verberg items van de zijbalk"
},
"dashboard": {
"description": "Kies een standaard dashboard voor dit apparaat.",
"dropdown_label": "Dashboard",
@@ -2963,6 +2992,7 @@
"confirm_delete": "Weet je zeker dat je de toegangstoken voor {name} wilt verwijderen?",
"create": "Token aanmaken",
"create_failed": "De toegangstoken kon niet worden aangemaakt.",
"created": "Gemaakt op {date}",
"created_at": "Gemaakt op {date}",
"delete_failed": "Verwijderen van de toegangstoken is mislukt.",
"description": "Maak toegangstokens met een lange levensduur zodat je scripts kunnen communiceren met je Home Assistant-instantie. Elk token is tien jaar geldig vanaf de aanmaakdatum. De volgende langlevende toegangstokens zijn momenteel actief.",
@@ -2970,6 +3000,7 @@
"header": "Toegangtokens met lange levensduur",
"last_used": "Laatst gebruikt op {date} vanaf {location}",
"learn_auth_requests": "Kom te weten hoe je geverifieerde verzoeken kunt maken",
"name": "Naam",
"not_used": "Is nog nooit gebruikt",
"prompt_copy_token": "Kopieer je toegangstoken. Het wordt niet meer getoond.",
"prompt_name": "Naam?"
@@ -3036,6 +3067,7 @@
}
},
"sidebar": {
"done": "Gedaan",
"external_app_configuration": "App configuratie",
"sidebar_toggle": "Zijbalk in- en uitschakelen"
}
+57 -5
View File
@@ -19,6 +19,7 @@
"logbook": "Dziennik",
"mailbox": "Poczta",
"map": "Mapa",
"media_browser": "Odtwarzacz mediów",
"profile": "Profil",
"shopping_list": "Lista zakupów",
"states": "Przegląd"
@@ -553,6 +554,7 @@
},
"entity": {
"entity-attribute-picker": {
"attribute": "Atrybut",
"show_attributes": "Pokaż atrybuty"
},
"entity-picker": {
@@ -565,10 +567,35 @@
"loading_history": "Ładowanie historii...",
"no_history_found": "Nie znaleziono historii."
},
"logbook": {
"entries_not_found": "Nie znaleziono wpisów w dzienniku."
},
"media-browser": {
"audio_not_supported": "Twoja przeglądarka nie obsługuje elementu audio.",
"choose_player": "Wybierz odtwarzacz",
"choose-source": "Wybierz źródło",
"class": {
"album": "Album",
"app": "Aplikacja",
"artist": "Artysta",
"channel": "Kanał",
"composer": "Kompozytor",
"contributing_artist": "Artysta współpracujący",
"directory": "Biblioteka",
"episode": "Odcinek",
"game": "Gra",
"genre": "Gatunek",
"image": "Obraz",
"movie": "Film",
"music": "Muzyka",
"playlist": "Playlista",
"podcast": "Podcast",
"season": "Sezon",
"track": "Ścieżka",
"tv_show": "Program telewizyjny",
"url": "URL",
"video": "Wideo"
},
"content-type": {
"album": "Album",
"artist": "Artysta",
@@ -576,6 +603,7 @@
"playlist": "Lista odtwarzania",
"server": "Serwer"
},
"media_browsing_error": "Błąd przeglądania multimediów",
"media_not_supported": "Przeglądarka odtwarzacza mediów nie obsługuje tego typu mediów",
"media_player": "Odtwarzacz mediów",
"media-player-browser": "Przeglądarka odtwarzacza mediów",
@@ -931,7 +959,13 @@
"label": "Wywołanie usługi",
"service_data": "Dane usługi"
},
"wait_for_trigger": {
"continue_timeout": "Kontynuuj po przekroczeniu limitu czasu",
"label": "Czekaj na wyzwalacz",
"timeout": "Limit czasu (opcjonalnie)"
},
"wait_template": {
"continue_timeout": "Kontynuuj po przekroczeniu limitu czasu",
"label": "Oczekiwanie",
"timeout": "Limit czasu (opcjonalnie)",
"wait_template": "Szablon czekania"
@@ -995,7 +1029,9 @@
"time": {
"after": "Po",
"before": "Przed",
"label": "Czas"
"label": "Czas",
"type_input": "Wartość pomocnika typu data/czas",
"type_value": "Ustalony czas"
},
"zone": {
"entity": "Encja z lokalizacją",
@@ -1083,6 +1119,7 @@
"value_template": "Szablon wartości (opcjonalnie)"
},
"state": {
"attribute": "Atrybut (opcjonalnie)",
"for": "Przez",
"from": "Z",
"label": "Stan",
@@ -1110,7 +1147,9 @@
},
"time": {
"at": "O",
"label": "Czas"
"label": "Czas",
"type_input": "Wartość pomocnika typu data/czas",
"type_value": "Ustalony czas"
},
"webhook": {
"label": "Webhook",
@@ -1134,7 +1173,7 @@
"delete_automation": "Usuń automatyzację",
"delete_confirm": "Czy na pewno chcesz usunąć tę automatyzację?",
"duplicate": "Duplikuj",
"duplicate_automation": "Duplikat automatyzację",
"duplicate_automation": "Duplikuj automatyzację",
"edit_automation": "Edytuj automatyzację",
"header": "Edytor automatyzacji",
"headers": {
@@ -1502,7 +1541,7 @@
},
"types": {
"input_boolean": "Przełącznik",
"input_datetime": "Data i/lub godzina",
"input_datetime": "Data i/lub czas",
"input_number": "Numer",
"input_select": "Pole wyboru",
"input_text": "Tekst"
@@ -1535,6 +1574,7 @@
},
"integrations": {
"add_integration": "Dodaj integrację",
"attention": "Wymaga uwagi",
"caption": "Integracje",
"config_entry": {
"area": "obszar: {area}",
@@ -1937,7 +1977,7 @@
"reloading": {
"automation": "Automatyzacje",
"command_line": "Encje komponentu linia komend",
"core": "Lokalizacja i dostosowywanie",
"core": "Lokalizację i dostosowywanie",
"filesize": "Encje komponentu wielkość pliku",
"filter": "Encje komponentu filtr",
"generic": "Encje komponentu kamera IP generic",
@@ -2334,9 +2374,14 @@
"title": "Stany"
},
"templates": {
"all_listeners": "Ten szablon nasłuchuje wszystkich zdarzeń zmiany stanu.",
"description": "Szablony są renderowane przy użyciu silnika szablonów Jinja2 z kilkoma specyficznymi rozszerzeniami Home Assistanta.",
"domain": "Domena",
"editor": "Edytor szablonów",
"entity": "Encja",
"jinja_documentation": "Dokumentacja szablonów Jinja2",
"listeners": "Ten szablon nasłuchuje następujących zdarzeń zmiany stanu:",
"no_listeners": "Ten szablon nie nasłuchuje żadnych zdarzeń zmiany stanu i nie zostanie zaktualizowany automatycznie.",
"reset": "Zresetuj do szablonu demonstracyjnego",
"template_extensions": "Rozszerzenia szablonów Home Assistanta",
"title": "Szablon",
@@ -2923,6 +2968,11 @@
"submit": "Zatwierdź"
},
"current_user": "Jesteś obecnie zalogowany jako {fullName}.",
"customize_sidebar": {
"button": "Edytuj",
"description": "Możesz także nacisnąć i przytrzymać nagłówek paska bocznego, aby aktywować tryb edycji.",
"header": "Zmień kolejność i ukryj elementy na pasku bocznym"
},
"dashboard": {
"description": "Wybierz domyślny dashboard dla tego urządzenia.",
"dropdown_label": "Dashboard",
@@ -2945,6 +2995,7 @@
"confirm_delete": "Czy na pewno chcesz usunąć token dla {name}?",
"create": "Utwórz token",
"create_failed": "Nie udało się utworzyć tokena.",
"created": "Utworzony {date}",
"created_at": "Utworzony {date}",
"delete_failed": "Nie udało się usunąć tokena.",
"description": "Długoterminowe tokeny dostępu umożliwiają skryptom interakcję z Home Assistantem. Każdy token będzie ważny przez 10 lat od utworzenia. Następujące tokeny są obecnie aktywne.",
@@ -3019,6 +3070,7 @@
}
},
"sidebar": {
"done": "Gotowe",
"external_app_configuration": "Konfiguracja aplikacji",
"sidebar_toggle": "Przełącz pasek boczny"
}
+29
View File
@@ -574,6 +574,27 @@
"audio_not_supported": "Ваш браузер не поддерживает аудио.",
"choose_player": "Выберите медиаплеер",
"choose-source": "Выбрать источник",
"class": {
"album": "Альбом",
"app": "Приложение",
"artist": "Исполнитель",
"channel": "Канал",
"composer": "Композитор",
"directory": "Библиотека",
"episode": "Эпизод",
"game": "Игра",
"genre": "Жанр",
"image": "Изображение",
"movie": "Фильм",
"music": "Музыка",
"playlist": "Плейлист",
"podcast": "Подкаст",
"season": "Сезон",
"track": "Трек",
"tv_show": "Сериалы",
"url": "URL-адрес",
"video": "Видео"
},
"content-type": {
"album": "Альбом",
"artist": "Исполнитель",
@@ -2353,7 +2374,9 @@
},
"templates": {
"description": "Здесь Вы можете протестировать поведение шаблонов. В Home Assistant используется шаблонизатор Jinja2 с некоторыми специальными расширениями.",
"domain": "Домен",
"editor": "Редактор шаблонов",
"entity": "Объект",
"jinja_documentation": "Узнайте больше о шаблонизаторе Jinja2",
"reset": "Вернуться к демонстрационному шаблону",
"template_extensions": "Узнайте больше о шаблонах Home Assistant",
@@ -2941,6 +2964,11 @@
"submit": "Подтвердить"
},
"current_user": "Добро пожаловать, {fullName}! Вы вошли в систему.",
"customize_sidebar": {
"button": "Изменить",
"description": "Режим редактирования можно включить, нажав и удерживая заголовок боковой панели",
"header": "Изменить элементы боковой панели"
},
"dashboard": {
"description": "Панель, используемая по умолчанию для этого устройства",
"dropdown_label": "Панель",
@@ -3038,6 +3066,7 @@
}
},
"sidebar": {
"done": "Готово",
"external_app_configuration": "Настройки приложения",
"sidebar_toggle": "Переключатель в боковой панели"
}
+33
View File
@@ -574,6 +574,28 @@
"audio_not_supported": "您的浏览器不支持音频元素。",
"choose_player": "选择播放器",
"choose-source": "选择媒体源",
"class": {
"album": "专辑",
"app": "应用",
"artist": "艺术家",
"channel": "频道",
"composer": "作曲家",
"contributing_artist": "参与创作者",
"directory": "媒体库",
"episode": "分集",
"game": "游戏",
"genre": "体裁",
"image": "图片",
"movie": "电影",
"music": "音乐",
"playlist": "播放列表",
"podcast": "播客",
"season": "播出季",
"track": "音轨",
"tv_show": "电视节目",
"url": "网址",
"video": "视频"
},
"content-type": {
"album": "专辑",
"artist": "艺术家",
@@ -2352,9 +2374,14 @@
"title": "状态"
},
"templates": {
"all_listeners": "此模板监听所有的状态改变事件。",
"description": "模板使用 jinja2 模板引擎和一些 Home Assistant 特定的插件进行渲染。",
"domain": "域",
"editor": "模板编辑器",
"entity": "实体",
"jinja_documentation": "Jinja2 模板文档",
"listeners": "此模板监听以下状态改变事件:",
"no_listeners": "此模板不监听任何状态改变事件,并且不会自动更新。",
"reset": "重置为演示模板",
"template_extensions": "Home Assistant 模板插件",
"title": "模板",
@@ -2941,6 +2968,11 @@
"submit": "提交"
},
"current_user": "您目前以 {fullName} 的身份登录。",
"customize_sidebar": {
"button": "编辑",
"description": "您也可以长按侧边栏标题来进入编辑模式。",
"header": "排序和隐藏侧边栏中的项目"
},
"dashboard": {
"description": "选择此设备的默认仪表盘。",
"dropdown_label": "仪表盘",
@@ -3038,6 +3070,7 @@
}
},
"sidebar": {
"done": "完成",
"external_app_configuration": "应用配置",
"sidebar_toggle": "侧边栏切换"
}
+37 -2
View File
@@ -574,6 +574,28 @@
"audio_not_supported": "瀏覽器不支援音效元件。",
"choose_player": "選擇播放器",
"choose-source": "選擇來源",
"class": {
"album": "專輯",
"app": "App",
"artist": "演唱者",
"channel": "頻道",
"composer": "作曲者",
"contributing_artist": "參與藝術家",
"directory": "媒體庫",
"episode": "集",
"game": "遊戲",
"genre": "類型",
"image": "圖像",
"movie": "電影",
"music": "音樂",
"playlist": "播放列表",
"podcast": "Podcast",
"season": "季",
"track": "音軌",
"tv_show": "電視節目",
"url": "網址",
"video": "影片"
},
"content-type": {
"album": "專輯",
"artist": "演唱者",
@@ -1982,7 +2004,7 @@
"smtp": "重新載入 SMTP 通知服務",
"statistics": "重新載入統計資訊實體",
"telegram": "重新載入 Telegram 通知服務",
"template": "重新載入範例實體",
"template": "重新載入模板實體",
"trend": "重新載入趨勢實體",
"universal": "重新載入通用媒體播放器實體",
"zone": "重新載入區域"
@@ -2352,9 +2374,14 @@
"title": "狀態"
},
"templates": {
"all_listeners": "此模板監聽所有狀態變更事件。",
"description": "模版使用 Jinja2 模板引擎及 Home Assistant 特殊擴充進行模板渲染。",
"domain": "區域",
"editor": "模板編輯器",
"entity": "實體",
"jinja_documentation": "Jinja2 模版文件",
"listeners": "此模板監聽以下狀態變更事件:",
"no_listeners": "此模板不監聽任何狀態變更事件,將不會自動更新。",
"reset": "重置示範範模板",
"template_extensions": "Home Assistant 模板擴充",
"title": "模板",
@@ -2941,6 +2968,11 @@
"submit": "傳送"
},
"current_user": "目前登入身份:{fullName}。",
"customize_sidebar": {
"button": "編輯",
"description": "同時也能長按側邊列的標題以啟動編輯模式。",
"header": "自側邊列中變更順序或隱藏項目"
},
"dashboard": {
"description": "選擇此設備的預設主面板。",
"dropdown_label": "主面板",
@@ -2963,6 +2995,7 @@
"confirm_delete": "確定要刪除{name}存取密鑰嗎?",
"create": "創建密鑰",
"create_failed": "創建存取密鑰失敗。",
"created": "新增日期:{date}",
"created_at": "於{date}創建",
"delete_failed": "刪除存取密鑰失敗。",
"description": "創建長效存取密鑰,可供運用腳本與 Home Assistant 實體進行互動。每個密鑰於創建後,有效期為十年。目前已啟用之永久有效密鑰如下。",
@@ -2970,9 +3003,10 @@
"header": "永久有效存取密鑰",
"last_used": "上次使用:於{date}、位置{location}",
"learn_auth_requests": "學習如何進行驗證請求。",
"name": "名稱",
"not_used": "從未使用過",
"prompt_copy_token": "複製存取密鑰,將不會再次顯示。",
"prompt_name": "名稱?"
"prompt_name": "為密鑰命名"
},
"mfa_setup": {
"close": "關閉",
@@ -3036,6 +3070,7 @@
}
},
"sidebar": {
"done": "完成",
"external_app_configuration": "App 設定",
"sidebar_toggle": "側邊欄開關"
}