mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-25 10:16:46 +00:00
20201212.0 (#7952)
* [ci skip] Translation update * Add link to the community forums to find more blueprints (#7947) * Add link to the community forums to find more blueprints * Apply suggestions from code review Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Co-authored-by: Paulus Schoutsen <balloob@gmail.com> * Fix `ha-relative-time` usage for tags and sun (#7944) * Bumped version to 20201212.0 Co-authored-by: HomeAssistant Azure <hello@home-assistant.io> Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Co-authored-by: Philip Allgaier <mail@spacegaier.de>
This commit is contained in:
parent
a70e6c49a1
commit
5409752817
2
setup.py
2
setup.py
@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="home-assistant-frontend",
|
name="home-assistant-frontend",
|
||||||
version="20201210.0",
|
version="20201212.0",
|
||||||
description="The Home Assistant frontend",
|
description="The Home Assistant frontend",
|
||||||
url="https://github.com/home-assistant/home-assistant-polymer",
|
url="https://github.com/home-assistant/home-assistant-polymer",
|
||||||
author="The Home Assistant Authors",
|
author="The Home Assistant Authors",
|
||||||
|
@ -98,6 +98,12 @@ export class HaDataTable extends LitElement {
|
|||||||
|
|
||||||
@property({ type: Boolean }) public hasFab = false;
|
@property({ type: Boolean }) public hasFab = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add an extra rows at the bottom of the datatabel
|
||||||
|
* @type {TemplateResult}
|
||||||
|
*/
|
||||||
|
@property({ attribute: false }) public appendRow?;
|
||||||
|
|
||||||
@property({ type: Boolean, attribute: "auto-height" })
|
@property({ type: Boolean, attribute: "auto-height" })
|
||||||
public autoHeight = false;
|
public autoHeight = false;
|
||||||
|
|
||||||
@ -126,6 +132,8 @@ export class HaDataTable extends LitElement {
|
|||||||
|
|
||||||
@query("slot[name='header']") private _header!: HTMLSlotElement;
|
@query("slot[name='header']") private _header!: HTMLSlotElement;
|
||||||
|
|
||||||
|
private _items: DataTableRowData[] = [];
|
||||||
|
|
||||||
private _checkableRowsCount?: number;
|
private _checkableRowsCount?: number;
|
||||||
|
|
||||||
private _checkedRows: string[] = [];
|
private _checkedRows: string[] = [];
|
||||||
@ -318,10 +326,13 @@ export class HaDataTable extends LitElement {
|
|||||||
@scroll=${this._saveScrollPos}
|
@scroll=${this._saveScrollPos}
|
||||||
>
|
>
|
||||||
${scroll({
|
${scroll({
|
||||||
items: !this.hasFab
|
items: this._items,
|
||||||
? this._filteredData
|
|
||||||
: [...this._filteredData, ...[{ empty: true }]],
|
|
||||||
renderItem: (row: DataTableRowData, index) => {
|
renderItem: (row: DataTableRowData, index) => {
|
||||||
|
if (row.append) {
|
||||||
|
return html`
|
||||||
|
<div class="mdc-data-table__row">${row.content}</div>
|
||||||
|
`;
|
||||||
|
}
|
||||||
if (row.empty) {
|
if (row.empty) {
|
||||||
return html` <div class="mdc-data-table__row"></div> `;
|
return html` <div class="mdc-data-table__row"></div> `;
|
||||||
}
|
}
|
||||||
@ -447,6 +458,20 @@ export class HaDataTable extends LitElement {
|
|||||||
if (this.curRequest !== curRequest) {
|
if (this.curRequest !== curRequest) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.appendRow || this.hasFab) {
|
||||||
|
this._items = [...data];
|
||||||
|
|
||||||
|
if (this.appendRow) {
|
||||||
|
this._items.push({ append: true, content: this.appendRow });
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.hasFab) {
|
||||||
|
this._items.push({ empty: true });
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this._items = data;
|
||||||
|
}
|
||||||
this._filteredData = data;
|
this._filteredData = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ import type { HomeAssistant } from "../types";
|
|||||||
class HaRelativeTime extends UpdatingElement {
|
class HaRelativeTime extends UpdatingElement {
|
||||||
@property({ attribute: false }) public hass!: HomeAssistant;
|
@property({ attribute: false }) public hass!: HomeAssistant;
|
||||||
|
|
||||||
@property({ attribute: false }) public datetime?: string;
|
@property({ attribute: false }) public datetime?: string | Date;
|
||||||
|
|
||||||
private _interval?: number;
|
private _interval?: number;
|
||||||
|
|
||||||
|
@ -17,17 +17,17 @@ import "../../components/ha-switch";
|
|||||||
import { PolymerChangedEvent } from "../../polymer-types";
|
import { PolymerChangedEvent } from "../../polymer-types";
|
||||||
import { haStyleDialog } from "../../resources/styles";
|
import { haStyleDialog } from "../../resources/styles";
|
||||||
import { HomeAssistant } from "../../types";
|
import { HomeAssistant } from "../../types";
|
||||||
import { DialogParams } from "./show-dialog-box";
|
import { DialogBoxParams } from "./show-dialog-box";
|
||||||
|
|
||||||
@customElement("dialog-box")
|
@customElement("dialog-box")
|
||||||
class DialogBox extends LitElement {
|
class DialogBox extends LitElement {
|
||||||
@property({ attribute: false }) public hass!: HomeAssistant;
|
@property({ attribute: false }) public hass!: HomeAssistant;
|
||||||
|
|
||||||
@internalProperty() private _params?: DialogParams;
|
@internalProperty() private _params?: DialogBoxParams;
|
||||||
|
|
||||||
@internalProperty() private _value?: string;
|
@internalProperty() private _value?: string;
|
||||||
|
|
||||||
public async showDialog(params: DialogParams): Promise<void> {
|
public async showDialog(params: DialogBoxParams): Promise<void> {
|
||||||
this._params = params;
|
this._params = params;
|
||||||
if (params.prompt) {
|
if (params.prompt) {
|
||||||
this._value = params.defaultValue;
|
this._value = params.defaultValue;
|
||||||
@ -55,8 +55,8 @@ class DialogBox extends LitElement {
|
|||||||
return html`
|
return html`
|
||||||
<ha-dialog
|
<ha-dialog
|
||||||
open
|
open
|
||||||
?scrimClickAction=${this._params.prompt}
|
?scrimClickAction=${confirmPrompt}
|
||||||
?escapeKeyAction=${this._params.prompt}
|
?escapeKeyAction=${confirmPrompt}
|
||||||
@closed=${this._dialogClosed}
|
@closed=${this._dialogClosed}
|
||||||
defaultAction="ignore"
|
defaultAction="ignore"
|
||||||
.heading=${this._params.title
|
.heading=${this._params.title
|
||||||
@ -140,10 +140,10 @@ class DialogBox extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _dialogClosed(ev) {
|
private _dialogClosed(ev) {
|
||||||
if (ev.detail.action === "ignore") {
|
if (this._params?.prompt && ev.detail.action === "ignore") {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.closeDialog();
|
this._dismiss();
|
||||||
}
|
}
|
||||||
|
|
||||||
private _close(): void {
|
private _close(): void {
|
||||||
|
@ -1,31 +1,31 @@
|
|||||||
import { TemplateResult } from "lit-html";
|
import { TemplateResult } from "lit-html";
|
||||||
import { fireEvent } from "../../common/dom/fire_event";
|
import { fireEvent } from "../../common/dom/fire_event";
|
||||||
|
|
||||||
interface BaseDialogParams {
|
interface BaseDialogBoxParams {
|
||||||
confirmText?: string;
|
confirmText?: string;
|
||||||
text?: string | TemplateResult;
|
text?: string | TemplateResult;
|
||||||
title?: string;
|
title?: string;
|
||||||
warning?: boolean;
|
warning?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface AlertDialogParams extends BaseDialogParams {
|
export interface AlertDialogParams extends BaseDialogBoxParams {
|
||||||
confirm?: () => void;
|
confirm?: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ConfirmationDialogParams extends BaseDialogParams {
|
export interface ConfirmationDialogParams extends BaseDialogBoxParams {
|
||||||
dismissText?: string;
|
dismissText?: string;
|
||||||
confirm?: () => void;
|
confirm?: () => void;
|
||||||
cancel?: () => void;
|
cancel?: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface PromptDialogParams extends BaseDialogParams {
|
export interface PromptDialogParams extends BaseDialogBoxParams {
|
||||||
inputLabel?: string;
|
inputLabel?: string;
|
||||||
inputType?: string;
|
inputType?: string;
|
||||||
defaultValue?: string;
|
defaultValue?: string;
|
||||||
confirm?: (out?: string) => void;
|
confirm?: (out?: string) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DialogParams
|
export interface DialogBoxParams
|
||||||
extends ConfirmationDialogParams,
|
extends ConfirmationDialogParams,
|
||||||
PromptDialogParams {
|
PromptDialogParams {
|
||||||
confirm?: (out?: string) => void;
|
confirm?: (out?: string) => void;
|
||||||
@ -37,10 +37,10 @@ export const loadGenericDialog = () => import("./dialog-box");
|
|||||||
|
|
||||||
const showDialogHelper = (
|
const showDialogHelper = (
|
||||||
element: HTMLElement,
|
element: HTMLElement,
|
||||||
dialogParams: DialogParams,
|
dialogParams: DialogBoxParams,
|
||||||
extra?: {
|
extra?: {
|
||||||
confirmation?: DialogParams["confirmation"];
|
confirmation?: DialogBoxParams["confirmation"];
|
||||||
prompt?: DialogParams["prompt"];
|
prompt?: DialogBoxParams["prompt"];
|
||||||
}
|
}
|
||||||
) =>
|
) =>
|
||||||
new Promise((resolve) => {
|
new Promise((resolve) => {
|
||||||
|
@ -44,7 +44,7 @@ class MoreInfoSun extends LitElement {
|
|||||||
>
|
>
|
||||||
<ha-relative-time
|
<ha-relative-time
|
||||||
.hass=${this.hass}
|
.hass=${this.hass}
|
||||||
.datetimeObj=${item === "ris" ? risingDate : settingDate}
|
.datetime=${item === "ris" ? risingDate : settingDate}
|
||||||
></ha-relative-time>
|
></ha-relative-time>
|
||||||
</div>
|
</div>
|
||||||
<div class="value">
|
<div class="value">
|
||||||
|
@ -60,6 +60,12 @@ export class HaTabsSubpageDataTable extends LitElement {
|
|||||||
*/
|
*/
|
||||||
@property({ type: Boolean }) public hasFab = false;
|
@property({ type: Boolean }) public hasFab = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add an extra rows at the bottom of the datatabel
|
||||||
|
* @type {TemplateResult}
|
||||||
|
*/
|
||||||
|
@property({ attribute: false }) public appendRow?;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Field with a unique id per entry in data.
|
* Field with a unique id per entry in data.
|
||||||
* @type {String}
|
* @type {String}
|
||||||
@ -171,6 +177,7 @@ export class HaTabsSubpageDataTable extends LitElement {
|
|||||||
.noDataText=${this.noDataText}
|
.noDataText=${this.noDataText}
|
||||||
.dir=${computeRTLDirection(this.hass)}
|
.dir=${computeRTLDirection(this.hass)}
|
||||||
.clickable=${this.clickable}
|
.clickable=${this.clickable}
|
||||||
|
.appendRow=${this.appendRow}
|
||||||
>
|
>
|
||||||
${!this.narrow
|
${!this.narrow
|
||||||
? html`
|
? html`
|
||||||
|
@ -107,7 +107,16 @@ class DialogImportBlueprint extends LitElement {
|
|||||||
<pre>${this._result.raw_data}</pre>
|
<pre>${this._result.raw_data}</pre>
|
||||||
</ha-expansion-panel>`
|
</ha-expansion-panel>`
|
||||||
: html`${this.hass.localize(
|
: html`${this.hass.localize(
|
||||||
"ui.panel.config.blueprint.add.import_introduction"
|
"ui.panel.config.blueprint.add.import_introduction_link",
|
||||||
|
"community_link",
|
||||||
|
html`<a
|
||||||
|
href="https://www.home-assistant.io/get-blueprints"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer noopener"
|
||||||
|
>${this.hass.localize(
|
||||||
|
"ui.panel.config.blueprint.add.community_forums"
|
||||||
|
)}</a
|
||||||
|
>`
|
||||||
)}<paper-input
|
)}<paper-input
|
||||||
id="input"
|
id="input"
|
||||||
.label=${this.hass.localize(
|
.label=${this.hass.localize(
|
||||||
|
@ -170,6 +170,23 @@ class HaBlueprintOverview extends LitElement {
|
|||||||
"ui.panel.config.blueprint.overview.no_blueprints"
|
"ui.panel.config.blueprint.overview.no_blueprints"
|
||||||
)}
|
)}
|
||||||
hasFab
|
hasFab
|
||||||
|
.appendRow=${html` <div
|
||||||
|
class="mdc-data-table__cell"
|
||||||
|
style="width: 100%; text-align: center;"
|
||||||
|
role="cell"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
href="https://www.home-assistant.io/get-blueprints"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer noopener"
|
||||||
|
>
|
||||||
|
<mwc-button
|
||||||
|
>${this.hass.localize(
|
||||||
|
"ui.panel.config.blueprint.overview.discover_more"
|
||||||
|
)}</mwc-button
|
||||||
|
>
|
||||||
|
</a>
|
||||||
|
</div>`}
|
||||||
>
|
>
|
||||||
<mwc-icon-button slot="toolbar-icon" @click=${this._showHelp}>
|
<mwc-icon-button slot="toolbar-icon" @click=${this._showHelp}>
|
||||||
<ha-svg-icon .path=${mdiHelpCircle}></ha-svg-icon>
|
<ha-svg-icon .path=${mdiHelpCircle}></ha-svg-icon>
|
||||||
|
@ -84,7 +84,7 @@ export class HaConfigTags extends SubscribeMixin(LitElement) {
|
|||||||
${tag.last_scanned_datetime
|
${tag.last_scanned_datetime
|
||||||
? html`<ha-relative-time
|
? html`<ha-relative-time
|
||||||
.hass=${this.hass}
|
.hass=${this.hass}
|
||||||
.datetimeObj=${tag.last_scanned_datetime}
|
.datetime=${tag.last_scanned_datetime}
|
||||||
></ha-relative-time>`
|
></ha-relative-time>`
|
||||||
: this.hass.localize("ui.panel.config.tags.never_scanned")}
|
: this.hass.localize("ui.panel.config.tags.never_scanned")}
|
||||||
</div>`
|
</div>`
|
||||||
@ -103,7 +103,7 @@ export class HaConfigTags extends SubscribeMixin(LitElement) {
|
|||||||
${last_scanned_datetime
|
${last_scanned_datetime
|
||||||
? html`<ha-relative-time
|
? html`<ha-relative-time
|
||||||
.hass=${this.hass}
|
.hass=${this.hass}
|
||||||
.datetimeObj=${last_scanned_datetime}
|
.datetime=${last_scanned_datetime}
|
||||||
></ha-relative-time>`
|
></ha-relative-time>`
|
||||||
: this.hass.localize("ui.panel.config.tags.never_scanned")}
|
: this.hass.localize("ui.panel.config.tags.never_scanned")}
|
||||||
`,
|
`,
|
||||||
|
@ -1472,12 +1472,14 @@
|
|||||||
"confirm_delete_text": "Are you sure you want to delete this blueprint?",
|
"confirm_delete_text": "Are you sure you want to delete this blueprint?",
|
||||||
"add_blueprint": "Import blueprint",
|
"add_blueprint": "Import blueprint",
|
||||||
"use_blueprint": "Create automation",
|
"use_blueprint": "Create automation",
|
||||||
"delete_blueprint": "Delete blueprint"
|
"delete_blueprint": "Delete blueprint",
|
||||||
|
"discover_more": "Discover more Blueprints"
|
||||||
},
|
},
|
||||||
"add": {
|
"add": {
|
||||||
"header": "Import a blueprint",
|
"header": "Import a blueprint",
|
||||||
"import_header": "Blueprint \"{name}\"",
|
"import_header": "Blueprint \"{name}\"",
|
||||||
"import_introduction": "You can import blueprints of other users from Github and the community forums. Enter the URL of the blueprint below.",
|
"import_introduction_link": "You can import blueprints of other users from Github and the {community_link}. Enter the URL of the blueprint below.",
|
||||||
|
"community_forums": "community forums",
|
||||||
"url": "URL of the blueprint",
|
"url": "URL of the blueprint",
|
||||||
"raw_blueprint": "Blueprint content",
|
"raw_blueprint": "Blueprint content",
|
||||||
"importing": "Loading blueprint...",
|
"importing": "Loading blueprint...",
|
||||||
|
@ -1673,7 +1673,7 @@
|
|||||||
"confirm_restart": "Сигурни ли сте, че искате да рестартирате Home Assistant?",
|
"confirm_restart": "Сигурни ли сте, че искате да рестартирате Home Assistant?",
|
||||||
"confirm_stop": "Сигурни ли сте, че искате да спрете Home Assistant?",
|
"confirm_stop": "Сигурни ли сте, че искате да спрете Home Assistant?",
|
||||||
"heading": "Управление на сървъра",
|
"heading": "Управление на сървъра",
|
||||||
"introduction": "Управляване на Home Assistant сървъра... от Home Assistant.",
|
"introduction": "Контрол на Home Assistant сървъра... от Home Assistant.",
|
||||||
"restart": "Рестартирай",
|
"restart": "Рестартирай",
|
||||||
"stop": "Спри"
|
"stop": "Спри"
|
||||||
},
|
},
|
||||||
|
@ -3184,7 +3184,7 @@
|
|||||||
"close": "Tanca",
|
"close": "Tanca",
|
||||||
"empty_config": "Comença amb un panell buit",
|
"empty_config": "Comença amb un panell buit",
|
||||||
"header": "Pren el control de la interfície d'usuari Lovelace",
|
"header": "Pren el control de la interfície d'usuari Lovelace",
|
||||||
"para": "Aquest panell Lovelace s'està gestionant per Home Assistant. S'actualitza automàticament quan hi ha noves entitats o nous components de Lovelace disponibles. Si prens el control, aquest panell no s'actualitzarà automàticament. Sempre pots crear un nou panell a configuració i fer-hi proves.",
|
"para": "Aquest panell Lovelace està gestionat per Home Assistant. S'actualitza automàticament quan hi ha noves entitats o nous components de Lovelace disponibles. Si prens el control, aquest panell no s'actualitzarà automàticament. Sempre pots crear un nou panell a configuració i fer-hi proves.",
|
||||||
"para_sure": "Estàs segur que vols prendre el control de la interfície d'usuari?",
|
"para_sure": "Estàs segur que vols prendre el control de la interfície d'usuari?",
|
||||||
"save": "Prendre el control",
|
"save": "Prendre el control",
|
||||||
"yaml_config": "Per ajudar a familiaritzar-te, aquí tens la configuració actual del teu panell Lovelace:",
|
"yaml_config": "Per ajudar a familiaritzar-te, aquí tens la configuració actual del teu panell Lovelace:",
|
||||||
|
@ -1070,7 +1070,7 @@
|
|||||||
},
|
},
|
||||||
"automation": {
|
"automation": {
|
||||||
"caption": "Automatisations",
|
"caption": "Automatisations",
|
||||||
"description": "Créer et modifier des automatisations",
|
"description": "Créez des règles de comportement personnalisées pour votre maison",
|
||||||
"dialog_new": {
|
"dialog_new": {
|
||||||
"blueprint": {
|
"blueprint": {
|
||||||
"use_blueprint": "Utiliser un plan"
|
"use_blueprint": "Utiliser un plan"
|
||||||
@ -1623,7 +1623,7 @@
|
|||||||
},
|
},
|
||||||
"core": {
|
"core": {
|
||||||
"caption": "Général",
|
"caption": "Général",
|
||||||
"description": "Changer la configuration générale de votre Home Assistant.",
|
"description": "Unités de mesure, emplacement, fuseau horaire et autres paramètres généraux",
|
||||||
"section": {
|
"section": {
|
||||||
"core": {
|
"core": {
|
||||||
"core_config": {
|
"core_config": {
|
||||||
@ -2281,7 +2281,7 @@
|
|||||||
},
|
},
|
||||||
"script": {
|
"script": {
|
||||||
"caption": "Scripts",
|
"caption": "Scripts",
|
||||||
"description": "Créer et modifier des scripts.",
|
"description": "Exécuter une séquence d'actions",
|
||||||
"editor": {
|
"editor": {
|
||||||
"alias": "Nom",
|
"alias": "Nom",
|
||||||
"default_name": "Nouveau script",
|
"default_name": "Nouveau script",
|
||||||
|
@ -901,6 +901,7 @@
|
|||||||
"navigation": {
|
"navigation": {
|
||||||
"areas": "Gebieden",
|
"areas": "Gebieden",
|
||||||
"automation": "Automatiseringen",
|
"automation": "Automatiseringen",
|
||||||
|
"blueprint": "Blueprints",
|
||||||
"core": "Algemeen",
|
"core": "Algemeen",
|
||||||
"customize": "Aanpassingen",
|
"customize": "Aanpassingen",
|
||||||
"devices": "Apparaten",
|
"devices": "Apparaten",
|
||||||
@ -1047,7 +1048,7 @@
|
|||||||
"confirmation_text": "Alle apparaten in dit gebied zullen niet meer toegewezen zijn.",
|
"confirmation_text": "Alle apparaten in dit gebied zullen niet meer toegewezen zijn.",
|
||||||
"confirmation_title": "Weet je zeker dat je dit gebied wilt verwijderen?"
|
"confirmation_title": "Weet je zeker dat je dit gebied wilt verwijderen?"
|
||||||
},
|
},
|
||||||
"description": "Groepeer apparaten in gebieden",
|
"description": "Groepeer apparaten en entiteiten in gebieden",
|
||||||
"editor": {
|
"editor": {
|
||||||
"area_id": "Gebieds-ID",
|
"area_id": "Gebieds-ID",
|
||||||
"create": "Aanmaken",
|
"create": "Aanmaken",
|
||||||
@ -1072,7 +1073,7 @@
|
|||||||
"description": "Maak aangepaste gedragsregels voor uw huis",
|
"description": "Maak aangepaste gedragsregels voor uw huis",
|
||||||
"dialog_new": {
|
"dialog_new": {
|
||||||
"blueprint": {
|
"blueprint": {
|
||||||
"use_blueprint": "Gebruik een blauwdruk"
|
"use_blueprint": "Gebruik een Blueprint"
|
||||||
},
|
},
|
||||||
"header": "Een nieuwe automatisering maken",
|
"header": "Een nieuwe automatisering maken",
|
||||||
"how": "Hoe wil je je nieuwe automatisering maken?",
|
"how": "Hoe wil je je nieuwe automatisering maken?",
|
||||||
@ -1165,12 +1166,12 @@
|
|||||||
},
|
},
|
||||||
"alias": "Naam",
|
"alias": "Naam",
|
||||||
"blueprint": {
|
"blueprint": {
|
||||||
"blueprint_to_use": "Blauwdruk om te gebruiken",
|
"blueprint_to_use": "Blueprint om te gebruiken",
|
||||||
"header": "Blauwdruk",
|
"header": "Blueprint",
|
||||||
"inputs": "Inputs",
|
"inputs": "Inputs",
|
||||||
"manage_blueprints": "Beheer Blueprints",
|
"manage_blueprints": "Beheer Blueprints",
|
||||||
"no_blueprints": "Je hebt geen Blueprints",
|
"no_blueprints": "Je hebt geen Blueprints",
|
||||||
"no_inputs": "Deze blauwdruk heeft geen inputs."
|
"no_inputs": "Deze Blueprint heeft geen inputs."
|
||||||
},
|
},
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"add": "Voorwaarde toevoegen",
|
"add": "Voorwaarde toevoegen",
|
||||||
@ -1416,33 +1417,33 @@
|
|||||||
},
|
},
|
||||||
"blueprint": {
|
"blueprint": {
|
||||||
"add": {
|
"add": {
|
||||||
"error_no_url": "Voer de URL van de blauwdruk in.",
|
"error_no_url": "Voer de URL van de Blueprint in.",
|
||||||
"file_name": "Blueprint pad",
|
"file_name": "Blueprint pad",
|
||||||
"header": "Voeg een nieuwe blauwdruk toe",
|
"header": "Voeg een nieuwe Blueprint toe",
|
||||||
"import_btn": "Blauwdruk importeren",
|
"import_btn": "Bekijk een Blueprint",
|
||||||
"import_header": "Importeer \"{name}\" (type: {domain})",
|
"import_header": "Blueprint \"{name}\"",
|
||||||
"import_introduction": "U kunt Blueprints van andere gebruikers importeren vanuit Github en de communityforums. Voer de URL van de Blueprint hieronder in.",
|
"import_introduction": "U kunt Blueprints van andere gebruikers importeren vanuit Github en de communityforums. Voer de URL van de Blueprint hieronder in.",
|
||||||
"importing": "Blauwdruk importeren ...",
|
"importing": "Blueprint importeren ...",
|
||||||
"raw_blueprint": "Blueprint inhoud",
|
"raw_blueprint": "Blueprint inhoud",
|
||||||
"save_btn": "Bewaar blauwdruk",
|
"save_btn": "Blueprint importeren",
|
||||||
"saving": "Blauwdruk opslaan ...",
|
"saving": "Blueprint importeren ...",
|
||||||
"unsupported_blueprint": "Deze Blueprint wordt niet ondersteund",
|
"unsupported_blueprint": "Deze Blueprint wordt niet ondersteund",
|
||||||
"url": "URL van de blauwdruk"
|
"url": "URL van de Blueprint"
|
||||||
},
|
},
|
||||||
"caption": "Blueprints",
|
"caption": "Blueprints",
|
||||||
"description": "Beheer Blueprints",
|
"description": "Beheer Blueprints",
|
||||||
"overview": {
|
"overview": {
|
||||||
"add_blueprint": "Blauwdruk importeren",
|
"add_blueprint": "Blueprint importeren",
|
||||||
"confirm_delete_header": "Deze blauwdruk verwijderen?",
|
"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 blauwdruk wilt verwijderen?",
|
||||||
"delete_blueprint": "Verwijder Blueprint",
|
"delete_blueprint": "Verwijder Blueprint",
|
||||||
"header": "Blauwdrukeditor",
|
"header": "Blueprinteditor",
|
||||||
"headers": {
|
"headers": {
|
||||||
"domain": "Domein",
|
"domain": "Domein",
|
||||||
"file_name": "Bestandsnaam",
|
"file_name": "Bestandsnaam",
|
||||||
"name": "Naam"
|
"name": "Naam"
|
||||||
},
|
},
|
||||||
"introduction": "Met de blueprinteditor kunt je blueprints maken en bewerken.",
|
"introduction": "Met de Blueprinteditor kunt je Blueprints maken en bewerken.",
|
||||||
"learn_more": "Meer informatie over Blueprints",
|
"learn_more": "Meer informatie over Blueprints",
|
||||||
"use_blueprint": "Automatisering maken"
|
"use_blueprint": "Automatisering maken"
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,13 @@
|
|||||||
"config_entry": {
|
"config_entry": {
|
||||||
"disabled_by": {
|
"disabled_by": {
|
||||||
"config_entry": "Config Girişi",
|
"config_entry": "Config Girişi",
|
||||||
|
"device": "Cihaz",
|
||||||
"integration": "Entegrasyon",
|
"integration": "Entegrasyon",
|
||||||
"user": "Kullanıcı"
|
"user": "Kullanıcı"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"groups": {
|
"groups": {
|
||||||
|
"owner": "Sahibi",
|
||||||
"system-admin": "Yöneticiler",
|
"system-admin": "Yöneticiler",
|
||||||
"system-read-only": "Salt Okunur Kullanıcılar",
|
"system-read-only": "Salt Okunur Kullanıcılar",
|
||||||
"system-users": "Kullanıcılar"
|
"system-users": "Kullanıcılar"
|
||||||
@ -714,6 +716,16 @@
|
|||||||
"service-picker": {
|
"service-picker": {
|
||||||
"service": "Servis"
|
"service": "Servis"
|
||||||
},
|
},
|
||||||
|
"target-picker": {
|
||||||
|
"add_area_id": "Alanı seç",
|
||||||
|
"add_device_id": "Cihazı seç",
|
||||||
|
"add_entity_id": "Varlığı seç",
|
||||||
|
"expand_area_id": "Bu alanı içerdiği ayrı cihazlarda ve varlıklarda genişletin. Genişletme sonrası, alan değiştiğinde cihazları ve varlıkları güncellemeyecektir.",
|
||||||
|
"expand_device_id": "Bu cihazı ayrı varlıklarda genişletin. Genişletme sonrası, cihaz değiştiğinde varlıklar güncellenmeyecektir.",
|
||||||
|
"remove_area_id": "Alanı kaldır",
|
||||||
|
"remove_device_id": "Cihazı kaldır",
|
||||||
|
"remove_entity_id": "Varlığı kaldır"
|
||||||
|
},
|
||||||
"user-picker": {
|
"user-picker": {
|
||||||
"add_user": "Kullanıcı Ekle",
|
"add_user": "Kullanıcı Ekle",
|
||||||
"no_user": "Kullanıcı yok",
|
"no_user": "Kullanıcı yok",
|
||||||
@ -737,6 +749,7 @@
|
|||||||
"editor": {
|
"editor": {
|
||||||
"confirm_delete": "Bu girişi silmek istediğinizden emin misiniz?",
|
"confirm_delete": "Bu girişi silmek istediğinizden emin misiniz?",
|
||||||
"delete": "Sil",
|
"delete": "Sil",
|
||||||
|
"device_disabled": "Bu varlığın ait olduğu cihaz devre dışı.",
|
||||||
"enabled_cause": "{cause} tarafından devre dışı bırakılmış.",
|
"enabled_cause": "{cause} tarafından devre dışı bırakılmış.",
|
||||||
"enabled_delay_confirm": "Etkinleştirilen varlıklar, {delay} saniye içinde Home Assistant'a eklenecek",
|
"enabled_delay_confirm": "Etkinleştirilen varlıklar, {delay} saniye içinde Home Assistant'a eklenecek",
|
||||||
"enabled_description": "Devre dışı bırakılan varlıklar Home Assistant'a eklenmeyecek.",
|
"enabled_description": "Devre dışı bırakılan varlıklar Home Assistant'a eklenmeyecek.",
|
||||||
@ -747,6 +760,7 @@
|
|||||||
"icon_error": "Simgeler 'önek: simge adı' biçiminde olmalıdır, örneğin 'mdi: home'",
|
"icon_error": "Simgeler 'önek: simge adı' biçiminde olmalıdır, örneğin 'mdi: home'",
|
||||||
"name": "Ad",
|
"name": "Ad",
|
||||||
"note": "Not: Bu, tüm entegrasyonlarda henüz çalışmayabilir.",
|
"note": "Not: Bu, tüm entegrasyonlarda henüz çalışmayabilir.",
|
||||||
|
"open_device_settings": "Cihaz ayarlarını aç",
|
||||||
"unavailable": "Bu varlık şu anda kullanılamıyor.",
|
"unavailable": "Bu varlık şu anda kullanılamıyor.",
|
||||||
"update": "Güncelle"
|
"update": "Güncelle"
|
||||||
},
|
},
|
||||||
@ -1404,11 +1418,13 @@
|
|||||||
"blueprint": {
|
"blueprint": {
|
||||||
"add": {
|
"add": {
|
||||||
"error_no_url": "Lütfen taslağın URL'sini girin.",
|
"error_no_url": "Lütfen taslağın URL'sini girin.",
|
||||||
"header": "Yeni taslak ekle",
|
"file_name": "Taslak Yolu",
|
||||||
|
"header": "Taslağı içeri aktar",
|
||||||
"import_btn": "Taslağı içe aktar",
|
"import_btn": "Taslağı içe aktar",
|
||||||
"import_header": "{name} ( {domain} ) içe aktar",
|
"import_header": "Taslak \"{name}\"",
|
||||||
"import_introduction": "Diğer kullanıcıların taslaklarını Github'dan ve topluluk forumlarından içe aktarabilirsiniz. Taslağın URL'sini aşağıya girin.",
|
"import_introduction": "Diğer kullanıcıların taslaklarını Github'dan ve topluluk forumlarından içe aktarabilirsiniz. Taslağın URL'sini aşağıya girin.",
|
||||||
"importing": "Taslak içe aktarılıyor...",
|
"importing": "Taslak içe aktarılıyor...",
|
||||||
|
"raw_blueprint": "Taslak içeriği",
|
||||||
"save_btn": "Taslağı kaydet",
|
"save_btn": "Taslağı kaydet",
|
||||||
"saving": "Taslak kaydediliyor...",
|
"saving": "Taslak kaydediliyor...",
|
||||||
"unsupported_blueprint": "Bu taslak desteklenmiyor",
|
"unsupported_blueprint": "Bu taslak desteklenmiyor",
|
||||||
@ -1419,13 +1435,17 @@
|
|||||||
"overview": {
|
"overview": {
|
||||||
"add_blueprint": "Taslak ekle",
|
"add_blueprint": "Taslak ekle",
|
||||||
"confirm_delete_header": "Bu taslak silinsin mi?",
|
"confirm_delete_header": "Bu taslak silinsin mi?",
|
||||||
"confirm_delete_text": "Bu taslağı silmek istediğinizden emin misiniz",
|
"confirm_delete_text": "Bu taslağı silmek istediğinizden emin misiniz?",
|
||||||
|
"delete_blueprint": "Taslağı sil",
|
||||||
"header": "Taslak Düzenleyici",
|
"header": "Taslak Düzenleyici",
|
||||||
"headers": {
|
"headers": {
|
||||||
|
"domain": "Alan adı",
|
||||||
|
"file_name": "Dosya adı",
|
||||||
"name": "Ad"
|
"name": "Ad"
|
||||||
},
|
},
|
||||||
"introduction": "Taslak düzenleyici, taslakları oluşturmanıza ve düzenlemenize olanak tanır.",
|
"introduction": "Taslak düzenleyici, taslakları oluşturmanıza ve düzenlemenize olanak tanır.",
|
||||||
"learn_more": "Taslaklar hakkında daha fazla bilgi edinin"
|
"learn_more": "Taslaklar hakkında daha fazla bilgi edinin",
|
||||||
|
"use_blueprint": "Otomasyon oluşturun"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cloud": {
|
"cloud": {
|
||||||
@ -1695,6 +1715,14 @@
|
|||||||
"device_info": "Cihaz bilgisi",
|
"device_info": "Cihaz bilgisi",
|
||||||
"device_not_found": "Cihaz bulunamadı.",
|
"device_not_found": "Cihaz bulunamadı.",
|
||||||
"disabled": "Devre dışı",
|
"disabled": "Devre dışı",
|
||||||
|
"disabled_by": {
|
||||||
|
"config_entry": "Yapılandırma Girişi",
|
||||||
|
"integration": "Entegrasyon",
|
||||||
|
"user": "Kullanıcı"
|
||||||
|
},
|
||||||
|
"enabled_cause": "Cihaz {cause} tarafından devre dışı bırakıldı.",
|
||||||
|
"enabled_description": "Devre dışı bırakılan cihazlar gösterilmeyecek ve cihaza ait varlıklar devre dışı bırakılacak ve Home Assistant'a eklenmeyecek.",
|
||||||
|
"enabled_label": "Cihazı etkinleştir",
|
||||||
"entities": {
|
"entities": {
|
||||||
"add_entities_lovelace": "Tüm cihaz varlıklarını Lovelace kullanıcı arayüzüne ekle",
|
"add_entities_lovelace": "Tüm cihaz varlıklarını Lovelace kullanıcı arayüzüne ekle",
|
||||||
"disabled_entities": "+{count} {count, plural,\n one {engelli varlık}\n other {engelli varlıklar}\n}",
|
"disabled_entities": "+{count} {count, plural,\n one {engelli varlık}\n other {engelli varlıklar}\n}",
|
||||||
@ -1707,6 +1735,7 @@
|
|||||||
"picker": {
|
"picker": {
|
||||||
"filter": {
|
"filter": {
|
||||||
"filter": "Filtre",
|
"filter": "Filtre",
|
||||||
|
"hidden_devices": "{number} gizli {number, plural,\n one {device}\n other {devices}\n}",
|
||||||
"show_all": "Tümünü göster",
|
"show_all": "Tümünü göster",
|
||||||
"show_disabled": "Devre dışı bırakılan aygıtları göster"
|
"show_disabled": "Devre dışı bırakılan aygıtları göster"
|
||||||
},
|
},
|
||||||
@ -1754,6 +1783,7 @@
|
|||||||
},
|
},
|
||||||
"header": "Varlıklar",
|
"header": "Varlıklar",
|
||||||
"headers": {
|
"headers": {
|
||||||
|
"area": "Alan",
|
||||||
"entity_id": "Varlık kimliği",
|
"entity_id": "Varlık kimliği",
|
||||||
"integration": "Entegrasyon",
|
"integration": "Entegrasyon",
|
||||||
"name": "Ad",
|
"name": "Ad",
|
||||||
@ -2419,19 +2449,24 @@
|
|||||||
"system_generated_users_not_editable": "Sistem tarafından oluşturulan kullanıcılar güncellenemiyor.",
|
"system_generated_users_not_editable": "Sistem tarafından oluşturulan kullanıcılar güncellenemiyor.",
|
||||||
"system_generated_users_not_removable": "Sistem tarafından oluşturulan kullanıcılar kaldırılamıyor.",
|
"system_generated_users_not_removable": "Sistem tarafından oluşturulan kullanıcılar kaldırılamıyor.",
|
||||||
"unnamed_user": "Adsız Kullanıcı",
|
"unnamed_user": "Adsız Kullanıcı",
|
||||||
"update_user": "Güncelle"
|
"update_user": "Güncelle",
|
||||||
|
"username": "Kullanıcı Adı"
|
||||||
},
|
},
|
||||||
"picker": {
|
"picker": {
|
||||||
"add_user": "Kullanıcı Ekle",
|
"add_user": "Kullanıcı Ekle",
|
||||||
"headers": {
|
"headers": {
|
||||||
"group": "Grup",
|
"group": "Grup",
|
||||||
|
"is_active": "Etkin",
|
||||||
|
"is_owner": "Sahibi",
|
||||||
"name": "Ad",
|
"name": "Ad",
|
||||||
"system": "Sistem"
|
"system": "Sistem",
|
||||||
|
"username": "Kullanıcı Adı"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"users_privileges_note": "Kullanıcı grubu özelliği devam eden bir çalışmadır. Kullanıcı örneği Kullanıcı Arabirimi üzerinden yönetemez. Yöneticilere erişimi doğru şekilde sınırlandırdığından emin olmak için tüm yönetim API uç noktalarını denetlemeye devam ediyoruz."
|
"users_privileges_note": "Kullanıcı grubu özelliği devam eden bir çalışmadır. Kullanıcı örneği Kullanıcı Arabirimi üzerinden yönetemez. Yöneticilere erişimi doğru şekilde sınırlandırdığından emin olmak için tüm yönetim API uç noktalarını denetlemeye devam ediyoruz."
|
||||||
},
|
},
|
||||||
"zha": {
|
"zha": {
|
||||||
|
"add_device": "Cihaz Ekle",
|
||||||
"add_device_page": {
|
"add_device_page": {
|
||||||
"discovered_text": "Cihazlar keşfedildikten sonra burada görünecektir.",
|
"discovered_text": "Cihazlar keşfedildikten sonra burada görünecektir.",
|
||||||
"discovery_text": "Keşfedilen cihazlar burada görünecektir. Cihaz (lar) ınız için talimatları izleyin ve cihazları eşleştirme moduna getirin.",
|
"discovery_text": "Keşfedilen cihazlar burada görünecektir. Cihaz (lar) ınız için talimatları izleyin ve cihazları eşleştirme moduna getirin.",
|
||||||
@ -2477,6 +2512,16 @@
|
|||||||
"value": "Değer"
|
"value": "Değer"
|
||||||
},
|
},
|
||||||
"description": "Zigbee Ev Otomasyonu ağ yönetimi",
|
"description": "Zigbee Ev Otomasyonu ağ yönetimi",
|
||||||
|
"device_pairing_card": {
|
||||||
|
"CONFIGURED": "Yapılandırma Tamamlandı",
|
||||||
|
"CONFIGURED_status_text": "Başlatılıyor",
|
||||||
|
"INITIALIZED": "Başlatma Tamamlandı",
|
||||||
|
"INITIALIZED_status_text": "Cihaz kullanıma hazır",
|
||||||
|
"INTERVIEW_COMPLETE": "Görüşme Tamamlandı",
|
||||||
|
"INTERVIEW_COMPLETE_status_text": "Yapılandırılıyor",
|
||||||
|
"PAIRED": "Cihaz Bulundu",
|
||||||
|
"PAIRED_status_text": "Görüşme Başlatılıyor"
|
||||||
|
},
|
||||||
"devices": {
|
"devices": {
|
||||||
"header": "Zigbee Ev Otomasyonu - Cihaz"
|
"header": "Zigbee Ev Otomasyonu - Cihaz"
|
||||||
},
|
},
|
||||||
@ -2492,6 +2537,7 @@
|
|||||||
"unbind_button_label": "Grubu Çöz"
|
"unbind_button_label": "Grubu Çöz"
|
||||||
},
|
},
|
||||||
"groups": {
|
"groups": {
|
||||||
|
"add_group": "Grup Ekle",
|
||||||
"add_members": "Üye ekle",
|
"add_members": "Üye ekle",
|
||||||
"adding_members": "Üye Ekleme",
|
"adding_members": "Üye Ekleme",
|
||||||
"caption": "Gruplar",
|
"caption": "Gruplar",
|
||||||
@ -2534,7 +2580,11 @@
|
|||||||
"hint_wakeup": "Xiaomi sensörleri gibi bazı cihazlarda, onlarla etkileşime girerken cihazları uyanık tutan ~ 5 saniyelik aralıklarla basabileceğiniz bir uyanma düğmesi bulunur.",
|
"hint_wakeup": "Xiaomi sensörleri gibi bazı cihazlarda, onlarla etkileşime girerken cihazları uyanık tutan ~ 5 saniyelik aralıklarla basabileceğiniz bir uyanma düğmesi bulunur.",
|
||||||
"introduction": "Tek bir cihazı etkileyen ZHA komutlarını çalıştırın. Kullanılabilir komutların listesini görmek için bir cihaz seçin."
|
"introduction": "Tek bir cihazı etkileyen ZHA komutlarını çalıştırın. Kullanılabilir komutların listesini görmek için bir cihaz seçin."
|
||||||
},
|
},
|
||||||
"title": "Zigbee Ev Otomasyonu"
|
"title": "Zigbee Ev Otomasyonu",
|
||||||
|
"visualization": {
|
||||||
|
"caption": "Görselleştirme",
|
||||||
|
"header": "Ağ Görselleştirme"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"zone": {
|
"zone": {
|
||||||
"add_zone": "Bölge Ekle",
|
"add_zone": "Bölge Ekle",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user