Merge pull request #2758 from home-assistant/dev

20190215.0
This commit is contained in:
Paulus Schoutsen 2019-02-15 09:57:28 -08:00 committed by GitHub
commit ea8958adae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 782 additions and 145 deletions

View File

@ -2,7 +2,7 @@ from setuptools import setup, find_packages
setup(
name="home-assistant-frontend",
version="20190213.0",
version="20190215.0",
description="The Home Assistant frontend",
url="https://github.com/home-assistant/home-assistant-polymer",
author="The Home Assistant Authors",

View File

@ -5,7 +5,6 @@ export interface LovelaceConfig {
views: LovelaceViewConfig[];
background?: string;
resources?: Array<{ type: "css" | "js" | "module" | "html"; url: string }>;
excluded_entities?: string[];
}
export interface LovelaceViewConfig {
@ -34,7 +33,10 @@ export interface ToggleActionConfig {
export interface CallServiceActionConfig {
action: "call-service";
service: string;
service_data?: { [key: string]: any };
service_data?: {
entity_id?: string | [string];
[key: string]: any;
};
}
export interface NavigateActionConfig {

View File

@ -0,0 +1,7 @@
export const formatAsPaddedHex = (value: string | number): string => {
let hex = value;
if (typeof value === "string") {
hex = parseInt(value, 16);
}
return "0x" + hex.toString(16).padStart(4, "0");
};

View File

@ -28,6 +28,7 @@ import {
ItemSelectedEvent,
SetAttributeServiceData,
} from "./types";
import { formatAsPaddedHex } from "./functions";
export class ZHAClusterAttributes extends LitElement {
public hass?: HomeAssistant;
@ -102,7 +103,10 @@ export class ZHAClusterAttributes extends LitElement {
${this._attributes.map(
(entry) => html`
<paper-item
>${entry.name + " (id: " + entry.id + ")"}</paper-item
>${entry.name +
" (id: " +
formatAsPaddedHex(entry.id) +
")"}</paper-item
>
`
)}

View File

@ -24,6 +24,7 @@ import {
IssueCommandServiceData,
ItemSelectedEvent,
} from "./types";
import { formatAsPaddedHex } from "./functions";
export class ZHAClusterCommands extends LitElement {
public hass?: HomeAssistant;
@ -94,7 +95,10 @@ export class ZHAClusterCommands extends LitElement {
${this._commands.map(
(entry) => html`
<paper-item
>${entry.name + " (id: " + entry.id + ")"}</paper-item
>${entry.name +
" (id: " +
formatAsPaddedHex(entry.id) +
")"}</paper-item
>
`
)}

View File

@ -16,6 +16,7 @@ import { haStyle } from "../../../resources/ha-style";
import { HomeAssistant } from "../../../types";
import "../ha-config-section";
import { ItemSelectedEvent } from "./types";
import { formatAsPaddedHex } from "./functions";
declare global {
// for fire event
@ -27,9 +28,9 @@ declare global {
}
const computeClusterKey = (cluster: Cluster): string => {
return `${cluster.name} (Endpoint id: ${cluster.endpoint_id}, Id: ${
cluster.id
}, Type: ${cluster.type})`;
return `${cluster.name} (Endpoint id: ${
cluster.endpoint_id
}, Id: ${formatAsPaddedHex(cluster.id)}, Type: ${cluster.type})`;
};
export class ZHAClusters extends LitElement {

View File

@ -128,9 +128,13 @@ class HuiAlarmPanelCard extends LitElement implements LovelaceCard {
: ["disarm"]
).map((state) => {
return html`
<mwc-button .action="${state}" @click="${this._handleActionClick}"
>${this._label(state)}</mwc-button
<mwc-button
.action="${state}"
@click="${this._handleActionClick}"
outlined
>
${this._label(state)}
</mwc-button>
`;
})}
</div>
@ -154,14 +158,14 @@ class HuiAlarmPanelCard extends LitElement implements LovelaceCard {
`
: html`
<mwc-button
noink
raised
.value="${value}"
@click="${this._handlePadClick}"
>${value === "clear"
? this._label("clear_code")
: value}</mwc-button
dense
>
${value === "clear"
? this._label("clear_code")
: value}
</mwc-button>
`;
})}
</div>
@ -274,6 +278,7 @@ class HuiAlarmPanelCard extends LitElement implements LovelaceCard {
width: 30%;
padding: calc(var(--base-unit));
font-size: calc(var(--base-unit) * 1.1);
box-sizing: border-box;
}
.actions {
margin: 0 8px;
@ -286,6 +291,7 @@ class HuiAlarmPanelCard extends LitElement implements LovelaceCard {
.actions mwc-button {
min-width: calc(var(--base-unit) * 9);
color: var(--primary-color);
margin: 0 4px;
}
mwc-button#disarm {
color: var(--google-red-500);

View File

@ -138,6 +138,7 @@ class HuiEntityButtonCard extends LitElement implements LovelaceCard {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: 4% 0;
font-size: 1.2rem;
}

View File

@ -11,31 +11,33 @@ class HuiHistoryGraphCard extends PolymerElement {
static get template() {
return html`
<style>
ha-card {
.content {
padding: 16px;
}
ha-card[header] {
[header] .content {
padding-top: 0;
}
</style>
<ha-card header$="[[_config.title]]">
<ha-state-history-data
hass="[[hass]]"
filter-type="recent-entity"
entity-id="[[_entities]]"
data="{{_stateHistory}}"
is-loading="{{_stateHistoryLoading}}"
cache-config="[[_cacheConfig]]"
></ha-state-history-data>
<state-history-charts
hass="[[hass]]"
history-data="[[_stateHistory]]"
is-loading-data="[[_stateHistoryLoading]]"
names="[[_names]]"
up-to-now
no-single
></state-history-charts>
<div class="content">
<ha-state-history-data
hass="[[hass]]"
filter-type="recent-entity"
entity-id="[[_entities]]"
data="{{_stateHistory}}"
is-loading="{{_stateHistoryLoading}}"
cache-config="[[_cacheConfig]]"
></ha-state-history-data>
<state-history-charts
hass="[[hass]]"
history-data="[[_stateHistory]]"
is-loading-data="[[_stateHistoryLoading]]"
names="[[_names]]"
up-to-now
no-single
></state-history-charts>
</div>
</ha-card>
`;
}

View File

@ -1,38 +1,66 @@
import { LovelaceConfig } from "../../../data/lovelace";
import { LovelaceConfig, ActionConfig } from "../../../data/lovelace";
import { HomeAssistant } from "../../../types";
const EXCLUDED_DOMAINS = ["zone"];
const addFromAction = (entities: Set<string>, actionConfig: ActionConfig) => {
if (
actionConfig.action !== "call-service" ||
!actionConfig.service_data ||
!actionConfig.service_data.entity_id
) {
return;
}
let entityIds = actionConfig.service_data.entity_id;
if (!Array.isArray(entityIds)) {
entityIds = [entityIds];
}
for (const entityId of entityIds) {
entities.add(entityId);
}
};
const addEntityId = (entities: Set<string>, entity) => {
if (typeof entity === "string") {
entities.add(entity);
return;
}
if (entity.entity) {
entities.add(entity.entity);
}
if (entity.camera_image) {
entities.add(entity.camera_image);
}
if (entity.tap_action) {
addFromAction(entities, entity.tap_action);
}
if (entity.hold_action) {
addFromAction(entities, entity.hold_action);
}
};
const addEntities = (entities: Set<string>, obj) => {
if (obj.entity) {
addEntityId(entities, obj.entity);
}
if (obj.entities) {
obj.entities.forEach((entity) => addEntityId(entities, entity));
}
if (obj.card) {
addEntities(entities, obj.card);
}
if (obj.cards) {
obj.cards.forEach((card) => addEntities(entities, card));
}
if (obj.badges) {
obj.badges.forEach((badge) => addEntityId(entities, badge));
}
};
const computeUsedEntities = (config) => {
const entities = new Set();
const addEntityId = (entity) => {
if (typeof entity === "string") {
entities.add(entity);
} else if (entity.entity) {
entities.add(entity.entity);
}
};
const addEntities = (obj) => {
if (obj.entity) {
addEntityId(obj.entity);
}
if (obj.entities) {
obj.entities.forEach((entity) => addEntityId(entity));
}
if (obj.card) {
addEntities(obj.card);
}
if (obj.cards) {
obj.cards.forEach((card) => addEntities(card));
}
if (obj.badges) {
obj.badges.forEach((badge) => addEntityId(badge));
}
};
config.views.forEach((view) => addEntities(view));
config.views.forEach((view) => addEntities(entities, view));
return entities;
};
@ -45,9 +73,6 @@ export const computeUnusedEntities = (
.filter(
(entity) =>
!usedEntities.has(entity) &&
!(
config.excluded_entities && config.excluded_entities.includes(entity)
) &&
!EXCLUDED_DOMAINS.includes(entity.split(".", 1)[0])
)
.sort();

View File

@ -33,7 +33,7 @@ export const handleClick = (
case "more-info":
if (config.entity || config.camera_image) {
fireEvent(node, "hass-more-info", {
entityId: config.entity ? config.entity! : config.camera_image!,
entityId: config.entity ? config.entity : config.camera_image!,
});
}
break;

View File

@ -53,14 +53,16 @@ class LovelaceFullConfigEditor extends LitElement {
@click="${this._closeEditor}"
></paper-icon-button>
<div main-title>Edit Config</div>
<mwc-button raised @click="${this._handleSave}">Save</mwc-button>
<ha-icon
class="save-button
<mwc-button raised @click="${this._handleSave}"
>Save
<ha-icon
class="save-button
${classMap({
saved: this._saving! === false || this._changed === true,
})}"
icon="${this._changed ? "hass:circle-medium" : "hass:check"}"
></ha-icon>
saved: this._saving! === false || this._changed === true,
})}"
icon="${this._changed ? "hass:circle-medium" : "hass:check"}"
></ha-icon
></mwc-button>
</app-toolbar>
</app-header>
<div class="content">
@ -113,11 +115,12 @@ class LovelaceFullConfigEditor extends LitElement {
.save-button {
opacity: 0;
margin-left: -21px;
margin-top: -1px;
transition: opacity 1.5s;
transition: all 1.5s;
}
.saved {
margin-left: initial;
margin-right: -8px;
opacity: 1;
}
`,

View File

@ -64,7 +64,7 @@ export class HuiUnusedEntities extends LitElement {
hui-entities-card {
max-width: 400px;
padding: 4px;
flex: 1;
flex: 1 auto;
}
</style>
`;

View File

@ -708,6 +708,11 @@
"abort": {
"not_whitelisted": "Вашият компютър не е в списъка с разрешени компютри."
}
},
"command_line": {
"abort": {
"login_expired": "Сесията изтече, моля влезте отново."
}
}
}
}

View File

@ -346,7 +346,11 @@
},
"customize": {
"caption": "Personalització",
"description": "Personalitza les entitats"
"description": "Personalitza les entitats",
"picker": {
"header": "Personalització",
"introduction": "Modificació dels atributs d'entitat. Les personalitzacions afegides\/modificades apareixeran immediatament. Les personalitzacions eliminades tindran efecte quan l'entitat s'actualitzi."
}
},
"automation": {
"caption": "Automatització",
@ -569,7 +573,8 @@
"hub": "Connectat a través de",
"firmware": "Firmware: {version}",
"device_unavailable": "dispositiu no disponible",
"entity_unavailable": "entitat no disponible"
"entity_unavailable": "entitat no disponible",
"no_area": "Sense àrea"
}
},
"zha": {
@ -581,11 +586,42 @@
},
"area_registry": {
"caption": "Registre d'àrees",
"description": "Visió general de totes les àrees de la casa."
"description": "Visió general de totes les àrees de la casa.",
"picker": {
"header": "Registre d'àrees"
},
"no_areas": "Sembla que encara no tens cap àrea, encara.",
"create_area": "CREA ÀREA",
"editor": {
"default_name": "Àrea nova",
"delete": "SUPRIMIR",
"update": "ACTUALITZAR",
"create": "CREAR"
}
},
"entity_registry": {
"caption": "Registre d'entitats",
"description": "Visió general de totes les entitats conegudes."
"description": "Visió general de totes les entitats conegudes.",
"picker": {
"header": "Registre d'entitats",
"unavailable": "(no disponible)"
},
"editor": {
"unavailable": "Aquesta entitat no està disponible actualment.",
"default_name": "Àrea nova",
"delete": "SUPRIMIR",
"update": "ACTUALITZAR"
}
},
"person": {
"caption": "Persones",
"description": "Gestiona a quines persones fa seguiment Home Assistant.",
"detail": {
"name": "Nom",
"device_tracker_intro": "Selecciona els dispositius que pertanyen a aquesta persona.",
"device_tracker_picked": "Seguint dispositiu",
"device_tracker_pick": "Tria un dispositiu per fer-li el seguiment"
}
}
},
"profile": {
@ -728,6 +764,29 @@
"abort": {
"not_whitelisted": "El teu ordinador no es troba accessible a la llista."
}
},
"command_line": {
"step": {
"init": {
"data": {
"username": "Nom d'usuari",
"password": "Contrasenya"
}
},
"mfa": {
"data": {
"code": "Codi de verificació en dos passos"
},
"description": "Obre el **{mfa_module_name}** al teu dispositiu per veure el codi de verificació en dos passos i verifica la teva identitat:"
}
},
"error": {
"invalid_auth": "Nom d'usuari o contrasenya incorrectes",
"invalid_code": "El codi d'autenticació no és vàlid"
},
"abort": {
"login_expired": "La sessió ha caducat, torna a iniciar la sessió."
}
}
}
}
@ -769,7 +828,8 @@
"pick_card": "Tria la targeta que vols afegir.",
"add": "Afegir targeta",
"edit": "Editar",
"delete": "Suprimir"
"delete": "Suprimir",
"move": "Moure"
},
"migrate": {
"header": "Configuració incompatible",
@ -872,7 +932,8 @@
"arm_home": "Activar, a casa",
"arm_away": "Activar, fora",
"arm_night": "Activar, nocturn",
"armed_custom_bypass": "Bypass personalitzat"
"armed_custom_bypass": "Bypass personalitzat",
"arm_custom_bypass": "Bypass personalitzat"
},
"automation": {
"last_triggered": "Última execució",

View File

@ -33,7 +33,7 @@
"arming": "Aktivování",
"disarming": "Deaktivování",
"triggered": "Spuštěno",
"armed_custom_bypass": "Specifické obejítí alarmu"
"armed_custom_bypass": "Aktivní uživatelský bypass"
},
"automation": {
"off": "Neaktivní",
@ -851,7 +851,7 @@
"save": "Převzít kontrolu"
},
"menu": {
"raw_editor": "Editor konfigurace"
"raw_editor": "Editor zdrojového kódu"
}
},
"menu": {
@ -931,7 +931,8 @@
"arm_home": "Aktivovat režim domov",
"arm_away": "Aktivovat režim mimo domov",
"arm_night": "Aktivovat noční režim",
"armed_custom_bypass": "Specifické obejítí alarmu"
"armed_custom_bypass": "Uživatelský bypass",
"arm_custom_bypass": "Uživatelský bypass"
},
"automation": {
"last_triggered": "Naposledy spuštěno",

View File

@ -764,6 +764,29 @@
"abort": {
"not_whitelisted": "Din computer er ikke whitelistet."
}
},
"command_line": {
"step": {
"init": {
"data": {
"username": "Brugernavn",
"password": "Password"
}
},
"mfa": {
"data": {
"code": "To-faktor godkendelseskode"
},
"description": "Åbn **{mfa_module_name}** på din enhed for at se din to-faktor godkendelseskode og bekræft din identitet:"
}
},
"error": {
"invalid_auth": "Ugyldigt brugernavn eller password",
"invalid_code": "Ugyldig godkendelseskode"
},
"abort": {
"login_expired": "Session er udløbet, log ind igen."
}
}
}
}
@ -909,7 +932,8 @@
"arm_home": "Tilkoble hjemme",
"arm_away": "Tilkoble ude",
"arm_night": "Tilkoblet nat",
"armed_custom_bypass": "Brugerdefineret"
"armed_custom_bypass": "Brugerdefineret",
"arm_custom_bypass": "Brugerdefineret bypass"
},
"automation": {
"last_triggered": "Senest udløst",

View File

@ -725,6 +725,11 @@
"abort": {
"not_whitelisted": "Dein Computer ist nicht auf der Whitelist."
}
},
"command_line": {
"abort": {
"login_expired": "Sitzung abgelaufen, bitte erneut anmelden."
}
}
}
}

View File

@ -724,6 +724,11 @@
"abort": {
"not_whitelisted": "Ο υπολογιστής σας δεν είναι στη λίστα επιτρεπόμενων."
}
},
"command_line": {
"abort": {
"login_expired": "Η περίοδος σύνδεσης έληξε, συνδεθείτε ξανά."
}
}
}
}

View File

@ -932,7 +932,8 @@
"arm_home": "Arm home",
"arm_away": "Arm away",
"arm_night": "Arm night",
"armed_custom_bypass": "Custom bypass"
"armed_custom_bypass": "Custom bypass",
"arm_custom_bypass": "Custom bypass"
},
"automation": {
"last_triggered": "Last triggered",

View File

@ -708,6 +708,11 @@
"abort": {
"not_whitelisted": "Tu computadora no está incluida en la lista blanca."
}
},
"command_line": {
"abort": {
"login_expired": "La sesión expiró, por favor inicie sesión nuevamente."
}
}
}
}

View File

@ -728,6 +728,29 @@
"abort": {
"not_whitelisted": "Tu computadora no está en la lista de autorizados."
}
},
"command_line": {
"step": {
"init": {
"data": {
"username": "Nombre de usuario",
"password": "Contraseña"
}
},
"mfa": {
"data": {
"code": "Código de Autenticación de Doble Factor"
},
"description": "Abre el **{mfa_module_name}** en tú dispositivo para ver tú código de autenticación de doble factor y verificar tu identidad"
}
},
"error": {
"invalid_auth": "Usuario o contraseña incorrecto",
"invalid_code": "Código de autenticación no válido"
},
"abort": {
"login_expired": "La sesión ha caducado, por favor inicie sesión de nuevo."
}
}
}
}

View File

@ -707,6 +707,11 @@
"abort": {
"not_whitelisted": "Sinu arvuti ei ole lubatute nimekirjas."
}
},
"command_line": {
"abort": {
"login_expired": "Sessioon aegus, palun logi uuesti sisse."
}
}
}
}

View File

@ -696,6 +696,11 @@
"abort": {
"not_whitelisted": "Tietokonettasi ei ole sallittu."
}
},
"command_line": {
"abort": {
"login_expired": "Istunto päättyi, ole hyvä ja kirjaudu uudelleen."
}
}
}
}

View File

@ -581,11 +581,18 @@
},
"area_registry": {
"caption": "Registre des pièces",
"description": "Vue d'ensemble de toutes les pièces de votre maison."
"description": "Vue d'ensemble de toutes les pièces de votre maison.",
"editor": {
"delete": "SUPPRIMER"
}
},
"entity_registry": {
"caption": "Registre des entités",
"description": "Vue d'ensemble de toutes les entités connues."
"description": "Vue d'ensemble de toutes les entités connues.",
"editor": {
"delete": "SUPPRIMER",
"update": "METTRE À JOUR"
}
}
},
"profile": {
@ -728,6 +735,29 @@
"abort": {
"not_whitelisted": "Votre ordinateur n'est pas en liste blanche."
}
},
"command_line": {
"step": {
"init": {
"data": {
"username": "Nom d'utilisateur",
"password": "Mot de passe"
}
},
"mfa": {
"data": {
"code": "Code d'authentification à deux facteurs"
},
"description": "Ouvrez le **{mfa_module_name}** sur votre appareil pour afficher votre code d'authentification à deux facteurs et vérifier votre identité:"
}
},
"error": {
"invalid_auth": "Nom d'utilisateur ou mot de passe invalide",
"invalid_code": "Code d'authentification invalide"
},
"abort": {
"login_expired": "Session expirée, veuillez vous connecter à nouveau."
}
}
}
}
@ -769,7 +799,8 @@
"pick_card": "Choisissez l'automatisation à ajouter",
"add": "Ajouter une action",
"edit": "Modifier",
"delete": "Supprimer"
"delete": "Supprimer",
"move": "Déplacer"
},
"migrate": {
"header": "Configuration incompatible",

View File

@ -346,7 +346,11 @@
},
"customize": {
"caption": "התאמה אישית",
"description": "התאם אישית את הישויות שלך"
"description": "התאם אישית את הישויות שלך",
"picker": {
"header": "התאמה אישית",
"introduction": "כוונן תכונות של כל ישות. ההתאמות הנוספות שנוספו \/ ייכנסו לתוקף באופן מיידי. התאמות אישיות שהוסרו ייכנסו לתוקף כאשר הישות תעודכן."
}
},
"automation": {
"caption": "אוטומציה",
@ -569,7 +573,8 @@
"hub": "מחובר באמצעות",
"firmware": "קושחה: {version}",
"device_unavailable": "התקן אינו זמין",
"entity_unavailable": "ישות לא זמינה"
"entity_unavailable": "ישות לא זמינה",
"no_area": "ללא אזור"
}
},
"zha": {
@ -580,11 +585,42 @@
},
"area_registry": {
"caption": "מאגר האזורים",
"description": "סקירה של כל האזורים בביתך."
"description": "סקירה של כל האזורים בביתך.",
"picker": {
"header": "מאגר האזורים"
},
"no_areas": "נראה שעדיין אין אזורים!",
"create_area": "צור איזור",
"editor": {
"default_name": "אזור חדש",
"delete": "מחק",
"update": "עדכון",
"create": "צור"
}
},
"entity_registry": {
"caption": "מאגר הישויות",
"description": "סקירה של כל הישויות המוכרות"
"description": "סקירה של כל הישויות המוכרות",
"picker": {
"header": "מאגר הישויות",
"unavailable": "(לא זמין)"
},
"editor": {
"unavailable": "ישות זו אינה זמינה כעת.",
"default_name": "אזור חדש",
"delete": "מחק",
"update": "עדכון"
}
},
"person": {
"caption": "אנשים",
"description": "נהל את האנשים ש Home Assistant יעקב אחריהם.",
"detail": {
"name": "שם",
"device_tracker_intro": "בחר את המכשירים השייכים לאדם זה.",
"device_tracker_picked": "עקוב אחר מכשיר",
"device_tracker_pick": "בחר מכשיר למעקב"
}
}
},
"profile": {
@ -727,6 +763,29 @@
"abort": {
"not_whitelisted": "המחשב שלך אינו רשום ברשימת ההיתרים."
}
},
"command_line": {
"step": {
"init": {
"data": {
"username": "שם משתמש",
"password": "סיסמא"
}
},
"mfa": {
"data": {
"code": "קוד אימות דו-שלבי"
},
"description": "פתח את **{mfa_module_name}** במכשיר שלך בכדי לצפות בקוד האימות הדו-שלבי שלך ולאמת את הזהות שלך:"
}
},
"error": {
"invalid_auth": "שם משתמש או סיסמא לא נכונים",
"invalid_code": "קוד אימות לא חוקי"
},
"abort": {
"login_expired": "פג תוקף הפעילות באתר, היכנס שוב."
}
}
}
}
@ -768,7 +827,8 @@
"pick_card": "בחר את הכרטיסייה שברצונך להוסיף.",
"add": "הוסף כרטיסייה",
"edit": "ערוך",
"delete": "מחק"
"delete": "מחק",
"move": "הזז"
},
"migrate": {
"header": "ההגדרה לא מתאימה",
@ -871,7 +931,8 @@
"arm_home": "דרוך בבית",
"arm_away": "דרוך לא בבית",
"arm_night": "דריכה לילית",
"armed_custom_bypass": "מעקף מותאם"
"armed_custom_bypass": "מעקף מותאם",
"arm_custom_bypass": "מעקף מותאם אישית"
},
"automation": {
"last_triggered": "הפעלה אחרונה",

View File

@ -680,6 +680,11 @@
"abort": {
"not_whitelisted": "Računalo nije na popisu dopuštenih."
}
},
"command_line": {
"abort": {
"login_expired": "Sesija istekla, prijavite se ponovo."
}
}
}
}

View File

@ -724,6 +724,11 @@
"abort": {
"not_whitelisted": "A számítógéped nem engedélyezett."
}
},
"command_line": {
"abort": {
"login_expired": "A munkamenet lejárt, kérlek, jelentkezz be újra."
}
}
}
}

View File

@ -785,7 +785,7 @@
"invalid_code": "Codice di autenticazione non valido"
},
"abort": {
"login_expired": "Sessione scaduta, fai di nuovo il login"
"login_expired": "Sessione scaduta, effettua nuovamente il login."
}
}
}
@ -932,7 +932,8 @@
"arm_home": "Attiva In casa",
"arm_away": "Attiva Fuori Casa",
"arm_night": "Attiva Notte",
"armed_custom_bypass": "Attiva con bypass"
"armed_custom_bypass": "Attiva con bypass",
"arm_custom_bypass": "Bypass personalizzato"
},
"automation": {
"last_triggered": "Ultima attivazione",
@ -1002,7 +1003,7 @@
},
"relative_time": {
"past": "{time} fa",
"future": "mancano {time}",
"future": "{time} fa",
"never": "Mai",
"duration": {
"second": "{count} {count, plural,\none {secondo}\nother {secondi}\n}",

View File

@ -82,7 +82,7 @@
},
"presence": {
"off": "외출",
"on": "재실"
"on": "재실"
},
"battery": {
"off": "보통",
@ -97,7 +97,7 @@
"on": "연결됨"
},
"cold": {
"off": "상온",
"off": "보통",
"on": "저온"
},
"door": {
@ -109,7 +109,7 @@
"on": "열림"
},
"heat": {
"off": "상온",
"off": "보통",
"on": "고온"
},
"window": {
@ -118,7 +118,7 @@
},
"lock": {
"off": "잠김",
"on": "열림"
"on": "해제"
}
},
"calendar": {
@ -178,7 +178,7 @@
"stopped": "멈춤",
"locked": "잠김",
"unlocked": "해제",
"ok": "음",
"ok": "문제없음",
"problem": "문제있음"
},
"input_boolean": {
@ -202,7 +202,7 @@
"standby": "준비중"
},
"plant": {
"ok": "음",
"ok": "문제없음",
"problem": "문제있음"
},
"remote": {
@ -346,13 +346,17 @@
},
"customize": {
"caption": "사용자화",
"description": "구성요소를 사용자화 합니다"
"description": "구성요소를 사용자화 합니다",
"picker": {
"header": "사용자화",
"introduction": "구성요소의 속성을 조정할 수 있습니다. 추가 및 수정 된 사용자화 정의는 즉시 적용되며, 제거 된 사용자화 정의는 구성요소가 업데이트 될 때 적용됩니다."
}
},
"automation": {
"caption": "자동화",
"description": "자동화를 만들고 편집합니다",
"picker": {
"header": "자동화 편집",
"header": "자동화 편집",
"introduction": "자동화 편집기를 사용하여 자동화를 작성하고 편집 할 수 있습니다. [안내](https:\/\/home-assistant.io\/docs\/automation\/editor\/) 를 읽고 Home Assistant 를 올바르게 구성했는지 확인해보세요.",
"pick_automation": "편집할 자동화 선택",
"no_automations": "편집 가능한 자동화를 찾을 수 없습니다",
@ -506,7 +510,7 @@
},
"delay": {
"label": "지연",
"delay": "지연 시간"
"delay": "지연"
},
"wait_template": {
"label": "대기",
@ -569,23 +573,55 @@
"hub": "연결 경유 대상",
"firmware": "펌웨어: {version}",
"device_unavailable": "기기 사용불가",
"entity_unavailable": "구성요소 사용불가"
"entity_unavailable": "구성요소 사용불가",
"no_area": "영역 없음"
}
},
"zha": {
"caption": "ZHA",
"description": "Zigbee 홈 자동화 네트워크 관리",
"services": {
"reconfigure": "ZHA 장치를 다시 구성 합니다. (장치 복구). 장치에 문제가 있는 경우 사용해주세요. 장치가 배터리로 작동하는 경우, 이 서비스를 사용할 때 장치가 켜져있고 통신이 가능한 상태여야 합니다."
"reconfigure": "ZHA 장치를 다시 구성 합니다. (장치 복구). 장치에 문제가 있는 경우 사용해주세요. 장치가 배터리로 작동하는 경우, 이 서비스를 사용할 때 장치가 켜져있고 통신이 가능한 상태인지 확인해주세요."
}
},
"area_registry": {
"caption": "영역 등록",
"description": "집에 등록된 모든 영역"
"caption": "영역",
"description": "영역을 만들고 편집합니다",
"picker": {
"header": "영역 등록"
},
"no_areas": "등록된 영역이 없습니다. 거실, 침실과 같이 영역을 등록해보세요!",
"create_area": "영역 만들기",
"editor": {
"default_name": "새로운 영역",
"delete": "삭제",
"update": "업데이트",
"create": "만들기"
}
},
"entity_registry": {
"caption": "구성요소 등록",
"description": "모든 구성요소"
"caption": "구성요소",
"description": "등록된 구성요소를 편집합니다",
"picker": {
"header": "구성요소",
"unavailable": "(사용불가)"
},
"editor": {
"unavailable": "이 구성요소는 현재 사용할 수 없습니다.",
"default_name": "새로운 영역",
"delete": "삭제",
"update": "업데이트"
}
},
"person": {
"caption": "구성원",
"description": "Home Assistant 가 추적하는 구성원을 관리합니다",
"detail": {
"name": "이름",
"device_tracker_intro": "이 구성원에게 속한 장치를 선택해주세요.",
"device_tracker_picked": "추적 장치",
"device_tracker_pick": "추적 할 장치 선택"
}
}
},
"profile": {
@ -728,6 +764,29 @@
"abort": {
"not_whitelisted": "이 컴퓨터는 허용 목록에 등록되어 있지 않습니다."
}
},
"command_line": {
"step": {
"init": {
"data": {
"username": "사용자 이름",
"password": "비밀번호"
}
},
"mfa": {
"data": {
"code": "2단계 인증 코드"
},
"description": "2단계 인증 코드 및 신원을 확인하기 위해 기기에서 **{mfa_module_name}** 을(를) 열어주세요:"
}
},
"error": {
"invalid_auth": "사용자 이름 또는 비밀번호가 잘못되었습니다",
"invalid_code": "잘못된 인증 코드"
},
"abort": {
"login_expired": "세션이 만료되었습니다. 다시 로그인 해주세요."
}
}
}
}
@ -769,7 +828,8 @@
"pick_card": "추가하려는 카드를 선택해주세요",
"add": "카드 추가",
"edit": "편집",
"delete": "삭제"
"delete": "삭제",
"move": "이동"
},
"migrate": {
"header": "설정이 호환되지 않습니다",
@ -872,7 +932,8 @@
"arm_home": "재실 경비",
"arm_away": "외출 경비",
"arm_night": "야간 경비",
"armed_custom_bypass": "사용자 우회"
"armed_custom_bypass": "사용자 우회",
"arm_custom_bypass": "사용자 우회"
},
"automation": {
"last_triggered": "최근 트리거 됨",

View File

@ -785,7 +785,7 @@
"invalid_code": "Ongëlten Authentifizéierungs Code"
},
"abort": {
"login_expired": "Sessioun ofgelaf, verbannt iech rëm frësch."
"login_expired": "Sessioun ofgelaaf, log dech rëm frësch an w.e.g."
}
}
}

View File

@ -728,6 +728,11 @@
"abort": {
"not_whitelisted": "Datamaskinen din er ikke hvitlistet."
}
},
"command_line": {
"abort": {
"login_expired": "Økten er utløpt, vennligst logg inn på nytt"
}
}
}
}

View File

@ -728,6 +728,11 @@
"abort": {
"not_whitelisted": "Uw computer staat niet op de whitelist."
}
},
"command_line": {
"abort": {
"login_expired": "Sessie verlopen, meldt u opnieuw aan."
}
}
}
}

View File

@ -434,7 +434,7 @@
"webhook_id": "Identyfikator Webhook"
},
"time_pattern": {
"label": "Szablon czasu ",
"label": "Szablon czasu",
"hours": "Godziny",
"minutes": "Minuty",
"seconds": "Sekundy"
@ -579,7 +579,7 @@
},
"zha": {
"caption": "ZHA",
"description": "Zarządzanie siecią ZigBee Home Automation",
"description": "Zarządzanie siecią automatyki domowej ZigBee",
"services": {
"reconfigure": "Ponowna konfiguracja urządzenia ZHA (uzdrawianie urządzenia). Użyj tej usługi, jeśli masz problemy z urządzeniem. Jeśli urządzenie jest zasilane bateryjnie, upewnij się, że nie jest uśpione i przyjmie polecenie rekonfiguracji."
}
@ -932,7 +932,8 @@
"arm_home": "Uzbrojenie (w domu)",
"arm_away": "Uzbrojenie (nieobecny)",
"arm_night": "Uzbrojenie (noc)",
"armed_custom_bypass": "Uzbrój (częściowo)"
"armed_custom_bypass": "Uzbrój (częściowo)",
"arm_custom_bypass": "Niestandardowy bypass"
},
"automation": {
"last_triggered": "Ostatnie uruchomienie",

View File

@ -703,6 +703,11 @@
"abort": {
"not_whitelisted": "Seu computador não está na lista de permissões."
}
},
"command_line": {
"abort": {
"login_expired": "Sessão expirada, por favor fazer o login novamente."
}
}
}
}

View File

@ -346,7 +346,11 @@
},
"customize": {
"caption": "Personalização",
"description": "Personalizar as suas entidades"
"description": "Personalizar as suas entidades",
"picker": {
"header": "Personalização",
"introduction": "Ajustar atributos por entidade. Personalizações acrescentadas\/editadas terão efeitos imediatos. Remoção de personalizaçõe terão efeito quando a entidade for actualizada."
}
},
"automation": {
"caption": "Automação",
@ -569,19 +573,55 @@
"hub": "Ligado via",
"firmware": "Firmware: {version}",
"device_unavailable": "Dispositivo indisponível",
"entity_unavailable": "Entidade indisponível"
"entity_unavailable": "Entidade indisponível",
"no_area": "Nenhuma área"
}
},
"zha": {
"caption": "ZHA"
"caption": "ZHA",
"description": "Gestão de rede Zigbee Home Automation",
"services": {
"reconfigure": "Reconfigure o dispositivo ZHA (curar dispositivo). Use isto se estiver a ter problemas com o dispositivo. Se o dispositivo em questão for um dispositivo alimentado por bateria, certifique-se de que ele está ativo e a aceitar comandos ao usar este serviço."
}
},
"area_registry": {
"caption": "Registo de áreas",
"description": "Visão geral de todas as áreas da sua casa."
"description": "Visão geral de todas as áreas da sua casa.",
"picker": {
"header": "Registo de áreas"
},
"no_areas": "Parece que ainda não tem áreas!",
"create_area": "CRIAR ÁREA",
"editor": {
"default_name": "Nova área",
"delete": "APAGAR",
"update": "ACTUALIZAR",
"create": "CRIAR"
}
},
"entity_registry": {
"caption": "Registo de Entidades",
"description": "Visão geral de todas as entidades conhecidas."
"description": "Visão geral de todas as entidades conhecidas.",
"picker": {
"header": "Registo de Entidades",
"unavailable": "(indisponível)"
},
"editor": {
"unavailable": "Esta entidade não está atualmente disponível.",
"default_name": "Nova área",
"delete": "APAGAR",
"update": "ACTUALIZAR"
}
},
"person": {
"caption": "Pessoas",
"description": "Gerir as que pessoas que o Home Assistant segue.",
"detail": {
"name": "Nome",
"device_tracker_intro": "Selecione os dispositivos que pertencem a esta pessoa.",
"device_tracker_picked": "Seguir dispositivo",
"device_tracker_pick": "Escolha o dispositivo a seguir"
}
}
},
"profile": {
@ -724,6 +764,29 @@
"abort": {
"not_whitelisted": "O seu computador não está na lista de endereços permitidos."
}
},
"command_line": {
"step": {
"init": {
"data": {
"username": "Utilizador",
"password": "Palavra-passe"
}
},
"mfa": {
"data": {
"code": "Código de autenticações por dois factores"
},
"description": "Abrir **{mfa_module_name}** no seu dispositivo para ver o código de autenticação por dois factores e verificar a sua identidade:"
}
},
"error": {
"invalid_auth": "Nome de utilizador ou palavra-passe inválidos",
"invalid_code": "Código de autenticação inválido"
},
"abort": {
"login_expired": "Sessão expirou, por favor entre novamente."
}
}
}
}
@ -753,6 +816,7 @@
},
"empty_state": {
"title": "Bem-vindo a casa",
"no_devices": "Esta página permite-lhe controlar os seus dispositivos, no entanto, parece que ainda não tem dispositivos configurados. Vá para a página de integrações para começar.",
"go_to_integrations_page": "Ir para a página das integrações."
}
},
@ -764,7 +828,8 @@
"pick_card": "Escolha o cartão que deseja adicionar.",
"add": "Adicionar Cartão",
"edit": "Editar",
"delete": "Apagar"
"delete": "Apagar",
"move": "Mover"
},
"migrate": {
"header": "Configuração Incompatível",
@ -785,6 +850,9 @@
"para_sure": "Tem certeza que deseja assumir o controle sobre a interface de utilizador?",
"cancel": "Cancelar",
"save": "Assumir o controle"
},
"menu": {
"raw_editor": "Editor de configuração fonte."
}
},
"menu": {
@ -864,7 +932,8 @@
"arm_home": "Armado casa",
"arm_away": "Armado ausente",
"arm_night": "Armado noite",
"armed_custom_bypass": "Desvio personalizado"
"armed_custom_bypass": "Desvio personalizado",
"arm_custom_bypass": "bypass personalizado"
},
"automation": {
"last_triggered": "Última ocorrência",
@ -969,10 +1038,10 @@
"sun": {
"elevation": "Elevação",
"rising": "Nascer do sol",
"setting": "Por do sol"
"setting": "Pôr do sol"
},
"updater": {
"title": "Instruções de atualização"
"title": "Instruções para atualização"
}
}
},
@ -1028,7 +1097,7 @@
"hassio": "Hass.io",
"homeassistant": "Home Assistant",
"lovelace": "Lovelace",
"system_health": "Integridade Do Sistema"
"system_health": "Saúde do sistema"
},
"attribute": {
"weather": {

View File

@ -694,6 +694,11 @@
"abort": {
"not_whitelisted": "Calculatorul dvs. nu este pe lista albă."
}
},
"command_line": {
"abort": {
"login_expired": "Sesiunea a expirat, va rugam logati-va din nou."
}
}
}
}

View File

@ -932,7 +932,8 @@
"arm_home": "Охрана (дома)",
"arm_away": "Охрана (не дома)",
"arm_night": "Ночная охрана",
"armed_custom_bypass": "Охрана с исключениями"
"armed_custom_bypass": "Охрана с исключениями",
"arm_custom_bypass": "Охрана с исключениями"
},
"automation": {
"last_triggered": "Последний запуск",
@ -1002,7 +1003,7 @@
},
"relative_time": {
"past": "{time} назад",
"future": "через {time}",
"future": "{time} назад",
"never": "Никогда",
"duration": {
"second": "{count} {count, plural,\n one {сек.}\n other {сек.}\n}",

View File

@ -346,7 +346,10 @@
},
"customize": {
"caption": "Prispôsobenie",
"description": "Prispôsobte svoje entity"
"description": "Prispôsobte svoje entity",
"picker": {
"header": "Prispôsobenie"
}
},
"automation": {
"caption": "Automatizácie",
@ -568,7 +571,8 @@
"hub": "Pripojené cez",
"firmware": "Firmvér: {version}",
"device_unavailable": "zariadenie nie je k dispozícii",
"entity_unavailable": "entita nie je k dispozícii"
"entity_unavailable": "entita nie je k dispozícii",
"no_area": "Žiadna oblasť"
}
},
"zha": {
@ -577,11 +581,42 @@
},
"area_registry": {
"caption": "Register oblastí",
"description": "Prehľad všetkých oblastí vo vašej domácnosti."
"description": "Prehľad všetkých oblastí vo vašej domácnosti.",
"picker": {
"header": "Register oblastí"
},
"no_areas": "Vyzerá to, že ešte nemáte žiadne oblasti!",
"create_area": "VYTVORIŤ OBLASŤ",
"editor": {
"default_name": "Nová oblasť",
"delete": "VYMAZAŤ",
"update": "AKTUALIZOVAŤ",
"create": "VYTVORIŤ"
}
},
"entity_registry": {
"caption": "Register entít",
"description": "Prehľad všetkých známych entít."
"description": "Prehľad všetkých známych entít.",
"picker": {
"header": "Register entít",
"unavailable": "(nedostupné)"
},
"editor": {
"unavailable": "Táto entita nie je momentálne k dispozícii.",
"default_name": "Nová oblasť",
"delete": "VYMAZAŤ",
"update": "AKTUALIZOVAŤ"
}
},
"person": {
"caption": "Osoby",
"description": "Spravujte osoby, ktoré Home Assistant sleduje.",
"detail": {
"name": "Meno",
"device_tracker_intro": "Vyberte zariadenia, ktoré patria tejto osobe.",
"device_tracker_picked": "Sledovať zariadenie",
"device_tracker_pick": "Vyberte zariadenie na sledovanie"
}
}
},
"profile": {
@ -724,6 +759,28 @@
"abort": {
"not_whitelisted": "Váš počítač nie je v zozname povolených zariadení."
}
},
"command_line": {
"step": {
"init": {
"data": {
"username": "Používateľské meno",
"password": "Heslo"
}
},
"mfa": {
"data": {
"code": "Dvojfaktorový autentifikačný kód"
}
}
},
"error": {
"invalid_auth": "Nesprávne používateľske meno alebo heslo",
"invalid_code": "Nesprávny autentifikačný kód"
},
"abort": {
"login_expired": "Relácia vypršala, prihlásťe sa prosím znova"
}
}
}
}
@ -764,7 +821,8 @@
"pick_card": "Vyberte kartu, ktorú chcete pridať.",
"add": "Pridať kartu",
"edit": "Upraviť",
"delete": "Odstrániť"
"delete": "Odstrániť",
"move": "Presunúť"
},
"migrate": {
"header": "Nekompatibilná konfigurácia",
@ -785,6 +843,9 @@
"para_sure": "Skutočne chcete prevziať kontrolu vášho používateľského rozhrania?",
"cancel": "Zrušiť",
"save": "Prevziať kontrolu"
},
"menu": {
"raw_editor": "Raw editor konfigurácie"
}
},
"menu": {

View File

@ -301,7 +301,8 @@
"period": "Obdobje"
},
"logbook": {
"showing_entries": "Prikaz vnosov za"
"showing_entries": "Prikaz vnosov za",
"period": "Obdobje"
},
"mailbox": {
"empty": "Nimate sporočil",
@ -345,7 +346,11 @@
},
"customize": {
"caption": "Prilagajanje",
"description": "Prilagodite svoje entitete"
"description": "Prilagodite svoje entitete",
"picker": {
"header": "Prilagajanje",
"introduction": "Prilagajanja atributov na subjektu. Dodane\/spremenjene prilagoditve začnejo veljati takoj. Odstranjene pa po posodobitvi subjekta."
}
},
"automation": {
"caption": "Avtomatizacija",
@ -433,6 +438,14 @@
"hours": "Ur",
"minutes": "Minut",
"seconds": "Sekund"
},
"geo_location": {
"label": "Geolokacija",
"source": "Vir",
"zone": "Območje",
"event": "Dogodek:",
"enter": "Vnesite",
"leave": "Odidi"
}
}
},
@ -560,12 +573,55 @@
"hub": "Povezan prek",
"firmware": "Firmware: {version}",
"device_unavailable": "naprava ni na voljo",
"entity_unavailable": "subjekt ni na voljo"
"entity_unavailable": "subjekt ni na voljo",
"no_area": "Brez območja"
}
},
"zha": {
"caption": "ZHA",
"description": "Upravljanje omrežja za avtomatizacijo doma Zigbee"
"description": "Upravljanje omrežja za avtomatizacijo doma Zigbee",
"services": {
"reconfigure": "Ponovno konfigurirajte napravo ZHA (\"pozdravite\" napravo). To uporabite, če imate z njo težave. Če ta naprava deluje na baterije, se prepričajte, da je budna in sprejema ukaze pri uporabi te storitve."
}
},
"area_registry": {
"caption": "Register območij",
"description": "Pregled vseh območij v vašem domu.",
"picker": {
"header": "Register območij"
},
"no_areas": "Izgleda, da še nimate območij!",
"create_area": "USTVARITE OBMOČJE",
"editor": {
"default_name": "Novo območje",
"delete": "BRISANJE",
"update": "POSODOBITEV",
"create": "USTVARITE"
}
},
"entity_registry": {
"caption": "Register subjekta",
"description": "Pregled vseh znanih subjektov.",
"picker": {
"header": "Register subjekta",
"unavailable": "(ni na voljo)"
},
"editor": {
"unavailable": "Ta entiteta trenutno ni na voljo.",
"default_name": "Novo območje",
"delete": "BRISANJE",
"update": "POSODOBITEV"
}
},
"person": {
"caption": "Osebe",
"description": "Upravljajte osebe, ki jih sledi Home Assistant.",
"detail": {
"name": "Ime",
"device_tracker_intro": "Izberite naprave, ki pripadajo tej osebi.",
"device_tracker_picked": "Sledi Napravi",
"device_tracker_pick": "Izberite napravo za sledenje"
}
}
},
"profile": {
@ -708,6 +764,29 @@
"abort": {
"not_whitelisted": "Vaš računalnik ni dodan med zaupanja vredne."
}
},
"command_line": {
"step": {
"init": {
"data": {
"username": "Uporabniško ime",
"password": "Geslo"
}
},
"mfa": {
"data": {
"code": "Dvofaktorska koda za avtorizacijo"
},
"description": "V svoji napravi odprite **{mfa_module_name}**, da si ogledate svojo dvofaktorsko kodo za preverjanje pristnosti in preverite svojo identiteto:"
}
},
"error": {
"invalid_auth": "Neveljavno uporabniško ime ali geslo",
"invalid_code": "Neveljavna avtorizacijska koda"
},
"abort": {
"login_expired": "Seja je potekla, prosimo, prijavite se znova."
}
}
}
}
@ -734,6 +813,11 @@
"checked_items": "Označeni predmeti",
"clear_items": "Počisti označene elemente",
"add_item": "Dodaj element"
},
"empty_state": {
"title": "Dobrodošli Doma",
"no_devices": "Ta stran vam omogoča nadzor nad napravami, vendar je videti, da še niste nastavili nobenih naprav. Pojdite na stran za integracije, da začnete.",
"go_to_integrations_page": "Pojdite na stran za integracije."
}
},
"editor": {
@ -744,7 +828,8 @@
"pick_card": "Izberite kartico, ki jo želite dodati.",
"add": "Dodaj kartico",
"edit": "Uredi",
"delete": "Izbriši"
"delete": "Izbriši",
"move": "Premakni"
},
"migrate": {
"header": "Konfiguracija Nezdružljiva",
@ -765,10 +850,16 @@
"para_sure": "Ali ste prepričani, da želite prevzeti nadzor nad vašim vmesnikom?",
"cancel": "Pozabi",
"save": "Prevzemite nadzor"
},
"menu": {
"raw_editor": "Urejevalnik konfiguracije"
}
},
"menu": {
"configure_ui": "Konfiguriraj UI"
"configure_ui": "Konfiguriraj UI",
"unused_entities": "Neuporabljeni subjekti",
"help": "Pomoč",
"refresh": "Osveži"
}
}
},
@ -841,7 +932,8 @@
"arm_home": "Vklopi doma",
"arm_away": "Vklopi odsoten",
"arm_night": "Vklopi nočni način",
"armed_custom_bypass": "Po meri"
"armed_custom_bypass": "Po meri",
"arm_custom_bypass": "Izjeme po meri"
},
"automation": {
"last_triggered": "Nazadnje sprožen",
@ -1001,7 +1093,11 @@
"weblink": "Spletna povezava",
"zwave": "Z-Wave",
"vacuum": "Sesam",
"zha": "ZHA"
"zha": "ZHA",
"hassio": "Hass.io",
"homeassistant": "Home Assistant",
"lovelace": "Lovelace",
"system_health": "Zdravje sistema"
},
"attribute": {
"weather": {

View File

@ -727,6 +727,11 @@
"abort": {
"not_whitelisted": "Din dator är inte vitlistad"
}
},
"command_line": {
"abort": {
"login_expired": "Sessionen avslutades. Logga in igen."
}
}
}
}

View File

@ -504,6 +504,11 @@
"abort": {
"not_whitelisted": "మీ కంప్యూటర్ అనుమతి జాబితాలో లేదు."
}
},
"command_line": {
"abort": {
"login_expired": "సెషన్ గడువు ముగిసింది, మళ్ళీ లాగిన్ అవ్వండి."
}
}
}
}

View File

@ -611,6 +611,11 @@
"description": "Lütfen giriş yapmak istediğiniz bir kullanıcı seçin:"
}
}
},
"command_line": {
"abort": {
"login_expired": "Oturum süresi doldu, lütfen tekrar giriş yapın."
}
}
}
}

View File

@ -719,6 +719,11 @@
"abort": {
"not_whitelisted": "Ваш комп'ютер не включений в білий список."
}
},
"command_line": {
"abort": {
"login_expired": "Сесія закінчилася, увійдіть знову."
}
}
}
}

View File

@ -662,6 +662,11 @@
"abort": {
"not_whitelisted": "Máy tính của bạn không nằm trong danh sách trắng."
}
},
"command_line": {
"abort": {
"login_expired": "Phiên làm việc đã hết hạn, vui lòng đăng nhập lại."
}
}
}
}

View File

@ -721,6 +721,11 @@
"abort": {
"not_whitelisted": "您的电脑不在白名单内。"
}
},
"command_line": {
"abort": {
"login_expired": "会话已过期,请重新登录。"
}
}
}
}