Merge branch 'dev' into RTL-changes

This commit is contained in:
Bram Kragten 2020-07-07 09:25:02 +02:00 committed by GitHub
commit e2f753eaa7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 333 additions and 44 deletions

View File

@ -71,7 +71,7 @@ class HassioAddonNetwork extends LitElement {
<paper-input
@value-changed=${this._configChanged}
placeholder="disabled"
.value=${String(item.host)}
.value=${item.host ? String(item.host) : ""}
.container=${item.container}
no-label-float
></paper-input>

View File

@ -22,6 +22,8 @@ const _load = (
(element as HTMLScriptElement).async = true;
if (type) {
(element as HTMLScriptElement).type = type;
// https://github.com/home-assistant/frontend/pull/6328
(element as HTMLScriptElement).crossOrigin = "use-credentials";
}
break;
case "link":

View File

@ -604,10 +604,8 @@ export class HaDataTable extends LitElement {
padding-right: 0;
width: 56px;
}
[dir="rtl"] .mdc-data-table__header-cell--checkbox,
.mdc-data-table__header-cell--checkbox[dir="rtl"],
[dir="rtl"] .mdc-data-table__cell--checkbox,
.mdc-data-table__cell--checkbox[dir="rtl"] {
:host([dir="rtl"]) .mdc-data-table__header-cell--checkbox,
:host([dir="rtl"]) .mdc-data-table__cell--checkbox {
/* @noflip */
padding-left: 0;
/* @noflip */
@ -641,8 +639,7 @@ export class HaDataTable extends LitElement {
.mdc-data-table__cell--numeric {
text-align: right;
}
[dir="rtl"] .mdc-data-table__cell--numeric,
.mdc-data-table__cell--numeric[dir="rtl"] {
:host([dir="rtl"]) .mdc-data-table__cell--numeric {
/* @noflip */
text-align: left;
}
@ -660,18 +657,33 @@ export class HaDataTable extends LitElement {
.mdc-data-table__header-cell.mdc-data-table__header-cell--icon {
text-align: center;
}
.mdc-data-table__header-cell.sortable.mdc-data-table__header-cell--icon:hover,
.mdc-data-table__header-cell.sortable.mdc-data-table__header-cell--icon:not(.not-sorted) {
text-align: left;
}
:host([dir="rtl"])
.mdc-data-table__header-cell.sortable.mdc-data-table__header-cell--icon:hover,
:host([dir="rtl"])
.mdc-data-table__header-cell.sortable.mdc-data-table__header-cell--icon:not(.not-sorted) {
text-align: right;
}
.mdc-data-table__cell--icon:first-child ha-icon {
margin-left: 8px;
}
:host([dir="rtl"]) .mdc-data-table__cell--icon:first-child ha-icon {
margin-left: auto;
margin-right: 8px;
}
.mdc-data-table__cell--icon:first-child state-badge {
margin-right: -8px;
}
:host([dir="rtl"]) .mdc-data-table__cell--icon:first-child state-badge {
margin-right: auto;
margin-left: -8px;
}
.mdc-data-table__header-cell--icon-button,
.mdc-data-table__cell--icon-button {
@ -689,12 +701,22 @@ export class HaDataTable extends LitElement {
width: 64px;
padding-left: 16px;
}
:host([dir="rtl"]) .mdc-data-table__header-cell--icon-button:first-child,
:host([dir="rtl"]) .mdc-data-table__cell--icon-button:first-child {
padding-left: auto;
padding-right: 16px;
}
.mdc-data-table__header-cell--icon-button:last-child,
.mdc-data-table__cell--icon-button:last-child {
width: 64px;
padding-right: 16px;
}
:host([dir="rtl"]) .mdc-data-table__header-cell--icon-button:last-child,
:host([dir="rtl"]) .mdc-data-table__cell--icon-button:last-child {
padding-right: auto;
padding-left: 16px;
}
.mdc-data-table__cell--icon-button a {
color: var(--secondary-text-color);
@ -712,8 +734,7 @@ export class HaDataTable extends LitElement {
text-transform: inherit;
text-align: left;
}
[dir="rtl"] .mdc-data-table__header-cell,
.mdc-data-table__header-cell[dir="rtl"] {
:host([dir="rtl"]) .mdc-data-table__header-cell {
/* @noflip */
text-align: right;
}
@ -725,11 +746,15 @@ export class HaDataTable extends LitElement {
.mdc-data-table__header-cell--numeric.sortable:not(.not-sorted) {
text-align: left;
}
[dir="rtl"] .mdc-data-table__header-cell--numeric,
.mdc-data-table__header-cell--numeric[dir="rtl"] {
:host([dir="rtl"]) .mdc-data-table__header-cell--numeric {
/* @noflip */
text-align: left;
}
:host([dir="rtl"]) .mdc-data-table__header-cell--numeric.sortable:hover,
:host([dir="rtl"])
.mdc-data-table__header-cell--numeric.sortable:not(.not-sorted) {
text-align: right;
}
/* custom from here */
@ -750,6 +775,10 @@ export class HaDataTable extends LitElement {
position: relative;
left: 0px;
}
:host([dir="rtl"]) .mdc-data-table__header-cell span {
left: auto;
right: 0px;
}
.mdc-data-table__header-cell.sortable {
cursor: pointer;
@ -757,6 +786,9 @@ export class HaDataTable extends LitElement {
.mdc-data-table__header-cell > * {
transition: left 0.2s ease;
}
:host([dir="rtl"]) .mdc-data-table__header-cell > * {
transition: right 0.2s ease;
}
.mdc-data-table__header-cell ha-icon {
top: -3px;
position: absolute;
@ -764,14 +796,35 @@ export class HaDataTable extends LitElement {
.mdc-data-table__header-cell.not-sorted ha-icon {
left: -20px;
}
:host([dir="rtl"]) .mdc-data-table__header-cell.not-sorted ha-icon {
right: -20px;
}
.mdc-data-table__header-cell.sortable:not(.not-sorted) span,
.mdc-data-table__header-cell.sortable.not-sorted:hover span {
left: 24px;
}
:host([dir="rtl"])
.mdc-data-table__header-cell.sortable:not(.not-sorted)
span,
:host([dir="rtl"])
.mdc-data-table__header-cell.sortable.not-sorted:hover
span {
left: auto;
right: 24px;
}
.mdc-data-table__header-cell.sortable:not(.not-sorted) ha-icon,
.mdc-data-table__header-cell.sortable:hover.not-sorted ha-icon {
left: 12px;
}
:host([dir="rtl"])
.mdc-data-table__header-cell.sortable:not(.not-sorted)
ha-icon,
:host([dir="rtl"])
.mdc-data-table__header-cell.sortable:hover.not-sorted
ha-icon {
left: auto;
right: 12px;
}
.table-header {
border-bottom: 1px solid rgba(var(--rgb-primary-text-color), 0.12);
padding: 0 16px;

View File

@ -40,7 +40,7 @@ export class HaDialog extends MwcDialog {
display: block;
height: 20px;
}
.mdc-dialog__content {
.mdc-dialog .mdc-dialog__content {
padding: var(--dialog-content-padding, 20px 24px);
}
.header_button {

View File

@ -0,0 +1,47 @@
import {
customElement,
html,
LitElement,
property,
TemplateResult,
CSSResult,
css,
PropertyValues,
} from "lit-element";
import { HaFormElement, HaFormConstantSchema } from "./ha-form";
import { fireEvent } from "../../common/dom/fire_event";
@customElement("ha-form-constant")
export class HaFormConstant extends LitElement implements HaFormElement {
@property({ attribute: false }) public schema!: HaFormConstantSchema;
@property() public label!: string;
protected firstUpdated(changedProps: PropertyValues) {
super.firstUpdated(changedProps);
fireEvent(this, "value-changed", {
value: this.schema.value,
});
}
protected render(): TemplateResult {
return html`<span class="label">${this.label}</span>: ${this.schema.value}`;
}
static get styles(): CSSResult {
return css`
:host {
display: block;
}
.label {
font-weight: 500;
}
`;
}
}
declare global {
interface HTMLElementTagNameMap {
"ha-form-constant": HaFormConstant;
}
}

View File

@ -15,8 +15,10 @@ import "./ha-form-multi_select";
import "./ha-form-positive_time_period_dict";
import "./ha-form-select";
import "./ha-form-string";
import "./ha-form-constant";
export type HaFormSchema =
| HaFormConstantSchema
| HaFormStringSchema
| HaFormIntegerSchema
| HaFormFloatSchema
@ -33,6 +35,11 @@ export interface HaFormBaseSchema {
description?: { suffix?: string; suggested_value?: HaFormData };
}
export interface HaFormConstantSchema extends HaFormBaseSchema {
type: "constant";
value: string;
}
export interface HaFormIntegerSchema extends HaFormBaseSchema {
type: "integer";
default?: HaFormIntegerData;

View File

@ -20,6 +20,7 @@ import type {
import type { HomeAssistant, Route } from "../types";
import "./hass-tabs-subpage";
import type { PageNavigation } from "./hass-tabs-subpage";
import { computeRTLDirection } from "../common/util/compute_rtl";
@customElement("hass-tabs-subpage-data-table")
export class HaTabsSubpageDataTable extends LitElement {
@ -158,6 +159,7 @@ export class HaTabsSubpageDataTable extends LitElement {
.hasFab=${this.hasFab}
.id=${this.id}
.noDataText=${this.noDataText}
.dir=${computeRTLDirection(this.hass)}
>
${!this.narrow
? html`

View File

@ -16,6 +16,7 @@ import "../../../../../components/entity/ha-state-icon";
import type { Cluster } from "../../../../../data/zha";
import type { HomeAssistant } from "../../../../../types";
import { formatAsPaddedHex } from "./functions";
import { computeRTLDirection } from "../../../../../common/util/compute_rtl";
export interface ClusterRowData extends Cluster {
cluster?: Cluster;
@ -91,6 +92,7 @@ export class ZHAClustersDataTable extends LitElement {
.id=${"cluster_id"}
selectable
auto-height
.dir=${computeRTLDirection(this.hass)}
></ha-data-table>
`;
}

View File

@ -21,6 +21,7 @@ import type {
ZHAEntityReference,
} from "../../../../../data/zha";
import type { HomeAssistant } from "../../../../../types";
import { computeRTLDirection } from "../../../../../common/util/compute_rtl";
export interface DeviceEndpointRowData extends DataTableRowData {
id: string;
@ -147,6 +148,7 @@ export class ZHADeviceEndpointDataTable extends LitElement {
.data=${this._deviceEndpoints(this.deviceEndpoints)}
.selectable=${this.selectable}
auto-height
.dir=${computeRTLDirection(this.hass)}
></ha-data-table>
`;
}

View File

@ -7,9 +7,10 @@ import { PolymerElement } from "@polymer/polymer/polymer-element";
import { computeStateName } from "../../../../../common/entity/compute_state_name";
import "../../../../../components/buttons/ha-call-service-button";
import "../../../../../components/ha-card";
import LocalizeMixin from "../../../../../mixins/localize-mixin";
import "../../../../../styles/polymer-ha-style";
class ZwaveGroups extends PolymerElement {
class ZwaveGroups extends LocalizeMixin(PolymerElement) {
static get template() {
return html`
<style include="iron-flex ha-style">

View File

@ -7,9 +7,10 @@ import { html } from "@polymer/polymer/lib/utils/html-tag";
import { PolymerElement } from "@polymer/polymer/polymer-element";
import "../../../../../components/buttons/ha-call-api-button";
import "../../../../../components/ha-card";
import LocalizeMixin from "../../../../../mixins/localize-mixin";
import "../../../../../styles/polymer-ha-style";
class ZwaveNodeProtection extends PolymerElement {
class ZwaveNodeProtection extends LocalizeMixin(PolymerElement) {
static get template() {
return html`
<style include="iron-flex ha-style">

View File

@ -18,6 +18,7 @@ import {
import { HomeAssistant } from "../../types";
import { haStyle } from "../../resources/styles";
import { fetchUsers } from "../../data/user";
import { fetchPersons } from "../../data/person";
import {
clearLogbookCache,
getLogbookData,
@ -132,7 +133,7 @@ export class HaPanelLogbook extends LitElement {
super.firstUpdated(changedProps);
this.hass.loadBackendTranslation("title");
this._fetchUserDone = this._fetchUsers();
this._fetchUserDone = this._fetchUserNames();
const today = new Date();
today.setHours(0, 0, 0, 0);
@ -197,13 +198,38 @@ export class HaPanelLogbook extends LitElement {
}
}
private async _fetchUsers() {
const users = await fetchUsers(this.hass);
const userid_to_name = {};
users.forEach((user) => {
userid_to_name[user.id] = user.name;
});
this._userIdToName = userid_to_name;
private async _fetchUserNames() {
const userIdToName = {};
// Start loading all the data
const personProm = fetchPersons(this.hass);
const userProm = this.hass.user!.is_admin && fetchUsers(this.hass);
// Process persons
const persons = await personProm;
for (const person of persons.storage) {
if (person.user_id) {
userIdToName[person.user_id] = person.name;
}
}
for (const person of persons.config) {
if (person.user_id) {
userIdToName[person.user_id] = person.name;
}
}
// Process users
if (userProm) {
const users = await userProm;
for (const user of users) {
if (!(user.id in userIdToName)) {
userIdToName[user.id] = user.name;
}
}
}
this._userIdToName = userIdToName;
}
private _dateRangeChanged(ev) {

View File

@ -14,7 +14,10 @@ import memoizeOne from "memoize-one";
import { fireEvent, HASSDomEvent } from "../../../../common/dom/fire_event";
import { computeDomain } from "../../../../common/entity/compute_domain";
import { computeStateName } from "../../../../common/entity/compute_state_name";
import { computeRTL } from "../../../../common/util/compute_rtl";
import {
computeRTL,
computeRTLDirection,
} from "../../../../common/util/compute_rtl";
import "../../../../components/data-table/ha-data-table";
import type {
DataTableColumnContainer,
@ -171,6 +174,7 @@ export class HuiUnusedEntities extends LitElement {
.id=${"entity_id"}
selectable
@selection-changed=${this._handleSelectionChanged}
.dir=${computeRTLDirection(this.hass)}
></ha-data-table>
${this._selectedEntities.length

View File

@ -48,6 +48,19 @@
"none": "Keine",
"sleep": "Schlafen"
}
},
"humidifier": {
"mode": {
"auto": "Automatisch",
"away": "Abwesend",
"baby": "Baby",
"boost": "Boost",
"comfort": "Komfort",
"eco": "Eco",
"home": "Zu Hause",
"normal": "Normal",
"sleep": "Schlafen"
}
}
},
"state_badge": {
@ -388,6 +401,12 @@
"reverse": "Rückwärts",
"speed": "Geschwindigkeit"
},
"humidifier": {
"humidity": "Soll-Luftfeuchtigkeit",
"mode": "Modus",
"on_entity": "{name} eingeschaltet",
"target_humidity_entity": "{name} Soll-Luftfeuchtigkeit"
},
"light": {
"brightness": "Helligkeit",
"color_temperature": "Farbtemperatur",
@ -483,6 +502,7 @@
"menu": "Menü",
"next": "Weiter",
"no": "Nein",
"overflow_menu": "Überlauf-Menü",
"previous": "Vorher",
"refresh": "Aktualisieren",
"save": "Speichern",
@ -505,6 +525,11 @@
"clear": "Löschen",
"show_areas": "Bereiche anzeigen"
},
"date-range-picker": {
"end_date": "Enddatum",
"select": "Auswählen",
"start_date": "Anfangsdatum"
},
"device-picker": {
"clear": "Löschen",
"device": "Gerät",
@ -694,6 +719,7 @@
"zha_device_info": {
"buttons": {
"add": "Geräte über dieses Gerät hinzufügen",
"clusters": "Cluster verwalten",
"reconfigure": "Gerät neu konfigurieren",
"remove": "Gerät entfernen",
"zigbee_information": "ZigBee-Gerätesignatur"
@ -1390,6 +1416,11 @@
"system_health_error": "System Health-Komponente wird nicht geladen. Füge 'system_health:' zu configuration.yaml hinzu",
"title": "Info"
},
"integration_panel_move": {
"link_integration_page": "Integrationsseite",
"missing_zha": "Vermissen Sie das ZHA-Konfigurationspanel? Es wurde in den ZHA-Eintrag auf der {integrations_page} verschoben.",
"missing_zwave": "Vermissen Sie das Z-Wave-Konfigurationspanel? Es wurde in den Z-Wave-Eintrag auf der {integrations_page} verschoben."
},
"integrations": {
"add_integration": "Integration hinzufügen",
"caption": "Integrationen",
@ -1400,6 +1431,7 @@
"delete_confirm": "Möchtest du diese Integration wirklich löschen?",
"device_unavailable": "Gerät nicht verfügbar",
"devices": "{count} {count, plural,\n one {Gerät}\n other {Geräte}\n}",
"documentation": "Dokumentation",
"entities": "{count} {count, plural,\none {Entität}\nother {Entitäten}\n}",
"entity_unavailable": "Entität nicht verfügbar",
"firmware": "Firmware: {version}",
@ -1552,6 +1584,7 @@
}
},
"mqtt": {
"button": "Konfigurieren",
"description_listen": "Auf einen Topic hören",
"description_publish": "Ein Paket veröffentlichen",
"listening_to": "Anhören von",
@ -1672,6 +1705,11 @@
"core": "Ort & Anpassungen neu laden",
"group": "Gruppen neu laden",
"heading": "Neuladen der YAML-Konfiguration",
"input_boolean": "Eingabe-Booleans neu laden",
"input_datetime": "Eingabe-Datums- und Zeitfelder neu laden",
"input_number": "Eingabenummern neu laden",
"input_select": "Eingabe-Auswahl neu laden",
"input_text": "Eingabetexte neu laden",
"introduction": "Einige Komponenten von Home Assistant können ohne einen Neustart neu geladen werden. \"Neu laden\" entlädt dabei die aktuelle Konfiguration und lädt die neue Konfiguration.",
"person": "Personen neu laden",
"scene": "Szenen neu laden",
@ -2024,11 +2062,23 @@
},
"history": {
"period": "Zeitraum",
"ranges": {
"last_week": "Letzte Woche",
"this_week": "Diese Woche",
"today": "Heute",
"yesterday": "Gestern"
},
"showing_entries": "Zeige Einträge für"
},
"logbook": {
"entries_not_found": "Keine Logbucheinträge gefunden.",
"period": "Zeitraum",
"ranges": {
"last_week": "Letzte Woche",
"this_week": "Diese Woche",
"today": "Heute",
"yesterday": "Gestern"
},
"showing_entries": "Zeige Einträge für"
},
"lovelace": {
@ -2168,6 +2218,10 @@
"description": "Mit der Karte \"Horizontaler Stapel\" kannst du mehrere Karten so gruppieren, dass sie immer nebeneinander sitzen und gemeinsam die Breite einer Spalte einnehmen.",
"name": "Horizontaler Stapel"
},
"humidifier": {
"description": "Die Luftbefeuchter-Karte gibt dir die Kontrolle über deine Luftbefeuchter-Entität. Sie ermöglicht es dir, die Luftfeuchtigkeit und den Modus der Entität zu ändern.",
"name": "Luftbefeuchter"
},
"iframe": {
"description": "Mit der Webseiten-Karte kannst du deine Lieblingswebseite direkt in Home Assistant einbetten.",
"name": "Webseite"
@ -2624,6 +2678,10 @@
"not_used": "Wurde noch nie benutzt",
"token_title": "Aktualisierungs-Token für {clientId}"
},
"suspend": {
"description": "Sollen wir die Verbindung zum Server schließen, nachdem sie 5 Minuten lang versteckt war?",
"header": "Verbindung automatisch schließen"
},
"themes": {
"dropdown_label": "Thema",
"error_no_theme": "Keine Themen verfügbar.",

View File

@ -2679,6 +2679,7 @@
"token_title": "Actualiser le jeton de {clientId}"
},
"suspend": {
"description": "Faut-il fermer la connexion au serveur après avoir été caché pendant 5 minutes ?",
"header": "Fermer automatiquement la connexion"
},
"themes": {

View File

@ -602,7 +602,7 @@
"unavailable": "ישות זו אינה זמינה כרגע.",
"update": "עדכון"
},
"no_unique_id": "לישות זו אין מזהה ייחודי, ולכן לא ניתן לנהל את ההגדרות שלה ממשק המשתמש.",
"no_unique_id": "לישות זו אין מזהה ייחודי, ולכן לא ניתן לנהל את ההגדרות שלה מממשק המשתמש.",
"related": "קשורים",
"settings": "הגדרות"
},

View File

@ -205,6 +205,7 @@
"stopped": "Stöðvuð"
},
"default": {
"on": "Á",
"unavailable": "Ekki tiltækt",
"unknown": "Óþekkt"
},
@ -606,10 +607,14 @@
"title": "Uppfærslu leiðbeiningar"
},
"vacuum": {
"status": "Staða"
"pause": "Hlé",
"start": "Byrja",
"status": "Staða",
"stop": "Stöðva"
}
},
"mqtt_device_debug_info": {
"deserialize": "Reyni að flokka MQTT skilaboð sem JSON",
"entities": "Einingar",
"no_entities": "Engar einingar",
"show_as_yaml": "Birta sem YAML"
@ -1121,6 +1126,7 @@
"disabled": "Afvirkjað",
"ok": "í lagi",
"readonly": "Ritvarið",
"restored": "Endurheimt",
"unavailable": "Ekki tiltækt"
}
}
@ -1136,6 +1142,7 @@
},
"picker": {
"headers": {
"editable": "Breytanlegt",
"name": "Nafn",
"type": "Gerð"
}
@ -1206,7 +1213,8 @@
"integration": "samþætting",
"integration_not_found": "Samþætting fannst ekki.",
"new": "Setja upp nýja samþættingu",
"none": "Ekkert skilgreint sem stendur"
"none": "Ekkert skilgreint sem stendur",
"none_found": "Engar samþættingar fundust"
},
"introduction": "Hér er mögulegt að stilla af íhluti og Home Assistant. Því miður er ekki hægt að breyta öllu í gegnum viðmótið ennþá, en við erum að vinna í því.",
"logs": {
@ -1220,6 +1228,7 @@
"conf_mode": {
"yaml": "YAML skrá"
},
"default_dashboard": "Þetta er sjálfgefið mælaborð",
"detail": {
"create": "Stofna",
"delete": "Eyða",
@ -1270,6 +1279,7 @@
}
},
"mqtt": {
"button": "Stilla",
"listening_to": "Hlusta á",
"title": "MQTT"
},
@ -1417,6 +1427,7 @@
"add": {
"caption": "Bæta við tækjum"
},
"button": "Stilla",
"caption": "ZHA",
"cluster_commands": {
"header": "Klasa skipanir"
@ -1472,6 +1483,7 @@
}
},
"zwave": {
"button": "Stilla",
"caption": "Z-Wave",
"common": {
"unknown": "óþekkt",
@ -1494,6 +1506,7 @@
"set_config_parameter": "Stilltu Config Parameter"
},
"node_management": {
"add_to_group": "Bæta í hóp",
"entity_info": "Upplýsingar um einingu",
"group": "Hópur"
},
@ -1599,7 +1612,8 @@
"conditional": {
"card": "Spjald",
"change_type": "Breyta gerð",
"conditions": "Skilyrði"
"conditions": "Skilyrði",
"current_state": "núverandi"
},
"config": {
"optional": "Valfrjálst",
@ -2016,6 +2030,10 @@
"not_used": "Hefur aldrei verið notaður",
"token_title": "Uppfæra tóka fyrir {clientId}"
},
"suspend": {
"description": "Ættum við að loka tengingunni við þjóninn eftir að hafa verið falin í 5 mínútur?",
"header": "Loka tengingu sjálfkrafa"
},
"themes": {
"dropdown_label": "Þema",
"error_no_theme": "Engar þemu í boði.",

View File

@ -1126,7 +1126,7 @@
"title": "Alexa"
},
"caption": "Home Assistant Cloud",
"description_features": "Alexa 및 Google 어시스턴트를 통해 집 밖에서도 집을 관리하세요.",
"description_features": "Alexa 및 Google 어시스턴트를 통해 집 밖에서도 집을 관리합니다",
"description_login": "{email} 로(으로) 로그인 되어있습니다",
"description_not_login": "로그인이 되어있지 않습니다",
"dialog_certificate": {
@ -1400,7 +1400,7 @@
"built_using": "다음을 사용하여 제작",
"caption": "정보",
"custom_uis": "사용자 UI :",
"description": "Home Assistant 설치에 대한 정보",
"description": "설치된 Home Assistant 에 대한 정보입니다",
"developed_by": "Home Assistant 는 수많은 멋진 사람들에 의해 개발되었습니다.",
"documentation": "관련문서",
"frontend": "프런트엔드-UI",
@ -1496,7 +1496,7 @@
"logs": {
"caption": "로그",
"clear": "지우기",
"description": "Home Assistant 로그 보기",
"description": "Home Assistant 로그 내역을 봅니다",
"details": "로그 상세정보 ({level})",
"load_full_log": "Home Assistant 로그 전부 불러오기",
"loading_log": "오류 로그를 읽는 중...",

View File

@ -51,14 +51,14 @@
},
"humidifier": {
"mode": {
"auto": "Auto",
"auto": "",
"away": "Borte",
"baby": "Baby",
"baby": "",
"boost": "Øke",
"comfort": "Komfort",
"eco": "Øko",
"home": "Hjem",
"normal": "Normal",
"normal": "",
"sleep": "Sove"
}
}
@ -1418,8 +1418,8 @@
},
"integration_panel_move": {
"link_integration_page": "integrasjonsside",
"missing_zha": "Mangler ZHA-konfigurasjonspanelet? Den ble flyttet til ZHA-oppføringen på {integrations_page} .",
"missing_zwave": "Mangler Z-Wave-konfigurasjonspanelet? Den ble flyttet til Z-Wave-oppføringen på {integrations_page} ."
"missing_zha": "Mangler ZHA konfigurasjonspanelet? Det ble flyttet til ZHA oppføringen på {integrations_page}.",
"missing_zwave": "Mangler Z-Wave konfigurasjonspanelet? Det ble flyttet til Z-Wave oppføringen på {integrations_page}."
},
"integrations": {
"add_integration": "Legg til integrasjon",
@ -1431,6 +1431,7 @@
"delete_confirm": "Er du sikker på at du vil slette denne integrasjonen?",
"device_unavailable": "enheten er utilgjengelig",
"devices": "{count} {count, plural,\n one {enhet}\n other {enheter}\n}",
"documentation": "Dokumentasjon",
"entities": "{count} {count, plural,\n one {entitet}\n other {entiteter}\n}",
"entity_unavailable": "entiteten er utilgjengelig",
"firmware": "Fastvare: {version}",
@ -2218,7 +2219,7 @@
"name": "Horisontal Stack"
},
"humidifier": {
"description": "Luftfukterkortet gir kontroll over luftfukterenheten din. Lar deg endre fuktigheten og modusen til enheten.",
"description": "Luftfukter kortet gir kontroll over luftfukter enheten din. Lar deg endre fuktigheten og modusen til enheten.",
"name": "Luftfukter"
},
"iframe": {
@ -2677,6 +2678,10 @@
"not_used": "Har aldri blitt brukt",
"token_title": "Oppdateringstoken for {clientId}"
},
"suspend": {
"description": "Skal vi lukke tilkoblingen til serveren etter å ha vært gjemt i 5 minutter?",
"header": "Lukk tilkoblingen automatisk"
},
"themes": {
"dropdown_label": "Tema",
"error_no_theme": "Ingen temaer er tilgjengelig.",

View File

@ -668,7 +668,7 @@
"actions": {
"add": "Legg til handling",
"delete": "Slett",
"delete_confirm": "Er det sekert du vil slettje?",
"delete_confirm": "Er du sikker på at du vil slette?",
"duplicate": "Dupliser",
"header": "Handlingar",
"introduction": "Handlinga Home Assistant vil gjennomføre når automasjonen vert utløyst.",
@ -708,10 +708,10 @@
"conditions": {
"add": "Legg til føresetnad",
"delete": "Slett",
"delete_confirm": "Er det sekert du vil slettje?",
"delete_confirm": "Er du sikker på at du vil slette?",
"duplicate": "Dupliser",
"header": "Føresetnadar",
"introduction": "Føresetnadar er ein valfri del av automasjonsregelen og kan brukast til å hindre at ei handling vert gjennomført når den er utløyst. Føresetnadane liknar på utløysarane, men er veldig forskjellig frå dei. Ein utløysar vil sjå på hendingar som skjer i systemet, medan ein føresetnad berre ser på korleis systemet er akkuratt no. Ein utløysar kan observere at ein brytar blir skrudt på, medan ein føresetnad berre kan sjå om brytaren er på eller av. \n\n[Lær meir om føresetnadar.](https://home-assistant.io/docs/scripts/conditions/)",
"introduction": "Føresetnadar er valfrie og vil hindre vidare framgang i automasjonen med mindre alle føresetnadene er møtt.",
"learn_more": "Lær meir om føresetnader",
"name": "Betingelse",
"type_select": "Føresetnadstype",
@ -771,7 +771,7 @@
"delete_confirm": "Er du sikker på at du vil slette?",
"duplicate": "Dupliser",
"header": "Utløysarar",
"introduction": "Utløysarar er det som startar ein prosess i ein automasjonsregel. Det er mogleg å spesifisere fleire utløysarar for same regel. Når ein utløysar startar, vil Home Assistant validere føresetnadane, dersom der er nokon, og så setje i gang handlinga.\n\n[Lær meir om utløysarar.](https://home-assistant.io/docs/automation/trigger/)",
"introduction": "Utløysarar er det som startar ein prosess i ein automasjonsregel. Det er mogleg å spesifisere fleire utløysarar for same regel. Når ein utløysar startar, vil Home Assistant validere føresetnadane, dersom der er nokon, og så setje i gang handlinga.",
"learn_more": "Lær meir om utløysarar",
"name": "Utløysar",
"type_select": "Utløysartype",

View File

@ -2678,6 +2678,10 @@
"not_used": "Nigdy nie był używany",
"token_title": "Token dla {clientId}"
},
"suspend": {
"description": "Czy połączenie z serwerem powinno być zamykane, jeśli jest ukryte przez 5 minut?",
"header": "Automatyczne zamykanie połączenia"
},
"themes": {
"dropdown_label": "Motyw",
"error_no_theme": "Brak dostępnych motywów.",

View File

@ -2620,7 +2620,7 @@
},
"force_narrow": {
"description": "Боковая панель будет скрыта, аналогично мобильному интерфейсу",
"header": "Всегда скрывать боковую панель"
"header": "Скрывать боковую панель"
},
"is_owner": "Вы являетесь владельцем.",
"language": {
@ -2678,6 +2678,10 @@
"not_used": "Никогда не использовался",
"token_title": "Токен обновления для {clientId}"
},
"suspend": {
"description": "Закрыть соединение с сервером, если окно было скрыто в течении пяти и более минут",
"header": "Закрывать соединение автоматически"
},
"themes": {
"dropdown_label": "Тема",
"error_no_theme": "Нет доступных тем.",

View File

@ -48,6 +48,19 @@
"none": "Ingen",
"sleep": "Sover"
}
},
"humidifier": {
"mode": {
"auto": "Automatisk",
"away": "Borta",
"baby": "Baby",
"boost": "Boost-läge",
"comfort": "Komfort",
"eco": "Eco",
"home": "Hemma",
"normal": "Normal",
"sleep": "Viloläge"
}
}
},
"state_badge": {
@ -388,6 +401,12 @@
"reverse": "Baklänges",
"speed": "Hastighet"
},
"humidifier": {
"humidity": "Målfuktighet",
"mode": "Läge",
"on_entity": "{name} på",
"target_humidity_entity": "{name} målfuktighet"
},
"light": {
"brightness": "Ljusstyrka",
"color_temperature": "Färgtemperatur",
@ -506,6 +525,11 @@
"clear": "Rensa",
"show_areas": "Visa områden"
},
"date-range-picker": {
"end_date": "Slutdatum",
"select": "Välj",
"start_date": "Startdatum"
},
"device-picker": {
"clear": "Rensa",
"device": "Enhet",
@ -695,6 +719,7 @@
"zha_device_info": {
"buttons": {
"add": "Lägg till enheter via den här enheten",
"clusters": "Hantera kluster",
"reconfigure": "Konfigurera om enheten",
"remove": "Ta bort enhet",
"zigbee_information": "Zigbee-information"
@ -1391,6 +1416,11 @@
"system_health_error": "Systemhälsokomponenten har inte lästs in. Lägg till 'system_health:' i configuration.yaml",
"title": "Info"
},
"integration_panel_move": {
"link_integration_page": "integrationssidan",
"missing_zha": "Saknar du konfigurationspanelen för ZHA? Den är flyttad till {integrations_page} ",
"missing_zwave": "Saknar du konfigurationspanelen för Z-Wave? Den är flyttad till {integrations_page} "
},
"integrations": {
"add_integration": "Lägg till integration",
"caption": "Integrationer",
@ -1401,6 +1431,7 @@
"delete_confirm": "Är du säker på att du vill radera denna integration?",
"device_unavailable": "enhet otillgänglig",
"devices": "{count} {count, plural,\n one {enhet}\n other {enheter}\n}",
"documentation": "Dokumentation",
"entities": "{count} {count, plural,\n one {entitet}\n other {entiteter}\n}",
"entity_unavailable": "entitet otillgänglig",
"firmware": "Firmware: {version}",
@ -1553,6 +1584,7 @@
}
},
"mqtt": {
"button": "Konfigurera",
"description_listen": "Lyssna på ett ämne",
"description_publish": "Publicera ett paket",
"listening_to": "Lyssnar på",
@ -1737,7 +1769,7 @@
"system": "System"
}
},
"users_privileges_note": "Användar gruppen är under konstruktion. Användaren kommer inte att kunna administrera instansen via användargränssnittet. Vi granskar fortfarande alla API-slutpunkter för att försäkra att de korrekt begränsar åtkomst till endast administratörer."
"users_privileges_note": "Användargruppen är under konstruktion. Användaren kommer inte att kunna administrera instansen via användargränssnittet. Vi granskar fortfarande alla API-slutpunkter för att försäkra att de korrekt begränsar åtkomst till endast administratörer."
},
"zha": {
"add_device_page": {
@ -1930,10 +1962,10 @@
},
"ozw_log": {
"header": "OZW-logg",
"introduction": "Visa loggen. 0 är det minsta (laddar hela loggen) och 1000 är det maximala. Ladda visar en statisk logg och svansen uppdateras automatiskt med det sist angivna antalet rader i loggen.",
"introduction": "Visa loggen. 0 är det minsta (laddar hela loggen) och 1000 är det maximala. Ladda visar en statisk logg och medan Följ uppdateras automatiskt med det sist angivna antalet rader i loggen.",
"last_log_lines": "Antal sista loggrader",
"load": "Ladda",
"tail": "Svans"
"tail": "Följ"
},
"services": {
"add_node": "Lägg till nod",
@ -2030,11 +2062,23 @@
},
"history": {
"period": "Period",
"ranges": {
"last_week": "Föregående vecka",
"this_week": "Denna vecka",
"today": "Idag",
"yesterday": "Igår"
},
"showing_entries": "Visar poster för"
},
"logbook": {
"entries_not_found": "Inga loggboksposter hittades.",
"period": "Period",
"ranges": {
"last_week": "Föregående vecka",
"this_week": "Denna vecka",
"today": "Idag",
"yesterday": "Igår"
},
"showing_entries": "Visar poster för"
},
"lovelace": {
@ -2174,6 +2218,10 @@
"description": "Med Horizontal Stack-kortet kan du stapla ihop flera kort, så att de alltid sitter bredvid varandra i utrymmet av en kolumn.",
"name": "Vågrät trave"
},
"humidifier": {
"description": "Termostatkortet kontrollerar din klimatenhet så att du kan ändra luftfuktigheten och läge.",
"name": "Luftfuktare"
},
"iframe": {
"description": "Webbsidakortet låter dig bädda in din favoritwebbplats direkt i Home Assistant.",
"name": "Webbsida"
@ -2630,6 +2678,10 @@
"not_used": "Har aldrig använts",
"token_title": "Uppdatera token för {clientId}"
},
"suspend": {
"description": "Ska vi stänga anslutningen till servern efter att den varit gömd i 5 minuter?",
"header": "Stäng anslutningen automatiskt"
},
"themes": {
"dropdown_label": "Tema",
"error_no_theme": "Inga teman finns tillgängliga.",