diff --git a/setup.py b/setup.py index a47250acad..b2cbfd5720 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name="home-assistant-frontend", - version="20210503.0", + version="20210504.0", description="The Home Assistant frontend", url="https://github.com/home-assistant/home-assistant-polymer", author="The Home Assistant Authors", diff --git a/src/common/color/convert-color.ts b/src/common/color/convert-color.ts index 104c619555..b646d8e021 100644 --- a/src/common/color/convert-color.ts +++ b/src/common/color/convert-color.ts @@ -110,5 +110,19 @@ export const rgb2hsv = ( return [60 * (h < 0 ? h + 6 : h), v && c / v, v]; }; +export const hsv2rgb = ( + hsv: [number, number, number] +): [number, number, number] => { + const [h, s, v] = hsv; + const f = (n: number) => { + const k = (n + h / 60) % 6; + return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0); + }; + return [f(5), f(3), f(1)]; +}; + export const rgb2hs = (rgb: [number, number, number]): [number, number] => rgb2hsv(rgb).slice(0, 2) as [number, number]; + +export const hs2rgb = (hs: [number, number]): [number, number, number] => + hsv2rgb([hs[0], hs[1], 255]); diff --git a/src/components/ha-attributes.ts b/src/components/ha-attributes.ts index 59d4deaf58..e18910ef1d 100644 --- a/src/components/ha-attributes.ts +++ b/src/components/ha-attributes.ts @@ -27,13 +27,19 @@ class HaAttributes extends LitElement { return html``; } + const attributes = this.computeDisplayAttributes( + Object.keys(hassAttributeUtil.LOGIC_STATE_ATTRIBUTES).concat( + this.extraFilters ? this.extraFilters.split(",") : [] + ) + ); + if (attributes.length === 0) { + return html``; + } + return html` +
- ${this.computeDisplayAttributes( - Object.keys(hassAttributeUtil.LOGIC_STATE_ATTRIBUTES).concat( - this.extraFilters ? this.extraFilters.split(",") : [] - ) - ).map( + ${attributes.map( (attribute) => html`
${formatAttributeName(attribute)}
@@ -80,6 +86,11 @@ class HaAttributes extends LitElement { overflow-wrap: break-word; white-space: pre-line; } + hr { + border-color: var(--divider-color); + border-bottom: none; + margin: 16px 0; + } `, ]; } diff --git a/src/components/ha-color-picker.js b/src/components/ha-color-picker.js index 0a7f88d54a..e692ef3076 100644 --- a/src/components/ha-color-picker.js +++ b/src/components/ha-color-picker.js @@ -2,7 +2,7 @@ import { html } from "@polymer/polymer/lib/utils/html-tag"; /* eslint-plugin-disable lit */ import { PolymerElement } from "@polymer/polymer/polymer-element"; import { EventsMixin } from "../mixins/events-mixin"; -import { rgb2hs } from "../common/color/convert-color"; +import { hs2rgb, rgb2hs } from "../common/color/convert-color"; /** * Color-picker custom element * @@ -291,7 +291,13 @@ class HaColorPicker extends EventsMixin(PolymerElement) { processUserSelect(ev) { const canvasXY = this.convertToCanvasCoordinates(ev.clientX, ev.clientY); const hs = this.getColor(canvasXY.x, canvasXY.y); - const rgb = this.getRgbColor(canvasXY.x, canvasXY.y); + let rgb; + if (!this.isInWheel(canvasXY.x, canvasXY.y)) { + const [r, g, b] = hs2rgb([hs.h, hs.s]); + rgb = { r, g, b }; + } else { + rgb = this.getRgbColor(canvasXY.x, canvasXY.y); + } this.onColorSelect(hs, rgb); } diff --git a/src/dialogs/more-info/controls/more-info-automation.ts b/src/dialogs/more-info/controls/more-info-automation.ts index d71eb25b10..293b56f6ad 100644 --- a/src/dialogs/more-info/controls/more-info-automation.ts +++ b/src/dialogs/more-info/controls/more-info-automation.ts @@ -26,6 +26,7 @@ class MoreInfoAutomation extends LitElement { } return html` +
${this.hass.localize("ui.card.automation.last_triggered")}:
` : ""} + ${supportsTemp || supportsColor ? html`
` : ""} ${supportsTemp && supportsColor ? html` -
` : ""} ${supportsColor && (!supportsTemp || this._mode === "color") @@ -147,72 +146,66 @@ class MoreInfoLight extends LitElement { class="segmentationButton" >
- - ${ - supportsRgbw || supportsRgbww - ? html`` + : ""} + ${supportsRgbw + ? html` + ` - : "" - } - ${ - supportsRgbw - ? html` - - ` - : "" - } - ${ - supportsRgbww - ? html` - - - ` - : "" - } -
+ > + ` + : ""} + ${supportsRgbww + ? html` + + + ` + : ""} ` : ""} ${supportsFeature(this.stateObj, SUPPORT_EFFECT) && this.stateObj!.attributes.effect_list?.length ? html` +
@@ -261,6 +254,7 @@ class MoreInfoLight extends LitElement { } let brightnessAdjust = 100; + this._brightnessAdjusted = undefined; if ( stateObj.attributes.color_mode === LightColorModes.RGB && !lightSupportsColorMode(stateObj, LightColorModes.RGBWW) && @@ -271,8 +265,6 @@ class MoreInfoLight extends LitElement { this._brightnessAdjusted = maxVal; brightnessAdjust = (this._brightnessAdjusted / 255) * 100; } - } else { - this._brightnessAdjusted = undefined; } this._brightnessSliderValue = Math.round( (stateObj.attributes.brightness * brightnessAdjust) / 255 @@ -422,7 +414,7 @@ class MoreInfoLight extends LitElement { 255, ]) as [number, number, number]; - this._setRgbColor( + this._setRgbWColor( this._adjustColorBrightness( // first normalize the value this._colorBrightnessSliderValue @@ -464,7 +456,7 @@ class MoreInfoLight extends LitElement { return rgbColor; } - private _setRgbColor(rgbColor: [number, number, number]) { + private _setRgbWColor(rgbColor: [number, number, number]) { if (lightSupportsColorMode(this.stateObj!, LightColorModes.RGBWW)) { const rgbww_color: [number, number, number, number, number] = this .stateObj!.attributes.rgbww_color @@ -490,12 +482,17 @@ class MoreInfoLight extends LitElement { * Called when a new color has been picked. * should be throttled with the 'throttle=' attribute of the color picker */ - private _colorPicked(ev: CustomEvent) { + private _colorPicked( + ev: CustomEvent<{ + hs: { h: number; s: number }; + rgb: { r: number; g: number; b: number }; + }> + ) { if ( lightSupportsColorMode(this.stateObj!, LightColorModes.RGBWW) || lightSupportsColorMode(this.stateObj!, LightColorModes.RGBW) ) { - this._setRgbColor( + this._setRgbWColor( this._colorBrightnessSliderValue ? this._adjustColorBrightness( [ev.detail.rgb.r, ev.detail.rgb.g, ev.detail.rgb.b], @@ -504,10 +501,10 @@ class MoreInfoLight extends LitElement { : [ev.detail.rgb.r, ev.detail.rgb.g, ev.detail.rgb.b] ); } else if (lightSupportsColorMode(this.stateObj!, LightColorModes.RGB)) { - const rgb_color = [ev.detail.rgb.r, ev.detail.rgb.g, ev.detail.rgb.b] as [ - number, - number, - number + const rgb_color: [number, number, number] = [ + ev.detail.rgb.r, + ev.detail.rgb.g, + ev.detail.rgb.b, ]; if (this._brightnessAdjusted) { this.hass.callService("light", "turn_on", { @@ -567,7 +564,7 @@ class MoreInfoLight extends LitElement { } ha-button-toggle-group { - margin: 8px 0px; + margin-bottom: 8px; } ha-color-picker { @@ -592,7 +589,7 @@ class MoreInfoLight extends LitElement { hr { border-color: var(--divider-color); border-bottom: none; - margin: 8px 0; + margin: 16px 0; } `; } diff --git a/src/dialogs/more-info/controls/more-info-script.ts b/src/dialogs/more-info/controls/more-info-script.ts index 2f4b93eefe..1c364318b9 100644 --- a/src/dialogs/more-info/controls/more-info-script.ts +++ b/src/dialogs/more-info/controls/more-info-script.ts @@ -23,6 +23,7 @@ class MoreInfoScript extends LitElement { } return html` +
${this.hass.localize( @@ -47,6 +48,11 @@ class MoreInfoScript extends LitElement { display: flex; justify-content: space-between; } + hr { + border-color: var(--divider-color); + border-bottom: none; + margin: 16px 0; + } `; } } diff --git a/src/dialogs/more-info/controls/more-info-sun.ts b/src/dialogs/more-info/controls/more-info-sun.ts index ff20693f70..22904234d5 100644 --- a/src/dialogs/more-info/controls/more-info-sun.ts +++ b/src/dialogs/more-info/controls/more-info-sun.ts @@ -29,6 +29,7 @@ class MoreInfoSun extends LitElement { const order = risingDate > settingDate ? ["set", "ris"] : ["ris", "set"]; return html` +
${order.map( (item) => html`
@@ -82,6 +83,11 @@ class MoreInfoSun extends LitElement { ha-relative-time::first-letter { text-transform: lowercase; } + hr { + border-color: var(--divider-color); + border-bottom: none; + margin: 16px 0; + } `; } } diff --git a/src/dialogs/more-info/controls/more-info-water_heater.js b/src/dialogs/more-info/controls/more-info-water_heater.js index e17f264e67..0a8c006006 100644 --- a/src/dialogs/more-info/controls/more-info-water_heater.js +++ b/src/dialogs/more-info/controls/more-info-water_heater.js @@ -50,7 +50,6 @@ class MoreInfoWaterHeater extends LocalizeMixin(EventsMixin(PolymerElement)) { .single-row { padding: 8px 0; } - }
diff --git a/src/state/connection-mixin.ts b/src/state/connection-mixin.ts index 2d1c437117..cda1c797ec 100644 --- a/src/state/connection-mixin.ts +++ b/src/state/connection-mixin.ts @@ -84,7 +84,7 @@ export const connectionMixin = >( err.error?.code === ERR_CONNECTION_LOST && serviceCallWillDisconnect(domain, service) ) { - throw err; + return { context: { id: "" } }; } if (__DEV__) { // eslint-disable-next-line no-console diff --git a/translations/frontend/bg.json b/translations/frontend/bg.json index 973e350815..abb6379f7a 100644 --- a/translations/frontend/bg.json +++ b/translations/frontend/bg.json @@ -1170,7 +1170,8 @@ "caption": "Области", "data_table": { "area": "Област", - "devices": "Устройства" + "devices": "Устройства", + "entities": "Обекти" }, "delete": { "confirmation_text": "Всички устройства в тази област ще станат неназначени.", @@ -1181,6 +1182,7 @@ "create": "Създаване", "default_name": "Нова област", "delete": "Изтриване", + "linked_entities_caption": "Обекти", "name": "Име", "name_required": "Името е задължително", "unknown_error": "Неизвестна грешка", @@ -2012,7 +2014,7 @@ "disable_restart_confirm": "Рестартирайте Home Assistant за да завършите деактивирането на тази интеграция", "disable": { "disable_confirm": "Наистина ли искате да забраните този конфигурационен запис? Устройствата и обекти му ще бъдат деактивирани.", - "disabled": "Деактивиран", + "disabled": "Деактивирана", "disabled_by": { "device": "устройство", "integration": "интеграция", diff --git a/translations/frontend/ca.json b/translations/frontend/ca.json index 2d476a09ea..efa1660a2d 100644 --- a/translations/frontend/ca.json +++ b/translations/frontend/ca.json @@ -2246,6 +2246,7 @@ }, "finish": "Finalitza", "loading_first_time": "Espera mentre s'instal·la la integració", + "next": "Següent", "not_all_required_fields": "No s'han omplert tots els camps obligatoris.", "not_loaded": "No s'ha pogut carregar la integració, prova de reiniciar Home Assistant.", "pick_flow_step": { diff --git a/translations/frontend/cs.json b/translations/frontend/cs.json index 22b6381344..06d28ece51 100644 --- a/translations/frontend/cs.json +++ b/translations/frontend/cs.json @@ -561,9 +561,10 @@ }, "light": { "brightness": "Jas", + "color_brightness": "Jas barev", "color_temperature": "Teplota barvy", "effect": "Efekt", - "white_value": "Hodnota bílé" + "white_value": "Jas bílé" }, "lock": { "code": "Kód", @@ -886,6 +887,7 @@ } }, "service-control": { + "integration_doc": "Dokumentace integrace", "required": "Toto pole je povinné", "service_data": "Data služby", "target": "Cíle", @@ -1727,10 +1729,15 @@ "remote": { "access_is_being_prepared": "Připravuje se vzdálený přístup. Až bude připraven, dáme vám vědět.", "certificate_info": "Informace o certifikátu", + "connected": "Připojeno", "info": "Home Assistant Cloud poskytuje zabezpečené vzdálené připojení k vaší instanci zatímco jste mimo domov.", "instance_is_available": "Vaše instance je k dispozici na ", "instance_will_be_available": "Vaše instance bude k dispozici na", "link_learn_how_it_works": "Zjistěte, jak to funguje", + "not_connected": "Nepřipojeno", + "remote_enabled": { + "caption": "Automaticky se připojit" + }, "title": "Vzdálené ovládání" }, "sign_out": "Odhlásit se", @@ -2790,6 +2797,9 @@ "manufacturer_code_override": "Přepsání kódu výrobce", "value": "Hodnota" }, + "configuration_page": { + "update_button": "Aktualizovat nastavení" + }, "device_pairing_card": { "CONFIGURED": "Nastavení dokončeno", "CONFIGURED_status_text": "Inicializuji", @@ -3089,7 +3099,6 @@ "copy_id": "Zkopírovat ID do schránky", "current_entities": "Současné entity", "description1": "Nastavte stav zařízení v Home Assistant.", - "description2": "Stav skutečného zařízení se nezmění.", "entity": "Entita", "filter_attributes": "Filtrovat atributy", "filter_entities": "Filtrovat entity", diff --git a/translations/frontend/de.json b/translations/frontend/de.json index db5e23f2e8..d6b8f7e69e 100644 --- a/translations/frontend/de.json +++ b/translations/frontend/de.json @@ -710,7 +710,7 @@ "text": "Gib den Namen des neuen Bereichs ein.", "title": "Neuen Bereich hinzufügen" }, - "add_new": "Neuen Bereich hinzufügen...", + "add_new": "Neuen Bereich hinzufügen", "area": "Bereich", "clear": "Löschen", "no_areas": "Du hast keine Bereiche", @@ -1746,10 +1746,16 @@ "remote": { "access_is_being_prepared": "Der Fernzugriff wird vorbereitet. Wir werden dich benachrichtigen, wenn alles fertig ist.", "certificate_info": "Zertifikatsinformationen", + "connected": "Verbunden", "info": "Home Assistant Cloud bietet eine sichere Remote-Verbindung zu Ihrer Instanz, wenn Sie nicht zu Hause sind.", "instance_is_available": "Deine Instanz ist verfügbar unter", "instance_will_be_available": "Deine Instanz wird verfügbar sein unter", "link_learn_how_it_works": "Lerne, wie es funktioniert", + "not_connected": "Nicht verbunden", + "remote_enabled": { + "caption": "Automatisch verbinden", + "description": "Aktiviere diese Option um sicherzustellen dass deine Home Assistant Instanz immer aus der Ferne erreichbar ist." + }, "title": "Fernsteuerung" }, "sign_out": "Abmelden", @@ -2160,7 +2166,7 @@ "license": "Veröffentlicht unter der Apache 2.0 Lizenz", "path_configuration": "Pfad zu configuration.yaml: {path}", "server": "Server", - "setup_time": "Installationszeit", + "setup_time": "Setup-Dauer", "source": "Quelle:", "system_health_error": "System Health-Komponente wird nicht geladen. Füge 'system_health:' zu configuration.yaml hinzu", "system_health": { @@ -2206,7 +2212,7 @@ "logs": "Logs", "manuf": "von {manufacturer}", "no_area": "Kein Bereich", - "not_loaded": "Nicht geladen, prüfe die {logs_link}", + "not_loaded": "Nicht geladen", "options": "Optionen", "provided_by_custom_integration": "Bereitgestellt durch eine benutzerdefinierte Integration", "reload": "Neu laden", diff --git a/translations/frontend/el.json b/translations/frontend/el.json index 615f0b8308..82efeb2b5a 100644 --- a/translations/frontend/el.json +++ b/translations/frontend/el.json @@ -1341,7 +1341,7 @@ }, "while": { "conditions": "\"Μέχρι\" συνθήκες", - "label": "Μέχρι" + "label": "Όσο" } } }, @@ -1701,10 +1701,16 @@ "remote": { "access_is_being_prepared": "Η απομακρυσμένη πρόσβαση προετοιμάζεται. Θα σας ενημερώσουμε όταν είναι έτοιμη.", "certificate_info": "Πληροφορίες πιστοποιητικού", + "connected": "Συνδεδεμένο", "info": "Το Home Assistant Cloud παρέχει μια ασφαλή απομακρυσμένη σύνδεση στο ύπαρξή σας ενώ βρίσκεστε μακριά από το σπίτι.", "instance_is_available": "Η παρουσία σας είναι διαθέσιμη στο", "instance_will_be_available": "Η παρουσία σας θα είναι διαθέσιμη στο", "link_learn_how_it_works": "Μάθετε πώς λειτουργεί", + "not_connected": "Μη συνδεδεμένο", + "remote_enabled": { + "caption": "Αυτόματη σύνδεση", + "description": "Ενεργοποιήστε αυτήν την επιλογή για να βεβαιωθείτε ότι το Home Assistant είναι πάντα προσβάσιμο από το διαδίκτυο." + }, "title": "Τηλεχειριστήριο" }, "sign_out": "Αποσύνδεση", @@ -2147,6 +2153,7 @@ }, "finish": "Τέλος", "loading_first_time": "Παρακαλώ περιμένετε καθώς εγκαθίσταται η ενσωμάτωση", + "next": "Επόμενο", "not_all_required_fields": "Δε συμπληρώνονται όλα τα υποχρεωτικά πεδία.", "pick_flow_step": { "new_flow": "Όχι, ρυθμίστε μια άλλη παρουσία του {integration}", diff --git a/translations/frontend/en.json b/translations/frontend/en.json index fcbce548ea..0ac8bcae0e 100644 --- a/translations/frontend/en.json +++ b/translations/frontend/en.json @@ -2246,6 +2246,7 @@ }, "finish": "Finish", "loading_first_time": "Please wait while the integration is being installed", + "next": "Next", "not_all_required_fields": "Not all required fields are filled in.", "not_loaded": "The integration could not be loaded, try to restart Home Assistant.", "pick_flow_step": { diff --git a/translations/frontend/es.json b/translations/frontend/es.json index e38c8bb6d5..3133ee0b76 100644 --- a/translations/frontend/es.json +++ b/translations/frontend/es.json @@ -1744,7 +1744,7 @@ "nabu_casa_account": "Cuenta Nabu Casa", "not_connected": "No conectado", "remote": { - "access_is_being_prepared": "Se está preparando el acceso remoto. Te avisaremos cuando esté listo.", + "access_is_being_prepared": "Se está preparando el control remoto. Te avisaremos cuando esté listo.", "certificate_info": "Información del certificado", "connected": "Conectado", "info": "Home Assistant Cloud proporciona una conexión remota segura a tu instancia mientras estás fuera de casa.", @@ -1754,7 +1754,7 @@ "not_connected": "No conectado", "remote_enabled": { "caption": "Conectar automáticamente", - "description": "Habilite esta opción para asegurarse de que la instancia de Home Assistant siempre es accesible de forma remota." + "description": "Habilita esta opción para asegurarte de que tu instancia de Home Assistant está siempre accesible de forma remota." }, "title": "Control remoto" }, @@ -2246,6 +2246,7 @@ }, "finish": "Terminar", "loading_first_time": "Por favor, espera mientras la integración está siendo instalada", + "next": "Siguiente", "not_all_required_fields": "No se han completado todos los campos requeridos.", "not_loaded": "La integración no se ha podido cargar, intenta reiniciar Home Assistant.", "pick_flow_step": { diff --git a/translations/frontend/et.json b/translations/frontend/et.json index 10c1342c9f..f7542f1c1f 100644 --- a/translations/frontend/et.json +++ b/translations/frontend/et.json @@ -2246,6 +2246,7 @@ }, "finish": "Lõpeta", "loading_first_time": "Palun oodake kuni sidumist paigaldatakse", + "next": "Järgmine", "not_all_required_fields": "Kõik nõutavad väljad pole täidetud.", "not_loaded": "Sidumist ei õnnestunud laadida. Proovi taaskäivitada Home Assistant.", "pick_flow_step": { diff --git a/translations/frontend/he.json b/translations/frontend/he.json index a90af9161c..2d29099358 100644 --- a/translations/frontend/he.json +++ b/translations/frontend/he.json @@ -190,7 +190,9 @@ } }, "my": { - "error_addon_not_found": "התוסף לא נמצא" + "error": "שגיאה לא ידועה התרחשה", + "error_addon_not_found": "התוסף לא נמצא", + "faq_link": "שאלות ותשובות של Home Assistant" }, "snapshot": { "addons": "תוספים", @@ -199,6 +201,7 @@ "create": "צור", "create_blocked_not_running": "יצירת גיבוי אינה אפשרית כרגע מכיוון שהמערכת במצב {state} .", "create_snapshot": "צור גיבוי", + "description": "גיבויים מאפשרים לך לגבות ולשחזר בקלות את כל הנתונים של Home Assistant.", "enter_password": "נא הזן סיסמה.", "folder": { "addons/local": "תוספות מקומיות", @@ -220,11 +223,18 @@ "upload_snapshot": "טען גיבוי" }, "system": { + "core": { + "cpu_usage": "שימו ליבה ב CPU", + "ram_usage": "שימוש ליבה ב RAM" + }, "host": { + "change": "שינוי", "change_hostname": "שנה שם מכונה", "confirm_reboot": "האם אתה בטוח שאתה מעוניין לאתחל שרת מארח?", "confirm_shutdown": "האם אתה בטוח שאתה מעוניין לכבות שרת מארח?", + "deployment": "פריסה", "docker_version": "גרסת Docker", + "emmc_lifetime_used": "eMMC Lifetime בשימוש", "failed_to_get_hardware_list": "קבלת רשימת החומרה נכשלה", "failed_to_import_from_usb": "ייבוא מ- USB נכשל", "failed_to_reboot": "אתחול המכונה נכשל", @@ -240,16 +250,25 @@ "shutdown_host": "כבה שרת מארח", "used_space": "שטח בשימוש" }, + "log": { + "get_logs": "קבלת יומני רישום של {provider} נכשלה. {error}.", + "log_provider": "ספק יומן רישום" + }, "supervisor": { "beta_backup": "ודא שיש לך גיבויים של הנתונים לפני הפעלת תכונה זו.", "beta_join_confirm": "האם אתה רוצה להצטרף לערוץ הבטא?", "beta_release_items": "זה כולל גרסאות בטא עבור:", "beta_warning": "גרסאות בטא מיועדות לבודקים ומאמצים מוקדמים ויכולות להכיל שינויי קוד לא יציבים", "channel": "עָרוּץ", + "cpu_usage": "שימוש ב- CPU של ה Supervisor", + "failed_to_reload": "הטעינה מחדש של ה Supervisor נכשלה", + "failed_to_set_option": "הגדרת אפשרות ה Supervisor נכשלה", + "failed_to_update": "עדכון ה Supervisor נכשל", "join_beta_action": "הצטרף לערוץ בטא", "join_beta_description": "קבל עדכוני בטא עבור Home Assistant, Supervisor ומערכת ההפעלה", "leave_beta_action": "עזוב את ערוץ הבטא", "leave_beta_description": "קבל עדכונים יציבים עבור Home Assistant, Supervisor ומערכת ההפעלה", + "ram_usage": "שימוש ב- RAM של ה Supervisor", "reload_supervisor": "טען מחדש את ה Supervisor", "share_diagnostics": "שתף מידע אבחוני", "share_diagnostics_description": "שתף דוחות קריסה ומידע אבחוני.", @@ -279,6 +298,7 @@ "privileged": "ל Supervisor אין הרשאות", "systemd": "Systemd" }, + "unsupported_title": "אתה מפעיל התקנה שאינה נתמכת", "update_supervisor": "עדכן את ה Supervisor", "warning": "אזהרה" } @@ -352,8 +372,11 @@ }, "light": { "brightness": "בהירות", + "cold_white_value": "בהירות לבנה קרה", + "color_brightness": "בהירות צבע", "color_temperature": "טמפרטורת הצבע", "effect": "אפקט", + "warm_white_value": "בהירות לבנה חמה", "white_value": "לבן" }, "lock": { @@ -601,6 +624,7 @@ } }, "service-control": { + "integration_doc": "תיעוד אינטגרציה", "target_description": "אלה האיזורים, התקנים וישויות בהם ישתמש שירות זה" }, "service-picker": { @@ -821,7 +845,22 @@ } }, "zha_reconfigure_device": { - "heading": "מגדיר תצורה מחדש של המכשיר" + "attribute": "מאפיין", + "battery_device_warning": "יהיה עליך להעיר התקנים המופעלים באמצעות סוללה לפני שתתחיל בתהליך קביעת התצורה מחדש. עיין במדריך למשתמש של המכשיר לקבלת הוראות להעיר את ההתקן.", + "bind_header": "קישור", + "button_hide": "הסתר פרטים", + "button_show": "הצג פרטים", + "cluster_header": "אֶשׁכּוֹל", + "configuration_complete": "קביעת התצורה הושלמה", + "configuration_failed": "קביעת התצורה מחדש של ההתקן נכשלה. ייתכן שמידע נוסף יהיה זמין ביומני הרישום.", + "configuring_alt": "הגדרת תצורה", + "heading": "מגדיר תצורה מחדש של המכשיר", + "in_progress": "תצורת ההתקן נקבע, מחדש. פעולה זו עשויה להימשך זמן מה.", + "introduction": "קביעת תצורה מחדש של התקן ברשת Zigbee. השתמש בתכונה זו אם ההתקן שלך אינו פועל כראוי.", + "min_max_change": "מינימום/מקסימום/שינוי", + "reporting_header": "דיווח", + "run_in_background": "באפשרותך לסגור תיבת דו-שיח זו וקביעת התצורה מחדש תמשיך ברקע.", + "start_reconfiguration": "התחל קביעת תצורה מחדש" } }, "duration": { @@ -876,7 +915,8 @@ "caption": "מאגר האזורים", "data_table": { "area": "אזור", - "devices": "התקנים" + "devices": "התקנים", + "entities": "ישויות" }, "delete": { "confirmation_text": "כל ההתקנים באזור זה לא יהיו מוקצים.", @@ -888,8 +928,10 @@ "create": "צור", "default_name": "אזור חדש", "delete": "מחק", + "linked_entities_caption": "ישויות", "name": "שם", "name_required": "שם הוא חובה", + "no_linked_entities": "אין ישויות המקושרות לאזור זה.", "unknown_error": "שגיאה לא ידועה", "update": "עדכון" }, @@ -1294,10 +1336,16 @@ "remote": { "access_is_being_prepared": "מכינים גישה מרחוק. אנו נודיע לך כשזה יהיה מוכן.", "certificate_info": "פרטי התעודה", + "connected": "מחובר", "info": "ענן Home Assistant מספק חיבור מרוחק מאובטח למערכת שלך כשאתה רחוק מהבית.", "instance_is_available": "המופע שלך זמין ב", "instance_will_be_available": "המופע שלך יהיה זמין ב", "link_learn_how_it_works": "למד כיצד זה עובד", + "not_connected": "לא מחובר", + "remote_enabled": { + "caption": "התחבר אוטומטית", + "description": "אפשר אפשרות זו כדי לוודא שה- Home Assistant שלך תמיד נגיש מרחוק." + }, "title": "שליטה מרחוק" }, "sign_out": "התנתק", @@ -1678,6 +1726,7 @@ "license": "פורסם תחת רישיון Apache 2.0", "path_configuration": "נתיב ל - configuration.yaml: {path}", "server": "שרת", + "setup_time": "זמן התקנה", "source": "מקור:", "system_health_error": "רכיב ה System Health אינו טעון. הוסף 'system_health:' ל - configuration.yaml" }, @@ -1741,6 +1790,7 @@ }, "finish": "סיום", "loading_first_time": "אנא המתן בזמן שהאינטגרציה מותקנת", + "next": "הבא", "not_all_required_fields": "לא כל שדות החובה מולאו.", "not_loaded": "לא ניתן היה לטעון את האינטגרציה, נסה להפעיל מחדש את Home Assistant.", "submit": "המשך" @@ -2209,6 +2259,15 @@ "manufacturer_code_override": "עקיפת קוד יצרן", "value": "ערך" }, + "configuration_page": { + "shortcuts_title": "קיצורי דרך", + "update_button": "עדכן תצורה", + "zha_options": { + "default_light_transition": "זמן מעבר ברירת מחדל של האור (שניות)", + "enable_identify_on_join": "אפשר אפקט זיהוי כאשר מכשירים מצטרפים לרשת", + "title": "אפשרויות גלובליות" + } + }, "device_pairing_card": { "CONFIGURED": "קביעת התצורה הושלמה", "CONFIGURED_status_text": "מאתחל", @@ -2301,6 +2360,14 @@ "device_info": { "device_config": "הגדר את המכשיר" }, + "logs": { + "log_level": "רמת יומן", + "subscribed_to_logs": "הרשם כמנוי להודעות יומן Z-Wave JS ...", + "title": "יומני Z-Wave JS" + }, + "navigation": { + "logs": "יומנים" + }, "node_config": { "attribution": "פרמטרים ותיאורי תצורת המכשיר מסופקים על ידי {device_database}", "battery_device_notice": "התקני סוללה חייבים להיות ערים כדי לעדכן את תצורתם. נא עיין במדריך למשתמש לקבלת הוראות כיצד להעיר את ההתקן.", @@ -2308,7 +2375,20 @@ "header": "תצורת מכשיר Z-Wave", "introduction": "נהל והתאם פרמטרי תצורה ספציפיים למכשיר (צומת) עבור ההתקן שנבחר", "parameter_is_read_only": "פרמטר זה מוגדר לקריאה בלבד.", + "set_param_accepted": "הפרמטר עודכן.", + "set_param_error": "אירעה שגיאה.", + "set_param_queued": "שינוי הפרמטר נכנס לתור ויעודכן כאשר ההתקן יתעורר.", "zwave_js_device_database": "מאגר התקני Z-Wave JS" + }, + "reinterview_node": { + "battery_device_warning": "יהיה עליך להעיר התקנים המופעלים באמצעות סוללה לפני שתתחיל בראיון מחדש. עיין במדריך למשתמש של המכשיר לקבלת הוראות להעיר את ההתקן.", + "in_progress": "המכשיר מתראיין. זה עלול לקחת זמן מה.", + "interview_complete": "ראיון המכשיר הושלם.", + "interview_failed": "ראיון המכשיר נכשל. מידע נוסף עשוי להיות זמין ביומנים.", + "introduction": "ראיינו מחדש מכשיר ברשת Z-Wave שלכם. השתמש בתכונה זו אם הפונקציונליות של ההתקן שלך חסרה או שגויה.", + "run_in_background": "ניתן לסגור תיבת דו-שיח זו והראיון יימשך ברקע.", + "start_reinterview": "מתחיל ראיון מחדש", + "title": "ראיון מחדש של התקן Z-Wave" } }, "zwave": { diff --git a/translations/frontend/nb.json b/translations/frontend/nb.json index b4bb7eb2fc..d915fffaba 100644 --- a/translations/frontend/nb.json +++ b/translations/frontend/nb.json @@ -1198,11 +1198,20 @@ }, "zha_reconfigure_device": { "attribute": "Attributt", + "battery_device_warning": "Du må vekke batteridrevne enheter før du starter omkonfigureringsprosessen. Se enhetens håndbok for instruksjoner om hvordan du vekker enheten.", + "bind_header": "Bindende", "button_hide": "Skjul detaljer", "button_show": "Vis detaljer", + "cluster_header": "Klynge", + "configuration_complete": "Enhetskonfigurering fullført.", + "configuration_failed": "Enhetskonfigurasjonen mislyktes. Ytterligere informasjon kan være tilgjengelig i loggene.", "configuring_alt": "Konfigurerer", "heading": "Konfigurerer enheten på nytt", + "in_progress": "Enheten konfigureres på nytt. Dette kan ta litt tid.", + "introduction": "Konfigurer en enhet på nytt på Zigbee-nettverket. Bruk denne funksjonen hvis enheten ikke fungerer som den skal.", + "min_max_change": "min./maks./endring", "reporting_header": "Rapportering", + "run_in_background": "Du kan lukke denne dialogen, og omkonfigurasjonen vil fortsette i bakgrunnen.", "start_reconfiguration": "Start rekonfigurasjon" } }, @@ -1282,6 +1291,7 @@ "linked_entities_caption": "Entiteter", "name": "Navn", "name_required": "Navn er påkrevd", + "no_linked_entities": "Det er ingen enheter knyttet til dette området.", "unknown_error": "Ukjent feil", "update": "Oppdater" }, @@ -1734,7 +1744,7 @@ "nabu_casa_account": "Nabu Casa konto", "not_connected": "Ikke tilkoblet", "remote": { - "access_is_being_prepared": "Ekstern tilgang forberedes. Vi vil varsle deg når den er klar.", + "access_is_being_prepared": "Fjernkontroll forberedes. Vi vil varsle deg når den er klar.", "certificate_info": "Sertifikatinformasjon", "connected": "Tilkoblet", "info": "Home Assistant Cloud gir en sikker ekstern tilkobling til forekomsten din mens du er borte fra hjemmet.", @@ -1743,7 +1753,8 @@ "link_learn_how_it_works": "Lær hvordan det fungerer", "not_connected": "Ikke tilkoblet", "remote_enabled": { - "caption": "Koble til automatisk" + "caption": "Koble til automatisk", + "description": "Aktiver dette alternativet for å sikre at Home Assistant-forekomsten alltid er eksternt tilgjengelig." }, "title": "Fjernkontroll" }, @@ -2155,6 +2166,7 @@ "license": "Publisert under Apache 2.0-lisensen", "path_configuration": "Bane til configuration.yaml: {path}", "server": "core", + "setup_time": "Oppsettstid", "source": "Kilder:", "system_health_error": "System tilstand komponenten er ikke lastet inn. Legg til 'system_health:' i configuration.yaml", "system_health": { @@ -2937,6 +2949,11 @@ "node_status": "Node status", "zwave_info": "Z-Wave Informasjon" }, + "logs": { + "log_level": "Loggnivå", + "subscribed_to_logs": "Abonnerer på Z-Wave JS-loggmeldinger ...", + "title": "Z-Wave JS-logger" + }, "navigation": { "logs": "Logger", "network": "Nettverk" diff --git a/translations/frontend/nl.json b/translations/frontend/nl.json index 7fd95893b4..42aa767972 100644 --- a/translations/frontend/nl.json +++ b/translations/frontend/nl.json @@ -1208,7 +1208,7 @@ "configuring_alt": "Configureren", "heading": "Apparaat opnieuw configureren", "in_progress": "Het apparaat wordt opnieuw geconfigureerd. Dit kan wat tijd kosten.", - "introduction": "Herconfigureer een apparaat op je Zigbee netwerk. Gebruik deze functie als uw apparaat niet correct functioneert.", + "introduction": "Herconfigureer een apparaat op uw Zigbee netwerk. Gebruik deze functie als uw apparaat niet correct functioneert.", "min_max_change": "min/max/verandering", "reporting_header": "Rapporteren", "run_in_background": "U kunt dit dialoogvenster sluiten en de herconfiguratie wordt op de achtergrond voortgezet.", @@ -1746,10 +1746,16 @@ "remote": { "access_is_being_prepared": "Toegang op afstand wordt voorbereid. We zullen u op de hoogte brengen wanneer het klaar is.", "certificate_info": "Certificaatinfo", + "connected": "Verbonden", "info": "Home Assistant Cloud biedt een veilige externe verbinding met uw exemplaar terwijl u niet thuis bent.", "instance_is_available": "Uw exemplaar is beschikbaar op", "instance_will_be_available": "Uw exemplaar zal beschikbaar zijn op", "link_learn_how_it_works": "Leer hoe het werkt", + "not_connected": "Niet verbonden", + "remote_enabled": { + "caption": "Automatisch verbinden", + "description": "Schakel deze optie in om ervoor te zorgen dat uw Home Assistant instantie altijd op afstand toegankelijk is." + }, "title": "Afstand Bediening" }, "sign_out": "Afmelden", @@ -1855,7 +1861,7 @@ "password": "Wachtwoord", "password_error_msg": "Wachtwoorden moeten uit ten minste 8 tekens bestaan", "sign_in": "Aanmelden", - "start_trial": "Start je gratis proefperiode van 1 maand", + "start_trial": "Start uw gratis proefperiode van 1 maand", "title": "Cloud aanmelding", "trial_info": "Geen betalingsinformatie nodig" }, @@ -1868,7 +1874,7 @@ "feature_google_home": "Integratie met Google Assistent", "feature_remote_control": "Beheer van Home Assistant van buitenaf", "feature_webhook_apps": "Eenvoudige integratie met webhook gebaseerde apps zoals OwnTracks", - "headline": "Start je gratis proefperiode", + "headline": "Start uw gratis proefperiode", "information": "Maak een account om uw gratis proefperiode van een maand te starten met Home Assistant Cloud. Geen betalingsinformatie nodig.", "information2": "De proefversie geeft u toegang tot alle voordelen van Home Assistant Cloud, waaronder:", "information3": "Deze service wordt uitgevoerd door onze partner", @@ -2240,6 +2246,7 @@ }, "finish": "Voltooien", "loading_first_time": "Even geduld a.u.b. terwijl de integratie wordt geïnstalleerd", + "next": "Volgende", "not_all_required_fields": "Niet alle verplichte velden zijn ingevuld.", "not_loaded": "De integratie kan niet worden geladen, probeer Home Assistant opnieuw te starten.", "pick_flow_step": { @@ -2275,7 +2282,7 @@ "integration": "integratie", "integration_not_found": "Integratie niet gevonden.", "new": "Stel een nieuwe integratie in", - "no_integrations": "Het lijkt erop dat je nog geen integraties hebt geconfigureerd. Klik op de knop hieronder om uw eerste integratie toe te voegen!", + "no_integrations": "Het lijkt erop dat u nog geen integraties heeft geconfigureerd. Klik op de knop hieronder om uw eerste integratie toe te voegen!", "none": "Er is nog niets geconfigureerd", "none_found": "Geen integraties gevonden", "none_found_detail": "Pas uw zoekcriteria aan.", @@ -2683,7 +2690,7 @@ "confirm_restart": "Weet je zeker dat je Home Assistant opnieuw wilt starten?", "confirm_stop": "Weet je zeker dat je Home Assistant wilt afsluiten?", "heading": "Serverbeheer", - "introduction": "Beheer je Home Assistant-server... vanuit Home Assistant.", + "introduction": "Beheer uw Home Assistant-server... vanuit Home Assistant.", "restart": "Herstarten", "stop": "Stop" }, diff --git a/translations/frontend/pl.json b/translations/frontend/pl.json index e2c1ccefdc..a365c7e119 100644 --- a/translations/frontend/pl.json +++ b/translations/frontend/pl.json @@ -1746,10 +1746,16 @@ "remote": { "access_is_being_prepared": "Trwa przygotowywanie dostępu zdalnego. Powiadomimy Cię, gdy będzie gotowy.", "certificate_info": "Informacje o certyfikacie", + "connected": "Połączono", "info": "Chmura Home Assistant umożliwia bezpieczny zdalny dostęp do instancji Home Assistanta z dala od domu.", "instance_is_available": "Twoja instancja jest dostępna pod adresem", "instance_will_be_available": "Twoja instancja będzie dostępna pod adresem", "link_learn_how_it_works": "Dowiedz się, jak to działa", + "not_connected": "Brak połączenia", + "remote_enabled": { + "caption": "Połącz automatycznie", + "description": "Włącz tę opcję, aby mieć pewność, że ta instancja Home Assistant jest zawsze dostępna zdalnie." + }, "title": "Dostęp zdalny" }, "sign_out": "Wyloguj", @@ -2240,6 +2246,7 @@ }, "finish": "Zakończ", "loading_first_time": "Proszę czekać, trwa instalowanie integracji...", + "next": "Dalej", "not_all_required_fields": "Nie wszystkie wymagane pola są wypełnione.", "not_loaded": "Nie udało się wczytać integracji, spróbuj ponownie uruchomić Home Assistanta.", "pick_flow_step": { diff --git a/translations/frontend/ru.json b/translations/frontend/ru.json index 99fcc62c57..c2ad66a3de 100644 --- a/translations/frontend/ru.json +++ b/translations/frontend/ru.json @@ -2246,6 +2246,7 @@ }, "finish": "Готово", "loading_first_time": "Идет установка интеграции, пожалуйста, подождите", + "next": "Далее", "not_all_required_fields": "Не все обязательные поля заполнены.", "not_loaded": "Не удалось загрузить интеграцию, попробуйте перезапустить Home Assistant.", "pick_flow_step": { @@ -3876,7 +3877,7 @@ }, "profile": { "advanced_mode": { - "description": "Открывает дополнительные возможности для настройки.", + "description": "Разблокирует дополнительные возможности для настройки.", "link_promo": "Узнать больше", "title": "Расширенный режим" }, diff --git a/translations/frontend/zh-Hant.json b/translations/frontend/zh-Hant.json index c5d1f936d8..d916ccf291 100644 --- a/translations/frontend/zh-Hant.json +++ b/translations/frontend/zh-Hant.json @@ -1744,12 +1744,18 @@ "nabu_casa_account": "Nabu Casa 帳號", "not_connected": "未連線", "remote": { - "access_is_being_prepared": "遠端登入準備中,會於就緒時通知您。", + "access_is_being_prepared": "遠端控制準備中,會於就緒時通知您。", "certificate_info": "認證資訊", + "connected": "已連線", "info": "Home Assistant Cloud 雲服務提供您離家時、遠端加密連線控制。", "instance_is_available": "您的裝置可透過下方連結使用", "instance_will_be_available": "您的裝置將可透過下方連結使用", "link_learn_how_it_works": "了解如何運作", + "not_connected": "未連線", + "remote_enabled": { + "caption": "自動連線", + "description": "開啟此選項以確定 Home Assistant 保持遠端存取功能。" + }, "title": "遠端控制" }, "sign_out": "登出",