${computeDomain(entityConf.entity) === "sensor" &&
From 81277fd12ebc3d4c91bb066005bda8e8ef75087d Mon Sep 17 00:00:00 2001
From: Bram Kragten
Date: Fri, 5 Jun 2020 22:15:06 +0200
Subject: [PATCH 10/39] Set min width to dev states columns (#6108)
---
src/panels/developer-tools/state/developer-tools-state.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/panels/developer-tools/state/developer-tools-state.js b/src/panels/developer-tools/state/developer-tools-state.js
index 84552378d3..c1199baebc 100644
--- a/src/panels/developer-tools/state/developer-tools-state.js
+++ b/src/panels/developer-tools/state/developer-tools-state.js
@@ -45,7 +45,6 @@ class HaPanelDevState extends EventsMixin(LocalizeMixin(PolymerElement)) {
}
.entities tr {
- word-break: break-word;
vertical-align: top;
}
@@ -58,6 +57,8 @@ class HaPanelDevState extends EventsMixin(LocalizeMixin(PolymerElement)) {
}
.entities td {
padding: 4px;
+ min-width: 200px;
+ word-break: break-word;
}
.entities ha-svg-icon {
--mdc-icon-size: 20px;
From 0fcedc50465372900111423833dee7a39fd2a4f7 Mon Sep 17 00:00:00 2001
From: Bram Kragten
Date: Fri, 5 Jun 2020 23:46:16 +0200
Subject: [PATCH 11/39] Glance height fix (Again): A row could be zero height
(#6110)
---
src/panels/lovelace/cards/hui-glance-card.ts | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/src/panels/lovelace/cards/hui-glance-card.ts b/src/panels/lovelace/cards/hui-glance-card.ts
index 59e31cb15f..4d3d577de6 100644
--- a/src/panels/lovelace/cards/hui-glance-card.ts
+++ b/src/panels/lovelace/cards/hui-glance-card.ts
@@ -66,17 +66,15 @@ export class HuiGlanceCard extends LitElement implements LovelaceCard {
private _configEntities?: GlanceConfigEntity[];
public getCardSize(): number {
- return (
- (this._config!.title ? 1 : 0) +
- Math.max(
- ((this._config!.show_icon ? 1 : 0) +
- (this._config!.show_name && this._config!.show_state ? 1 : 0)) *
- Math.ceil(
- this._configEntities!.length / (this._config!.columns || 5)
- ),
- 1
- )
+ const rowHeight =
+ (this._config!.show_icon ? 1 : 0) +
+ (this._config!.show_name && this._config!.show_state ? 1 : 0) || 1;
+
+ const numRows = Math.ceil(
+ this._configEntities!.length / (this._config!.columns || 5)
);
+
+ return (this._config!.title ? 1 : 0) + rowHeight * numRows;
}
public setConfig(config: GlanceCardConfig): void {
From 7050d19be7ec3c89101eb76c6fae1ddfe9028964 Mon Sep 17 00:00:00 2001
From: HomeAssistant Azure
Date: Sat, 6 Jun 2020 00:32:28 +0000
Subject: [PATCH 12/39] [ci skip] Translation update
---
translations/frontend/es-419.json | 10 +---
translations/frontend/et.json | 4 --
translations/frontend/fr.json | 2 +-
translations/frontend/lb.json | 22 ++++++--
translations/frontend/nb.json | 87 ++++++-------------------------
translations/frontend/nl.json | 3 --
translations/frontend/pt-BR.json | 14 +++--
translations/frontend/pt.json | 12 ++---
translations/frontend/sv.json | 11 ++--
9 files changed, 51 insertions(+), 114 deletions(-)
diff --git a/translations/frontend/es-419.json b/translations/frontend/es-419.json
index e0511c0a46..b2e2661a79 100644
--- a/translations/frontend/es-419.json
+++ b/translations/frontend/es-419.json
@@ -13,15 +13,9 @@
},
"panel": {
"calendar": "Calendario",
- "config": "",
"developer_tools": "Herramientas para desarrolladores",
- "history": "",
- "logbook": "",
- "mailbox": "",
- "map": "",
"profile": "Perfil",
- "shopping_list": "Lista de compras",
- "states": ""
+ "shopping_list": "Lista de compras"
},
"state_attributes": {
"climate": {
@@ -1794,7 +1788,6 @@
"no_zones_created_yet": "Parece que todavía no ha creado ninguna zona."
},
"zwave": {
- "caption": "",
"common": {
"index": "Índice",
"instance": "Instancia",
@@ -1913,7 +1906,6 @@
"start_listening": "Comenzar a escuchar",
"stop_listening": "Deja de escuchar",
"subscribe_to": "Tema para suscribirse",
- "title": "",
"topic": "tema"
},
"services": {
diff --git a/translations/frontend/et.json b/translations/frontend/et.json
index 1f1a88221c..0722c2b79e 100644
--- a/translations/frontend/et.json
+++ b/translations/frontend/et.json
@@ -875,10 +875,6 @@
"at": "Kell",
"label": "Aeg"
},
- "webhook": {
- "label": "",
- "webhook_id": ""
- },
"zone": {
"enter": "Sisenemine",
"entity": "Asukohaga olem",
diff --git a/translations/frontend/fr.json b/translations/frontend/fr.json
index 4e1caa234a..57e75234fe 100644
--- a/translations/frontend/fr.json
+++ b/translations/frontend/fr.json
@@ -742,7 +742,7 @@
"connection_lost": "Connexion perdue. Reconnexion en cours ...",
"service_call_failed": "Échec d'appel du service \"{service}\".",
"started": "Home Assistant a démarré !",
- "starting": "Home Assistant démarre, tout ne sera pas disponible jusqu'à ce qu'il soit terminé.",
+ "starting": "Home Assistant est en cours de démarrage, tout ne sera pas disponible tant qu’il n’aura pas terminé.",
"triggered": "{name} déclenché"
},
"panel": {
diff --git a/translations/frontend/lb.json b/translations/frontend/lb.json
index bc7c4a4ee2..9ba991d11f 100644
--- a/translations/frontend/lb.json
+++ b/translations/frontend/lb.json
@@ -741,6 +741,8 @@
"notification_toast": {
"connection_lost": "Verbindung verluer. Verbindung gëtt nees opgebaut...",
"service_call_failed": "Feeler beim opruffen vun {service}",
+ "started": "Home Assistant ass gestart!",
+ "starting": "Home Assistant start, et wäert nach net alles prett sinn bis et fäerdeg gestart ass.",
"triggered": "{name} ausgeléist"
},
"panel": {
@@ -1844,10 +1846,24 @@
},
"node_management": {
"add_to_group": "Zum Grupp dobäisetzen",
+ "entities": "Entitéiten vun dësem Node",
+ "entity_info": "Informatiounen vun der Entitéit",
+ "exclude_entity": "Dës Entitéit aus Home Assistant ausschléissen",
"group": "Grupp",
+ "header": "Z-Wave Node Management",
+ "introduction": "Z-Wave Kommandoe ausféieren déi nëmmen ee Node betreffen. Wiel ee Node aus fir seng Lëscht vun verfügbare Kommandoe ze gesinn.",
"max_associations": "Max. Assoziatiounen:",
+ "node_group_associations": "Node Grupp Assoziatiounen",
+ "node_protection": "Protektioun vum Node",
+ "node_to_control": "Node fir ze steieren",
+ "nodes": "Nodes",
+ "nodes_hint": "Node auswielen fir d'Optioune ze gesinn",
+ "nodes_in_group": "Aner Nodes an dësem Grupp:",
+ "pooling_intensity": "Polling Intensitéit",
+ "protection": "Protektioun",
"remove_broadcast": "Broadcast läschen",
- "remove_from_group": "Aus dem Grupp läschen"
+ "remove_from_group": "Aus dem Grupp läschen",
+ "set_protection": "Protektioun setzen"
},
"ozw_log": {
"header": "OZW Log",
@@ -2276,12 +2292,12 @@
"close": "Zoumaachen",
"empty_config": "Mat engem eidelen Tableau de Bord ufänken",
"header": "Kontroll iwwert Loveloce UI iwwerhuelen",
- "para": "Standardméisseg verwalt Home Assistant de Benotzer Interface an aktualiséiert en soubal nei Entitéiten oder Lovelace-Komponenten disponibel sinn. Wann dir d'Kontrolle iwwerhuelt, kënne mir keng automatesch Ännerung méi fir iech maachen.",
+ "para": "Dësen Tableau de Bord gëtt vum Home Assistant verwalt. Et gëtt automatesch aktualiséiert soubal nei Entitéiten oder Lovelace-Komponenten disponibel sinn. Wanns Du d'Kontrolle iwwerhëlls, kann dësen Tableau de Bord net méi automatesch aktualiséiertginn. Du kanns ëmmer ee neien Tableau de Bord erstellen fir domatt ze testen.",
"para_sure": "Sécher fir d'Kontrolle iwwert de Benotzer Interface z'iwwerhuelen?",
"save": "Kontroll iwwerhuelen",
"yaml_config": "Fir de Start ze vereinfachen, hei ass déi aktuell Konfiguratioun vun dësem Tableau de Bord:",
"yaml_control": "Fir d'Kontroll am YAML Modus z'iwwerhuelen, erstell ee YAML Fichier mam Numm deen an der Konfiguratioun vun dësem Tableau de Bord uginn ass, oder de Standard 'ui-lovelace.yaml'",
- "yaml_mode": "Du benotz de YAML Modus, dëst bedeit dass du d'Lovelace Konfiguratioun net kanns aus dem Benotzer Interface änneren. Wann's du Lovelace vum Benotzer Interface aus wëlls änneren, läsch de 'mode: yaml' aus denger Lovelace Konfiguratioun am 'configuration.yaml'"
+ "yaml_mode": "Du benotz de YAML Modus fir dësen Tableau de Bord, dëst bedeit dass du d'Lovelace Konfiguratioun net kanns aus dem Benotzer Interface änneren. Wann's du Lovelace vum Benotzer Interface aus wëlls änneren, läsch de 'mode: yaml' aus denger Lovelace Konfiguratioun am 'configuration.yaml'"
},
"suggest_card": {
"add": "Zu Lovelace bäisetzen",
diff --git a/translations/frontend/nb.json b/translations/frontend/nb.json
index d88a8870a4..02c9456328 100644
--- a/translations/frontend/nb.json
+++ b/translations/frontend/nb.json
@@ -26,7 +26,6 @@
"state_attributes": {
"climate": {
"fan_mode": {
- "auto": "",
"off": "Av",
"on": "På"
},
@@ -101,7 +100,6 @@
"on": "Lavt"
},
"cold": {
- "off": "",
"on": "Kald"
},
"connectivity": {
@@ -152,10 +150,6 @@
"off": "Borte",
"on": "Hjemme"
},
- "problem": {
- "off": "",
- "on": ""
- },
"safety": {
"off": "Sikker",
"on": "Usikker"
@@ -225,7 +219,6 @@
"locked": "Låst",
"not_home": "Borte",
"off": "Av",
- "ok": "",
"on": "På",
"open": "Åpen",
"opening": "Åpner",
@@ -257,7 +250,6 @@
"home": "Hjemme"
},
"plant": {
- "ok": "",
"problem": "Problem"
},
"remote": {
@@ -363,7 +355,6 @@
"low": "lav",
"on_off": "På / av",
"operation": "Operasjon",
- "preset_mode": "",
"swing_mode": "Svingmodus",
"target_humidity": "Ønsket luftfuktighet",
"target_temperature": "Ønsket temperatur",
@@ -419,9 +410,7 @@
"timer": {
"actions": {
"cancel": "Avbryt",
- "finish": "Ferdig",
- "pause": "",
- "start": ""
+ "finish": "Ferdig"
}
},
"vacuum": {
@@ -453,12 +442,10 @@
"e": "Ø",
"ene": "ØNØ",
"ese": "ØSØ",
- "n": "",
"ne": "NØ",
"nne": "NNØ",
"nnw": "NNV",
"nw": "NV",
- "s": "",
"se": "SØ",
"sse": "SSØ",
"ssw": "SSV",
@@ -583,8 +570,7 @@
"generic": {
"cancel": "Avbryt",
"close": "Lukk",
- "default_confirmation_title": "Er du sikker?",
- "ok": ""
+ "default_confirmation_title": "Er du sikker?"
},
"helper_settings": {
"generic": {
@@ -655,11 +641,8 @@
"commands": "Støvsugerkommandoer:",
"fan_speed": "Viftehastighet",
"locate": "Lokaliser",
- "pause": "",
"return_home": "Returner hjem",
- "start": "",
"start_pause": "Start / Pause",
- "status": "",
"stop": "Stopp"
}
},
@@ -705,7 +688,6 @@
"manuf": "av {manufacturer}",
"no_area": "Intet område",
"power_source": "Strømkilde",
- "quirk": "",
"services": {
"reconfigure": "Rekonfigurer ZHA-enhet (heal enhet). Bruk dette hvis du har problemer med enheten. Hvis den aktuelle enheten er en batteridrevet enhet, sørg for at den er våken og aksepterer kommandoer når du bruker denne tjenesten.",
"remove": "Fjern en enhet fra Zigbee-nettverket.",
@@ -947,12 +929,9 @@
},
"homeassistant": {
"event": "Hendelse:",
- "label": "",
- "shutdown": "Slå av",
- "start": ""
+ "shutdown": "Slå av"
},
"mqtt": {
- "label": "",
"payload": "Nyttelast (valgfritt)",
"topic": "Emne"
},
@@ -963,7 +942,6 @@
"value_template": "Verdi fra mal (valgfritt)"
},
"state": {
- "for": "",
"from": "Fra",
"label": "Tilstand",
"to": "Til"
@@ -989,10 +967,6 @@
"at": "Klokken",
"label": "Tid"
},
- "webhook": {
- "label": "",
- "webhook_id": ""
- },
"zone": {
"enter": "Ankommer",
"entity": "Entitet med posisjon",
@@ -1036,8 +1010,7 @@
"manage_entities": "Håndtér entiteter",
"state_reporting_error": "Kan ikke {enable_disable} rapportere status.",
"sync_entities": "Synkronisér entiteter",
- "sync_entities_error": "Kunne ikke synkronisere entiteter:",
- "title": ""
+ "sync_entities_error": "Kunne ikke synkronisere entiteter:"
},
"connected": "Tilkoblet",
"connection_status": "Status for skytilkobling",
@@ -1055,8 +1028,7 @@
"manage_entities": "Håndtér entiteter",
"security_devices": "Sikkerhetsenheter",
"sync_entities": "Synkronisér entiteter til Google",
- "sync_entities_404_message": "Kunne ikke synkronisere enhetene dine med Google, be Google 'Hei Google, synkroniser enhetene mine' for å synkronisere enhetene dine.",
- "title": ""
+ "sync_entities_404_message": "Kunne ikke synkronisere enhetene dine med Google, be Google 'Hei Google, synkroniser enhetene mine' for å synkronisere enhetene dine."
},
"integrations": "Integrasjoner",
"integrations_introduction": "Integrasjoner for Home Assistant Cloud lar deg koble til tjenester i skyen uten å måtte avsløre Home Assistant-forekomsten offentlig på internett.",
@@ -1085,18 +1057,15 @@
"no_hooks_yet": "Ser ut som du ikke har noen webhooks ennå. Kom i gang ved å konfigurere en ",
"no_hooks_yet_link_automation": "webhook-automasjon",
"no_hooks_yet_link_integration": "webhook-basert integrasjon",
- "no_hooks_yet2": " eller ved å opprette en ",
- "title": ""
+ "no_hooks_yet2": " eller ved å opprette en "
}
},
"alexa": {
"banner": "Redigere hvilke entiteter som vises via dette grensesnittet er deaktivert fordi du har konfigurert entitetsfiltre i configuration.yaml.",
"expose": "Eksponer til Alexa",
"exposed_entities": "Eksponerte entiteter",
- "not_exposed_entities": "Ikke-eksponerte entiteter",
- "title": ""
+ "not_exposed_entities": "Ikke-eksponerte entiteter"
},
- "caption": "",
"description_features": "Kontroller borte fra hjemmet, integrer med Alexa og Google Assistant.",
"description_login": "Logget inn som {email}",
"description_not_login": "Ikke pålogget",
@@ -1133,8 +1102,7 @@
"expose": "Eksponer til Google Assistant",
"exposed_entities": "Eksponerte entiteter",
"not_exposed_entities": "Ikke-eksponerte entiteter",
- "sync_to_google": "Synkroniserer endringer til Google.",
- "title": ""
+ "sync_to_google": "Synkroniserer endringer til Google."
},
"login": {
"alert_email_confirm_necessary": "Du må bekrefte e-posten din før du logger inn.",
@@ -1306,7 +1274,6 @@
"confirm_title": "Vil du aktivere {number} enheter?"
},
"filter": {
- "filter": "",
"show_disabled": "Vis deaktiverte entiteter",
"show_readonly": "Vis skrivebeskyttede enheter",
"show_unavailable": "Vis utilgjengelige enheter"
@@ -1315,8 +1282,7 @@
"headers": {
"entity_id": "Entitets-ID",
"integration": "Integrasjon",
- "name": "Navn",
- "status": ""
+ "name": "Navn"
},
"introduction": "Home Assistant bygger opp et register over hver entitet den har sett som kan identifiseres unikt. Hver av disse entitetene vil ha en ID som er reservert kun til denne.",
"introduction2": "Bruk entitetsregistret til å overstyre navnet, endre id-en eller fjerne den fra Home Assistant.",
@@ -1330,7 +1296,6 @@
"selected": "{number} valgte",
"status": {
"disabled": "Deaktivert",
- "ok": "",
"readonly": "Skrivebeskyttet",
"restored": "Gjennopprettet",
"unavailable": "Utilgjengelig"
@@ -1355,15 +1320,13 @@
"headers": {
"editable": "Redigerbare",
"entity_id": "Entitets-ID",
- "name": "Navn",
- "type": ""
+ "name": "Navn"
}
},
"types": {
"input_boolean": "Veksle",
"input_datetime": "Dato og/eller klokkeslett",
"input_number": "Nummer",
- "input_select": "",
"input_text": "Tekst"
}
},
@@ -1464,7 +1427,6 @@
"title": "Tittel",
"title_required": "Tittel er påkrevd.",
"update": "Oppdater",
- "url": "",
"url_error_msg": "URLen skal inneholde en - og kan ikke inneholde mellomrom eller spesialtegn, bortsett fra _ og -"
},
"picker": {
@@ -1492,17 +1454,12 @@
"new_resource": "Legg til ny ressurs",
"type": "Ressurstype",
"update": "Oppdater",
- "url": "",
"url_error_msg": "URL-adresse er et obligatorisk felt",
"warning_header": "Vær forsiktig!",
"warning_text": "Det kan være farlig å legge til ressurser, sørg for at du kjenner kilden til ressursen og stoler på dem. Dårlige ressurser kan skade systemet ditt alvorlig."
},
"picker": {
"add_resource": "Legg til ressurs",
- "headers": {
- "type": "",
- "url": ""
- },
"no_resources": "Ingen ressurser"
},
"refresh_body": "Du må oppdatere siden for å fullføre fjerningen, vil du oppdatere nå?",
@@ -1659,7 +1616,6 @@
"editor": {
"activate_user": "Aktiver bruker",
"active": "Aktiv",
- "admin": "",
"caption": "Vis bruker",
"change_password": "Endre passord",
"confirm_user_deletion": "Er du sikker på at du vil slette {name} ?",
@@ -1678,8 +1634,7 @@
"picker": {
"headers": {
"group": "Gruppe",
- "name": "Navn",
- "system": ""
+ "name": "Navn"
}
},
"users_privileges_note": "Brukere-gruppen er et pågående arbeid. Brukeren kan ikke administrere forekomsten via brukergrensesnittet. Vi overvåker fortsatt alle API-endepunkter for administrasjonsadministrasjon for å sikre at de begrenser tilgangen til administratorer på riktig måte."
@@ -1695,7 +1650,6 @@
"caption": "Legg til enheter",
"description": "Legg til enheter i Zigbee-nettverket"
},
- "caption": "",
"cluster_attributes": {
"attributes_of_cluster": "Attributter for den valgte klyngen",
"get_zigbee_attribute": "Hent ZigBee-attributt",
@@ -1800,7 +1754,6 @@
"new_zone": "Ny sone",
"passive": "Passiv",
"passive_note": "Passive soner er skjult i grensesnittet og brukes ikke som sted for enhetssporere. Dette er nyttig hvis du bare vil bruke dem til automasjoner.",
- "radius": "",
"required_error_msg": "Dette feltet er påkrevd",
"update": "Oppdater"
},
@@ -1931,7 +1884,6 @@
"documentation": "Dokumentasjon",
"frontend": "frontend",
"frontend_version": "Brukergrensesnittet-versjon: {version} - {type}",
- "home_assistant_logo": "",
"icons_by": "Ikoner fra",
"integrations": "Integrasjoner",
"issues": "Problemer",
@@ -1971,7 +1923,6 @@
"call_service": "Tilkall tjeneste",
"column_description": "Beskrivelse",
"column_example": "Eksempel",
- "column_parameter": "",
"data": "Tjenestedata (YAML, valgfritt)",
"description": "Service utviklingsverktøyet lar deg tilkalle alle tilgjengelige tjenester i Home Assistant.",
"fill_example_data": "Fyll ut eksempeldata",
@@ -2034,7 +1985,6 @@
},
"picture-elements": {
"call_service": "Tilkall tjeneste {name}",
- "hold": "",
"more_info": "Vis mer info: {name}",
"navigate_to": "Naviger til {location}",
"tap": "Trykk:",
@@ -2125,7 +2075,6 @@
"manual": "Manuell",
"manual_description": "Trenger du å legge til et tilpasset kort eller bare ønsker å skrive yaml manuelt?",
"maximum": "Maksimalt",
- "minimum": "",
"name": "Navn",
"no_theme": "Ingen tema",
"refresh_interval": "Oppdateringsintervall",
@@ -2137,8 +2086,7 @@
"tap_action": "Trykk handling",
"theme": "Tema",
"title": "Tittel",
- "unit": "Betegnelse",
- "url": ""
+ "unit": "Betegnelse"
},
"glance": {
"columns": "Kolonner",
@@ -2172,8 +2120,7 @@
},
"markdown": {
"content": "Innhold",
- "description": "Markdown-kortet brukes til å gjengi Markdown.",
- "name": ""
+ "description": "Markdown-kortet brukes til å gjengi Markdown."
},
"media-control": {
"description": "Media Control-kortet brukes til å vise mediespillerenheter på et grensesnitt med brukervennlige kontroller.",
@@ -2202,8 +2149,7 @@
"sensor": {
"description": "Sensorkortet gir deg en rask oversikt over sensortilstanden din med en valgfri graf for å visualisere endring over tid.",
"graph_detail": "Detaljer for graf",
- "graph_type": "Graf type",
- "name": ""
+ "graph_type": "Graf type"
},
"shopping-list": {
"description": "På Shopping List-kortet kan du legge til, redigere, sjekke av og fjerne gjenstander fra handlelisten din.",
@@ -2492,7 +2438,6 @@
"upstairs": "Oppe"
},
"unit": {
- "minutes_abbr": "",
"watching": "Ser på"
}
}
@@ -2545,9 +2490,7 @@
},
"current_user": "Du er logget inn som {fullName}.",
"dashboard": {
- "description": "Velg et standard instrumentbord for denne enheten.",
- "dropdown_label": "",
- "header": ""
+ "description": "Velg et standard instrumentbord for denne enheten."
},
"force_narrow": {
"description": "Dette vil skjule sidepanelet som standard, tilsvarende opplevelsen på en mobil.",
diff --git a/translations/frontend/nl.json b/translations/frontend/nl.json
index 447b0b5752..d431f52ade 100644
--- a/translations/frontend/nl.json
+++ b/translations/frontend/nl.json
@@ -914,7 +914,6 @@
"delete": "Verwijderen",
"delete_confirm": "Weet je zeker dat je dit item wilt verwijderen?",
"duplicate": "Dupliceren",
- "header": "",
"introduction": "Triggers starten de verwerking van een automatiseringsregel. Het is mogelijk om meerdere triggers voor dezelfde regel op te geven. Zodra een trigger start, valideert Home Assistant de eventuele voorwaarden en roept hij de actie aan.",
"learn_more": "Meer informatie over triggers",
"name": "Trigger",
@@ -944,12 +943,10 @@
},
"homeassistant": {
"event": "Gebeurtenis:",
- "label": "",
"shutdown": "Afsluiten",
"start": "Opstarten"
},
"mqtt": {
- "label": "",
"payload": "Payload (optioneel)",
"topic": "Onderwerp"
},
diff --git a/translations/frontend/pt-BR.json b/translations/frontend/pt-BR.json
index f9589b311b..0228283427 100644
--- a/translations/frontend/pt-BR.json
+++ b/translations/frontend/pt-BR.json
@@ -477,6 +477,7 @@
"cancel": "Cancelar",
"close": "Fechar",
"delete": "Eliminar",
+ "error_required": "Obrigatório",
"loading": "Carregando",
"next": "Próximo",
"no": "Não",
@@ -935,7 +936,6 @@
},
"homeassistant": {
"event": "Evento:",
- "label": "",
"shutdown": "Desligar",
"start": "Iniciar"
},
@@ -1795,7 +1795,6 @@
"no_zones_created_yet": "Parece que você ainda não criou nenhuma zona."
},
"zwave": {
- "caption": "",
"common": {
"index": "Índice",
"instance": "Instância",
@@ -1841,7 +1840,8 @@
"soft_reset": "Soft Reset",
"start_network": "Iniciar Rede",
"stop_network": "Parar Rede",
- "test_network": "Teste de rede"
+ "test_network": "Teste de rede",
+ "test_node": "Testar Nó"
},
"values": {
"header": "Valores de nó"
@@ -1914,7 +1914,6 @@
"start_listening": "Começar a ouvir",
"stop_listening": "Parar de ouvir",
"subscribe_to": "Evento para se inscrever",
- "title": "",
"topic": "tópico"
},
"services": {
@@ -2000,6 +1999,10 @@
"add_item": "Adicionar item",
"checked_items": "Itens marcados",
"clear_items": "Limpar itens marcados"
+ },
+ "starting": {
+ "description": "Home Assistant está iniciando, por favor aguarde...",
+ "header": "Home Assistant está iniciando..."
}
},
"changed_toast": {
@@ -2292,7 +2295,8 @@
"attribute_not_found": "O atributo {attribute} não está disponível em: {entity}",
"entity_non_numeric": "Entidade não é numérica: {entity}",
"entity_not_found": "Entidade não disponível: {entity}",
- "entity_unavailable": "{entity} não está disponível"
+ "entity_unavailable": "{entity} não está disponível",
+ "starting": "Home Assistant está iniciando, algumas funcionalidades podem estar indisponíveis"
}
},
"mailbox": {
diff --git a/translations/frontend/pt.json b/translations/frontend/pt.json
index 5b2e087e69..6d2b4f4d24 100644
--- a/translations/frontend/pt.json
+++ b/translations/frontend/pt.json
@@ -1029,8 +1029,7 @@
"manage_entities": "Gerir Entidades",
"state_reporting_error": "Indisponível para {enable_disable} reportar estado.",
"sync_entities": "Sincronizar Entidades",
- "sync_entities_error": "Falha na sincronização das entidades:",
- "title": ""
+ "sync_entities_error": "Falha na sincronização das entidades:"
},
"connected": "Ligado",
"connection_status": "Estado da ligação na cloud",
@@ -1048,8 +1047,7 @@
"manage_entities": "Gerir Entidades",
"security_devices": "Dispositivos de segurança",
"sync_entities": "Sincronizar entidades com o Google",
- "sync_entities_404_message": "Falha ao sincronizar suas entidades com o Google, peça ao Google 'Ok Google, sincronize os meus dispositivos' para sincronizar suas entidades.",
- "title": ""
+ "sync_entities_404_message": "Falha ao sincronizar suas entidades com o Google, peça ao Google 'Ok Google, sincronize os meus dispositivos' para sincronizar suas entidades."
},
"integrations": "Integrações",
"integrations_introduction": "As integrações para o Home Assistant Cloud permitem-lhe ligar-se aos serviços na nuvem sem ter de expor publicamente o seu Home Assistant na Internet.",
@@ -1078,8 +1076,7 @@
"no_hooks_yet": "Parece que você ainda não tem webhooks. Comece, configurando um",
"no_hooks_yet_link_automation": "automação de webhook",
"no_hooks_yet_link_integration": "integração baseada em webhook",
- "no_hooks_yet2": " ou criando um ",
- "title": ""
+ "no_hooks_yet2": " ou criando um "
}
},
"alexa": {
@@ -1113,7 +1110,6 @@
},
"forgot_password": {
"check_your_email": "Verifique o seu e-mail para obter instruções sobre como redefinir a sua senha.",
- "email": "",
"email_error_msg": "E-mail inválido",
"instructions": "Introduza o seu endereço de e-mail e nós lhe enviaremos um link para redefinir sua password.",
"send_reset_email": "Enviar e-mail de redefinição",
@@ -1133,7 +1129,6 @@
"alert_email_confirm_necessary": "É necessário confirmar o seu e-mail antes de fazer login.",
"alert_password_change_required": "É necessário alterar a sua password antes de fazer login.",
"dismiss": "Fechar",
- "email": "",
"email_error_msg": "E-mail inválido",
"forgot_password": "Esqueceu-se da senha?",
"introduction": "O Home Assistant Cloud fornece uma conexão remota segura à sua instância enquanto estiver fora de casa. Também permite que você se conecte com serviços que apenas utilizam a nuvem: Amazon Alexa e Google Assistant.",
@@ -1880,7 +1875,6 @@
"custom_uis": "IUs personalizados:",
"developed_by": "Desenvolvido por um punhado de pessoas incríveis.",
"documentation": "Documentação",
- "frontend": "",
"frontend_version": "Versão frontend: {version} - {type}",
"home_assistant_logo": "Logotipo do Home Assistant",
"icons_by": "Ícones por",
diff --git a/translations/frontend/sv.json b/translations/frontend/sv.json
index 350219cd6c..3938ba4ee2 100644
--- a/translations/frontend/sv.json
+++ b/translations/frontend/sv.json
@@ -1035,8 +1035,7 @@
"manage_entities": "Hantera Entiteter",
"state_reporting_error": "Det går inte att {enable_disable} rapportera tillståndet.",
"sync_entities": "Synkronisera Entiteter",
- "sync_entities_error": "Det gick inte att synkronisera entiteter:",
- "title": ""
+ "sync_entities_error": "Det gick inte att synkronisera entiteter:"
},
"connected": "Ansluten",
"connection_status": "Status för molnanslutning",
@@ -1084,16 +1083,14 @@
"no_hooks_yet": "Ser ut som du inte har några webhooks ännu. Kom igång genom att konfigurera en ",
"no_hooks_yet_link_automation": "webhook automation",
"no_hooks_yet_link_integration": "webhook-baserad integration",
- "no_hooks_yet2": " eller genom att skapa en ",
- "title": ""
+ "no_hooks_yet2": " eller genom att skapa en "
}
},
"alexa": {
"banner": "Redigering av vilka entiteter som visas via det här användargränssnittet är inaktiverat eftersom du har konfigurerat entitetsfilter i configuration.yaml.",
"expose": "Exponera för Alexa",
"exposed_entities": "Exponerade entiteter",
- "not_exposed_entities": "Ej exponerade entiteter",
- "title": ""
+ "not_exposed_entities": "Ej exponerade entiteter"
},
"caption": "Home Assistant Cloud",
"description_features": "Styra även när du inte är hemma, integrera med Alexa och Google Assistant.",
@@ -2116,8 +2113,6 @@
"icon_height": "Ikonhöjd",
"image": "Bildsökväg",
"manual": "Manuell",
- "maximum": "",
- "minimum": "",
"name": "Namn",
"no_theme": "Inget tema",
"refresh_interval": "Uppdateringsintervall",
From e384f76ac1002729b326d1ba534e9dd18da48766 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Fri, 5 Jun 2020 21:56:56 -0700
Subject: [PATCH 13/39] Make two builds of hassio (#6105)
---
build-scripts/bundle.js | 7 ++-----
build-scripts/gulp/hassio.js | 23 +++++++++++++++++++++++
build-scripts/gulp/rollup.js | 13 ++-----------
build-scripts/gulp/webpack.js | 5 ++---
build-scripts/paths.js | 2 +-
hassio/webpack.config.js | 9 +++------
6 files changed, 33 insertions(+), 26 deletions(-)
diff --git a/build-scripts/bundle.js b/build-scripts/bundle.js
index 6fdce58edb..5433c4e59d 100644
--- a/build-scripts/bundle.js
+++ b/build-scripts/bundle.js
@@ -170,15 +170,12 @@ module.exports.config = {
},
hassio({ isProdBuild, latestBuild }) {
- if (latestBuild) {
- throw new Error("Hass.io does not support latest build!");
- }
return {
entry: {
entrypoint: path.resolve(paths.hassio_dir, "src/entrypoint.ts"),
},
- outputPath: paths.hassio_output_root,
- publicPath: paths.hassio_publicPath,
+ outputPath: outputPath(paths.hassio_output_root, latestBuild),
+ publicPath: publicPath(latestBuild, paths.hassio_publicPath),
isProdBuild,
latestBuild,
dontHash: new Set(["entrypoint"]),
diff --git a/build-scripts/gulp/hassio.js b/build-scripts/gulp/hassio.js
index 595752008c..858a58e263 100644
--- a/build-scripts/gulp/hassio.js
+++ b/build-scripts/gulp/hassio.js
@@ -1,6 +1,9 @@
const gulp = require("gulp");
+const fs = require("fs");
+const path = require("path");
const env = require("../env");
+const paths = require("../paths");
require("./clean.js");
require("./gen-icons-json.js");
@@ -8,6 +11,24 @@ require("./webpack.js");
require("./compress.js");
require("./rollup.js");
+async function writeEntrypointJS() {
+ // We ship two builds and we need to do feature detection on what version to load.
+ fs.mkdirSync(paths.hassio_output_root, { recursive: true });
+ fs.writeFileSync(
+ path.resolve(paths.hassio_output_root, "entrypoint.js"),
+ `
+try {
+ new Function("import('${paths.hassio_publicPath}/frontend_latest/entrypoint.js')")();
+} catch (err) {
+ var el = document.createElement('script');
+ el.src = '${paths.hassio_publicPath}/frontend_es5/entrypoint.js';
+ document.body.appendChild(el);
+}
+ `,
+ { encoding: "utf-8" }
+ );
+}
+
gulp.task(
"develop-hassio",
gulp.series(
@@ -16,6 +37,7 @@ gulp.task(
},
"clean-hassio",
"gen-icons-json",
+ writeEntrypointJS,
env.useRollup() ? "rollup-watch-hassio" : "webpack-watch-hassio"
)
);
@@ -29,6 +51,7 @@ gulp.task(
"clean-hassio",
"gen-icons-json",
env.useRollup() ? "rollup-prod-hassio" : "webpack-prod-hassio",
+ writeEntrypointJS,
...// Don't compress running tests
(env.isTest() ? [] : ["compress-hassio"])
)
diff --git a/build-scripts/gulp/rollup.js b/build-scripts/gulp/rollup.js
index b186f15407..bfb7d941c1 100644
--- a/build-scripts/gulp/rollup.js
+++ b/build-scripts/gulp/rollup.js
@@ -92,11 +92,7 @@ gulp.task("rollup-watch-app", () => {
});
gulp.task("rollup-watch-hassio", () => {
- watchRollup(
- // Force latestBuild = false for hassio config.
- (conf) => rollupConfig.createHassioConfig({ ...conf, latestBuild: false }),
- ["hassio/src/**"]
- );
+ watchRollup(rollupConfig.createHassioConfig, ["hassio/src/**"]);
});
gulp.task("rollup-dev-server-demo", () => {
@@ -137,12 +133,7 @@ gulp.task(
);
gulp.task("rollup-prod-hassio", () =>
- buildRollup(
- rollupConfig.createHassioConfig({
- isProdBuild: true,
- latestBuild: false,
- })
- )
+ bothBuilds(rollupConfig.createHassioConfig, { isProdBuild: true })
);
gulp.task("rollup-prod-gallery", () =>
diff --git a/build-scripts/gulp/webpack.js b/build-scripts/gulp/webpack.js
index e7e58eb726..38fba59640 100644
--- a/build-scripts/gulp/webpack.js
+++ b/build-scripts/gulp/webpack.js
@@ -129,7 +129,7 @@ gulp.task("webpack-watch-hassio", () => {
webpack(
createHassioConfig({
isProdBuild: false,
- latestBuild: false,
+ latestBuild: true,
})
).watch({}, handler());
});
@@ -139,9 +139,8 @@ gulp.task(
() =>
new Promise((resolve) =>
webpack(
- createHassioConfig({
+ bothBuilds(createHassioConfig, {
isProdBuild: true,
- latestBuild: false,
}),
handler(resolve)
)
diff --git a/build-scripts/paths.js b/build-scripts/paths.js
index 8289890c59..0a3e4fe79d 100644
--- a/build-scripts/paths.js
+++ b/build-scripts/paths.js
@@ -34,7 +34,7 @@ module.exports = {
hassio_dir: path.resolve(__dirname, "../hassio"),
hassio_output_root: path.resolve(__dirname, "../hassio/build"),
- hassio_publicPath: "/api/hassio/app/",
+ hassio_publicPath: "/api/hassio/app",
translations_src: path.resolve(__dirname, "../src/translations"),
};
diff --git a/hassio/webpack.config.js b/hassio/webpack.config.js
index 222b20ef84..429c98e6b2 100644
--- a/hassio/webpack.config.js
+++ b/hassio/webpack.config.js
@@ -1,11 +1,8 @@
const { createHassioConfig } = require("../build-scripts/webpack.js");
-const { isProdBuild } = require("../build-scripts/env.js");
-
-// File just used for stats builds
-
-const latestBuild = false;
+const { isProdBuild, isStatsBuild } = require("../build-scripts/env.js");
module.exports = createHassioConfig({
isProdBuild: isProdBuild(),
- latestBuild,
+ isStatsBuild: isStatsBuild(),
+ latestBuild: true,
});
From 3099748a6dd89422150dd2105560a2d4a8cba9a7 Mon Sep 17 00:00:00 2001
From: HomeAssistant Azure
Date: Sun, 7 Jun 2020 00:32:42 +0000
Subject: [PATCH 14/39] [ci skip] Translation update
---
translations/frontend/de.json | 7 ++--
translations/frontend/fr.json | 60 +++++++++++++++++------------------
2 files changed, 35 insertions(+), 32 deletions(-)
diff --git a/translations/frontend/de.json b/translations/frontend/de.json
index 9d49db464a..7eb5bbab05 100644
--- a/translations/frontend/de.json
+++ b/translations/frontend/de.json
@@ -478,6 +478,7 @@
"cancel": "Abbrechen",
"close": "Schließen",
"delete": "Löschen",
+ "error_required": "Benötigt",
"loading": "Laden",
"next": "Weiter",
"no": "Nein",
@@ -1221,6 +1222,7 @@
"different_include": "Möglich über eine Domain, einen Glob oder einen anderen Include.",
"pick_attribute": "Wähle ein Attribut zum Überschreiben aus.",
"picker": {
+ "entity": "Entität",
"header": "Anpassungen",
"introduction": "Optimieren Sie die Entitätenattribute. Hinzugefügte/bearbeitete Anpassungen werden sofort wirksam. Entfernte Anpassungen werden wirksam, wenn die Entität aktualisiert wird."
},
@@ -1864,7 +1866,8 @@
"ozw_log": {
"header": "OZW Log",
"introduction": "Schauen Sie das Protokoll an. 0 ist das Minimum (lädt das gesamte Protokoll) und 1000 ist das Maximum. Beim Laden wird ein statisches Protokoll angezeigt und das Ende wird automatisch mit der zuletzt angegebenen Anzahl von Zeilen des Protokolls aktualisiert.",
- "last_log_lines": "Anzahl der letzten Logzeilen"
+ "last_log_lines": "Anzahl der letzten Logzeilen",
+ "load": "Laden"
},
"services": {
"add_node": "Knoten hinzufügen",
@@ -2045,7 +2048,7 @@
"clear_items": "Markierte Elemente löschen"
},
"starting": {
- "description": "Home Assistant startet, bitte warten Sie.",
+ "description": "Home Assistant startet, bitte warten Sie..",
"header": "Home Assistant startet ..."
}
},
diff --git a/translations/frontend/fr.json b/translations/frontend/fr.json
index 57e75234fe..36d841b1c0 100644
--- a/translations/frontend/fr.json
+++ b/translations/frontend/fr.json
@@ -524,7 +524,7 @@
},
"related-items": {
"area": "Pièce",
- "automation": "Partie des automations suivantes",
+ "automation": "Partie des automatisations suivantes",
"device": "Appareil",
"entity": "Entités liées",
"group": "Partie des groupes suivants",
@@ -786,8 +786,8 @@
}
},
"automation": {
- "caption": "Automations",
- "description": "Créer et modifier des automations.",
+ "caption": "Automatisations",
+ "description": "Créer et modifier des automatisations",
"editor": {
"actions": {
"add": "Ajouter une action",
@@ -795,7 +795,7 @@
"delete_confirm": "Voulez-vous vraiment effacer ?",
"duplicate": "Dupliquer",
"header": "Actions",
- "introduction": "Les actions sont ce que Home Assistant fera quand une automation est déclenchée.",
+ "introduction": "Les actions sont ce que Home Assistant fera quand une automatisation est déclenchée.",
"learn_more": "En savoir plus sur les actions",
"name": "Action",
"type_select": "Type d'action",
@@ -900,17 +900,17 @@
},
"unsupported_condition": "Condition non supportée: {condition}"
},
- "default_name": "Nouvelle automation",
+ "default_name": "Nouvelle automatisation",
"description": {
"label": "Description",
"placeholder": "Description optionnelle"
},
"edit_ui": "Modifier avec l'interface utilisateur",
"edit_yaml": "Modifier en tant que YAML",
- "enable_disable": "Activer/Désactiver l'automation",
- "introduction": "Utilisez les automations pour donner vie à votre maison",
- "load_error_not_editable": "Seules les automations dans automations.yaml sont modifiables.",
- "load_error_unknown": "Erreur lors du chargement de l'automation ( {err_no} ).",
+ "enable_disable": "Activer/Désactiver l'automatisation",
+ "introduction": "Utilisez les automatisations pour donner vie à votre maison",
+ "load_error_not_editable": "Seules les automatisations dans automations.yaml sont modifiables.",
+ "load_error_unknown": "Erreur lors du chargement de l'automatisation ( {err_no} ).",
"save": "Sauvegarder",
"triggers": {
"add": "Ajouter un déclencheur",
@@ -918,7 +918,7 @@
"delete_confirm": "Voulez-vous effacer ?",
"duplicate": "Dupliquer",
"header": "Déclencheurs",
- "introduction": "Les déclencheurs sont ce qui lance le traitement d'une règle d'automation. Il est possible de spécifier plusieurs déclencheurs pour une même règle. Dès qu'un déclencheur est activé, Home Assistant validera les conditions, s'il y en a, et appellera l'action.\n\n[En apprendre plus sur les déclencheurs.](https://home-assistant.io/docs/automation/trigger/)",
+ "introduction": "Les déclencheurs sont ce qui lance le traitement d'une règle d'automatisation. Il est possible de spécifier plusieurs déclencheurs pour une même règle. Dès qu'un déclencheur est activé, Home Assistant validera les conditions, s'il y en a, et appellera l'action.\n\n[En apprendre plus sur les déclencheurs.](https://home-assistant.io/docs/automation/trigger/)",
"learn_more": "En savoir plus sur les déclencheurs",
"name": "Déclencheur",
"type_select": "Type de déclencheur",
@@ -1007,20 +1007,20 @@
"unsaved_confirm": "Vous avez des changements non enregistrés. Êtes-vous sûr de vouloir quitter?"
},
"picker": {
- "add_automation": "Ajouter une automation",
- "delete_automation": "Supprimer l'automation",
- "delete_confirm": "Voulez-vous vraiment supprimer cette automation ?",
- "edit_automation": "Modifier l'automation",
- "header": "Éditeur d'automation",
+ "add_automation": "Ajouter une automatisation",
+ "delete_automation": "Supprimer l'automatisation",
+ "delete_confirm": "Voulez-vous vraiment supprimer cette automatisation ?",
+ "edit_automation": "Modifier l'automatisation",
+ "header": "Éditeur d'automatisation",
"headers": {
"name": "Nom"
},
- "introduction": "L'éditeur d'automations vous permet de créer et modifier des automations. Veuillez lire les instructions ci-dessous pour vous assurer d'avoir configuré Home Assistant correctement.",
- "learn_more": "En savoir plus sur les automations",
- "no_automations": "Il n'y a aucune automation modifiable.",
- "only_editable": "Seules les automations définies dans automations.yaml sont modifiables.",
- "pick_automation": "Choisissez l'automation à modifier",
- "show_info_automation": "Afficher des informations sur l'automation"
+ "introduction": "L'éditeur d'automatisation vous permet de créer et éditer des automatisations. Veuillez lire les instructions ci-dessous pour vous assurer d'avoir configuré Home-Assistant correctement.",
+ "learn_more": "En savoir plus sur les automatisations",
+ "no_automations": "Il n'y a aucune automatisation modifiable",
+ "only_editable": "Seules les automatisations définies dans automations.yaml sont modifiables.",
+ "pick_automation": "Choisissez l'automatisation à modifier",
+ "show_info_automation": "Afficher des informations sur l'automatisation"
}
},
"cloud": {
@@ -1079,7 +1079,7 @@
"webhooks": {
"disable_hook_error_msg": "Impossible de désactiver le Webhook:",
"info": "Tout ce qui est configuré pour être déclenché par un Webhook peut recevoir une URL accessible publiquement pour vous permettre de renvoyer des données à Home Assistant de n’importe où, sans exposer votre instance à Internet.",
- "link_learn_more": "En savoir plus sur la création d'automations basées sur Webhook.",
+ "link_learn_more": "En savoir plus sur la création d'automatisations basées sur Webhook.",
"loading": "Chargement ...",
"manage": "Gérer",
"no_hooks_yet": "Il semble que vous n'ayez pas encore de Webhooks. Commencez en configurer un ",
@@ -1237,13 +1237,13 @@
"actions": {
"caption": "Quand quelque chose est déclenché ..."
},
- "automations": "Automations",
+ "automations": "Automatisations",
"conditions": {
"caption": "Ne faire quelque chose que si ..."
},
- "create": "Créer une automation avec l'appareil",
- "no_automations": "Aucune automation",
- "no_device_automations": "Aucune automation n'est disponible pour cet appareil.",
+ "create": "Créer une automatisation avec l'appareil",
+ "no_automations": "Aucune automatisation",
+ "no_device_automations": "Aucune automatisation n'est disponible pour cet appareil.",
"triggers": {
"caption": "Faire quelque chose quand ..."
}
@@ -1344,7 +1344,7 @@
"header": "Configurer Home Assistant",
"helpers": {
"caption": "Entrées",
- "description": "Éléments pouvant aider à construire des automations.",
+ "description": "Éléments pouvant aider à construire des automatisations.",
"dialog": {
"add_helper": "Ajouter une entrée",
"add_platform": "Ajouter {platform}",
@@ -1619,7 +1619,7 @@
"description": "Redémarrer et arrêter le serveur Home Assistant",
"section": {
"reloading": {
- "automation": "Recharger les automations",
+ "automation": "Recharger les automatisations",
"core": "Recharger l'emplacement et les personnalisations",
"group": "Recharger les groupes",
"heading": "Rechargement de la configuration",
@@ -1799,7 +1799,7 @@
"name": "Nom",
"new_zone": "Nouvelle zone",
"passive": "Passif",
- "passive_note": "Les zones passives sont cachées dans l'interface utilisateur et ne sont pas utilisées comme emplacement pour les appareils suivis. Elles sont utiles si vous voulez les utiliser pour des automations.",
+ "passive_note": "Les zones passives sont cachées dans l'interface utilisateur et ne sont pas utilisées comme emplacement pour les appareils suivis. Elles sont utiles si vous voulez les utiliser pour des automatisations.",
"radius": "Rayon",
"required_error_msg": "Ce champ est requis",
"update": "Mettre à jour"
@@ -1808,7 +1808,7 @@
"edit_home_zone_narrow": "Le rayon de la zone d'habitation ne peut pas encore être modifié depuis le frontend. L'emplacement peut être modifié par rapport à la configuration générale.",
"go_to_core_config": "Aller à la configuration générale ?",
"home_zone_core_config": "L'emplacement de votre zone d'habitation est modifiable à partir de la page de configuration générale. Le rayon de la zone d'habitation ne peut pas encore être modifié depuis le frontend. Voulez-vous passer à la configuration générale ?",
- "introduction": "Les zones vous permettent de spécifier certaines régions sur la terre. Lorsqu'une personne se trouve dans une zone, l'état prend le nom de la zone. Les zones peuvent également être utilisées comme déclencheur ou condition dans les configurations d'automation.",
+ "introduction": "Les zones vous permettent de spécifier certaines régions sur la terre. Lorsqu'une personne se trouve dans une zone, l'état prend le nom de la zone. Les zones peuvent également être utilisées comme déclencheur ou condition dans les configurations d'automatisation.",
"no_zones_created_yet": "Il semble que vous n'ayez pas encore créé de zones."
},
"zwave": {
From 23bdc03f299f61795e03998a5a7239c12edf311b Mon Sep 17 00:00:00 2001
From: HomeAssistant Azure
Date: Mon, 8 Jun 2020 00:32:36 +0000
Subject: [PATCH 15/39] [ci skip] Translation update
---
translations/frontend/pl.json | 2 +-
translations/frontend/pt.json | 22 +++++++++++++++++++++-
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/translations/frontend/pl.json b/translations/frontend/pl.json
index b0ea5b2d59..b086fdbaee 100644
--- a/translations/frontend/pl.json
+++ b/translations/frontend/pl.json
@@ -1321,7 +1321,7 @@
"introduction": "Home Assistant prowadzi rejestr każdej encji, jaką kiedykolwiek widział i którą można jednoznacznie zidentyfikować. Każda z tych encji będzie miała przypisany unikalny identyfikator, który będzie zarezerwowany tylko dla niej.",
"introduction2": "Użyj rejestru encji, aby nadpisać jej nazwę, zmienić jej identyfikator lub usunąć ją z Home Assistant'a. Uwaga: usunięcie wpisu rejestru encji nie spowoduje usunięcia encji. Aby to zrobić, kliknij poniższy link i usuń integracje encji.",
"remove_selected": {
- "button": "Usuń zaznaczone",
+ "button": "Usuń wybrane",
"confirm_partly_text": "Można usunąć tylko {removable} z wybranych {selected} encji. Encje można usunąć tylko wtedy, gdy integracja wspiera taka możliwość. Czasami trzeba ponownie uruchomić Home Assistanta, zanim będzie można usunąć encje usuniętej integracji. Czy na pewno chcesz usunąć usuwalne encje?",
"confirm_partly_title": "Tylko {number} wybrane encje można usunąć.",
"confirm_text": "Encje mogą zostać usunięte tylko wtedy, gdy ich integracja na to zezwala.",
diff --git a/translations/frontend/pt.json b/translations/frontend/pt.json
index 6d2b4f4d24..a720810a63 100644
--- a/translations/frontend/pt.json
+++ b/translations/frontend/pt.json
@@ -478,6 +478,7 @@
"cancel": "Cancelar",
"close": "Fechar",
"delete": "Apagar",
+ "error_required": "Obrigatório",
"loading": "A carregar",
"next": "Seguinte",
"no": "Não",
@@ -506,6 +507,7 @@
"device-picker": {
"clear": "Apagar",
"device": "Dispositivo",
+ "no_area": "Sem área",
"show_devices": "Mostrar dispositivos",
"toggle": "Alternar"
},
@@ -738,6 +740,8 @@
"notification_toast": {
"connection_lost": "Ligação perdida. A ligar de novo...",
"service_call_failed": "Falha ao chamar o serviço {service}.",
+ "started": "Home Assistant já iniciou",
+ "starting": "Home Assistant está a inicializar, nem tudo estará disponivel até o processo concluir.",
"triggered": "Despoletado {name}"
},
"panel": {
@@ -762,10 +766,12 @@
},
"description": "Visão geral de todas as áreas da sua casa.",
"editor": {
+ "area_id": "ID da área",
"create": "Criar",
"default_name": "Nova área",
"delete": "Apagar",
"name": "Nome",
+ "name_required": "Nome é obrigatório",
"unknown_error": "Erro desconhecido",
"update": "Atualizar"
},
@@ -1209,6 +1215,7 @@
"description": "Personalizar as suas entidades",
"pick_attribute": "Escolha um atributo para substituir.",
"picker": {
+ "entity": "Entidade",
"header": "Personalizações",
"introduction": "Ajustar atributos por entidade. Personalizações acrescentadas/editadas terão efeitos imediatos. Remoção de personalizações terão efeito quando a entidade for atualizada."
},
@@ -1245,6 +1252,7 @@
"integration": "Integração",
"manufacturer": "Fabricante",
"model": "Modelo",
+ "no_area": "Sem área",
"no_devices": "Sem dispositivos"
},
"delete": "Apagar",
@@ -1253,6 +1261,7 @@
"device_not_found": "Dispositivo não encontrado.",
"entities": {
"add_entities_lovelace": "Adicionar ao Lovelace",
+ "disabled_entities": "+{count} {count, plural,\n uma {entity}\n outras {entities}\n}",
"entities": "Entidades",
"hide_disabled": "Mostrar entidades desativadas",
"none": "Este dispositivo não possui entidades"
@@ -1357,6 +1366,8 @@
"delete_button": "Apagar {integration}",
"delete_confirm": "Tem a certeza que pretende apagar esta integração?",
"device_unavailable": "Dispositivo indisponível",
+ "devices": "{count} {count, plural,\n um {entity}\n outros {entities}\n}",
+ "entities": "{count} {count, plural,\n uma {entity}\n outras {entities}\n}",
"entity_unavailable": "Entidade indisponível",
"firmware": "Firmware: {version}",
"hub": "Conectado via",
@@ -1822,6 +1833,9 @@
"set_wakeup": "Definir intervalo de acordar",
"true": "Verdadeiro"
},
+ "node_management": {
+ "exclude_entity": "Excluir esta entidade do Home Assistant"
+ },
"ozw_log": {
"header": "Log OZW",
"introduction": "Veja o log. 0 é o mínimo (carrega o log inteiro) e 1000 é o máximo. Ao carregar irá ser mostrado um log estático e a cauda será atualizada automaticamente com o último número especificado de linhas do log."
@@ -1831,6 +1845,7 @@
"add_node_secure": "Adicionar nó seguro",
"cancel_command": "Cancelar comando",
"heal_network": "Curar a Rede",
+ "refresh_entity": "Actualizar entidade",
"remove_node": "Remover nó",
"save_config": "Guardar configuração",
"soft_reset": "Reinicio suave",
@@ -1994,6 +2009,10 @@
"add_item": "Adicionar Item",
"checked_items": "Itens marcados",
"clear_items": "Limpar itens marcados"
+ },
+ "starting": {
+ "description": "Home Assistant está a inicializar, por favor aguarde...",
+ "header": "Home Assistant está a inicializar..."
}
},
"changed_toast": {
@@ -2283,7 +2302,8 @@
"attribute_not_found": "Atributo {attribute} não disponível em: {entity}",
"entity_non_numeric": "A entidade é não numérica: {entity}",
"entity_not_found": "Entidade não disponível: {entity}",
- "entity_unavailable": "{entity} está indisponível no momento"
+ "entity_unavailable": "{entity} está indisponível no momento",
+ "starting": "Home Assistant está a inicializar, nem tudo está já disponivel"
}
},
"mailbox": {
From 34ac80567e89f6c31714ed0bba7cae8335d35b72 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 8 Jun 2020 09:56:45 +0200
Subject: [PATCH 16/39] Bump websocket-extensions from 0.1.3 to 0.1.4 (#6117)
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
yarn.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index 3354f10e19..40e0b87b48 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -11997,9 +11997,9 @@ websocket-driver@>=0.5.1:
websocket-extensions ">=0.1.1"
websocket-extensions@>=0.1.1:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29"
- integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
+ integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
which-module@^1.0.0:
version "1.0.0"
From 4d7ad0dc51bb29500457de6119b3fbe77fcea0d6 Mon Sep 17 00:00:00 2001
From: HomeAssistant Azure
Date: Tue, 9 Jun 2020 00:32:32 +0000
Subject: [PATCH 17/39] [ci skip] Translation update
---
translations/frontend/es-419.json | 10 +++-
translations/frontend/et.json | 4 ++
translations/frontend/lb.json | 3 +-
translations/frontend/nb.json | 87 +++++++++++++++++++++++++------
translations/frontend/nl.json | 3 ++
translations/frontend/pl.json | 32 ++++++------
translations/frontend/pt-BR.json | 36 ++++++++++++-
translations/frontend/pt.json | 12 +++--
translations/frontend/sl.json | 50 ++++++++++++++++--
translations/frontend/sv.json | 11 ++--
10 files changed, 203 insertions(+), 45 deletions(-)
diff --git a/translations/frontend/es-419.json b/translations/frontend/es-419.json
index b2e2661a79..e0511c0a46 100644
--- a/translations/frontend/es-419.json
+++ b/translations/frontend/es-419.json
@@ -13,9 +13,15 @@
},
"panel": {
"calendar": "Calendario",
+ "config": "",
"developer_tools": "Herramientas para desarrolladores",
+ "history": "",
+ "logbook": "",
+ "mailbox": "",
+ "map": "",
"profile": "Perfil",
- "shopping_list": "Lista de compras"
+ "shopping_list": "Lista de compras",
+ "states": ""
},
"state_attributes": {
"climate": {
@@ -1788,6 +1794,7 @@
"no_zones_created_yet": "Parece que todavía no ha creado ninguna zona."
},
"zwave": {
+ "caption": "",
"common": {
"index": "Índice",
"instance": "Instancia",
@@ -1906,6 +1913,7 @@
"start_listening": "Comenzar a escuchar",
"stop_listening": "Deja de escuchar",
"subscribe_to": "Tema para suscribirse",
+ "title": "",
"topic": "tema"
},
"services": {
diff --git a/translations/frontend/et.json b/translations/frontend/et.json
index 0722c2b79e..1f1a88221c 100644
--- a/translations/frontend/et.json
+++ b/translations/frontend/et.json
@@ -875,6 +875,10 @@
"at": "Kell",
"label": "Aeg"
},
+ "webhook": {
+ "label": "",
+ "webhook_id": ""
+ },
"zone": {
"enter": "Sisenemine",
"entity": "Asukohaga olem",
diff --git a/translations/frontend/lb.json b/translations/frontend/lb.json
index 9ba991d11f..c9ca4af75a 100644
--- a/translations/frontend/lb.json
+++ b/translations/frontend/lb.json
@@ -1869,7 +1869,8 @@
"header": "OZW Log",
"introduction": "Logbicher kucken. 0 ass de minimum (luet de ganze Log) an 1000 ass de maximum. Luede weist ee statesche Log an \"tail\" aktualiséiert de Log automatesch mat de leschten Zeile vum Log.",
"last_log_lines": "Unzuel vun läschte Log Zeilen",
- "load": "Lueden"
+ "load": "Lueden",
+ "tail": "ogon,ślad"
},
"services": {
"add_node": "Apparat dobäisetzen",
diff --git a/translations/frontend/nb.json b/translations/frontend/nb.json
index 02c9456328..d88a8870a4 100644
--- a/translations/frontend/nb.json
+++ b/translations/frontend/nb.json
@@ -26,6 +26,7 @@
"state_attributes": {
"climate": {
"fan_mode": {
+ "auto": "",
"off": "Av",
"on": "På"
},
@@ -100,6 +101,7 @@
"on": "Lavt"
},
"cold": {
+ "off": "",
"on": "Kald"
},
"connectivity": {
@@ -150,6 +152,10 @@
"off": "Borte",
"on": "Hjemme"
},
+ "problem": {
+ "off": "",
+ "on": ""
+ },
"safety": {
"off": "Sikker",
"on": "Usikker"
@@ -219,6 +225,7 @@
"locked": "Låst",
"not_home": "Borte",
"off": "Av",
+ "ok": "",
"on": "På",
"open": "Åpen",
"opening": "Åpner",
@@ -250,6 +257,7 @@
"home": "Hjemme"
},
"plant": {
+ "ok": "",
"problem": "Problem"
},
"remote": {
@@ -355,6 +363,7 @@
"low": "lav",
"on_off": "På / av",
"operation": "Operasjon",
+ "preset_mode": "",
"swing_mode": "Svingmodus",
"target_humidity": "Ønsket luftfuktighet",
"target_temperature": "Ønsket temperatur",
@@ -410,7 +419,9 @@
"timer": {
"actions": {
"cancel": "Avbryt",
- "finish": "Ferdig"
+ "finish": "Ferdig",
+ "pause": "",
+ "start": ""
}
},
"vacuum": {
@@ -442,10 +453,12 @@
"e": "Ø",
"ene": "ØNØ",
"ese": "ØSØ",
+ "n": "",
"ne": "NØ",
"nne": "NNØ",
"nnw": "NNV",
"nw": "NV",
+ "s": "",
"se": "SØ",
"sse": "SSØ",
"ssw": "SSV",
@@ -570,7 +583,8 @@
"generic": {
"cancel": "Avbryt",
"close": "Lukk",
- "default_confirmation_title": "Er du sikker?"
+ "default_confirmation_title": "Er du sikker?",
+ "ok": ""
},
"helper_settings": {
"generic": {
@@ -641,8 +655,11 @@
"commands": "Støvsugerkommandoer:",
"fan_speed": "Viftehastighet",
"locate": "Lokaliser",
+ "pause": "",
"return_home": "Returner hjem",
+ "start": "",
"start_pause": "Start / Pause",
+ "status": "",
"stop": "Stopp"
}
},
@@ -688,6 +705,7 @@
"manuf": "av {manufacturer}",
"no_area": "Intet område",
"power_source": "Strømkilde",
+ "quirk": "",
"services": {
"reconfigure": "Rekonfigurer ZHA-enhet (heal enhet). Bruk dette hvis du har problemer med enheten. Hvis den aktuelle enheten er en batteridrevet enhet, sørg for at den er våken og aksepterer kommandoer når du bruker denne tjenesten.",
"remove": "Fjern en enhet fra Zigbee-nettverket.",
@@ -929,9 +947,12 @@
},
"homeassistant": {
"event": "Hendelse:",
- "shutdown": "Slå av"
+ "label": "",
+ "shutdown": "Slå av",
+ "start": ""
},
"mqtt": {
+ "label": "",
"payload": "Nyttelast (valgfritt)",
"topic": "Emne"
},
@@ -942,6 +963,7 @@
"value_template": "Verdi fra mal (valgfritt)"
},
"state": {
+ "for": "",
"from": "Fra",
"label": "Tilstand",
"to": "Til"
@@ -967,6 +989,10 @@
"at": "Klokken",
"label": "Tid"
},
+ "webhook": {
+ "label": "",
+ "webhook_id": ""
+ },
"zone": {
"enter": "Ankommer",
"entity": "Entitet med posisjon",
@@ -1010,7 +1036,8 @@
"manage_entities": "Håndtér entiteter",
"state_reporting_error": "Kan ikke {enable_disable} rapportere status.",
"sync_entities": "Synkronisér entiteter",
- "sync_entities_error": "Kunne ikke synkronisere entiteter:"
+ "sync_entities_error": "Kunne ikke synkronisere entiteter:",
+ "title": ""
},
"connected": "Tilkoblet",
"connection_status": "Status for skytilkobling",
@@ -1028,7 +1055,8 @@
"manage_entities": "Håndtér entiteter",
"security_devices": "Sikkerhetsenheter",
"sync_entities": "Synkronisér entiteter til Google",
- "sync_entities_404_message": "Kunne ikke synkronisere enhetene dine med Google, be Google 'Hei Google, synkroniser enhetene mine' for å synkronisere enhetene dine."
+ "sync_entities_404_message": "Kunne ikke synkronisere enhetene dine med Google, be Google 'Hei Google, synkroniser enhetene mine' for å synkronisere enhetene dine.",
+ "title": ""
},
"integrations": "Integrasjoner",
"integrations_introduction": "Integrasjoner for Home Assistant Cloud lar deg koble til tjenester i skyen uten å måtte avsløre Home Assistant-forekomsten offentlig på internett.",
@@ -1057,15 +1085,18 @@
"no_hooks_yet": "Ser ut som du ikke har noen webhooks ennå. Kom i gang ved å konfigurere en ",
"no_hooks_yet_link_automation": "webhook-automasjon",
"no_hooks_yet_link_integration": "webhook-basert integrasjon",
- "no_hooks_yet2": " eller ved å opprette en "
+ "no_hooks_yet2": " eller ved å opprette en ",
+ "title": ""
}
},
"alexa": {
"banner": "Redigere hvilke entiteter som vises via dette grensesnittet er deaktivert fordi du har konfigurert entitetsfiltre i configuration.yaml.",
"expose": "Eksponer til Alexa",
"exposed_entities": "Eksponerte entiteter",
- "not_exposed_entities": "Ikke-eksponerte entiteter"
+ "not_exposed_entities": "Ikke-eksponerte entiteter",
+ "title": ""
},
+ "caption": "",
"description_features": "Kontroller borte fra hjemmet, integrer med Alexa og Google Assistant.",
"description_login": "Logget inn som {email}",
"description_not_login": "Ikke pålogget",
@@ -1102,7 +1133,8 @@
"expose": "Eksponer til Google Assistant",
"exposed_entities": "Eksponerte entiteter",
"not_exposed_entities": "Ikke-eksponerte entiteter",
- "sync_to_google": "Synkroniserer endringer til Google."
+ "sync_to_google": "Synkroniserer endringer til Google.",
+ "title": ""
},
"login": {
"alert_email_confirm_necessary": "Du må bekrefte e-posten din før du logger inn.",
@@ -1274,6 +1306,7 @@
"confirm_title": "Vil du aktivere {number} enheter?"
},
"filter": {
+ "filter": "",
"show_disabled": "Vis deaktiverte entiteter",
"show_readonly": "Vis skrivebeskyttede enheter",
"show_unavailable": "Vis utilgjengelige enheter"
@@ -1282,7 +1315,8 @@
"headers": {
"entity_id": "Entitets-ID",
"integration": "Integrasjon",
- "name": "Navn"
+ "name": "Navn",
+ "status": ""
},
"introduction": "Home Assistant bygger opp et register over hver entitet den har sett som kan identifiseres unikt. Hver av disse entitetene vil ha en ID som er reservert kun til denne.",
"introduction2": "Bruk entitetsregistret til å overstyre navnet, endre id-en eller fjerne den fra Home Assistant.",
@@ -1296,6 +1330,7 @@
"selected": "{number} valgte",
"status": {
"disabled": "Deaktivert",
+ "ok": "",
"readonly": "Skrivebeskyttet",
"restored": "Gjennopprettet",
"unavailable": "Utilgjengelig"
@@ -1320,13 +1355,15 @@
"headers": {
"editable": "Redigerbare",
"entity_id": "Entitets-ID",
- "name": "Navn"
+ "name": "Navn",
+ "type": ""
}
},
"types": {
"input_boolean": "Veksle",
"input_datetime": "Dato og/eller klokkeslett",
"input_number": "Nummer",
+ "input_select": "",
"input_text": "Tekst"
}
},
@@ -1427,6 +1464,7 @@
"title": "Tittel",
"title_required": "Tittel er påkrevd.",
"update": "Oppdater",
+ "url": "",
"url_error_msg": "URLen skal inneholde en - og kan ikke inneholde mellomrom eller spesialtegn, bortsett fra _ og -"
},
"picker": {
@@ -1454,12 +1492,17 @@
"new_resource": "Legg til ny ressurs",
"type": "Ressurstype",
"update": "Oppdater",
+ "url": "",
"url_error_msg": "URL-adresse er et obligatorisk felt",
"warning_header": "Vær forsiktig!",
"warning_text": "Det kan være farlig å legge til ressurser, sørg for at du kjenner kilden til ressursen og stoler på dem. Dårlige ressurser kan skade systemet ditt alvorlig."
},
"picker": {
"add_resource": "Legg til ressurs",
+ "headers": {
+ "type": "",
+ "url": ""
+ },
"no_resources": "Ingen ressurser"
},
"refresh_body": "Du må oppdatere siden for å fullføre fjerningen, vil du oppdatere nå?",
@@ -1616,6 +1659,7 @@
"editor": {
"activate_user": "Aktiver bruker",
"active": "Aktiv",
+ "admin": "",
"caption": "Vis bruker",
"change_password": "Endre passord",
"confirm_user_deletion": "Er du sikker på at du vil slette {name} ?",
@@ -1634,7 +1678,8 @@
"picker": {
"headers": {
"group": "Gruppe",
- "name": "Navn"
+ "name": "Navn",
+ "system": ""
}
},
"users_privileges_note": "Brukere-gruppen er et pågående arbeid. Brukeren kan ikke administrere forekomsten via brukergrensesnittet. Vi overvåker fortsatt alle API-endepunkter for administrasjonsadministrasjon for å sikre at de begrenser tilgangen til administratorer på riktig måte."
@@ -1650,6 +1695,7 @@
"caption": "Legg til enheter",
"description": "Legg til enheter i Zigbee-nettverket"
},
+ "caption": "",
"cluster_attributes": {
"attributes_of_cluster": "Attributter for den valgte klyngen",
"get_zigbee_attribute": "Hent ZigBee-attributt",
@@ -1754,6 +1800,7 @@
"new_zone": "Ny sone",
"passive": "Passiv",
"passive_note": "Passive soner er skjult i grensesnittet og brukes ikke som sted for enhetssporere. Dette er nyttig hvis du bare vil bruke dem til automasjoner.",
+ "radius": "",
"required_error_msg": "Dette feltet er påkrevd",
"update": "Oppdater"
},
@@ -1884,6 +1931,7 @@
"documentation": "Dokumentasjon",
"frontend": "frontend",
"frontend_version": "Brukergrensesnittet-versjon: {version} - {type}",
+ "home_assistant_logo": "",
"icons_by": "Ikoner fra",
"integrations": "Integrasjoner",
"issues": "Problemer",
@@ -1923,6 +1971,7 @@
"call_service": "Tilkall tjeneste",
"column_description": "Beskrivelse",
"column_example": "Eksempel",
+ "column_parameter": "",
"data": "Tjenestedata (YAML, valgfritt)",
"description": "Service utviklingsverktøyet lar deg tilkalle alle tilgjengelige tjenester i Home Assistant.",
"fill_example_data": "Fyll ut eksempeldata",
@@ -1985,6 +2034,7 @@
},
"picture-elements": {
"call_service": "Tilkall tjeneste {name}",
+ "hold": "",
"more_info": "Vis mer info: {name}",
"navigate_to": "Naviger til {location}",
"tap": "Trykk:",
@@ -2075,6 +2125,7 @@
"manual": "Manuell",
"manual_description": "Trenger du å legge til et tilpasset kort eller bare ønsker å skrive yaml manuelt?",
"maximum": "Maksimalt",
+ "minimum": "",
"name": "Navn",
"no_theme": "Ingen tema",
"refresh_interval": "Oppdateringsintervall",
@@ -2086,7 +2137,8 @@
"tap_action": "Trykk handling",
"theme": "Tema",
"title": "Tittel",
- "unit": "Betegnelse"
+ "unit": "Betegnelse",
+ "url": ""
},
"glance": {
"columns": "Kolonner",
@@ -2120,7 +2172,8 @@
},
"markdown": {
"content": "Innhold",
- "description": "Markdown-kortet brukes til å gjengi Markdown."
+ "description": "Markdown-kortet brukes til å gjengi Markdown.",
+ "name": ""
},
"media-control": {
"description": "Media Control-kortet brukes til å vise mediespillerenheter på et grensesnitt med brukervennlige kontroller.",
@@ -2149,7 +2202,8 @@
"sensor": {
"description": "Sensorkortet gir deg en rask oversikt over sensortilstanden din med en valgfri graf for å visualisere endring over tid.",
"graph_detail": "Detaljer for graf",
- "graph_type": "Graf type"
+ "graph_type": "Graf type",
+ "name": ""
},
"shopping-list": {
"description": "På Shopping List-kortet kan du legge til, redigere, sjekke av og fjerne gjenstander fra handlelisten din.",
@@ -2438,6 +2492,7 @@
"upstairs": "Oppe"
},
"unit": {
+ "minutes_abbr": "",
"watching": "Ser på"
}
}
@@ -2490,7 +2545,9 @@
},
"current_user": "Du er logget inn som {fullName}.",
"dashboard": {
- "description": "Velg et standard instrumentbord for denne enheten."
+ "description": "Velg et standard instrumentbord for denne enheten.",
+ "dropdown_label": "",
+ "header": ""
},
"force_narrow": {
"description": "Dette vil skjule sidepanelet som standard, tilsvarende opplevelsen på en mobil.",
diff --git a/translations/frontend/nl.json b/translations/frontend/nl.json
index d431f52ade..447b0b5752 100644
--- a/translations/frontend/nl.json
+++ b/translations/frontend/nl.json
@@ -914,6 +914,7 @@
"delete": "Verwijderen",
"delete_confirm": "Weet je zeker dat je dit item wilt verwijderen?",
"duplicate": "Dupliceren",
+ "header": "",
"introduction": "Triggers starten de verwerking van een automatiseringsregel. Het is mogelijk om meerdere triggers voor dezelfde regel op te geven. Zodra een trigger start, valideert Home Assistant de eventuele voorwaarden en roept hij de actie aan.",
"learn_more": "Meer informatie over triggers",
"name": "Trigger",
@@ -943,10 +944,12 @@
},
"homeassistant": {
"event": "Gebeurtenis:",
+ "label": "",
"shutdown": "Afsluiten",
"start": "Opstarten"
},
"mqtt": {
+ "label": "",
"payload": "Payload (optioneel)",
"topic": "Onderwerp"
},
diff --git a/translations/frontend/pl.json b/translations/frontend/pl.json
index b086fdbaee..898522382a 100644
--- a/translations/frontend/pl.json
+++ b/translations/frontend/pl.json
@@ -35,7 +35,7 @@
"drying": "osuszanie",
"fan": "wentylator",
"heating": "grzanie",
- "idle": "nieaktywny",
+ "idle": "Bezczynny",
"off": "wyłączony"
},
"preset_mode": {
@@ -324,22 +324,22 @@
},
"query_stage": {
"dead": "martwy ({query_stage})",
- "initializing": "inicjalizacja ({query_stage})"
+ "initializing": "Inicjowanie ({query_stage})"
}
}
},
"ui": {
"auth_store": {
- "ask": "Czy chcesz zapamiętać dane logowania?",
- "confirm": "Zapamiętaj",
- "decline": "Nie, dziękuję"
+ "ask": "Czy chcesz pozostać zalogowany?",
+ "confirm": "Potwierdź",
+ "decline": "Rezygnuj"
},
"card": {
"alarm_control_panel": {
- "arm_away": "uzbrojenie (nieobecny)",
+ "arm_away": "Uzbrojenie pod nieobecność",
"arm_custom_bypass": "Niestandardowy bypass",
"arm_home": "uzbrojenie (w domu)",
- "arm_night": "uzbrojenie (noc)",
+ "arm_night": "Uzbrojenie na noc",
"clear_code": "Wyczyść",
"code": "Kod",
"disarm": "rozbrojenie"
@@ -352,12 +352,12 @@
"not_available": "Obraz niedostępny"
},
"climate": {
- "aux_heat": "Dodatkowe źródło ciepła",
+ "aux_heat": "Zewnętrznie podłączone źródło",
"away_mode": "Tryb poza domem",
"cooling": "{name} chłodzenie",
"current_temperature": "{name} aktualna temperatura",
"currently": "Obecnie",
- "fan_mode": "Tryb pracy wentylatora",
+ "fan_mode": "Tryb nawiewu",
"heating": "{name} grzanie",
"high": "wysoka",
"low": "niska",
@@ -392,7 +392,7 @@
"brightness": "Jasność",
"color_temperature": "Temperatura barwy",
"effect": "Efekt",
- "white_value": "Biel"
+ "white_value": "Wartość bieli"
},
"lock": {
"code": "Kod",
@@ -427,7 +427,7 @@
"vacuum": {
"actions": {
"resume_cleaning": "Wznów sprzątanie",
- "return_to_base": "Wróć do stacji dokującej",
+ "return_to_base": "Powrót do stacji dokującej",
"start_cleaning": "Rozpocznij sprzątanie",
"turn_off": "Wyłącz",
"turn_on": "Włącz"
@@ -442,8 +442,8 @@
},
"weather": {
"attributes": {
- "air_pressure": "Ciśnienie",
- "humidity": "Wilgotność",
+ "air_pressure": "Ciśnienie atmosferyczne",
+ "humidity": "Wilgotność powietrza",
"precipitation": "Opady",
"temperature": "Temperatura",
"visibility": "Widoczność",
@@ -551,7 +551,7 @@
},
"dialogs": {
"config_entry_system_options": {
- "enable_new_entities_description": "Jeśli wyłączone, nowo wykryte encje nie będą automatycznie dodawane do Home Assistant'a.",
+ "enable_new_entities_description": "Jeśli wyłączone, nowo wykryte encje integracji {integration} nie będą automatycznie dodawane do Home Assistanta.",
"enable_new_entities_label": "Włącz dodawanie nowych encji.",
"title": "Opcje systemowe dla {integration}",
"update": "Aktualizuj"
@@ -841,7 +841,7 @@
"delete_confirm": "Czy chcesz usunąć?",
"duplicate": "Duplikuj",
"header": "Warunki",
- "introduction": "Warunki są opcjonalną częścią automatyzacji i można ich użyć, aby zapobiec działaniom po uruchomieniu. Warunki wyglądają bardzo podobnie do wyzwalaczy, ale są bardzo różne. Wyzwalacz będzie analizował zdarzenia zachodzące w systemie, a warunek będzie dotyczył tylko tego, jak wygląda teraz system. Wyzwalacz może zaobserwować, że przełącznik jest przełączany. Warunek może tylko sprawdzić, czy przełącznik jest aktualnie włączony lub wyłączony.",
+ "introduction": "Warunki nie są wymagane w automatyzacji, ale zastosowanie ich wykluczy jej potencjalnie niechciane uruchomienia, póki logika każdego z nich przyjmuje wartość pozytywną.",
"learn_more": "Dowiedz się więcej o warunkach",
"name": "Warunek",
"type_select": "Typ warunku",
@@ -1324,7 +1324,7 @@
"button": "Usuń wybrane",
"confirm_partly_text": "Można usunąć tylko {removable} z wybranych {selected} encji. Encje można usunąć tylko wtedy, gdy integracja wspiera taka możliwość. Czasami trzeba ponownie uruchomić Home Assistanta, zanim będzie można usunąć encje usuniętej integracji. Czy na pewno chcesz usunąć usuwalne encje?",
"confirm_partly_title": "Tylko {number} wybrane encje można usunąć.",
- "confirm_text": "Encje mogą zostać usunięte tylko wtedy, gdy ich integracja na to zezwala.",
+ "confirm_text": "Powinieneś uprzednio usunąć integrację z automatyzacji i konfiguracji Lovelace, jeśli encje w niej występują.",
"confirm_title": "Czy chcesz usunąć {number} encj(ę/e/i)?"
},
"selected": "wybrano {number}",
diff --git a/translations/frontend/pt-BR.json b/translations/frontend/pt-BR.json
index 0228283427..81fa65d285 100644
--- a/translations/frontend/pt-BR.json
+++ b/translations/frontend/pt-BR.json
@@ -474,6 +474,7 @@
},
"common": {
"and": "e",
+ "back": "Voltar",
"cancel": "Cancelar",
"close": "Fechar",
"delete": "Eliminar",
@@ -506,6 +507,7 @@
"device-picker": {
"clear": "Limpar",
"device": "Dispositivo",
+ "no_area": "Sem área",
"show_devices": "Mostrar dispositivos",
"toggle": "Alternar"
},
@@ -739,6 +741,8 @@
"notification_toast": {
"connection_lost": "Conexão perdida. Reconectando…",
"service_call_failed": "Falha ao chamar o serviço {service}.",
+ "started": "Home Assistant foi iniciado!",
+ "starting": "Home Assistant está iniciando, algumas funcionalidades podem estar indisponíveis até que esteja iniciado.",
"triggered": "{name} disparado"
},
"panel": {
@@ -766,6 +770,9 @@
"create": "Criar",
"default_name": "Nova Zona",
"delete": "Excluir",
+ "name": "Nome",
+ "name_required": "Nome é obrigatório",
+ "unknown_error": "Erro desconhecido",
"update": "Atualizar"
},
"picker": {
@@ -800,6 +807,7 @@
"label": "Atraso"
},
"device_id": {
+ "action": "Açao",
"extra_fields": {
"code": "Código"
},
@@ -841,6 +849,7 @@
"label": "E"
},
"device": {
+ "condition": "Condição",
"extra_fields": {
"above": "Acima",
"below": "Abaixo",
@@ -919,7 +928,8 @@
"below": "Abaixo",
"for": "Duração"
},
- "label": "Dispositivo"
+ "label": "Dispositivo",
+ "trigger": "Gatilho"
},
"event": {
"event_data": "Dados de evento",
@@ -936,6 +946,7 @@
},
"homeassistant": {
"event": "Evento:",
+ "label": "",
"shutdown": "Desligar",
"start": "Iniciar"
},
@@ -1210,6 +1221,7 @@
"different_include": "Possivelmente por meio de um domínio, um glob ou uma inclusão diferente.",
"pick_attribute": "Escolha um atributo para sobrescrever",
"picker": {
+ "entity": "Entidade",
"header": "Personalizações",
"introduction": "Ajustar atributos por entidade. As personalizações adicionadas / editadas entrarão em vigor imediatamente. As personalizações removidas entrarão em vigor quando a entidade for atualizada."
},
@@ -1246,6 +1258,7 @@
"integration": "Integração",
"manufacturer": "Fabricante",
"model": "Modelo",
+ "no_area": "Sem área",
"no_devices": "Nenhum dispositivo"
},
"delete": "Eliminar",
@@ -1254,7 +1267,9 @@
"device_not_found": "Dispositivo não encontrado.",
"entities": {
"add_entities_lovelace": "Adicionar ao Lovelace",
+ "disabled_entities": "+{count} {count, plural,\n one {disabled entity}\n other {disabled entities}\n}",
"entities": "Entidades",
+ "hide_disabled": "Ocultar desativado(s)",
"none": "Este dispositivo não possui entidades"
},
"name": "Nome",
@@ -1795,6 +1810,7 @@
"no_zones_created_yet": "Parece que você ainda não criou nenhuma zona."
},
"zwave": {
+ "caption": "",
"common": {
"index": "Índice",
"instance": "Instância",
@@ -1826,15 +1842,27 @@
"set_wakeup": "Definir intervalo de ativação",
"true": "Verdadeiro"
},
+ "node_management": {
+ "add_to_group": "Adicionar ao grupo",
+ "group": "Grupo",
+ "node_group_associations": "Associações de grupos de nós",
+ "node_protection": "Proteção dos nós",
+ "nodes": "Nós",
+ "protection": "Proteção",
+ "set_protection": "Definir proteção"
+ },
"ozw_log": {
"header": "OZW Log",
- "introduction": "Veja o log. 0 é o mínimo (carrega o log inteiro) e 1000 é o máximo. A carga mostrará um log estático e tail será atualizada automaticamente com o último número especificado de linhas do log."
+ "introduction": "Veja o log. 0 é o mínimo (carrega o log inteiro) e 1000 é o máximo. A carga mostrará um log estático e tail será atualizada automaticamente com o último número especificado de linhas do log.",
+ "load": "Carregar"
},
"services": {
"add_node": "Adicionar Nó",
"add_node_secure": "Adicionar Nó Seguro",
"cancel_command": "Cancelar Comando",
"heal_network": "Reparar rede",
+ "node_info": "Informações do Nó",
+ "refresh_entity": "Atualizar Entidade",
"remove_node": "Remover Nó",
"save_config": "Salvar Configuração",
"soft_reset": "Soft Reset",
@@ -1914,6 +1942,7 @@
"start_listening": "Começar a ouvir",
"stop_listening": "Parar de ouvir",
"subscribe_to": "Evento para se inscrever",
+ "title": "",
"topic": "tópico"
},
"services": {
@@ -2309,6 +2338,8 @@
"abort_intro": "Login cancelado",
"authorizing_client": "Você está prestes a dar acesso pra {clientId} à sua instância do Home Assistant.",
"form": {
+ "error": "Erro: {error}",
+ "next": "Próximo",
"providers": {
"command_line": {
"abort": {
@@ -2394,6 +2425,7 @@
}
}
},
+ "start_over": "Recomeçar",
"unknown_error": "Alguma coisa saiu errada",
"working": "Aguarde"
},
diff --git a/translations/frontend/pt.json b/translations/frontend/pt.json
index a720810a63..d98d5c6877 100644
--- a/translations/frontend/pt.json
+++ b/translations/frontend/pt.json
@@ -1035,7 +1035,8 @@
"manage_entities": "Gerir Entidades",
"state_reporting_error": "Indisponível para {enable_disable} reportar estado.",
"sync_entities": "Sincronizar Entidades",
- "sync_entities_error": "Falha na sincronização das entidades:"
+ "sync_entities_error": "Falha na sincronização das entidades:",
+ "title": ""
},
"connected": "Ligado",
"connection_status": "Estado da ligação na cloud",
@@ -1053,7 +1054,8 @@
"manage_entities": "Gerir Entidades",
"security_devices": "Dispositivos de segurança",
"sync_entities": "Sincronizar entidades com o Google",
- "sync_entities_404_message": "Falha ao sincronizar suas entidades com o Google, peça ao Google 'Ok Google, sincronize os meus dispositivos' para sincronizar suas entidades."
+ "sync_entities_404_message": "Falha ao sincronizar suas entidades com o Google, peça ao Google 'Ok Google, sincronize os meus dispositivos' para sincronizar suas entidades.",
+ "title": ""
},
"integrations": "Integrações",
"integrations_introduction": "As integrações para o Home Assistant Cloud permitem-lhe ligar-se aos serviços na nuvem sem ter de expor publicamente o seu Home Assistant na Internet.",
@@ -1082,7 +1084,8 @@
"no_hooks_yet": "Parece que você ainda não tem webhooks. Comece, configurando um",
"no_hooks_yet_link_automation": "automação de webhook",
"no_hooks_yet_link_integration": "integração baseada em webhook",
- "no_hooks_yet2": " ou criando um "
+ "no_hooks_yet2": " ou criando um ",
+ "title": ""
}
},
"alexa": {
@@ -1116,6 +1119,7 @@
},
"forgot_password": {
"check_your_email": "Verifique o seu e-mail para obter instruções sobre como redefinir a sua senha.",
+ "email": "",
"email_error_msg": "E-mail inválido",
"instructions": "Introduza o seu endereço de e-mail e nós lhe enviaremos um link para redefinir sua password.",
"send_reset_email": "Enviar e-mail de redefinição",
@@ -1135,6 +1139,7 @@
"alert_email_confirm_necessary": "É necessário confirmar o seu e-mail antes de fazer login.",
"alert_password_change_required": "É necessário alterar a sua password antes de fazer login.",
"dismiss": "Fechar",
+ "email": "",
"email_error_msg": "E-mail inválido",
"forgot_password": "Esqueceu-se da senha?",
"introduction": "O Home Assistant Cloud fornece uma conexão remota segura à sua instância enquanto estiver fora de casa. Também permite que você se conecte com serviços que apenas utilizam a nuvem: Amazon Alexa e Google Assistant.",
@@ -1890,6 +1895,7 @@
"custom_uis": "IUs personalizados:",
"developed_by": "Desenvolvido por um punhado de pessoas incríveis.",
"documentation": "Documentação",
+ "frontend": "",
"frontend_version": "Versão frontend: {version} - {type}",
"home_assistant_logo": "Logotipo do Home Assistant",
"icons_by": "Ícones por",
diff --git a/translations/frontend/sl.json b/translations/frontend/sl.json
index 1550e445b2..2f0c4dcbd2 100644
--- a/translations/frontend/sl.json
+++ b/translations/frontend/sl.json
@@ -478,6 +478,7 @@
"cancel": "Prekliči",
"close": "Zapri",
"delete": "Izbriši",
+ "error_required": "Zahtevano",
"loading": "Nalaganje",
"next": "Naslednji",
"no": "Ne",
@@ -740,6 +741,8 @@
"notification_toast": {
"connection_lost": "Povezava prekinjena. Vnovično vzpostavljanje povezave...",
"service_call_failed": "Storitve ni bilo mogoče poklicati {service}.",
+ "started": "Home Assistant se je zagnal!",
+ "starting": "Home Assistant se zaganja, vse ne bo na voljo, dokler se zagon ne konča.",
"triggered": "Sproženo {name}"
},
"panel": {
@@ -1219,6 +1222,7 @@
"different_include": "Mogoče prek domene, globusa ali drugačne vsebovanosti.",
"pick_attribute": "Izberite atribut, ki ga želite preglasiti",
"picker": {
+ "entity": "Subjekt",
"header": "Prilagoditve",
"introduction": "Prilagajanja atributov na entiteti. Dodane/spremenjene prilagoditve začnejo veljati takoj. Odstranjene pa po posodobitvi entitete."
},
@@ -1677,7 +1681,8 @@
"name": "Ime",
"system": "Sistem"
}
- }
+ },
+ "users_privileges_note": "Skupine uporabnikov je delo v teku. Uporabnik ne bo mogel upravljati primerka prek uporabniškega vmesnika. Še vedno poteka revidiranje vseh končnih točk API-ja za upravljanje, da zagotovimo pravilno omejevanje dostopa do administratorjev."
},
"zha": {
"add_device_page": {
@@ -1839,21 +1844,53 @@
"set_wakeup": "Nastavite Interval bujenja",
"true": "Prav"
},
+ "node_management": {
+ "add_to_group": "Dodaj v skupino",
+ "entities": "Subjekti tega vozlišča",
+ "entity_info": "Podatki o subjektu",
+ "exclude_entity": "Izključite to entiteto iz Home Assistant-a",
+ "group": "Skupina",
+ "header": "Upravljanje Z-Wave vozlišč",
+ "introduction": "Poženite ukaze Z-Wave, ki vplivajo na posamezno vozlišče. Izberite vozlišče in si oglejte seznam razpoložljivih ukazov.",
+ "max_associations": "Max združenja:",
+ "node_group_associations": "Združenja skupin vozlišč",
+ "node_protection": "Zaščita vozlišča",
+ "node_to_control": "Vozlišče za nadzor",
+ "nodes": "Vozlišča",
+ "nodes_hint": "Izberite vozlišče za ogled njegovih možnosti",
+ "nodes_in_group": "Druga vozlišča v tej skupini:",
+ "pooling_intensity": "Intenzivnost osveževanja",
+ "protection": "Zaščita",
+ "remove_broadcast": "Odstrani oddajanje",
+ "remove_from_group": "Odstrani iz skupine",
+ "set_protection": "Nastavite zaščito"
+ },
"ozw_log": {
"header": "OZW dnevnik",
- "introduction": "Oglejte si dnevnik. 0 je minimum (naloži celoten dnevnik), 1000 pa največ. Prikazan bo statični dnevnik, konec pa se bo samodejno posodobil z zadnjim določenim številom vrstic dnevnika."
+ "introduction": "Oglejte si dnevnik. 0 je minimum (naloži celoten dnevnik), 1000 pa največ. Prikazan bo statični dnevnik, konec pa se bo samodejno posodobil z zadnjim določenim številom vrstic dnevnika.",
+ "last_log_lines": "Število zadnjih vrstic dnevnika",
+ "load": "Obremenitev",
+ "tail": "Rep"
},
"services": {
"add_node": "Dodaj vozlišče",
"add_node_secure": "Dodaj vozlišče varno",
"cancel_command": "Prekliči ukaz",
"heal_network": "Pozdravite omrežje",
+ "heal_node": "Pozdravi Vozlišče",
+ "node_info": "Informacije o vozlišču",
+ "print_node": "Podatki o vozlišču",
+ "refresh_entity": "Osveži subjekt",
+ "refresh_node": "Osveži vozlišče",
+ "remove_failed_node": "Odstranite neuspešno vozlišče",
"remove_node": "Odstrani vozlišče",
+ "replace_failed_node": "Zamenjaj neuspešno vozlišče",
"save_config": "Shrani konfiguracijo",
"soft_reset": "Resetiraj",
"start_network": "Zaženite omrežje",
"stop_network": "Ustavite omrežje",
- "test_network": "Preizkusite omrežje"
+ "test_network": "Preizkusite omrežje",
+ "test_node": "Preizkusi vozlišče"
},
"values": {
"header": "Vrednosti vozlišča"
@@ -2012,6 +2049,10 @@
"add_item": "Dodaj element",
"checked_items": "Označeni predmeti",
"clear_items": "Počisti označene elemente"
+ },
+ "starting": {
+ "description": "Home Assistant se zaganja, prosimo počakajte ...",
+ "header": "Home Assistant se zaganja ..."
}
},
"changed_toast": {
@@ -2304,7 +2345,8 @@
"attribute_not_found": "Atribut {attribute} ni na voljo v: {entity}",
"entity_non_numeric": "Entiteta je neštevilska: {entity}",
"entity_not_found": "Entiteta ni na voljo: {entity}",
- "entity_unavailable": "{entity} trenutno ni na voljo"
+ "entity_unavailable": "{entity} trenutno ni na voljo",
+ "starting": "Home Assistant se zaganja, morda še ni vse na voljo"
}
},
"mailbox": {
diff --git a/translations/frontend/sv.json b/translations/frontend/sv.json
index 3938ba4ee2..350219cd6c 100644
--- a/translations/frontend/sv.json
+++ b/translations/frontend/sv.json
@@ -1035,7 +1035,8 @@
"manage_entities": "Hantera Entiteter",
"state_reporting_error": "Det går inte att {enable_disable} rapportera tillståndet.",
"sync_entities": "Synkronisera Entiteter",
- "sync_entities_error": "Det gick inte att synkronisera entiteter:"
+ "sync_entities_error": "Det gick inte att synkronisera entiteter:",
+ "title": ""
},
"connected": "Ansluten",
"connection_status": "Status för molnanslutning",
@@ -1083,14 +1084,16 @@
"no_hooks_yet": "Ser ut som du inte har några webhooks ännu. Kom igång genom att konfigurera en ",
"no_hooks_yet_link_automation": "webhook automation",
"no_hooks_yet_link_integration": "webhook-baserad integration",
- "no_hooks_yet2": " eller genom att skapa en "
+ "no_hooks_yet2": " eller genom att skapa en ",
+ "title": ""
}
},
"alexa": {
"banner": "Redigering av vilka entiteter som visas via det här användargränssnittet är inaktiverat eftersom du har konfigurerat entitetsfilter i configuration.yaml.",
"expose": "Exponera för Alexa",
"exposed_entities": "Exponerade entiteter",
- "not_exposed_entities": "Ej exponerade entiteter"
+ "not_exposed_entities": "Ej exponerade entiteter",
+ "title": ""
},
"caption": "Home Assistant Cloud",
"description_features": "Styra även när du inte är hemma, integrera med Alexa och Google Assistant.",
@@ -2113,6 +2116,8 @@
"icon_height": "Ikonhöjd",
"image": "Bildsökväg",
"manual": "Manuell",
+ "maximum": "",
+ "minimum": "",
"name": "Namn",
"no_theme": "Inget tema",
"refresh_interval": "Uppdateringsintervall",
From 8f86a7ad8cbfd3fb00e44bcb036a867df91c5b21 Mon Sep 17 00:00:00 2001
From: Robert
Date: Tue, 9 Jun 2020 11:52:43 +0200
Subject: [PATCH 18/39] Removed docker build method. (#6126)
The docker build method doesn't work anymore. Removed all
scripts/references related to it.
---
.dockerignore | 4 --
Dockerfile | 31 -----------
README.md | 9 ----
package.json | 4 +-
script/docker_entrypoint.sh | 14 -----
script/docker_run.sh | 103 ------------------------------------
6 files changed, 1 insertion(+), 164 deletions(-)
delete mode 100644 .dockerignore
delete mode 100644 Dockerfile
delete mode 100644 script/docker_entrypoint.sh
delete mode 100755 script/docker_run.sh
diff --git a/.dockerignore b/.dockerignore
deleted file mode 100644
index b25d2d9ae8..0000000000
--- a/.dockerignore
+++ /dev/null
@@ -1,4 +0,0 @@
-node_modules
-hass_frontend
-hass_frontend_es5
-.git
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index 826041fced..0000000000
--- a/Dockerfile
+++ /dev/null
@@ -1,31 +0,0 @@
-FROM node:8.11.1-alpine
-
-# install yarn
-ENV PATH /root/.yarn/bin:$PATH
-
-## Install/force base tools
-RUN apk update \
- && apk add make g++ curl bash binutils tar git python2 python3 \
- && rm -rf /var/cache/apk/* \
- && /bin/bash \
- && touch ~/.bashrc
-
-## Install yarn
-RUN curl -o- -L https://yarnpkg.com/install.sh | bash
-
-## Setup the project
-RUN mkdir -p /frontend
-
-WORKDIR /frontend
-
-COPY package.json yarn.lock ./
-
-RUN yarn install --frozen-lockfile
-
-COPY . .
-
-COPY script/docker_entrypoint.sh /usr/bin/docker_entrypoint.sh
-
-RUN chmod +x /usr/bin/docker_entrypoint.sh
-
-CMD [ "docker_entrypoint.sh" ]
diff --git a/README.md b/README.md
index ab25dde882..c5b6edde12 100644
--- a/README.md
+++ b/README.md
@@ -22,15 +22,6 @@ This is the repository for the official [Home Assistant](https://home-assistant.
A complete guide can be found at the following [link](https://www.home-assistant.io/developers/frontend/). It describes a short guide for the build of project.
-### Docker environment
-
-It is possible to compile the project and/or run commands in the development environment having only the [Docker](https://www.docker.com) pre-installed in the system. On the root of project you can do:
-
-- `sh ./script/docker_run.sh build` Build all the project with one command
-- `sh ./script/docker_run.sh bash` Open an interactive shell (the same environment generated by the _classic environment_) where you can run commands. This bash work on your project directory and any change on your file is automatically present within your build bash.
-
-**Note**: if you have installed `npm` in addition to the `docker`, you can use the commands `npm run docker_build` and `npm run bash` to get a full build or bash as explained above
-
## License
Home Assistant is open-source and Apache 2 licensed. Feel free to browse the repository, learn and reuse parts in your own projects.
diff --git a/package.json b/package.json
index 32f5d1fe8d..43658529fa 100644
--- a/package.json
+++ b/package.json
@@ -17,9 +17,7 @@
"lint": "npm run lint:eslint && npm run lint:prettier && npm run lint:types",
"format": "npm run format:eslint && npm run format:prettier",
"mocha": "node_modules/.bin/ts-mocha -p test-mocha/tsconfig.test.json --opts test-mocha/mocha.opts",
- "test": "npm run lint && npm run mocha",
- "docker_build": "sh ./script/docker_run.sh build $npm_package_version",
- "bash": "sh ./script/docker_run.sh bash $npm_package_version"
+ "test": "npm run lint && npm run mocha"
},
"author": "Paulus Schoutsen (http://paulusschoutsen.nl)",
"license": "Apache-2.0",
diff --git a/script/docker_entrypoint.sh b/script/docker_entrypoint.sh
deleted file mode 100644
index 9d7d228bfc..0000000000
--- a/script/docker_entrypoint.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-# Docker entry point inspired by travis build and script/build_frontend
-
-# Stop on errors
-set -e
-
-# Build the frontend but not used the npm run build
-/bin/bash script/build_frontend
-
-# TEST
-npm run test
-
-#
-#xvfb-run wct
diff --git a/script/docker_run.sh b/script/docker_run.sh
deleted file mode 100755
index 8ee7abe474..0000000000
--- a/script/docker_run.sh
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/bash
-# Basic Docker Management scripts
-# With this script you can build software, or enter an agnostic development environment and run commands interactively.
-
-
-
-check_mandatory_tools(){
- if [ "x$(which docker)" == "x" ]; then
- echo "UNKNOWN - Missing docker binary! Are you sure it is installed and reachable?"
- exit 3
- fi
-
- docker info > /dev/null 2>&1
- if [ $? -ne 0 ]; then
- echo "UNKNOWN - Unable to talk to the docker daemon! Maybe the docker daemon is not running"
- exit 3
- fi
-}
-
-check_dev_image(){
- if [[ "$(docker images -q ${IMAGE_NAME}:$IMAGE_TAG 2> /dev/null)" == "" ]]; then
- echo "UNKNOWN - Can't find the development docker image ${IMAGE_NAME}:$IMAGE_TAG"
- while true; do
- read -p "Do you want to create it now?" yn
- case $yn in
- [Yy]* ) create_image; break;;
- [Nn]* ) exit 3;;
- * ) echo "Please answer y or n";;
- esac
- done
- fi
-}
-
-# Building the basic image for compiling the production frontend
-create_image(){
- docker build -t ${IMAGE_NAME}:${IMAGE_TAG} .
-}
-
-#
-# Execute interactive bash on basic image
-#
-run_bash_on_docker(){
-
- check_dev_image
-
- docker run -it \
- -v $PWD/:/frontend/ \
- -v /frontend/node_modules \
- -v /frontend/bower_components \
- ${IMAGE_NAME}:${IMAGE_TAG} /bin/bash
-}
-
-#
-# Execute the basic image for compiling the production frontend
-#
-build_all(){
-
- check_dev_image
-
- docker run -it \
- -v $PWD/:/frontend/ \
- -v /frontend/node_modules \
- -v /frontend/bower_components \
- ${IMAGE_NAME}:${IMAGE_TAG} /bin/bash script/build_frontend
-
-}
-
-# Init Global Variable
-IMAGE_NAME=home_assistant_fe_image
-IMAGE_TAG=${2:-latest}
-
-check_mandatory_tools
-
-case "$1" in
- setup_env)
- create_image
- ;;
- bash)
- run_bash_on_docker
- ;;
- build)
- build_all
- ;;
- *)
- echo "NAME"
- echo " Docker Management."
- echo ""
- echo "SYNOPSIS"
- echo " ${0} command [version]"
- echo ""
- echo "DESCRIPTION"
- echo " With this script you can build software, or enter an agnostic development environment and run commands interactively."
- echo ""
- echo " The command are:"
- echo " setup_env Create develop images"
- echo " bash Run bash on develop enviroments"
- echo " build Run silent build"
- echo ""
- echo " The version is optional, if not inserted it assumes \"latest\". "
- exit 1
- ;;
-esac
-exit 0
From edc4601f8e24a1260b7fd3ed54126ad465f786f1 Mon Sep 17 00:00:00 2001
From: Bram Kragten
Date: Tue, 9 Jun 2020 14:06:42 +0200
Subject: [PATCH 19/39] Run prettier (#6128)
---
src/components/ha-markdown-element.ts | 2 +-
src/panels/profile/ha-refresh-tokens-card.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/components/ha-markdown-element.ts b/src/components/ha-markdown-element.ts
index 69844b3ad2..03e3f17362 100644
--- a/src/components/ha-markdown-element.ts
+++ b/src/components/ha-markdown-element.ts
@@ -13,7 +13,7 @@ class HaMarkdownElement extends UpdatingElement {
protected update(changedProps) {
super.update(changedProps);
if (this.content !== undefined) {
- this._render();
+ this._render();
}
}
diff --git a/src/panels/profile/ha-refresh-tokens-card.js b/src/panels/profile/ha-refresh-tokens-card.js
index 437ed22f62..81f83b41c5 100644
--- a/src/panels/profile/ha-refresh-tokens-card.js
+++ b/src/panels/profile/ha-refresh-tokens-card.js
@@ -116,7 +116,7 @@ class HaRefreshTokens extends LocalizeMixin(EventsMixin(PolymerElement)) {
} catch (err) {
// eslint-disable-next-line
console.error(err);
- showAlertDialog(this, {
+ showAlertDialog(this, {
text: this.localize("ui.panel.profile.refresh_tokens.delete_failed"),
});
}
From 168cc607aae7bdfa871ff80296ffcb891e8a060d Mon Sep 17 00:00:00 2001
From: Bram Kragten
Date: Tue, 9 Jun 2020 22:30:18 +0200
Subject: [PATCH 20/39] Move lovelace card edit dialog to mwc-dialog (#6130)
---
src/components/ha-dialog.ts | 6 +-
.../editor/card-editor/hui-card-editor.ts | 3 -
.../card-editor/hui-dialog-edit-card.ts | 139 +++++++++---------
3 files changed, 71 insertions(+), 77 deletions(-)
diff --git a/src/components/ha-dialog.ts b/src/components/ha-dialog.ts
index bffab35560..1af4d63882 100644
--- a/src/components/ha-dialog.ts
+++ b/src/components/ha-dialog.ts
@@ -13,7 +13,7 @@ export const createCloseHeading = (hass: HomeAssistant, title: string) => html`
@@ -35,10 +35,12 @@ export class HaDialog extends MwcDialog {
display: block;
height: 20px;
}
- .close_button {
+ .header_button {
position: absolute;
right: 16px;
top: 12px;
+ text-decoration: none;
+ color: inherit;
}
`,
];
diff --git a/src/panels/lovelace/editor/card-editor/hui-card-editor.ts b/src/panels/lovelace/editor/card-editor/hui-card-editor.ts
index 490222ae80..4d884e469c 100644
--- a/src/panels/lovelace/editor/card-editor/hui-card-editor.ts
+++ b/src/panels/lovelace/editor/card-editor/hui-card-editor.ts
@@ -187,7 +187,6 @@ export class HuiCardEditor extends LitElement {
// Refresh code editor when switching to yaml mode
this._refreshYamlEditor(true);
}
- fireEvent(this as HTMLElement, "iron-resize");
}
if (this._configElement && changedProperties.has("hass")) {
@@ -207,7 +206,6 @@ export class HuiCardEditor extends LitElement {
this._yamlEditor.codemirror.focus();
}
}
- fireEvent(this as HTMLElement, "iron-resize");
}, 1);
}
@@ -279,7 +277,6 @@ export class HuiCardEditor extends LitElement {
this.GUImode = false;
} finally {
this._loading = false;
- fireEvent(this, "iron-resize");
}
}
diff --git a/src/panels/lovelace/editor/card-editor/hui-dialog-edit-card.ts b/src/panels/lovelace/editor/card-editor/hui-dialog-edit-card.ts
index 0c832dc73d..93ae17ff3f 100755
--- a/src/panels/lovelace/editor/card-editor/hui-dialog-edit-card.ts
+++ b/src/panels/lovelace/editor/card-editor/hui-dialog-edit-card.ts
@@ -1,4 +1,3 @@
-import "@polymer/paper-dialog-scrollable/paper-dialog-scrollable";
import deepFreeze from "deep-freeze";
import {
css,
@@ -12,7 +11,7 @@ import {
PropertyValues,
} from "lit-element";
import type { HASSDomEvent } from "../../../../common/dom/fire_event";
-import "../../../../components/dialog/ha-paper-dialog";
+import "../../../../components/ha-dialog";
import type {
LovelaceCardConfig,
LovelaceViewConfig,
@@ -28,6 +27,7 @@ import "./hui-card-picker";
import "./hui-card-preview";
import type { EditCardDialogParams } from "./show-edit-card-dialog";
import { getCardDocumentationURL } from "../get-card-documentation-url";
+import { mdiHelpCircle } from "@mdi/js";
declare global {
// for fire event
@@ -116,28 +116,29 @@ export class HuiDialogEditCard extends LitElement {
}
return html`
-
-