mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-25 02:06:42 +00:00
Merge pull request #6282 from home-assistant/dev
This commit is contained in:
commit
7d9bae16cd
@ -178,7 +178,6 @@ module.exports.config = {
|
|||||||
publicPath: publicPath(latestBuild, paths.hassio_publicPath),
|
publicPath: publicPath(latestBuild, paths.hassio_publicPath),
|
||||||
isProdBuild,
|
isProdBuild,
|
||||||
latestBuild,
|
latestBuild,
|
||||||
dontHash: new Set(["entrypoint"]),
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -90,8 +90,6 @@ gulp.task("gen-pages-prod", (done) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
gulp.task("gen-index-app-dev", (done) => {
|
gulp.task("gen-index-app-dev", (done) => {
|
||||||
// In dev mode we don't mangle names, so we hardcode urls. That way we can
|
|
||||||
// run webpack as last in watch mode, which blocks output.
|
|
||||||
const content = renderTemplate("index", {
|
const content = renderTemplate("index", {
|
||||||
latestAppJS: "/frontend_latest/app.js",
|
latestAppJS: "/frontend_latest/app.js",
|
||||||
latestCoreJS: "/frontend_latest/core.js",
|
latestCoreJS: "/frontend_latest/core.js",
|
||||||
@ -201,8 +199,6 @@ gulp.task("gen-index-cast-prod", (done) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
gulp.task("gen-index-demo-dev", (done) => {
|
gulp.task("gen-index-demo-dev", (done) => {
|
||||||
// In dev mode we don't mangle names, so we hardcode urls. That way we can
|
|
||||||
// run webpack as last in watch mode, which blocks output.
|
|
||||||
const content = renderDemoTemplate("index", {
|
const content = renderDemoTemplate("index", {
|
||||||
latestDemoJS: "/frontend_latest/main.js",
|
latestDemoJS: "/frontend_latest/main.js",
|
||||||
|
|
||||||
@ -240,8 +236,6 @@ gulp.task("gen-index-demo-prod", (done) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
gulp.task("gen-index-gallery-dev", (done) => {
|
gulp.task("gen-index-gallery-dev", (done) => {
|
||||||
// In dev mode we don't mangle names, so we hardcode urls. That way we can
|
|
||||||
// run webpack as last in watch mode, which blocks output.
|
|
||||||
const content = renderGalleryTemplate("index", {
|
const content = renderGalleryTemplate("index", {
|
||||||
latestGalleryJS: "./frontend_latest/entrypoint.js",
|
latestGalleryJS: "./frontend_latest/entrypoint.js",
|
||||||
});
|
});
|
||||||
@ -269,3 +263,39 @@ gulp.task("gen-index-gallery-prod", (done) => {
|
|||||||
);
|
);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
gulp.task("gen-index-hassio-dev", async () => {
|
||||||
|
writeHassioEntrypoint("entrypoint.js", "entrypoints.js");
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task("gen-index-hassio-prod", async () => {
|
||||||
|
const latestManifest = require(path.resolve(
|
||||||
|
paths.hassio_output_latest,
|
||||||
|
"manifest.json"
|
||||||
|
));
|
||||||
|
const es5Manifest = require(path.resolve(
|
||||||
|
paths.hassio_output_es5,
|
||||||
|
"manifest.json"
|
||||||
|
));
|
||||||
|
writeHassioEntrypoint(
|
||||||
|
latestManifest["entrypoint.js"],
|
||||||
|
es5Manifest["entrypoint.js"]
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
function writeHassioEntrypoint(latestEntrypoint, es5Entrypoint) {
|
||||||
|
fs.mkdirSync(paths.hassio_output_root, { recursive: true });
|
||||||
|
fs.writeFileSync(
|
||||||
|
path.resolve(paths.hassio_output_root, "entrypoint.js"),
|
||||||
|
`
|
||||||
|
try {
|
||||||
|
new Function("import('${paths.hassio_publicPath}/frontend_latest/${latestEntrypoint}')")();
|
||||||
|
} catch (err) {
|
||||||
|
var el = document.createElement('script');
|
||||||
|
el.src = '${paths.hassio_publicPath}/frontend_es5/${es5Entrypoint}';
|
||||||
|
document.body.appendChild(el);
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
{ encoding: "utf-8" }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
@ -11,24 +11,6 @@ require("./webpack.js");
|
|||||||
require("./compress.js");
|
require("./compress.js");
|
||||||
require("./rollup.js");
|
require("./rollup.js");
|
||||||
|
|
||||||
async function writeEntrypointJS() {
|
|
||||||
// We ship two builds and we need to do feature detection on what version to load.
|
|
||||||
fs.mkdirSync(paths.hassio_output_root, { recursive: true });
|
|
||||||
fs.writeFileSync(
|
|
||||||
path.resolve(paths.hassio_output_root, "entrypoint.js"),
|
|
||||||
`
|
|
||||||
try {
|
|
||||||
new Function("import('${paths.hassio_publicPath}/frontend_latest/entrypoint.js')")();
|
|
||||||
} catch (err) {
|
|
||||||
var el = document.createElement('script');
|
|
||||||
el.src = '${paths.hassio_publicPath}/frontend_es5/entrypoint.js';
|
|
||||||
document.body.appendChild(el);
|
|
||||||
}
|
|
||||||
`,
|
|
||||||
{ encoding: "utf-8" }
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
gulp.task(
|
gulp.task(
|
||||||
"develop-hassio",
|
"develop-hassio",
|
||||||
gulp.series(
|
gulp.series(
|
||||||
@ -37,7 +19,7 @@ gulp.task(
|
|||||||
},
|
},
|
||||||
"clean-hassio",
|
"clean-hassio",
|
||||||
"gen-icons-json",
|
"gen-icons-json",
|
||||||
writeEntrypointJS,
|
"gen-index-hassio-dev",
|
||||||
env.useRollup() ? "rollup-watch-hassio" : "webpack-watch-hassio"
|
env.useRollup() ? "rollup-watch-hassio" : "webpack-watch-hassio"
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -51,7 +33,7 @@ gulp.task(
|
|||||||
"clean-hassio",
|
"clean-hassio",
|
||||||
"gen-icons-json",
|
"gen-icons-json",
|
||||||
env.useRollup() ? "rollup-prod-hassio" : "webpack-prod-hassio",
|
env.useRollup() ? "rollup-prod-hassio" : "webpack-prod-hassio",
|
||||||
writeEntrypointJS,
|
"gen-index-hassio-prod",
|
||||||
...// Don't compress running tests
|
...// Don't compress running tests
|
||||||
(env.isTest() ? [] : ["compress-hassio"])
|
(env.isTest() ? [] : ["compress-hassio"])
|
||||||
)
|
)
|
||||||
|
@ -34,6 +34,11 @@ module.exports = {
|
|||||||
|
|
||||||
hassio_dir: path.resolve(__dirname, "../hassio"),
|
hassio_dir: path.resolve(__dirname, "../hassio"),
|
||||||
hassio_output_root: path.resolve(__dirname, "../hassio/build"),
|
hassio_output_root: path.resolve(__dirname, "../hassio/build"),
|
||||||
|
hassio_output_latest: path.resolve(
|
||||||
|
__dirname,
|
||||||
|
"../hassio/build/frontend_latest"
|
||||||
|
),
|
||||||
|
hassio_output_es5: path.resolve(__dirname, "../hassio/build/frontend_es5"),
|
||||||
hassio_publicPath: "/api/hassio/app",
|
hassio_publicPath: "/api/hassio/app",
|
||||||
|
|
||||||
translations_src: path.resolve(__dirname, "../src/translations"),
|
translations_src: path.resolve(__dirname, "../src/translations"),
|
||||||
|
@ -26,9 +26,9 @@ export const demoThemeJimpower = () => ({
|
|||||||
"switch-checked-color": "var(--accent-color)",
|
"switch-checked-color": "var(--accent-color)",
|
||||||
"paper-dialog-background-color": "#434954",
|
"paper-dialog-background-color": "#434954",
|
||||||
"secondary-text-color": "#5294E2",
|
"secondary-text-color": "#5294E2",
|
||||||
"google-red-500": "#E45E65",
|
"error-color": "#E45E65",
|
||||||
"divider-color": "rgba(0, 0, 0, .12)",
|
"divider-color": "rgba(0, 0, 0, .12)",
|
||||||
"google-green-500": "#39E949",
|
"success-color": "#39E949",
|
||||||
"switch-unchecked-button-color": "var(--disabled-text-color)",
|
"switch-unchecked-button-color": "var(--disabled-text-color)",
|
||||||
"label-badge-border-color": "green",
|
"label-badge-border-color": "green",
|
||||||
"paper-listbox-color": "var(--primary-color)",
|
"paper-listbox-color": "var(--primary-color)",
|
||||||
|
@ -27,9 +27,9 @@ export const demoThemeKernehed = () => ({
|
|||||||
"switch-checked-color": "var(--accent-color)",
|
"switch-checked-color": "var(--accent-color)",
|
||||||
"paper-dialog-background-color": "#292929",
|
"paper-dialog-background-color": "#292929",
|
||||||
"secondary-text-color": "#b58e31",
|
"secondary-text-color": "#b58e31",
|
||||||
"google-red-500": "#b58e31",
|
"error-color": "#b58e31",
|
||||||
"divider-color": "rgba(0, 0, 0, .12)",
|
"divider-color": "rgba(0, 0, 0, .12)",
|
||||||
"google-green-500": "#2980b9",
|
"success-color": "#2980b9",
|
||||||
"switch-unchecked-button-color": "var(--disabled-text-color)",
|
"switch-unchecked-button-color": "var(--disabled-text-color)",
|
||||||
"label-badge-border-color": "green",
|
"label-badge-border-color": "green",
|
||||||
"paper-listbox-color": "#777777",
|
"paper-listbox-color": "#777777",
|
||||||
|
@ -107,7 +107,7 @@ class HassioAddonAudio extends LitElement {
|
|||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.errors {
|
.errors {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
paper-item {
|
paper-item {
|
||||||
|
@ -84,7 +84,7 @@ class HassioAddonConfig extends LitElement {
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
.errors {
|
.errors {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
}
|
}
|
||||||
iron-autogrow-textarea {
|
iron-autogrow-textarea {
|
||||||
@ -92,7 +92,7 @@ class HassioAddonConfig extends LitElement {
|
|||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
}
|
}
|
||||||
.syntaxerror {
|
.syntaxerror {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
];
|
];
|
||||||
|
@ -105,7 +105,7 @@ class HassioAddonNetwork extends LitElement {
|
|||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.errors {
|
.errors {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
.card-actions {
|
.card-actions {
|
||||||
|
@ -560,7 +560,7 @@ class HassioAddonInfo extends LitElement {
|
|||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
ha-card.warning {
|
ha-card.warning {
|
||||||
background-color: var(--google-red-500);
|
background-color: var(--error-color);
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
ha-card.warning .card-header {
|
ha-card.warning .card-header {
|
||||||
@ -573,8 +573,8 @@ class HassioAddonInfo extends LitElement {
|
|||||||
--mdc-theme-primary: white !important;
|
--mdc-theme-primary: white !important;
|
||||||
}
|
}
|
||||||
.warning {
|
.warning {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
--mdc-theme-primary: var(--google-red-500);
|
--mdc-theme-primary: var(--error-color);
|
||||||
}
|
}
|
||||||
.light-color {
|
.light-color {
|
||||||
color: var(--secondary-text-color);
|
color: var(--secondary-text-color);
|
||||||
@ -590,7 +590,7 @@ class HassioAddonInfo extends LitElement {
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
.errors {
|
.errors {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
.description {
|
.description {
|
||||||
|
@ -62,7 +62,7 @@ class HassioAddonLogs extends LitElement {
|
|||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.errors {
|
.errors {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
|
@ -98,7 +98,7 @@ class HassioCardContent extends LitElement {
|
|||||||
color: var(--paper-item-icon-color);
|
color: var(--paper-item-icon-color);
|
||||||
}
|
}
|
||||||
ha-svg-icon.not_available {
|
ha-svg-icon.not_available {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
.title {
|
.title {
|
||||||
color: var(--primary-text-color);
|
color: var(--primary-text-color);
|
||||||
|
@ -180,7 +180,7 @@ export class HassioUpdate extends LitElement {
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.errors {
|
.errors {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
padding: 16px;
|
padding: 16px;
|
||||||
}
|
}
|
||||||
a {
|
a {
|
||||||
|
@ -224,7 +224,7 @@ class HassioSnapshotDialog extends LitElement {
|
|||||||
}
|
}
|
||||||
.warning,
|
.warning,
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
.buttons {
|
.buttons {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -146,7 +146,7 @@ class HassioHostInfo extends LitElement {
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.errors {
|
.errors {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
}
|
}
|
||||||
mwc-button.info {
|
mwc-button.info {
|
||||||
@ -156,7 +156,7 @@ class HassioHostInfo extends LitElement {
|
|||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
.warning {
|
.warning {
|
||||||
--mdc-theme-primary: var(--google-red-500);
|
--mdc-theme-primary: var(--error-color);
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
];
|
];
|
||||||
|
@ -117,7 +117,7 @@ class HassioSupervisorInfo extends LitElement {
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.errors {
|
.errors {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
|
@ -123,7 +123,7 @@ class HassioSupervisorLog extends LitElement {
|
|||||||
width: 96%;
|
width: 96%;
|
||||||
}
|
}
|
||||||
.errors {
|
.errors {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
.card-content {
|
.card-content {
|
||||||
|
@ -86,7 +86,7 @@
|
|||||||
"fecha": "^4.2.0",
|
"fecha": "^4.2.0",
|
||||||
"fuse.js": "^6.0.0",
|
"fuse.js": "^6.0.0",
|
||||||
"google-timezones-json": "^1.0.2",
|
"google-timezones-json": "^1.0.2",
|
||||||
"hls.js": "^0.12.4",
|
"hls.js": "^0.13.2",
|
||||||
"home-assistant-js-websocket": "^5.4.1",
|
"home-assistant-js-websocket": "^5.4.1",
|
||||||
"idb-keyval": "^3.2.0",
|
"idb-keyval": "^3.2.0",
|
||||||
"intl-messageformat": "^8.3.9",
|
"intl-messageformat": "^8.3.9",
|
||||||
|
2
setup.py
2
setup.py
@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="home-assistant-frontend",
|
name="home-assistant-frontend",
|
||||||
version="20200626.1",
|
version="20200629.0",
|
||||||
description="The Home Assistant frontend",
|
description="The Home Assistant frontend",
|
||||||
url="https://github.com/home-assistant/home-assistant-polymer",
|
url="https://github.com/home-assistant/home-assistant-polymer",
|
||||||
author="The Home Assistant Authors",
|
author="The Home Assistant Authors",
|
||||||
|
8
src/common/dom/deep-active-element.ts
Normal file
8
src/common/dom/deep-active-element.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
export const deepActiveElement = (
|
||||||
|
root: DocumentOrShadowRoot = document
|
||||||
|
): Element | null => {
|
||||||
|
if (root.activeElement?.shadowRoot?.activeElement) {
|
||||||
|
return deepActiveElement(root.activeElement.shadowRoot);
|
||||||
|
}
|
||||||
|
return root.activeElement;
|
||||||
|
};
|
@ -8,6 +8,7 @@ import { DEFAULT_DOMAIN_ICON } from "../const";
|
|||||||
const fixedIcons = {
|
const fixedIcons = {
|
||||||
alert: "hass:alert",
|
alert: "hass:alert",
|
||||||
alexa: "hass:amazon-alexa",
|
alexa: "hass:amazon-alexa",
|
||||||
|
air_quality: "hass:air-filter",
|
||||||
automation: "hass:robot",
|
automation: "hass:robot",
|
||||||
calendar: "hass:calendar",
|
calendar: "hass:calendar",
|
||||||
camera: "hass:video",
|
camera: "hass:video",
|
||||||
|
@ -22,13 +22,13 @@ class HaProgressButton extends PolymerElement {
|
|||||||
|
|
||||||
.success mwc-button {
|
.success mwc-button {
|
||||||
--mdc-theme-primary: white;
|
--mdc-theme-primary: white;
|
||||||
background-color: var(--google-green-500);
|
background-color: var(--success-color);
|
||||||
transition: none;
|
transition: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.error mwc-button {
|
.error mwc-button {
|
||||||
--mdc-theme-primary: white;
|
--mdc-theme-primary: white;
|
||||||
background-color: var(--google-red-500);
|
background-color: var(--error-color);
|
||||||
transition: none;
|
transition: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -178,6 +178,9 @@ class HaCameraStream extends LitElement {
|
|||||||
) {
|
) {
|
||||||
const hls = new Hls({
|
const hls = new Hls({
|
||||||
liveBackBufferLength: 60,
|
liveBackBufferLength: 60,
|
||||||
|
fragLoadingTimeOut: 30000,
|
||||||
|
manifestLoadingTimeOut: 30000,
|
||||||
|
levelLoadingTimeOut: 30000,
|
||||||
});
|
});
|
||||||
this._hlsPolyfillInstance = hls;
|
this._hlsPolyfillInstance = hls;
|
||||||
hls.attachMedia(videoEl);
|
hls.attachMedia(videoEl);
|
||||||
|
@ -20,7 +20,7 @@ class HaClimateControl extends EventsMixin(PolymerElement) {
|
|||||||
@apply --layout-justified;
|
@apply --layout-justified;
|
||||||
}
|
}
|
||||||
.in-flux#target_temperature {
|
.in-flux#target_temperature {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
#target_temperature {
|
#target_temperature {
|
||||||
@apply --layout-self-center;
|
@apply --layout-self-center;
|
||||||
|
@ -20,7 +20,7 @@ class HaWaterHeaterControl extends EventsMixin(PolymerElement) {
|
|||||||
@apply --layout-justified;
|
@apply --layout-justified;
|
||||||
}
|
}
|
||||||
.in-flux#target_temperature {
|
.in-flux#target_temperature {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
#target_temperature {
|
#target_temperature {
|
||||||
@apply --layout-self-center;
|
@apply --layout-self-center;
|
||||||
|
@ -180,7 +180,7 @@ class DialogConfigEntrySystemOptions extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
];
|
];
|
||||||
|
@ -132,7 +132,7 @@ class DialogDeviceRegistryDetail extends LitElement {
|
|||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
}
|
}
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
];
|
];
|
||||||
|
@ -34,7 +34,7 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) {
|
|||||||
max-width: 200px;
|
max-width: 200px;
|
||||||
}
|
}
|
||||||
mwc-button.disarm {
|
mwc-button.disarm {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ class MoreInfoControls extends LocalizeMixin(EventsMixin(PolymerElement)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mwc-button.warning {
|
mwc-button.warning {
|
||||||
--mdc-theme-primary: var(--google-red-500);
|
--mdc-theme-primary: var(--error-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
:host([domain="camera"]) paper-dialog-scrollable {
|
:host([domain="camera"]) paper-dialog-scrollable {
|
||||||
|
@ -446,7 +446,7 @@ export class HaVoiceCommandDialog extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.message.error {
|
.message.error {
|
||||||
background-color: var(--google-red-500);
|
background-color: var(--error-color);
|
||||||
color: var(--text-primary-color);
|
color: var(--text-primary-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,11 +76,15 @@ export class HomeAssistantAppEl extends HassElement {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
this._loadHassTranslations(this.hass!.language, "state");
|
this._loadHassTranslations(this.hass!.language, "state");
|
||||||
|
|
||||||
|
this.addEventListener("unsuspend-app", () => this._onVisible(), false);
|
||||||
|
|
||||||
document.addEventListener(
|
document.addEventListener(
|
||||||
"visibilitychange",
|
"visibilitychange",
|
||||||
() => this._handleVisibilityChange(),
|
() => this._checkVisibility(),
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
document.addEventListener("freeze", () => this._suspendApp());
|
||||||
|
document.addEventListener("resume", () => this._checkVisibility());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected hassReconnected() {
|
protected hassReconnected() {
|
||||||
@ -148,30 +152,53 @@ export class HomeAssistantAppEl extends HassElement {
|
|||||||
: route.path.substr(1, dividerPos - 1);
|
: route.path.substr(1, dividerPos - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected _handleVisibilityChange() {
|
protected _checkVisibility() {
|
||||||
if (document.hidden) {
|
if (document.hidden) {
|
||||||
// If the document is hidden, we will prevent reconnects until we are visible again
|
// If the document is hidden, we will prevent reconnects until we are visible again
|
||||||
this.hass!.connection.suspendReconnectUntil(
|
this._onHidden();
|
||||||
new Promise((resolve) => {
|
|
||||||
this._visiblePromiseResolve = resolve;
|
|
||||||
})
|
|
||||||
);
|
|
||||||
// We close the connection to Home Assistant after being hidden for 5 minutes
|
|
||||||
this._hiddenTimeout = window.setTimeout(() => {
|
|
||||||
this._hiddenTimeout = undefined;
|
|
||||||
this.hass!.connection.suspend();
|
|
||||||
}, 300000);
|
|
||||||
} else {
|
} else {
|
||||||
// Clear timer to close the connection
|
this._onVisible();
|
||||||
if (this._hiddenTimeout) {
|
}
|
||||||
clearTimeout(this._hiddenTimeout);
|
}
|
||||||
this._hiddenTimeout = undefined;
|
|
||||||
}
|
private _onHidden() {
|
||||||
// Unsuspend the reconnect
|
if (this._visiblePromiseResolve) {
|
||||||
if (this._visiblePromiseResolve) {
|
return;
|
||||||
this._visiblePromiseResolve();
|
}
|
||||||
this._visiblePromiseResolve = undefined;
|
this.hass!.connection.suspendReconnectUntil(
|
||||||
|
new Promise((resolve) => {
|
||||||
|
this._visiblePromiseResolve = resolve;
|
||||||
|
})
|
||||||
|
);
|
||||||
|
// We close the connection to Home Assistant after being hidden for 5 minutes
|
||||||
|
this._hiddenTimeout = window.setTimeout(() => {
|
||||||
|
this._hiddenTimeout = undefined;
|
||||||
|
// setTimeout can be delayed in the background and only fire
|
||||||
|
// when we switch to the tab or app again (Hey Android!)
|
||||||
|
if (!document.hidden) {
|
||||||
|
this._suspendApp();
|
||||||
}
|
}
|
||||||
|
}, 300000);
|
||||||
|
window.addEventListener("focus", () => this._onVisible(), { once: true });
|
||||||
|
}
|
||||||
|
|
||||||
|
private _suspendApp() {
|
||||||
|
if (!this.hass!.connection.connected) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.hass!.connection.suspend();
|
||||||
|
}
|
||||||
|
|
||||||
|
private _onVisible() {
|
||||||
|
// Clear timer to close the connection
|
||||||
|
if (this._hiddenTimeout) {
|
||||||
|
clearTimeout(this._hiddenTimeout);
|
||||||
|
this._hiddenTimeout = undefined;
|
||||||
|
}
|
||||||
|
// Unsuspend the reconnect
|
||||||
|
if (this._visiblePromiseResolve) {
|
||||||
|
this._visiblePromiseResolve();
|
||||||
|
this._visiblePromiseResolve = undefined;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ import {
|
|||||||
STATE_RUNNING,
|
STATE_RUNNING,
|
||||||
} from "home-assistant-js-websocket";
|
} from "home-assistant-js-websocket";
|
||||||
import { CustomPanelInfo } from "../data/panel_custom";
|
import { CustomPanelInfo } from "../data/panel_custom";
|
||||||
|
import { deepActiveElement } from "../common/dom/deep-active-element";
|
||||||
|
|
||||||
const CACHE_URL_PATHS = ["lovelace", "developer-tools"];
|
const CACHE_URL_PATHS = ["lovelace", "developer-tools"];
|
||||||
const COMPONENTS = {
|
const COMPONENTS = {
|
||||||
@ -92,18 +93,22 @@ class PartialPanelResolver extends HassRouterPage {
|
|||||||
|
|
||||||
private _waitForStart = false;
|
private _waitForStart = false;
|
||||||
|
|
||||||
private _disconnectedPanel?: ChildNode;
|
private _disconnectedPanel?: HTMLElement;
|
||||||
|
|
||||||
|
private _disconnectedActiveElement?: HTMLElement;
|
||||||
|
|
||||||
private _hiddenTimeout?: number;
|
private _hiddenTimeout?: number;
|
||||||
|
|
||||||
protected firstUpdated(changedProps: PropertyValues) {
|
protected firstUpdated(changedProps: PropertyValues) {
|
||||||
super.firstUpdated(changedProps);
|
super.firstUpdated(changedProps);
|
||||||
|
|
||||||
|
// Attach listeners for visibility
|
||||||
document.addEventListener(
|
document.addEventListener(
|
||||||
"visibilitychange",
|
"visibilitychange",
|
||||||
() => this._handleVisibilityChange(),
|
() => this._checkVisibility(),
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
document.addEventListener("resume", () => this._checkVisibility());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected updated(changedProps: PropertyValues) {
|
protected updated(changedProps: PropertyValues) {
|
||||||
@ -156,34 +161,58 @@ class PartialPanelResolver extends HassRouterPage {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private _handleVisibilityChange() {
|
private _checkVisibility() {
|
||||||
if (document.hidden) {
|
if (document.hidden) {
|
||||||
this._hiddenTimeout = window.setTimeout(() => {
|
this._onHidden();
|
||||||
this._hiddenTimeout = undefined;
|
|
||||||
const curPanel = this.hass.panels[this._currentPage];
|
|
||||||
if (
|
|
||||||
this.lastChild &&
|
|
||||||
// iFrames will lose their state when disconnected
|
|
||||||
// Do not disconnect any iframe panel
|
|
||||||
curPanel.component_name !== "iframe" &&
|
|
||||||
// Do not disconnect any custom panel that embeds into iframe (ie hassio)
|
|
||||||
(curPanel.component_name !== "custom" ||
|
|
||||||
!(curPanel.config as CustomPanelInfo).config._panel_custom
|
|
||||||
.embed_iframe)
|
|
||||||
) {
|
|
||||||
this._disconnectedPanel = this.lastChild;
|
|
||||||
this.removeChild(this.lastChild);
|
|
||||||
}
|
|
||||||
}, 300000);
|
|
||||||
} else {
|
} else {
|
||||||
if (this._hiddenTimeout) {
|
this._onVisible();
|
||||||
clearTimeout(this._hiddenTimeout);
|
}
|
||||||
this._hiddenTimeout = undefined;
|
}
|
||||||
|
|
||||||
|
private _onHidden() {
|
||||||
|
this._hiddenTimeout = window.setTimeout(() => {
|
||||||
|
this._hiddenTimeout = undefined;
|
||||||
|
// setTimeout can be delayed in the background and only fire
|
||||||
|
// when we switch to the tab or app again (Hey Android!)
|
||||||
|
if (!document.hidden) {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if (this._disconnectedPanel) {
|
const curPanel = this.hass.panels[this._currentPage];
|
||||||
this.appendChild(this._disconnectedPanel);
|
if (
|
||||||
this._disconnectedPanel = undefined;
|
this.lastChild &&
|
||||||
|
// iFrames will lose their state when disconnected
|
||||||
|
// Do not disconnect any iframe panel
|
||||||
|
curPanel.component_name !== "iframe" &&
|
||||||
|
// Do not disconnect any custom panel that embeds into iframe (ie hassio)
|
||||||
|
(curPanel.component_name !== "custom" ||
|
||||||
|
!(curPanel.config as CustomPanelInfo).config._panel_custom
|
||||||
|
.embed_iframe)
|
||||||
|
) {
|
||||||
|
this._disconnectedPanel = this.lastChild as HTMLElement;
|
||||||
|
const activeEl = deepActiveElement(
|
||||||
|
this._disconnectedPanel.shadowRoot || undefined
|
||||||
|
);
|
||||||
|
if (activeEl instanceof HTMLElement) {
|
||||||
|
this._disconnectedActiveElement = activeEl;
|
||||||
|
}
|
||||||
|
this.removeChild(this.lastChild);
|
||||||
}
|
}
|
||||||
|
}, 300000);
|
||||||
|
window.addEventListener("focus", () => this._onVisible(), { once: true });
|
||||||
|
}
|
||||||
|
|
||||||
|
private _onVisible() {
|
||||||
|
if (this._hiddenTimeout) {
|
||||||
|
clearTimeout(this._hiddenTimeout);
|
||||||
|
this._hiddenTimeout = undefined;
|
||||||
|
}
|
||||||
|
if (this._disconnectedPanel) {
|
||||||
|
this.appendChild(this._disconnectedPanel);
|
||||||
|
this._disconnectedPanel = undefined;
|
||||||
|
}
|
||||||
|
if (this._disconnectedActiveElement) {
|
||||||
|
this._disconnectedActiveElement.focus();
|
||||||
|
this._disconnectedActiveElement = undefined;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@ class DialogAreaDetail extends LitElement {
|
|||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
}
|
}
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
];
|
];
|
||||||
|
@ -445,7 +445,7 @@ export class HaAutomationEditor extends LitElement {
|
|||||||
.errors {
|
.errors {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
.content {
|
.content {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
|
@ -257,7 +257,7 @@ class DialogThingtalk extends LitElement {
|
|||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
.attribution {
|
.attribution {
|
||||||
color: var(--secondary-text-color);
|
color: var(--secondary-text-color);
|
||||||
|
@ -480,7 +480,7 @@ export class ThingTalkPlaceholders extends SubscribeMixin(LitElement) {
|
|||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
];
|
];
|
||||||
|
@ -32,7 +32,7 @@ class CloudForgotPassword extends LocalizeMixin(EventsMixin(PolymerElement)) {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
.card-actions {
|
.card-actions {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -52,7 +52,7 @@ class CloudLogin extends LocalizeMixin(
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
.card-actions {
|
.card-actions {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -39,7 +39,7 @@ class CloudRegister extends LocalizeMixin(EventsMixin(PolymerElement)) {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
.card-actions {
|
.card-actions {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -27,7 +27,7 @@ class HaConfigSectionCore extends LocalizeMixin(PolymerElement) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.validate-result {
|
.validate-result {
|
||||||
color: var(--google-green-500);
|
color: var(--success-color);
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
}
|
}
|
||||||
@ -37,7 +37,7 @@ class HaConfigSectionCore extends LocalizeMixin(PolymerElement) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.config-invalid .text {
|
.config-invalid .text {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -292,7 +292,7 @@ export class DialogEntityEditor extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mwc-button.warning {
|
mwc-button.warning {
|
||||||
--mdc-theme-primary: var(--google-red-500);
|
--mdc-theme-primary: var(--error-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
:host([rtl]) app-toolbar {
|
:host([rtl]) app-toolbar {
|
||||||
|
@ -241,10 +241,10 @@ export class EntityRegistrySettingsHelper extends LitElement {
|
|||||||
margin-bottom: -20px;
|
margin-bottom: -20px;
|
||||||
}
|
}
|
||||||
mwc-button.warning {
|
mwc-button.warning {
|
||||||
--mdc-theme-primary: var(--google-red-500);
|
--mdc-theme-primary: var(--error-color);
|
||||||
}
|
}
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
.row {
|
.row {
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
|
@ -180,7 +180,7 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
|
|||||||
>
|
>
|
||||||
<ha-icon
|
<ha-icon
|
||||||
style=${styleMap({
|
style=${styleMap({
|
||||||
color: entity.unavailable ? "var(--google-red-500)" : "",
|
color: entity.unavailable ? "var(--error-color)" : "",
|
||||||
})}
|
})}
|
||||||
.icon=${entity.restored
|
.icon=${entity.restored
|
||||||
? "hass:restore-alert"
|
? "hass:restore-alert"
|
||||||
|
@ -227,7 +227,7 @@ class ZHAAddDevicesPage extends LitElement {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
ha-circular-progress {
|
ha-circular-progress {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
@ -187,7 +187,7 @@ export class ZHAAddGroupPage extends LitElement {
|
|||||||
padding: 8px;
|
padding: 8px;
|
||||||
}
|
}
|
||||||
.paper-dialog-buttons .warning {
|
.paper-dialog-buttons .warning {
|
||||||
--mdc-theme-primary: var(--google-red-500);
|
--mdc-theme-primary: var(--error-color);
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
];
|
];
|
||||||
|
@ -290,7 +290,7 @@ export class ZHAClusterAttributes extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.card-actions.warning ha-call-service-button {
|
.card-actions.warning ha-call-service-button {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.attribute-picker {
|
.attribute-picker {
|
||||||
|
@ -222,7 +222,7 @@ export class ZHAClusterCommands extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.card-actions.warning ha-call-service-button {
|
.card-actions.warning ha-call-service-button {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.command-picker {
|
.command-picker {
|
||||||
|
@ -166,7 +166,7 @@ export class ZHADeviceBindingControl extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.card-actions.warning ha-call-service-button {
|
.card-actions.warning ha-call-service-button {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.command-picker {
|
.command-picker {
|
||||||
|
@ -270,7 +270,7 @@ export class ZHAGroupBindingControl extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.card-actions.warning ha-call-service-button {
|
.card-actions.warning ha-call-service-button {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.command-picker {
|
.command-picker {
|
||||||
|
@ -325,7 +325,7 @@ export class ZHAGroupPage extends LitElement {
|
|||||||
padding: 8px;
|
padding: 8px;
|
||||||
}
|
}
|
||||||
.paper-dialog-buttons .warning {
|
.paper-dialog-buttons .warning {
|
||||||
--mdc-theme-primary: var(--google-red-500);
|
--mdc-theme-primary: var(--error-color);
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
];
|
];
|
||||||
|
@ -273,7 +273,7 @@ export class ZwaveNetwork extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.card-actions.warning ha-call-service-button {
|
.card-actions.warning ha-call-service-button {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.toggle-help-icon {
|
.toggle-help-icon {
|
||||||
|
@ -14,7 +14,7 @@ class ZwaveNodeProtection extends PolymerElement {
|
|||||||
return html`
|
return html`
|
||||||
<style include="iron-flex ha-style">
|
<style include="iron-flex ha-style">
|
||||||
.card-actions.warning ha-call-api-button {
|
.card-actions.warning ha-call-api-button {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
.content {
|
.content {
|
||||||
margin-top: 24px;
|
margin-top: 24px;
|
||||||
|
@ -683,7 +683,7 @@ export class HaSceneEditor extends SubscribeMixin(LitElement) {
|
|||||||
.errors {
|
.errors {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
.content {
|
.content {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
|
@ -295,7 +295,7 @@ export class HaScriptEditor extends LitElement {
|
|||||||
.errors {
|
.errors {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
.content {
|
.content {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
|
@ -245,7 +245,7 @@ export class HaConfigServerControl extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.validate-result {
|
.validate-result {
|
||||||
color: var(--google-green-500);
|
color: var(--success-color);
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
}
|
}
|
||||||
@ -255,7 +255,7 @@ export class HaConfigServerControl extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.config-invalid .text {
|
.config-invalid .text {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ class HaPanelDevService extends LocalizeMixin(PolymerElement) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
@ -362,7 +362,7 @@ class HuiAlarmPanelCard extends LitElement implements LovelaceCard {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mwc-button#disarm {
|
mwc-button#disarm {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
@ -229,7 +229,7 @@ class HuiPlantStatusCard extends LitElement implements LovelaceCard {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.problem {
|
.problem {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ import {
|
|||||||
LitElement,
|
LitElement,
|
||||||
property,
|
property,
|
||||||
TemplateResult,
|
TemplateResult,
|
||||||
|
query,
|
||||||
} from "lit-element";
|
} from "lit-element";
|
||||||
import { fireEvent } from "../../../../common/dom/fire_event";
|
import { fireEvent } from "../../../../common/dom/fire_event";
|
||||||
import { computeRTL } from "../../../../common/util/compute_rtl";
|
import { computeRTL } from "../../../../common/util/compute_rtl";
|
||||||
@ -22,6 +23,7 @@ import { getCardElementClass } from "../../create-element/create-card-element";
|
|||||||
import type { EntityConfig } from "../../entity-rows/types";
|
import type { EntityConfig } from "../../entity-rows/types";
|
||||||
import type { LovelaceCardEditor } from "../../types";
|
import type { LovelaceCardEditor } from "../../types";
|
||||||
import type { GUIModeChangedEvent } from "../types";
|
import type { GUIModeChangedEvent } from "../types";
|
||||||
|
import "../../../../components/ha-circular-progress";
|
||||||
|
|
||||||
export interface ConfigChangedEvent {
|
export interface ConfigChangedEvent {
|
||||||
config: LovelaceCardConfig;
|
config: LovelaceCardConfig;
|
||||||
@ -69,6 +71,8 @@ export class HuiCardEditor extends LitElement {
|
|||||||
|
|
||||||
@property() private _loading = false;
|
@property() private _loading = false;
|
||||||
|
|
||||||
|
@query("ha-code-editor") _yamlEditor?: HaCodeEditor;
|
||||||
|
|
||||||
public get yaml(): string {
|
public get yaml(): string {
|
||||||
return this._yaml || "";
|
return this._yaml || "";
|
||||||
}
|
}
|
||||||
@ -119,17 +123,18 @@ export class HuiCardEditor extends LitElement {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private get _yamlEditor(): HaCodeEditor {
|
|
||||||
return this.shadowRoot!.querySelector("ha-code-editor")! as HaCodeEditor;
|
|
||||||
}
|
|
||||||
|
|
||||||
public toggleMode() {
|
public toggleMode() {
|
||||||
this.GUImode = !this.GUImode;
|
this.GUImode = !this.GUImode;
|
||||||
}
|
}
|
||||||
|
|
||||||
public connectedCallback() {
|
public refreshYamlEditor(focus = false) {
|
||||||
super.connectedCallback();
|
if (!this._yamlEditor?.codemirror) {
|
||||||
this._refreshYamlEditor();
|
return;
|
||||||
|
}
|
||||||
|
this._yamlEditor.codemirror.refresh();
|
||||||
|
if (focus) {
|
||||||
|
this._yamlEditor.codemirror.focus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected render(): TemplateResult {
|
protected render(): TemplateResult {
|
||||||
@ -155,7 +160,7 @@ export class HuiCardEditor extends LitElement {
|
|||||||
mode="yaml"
|
mode="yaml"
|
||||||
autofocus
|
autofocus
|
||||||
.value=${this.yaml}
|
.value=${this.yaml}
|
||||||
.error=${this._error}
|
.error=${Boolean(this._error)}
|
||||||
.rtl=${computeRTL(this.hass)}
|
.rtl=${computeRTL(this.hass)}
|
||||||
@value-changed=${this._handleYAMLChanged}
|
@value-changed=${this._handleYAMLChanged}
|
||||||
@keydown=${this._ignoreKeydown}
|
@keydown=${this._ignoreKeydown}
|
||||||
@ -182,14 +187,6 @@ export class HuiCardEditor extends LitElement {
|
|||||||
|
|
||||||
protected updated(changedProperties) {
|
protected updated(changedProperties) {
|
||||||
super.updated(changedProperties);
|
super.updated(changedProperties);
|
||||||
|
|
||||||
if (changedProperties.has("_GUImode")) {
|
|
||||||
if (this.GUImode === false) {
|
|
||||||
// Refresh code editor when switching to yaml mode
|
|
||||||
this._refreshYamlEditor(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this._configElement && changedProperties.has("hass")) {
|
if (this._configElement && changedProperties.has("hass")) {
|
||||||
this._configElement.hass = this.hass;
|
this._configElement.hass = this.hass;
|
||||||
}
|
}
|
||||||
@ -198,18 +195,6 @@ export class HuiCardEditor extends LitElement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private _refreshYamlEditor(focus = false) {
|
|
||||||
// wait on render
|
|
||||||
setTimeout(() => {
|
|
||||||
if (this._yamlEditor && this._yamlEditor.codemirror) {
|
|
||||||
this._yamlEditor.codemirror.refresh();
|
|
||||||
if (focus) {
|
|
||||||
this._yamlEditor.codemirror.focus();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
private _handleUIConfigChanged(ev: UIConfigChangedEvent) {
|
private _handleUIConfigChanged(ev: UIConfigChangedEvent) {
|
||||||
ev.stopPropagation();
|
ev.stopPropagation();
|
||||||
const config = ev.detail.config;
|
const config = ev.detail.config;
|
||||||
@ -298,10 +283,10 @@ export class HuiCardEditor extends LitElement {
|
|||||||
padding: 8px 0px;
|
padding: 8px 0px;
|
||||||
}
|
}
|
||||||
.error {
|
.error {
|
||||||
color: #ef5350;
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
.warning {
|
.warning {
|
||||||
color: #ffa726;
|
color: var(--warning-color);
|
||||||
}
|
}
|
||||||
ha-circular-progress {
|
ha-circular-progress {
|
||||||
display: block;
|
display: block;
|
||||||
|
@ -33,6 +33,7 @@ import { getCardStubConfig } from "../get-card-stub-config";
|
|||||||
import { CardPickTarget, Card } from "../types";
|
import { CardPickTarget, Card } from "../types";
|
||||||
import { coreCards } from "../lovelace-cards";
|
import { coreCards } from "../lovelace-cards";
|
||||||
import { styleMap } from "lit-html/directives/style-map";
|
import { styleMap } from "lit-html/directives/style-map";
|
||||||
|
import "../../../../components/ha-circular-progress";
|
||||||
|
|
||||||
interface CardElement {
|
interface CardElement {
|
||||||
card: Card;
|
card: Card;
|
||||||
@ -49,35 +50,35 @@ export class HuiCardPicker extends LitElement {
|
|||||||
|
|
||||||
public cardPicked?: (cardConf: LovelaceCardConfig) => void;
|
public cardPicked?: (cardConf: LovelaceCardConfig) => void;
|
||||||
|
|
||||||
private _filter?: string;
|
@property() private _filter = "";
|
||||||
|
|
||||||
private _unusedEntities?: string[];
|
private _unusedEntities?: string[];
|
||||||
|
|
||||||
private _usedEntities?: string[];
|
private _usedEntities?: string[];
|
||||||
|
|
||||||
private _width?: number;
|
@property() private _width?: number;
|
||||||
|
|
||||||
private _height?: number;
|
@property() private _height?: number;
|
||||||
|
|
||||||
private _filterCards = memoizeOne(
|
private _filterCards = memoizeOne(
|
||||||
(cardElements: CardElement[], filter?: string): CardElement[] => {
|
(cardElements: CardElement[], filter?: string): CardElement[] => {
|
||||||
if (filter) {
|
if (!filter) {
|
||||||
let cards = cardElements.map(
|
return cardElements;
|
||||||
(cardElement: CardElement) => cardElement.card
|
|
||||||
);
|
|
||||||
const options: Fuse.IFuseOptions<Card> = {
|
|
||||||
keys: ["type", "name", "description"],
|
|
||||||
isCaseSensitive: false,
|
|
||||||
minMatchCharLength: 2,
|
|
||||||
threshold: 0.2,
|
|
||||||
};
|
|
||||||
const fuse = new Fuse(cards, options);
|
|
||||||
cards = fuse.search(filter).map((result) => result.item);
|
|
||||||
cardElements = cardElements.filter((cardElement: CardElement) =>
|
|
||||||
cards.includes(cardElement.card)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
return cardElements;
|
let cards = cardElements.map(
|
||||||
|
(cardElement: CardElement) => cardElement.card
|
||||||
|
);
|
||||||
|
const options: Fuse.IFuseOptions<Card> = {
|
||||||
|
keys: ["type", "name", "description"],
|
||||||
|
isCaseSensitive: false,
|
||||||
|
minMatchCharLength: 2,
|
||||||
|
threshold: 0.2,
|
||||||
|
};
|
||||||
|
const fuse = new Fuse(cards, options);
|
||||||
|
cards = fuse.search(filter).map((result) => result.item);
|
||||||
|
return cardElements.filter((cardElement: CardElement) =>
|
||||||
|
cards.includes(cardElement.card)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -98,9 +99,10 @@ export class HuiCardPicker extends LitElement {
|
|||||||
@value-changed=${this._handleSearchChange}
|
@value-changed=${this._handleSearchChange}
|
||||||
></search-input>
|
></search-input>
|
||||||
<div
|
<div
|
||||||
|
id="content"
|
||||||
style=${styleMap({
|
style=${styleMap({
|
||||||
width: `${this._width}px`,
|
width: this._width ? `${this._width}px` : "auto",
|
||||||
height: `${this._height}px`,
|
height: this._height ? `${this._height}px` : "auto",
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
<div class="cards-container">
|
<div class="cards-container">
|
||||||
@ -165,24 +167,6 @@ export class HuiCardPicker extends LitElement {
|
|||||||
this._loadCards();
|
this._loadCards();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected updated(changedProps) {
|
|
||||||
super.updated(changedProps);
|
|
||||||
// Store the width and height so that when we search, box doesn't jump
|
|
||||||
const div = this.shadowRoot!.querySelector("div")!;
|
|
||||||
if (!this._width) {
|
|
||||||
const width = div.clientWidth;
|
|
||||||
if (width) {
|
|
||||||
this._width = width;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!this._height) {
|
|
||||||
const height = div.clientHeight;
|
|
||||||
if (height) {
|
|
||||||
this._height = height;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private _loadCards() {
|
private _loadCards() {
|
||||||
let cards: Card[] = coreCards.map((card: Card) => ({
|
let cards: Card[] = coreCards.map((card: Card) => ({
|
||||||
name: this.hass!.localize(
|
name: this.hass!.localize(
|
||||||
@ -218,8 +202,30 @@ export class HuiCardPicker extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _handleSearchChange(ev: CustomEvent) {
|
private _handleSearchChange(ev: CustomEvent) {
|
||||||
this._filter = ev.detail.value;
|
const value = ev.detail.value;
|
||||||
this.requestUpdate();
|
|
||||||
|
if (!value) {
|
||||||
|
// Reset when we no longer filter
|
||||||
|
this._width = undefined;
|
||||||
|
this._height = undefined;
|
||||||
|
} else if (!this._width || !this._height) {
|
||||||
|
// Save height and width so the dialog doesn't jump while searching
|
||||||
|
const div = this.shadowRoot!.getElementById("content");
|
||||||
|
if (div && !this._width) {
|
||||||
|
const width = div.clientWidth;
|
||||||
|
if (width) {
|
||||||
|
this._width = width;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (div && !this._height) {
|
||||||
|
const height = div.clientHeight;
|
||||||
|
if (height) {
|
||||||
|
this._height = height;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this._filter = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
static get styles(): CSSResult[] {
|
static get styles(): CSSResult[] {
|
||||||
|
@ -122,6 +122,7 @@ export class HuiDialogEditCard extends LitElement {
|
|||||||
scrimClickAction
|
scrimClickAction
|
||||||
@keydown=${this._ignoreKeydown}
|
@keydown=${this._ignoreKeydown}
|
||||||
@closed=${this._close}
|
@closed=${this._close}
|
||||||
|
@opened=${this._opened}
|
||||||
.heading=${html`${heading}
|
.heading=${html`${heading}
|
||||||
${this._documentationURL !== undefined
|
${this._documentationURL !== undefined
|
||||||
? html`
|
? html`
|
||||||
@ -360,6 +361,10 @@ export class HuiDialogEditCard extends LitElement {
|
|||||||
this._cardEditorEl?.toggleMode();
|
this._cardEditorEl?.toggleMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private _opened() {
|
||||||
|
this._cardEditorEl?.refreshYamlEditor();
|
||||||
|
}
|
||||||
|
|
||||||
private _close(): void {
|
private _close(): void {
|
||||||
this._params = undefined;
|
this._params = undefined;
|
||||||
this._cardConfig = undefined;
|
this._cardConfig = undefined;
|
||||||
|
@ -104,7 +104,7 @@ export class HuiShoppingListEditor extends LitElement
|
|||||||
static get styles(): CSSResult {
|
static get styles(): CSSResult {
|
||||||
return css`
|
return css`
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
@ -698,7 +698,7 @@ class HUIRoot extends LitElement {
|
|||||||
color: var(--text-primary-color, white);
|
color: var(--text-primary-color, white);
|
||||||
}
|
}
|
||||||
mwc-button.warning:not([disabled]) {
|
mwc-button.warning:not([disabled]) {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
#view {
|
#view {
|
||||||
min-height: calc(100vh - 112px);
|
min-height: calc(100vh - 112px);
|
||||||
|
@ -34,6 +34,9 @@ documentContainer.innerHTML = `<custom-style>
|
|||||||
--scrollbar-thumb-color: rgb(194, 194, 194);
|
--scrollbar-thumb-color: rgb(194, 194, 194);
|
||||||
|
|
||||||
--error-color: #db4437;
|
--error-color: #db4437;
|
||||||
|
--warning-color: #f4b400;
|
||||||
|
--success-color: #0f9d58;
|
||||||
|
--info-color: #4285f4;
|
||||||
|
|
||||||
/* states and badges */
|
/* states and badges */
|
||||||
--state-icon-color: #44739e;
|
--state-icon-color: #44739e;
|
||||||
|
@ -105,15 +105,15 @@ export const haStyle = css`
|
|||||||
}
|
}
|
||||||
|
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.warning {
|
.warning {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
mwc-button.warning {
|
mwc-button.warning {
|
||||||
--mdc-theme-primary: var(--google-red-500);
|
--mdc-theme-primary: var(--error-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
button.link {
|
button.link {
|
||||||
@ -132,7 +132,7 @@ export const haStyle = css`
|
|||||||
}
|
}
|
||||||
|
|
||||||
.card-actions .warning {
|
.card-actions .warning {
|
||||||
--mdc-theme-primary: var(--google-red-500);
|
--mdc-theme-primary: var(--error-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.layout.horizontal,
|
.layout.horizontal,
|
||||||
@ -247,9 +247,9 @@ export const haStyleDialog = css`
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
mwc-button.warning {
|
mwc-button.warning {
|
||||||
--mdc-theme-primary: var(--google-red-500);
|
--mdc-theme-primary: var(--error-color);
|
||||||
}
|
}
|
||||||
.error {
|
.error {
|
||||||
color: var(--google-red-500);
|
color: var(--error-color);
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
@ -409,7 +409,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"helper_settings": {
|
"helper_settings": {
|
||||||
"platform_not_loaded": "The {platform} integration is not loaded. Please add it your configuration either by adding 'default_config:' or ''{platform}:''.",
|
"platform_not_loaded": "The {platform} integration is not loaded. Please add it to your configuration either by adding 'default_config:' or ''{platform}:''.",
|
||||||
"yaml_not_editable": "The settings of this entity cannot be edited from the UI. Only entities set up from the UI are configurable from the UI.",
|
"yaml_not_editable": "The settings of this entity cannot be edited from the UI. Only entities set up from the UI are configurable from the UI.",
|
||||||
"required_error_msg": "This field is required",
|
"required_error_msg": "This field is required",
|
||||||
"generic": {
|
"generic": {
|
||||||
|
@ -48,6 +48,19 @@
|
|||||||
"none": "Žádná",
|
"none": "Žádná",
|
||||||
"sleep": "Spánek"
|
"sleep": "Spánek"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"mode": {
|
||||||
|
"auto": "Automatika",
|
||||||
|
"away": "Pryč",
|
||||||
|
"baby": "Dítě",
|
||||||
|
"boost": "Boost",
|
||||||
|
"comfort": "Komfort",
|
||||||
|
"eco": "Ekonomický mód",
|
||||||
|
"home": "Doma",
|
||||||
|
"normal": "Běžný",
|
||||||
|
"sleep": "Spánek"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"state_badge": {
|
"state_badge": {
|
||||||
@ -388,6 +401,12 @@
|
|||||||
"reverse": "Vzad",
|
"reverse": "Vzad",
|
||||||
"speed": "Rychlost"
|
"speed": "Rychlost"
|
||||||
},
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"humidity": "Cílová vlhkost",
|
||||||
|
"mode": "Režim",
|
||||||
|
"on_entity": "{name} zapnuto",
|
||||||
|
"target_humidity_entity": "{name} cílová vlhkost"
|
||||||
|
},
|
||||||
"light": {
|
"light": {
|
||||||
"brightness": "Jas",
|
"brightness": "Jas",
|
||||||
"color_temperature": "Teplota barvy",
|
"color_temperature": "Teplota barvy",
|
||||||
@ -560,7 +579,7 @@
|
|||||||
"config_entry_system_options": {
|
"config_entry_system_options": {
|
||||||
"enable_new_entities_description": "Pokud je zakázáno, nově objevené entity pro {integration} nebudou automaticky přidány do Home Assistant.",
|
"enable_new_entities_description": "Pokud je zakázáno, nově objevené entity pro {integration} nebudou automaticky přidány do Home Assistant.",
|
||||||
"enable_new_entities_label": "Povolit nově přidané entity.",
|
"enable_new_entities_label": "Povolit nově přidané entity.",
|
||||||
"title": "Systémové možnosti pro {integration}",
|
"title": "Upravit nastavení pro {integration}",
|
||||||
"update": "Aktualizovat"
|
"update": "Aktualizovat"
|
||||||
},
|
},
|
||||||
"domain_toggler": {
|
"domain_toggler": {
|
||||||
@ -1425,7 +1444,7 @@
|
|||||||
"restart_confirm": "Restartujte Home Assistant pro odstranění této integrace",
|
"restart_confirm": "Restartujte Home Assistant pro odstranění této integrace",
|
||||||
"settings_button": "Upravit nastavení pro {integration}",
|
"settings_button": "Upravit nastavení pro {integration}",
|
||||||
"system_options": "Více možností",
|
"system_options": "Více možností",
|
||||||
"system_options_button": "Systémové možnosti pro {integration}",
|
"system_options_button": "Upravit nastavení pro {integration}",
|
||||||
"unnamed_entry": "Nepojmenovaný záznam"
|
"unnamed_entry": "Nepojmenovaný záznam"
|
||||||
},
|
},
|
||||||
"config_flow": {
|
"config_flow": {
|
||||||
@ -2198,6 +2217,10 @@
|
|||||||
"description": "Karta Horizontální Stack umožňuje seskupovat více karet tak, že jsou vždy zobrazeny vedle sebe v prostoru šířky jednoho sloupce.",
|
"description": "Karta Horizontální Stack umožňuje seskupovat více karet tak, že jsou vždy zobrazeny vedle sebe v prostoru šířky jednoho sloupce.",
|
||||||
"name": "Horizontální uskupení"
|
"name": "Horizontální uskupení"
|
||||||
},
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"description": "Karta zvlhčovače poskytuje kontrolu nad vaší entitou zvlhčovače. Umožní vám změnit vlhkost a režim entity.",
|
||||||
|
"name": "Zvlhčovač"
|
||||||
|
},
|
||||||
"iframe": {
|
"iframe": {
|
||||||
"description": "Karta Webová stránka umožňuje vložit oblíbenou webovou stránku přímo do Home Assistanta.",
|
"description": "Karta Webová stránka umožňuje vložit oblíbenou webovou stránku přímo do Home Assistanta.",
|
||||||
"name": "iFrame"
|
"name": "iFrame"
|
||||||
|
@ -1738,8 +1738,8 @@
|
|||||||
"discovered_text": "Geräte werden hier angezeigt sobald sie erkannt worden sind.",
|
"discovered_text": "Geräte werden hier angezeigt sobald sie erkannt worden sind.",
|
||||||
"discovery_text": "Erkannte Geräte werden hier angezeigt. Befolgen Sie die Anweisungen für Ihr Gerät und versetzen Sie das Gerät in den Pairing-Modus.",
|
"discovery_text": "Erkannte Geräte werden hier angezeigt. Befolgen Sie die Anweisungen für Ihr Gerät und versetzen Sie das Gerät in den Pairing-Modus.",
|
||||||
"header": "Zigbee Home Automation - Geräte hinzufügen",
|
"header": "Zigbee Home Automation - Geräte hinzufügen",
|
||||||
"no_devices_found": "Es wurde keine Geräte erkannt, stelle sicher das sie sich im Pairing Modus befinden und halte sie Aktiv solange die Erkennung läuft,",
|
"no_devices_found": "Es wurden keine Geräte erkannt. Stelle sicher, dass sie sich im Pairing-Modus befinden und halte sie aktiv, solange die Erkennung läuft,",
|
||||||
"pairing_mode": "Stellen Sie sicher, dass sich Ihre Geräte im Pairing-Modus befinden. Überprüfen Sie dazu die Anweisungen Ihres Geräts.",
|
"pairing_mode": "Stelle sicher, dass sich deine Geräte im Pairing-Modus befinden. Überprüfe dazu die Anweisungen deines Geräts.",
|
||||||
"search_again": "Erneut suchen",
|
"search_again": "Erneut suchen",
|
||||||
"spinner": "Suche nach ZHA Zigbee Geräten..."
|
"spinner": "Suche nach ZHA Zigbee Geräten..."
|
||||||
},
|
},
|
||||||
|
@ -51,8 +51,15 @@
|
|||||||
},
|
},
|
||||||
"humidifier": {
|
"humidifier": {
|
||||||
"mode": {
|
"mode": {
|
||||||
|
"auto": "אוטומטי",
|
||||||
"away": "לא בבית",
|
"away": "לא בבית",
|
||||||
"home": "בבית"
|
"baby": "תִינוֹק",
|
||||||
|
"boost": "גבוה",
|
||||||
|
"comfort": "נוחות",
|
||||||
|
"eco": "חסכוני",
|
||||||
|
"home": "בבית",
|
||||||
|
"normal": "רגיל",
|
||||||
|
"sleep": "שינה"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -394,6 +401,12 @@
|
|||||||
"reverse": "אחורה",
|
"reverse": "אחורה",
|
||||||
"speed": "מהירות"
|
"speed": "מהירות"
|
||||||
},
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"humidity": "יעד לחות",
|
||||||
|
"mode": "מצב",
|
||||||
|
"on_entity": "{name} דולק",
|
||||||
|
"target_humidity_entity": "{שם} לחות יעד"
|
||||||
|
},
|
||||||
"light": {
|
"light": {
|
||||||
"brightness": "בהירות",
|
"brightness": "בהירות",
|
||||||
"color_temperature": "טמפרטורת הצבע",
|
"color_temperature": "טמפרטורת הצבע",
|
||||||
@ -419,6 +432,9 @@
|
|||||||
"script": {
|
"script": {
|
||||||
"execute": "הפעל"
|
"execute": "הפעל"
|
||||||
},
|
},
|
||||||
|
"service": {
|
||||||
|
"run": "הפעל"
|
||||||
|
},
|
||||||
"timer": {
|
"timer": {
|
||||||
"actions": {
|
"actions": {
|
||||||
"cancel": "ביטול",
|
"cancel": "ביטול",
|
||||||
@ -479,6 +495,7 @@
|
|||||||
"and": "וגם",
|
"and": "וגם",
|
||||||
"back": "חזור",
|
"back": "חזור",
|
||||||
"cancel": "ביטול",
|
"cancel": "ביטול",
|
||||||
|
"close": "סגור",
|
||||||
"delete": "מחיקה",
|
"delete": "מחיקה",
|
||||||
"error_required": "חובה",
|
"error_required": "חובה",
|
||||||
"loading": "טוען",
|
"loading": "טוען",
|
||||||
@ -495,11 +512,30 @@
|
|||||||
"yes": "כן"
|
"yes": "כן"
|
||||||
},
|
},
|
||||||
"components": {
|
"components": {
|
||||||
|
"area-picker": {
|
||||||
|
"add_dialog": {
|
||||||
|
"add": "הוסף",
|
||||||
|
"failed_create_area": "יצירת אזור נכשלה.",
|
||||||
|
"name": "שם",
|
||||||
|
"text": "הזן את שם האזור החדש.",
|
||||||
|
"title": "הוסף אזור חדש"
|
||||||
|
},
|
||||||
|
"add_new": "הוסף אזור חדש...",
|
||||||
|
"area": "אזור",
|
||||||
|
"clear": "נקה",
|
||||||
|
"show_areas": "הצג אזורים"
|
||||||
|
},
|
||||||
|
"date-range-picker": {
|
||||||
|
"end_date": "תאריך סיום",
|
||||||
|
"select": "בחר",
|
||||||
|
"start_date": "תאריך התחלה"
|
||||||
|
},
|
||||||
"device-picker": {
|
"device-picker": {
|
||||||
"clear": "נקה",
|
"clear": "נקה",
|
||||||
"device": "התקן",
|
"device": "מכשיר",
|
||||||
"no_area": "אין אזור",
|
"no_area": "אין אזור",
|
||||||
"show_devices": "הצג התקנים"
|
"show_devices": "הצג התקנים",
|
||||||
|
"toggle": "החלף מצב"
|
||||||
},
|
},
|
||||||
"entity": {
|
"entity": {
|
||||||
"entity-picker": {
|
"entity-picker": {
|
||||||
@ -512,6 +548,17 @@
|
|||||||
"loading_history": "טוען היסטוריה...",
|
"loading_history": "טוען היסטוריה...",
|
||||||
"no_history_found": "לא נמצאה היסטוריה"
|
"no_history_found": "לא נמצאה היסטוריה"
|
||||||
},
|
},
|
||||||
|
"related-items": {
|
||||||
|
"area": "אֵזוֹר",
|
||||||
|
"automation": "חלק מהאוטומציות הבאות",
|
||||||
|
"device": "מכשיר",
|
||||||
|
"entity": "ישויות קשורות",
|
||||||
|
"group": "חלק מהקבוצות הבאות",
|
||||||
|
"integration": "אינטגרציה",
|
||||||
|
"no_related_found": "לא נמצאו פריטים קשורים.",
|
||||||
|
"scene": "חלק מהסצינות הבאות",
|
||||||
|
"script": "חלק מהסקריפטים הבאים"
|
||||||
|
},
|
||||||
"relative_time": {
|
"relative_time": {
|
||||||
"duration": {
|
"duration": {
|
||||||
"day": "{count} {count, plural,\n one {יום}\n other {ימים}\n}",
|
"day": "{count} {count, plural,\n one {יום}\n other {ימים}\n}",
|
||||||
@ -532,13 +579,38 @@
|
|||||||
"config_entry_system_options": {
|
"config_entry_system_options": {
|
||||||
"enable_new_entities_description": "אם הם מושבתים, ישויות שהתגלו לאחרונה עבור {integration} לא יתווספו אוטומטית ל Home Assistant.",
|
"enable_new_entities_description": "אם הם מושבתים, ישויות שהתגלו לאחרונה עבור {integration} לא יתווספו אוטומטית ל Home Assistant.",
|
||||||
"enable_new_entities_label": "הפוך ישויות חדשות שנוספו לזמינות.",
|
"enable_new_entities_label": "הפוך ישויות חדשות שנוספו לזמינות.",
|
||||||
"title": "אפשרויות מערכת"
|
"title": "אפשרויות מערכת",
|
||||||
|
"update": "עדכון"
|
||||||
},
|
},
|
||||||
"domain_toggler": {
|
"domain_toggler": {
|
||||||
"title": "החלף דומיינים"
|
"title": "החלף דומיינים"
|
||||||
},
|
},
|
||||||
|
"entity_registry": {
|
||||||
|
"control": "בקרה",
|
||||||
|
"dismiss": "בטל",
|
||||||
|
"editor": {
|
||||||
|
"confirm_delete": "האם אתה בטוח שברצונך למחוק רשומה זו?",
|
||||||
|
"delete": "מחק",
|
||||||
|
"enabled_cause": "מושבת עקב {סיבה}.",
|
||||||
|
"enabled_description": "ישויות מושבתות לא יתווספו ל Home Assistant.",
|
||||||
|
"enabled_label": "הפוך ישות לזמינה",
|
||||||
|
"entity_id": "מזהה ישות",
|
||||||
|
"icon": "סמל חלופי",
|
||||||
|
"icon_error": "סמלים צריכים להיות בפורמט: prefix:iconname, למשל: mdi:home",
|
||||||
|
"name": "שם חלופי",
|
||||||
|
"note": "הערה: יתכן וזה עדיין לא עובד עם כל האינטגרציות.",
|
||||||
|
"unavailable": "ישות זו אינה זמינה כרגע.",
|
||||||
|
"update": "עדכון"
|
||||||
|
},
|
||||||
|
"no_unique_id": "לישות זו אין מזהה ייחודי, ולכן לא ניתן לנהל את ההגדרות שלה ממשק המשתמש.",
|
||||||
|
"related": "קשורים",
|
||||||
|
"settings": "הגדרות"
|
||||||
|
},
|
||||||
"generic": {
|
"generic": {
|
||||||
"close": "סגור"
|
"cancel": "ביטול",
|
||||||
|
"close": "סגור",
|
||||||
|
"default_confirmation_title": "האם אתה בטוח?",
|
||||||
|
"ok": "אישור"
|
||||||
},
|
},
|
||||||
"helper_settings": {
|
"helper_settings": {
|
||||||
"generic": {
|
"generic": {
|
||||||
@ -548,6 +620,7 @@
|
|||||||
"input_datetime": {
|
"input_datetime": {
|
||||||
"date": "תאריך",
|
"date": "תאריך",
|
||||||
"datetime": "תאריך ושעה",
|
"datetime": "תאריך ושעה",
|
||||||
|
"mode": "מה ברצונך להזין?",
|
||||||
"time": "זמן"
|
"time": "זמן"
|
||||||
},
|
},
|
||||||
"input_number": {
|
"input_number": {
|
||||||
@ -573,12 +646,26 @@
|
|||||||
"pattern": "דפוס Regex לצורך אימות בצד הלקוח",
|
"pattern": "דפוס Regex לצורך אימות בצד הלקוח",
|
||||||
"text": "טקסט"
|
"text": "טקסט"
|
||||||
},
|
},
|
||||||
"required_error_msg": "שדה זה הוא חובה"
|
"platform_not_loaded": "האינטגרציה {platform} אינה טעונה. אנא הוסף אותה לקונפיגורציה שלך על ידי הוספת 'default_config:' או '' {platform} : ''.",
|
||||||
|
"required_error_msg": "שדה זה הוא חובה",
|
||||||
|
"yaml_not_editable": "אין אפשרות לערוך את ההגדרות של ישות זו מממשק המשתמש. רק ישויות שהוגדרו מממשק המשתמש ניתנות להגדרה מתוך ממשק המשתמש."
|
||||||
},
|
},
|
||||||
"more_info_control": {
|
"more_info_control": {
|
||||||
"dismiss": "סגור",
|
"dismiss": "סגור",
|
||||||
|
"edit": "ערוך יישות",
|
||||||
|
"person": {
|
||||||
|
"create_zone": "צור אזור מהמיקום הנוכחי"
|
||||||
|
},
|
||||||
|
"restored": {
|
||||||
|
"confirm_remove_text": "האם אתה בטוח שברצונך להסיר ישות זו?",
|
||||||
|
"confirm_remove_title": "להסיר את הישות?",
|
||||||
|
"not_provided": "ישות זו אינה זמינה כרגע והיא בת לאינטגרציה או מכשיר שהוסרו, השתנו או לא מתפקדים.",
|
||||||
|
"remove_action": "הסר יישות",
|
||||||
|
"remove_intro": "אם הישות כבר אינה בשימוש, תוכלו לנקות אותה על ידי הסרתה."
|
||||||
|
},
|
||||||
"script": {
|
"script": {
|
||||||
"last_action": "פעולה אחרונה"
|
"last_action": "פעולה אחרונה",
|
||||||
|
"last_triggered": "הופעל לאחרונה"
|
||||||
},
|
},
|
||||||
"settings": "הגדרות ישות",
|
"settings": "הגדרות ישות",
|
||||||
"sun": {
|
"sun": {
|
||||||
@ -588,9 +675,22 @@
|
|||||||
},
|
},
|
||||||
"updater": {
|
"updater": {
|
||||||
"title": "הוראות עדכון"
|
"title": "הוראות עדכון"
|
||||||
|
},
|
||||||
|
"vacuum": {
|
||||||
|
"clean_spot": "נקה נקודה",
|
||||||
|
"commands": "פקודות שואב אבק:",
|
||||||
|
"fan_speed": "מהירות מאוורר",
|
||||||
|
"locate": "איתור",
|
||||||
|
"pause": "השהיה",
|
||||||
|
"return_home": "חזור הביתה",
|
||||||
|
"start": "התחל",
|
||||||
|
"start_pause": "התחל/השהה",
|
||||||
|
"status": "סטטוס",
|
||||||
|
"stop": "עצור"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mqtt_device_debug_info": {
|
"mqtt_device_debug_info": {
|
||||||
|
"deserialize": "נסה לנתח הודעות MQTT כ- JSON",
|
||||||
"entities": "ישויות",
|
"entities": "ישויות",
|
||||||
"no_entities": "אין ישויות",
|
"no_entities": "אין ישויות",
|
||||||
"no_triggers": "אין טריגרים",
|
"no_triggers": "אין טריגרים",
|
||||||
@ -619,19 +719,25 @@
|
|||||||
"zha_device_info": {
|
"zha_device_info": {
|
||||||
"buttons": {
|
"buttons": {
|
||||||
"add": "הוסף מכשירים",
|
"add": "הוסף מכשירים",
|
||||||
|
"clusters": "ניהול אשכולות",
|
||||||
"reconfigure": "הגדר מחדש את המכשיר",
|
"reconfigure": "הגדר מחדש את המכשיר",
|
||||||
"remove": "הסר מכשיר",
|
"remove": "הסר מכשיר",
|
||||||
"zigbee_information": "מידע על Zigbee"
|
"zigbee_information": "מידע על Zigbee"
|
||||||
},
|
},
|
||||||
|
"confirmations": {
|
||||||
|
"remove": "האם אתה בטוח שברצונך למחוק מכשיר זה?"
|
||||||
|
},
|
||||||
|
"device_signature": "חתימת מכשיר Zigbee",
|
||||||
"last_seen": "נראה לאחרונה",
|
"last_seen": "נראה לאחרונה",
|
||||||
"manuf": "לפי {manufacturer}",
|
"manuf": "לפי {manufacturer}",
|
||||||
"no_area": "ללא אזור",
|
"no_area": "ללא אזור",
|
||||||
"power_source": "מקור כוח",
|
"power_source": "מקור כוח",
|
||||||
"quirk": "מוזרות",
|
"quirk": "מוזרות",
|
||||||
"services": {
|
"services": {
|
||||||
"reconfigure": "הגדר מחדש את התקן ה- ZHA (ריפוי מכשיר). השתמש בזה אם אתה נתקל בבעיות במכשיר. אם המכשיר המדובר הוא התקן המונע על ידי סוללה, אנא וודא שהוא דלוק ומקבל פקודות בעת השימוש בשירות זה.",
|
"reconfigure": "הגדר מחדש את המכשיר ה- ZHA (ריפוי מכשיר). השתמש בזה אם אתה נתקל בבעיות במכשיר. אם המכשיר המדובר הוא מכשיר המונע על ידי סוללה, אנא וודא שהוא דלוק ומקבל פקודות בעת השימוש בשירות זה.",
|
||||||
"remove": "הסר מכשיר מרשת ה-Zigbee",
|
"remove": "הסר מכשיר מרשת ה-Zigbee",
|
||||||
"updateDeviceName": "הגדר שם מותאם אישית עבור התקן זה במאגר ההתקנים."
|
"updateDeviceName": "הגדר שם מותאם אישית עבור מכשיר זה במאגר ההתקנים.",
|
||||||
|
"zigbee_information": "הצגת מידע Zigbee עבור המכשיר."
|
||||||
},
|
},
|
||||||
"unknown": "לא ידוע",
|
"unknown": "לא ידוע",
|
||||||
"zha_device_card": {
|
"zha_device_card": {
|
||||||
@ -690,6 +796,7 @@
|
|||||||
"editor": {
|
"editor": {
|
||||||
"area_id": "מזהה אזור",
|
"area_id": "מזהה אזור",
|
||||||
"create": "צור",
|
"create": "צור",
|
||||||
|
"default_name": "אזור חדש",
|
||||||
"delete": "מחק",
|
"delete": "מחק",
|
||||||
"name": "שם",
|
"name": "שם",
|
||||||
"name_required": "שם הוא חובה",
|
"name_required": "שם הוא חובה",
|
||||||
@ -697,10 +804,12 @@
|
|||||||
"update": "עדכון"
|
"update": "עדכון"
|
||||||
},
|
},
|
||||||
"picker": {
|
"picker": {
|
||||||
|
"create_area": "צור אזור",
|
||||||
"header": "מאגר האזורים",
|
"header": "מאגר האזורים",
|
||||||
"integrations_page": "דף אינטגרציות",
|
"integrations_page": "דף אינטגרציות",
|
||||||
"introduction": "אזורים משמשים לארגון המיקום של ההתקנים. Home Assistant יעשה שימוש במידע זה בכדי לסייע לך בארגון הממשק, ההרשאות והאינטגרציות שלך עם מערכות אחרות.",
|
"introduction": "אזורים משמשים לארגון המיקום של ההתקנים. Home Assistant יעשה שימוש במידע זה בכדי לסייע לך בארגון הממשק, ההרשאות והאינטגרציות שלך עם מערכות אחרות.",
|
||||||
"introduction2": "כדי למקם התקנים באזור זה, השתמש בקישור הבא כדי לנווט אל דף האינטגרציות ולאחר מכן לחץ על אינטגרציה מוגדרת כדי להגיע לכרטיסי המכשיר."
|
"introduction2": "כדי למקם התקנים באזור זה, השתמש בקישור הבא כדי לנווט אל דף האינטגרציות ולאחר מכן לחץ על אינטגרציה מוגדרת כדי להגיע לכרטיסי המכשיר.",
|
||||||
|
"no_areas": "נראה שאין לך אזורים עדיין!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"automation": {
|
"automation": {
|
||||||
@ -730,7 +839,7 @@
|
|||||||
"extra_fields": {
|
"extra_fields": {
|
||||||
"code": "קוד"
|
"code": "קוד"
|
||||||
},
|
},
|
||||||
"label": "התקן"
|
"label": "מכשיר"
|
||||||
},
|
},
|
||||||
"event": {
|
"event": {
|
||||||
"event": "ארוע",
|
"event": "ארוע",
|
||||||
@ -774,7 +883,7 @@
|
|||||||
"below": "מתחת",
|
"below": "מתחת",
|
||||||
"for": "משך הזמן"
|
"for": "משך הזמן"
|
||||||
},
|
},
|
||||||
"label": "התקן"
|
"label": "מכשיר"
|
||||||
},
|
},
|
||||||
"not": {
|
"not": {
|
||||||
"label": "לא"
|
"label": "לא"
|
||||||
@ -825,6 +934,7 @@
|
|||||||
},
|
},
|
||||||
"edit_ui": "ערוך באמצעות ממשק המשתמש",
|
"edit_ui": "ערוך באמצעות ממשק המשתמש",
|
||||||
"edit_yaml": "ערוך כ- YAML",
|
"edit_yaml": "ערוך כ- YAML",
|
||||||
|
"enable_disable": "הפעל / השבת אוטומציה",
|
||||||
"introduction": "השתמש/י באוטומציות להפיח חיים בביתך.",
|
"introduction": "השתמש/י באוטומציות להפיח חיים בביתך.",
|
||||||
"load_error_not_editable": "רק אוטומציה ב automations.yaml ניתנים לעריכה.",
|
"load_error_not_editable": "רק אוטומציה ב automations.yaml ניתנים לעריכה.",
|
||||||
"load_error_unknown": "שגיאה בטעינת האוטומציה ( {err_no} ).",
|
"load_error_unknown": "שגיאה בטעינת האוטומציה ( {err_no} ).",
|
||||||
@ -848,7 +958,7 @@
|
|||||||
"below": "מתחת",
|
"below": "מתחת",
|
||||||
"for": "משך"
|
"for": "משך"
|
||||||
},
|
},
|
||||||
"label": "התקן",
|
"label": "מכשיר",
|
||||||
"trigger": "טריגר"
|
"trigger": "טריגר"
|
||||||
},
|
},
|
||||||
"event": {
|
"event": {
|
||||||
@ -946,8 +1056,8 @@
|
|||||||
"account": {
|
"account": {
|
||||||
"alexa": {
|
"alexa": {
|
||||||
"config_documentation": "הגדרת תיעוד",
|
"config_documentation": "הגדרת תיעוד",
|
||||||
"disable": "השבת",
|
"disable": "השבתה",
|
||||||
"enable": "אפשר",
|
"enable": "אפשור",
|
||||||
"enable_ha_skill": "הפעל את מיומנות Home Assistant עבור אלקסה",
|
"enable_ha_skill": "הפעל את מיומנות Home Assistant עבור אלקסה",
|
||||||
"enable_state_reporting": "הפוך דיווח מצב לזמין",
|
"enable_state_reporting": "הפוך דיווח מצב לזמין",
|
||||||
"info": "עם שילוב אלקסה עבור ענן Home Assistant תוכל לשלוט בכל המכשירים של Home Assistant באמצעות כל מכשיר המקושר לאלקסה.",
|
"info": "עם שילוב אלקסה עבור ענן Home Assistant תוכל לשלוט בכל המכשירים של Home Assistant באמצעות כל מכשיר המקושר לאלקסה.",
|
||||||
@ -969,11 +1079,12 @@
|
|||||||
"enter_pin_error": "אין אפשרות לאחסן את הקוד ה PIN:",
|
"enter_pin_error": "אין אפשרות לאחסן את הקוד ה PIN:",
|
||||||
"enter_pin_hint": "הזן קוד PIN לשימוש בהתקני אבטחה",
|
"enter_pin_hint": "הזן קוד PIN לשימוש בהתקני אבטחה",
|
||||||
"enter_pin_info": "נא הזן קוד PIN כדי לעבוד עם מכשירי אבטחה. מכשירי אבטחה הם דלתות, דלתות מוסך ומנעולים. תתבקש לומר/להזין את קוד ה PIN כאשר אתה מקיים אינטראקציה עם התקנים אלה באמצעות המסייע של Google.",
|
"enter_pin_info": "נא הזן קוד PIN כדי לעבוד עם מכשירי אבטחה. מכשירי אבטחה הם דלתות, דלתות מוסך ומנעולים. תתבקש לומר/להזין את קוד ה PIN כאשר אתה מקיים אינטראקציה עם התקנים אלה באמצעות המסייע של Google.",
|
||||||
"info": "עם שילוב מסייע Google עבור ענן Home Assistant תוכל לשלוט בכל מכשירי Home Assistant שלך באמצעות כל התקן המקושר למסייע של Google.",
|
"info": "עם שילוב מסייע Google עבור ענן Home Assistant תוכל לשלוט בכל מכשירי Home Assistant שלך באמצעות כל מכשיר המקושר למסייע של Google.",
|
||||||
"info_state_reporting": "אם תפעיל דיווח מצב, Home Assistant ישלח את כל שינויי המצבים של ישויות חשופות ל-Google. זה מאפשר לך תמיד לראות את המצבים האחרונים באפליקציה של גוגל.",
|
"info_state_reporting": "אם תפעיל דיווח מצב, Home Assistant ישלח את כל שינויי המצבים של ישויות חשופות ל-Google. זה מאפשר לך תמיד לראות את המצבים האחרונים באפליקציה של גוגל.",
|
||||||
"manage_entities": "נהל ישויות",
|
"manage_entities": "נהל ישויות",
|
||||||
"security_devices": "התקני אבטחה",
|
"security_devices": "התקני אבטחה",
|
||||||
"sync_entities": "סנכרן ישויות לגוגל",
|
"sync_entities": "סנכרן ישויות לגוגל",
|
||||||
|
"sync_entities_404_message": "כישלון בסינכרון היישויות שלך ל-Google, בקש מ Google 'Hey Google, sync my devices' כדי לסנכרן את הישויות שלך.",
|
||||||
"title": "Google Assistant"
|
"title": "Google Assistant"
|
||||||
},
|
},
|
||||||
"integrations": "אינטגרציות",
|
"integrations": "אינטגרציות",
|
||||||
@ -1028,11 +1139,11 @@
|
|||||||
"dialog_cloudhook": {
|
"dialog_cloudhook": {
|
||||||
"available_at": "ה-webhook זמין בכתובת הבאה:",
|
"available_at": "ה-webhook זמין בכתובת הבאה:",
|
||||||
"close": "סגור",
|
"close": "סגור",
|
||||||
"confirm_disable": "אתה בטוח שאתה רוצה לבטל את ה webhook?",
|
"confirm_disable": "אתה בטוח שאתה רוצה להשבית את ה webhook?",
|
||||||
"copied_to_clipboard": "הועתק ללוח",
|
"copied_to_clipboard": "הועתק ללוח",
|
||||||
"info_disable_webhook": "אם אינך מעוניין עוד להשתמש ב-webhook זה, באפשרותך",
|
"info_disable_webhook": "אם אינך מעוניין עוד להשתמש ב-webhook זה, באפשרותך",
|
||||||
"link_disable_webhook": "לנטרל אותו",
|
"link_disable_webhook": "השבת אותו",
|
||||||
"managed_by_integration": "webhook זה מנוהל על ידי אינטגרציה ואי אפשר לנטרל אותו.",
|
"managed_by_integration": "webhook זה מנוהל על ידי אינטגרציה ואי אפשר להשבית אותו.",
|
||||||
"view_documentation": "הצג תיעוד",
|
"view_documentation": "הצג תיעוד",
|
||||||
"webhook_for": "Webhook עבור {name}"
|
"webhook_for": "Webhook עבור {name}"
|
||||||
},
|
},
|
||||||
@ -1108,7 +1219,7 @@
|
|||||||
"section": {
|
"section": {
|
||||||
"core": {
|
"core": {
|
||||||
"core_config": {
|
"core_config": {
|
||||||
"edit_requires_storage": "עורך מושבת משום שתצורה מאוחסנת ב- configuration.yaml.",
|
"edit_requires_storage": "העורך מושבת משום שהתצורה מאוחסנת ב- configuration.yaml.",
|
||||||
"elevation": "גובה",
|
"elevation": "גובה",
|
||||||
"elevation_meters": "מטר",
|
"elevation_meters": "מטר",
|
||||||
"external_url": "כתובת URL חיצונית",
|
"external_url": "כתובת URL חיצונית",
|
||||||
@ -1155,20 +1266,25 @@
|
|||||||
"actions": {
|
"actions": {
|
||||||
"caption": "כשמשהו מופעל..."
|
"caption": "כשמשהו מופעל..."
|
||||||
},
|
},
|
||||||
|
"automations": "אוטומציות",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"caption": "בצע משהו רק אם..."
|
"caption": "בצע משהו רק אם..."
|
||||||
},
|
},
|
||||||
|
"create": "צור אוטומציה עם המכשיר",
|
||||||
|
"no_automations": "אין אוטומציות",
|
||||||
|
"no_device_automations": "אין אוטומציות זמינות עבור מכשיר זה.",
|
||||||
"triggers": {
|
"triggers": {
|
||||||
"caption": "עשה משהו כש ..."
|
"caption": "עשה משהו כש ..."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"cant_edit": "באפשרותך לערוך פריטים שנוצרו בממשק המשתמש בלבד.",
|
||||||
"caption": "התקנים",
|
"caption": "התקנים",
|
||||||
"confirm_delete": "האם אתה בטוח שברצונך למחוק התקן זו?",
|
"confirm_delete": "האם אתה בטוח שברצונך למחוק מכשיר זה?",
|
||||||
"confirm_rename_entity_ids": "האם אתה רוצה גם לשנות את המזהים של הישויות שלך?",
|
"confirm_rename_entity_ids": "האם אתה רוצה גם לשנות את המזהים של הישויות שלך?",
|
||||||
"data_table": {
|
"data_table": {
|
||||||
"area": "אזור",
|
"area": "אזור",
|
||||||
"battery": "סוללה",
|
"battery": "סוללה",
|
||||||
"device": "התקן",
|
"device": "מכשיר",
|
||||||
"integration": "אינטגרציה",
|
"integration": "אינטגרציה",
|
||||||
"manufacturer": "יצרן",
|
"manufacturer": "יצרן",
|
||||||
"model": "מודל",
|
"model": "מודל",
|
||||||
@ -1177,32 +1293,76 @@
|
|||||||
},
|
},
|
||||||
"delete": "מחיקה",
|
"delete": "מחיקה",
|
||||||
"description": "ניהול התקנים מחוברים",
|
"description": "ניהול התקנים מחוברים",
|
||||||
"device_info": "פרטי התקן",
|
"device_info": "פרטי מכשיר",
|
||||||
"device_not_found": "ההתקן לא נמצא.",
|
"device_not_found": "המכשיר לא נמצא.",
|
||||||
"entities": {
|
"entities": {
|
||||||
"disabled_entities": "+{count} {count, plural,\n one {disabled entity}\n other {disabled entities}\n}"
|
"add_entities_lovelace": "הוסף לממשק Lovelace",
|
||||||
|
"disabled_entities": "+{count} {count, plural,\n one {disabled entity}\n other {disabled entities}\n}",
|
||||||
|
"entities": "ישויות",
|
||||||
|
"hide_disabled": "הסתר מושבתים",
|
||||||
|
"none": "למכשיר זה אין ישויות"
|
||||||
},
|
},
|
||||||
|
"name": "שם",
|
||||||
"no_devices": "אין התקנים",
|
"no_devices": "אין התקנים",
|
||||||
|
"scene": {
|
||||||
|
"create": "צור סצינה עם המכשיר",
|
||||||
|
"no_scenes": "אין סצינות",
|
||||||
|
"scenes": "סצינות"
|
||||||
|
},
|
||||||
|
"scenes": "סצינות",
|
||||||
|
"script": {
|
||||||
|
"create": "צור סקריפט עם המכשיר",
|
||||||
|
"no_scripts": "אין סקריפטים",
|
||||||
|
"scripts": "סקריפטים"
|
||||||
|
},
|
||||||
|
"scripts": "סקריפטים",
|
||||||
"unknown_error": "שגיאה לא ידועה",
|
"unknown_error": "שגיאה לא ידועה",
|
||||||
"unnamed_device": "התקן ללא שם"
|
"unnamed_device": "מכשיר ללא שם",
|
||||||
|
"update": "עדכון"
|
||||||
},
|
},
|
||||||
"entities": {
|
"entities": {
|
||||||
"caption": "מאגר הישויות",
|
"caption": "מאגר הישויות",
|
||||||
"description": "סקירה של כל הישויות המוכרות",
|
"description": "סקירה של כל הישויות המוכרות",
|
||||||
"picker": {
|
"picker": {
|
||||||
|
"disable_selected": {
|
||||||
|
"button": "השבת מסומנים",
|
||||||
|
"confirm_text": "ישויות מושבתות לא יתווספו ל Home Assistant.",
|
||||||
|
"confirm_title": "האם אתה רוצה להשבית {number} ישויות?"
|
||||||
|
},
|
||||||
|
"enable_selected": {
|
||||||
|
"button": "אפשר מסומנים",
|
||||||
|
"confirm_text": "זה יהפוך אותם לזמינים ב Home Assistant שוב אם הם מושבתים כעת.",
|
||||||
|
"confirm_title": "האם אתה רוצה לאפשר {number} ישויות?"
|
||||||
|
},
|
||||||
|
"filter": {
|
||||||
|
"filter": "סנן",
|
||||||
|
"show_disabled": "הצג ישויות מושבתות",
|
||||||
|
"show_readonly": "הצג ישויות לקריאה בלבד",
|
||||||
|
"show_unavailable": "הצג ישויות לא זמינות"
|
||||||
|
},
|
||||||
"header": "מאגר הישויות",
|
"header": "מאגר הישויות",
|
||||||
"headers": {
|
"headers": {
|
||||||
"entity_id": "מזהה ישות",
|
"entity_id": "מזהה ישות",
|
||||||
"integration": "אינטגרציה",
|
"integration": "אינטגרציה",
|
||||||
"name": "שם"
|
"name": "שם",
|
||||||
|
"status": "סטטוס"
|
||||||
},
|
},
|
||||||
"introduction": "Home Assistant מנהל רישום של כל ישות שנראתה אי פעם ואשר ניתנת לזיהוי ייחודי. לכל אחד מישויות אלו יהיה מזהה ישות שהוקצה ואשר יהה שמור רק עבור ישות זו.",
|
"introduction": "Home Assistant מנהל רישום של כל ישות שנראתה אי פעם ואשר ניתנת לזיהוי ייחודי. לכל אחד מישויות אלו יהיה מזהה ישות שהוקצה ואשר יהה שמור רק עבור ישות זו.",
|
||||||
"introduction2": "השתמש במאגר הישויות בכדי לשנות את השם, מזהה הישות או להסיר את הערך מ- Home Assistant. שים לב, הסרת הישות ממאגר זה לא תסיר את הישות. לשם כך, פעל לפי הקישור שלהלן והסר אותו מדף האינטגרציות.",
|
"introduction2": "השתמש במאגר הישויות בכדי לשנות את השם, מזהה הישות או להסיר את הערך מ- Home Assistant. שים לב, הסרת הישות ממאגר זה לא תסיר את הישות. לשם כך, פעל לפי הקישור שלהלן והסר אותו מדף האינטגרציות.",
|
||||||
"remove_selected": {
|
"remove_selected": {
|
||||||
"confirm_partly_title": "ניתן להסיר רק {number} ישויות שנבחרו."
|
"button": "הסר את המסומנים",
|
||||||
|
"confirm_partly_text": "אתה יכול להסיר רק את {removable} מהישויות שנבחרו {selected}. ניתן להסיר ישויות רק כאשר האינטגרציה כבר לא מספקת את הישויות. לפעמים אתה צריך להפעיל מחדש את עוזר הבית לפני שתוכל להסיר את הישויות של אינטגרציה שהוסרה. האם אתה בטוח שברצונך להסיר את הישויות הניתנות להסרה?",
|
||||||
|
"confirm_partly_title": "ניתן להסיר רק {number} ישויות שנבחרו.",
|
||||||
|
"confirm_text": "עליך להסיר אותם מתצורת ה- Lovelace ומהאוטומציות שלך אם הם מכילים ישויות אלה.",
|
||||||
|
"confirm_title": "האם ברצונך להסיר {מספר} ישויות?"
|
||||||
},
|
},
|
||||||
|
"selected": "{number} נבחרו",
|
||||||
"status": {
|
"status": {
|
||||||
"restored": "שוחזר"
|
"disabled": "מושבת",
|
||||||
|
"ok": "אישור",
|
||||||
|
"readonly": "קריאה בלבד",
|
||||||
|
"restored": "שוחזר",
|
||||||
|
"unavailable": "לא זמין"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1215,6 +1375,7 @@
|
|||||||
"caption": "עוזרים",
|
"caption": "עוזרים",
|
||||||
"description": "רכיבים שיכולים לסייע בבניית אוטומציות.",
|
"description": "רכיבים שיכולים לסייע בבניית אוטומציות.",
|
||||||
"dialog": {
|
"dialog": {
|
||||||
|
"add_helper": "הוסף עוזר",
|
||||||
"add_platform": "הוסף {platform}",
|
"add_platform": "הוסף {platform}",
|
||||||
"create": "צור"
|
"create": "צור"
|
||||||
},
|
},
|
||||||
@ -1268,7 +1429,9 @@
|
|||||||
"delete": "מחק",
|
"delete": "מחק",
|
||||||
"delete_button": "מחק {integration}",
|
"delete_button": "מחק {integration}",
|
||||||
"delete_confirm": "האם אתה בטוח שברצונך למחוק אינטגרציה זו?",
|
"delete_confirm": "האם אתה בטוח שברצונך למחוק אינטגרציה זו?",
|
||||||
"device_unavailable": "התקן אינו זמין",
|
"device_unavailable": "מכשיר אינו זמין",
|
||||||
|
"devices": "{count} {count, plural,\n one {device}\n other {devices}\n}",
|
||||||
|
"entities": "{count} {count, plural,\n one {entity}\n other {entities}\n}",
|
||||||
"entity_unavailable": "ישות לא זמינה",
|
"entity_unavailable": "ישות לא זמינה",
|
||||||
"firmware": "קושחה: {version}",
|
"firmware": "קושחה: {version}",
|
||||||
"hub": "מחובר באמצעות",
|
"hub": "מחובר באמצעות",
|
||||||
@ -1281,12 +1444,14 @@
|
|||||||
"restart_confirm": "הפעל מחדש את Home Assistant כדי להשלים את הסרת האינטגרציה",
|
"restart_confirm": "הפעל מחדש את Home Assistant כדי להשלים את הסרת האינטגרציה",
|
||||||
"settings_button": "ערוך הגדרות עבור {integration}",
|
"settings_button": "ערוך הגדרות עבור {integration}",
|
||||||
"system_options": "אפשרויות מערכת",
|
"system_options": "אפשרויות מערכת",
|
||||||
"system_options_button": "אפשרויות מערכת עבור {integration}"
|
"system_options_button": "אפשרויות מערכת עבור {integration}",
|
||||||
|
"unnamed_entry": "ערך ללא שם"
|
||||||
},
|
},
|
||||||
"config_flow": {
|
"config_flow": {
|
||||||
"aborted": "הופסק",
|
"aborted": "הופסק",
|
||||||
"close": "סגור",
|
"close": "סגור",
|
||||||
"created_config": "נוצרה תצורה עבור {name}.",
|
"created_config": "נוצרה תצורה עבור {name}.",
|
||||||
|
"dismiss": "ביטול תיבת דו-שיח",
|
||||||
"error_saving_area": "שגיאה בשמירת האזור: {error}",
|
"error_saving_area": "שגיאה בשמירת האזור: {error}",
|
||||||
"external_step": {
|
"external_step": {
|
||||||
"description": "שלב זה מחייב אותך לבקר באתר אינטרנט חיצוני להשלמת הפעולה.",
|
"description": "שלב זה מחייב אותך לבקר באתר אינטרנט חיצוני להשלמת הפעולה.",
|
||||||
@ -1303,6 +1468,17 @@
|
|||||||
"details": "פרטי האינטגרציה",
|
"details": "פרטי האינטגרציה",
|
||||||
"discovered": "זוהו",
|
"discovered": "זוהו",
|
||||||
"home_assistant_website": "אתר Home Assistant",
|
"home_assistant_website": "אתר Home Assistant",
|
||||||
|
"ignore": {
|
||||||
|
"confirm_delete_ignore": "פעולה זו תגרום לאינטגרציה להופיע באינטגרציות שהתגלו שוב כאשר היא תתגלה. ייתכן שתידרש הפעלה מחדש או להמתין כדי שזה יקרה.",
|
||||||
|
"confirm_delete_ignore_title": "הפסק להתעלם מ- {name} ?",
|
||||||
|
"confirm_ignore": "האם אתה בטוח שאתה לא רוצה להגדיר אינטגרציה זו? אתה יכול לבטל את זה על ידי לחיצה על 'הצג אינטגרציות שמתעלמים מהן' בתפריט שמשמאל למעלה.",
|
||||||
|
"confirm_ignore_title": "התעלם מגילוי {name}?",
|
||||||
|
"hide_ignored": "הסתר אינטגרציות שמתעלמים מהן",
|
||||||
|
"ignore": "התעלם",
|
||||||
|
"ignored": "מתעלם",
|
||||||
|
"show_ignored": "הצג אינטגרציות שמתעלמים מהן",
|
||||||
|
"stop_ignore": "הפסק להתעלם"
|
||||||
|
},
|
||||||
"integration": "אינטגרציה",
|
"integration": "אינטגרציה",
|
||||||
"integration_not_found": "האינטגרציה לא נמצאה.",
|
"integration_not_found": "האינטגרציה לא נמצאה.",
|
||||||
"new": "הגדר אינטגרציה",
|
"new": "הגדר אינטגרציה",
|
||||||
@ -1330,7 +1506,10 @@
|
|||||||
"title": "יומנים"
|
"title": "יומנים"
|
||||||
},
|
},
|
||||||
"lovelace": {
|
"lovelace": {
|
||||||
|
"caption": "לוחות מחוונים של Lovelace",
|
||||||
"dashboards": {
|
"dashboards": {
|
||||||
|
"cant_edit_default": "לא ניתן לערוך את לוח המחוונים של לאבלייס מממשק המשתמש. באפשרותך להסתירו על-ידי הגדרת לוח מחוונים אחר כברירת מחדל.",
|
||||||
|
"cant_edit_yaml": "לא ניתן לערוך שלוחות מחוונים המוגדרים ב- YAML מממשק המשתמש. שנה אותם ב- configuration.yaml.",
|
||||||
"caption": "לוחות בקרה",
|
"caption": "לוחות בקרה",
|
||||||
"conf_mode": {
|
"conf_mode": {
|
||||||
"storage": "ממשק המשתמש נשלט",
|
"storage": "ממשק המשתמש נשלט",
|
||||||
@ -1345,18 +1524,20 @@
|
|||||||
"edit_dashboard": "ערוך לוח בקרה",
|
"edit_dashboard": "ערוך לוח בקרה",
|
||||||
"icon": "סמל",
|
"icon": "סמל",
|
||||||
"new_dashboard": "הוסף לוח בקרה חדש",
|
"new_dashboard": "הוסף לוח בקרה חדש",
|
||||||
"remove_default": "הסר כברירת מחדל בהתקן זה",
|
"remove_default": "הסר כברירת מחדל במכשיר זה",
|
||||||
"require_admin": "מנהל בלבד",
|
"require_admin": "מנהל בלבד",
|
||||||
"set_default": "הגדר כברירת מחדל בהתקן זה",
|
"set_default": "הגדר כברירת מחדל במכשיר זה",
|
||||||
"show_sidebar": "הצג בסרגל הצד",
|
"show_sidebar": "הצג בסרגל הצד",
|
||||||
"title": "כותרת",
|
"title": "כותרת",
|
||||||
"title_required": "הכותרת נדרשת.",
|
"title_required": "הכותרת נדרשת.",
|
||||||
"update": "עדכן",
|
"update": "עדכן",
|
||||||
"url": "URL"
|
"url": "URL",
|
||||||
|
"url_error_msg": "כתובת האתר צריכה להכיל - ולא יכולה להכיל רווחים או תווים מיוחדים, למעט _ ו- -"
|
||||||
},
|
},
|
||||||
"picker": {
|
"picker": {
|
||||||
"add_dashboard": "הוסף לוח בקרה חדש",
|
"add_dashboard": "הוסף לוח בקרה חדש",
|
||||||
"headers": {
|
"headers": {
|
||||||
|
"conf_mode": "שיטת קביעת קונפיגרציה",
|
||||||
"default": "ברירת מחדל",
|
"default": "ברירת מחדל",
|
||||||
"filename": "שם קובץ",
|
"filename": "שם קובץ",
|
||||||
"require_admin": "מנהל בלבד",
|
"require_admin": "מנהל בלבד",
|
||||||
@ -1366,18 +1547,22 @@
|
|||||||
"open": "פתוח"
|
"open": "פתוח"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"description": "הגדרת לוחות המחוונים של Lovelace",
|
||||||
"resources": {
|
"resources": {
|
||||||
|
"cant_edit_yaml": "אתה משתמש ב- Lovelace במצב YAML, לכן אינך יכול לנהל את המשאבים שלך דרך ממשק המשתמש. נהל אותם ב- configuration.yaml.",
|
||||||
"caption": "משאבים",
|
"caption": "משאבים",
|
||||||
"confirm_delete": "האם אתה בטוח שברצונך למחוק את המשאב הזה?",
|
"confirm_delete": "האם אתה בטוח שברצונך למחוק את המשאב הזה?",
|
||||||
"detail": {
|
"detail": {
|
||||||
"create": "צור",
|
"create": "צור",
|
||||||
"delete": "מחק",
|
"delete": "מחק",
|
||||||
"dismiss": "סגור",
|
"dismiss": "סגור",
|
||||||
|
"new_resource": "הוסף משאב חדש",
|
||||||
"type": "סוג המשאב",
|
"type": "סוג המשאב",
|
||||||
"update": "עדכן",
|
"update": "עדכן",
|
||||||
"url": "URL",
|
"url": "URL",
|
||||||
"url_error_msg": "כתובת URL היא שדה נדרש",
|
"url_error_msg": "כתובת URL היא שדה נדרש",
|
||||||
"warning_header": "היה זהיר!"
|
"warning_header": "היה זהיר!",
|
||||||
|
"warning_text": "הוספת משאבים יכולה להיות מסוכנת, וודא שאתה יודע את מקור המשאב וסומך עליו. משאבים רעים עלולים לפגוע קשות במערכת שלך."
|
||||||
},
|
},
|
||||||
"picker": {
|
"picker": {
|
||||||
"add_resource": "הוסף משאב",
|
"add_resource": "הוסף משאב",
|
||||||
@ -1387,6 +1572,7 @@
|
|||||||
},
|
},
|
||||||
"no_resources": "אין משאבים"
|
"no_resources": "אין משאבים"
|
||||||
},
|
},
|
||||||
|
"refresh_body": "אתה צריך לרענן את הדף כדי להשלים את ההסרה, האם אתה רוצה לרענן עכשיו?",
|
||||||
"refresh_header": "האם אתה רוצה לרענן?",
|
"refresh_header": "האם אתה רוצה לרענן?",
|
||||||
"types": {
|
"types": {
|
||||||
"css": "סגנון עיצוב",
|
"css": "סגנון עיצוב",
|
||||||
@ -1397,6 +1583,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mqtt": {
|
"mqtt": {
|
||||||
|
"button": "הגדר",
|
||||||
"description_listen": "האזנה לנושא",
|
"description_listen": "האזנה לנושא",
|
||||||
"description_publish": "פרסם חבילה",
|
"description_publish": "פרסם חבילה",
|
||||||
"listening_to": "האזנה ל",
|
"listening_to": "האזנה ל",
|
||||||
@ -1428,7 +1615,7 @@
|
|||||||
"name": "שם",
|
"name": "שם",
|
||||||
"name_error_msg": "שם נדרש",
|
"name_error_msg": "שם נדרש",
|
||||||
"new_person": "אדם חדש",
|
"new_person": "אדם חדש",
|
||||||
"no_device_tracker_available_intro": "כאשר יש לך התקנים המציינים את נוכחותו של אדם, כאן תוכל להקצותם לאדם זה. באפשרותך להוסיף את ההתקן הראשון על-ידי הוספת אינטגרציה של זיהוי נוכחות מעמוד האינטגרציות.",
|
"no_device_tracker_available_intro": "כאשר יש לך התקנים המציינים את נוכחותו של אדם, כאן תוכל להקצותם לאדם זה. באפשרותך להוסיף את המכשיר הראשון על-ידי הוספת אינטגרציה של זיהוי נוכחות מעמוד האינטגרציות.",
|
||||||
"update": "עדכון"
|
"update": "עדכון"
|
||||||
},
|
},
|
||||||
"introduction": "כאן תוכלו להגדיר כל אדם ב Home Assistant.",
|
"introduction": "כאן תוכלו להגדיר כל אדם ב Home Assistant.",
|
||||||
@ -1442,18 +1629,18 @@
|
|||||||
"editor": {
|
"editor": {
|
||||||
"default_name": "סצינה חדשה",
|
"default_name": "סצינה חדשה",
|
||||||
"devices": {
|
"devices": {
|
||||||
"add": "הוסף התקן",
|
"add": "הוסף מכשיר",
|
||||||
"delete": "מחיקת התקן",
|
"delete": "מחיקת מכשיר",
|
||||||
"header": "התקנים",
|
"header": "התקנים",
|
||||||
"introduction": "הוסף את ההתקנים שברצונך שייכללו בסצינה. הגדר את כל ההתקנים למצב הרצוי עבור סצינה זו."
|
"introduction": "הוסף את ההתקנים שברצונך שייכללו בסצינה. הגדר את כל ההתקנים למצב הרצוי עבור סצינה זו."
|
||||||
},
|
},
|
||||||
"entities": {
|
"entities": {
|
||||||
"add": "הוסף ישות",
|
"add": "הוסף ישות",
|
||||||
"delete": "מחק ישות",
|
"delete": "מחק ישות",
|
||||||
"device_entities": "אם תוסיף ישות השייכת להתקן, ההתקן יתווסף.",
|
"device_entities": "אם תוסיף ישות השייכת למכשיר, המכשיר יתווסף.",
|
||||||
"header": "ישויות",
|
"header": "ישויות",
|
||||||
"introduction": "ניתן להגדיר כאן ישויות שאינן שייכות להתקנים.",
|
"introduction": "ניתן להגדיר כאן ישויות שאינן שייכות להתקנים.",
|
||||||
"without_device": "ישויות ללא התקן"
|
"without_device": "ישויות ללא מכשיר"
|
||||||
},
|
},
|
||||||
"introduction": "השתמש בסצינות כדי להחיות את הבית שלך.",
|
"introduction": "השתמש בסצינות כדי להחיות את הבית שלך.",
|
||||||
"load_error_not_editable": "רק סצינות ב scenes.yaml ניתנות לעריכה.",
|
"load_error_not_editable": "רק סצינות ב scenes.yaml ניתנות לעריכה.",
|
||||||
@ -1483,6 +1670,7 @@
|
|||||||
"caption": "סקריפט",
|
"caption": "סקריפט",
|
||||||
"description": "צור וערוך סקריפטים",
|
"description": "צור וערוך סקריפטים",
|
||||||
"editor": {
|
"editor": {
|
||||||
|
"alias": "שם",
|
||||||
"default_name": "סקריפט חדש",
|
"default_name": "סקריפט חדש",
|
||||||
"delete_confirm": "האם אתה בטוח שברצונך למחוק את הסקריפט הזה?",
|
"delete_confirm": "האם אתה בטוח שברצונך למחוק את הסקריפט הזה?",
|
||||||
"delete_script": "מחק סקריפט",
|
"delete_script": "מחק סקריפט",
|
||||||
@ -1522,8 +1710,10 @@
|
|||||||
"input_select": "טען מחדש input selects",
|
"input_select": "טען מחדש input selects",
|
||||||
"input_text": "טען מחדש input text",
|
"input_text": "טען מחדש input text",
|
||||||
"introduction": "חלקים מסוימים של Home Assistant יכולים להטען מחדש ללא צורך בהפעלה מחדש.\nטעינה מחדש תשנה את הקונפיגורציה הנוכחית ותטען קונפיגורציה חדשה.",
|
"introduction": "חלקים מסוימים של Home Assistant יכולים להטען מחדש ללא צורך בהפעלה מחדש.\nטעינה מחדש תשנה את הקונפיגורציה הנוכחית ותטען קונפיגורציה חדשה.",
|
||||||
|
"person": "טען מחדש אנשים",
|
||||||
"scene": "טען מחדש סצנות",
|
"scene": "טען מחדש סצנות",
|
||||||
"script": "טען מחדש סקריפטים"
|
"script": "טען מחדש סקריפטים",
|
||||||
|
"zone": "טען מחדש אזורים"
|
||||||
},
|
},
|
||||||
"server_management": {
|
"server_management": {
|
||||||
"confirm_restart": "האם אתה בטוח שברצונך להפעיל מחדש את Home Assistant?",
|
"confirm_restart": "האם אתה בטוח שברצונך להפעיל מחדש את Home Assistant?",
|
||||||
@ -1590,6 +1780,10 @@
|
|||||||
"search_again": "חפש שוב",
|
"search_again": "חפש שוב",
|
||||||
"spinner": "מחפש מכשירי ZHA Zigbee..."
|
"spinner": "מחפש מכשירי ZHA Zigbee..."
|
||||||
},
|
},
|
||||||
|
"add": {
|
||||||
|
"caption": "הוסף התקנים",
|
||||||
|
"description": "הוספת התקנים לרשת Zigbee"
|
||||||
|
},
|
||||||
"button": "הגדר",
|
"button": "הגדר",
|
||||||
"caption": "ZHA",
|
"caption": "ZHA",
|
||||||
"cluster_attributes": {
|
"cluster_attributes": {
|
||||||
@ -1610,7 +1804,9 @@
|
|||||||
"issue_zigbee_command": "שלח פקודת Zigbee"
|
"issue_zigbee_command": "שלח פקודת Zigbee"
|
||||||
},
|
},
|
||||||
"clusters": {
|
"clusters": {
|
||||||
"help_cluster_dropdown": "בחר אשכול כדי להציג תכונות ופקודות."
|
"header": "אשכולות",
|
||||||
|
"help_cluster_dropdown": "בחר אשכול כדי להציג תכונות ופקודות.",
|
||||||
|
"introduction": "אשכולות הם אבני הבניין עבור פונקציונליות Zigbee. הן מפרידות את הפונקציונליות ליחידות לוגיות. קיימים סוגים של לקוחות ושרתים הכוללים תכונות ופקודות."
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
"add_devices": "הוסף התקנים",
|
"add_devices": "הוסף התקנים",
|
||||||
@ -1620,6 +1816,49 @@
|
|||||||
"value": "ערך"
|
"value": "ערך"
|
||||||
},
|
},
|
||||||
"description": "ניהול רשת Zigbee לאוטומציה ביתית",
|
"description": "ניהול רשת Zigbee לאוטומציה ביתית",
|
||||||
|
"devices": {
|
||||||
|
"header": "אוטומציה ביתית של Zigbee - מכשיר"
|
||||||
|
},
|
||||||
|
"group_binding": {
|
||||||
|
"bind_button_help": "קשר את הקבוצה שנבחרה לאשכול המכשירים שנבחר.",
|
||||||
|
"bind_button_label": "קשר קבוצה",
|
||||||
|
"cluster_selection_help": "בחר אשכולות לקישור לקבוצה שנבחרה.",
|
||||||
|
"group_picker_help": "בחר קבוצה להפעלת פקודת קישור.",
|
||||||
|
"group_picker_label": "קבוצות הניתנות לקישור",
|
||||||
|
"header": "קישור הקבוצה",
|
||||||
|
"introduction": "קישור וניתוק קבוצות.",
|
||||||
|
"unbind_button_help": "נתק את הקבוצה שנבחרה מאשכולות המכשירים שנבחרו.",
|
||||||
|
"unbind_button_label": "ביטול קישור של קבוצה"
|
||||||
|
},
|
||||||
|
"groups": {
|
||||||
|
"add_members": "הוסף חברים",
|
||||||
|
"adding_members": "מוסיף חברים",
|
||||||
|
"caption": "קבוצות",
|
||||||
|
"create": "צור קבוצה",
|
||||||
|
"create_group": "אוטומציה ביתית של Zigbee - צור קבוצה",
|
||||||
|
"create_group_details": "הזן את הפרטים הדרושים כדי ליצור קבוצת zigbee חדשה",
|
||||||
|
"creating_group": "יוצר קבוצה",
|
||||||
|
"description": "יצירה ושינוי של קבוצות Zigbee",
|
||||||
|
"group_details": "להלן כל הפרטים עבור קבוצת Zigbee שנבחרה.",
|
||||||
|
"group_id": "מזהה קבוצה",
|
||||||
|
"group_info": "פרטי קבוצה",
|
||||||
|
"group_name_placeholder": "שם קבוצה",
|
||||||
|
"group_not_found": "הקבוצה לא נמצאה!",
|
||||||
|
"group-header": "אוטומציה ביתית של Zigbee - פרטי קבוצה",
|
||||||
|
"groups": "קבוצות",
|
||||||
|
"groups-header": "אוטומציה ביתית של Zigbee - ניהול קבוצות",
|
||||||
|
"header": "אוטומציה ביתית של Zigbee - ניהול קבוצות",
|
||||||
|
"introduction": "יצירה ושינוי של קבוצות Zigbee",
|
||||||
|
"manage_groups": "ניהול קבוצות Zigbee",
|
||||||
|
"members": "חברים",
|
||||||
|
"remove_groups": "הסר קבוצות",
|
||||||
|
"remove_members": "הסר חברים",
|
||||||
|
"removing_groups": "מסיר קבוצות",
|
||||||
|
"removing_members": "מסיר חברים",
|
||||||
|
"zha_zigbee_groups": "קבוצות Zigbee ZHA"
|
||||||
|
},
|
||||||
|
"header": "הגדר אוטומציה ביתית של Zigbee",
|
||||||
|
"introduction": "כאן ניתן לקבוע את התצורה של רכיב ה- ZHA. עדיין לא ניתן להגדיר הכל ממשק המשתמש, אך אנו עובדים על זה.",
|
||||||
"network_management": {
|
"network_management": {
|
||||||
"header": "ניהול רשת",
|
"header": "ניהול רשת",
|
||||||
"introduction": "פקודות שמשפיעות על הרשת כולה"
|
"introduction": "פקודות שמשפיעות על הרשת כולה"
|
||||||
@ -1628,12 +1867,42 @@
|
|||||||
"caption": "רשת"
|
"caption": "רשת"
|
||||||
},
|
},
|
||||||
"node_management": {
|
"node_management": {
|
||||||
"header": "ניהול התקן",
|
"header": "ניהול מכשירים",
|
||||||
"help_node_dropdown": "בחר התקן להצגת האפשרויות.",
|
"help_node_dropdown": "בחר מכשיר להצגת האפשרויות.",
|
||||||
"hint_battery_devices": "הערה: מכשירים מנומנמים (מופעלים על סוללות) צריכים להיות ערים בעת ביצוע פקודות מולם. בדרך כלל ניתן להעיר מכשיר מנומנם על ידי ביצוע פקודה מולם.",
|
"hint_battery_devices": "הערה: מכשירים מנומנמים (מופעלים על סוללות) צריכים להיות ערים בעת ביצוע פקודות מולם. בדרך כלל ניתן להעיר מכשיר מנומנם על ידי ביצוע פקודה מולם.",
|
||||||
"hint_wakeup": "מכשירים מסוימים, כגון חיישני Xiaomi, כוללים כפתור להתעוררות עליו ניתן ללחוץ במרווח של ~5 שניות על מנת להשאיר אותם ערים בזמן שמתקשרים איתם.",
|
"hint_wakeup": "מכשירים מסוימים, כגון חיישני Xiaomi, כוללים כפתור להתעוררות עליו ניתן ללחוץ במרווח של ~5 שניות על מנת להשאיר אותם ערים בזמן שמתקשרים איתם.",
|
||||||
"introduction": "הפעל פקודות ZHA המשפיעות על מכשיר בודד. בחר מכשיר כדי לראות את רשימת הפקודות הזמינות."
|
"introduction": "הפעל פקודות ZHA המשפיעות על מכשיר בודד. בחר מכשיר כדי לראות את רשימת הפקודות הזמינות."
|
||||||
}
|
},
|
||||||
|
"title": "אוטומציה ביתית של Zigbee"
|
||||||
|
},
|
||||||
|
"zone": {
|
||||||
|
"add_zone": "הוסף אזור",
|
||||||
|
"caption": "אזורים",
|
||||||
|
"configured_in_yaml": "לא ניתן לערוך אזורים המוגדרים באמצעות configuration.yaml באמצעות ממשק המשתמש.",
|
||||||
|
"confirm_delete": "האם אתה בטוח שברצונך למחוק אזור זה?",
|
||||||
|
"create_zone": "צור אזור",
|
||||||
|
"description": "נהל את האזורים שבהם ברצונך לעקוב אחר אנשים.",
|
||||||
|
"detail": {
|
||||||
|
"create": "צור",
|
||||||
|
"delete": "מחק",
|
||||||
|
"icon": "סמל",
|
||||||
|
"icon_error_msg": "הסמל צריך להיות בפורמט: prefix:iconname, למשל: mdi:home",
|
||||||
|
"latitude": "קו רוחב",
|
||||||
|
"longitude": "קו אורך",
|
||||||
|
"name": "שם",
|
||||||
|
"new_zone": "אזור חדש",
|
||||||
|
"passive": "פסיבי",
|
||||||
|
"passive_note": "אזורים פסיביים מוסתרים בממשק המשתמש ולא משמשים כמיקום עבור עוקבי מכשירים. זה שימושי אם אתה רק רוצה להשתמש בו לאוטומציות.",
|
||||||
|
"radius": "רדיוס",
|
||||||
|
"required_error_msg": "שדה זה הוא חובה",
|
||||||
|
"update": "עדכן"
|
||||||
|
},
|
||||||
|
"edit_home_zone": "עדיין לא ניתן לערוך את רדיוס אזור הבית מממשק המשתמש. גרור את הסמן על המפה כדי להזיז את אזור הבית.",
|
||||||
|
"edit_home_zone_narrow": "הרדיוס של אזור הבית שלך ניתן לעריכה מדף הקונפיגורציה הכללי. עדיין לא ניתן לערוך את רדיוס אזור הבית מממשק המשתמש. האם ברצונך לעבור לקונפיגורציה הכללית?",
|
||||||
|
"go_to_core_config": "לעבור לקונפיגורציה הכללית?",
|
||||||
|
"home_zone_core_config": "המיקום של אזור הבית שלך ניתן לעריכה מדף הקונפיגורציה הכללי. עדיין לא ניתן לערוך את מיקום אזור הבית מממשק המשתמש. האם ברצונך לעבור לקונפיגורציה הכללית?",
|
||||||
|
"introduction": "אזורים מאפשרים לך לציין אזורים מסוימים בכדור הארץ. כאשר אדם נמצא באזור, הסטטוס יקח את השם מהאזור. אזורים יכולים לשמש גם כטריגר או תנאי בתוך הגדרות אוטומציה.",
|
||||||
|
"no_zones_created_yet": "נראה שעדיין לא יצרת אזורים."
|
||||||
},
|
},
|
||||||
"zwave": {
|
"zwave": {
|
||||||
"button": "הגדר",
|
"button": "הגדר",
|
||||||
@ -1677,34 +1946,45 @@
|
|||||||
"group": "קְבוּצָה",
|
"group": "קְבוּצָה",
|
||||||
"header": "ניהול יחידות Z-Wave",
|
"header": "ניהול יחידות Z-Wave",
|
||||||
"introduction": "הפעל פקודות Z-Wave המשפיעות על יחידה בודדת. בחר יחידה כדי לראות רשימה של פקודות זמינות.",
|
"introduction": "הפעל פקודות Z-Wave המשפיעות על יחידה בודדת. בחר יחידה כדי לראות רשימה של פקודות זמינות.",
|
||||||
|
"max_associations": "כמות קישורים מקסימלי:",
|
||||||
"node_group_associations": "קישורי קבוצת היחידה",
|
"node_group_associations": "קישורי קבוצת היחידה",
|
||||||
"node_protection": "הגנת יחידה",
|
"node_protection": "הגנת יחידה",
|
||||||
"node_to_control": "יחידה לניהול",
|
"node_to_control": "יחידה לניהול",
|
||||||
"nodes": "יחידות",
|
"nodes": "יחידות",
|
||||||
"nodes_hint": "בחר יחידה כדי להציג אפשרויות ליחידה",
|
"nodes_hint": "בחר יחידה כדי להציג אפשרויות ליחידה",
|
||||||
|
"nodes_in_group": "יחידות אחרות בקבוצה זו:",
|
||||||
"pooling_intensity": "עוצמת דגימה",
|
"pooling_intensity": "עוצמת דגימה",
|
||||||
"protection": "הגנה",
|
"protection": "הגנה",
|
||||||
|
"remove_broadcast": "הסר שידור רחב",
|
||||||
"remove_from_group": "הסר מהקבוצה",
|
"remove_from_group": "הסר מהקבוצה",
|
||||||
"set_protection": "הגדרת הגנה"
|
"set_protection": "הגדרת הגנה"
|
||||||
},
|
},
|
||||||
"ozw_log": {
|
"ozw_log": {
|
||||||
"header": "יומן OZW",
|
"header": "יומן OZW",
|
||||||
"introduction": "צפה ביומן. 0 הוא המינימום (טוען יומן שלם) ו -1000 הוא המקסימום. הטעינה תציג יומן סטטי והסוף יתעדכן אוטומטית במספר האחרון שצוין של שורות היומן.",
|
"introduction": "צפה ביומן. 0 הוא המינימום (טוען יומן שלם) ו -1000 הוא המקסימום. הטעינה תציג יומן סטטי והסוף יתעדכן אוטומטית במספר האחרון שצוין של שורות היומן.",
|
||||||
"load": "לִטעוֹן"
|
"last_log_lines": "מספר שורות יומן אחרונות",
|
||||||
|
"load": "לִטעוֹן",
|
||||||
|
"tail": "סוף"
|
||||||
},
|
},
|
||||||
"services": {
|
"services": {
|
||||||
"add_node": "הוסף רכיב",
|
"add_node": "הוסף רכיב",
|
||||||
"add_node_secure": "הוסף רכיב מאובטח",
|
"add_node_secure": "הוסף רכיב מאובטח",
|
||||||
"cancel_command": "ביטול פקודה",
|
"cancel_command": "ביטול פקודה",
|
||||||
"heal_network": "ריפוי רשת",
|
"heal_network": "ריפוי רשת",
|
||||||
|
"heal_node": "תיקון יחידה",
|
||||||
"node_info": "מידע על היחידה",
|
"node_info": "מידע על היחידה",
|
||||||
|
"print_node": "הדפסת יחידה",
|
||||||
"refresh_entity": "רענן ישות",
|
"refresh_entity": "רענן ישות",
|
||||||
|
"refresh_node": "רענן יחידה",
|
||||||
|
"remove_failed_node": "הסר יחידה תקולה",
|
||||||
"remove_node": "הסר רכיב",
|
"remove_node": "הסר רכיב",
|
||||||
|
"replace_failed_node": "החלף יחידה תקולה",
|
||||||
"save_config": "שמור קונפיגורציה",
|
"save_config": "שמור קונפיגורציה",
|
||||||
"soft_reset": "איפוס רך",
|
"soft_reset": "איפוס רך",
|
||||||
"start_network": "הפעל רשת",
|
"start_network": "הפעל רשת",
|
||||||
"stop_network": "עצור רשת",
|
"stop_network": "עצור רשת",
|
||||||
"test_network": "בדיקת רשת"
|
"test_network": "בדיקת רשת",
|
||||||
|
"test_node": "בדיקת יחידה"
|
||||||
},
|
},
|
||||||
"values": {
|
"values": {
|
||||||
"header": "ערכים"
|
"header": "ערכים"
|
||||||
@ -1756,7 +2036,7 @@
|
|||||||
"alert_entity_field": "ישות היא שדה חובה",
|
"alert_entity_field": "ישות היא שדה חובה",
|
||||||
"attributes": "תכונות",
|
"attributes": "תכונות",
|
||||||
"current_entities": "ישויות נוכחיות",
|
"current_entities": "ישויות נוכחיות",
|
||||||
"description1": "הגדר את הייצוג של ההתקן בתוך Home Assistant.",
|
"description1": "הגדר את הייצוג של המכשיר בתוך Home Assistant.",
|
||||||
"description2": "זה לא יתקשר עם המכשיר עצמו.",
|
"description2": "זה לא יתקשר עם המכשיר עצמו.",
|
||||||
"entity": "ישות",
|
"entity": "ישות",
|
||||||
"filter_attributes": "סנן תכונות",
|
"filter_attributes": "סנן תכונות",
|
||||||
@ -1781,6 +2061,12 @@
|
|||||||
},
|
},
|
||||||
"history": {
|
"history": {
|
||||||
"period": "תקופה",
|
"period": "תקופה",
|
||||||
|
"ranges": {
|
||||||
|
"last_week": "שבוע שעבר",
|
||||||
|
"this_week": "השבוע",
|
||||||
|
"today": "היום",
|
||||||
|
"yesterday": "אתמול"
|
||||||
|
},
|
||||||
"showing_entries": "מציג רשומות עבור"
|
"showing_entries": "מציג רשומות עבור"
|
||||||
},
|
},
|
||||||
"logbook": {
|
"logbook": {
|
||||||
@ -1795,6 +2081,11 @@
|
|||||||
"showing_entries": "מציג רשומות עבור"
|
"showing_entries": "מציג רשומות עבור"
|
||||||
},
|
},
|
||||||
"lovelace": {
|
"lovelace": {
|
||||||
|
"add_entities": {
|
||||||
|
"generated_unsupported": "אתה יכול להשתמש בפונקציה זו רק לאחר שהשתלטת על ממשק המשתמש של Lovelace.",
|
||||||
|
"saving_failed": "שמירת תצורת ממשק המשתמש של Lovelace נכשלה.",
|
||||||
|
"yaml_unsupported": "אינך יכול להשתמש בפונקציה זו כשמשתמשים בממשק המשתמש של Lovelace במצב YAML."
|
||||||
|
},
|
||||||
"cards": {
|
"cards": {
|
||||||
"confirm_delete": "האם אתה בטוח שברצונך למחוק את הכרטיס הזה?",
|
"confirm_delete": "האם אתה בטוח שברצונך למחוק את הכרטיס הזה?",
|
||||||
"empty_state": {
|
"empty_state": {
|
||||||
@ -1802,6 +2093,9 @@
|
|||||||
"no_devices": "דף זה מאפשר לך לשלוט במכשירים שלך, אך נראה שעדיין לא הוגדרו מכשירים. עבור אל דף האינטגרציות כדי להתחיל.",
|
"no_devices": "דף זה מאפשר לך לשלוט במכשירים שלך, אך נראה שעדיין לא הוגדרו מכשירים. עבור אל דף האינטגרציות כדי להתחיל.",
|
||||||
"title": "ברוך הבא הביתה"
|
"title": "ברוך הבא הביתה"
|
||||||
},
|
},
|
||||||
|
"entities": {
|
||||||
|
"never_triggered": "מעולם לא הופעל"
|
||||||
|
},
|
||||||
"picture-elements": {
|
"picture-elements": {
|
||||||
"call_service": "קריאה לשירות {name}",
|
"call_service": "קריאה לשירות {name}",
|
||||||
"hold": "החזק:",
|
"hold": "החזק:",
|
||||||
@ -1811,6 +2105,10 @@
|
|||||||
"toggle": "החלף מצב {name}",
|
"toggle": "החלף מצב {name}",
|
||||||
"url": "פתח חלון ל- {url_path}"
|
"url": "פתח חלון ל- {url_path}"
|
||||||
},
|
},
|
||||||
|
"safe-mode": {
|
||||||
|
"description": "Home Assistant נתקל בבעיות בעת טעינת התצורה שלך וכעת הוא פועל במצב בטוח. עיין ביומן השגיאות כדי לראות מה השתבש.",
|
||||||
|
"header": "מצב בטוח מופעל"
|
||||||
|
},
|
||||||
"shopping-list": {
|
"shopping-list": {
|
||||||
"add_item": "הוסף פריט",
|
"add_item": "הוסף פריט",
|
||||||
"checked_items": "פריטים מסומנים",
|
"checked_items": "פריטים מסומנים",
|
||||||
@ -1829,10 +2127,12 @@
|
|||||||
"card": {
|
"card": {
|
||||||
"alarm-panel": {
|
"alarm-panel": {
|
||||||
"available_states": "מצבים זמינים",
|
"available_states": "מצבים זמינים",
|
||||||
|
"description": "הכרטיס של לוח האזעקה מאפשר לך לדרוך ולנטרל את שילובי לוח הבקרה של האזעקה.",
|
||||||
"name": "לוח אזעקה"
|
"name": "לוח אזעקה"
|
||||||
},
|
},
|
||||||
"button": {
|
"button": {
|
||||||
"description": "כרטיס ה־Button מאפשר להוסיף כפתורים לביצוע משימות."
|
"description": "כרטיס ה־Button מאפשר להוסיף כפתורים לביצוע משימות.",
|
||||||
|
"name": "כפתור"
|
||||||
},
|
},
|
||||||
"conditional": {
|
"conditional": {
|
||||||
"card": "כרטיס",
|
"card": "כרטיס",
|
||||||
@ -1917,6 +2217,10 @@
|
|||||||
"description": "כרטיס הערימה האופקית מאפשר לכם לערום יחד מספר כרטיסים, כך שהם תמיד יושבים אחד ליד השני במרחב של טור אחד.",
|
"description": "כרטיס הערימה האופקית מאפשר לכם לערום יחד מספר כרטיסים, כך שהם תמיד יושבים אחד ליד השני במרחב של טור אחד.",
|
||||||
"name": "עימוד אופקי"
|
"name": "עימוד אופקי"
|
||||||
},
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"description": "כרטיס מכשיר אדים מעניק שליטה על ישות מכשיר האדים שלך ומאפשר לך לשנות את הלחות והמצב של הישות.",
|
||||||
|
"name": "מכשיר אדים"
|
||||||
|
},
|
||||||
"iframe": {
|
"iframe": {
|
||||||
"description": "כרטיס דף האינטרנט מאפשר לך להטביע את דף האינטרנט המועדף עליך ישירות לתוך Home Assistant.",
|
"description": "כרטיס דף האינטרנט מאפשר לך להטביע את דף האינטרנט המועדף עליך ישירות לתוך Home Assistant.",
|
||||||
"name": "iFrame"
|
"name": "iFrame"
|
||||||
@ -1971,6 +2275,7 @@
|
|||||||
},
|
},
|
||||||
"shopping-list": {
|
"shopping-list": {
|
||||||
"description": "כרטיס רשימת הקניות מאפשר לך להוסיף, לערוך, לבצע הוצאה ולנקות פריטים מרשימת הקניות שלך.",
|
"description": "כרטיס רשימת הקניות מאפשר לך להוסיף, לערוך, לבצע הוצאה ולנקות פריטים מרשימת הקניות שלך.",
|
||||||
|
"integration_not_loaded": "כרטיס זה דורש את הגדרת האינטגרציה 'shopping_list'.",
|
||||||
"name": "רשימת קניות"
|
"name": "רשימת קניות"
|
||||||
},
|
},
|
||||||
"thermostat": {
|
"thermostat": {
|
||||||
@ -2018,6 +2323,9 @@
|
|||||||
"header_name": "{name} הצג את תצורת",
|
"header_name": "{name} הצג את תצורת",
|
||||||
"move_left": "הזז את התצוגה שמאלה",
|
"move_left": "הזז את התצוגה שמאלה",
|
||||||
"move_right": "הזז את התצוגה ימינה",
|
"move_right": "הזז את התצוגה ימינה",
|
||||||
|
"tab_badges": "תגים",
|
||||||
|
"tab_settings": "הגדרות",
|
||||||
|
"tab_visibility": "ניראות",
|
||||||
"visibility": {
|
"visibility": {
|
||||||
"select_users": "בחר אילו משתמשים צריכים לראות תצוגה זו בתפריט"
|
"select_users": "בחר אילו משתמשים צריכים לראות תצוגה זו בתפריט"
|
||||||
}
|
}
|
||||||
@ -2034,12 +2342,16 @@
|
|||||||
"para_no_id": "האלמנט הנוכחי לא מכיל מזהה יחודיי. בבקשה הוסף מזהה יחודי לאלמט זה בקובץ 'ui-lovelace.yaml'."
|
"para_no_id": "האלמנט הנוכחי לא מכיל מזהה יחודיי. בבקשה הוסף מזהה יחודי לאלמט זה בקובץ 'ui-lovelace.yaml'."
|
||||||
},
|
},
|
||||||
"raw_editor": {
|
"raw_editor": {
|
||||||
|
"confirm_remove_config_text": "אנו ניצור אוטומטית את תצוגות ממשק המשתמש של Lovelace עם האזורים והמכשירים שלך אם תסיר את קונפיגורציית ממשק המשתמש שלך ב- Lovelace.",
|
||||||
|
"confirm_remove_config_title": "האם אתה בטוח שברצונך להסיר את תצורת ממשק המשתמש של Lovelace? אנו נייצר אוטומטית את תצוגות ממשק המשתמש שלך ב- Lovelace עם האזורים והמכשירים שלך.",
|
||||||
"confirm_unsaved_changes": "יש לך שינויים שלא נשמרו, אתה בטוח שברצונך לצאת?",
|
"confirm_unsaved_changes": "יש לך שינויים שלא נשמרו, אתה בטוח שברצונך לצאת?",
|
||||||
"confirm_unsaved_comments": "התצורה שלך מכילה הערות, אלה לא יישמרו. האם אתה רוצה להמשיך?",
|
"confirm_unsaved_comments": "התצורה שלך מכילה הערות, אלה לא יישמרו. האם אתה רוצה להמשיך?",
|
||||||
"error_invalid_config": "התצורה שלך אינה תקפה: {error}",
|
"error_invalid_config": "התצורה שלך אינה תקפה: {error}",
|
||||||
"error_parse_yaml": "לא ניתן לנתח את YAML: {error}",
|
"error_parse_yaml": "לא ניתן לנתח את YAML: {error}",
|
||||||
|
"error_remove": "לא ניתן להסיר את הקונפיגורציה: {error}",
|
||||||
"error_save_yaml": "אין אפשרות לשמור את YAML: {error}",
|
"error_save_yaml": "אין אפשרות לשמור את YAML: {error}",
|
||||||
"header": "עריכת קונפיגורציה",
|
"header": "עריכת קונפיגורציה",
|
||||||
|
"resources_moved": "אין להוסיף עוד משאבים לתצורת Lovelace אך ניתן להוסיף אותם בלוח התצורה של Lovelace.",
|
||||||
"save": "שמור",
|
"save": "שמור",
|
||||||
"saved": "נשמר",
|
"saved": "נשמר",
|
||||||
"unsaved_changes": "שינויים שלא נשמרו"
|
"unsaved_changes": "שינויים שלא נשמרו"
|
||||||
@ -2051,7 +2363,15 @@
|
|||||||
"header": "קח שליטה על Lovelace ממשק המשתמש שלך",
|
"header": "קח שליטה על Lovelace ממשק המשתמש שלך",
|
||||||
"para": "כברירת מחדל Home Assistant יתחזק את ממשק המשתמש שלך , יעדכן אותו כאשר קומפוננטות או ישויות חדשות יהפכו לזמינות. אם תקח שליטה אנו לא נוכל לבצע שינויים בצורה אוטומטית בשבילך.",
|
"para": "כברירת מחדל Home Assistant יתחזק את ממשק המשתמש שלך , יעדכן אותו כאשר קומפוננטות או ישויות חדשות יהפכו לזמינות. אם תקח שליטה אנו לא נוכל לבצע שינויים בצורה אוטומטית בשבילך.",
|
||||||
"para_sure": "האם אתה בטוח שאתה רוצה לקחת שליטה על ממשק המשתמש?",
|
"para_sure": "האם אתה בטוח שאתה רוצה לקחת שליטה על ממשק המשתמש?",
|
||||||
"save": "קח שליטה"
|
"save": "קח שליטה",
|
||||||
|
"yaml_config": "כדי לעזור לך להתחיל הנה התצורה הנוכחית של לוח מחוונים זה:",
|
||||||
|
"yaml_control": "כדי לקבל שליטה במצב YAML, צור קובץ YAML עם השם שציינת ב-config עבור לוח מחוונים זה, או ברירת המחדל 'ui-lovelace.yaml'.",
|
||||||
|
"yaml_mode": "אתה משתמש במצב YAML עבור לוח מחוונים זה ולכן אין באפשרותך לשנות את קונפיגורצית Lovelace מממשק המשתמש. אם ברצונך לנהל לוח מחוונים זה מממשק המשתמש, הסר 'mode: yaml' מתצורת Loverlace ב 'configuration.yaml.'."
|
||||||
|
},
|
||||||
|
"suggest_card": {
|
||||||
|
"add": "הוסף לממשק המשתמש של Lovelace",
|
||||||
|
"create_own": "בחר כרטיס אחר",
|
||||||
|
"header": "יצרנו הצעה עבורך"
|
||||||
},
|
},
|
||||||
"view": {
|
"view": {
|
||||||
"panel_mode": {
|
"panel_mode": {
|
||||||
@ -2086,6 +2406,7 @@
|
|||||||
"views": {
|
"views": {
|
||||||
"confirm_delete": "האם אתה בטוח שברצונך למחוק תצוגה זו?",
|
"confirm_delete": "האם אתה בטוח שברצונך למחוק תצוגה זו?",
|
||||||
"confirm_delete_existing_cards": "מחיקת תצוגה זו תסיר גם את הכרטיסים",
|
"confirm_delete_existing_cards": "מחיקת תצוגה זו תסיר גם את הכרטיסים",
|
||||||
|
"confirm_delete_existing_cards_text": "האם אתה בטוח שברצונך למחוק את התצוגה '' {name} '' שלך? התצוגה כוללת {number} כרטיסים שיימחקו. לא ניתן לבטל פעולה זו.",
|
||||||
"confirm_delete_text": "האם אתה בטוח שברצונך למחוק את התצוגה \"{name}\"?"
|
"confirm_delete_text": "האם אתה בטוח שברצונך למחוק את התצוגה \"{name}\"?"
|
||||||
},
|
},
|
||||||
"warning": {
|
"warning": {
|
||||||
@ -2279,6 +2600,7 @@
|
|||||||
"profile": {
|
"profile": {
|
||||||
"advanced_mode": {
|
"advanced_mode": {
|
||||||
"description": "Home Assistant מסתיר תכונות ואפשרויות מתקדמות כברירת מחדל. ביכולתך לחשוף אותן ע\"י בחירת תיבת הסימון זו. הגדרה זו היא עבור המשתמש הנוכחי ולא תשפיע על משתמשים אחרים ב Home Assistant.",
|
"description": "Home Assistant מסתיר תכונות ואפשרויות מתקדמות כברירת מחדל. ביכולתך לחשוף אותן ע\"י בחירת תיבת הסימון זו. הגדרה זו היא עבור המשתמש הנוכחי ולא תשפיע על משתמשים אחרים ב Home Assistant.",
|
||||||
|
"link_promo": "למד עוד",
|
||||||
"title": "מצב מתקדם"
|
"title": "מצב מתקדם"
|
||||||
},
|
},
|
||||||
"change_password": {
|
"change_password": {
|
||||||
@ -2306,6 +2628,8 @@
|
|||||||
"link_promo": "עזור לתרגם"
|
"link_promo": "עזור לתרגם"
|
||||||
},
|
},
|
||||||
"logout": "התנתק",
|
"logout": "התנתק",
|
||||||
|
"logout_text": "האם אתה בטוח שברצונך להתנתק?",
|
||||||
|
"logout_title": "להתנתק?",
|
||||||
"long_lived_access_tokens": {
|
"long_lived_access_tokens": {
|
||||||
"confirm_delete": "האם אתה בטוח שברצונך למחוק את אסימון הגישה עבור {name} ?",
|
"confirm_delete": "האם אתה בטוח שברצונך למחוק את אסימון הגישה עבור {name} ?",
|
||||||
"create": "צור אסימון",
|
"create": "צור אסימון",
|
||||||
@ -2329,8 +2653,8 @@
|
|||||||
"title_success": "הצליח!"
|
"title_success": "הצליח!"
|
||||||
},
|
},
|
||||||
"mfa": {
|
"mfa": {
|
||||||
"confirm_disable": "האם אתה בטוח שברצונך להשבית {name}",
|
"confirm_disable": "האם אתה בטוח שברצונך להשבית {name}?",
|
||||||
"disable": "בטל",
|
"disable": "השבת",
|
||||||
"enable": "הפעל",
|
"enable": "הפעל",
|
||||||
"header": "מודלי אימות מרובה גורמים"
|
"header": "מודלי אימות מרובה גורמים"
|
||||||
},
|
},
|
||||||
@ -2360,7 +2684,7 @@
|
|||||||
"link_promo": "למד אודות ערכות נושא"
|
"link_promo": "למד אודות ערכות נושא"
|
||||||
},
|
},
|
||||||
"vibrate": {
|
"vibrate": {
|
||||||
"description": "הפעל או בטל את הרטט בהתקן זה בעת שליטה בהתקנים.",
|
"description": "הפעל או בטל את הרטט במכשיר זה בעת שליטה בהתקנים.",
|
||||||
"header": "רטט"
|
"header": "רטט"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -48,6 +48,19 @@
|
|||||||
"none": "Nessuna",
|
"none": "Nessuna",
|
||||||
"sleep": "Dormire"
|
"sleep": "Dormire"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"mode": {
|
||||||
|
"auto": "Automatico",
|
||||||
|
"away": "Fuori casa",
|
||||||
|
"baby": "Bambino",
|
||||||
|
"boost": "Boost",
|
||||||
|
"comfort": "Comfort",
|
||||||
|
"eco": "Eco",
|
||||||
|
"home": "In casa",
|
||||||
|
"normal": "Normale",
|
||||||
|
"sleep": "Sonno"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"state_badge": {
|
"state_badge": {
|
||||||
@ -388,6 +401,12 @@
|
|||||||
"reverse": "Indietro",
|
"reverse": "Indietro",
|
||||||
"speed": "Velocità"
|
"speed": "Velocità"
|
||||||
},
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"humidity": "Target umidità",
|
||||||
|
"mode": "Modalità",
|
||||||
|
"on_entity": "{name} acceso",
|
||||||
|
"target_humidity_entity": "{name} target umidità"
|
||||||
|
},
|
||||||
"light": {
|
"light": {
|
||||||
"brightness": "Luminosità",
|
"brightness": "Luminosità",
|
||||||
"color_temperature": "Temperatura colore",
|
"color_temperature": "Temperatura colore",
|
||||||
|
@ -48,6 +48,19 @@
|
|||||||
"none": "없음",
|
"none": "없음",
|
||||||
"sleep": "취침"
|
"sleep": "취침"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"mode": {
|
||||||
|
"auto": "자동",
|
||||||
|
"away": "외출",
|
||||||
|
"baby": "아기",
|
||||||
|
"boost": "쾌속",
|
||||||
|
"comfort": "쾌적",
|
||||||
|
"eco": "에코",
|
||||||
|
"home": "재실",
|
||||||
|
"normal": "일반",
|
||||||
|
"sleep": "취침"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"state_badge": {
|
"state_badge": {
|
||||||
@ -388,6 +401,12 @@
|
|||||||
"reverse": "뒤로",
|
"reverse": "뒤로",
|
||||||
"speed": "속도"
|
"speed": "속도"
|
||||||
},
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"humidity": "희망 습도",
|
||||||
|
"mode": "모드",
|
||||||
|
"on_entity": "{name} 작동",
|
||||||
|
"target_humidity_entity": "{name} 희망 습도"
|
||||||
|
},
|
||||||
"light": {
|
"light": {
|
||||||
"brightness": "밝기",
|
"brightness": "밝기",
|
||||||
"color_temperature": "색온도",
|
"color_temperature": "색온도",
|
||||||
@ -507,9 +526,9 @@
|
|||||||
"show_areas": "영역 표시"
|
"show_areas": "영역 표시"
|
||||||
},
|
},
|
||||||
"date-range-picker": {
|
"date-range-picker": {
|
||||||
"end_date": "종료일",
|
"end_date": "종료 날짜",
|
||||||
"select": "선택",
|
"select": "선택",
|
||||||
"start_date": "시작일"
|
"start_date": "시작 날짜"
|
||||||
},
|
},
|
||||||
"device-picker": {
|
"device-picker": {
|
||||||
"clear": "지우기",
|
"clear": "지우기",
|
||||||
@ -2043,8 +2062,8 @@
|
|||||||
"history": {
|
"history": {
|
||||||
"period": "기간",
|
"period": "기간",
|
||||||
"ranges": {
|
"ranges": {
|
||||||
"last_week": "지난주",
|
"last_week": "지난 주",
|
||||||
"this_week": "이번주",
|
"this_week": "이번 주",
|
||||||
"today": "오늘",
|
"today": "오늘",
|
||||||
"yesterday": "어제"
|
"yesterday": "어제"
|
||||||
},
|
},
|
||||||
@ -2054,8 +2073,8 @@
|
|||||||
"entries_not_found": "로그북 구성요소를 찾을 수 없습니다.",
|
"entries_not_found": "로그북 구성요소를 찾을 수 없습니다.",
|
||||||
"period": "기간",
|
"period": "기간",
|
||||||
"ranges": {
|
"ranges": {
|
||||||
"last_week": "지난주",
|
"last_week": "지난 주",
|
||||||
"this_week": "이번주",
|
"this_week": "이번 주",
|
||||||
"today": "오늘",
|
"today": "오늘",
|
||||||
"yesterday": "어제"
|
"yesterday": "어제"
|
||||||
},
|
},
|
||||||
@ -2198,6 +2217,10 @@
|
|||||||
"description": "수평 모아보기 카드를 사용하면 여러 카드를 함께 묶을 수 있으며 항상 한 열의 공간에서 옆으로 나열합니다.",
|
"description": "수평 모아보기 카드를 사용하면 여러 카드를 함께 묶을 수 있으며 항상 한 열의 공간에서 옆으로 나열합니다.",
|
||||||
"name": "수평 모아보기"
|
"name": "수평 모아보기"
|
||||||
},
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"description": "가습기 카드는 가습 기기를 제어합니다. 구성요소의 가습 모드를 변경할 수 있습니다.",
|
||||||
|
"name": "가습기"
|
||||||
|
},
|
||||||
"iframe": {
|
"iframe": {
|
||||||
"description": "웹 페이지 카드를 사용하면 즐겨 찾는 웹 페이지를 Home Assistant 에 삽입할 수 있습니다.",
|
"description": "웹 페이지 카드를 사용하면 즐겨 찾는 웹 페이지를 Home Assistant 에 삽입할 수 있습니다.",
|
||||||
"name": "웹 페이지"
|
"name": "웹 페이지"
|
||||||
|
@ -48,6 +48,19 @@
|
|||||||
"none": "Ingen",
|
"none": "Ingen",
|
||||||
"sleep": "Sove"
|
"sleep": "Sove"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"mode": {
|
||||||
|
"auto": "Auto",
|
||||||
|
"away": "Borte",
|
||||||
|
"baby": "Baby",
|
||||||
|
"boost": "Øke",
|
||||||
|
"comfort": "Komfort",
|
||||||
|
"eco": "Øko",
|
||||||
|
"home": "Hjem",
|
||||||
|
"normal": "Normal",
|
||||||
|
"sleep": "Sove"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"state_badge": {
|
"state_badge": {
|
||||||
@ -388,6 +401,12 @@
|
|||||||
"reverse": "Omvendt",
|
"reverse": "Omvendt",
|
||||||
"speed": "Hastighet"
|
"speed": "Hastighet"
|
||||||
},
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"humidity": "Målfuktighet",
|
||||||
|
"mode": "Modus",
|
||||||
|
"on_entity": "{name} på",
|
||||||
|
"target_humidity_entity": "{name} målfuktighet"
|
||||||
|
},
|
||||||
"light": {
|
"light": {
|
||||||
"brightness": "Lysstyrke",
|
"brightness": "Lysstyrke",
|
||||||
"color_temperature": "Fargetemperatur",
|
"color_temperature": "Fargetemperatur",
|
||||||
@ -2198,6 +2217,10 @@
|
|||||||
"description": "Horizontal Stack-kortet lar deg stable sammen flere kort, slik at de alltid sitter ved siden av hverandre i løpet av en kolonne.",
|
"description": "Horizontal Stack-kortet lar deg stable sammen flere kort, slik at de alltid sitter ved siden av hverandre i løpet av en kolonne.",
|
||||||
"name": "Horisontal Stack"
|
"name": "Horisontal Stack"
|
||||||
},
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"description": "Luftfukterkortet gir kontroll over luftfukterenheten din. Lar deg endre fuktigheten og modusen til enheten.",
|
||||||
|
"name": "Luftfukter"
|
||||||
|
},
|
||||||
"iframe": {
|
"iframe": {
|
||||||
"description": "Websidekortet lar deg legge inn favorittwebsiden din direkte i Home Assistant.",
|
"description": "Websidekortet lar deg legge inn favorittwebsiden din direkte i Home Assistant.",
|
||||||
"name": "Webside"
|
"name": "Webside"
|
||||||
|
@ -48,6 +48,14 @@
|
|||||||
"none": "Nenhum",
|
"none": "Nenhum",
|
||||||
"sleep": "Dormir"
|
"sleep": "Dormir"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"mode": {
|
||||||
|
"auto": "Auto",
|
||||||
|
"comfort": "Conforto",
|
||||||
|
"eco": "Eco",
|
||||||
|
"normal": "Normal"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"state_badge": {
|
"state_badge": {
|
||||||
@ -388,6 +396,12 @@
|
|||||||
"reverse": "Reverter",
|
"reverse": "Reverter",
|
||||||
"speed": "Velocidade"
|
"speed": "Velocidade"
|
||||||
},
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"humidity": "Humidade pretendida",
|
||||||
|
"mode": "Modo",
|
||||||
|
"on_entity": "{name} ligado",
|
||||||
|
"target_humidity_entity": "{name} humidade pretendida"
|
||||||
|
},
|
||||||
"light": {
|
"light": {
|
||||||
"brightness": "Brilho",
|
"brightness": "Brilho",
|
||||||
"color_temperature": "Temperatura de cor",
|
"color_temperature": "Temperatura de cor",
|
||||||
@ -1543,6 +1557,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mqtt": {
|
"mqtt": {
|
||||||
|
"button": "Configurar",
|
||||||
"description_listen": "Ouvir um tópico",
|
"description_listen": "Ouvir um tópico",
|
||||||
"description_publish": "Publicar um pacote",
|
"description_publish": "Publicar um pacote",
|
||||||
"listening_to": "A escutar",
|
"listening_to": "A escutar",
|
||||||
@ -1981,11 +1996,23 @@
|
|||||||
},
|
},
|
||||||
"history": {
|
"history": {
|
||||||
"period": "Período",
|
"period": "Período",
|
||||||
|
"ranges": {
|
||||||
|
"last_week": "Semana passada",
|
||||||
|
"this_week": "Esta semana",
|
||||||
|
"today": "Hoje",
|
||||||
|
"yesterday": "Ontem"
|
||||||
|
},
|
||||||
"showing_entries": "Mostrar valores para"
|
"showing_entries": "Mostrar valores para"
|
||||||
},
|
},
|
||||||
"logbook": {
|
"logbook": {
|
||||||
"entries_not_found": "Sem registos no diário de bordo",
|
"entries_not_found": "Sem registos no diário de bordo",
|
||||||
"period": "Período",
|
"period": "Período",
|
||||||
|
"ranges": {
|
||||||
|
"last_week": "Semana passada",
|
||||||
|
"this_week": "Esta semana",
|
||||||
|
"today": "Hoje",
|
||||||
|
"yesterday": "Ontem"
|
||||||
|
},
|
||||||
"showing_entries": "Mostrar valores para"
|
"showing_entries": "Mostrar valores para"
|
||||||
},
|
},
|
||||||
"lovelace": {
|
"lovelace": {
|
||||||
@ -2123,6 +2150,9 @@
|
|||||||
"description": "O cartão Agrupamento Vertical permite agrupar vários cartões para que estes fiquem sempre na mesma coluna.",
|
"description": "O cartão Agrupamento Vertical permite agrupar vários cartões para que estes fiquem sempre na mesma coluna.",
|
||||||
"name": "Agrupamento Horizontal"
|
"name": "Agrupamento Horizontal"
|
||||||
},
|
},
|
||||||
|
"humidifier": {
|
||||||
|
"name": "Humidificador"
|
||||||
|
},
|
||||||
"iframe": {
|
"iframe": {
|
||||||
"description": "O cartão de página da Web, permite incorporar a sua página da Web favorita diretamente no Home Assistant.",
|
"description": "O cartão de página da Web, permite incorporar a sua página da Web favorita diretamente no Home Assistant.",
|
||||||
"name": "Página Web"
|
"name": "Página Web"
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
"config": "Настройки",
|
"config": "Настройки",
|
||||||
"developer_tools": "Панель разработчика",
|
"developer_tools": "Панель разработчика",
|
||||||
"history": "История",
|
"history": "История",
|
||||||
"logbook": "Журнал",
|
"logbook": "Журнал событий",
|
||||||
"mailbox": "Почта",
|
"mailbox": "Почта",
|
||||||
"map": "Карта",
|
"map": "Карта",
|
||||||
"profile": "Профиль",
|
"profile": "Профиль",
|
||||||
@ -620,7 +620,7 @@
|
|||||||
"input_datetime": {
|
"input_datetime": {
|
||||||
"date": "Дата",
|
"date": "Дата",
|
||||||
"datetime": "Дата и время",
|
"datetime": "Дата и время",
|
||||||
"mode": "Что вы хотите ввести?",
|
"mode": "Режим отображения",
|
||||||
"time": "Время"
|
"time": "Время"
|
||||||
},
|
},
|
||||||
"input_number": {
|
"input_number": {
|
||||||
@ -646,7 +646,7 @@
|
|||||||
"pattern": "Шаблон регулярного выражения для проверки на стороне клиента",
|
"pattern": "Шаблон регулярного выражения для проверки на стороне клиента",
|
||||||
"text": "Текст"
|
"text": "Текст"
|
||||||
},
|
},
|
||||||
"platform_not_loaded": "Интеграция \"{platform}\" не загружена. Добавьте в YAML-конфигурацию 'default_config:' или ''{platform}:''.",
|
"platform_not_loaded": "Интеграция '{platform}' не загружена. Добавьте в YAML-конфигурацию 'default_config:' или '{platform}:'.",
|
||||||
"required_error_msg": "Обязательное поле",
|
"required_error_msg": "Обязательное поле",
|
||||||
"yaml_not_editable": "Настройки этого объекта нельзя изменить из пользовательского интерфейса. Настраиваться из пользовательского интерфейса могут только те объекты, которые были созданы в нём."
|
"yaml_not_editable": "Настройки этого объекта нельзя изменить из пользовательского интерфейса. Настраиваться из пользовательского интерфейса могут только те объекты, которые были созданы в нём."
|
||||||
},
|
},
|
||||||
@ -792,7 +792,7 @@
|
|||||||
"confirmation_text": "Связанные устройства потеряют привязку к помещению.",
|
"confirmation_text": "Связанные устройства потеряют привязку к помещению.",
|
||||||
"confirmation_title": "Вы уверены, что хотите удалить это помещение?"
|
"confirmation_title": "Вы уверены, что хотите удалить это помещение?"
|
||||||
},
|
},
|
||||||
"description": "Управляйте помещениями в Вашем доме",
|
"description": "Управление помещениями в Вашем доме",
|
||||||
"editor": {
|
"editor": {
|
||||||
"area_id": "ID помещения",
|
"area_id": "ID помещения",
|
||||||
"create": "Добавить",
|
"create": "Добавить",
|
||||||
@ -814,7 +814,7 @@
|
|||||||
},
|
},
|
||||||
"automation": {
|
"automation": {
|
||||||
"caption": "Автоматизация",
|
"caption": "Автоматизация",
|
||||||
"description": "Создавайте и редактируйте правила автоматизации",
|
"description": "Создание и редактирование правил автоматизации",
|
||||||
"editor": {
|
"editor": {
|
||||||
"actions": {
|
"actions": {
|
||||||
"add": "Добавить действие",
|
"add": "Добавить действие",
|
||||||
@ -934,7 +934,7 @@
|
|||||||
},
|
},
|
||||||
"edit_ui": "Форма ввода",
|
"edit_ui": "Форма ввода",
|
||||||
"edit_yaml": "Текстовый редактор",
|
"edit_yaml": "Текстовый редактор",
|
||||||
"enable_disable": "Включить / выключить автоматизацию",
|
"enable_disable": "Включить / выключить правило автоматизации",
|
||||||
"introduction": "Используйте автоматизацию, чтобы оживить Ваш дом.",
|
"introduction": "Используйте автоматизацию, чтобы оживить Ваш дом.",
|
||||||
"load_error_not_editable": "Доступны для редактирования только автоматизации из automations.yaml.",
|
"load_error_not_editable": "Доступны для редактирования только автоматизации из automations.yaml.",
|
||||||
"load_error_unknown": "Ошибка загрузки автоматизации ({err_no}).",
|
"load_error_unknown": "Ошибка загрузки автоматизации ({err_no}).",
|
||||||
@ -1126,7 +1126,7 @@
|
|||||||
"title": "Alexa"
|
"title": "Alexa"
|
||||||
},
|
},
|
||||||
"caption": "Home Assistant Cloud",
|
"caption": "Home Assistant Cloud",
|
||||||
"description_features": "Управление вдали от дома, интеграция с Alexa и Google Assistant",
|
"description_features": "Управление сервером вдали от дома, интеграция с Alexa и Google Assistant",
|
||||||
"description_login": "{email}",
|
"description_login": "{email}",
|
||||||
"description_not_login": "Вход не выполнен",
|
"description_not_login": "Вход не выполнен",
|
||||||
"dialog_certificate": {
|
"dialog_certificate": {
|
||||||
@ -1215,7 +1215,7 @@
|
|||||||
},
|
},
|
||||||
"core": {
|
"core": {
|
||||||
"caption": "Общие",
|
"caption": "Общие",
|
||||||
"description": "Управляйте основными настройками Home Assistant",
|
"description": "Основные настройки Home Assistant",
|
||||||
"section": {
|
"section": {
|
||||||
"core": {
|
"core": {
|
||||||
"core_config": {
|
"core_config": {
|
||||||
@ -1247,7 +1247,7 @@
|
|||||||
"attributes_override": "Вы можете переназначить их.",
|
"attributes_override": "Вы можете переназначить их.",
|
||||||
"attributes_set": "Следующие атрибуты были назначены программно.",
|
"attributes_set": "Следующие атрибуты были назначены программно.",
|
||||||
"caption": "Кастомизация",
|
"caption": "Кастомизация",
|
||||||
"description": "Настраивайте атрибуты объектов",
|
"description": "Настройка атрибутов объектов",
|
||||||
"different_include": "Возможно через домен, glob или include.",
|
"different_include": "Возможно через домен, glob или include.",
|
||||||
"pick_attribute": "Выберите атрибут",
|
"pick_attribute": "Выберите атрибут",
|
||||||
"picker": {
|
"picker": {
|
||||||
@ -1292,7 +1292,7 @@
|
|||||||
"no_devices": "Нет устройств"
|
"no_devices": "Нет устройств"
|
||||||
},
|
},
|
||||||
"delete": "Удалить",
|
"delete": "Удалить",
|
||||||
"description": "Управляйте подключенными устройствами",
|
"description": "Управление подключенными устройствами",
|
||||||
"device_info": "Устройство",
|
"device_info": "Устройство",
|
||||||
"device_not_found": "Устройство не найдено",
|
"device_not_found": "Устройство не найдено",
|
||||||
"entities": {
|
"entities": {
|
||||||
@ -1322,7 +1322,7 @@
|
|||||||
},
|
},
|
||||||
"entities": {
|
"entities": {
|
||||||
"caption": "Объекты",
|
"caption": "Объекты",
|
||||||
"description": "Управляйте доступными объектами",
|
"description": "Управление доступными объектами",
|
||||||
"picker": {
|
"picker": {
|
||||||
"disable_selected": {
|
"disable_selected": {
|
||||||
"button": "Скрыть выбранные",
|
"button": "Скрыть выбранные",
|
||||||
@ -1373,7 +1373,7 @@
|
|||||||
"header": "Настройка Home Assistant",
|
"header": "Настройка Home Assistant",
|
||||||
"helpers": {
|
"helpers": {
|
||||||
"caption": "Вспомогательное",
|
"caption": "Вспомогательное",
|
||||||
"description": "Элементы, которые могут помочь в создании автоматизации.",
|
"description": "Элементы, которые могут помочь в автоматизации",
|
||||||
"dialog": {
|
"dialog": {
|
||||||
"add_helper": "Создание вспомогательного элемента",
|
"add_helper": "Создание вспомогательного элемента",
|
||||||
"add_platform": "Добавить \"{platform}\"",
|
"add_platform": "Добавить \"{platform}\"",
|
||||||
@ -1464,7 +1464,7 @@
|
|||||||
},
|
},
|
||||||
"configure": "Настроить",
|
"configure": "Настроить",
|
||||||
"configured": "Настроено",
|
"configured": "Настроено",
|
||||||
"description": "Добавляйте и настраивайте интеграции",
|
"description": "Добавление и настройка интеграций",
|
||||||
"details": "Детали интеграции",
|
"details": "Детали интеграции",
|
||||||
"discovered": "Обнаружено",
|
"discovered": "Обнаружено",
|
||||||
"home_assistant_website": "сайте Home Assistant",
|
"home_assistant_website": "сайте Home Assistant",
|
||||||
@ -1493,7 +1493,7 @@
|
|||||||
},
|
},
|
||||||
"introduction": "Здесь можно настроить Home Assistant. Пока что не все настройки доступны из интерфейса, но мы работаем над этим.",
|
"introduction": "Здесь можно настроить Home Assistant. Пока что не все настройки доступны из интерфейса, но мы работаем над этим.",
|
||||||
"logs": {
|
"logs": {
|
||||||
"caption": "Журнал работы сервера",
|
"caption": "Журнал сервера",
|
||||||
"clear": "Очистить",
|
"clear": "Очистить",
|
||||||
"description": "Просмотр журналов работы сервера Home Assistant",
|
"description": "Просмотр журналов работы сервера Home Assistant",
|
||||||
"details": "Уровень: {level}",
|
"details": "Уровень: {level}",
|
||||||
@ -1547,7 +1547,7 @@
|
|||||||
"open": "Открыть"
|
"open": "Открыть"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"description": "Настройка панелей пользовательского интерфейса Lovelace.",
|
"description": "Настройка панелей пользовательского интерфейса Lovelace",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cant_edit_yaml": "Вы используете Lovelace в режиме YAML, поэтому невозможно управление ресурсами через пользовательский интерфейс. В данном режиме управление осуществляется через файл configuration.yaml.",
|
"cant_edit_yaml": "Вы используете Lovelace в режиме YAML, поэтому невозможно управление ресурсами через пользовательский интерфейс. В данном режиме управление осуществляется через файл configuration.yaml.",
|
||||||
"caption": "Ресурсы",
|
"caption": "Ресурсы",
|
||||||
@ -1583,7 +1583,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mqtt": {
|
"mqtt": {
|
||||||
"button": "Настроить",
|
"button": "Настройка",
|
||||||
"description_listen": "Подписаться на топик",
|
"description_listen": "Подписаться на топик",
|
||||||
"description_publish": "Опубликовать данные",
|
"description_publish": "Опубликовать данные",
|
||||||
"listening_to": "Подписано на",
|
"listening_to": "Подписано на",
|
||||||
@ -1602,7 +1602,7 @@
|
|||||||
"confirm_delete": "Вы уверены, что хотите удалить эту персону?",
|
"confirm_delete": "Вы уверены, что хотите удалить эту персону?",
|
||||||
"confirm_delete2": "Все устройства, связанные с этой персоной, станут не назначенными.",
|
"confirm_delete2": "Все устройства, связанные с этой персоной, станут не назначенными.",
|
||||||
"create_person": "Добавить персону",
|
"create_person": "Добавить персону",
|
||||||
"description": "Определяйте людей, которых может отслеживать Home Assistant",
|
"description": "Люди, которых может отслеживать Home Assistant",
|
||||||
"detail": {
|
"detail": {
|
||||||
"create": "Создать",
|
"create": "Создать",
|
||||||
"delete": "Удалить",
|
"delete": "Удалить",
|
||||||
@ -1625,7 +1625,7 @@
|
|||||||
"scene": {
|
"scene": {
|
||||||
"activated": "Активирована сцена {name}.",
|
"activated": "Активирована сцена {name}.",
|
||||||
"caption": "Сцены",
|
"caption": "Сцены",
|
||||||
"description": "Создавайте и редактируйте сцены",
|
"description": "Создание и редактирование сцен",
|
||||||
"editor": {
|
"editor": {
|
||||||
"default_name": "Новая сцена",
|
"default_name": "Новая сцена",
|
||||||
"devices": {
|
"devices": {
|
||||||
@ -1668,7 +1668,7 @@
|
|||||||
},
|
},
|
||||||
"script": {
|
"script": {
|
||||||
"caption": "Сценарии",
|
"caption": "Сценарии",
|
||||||
"description": "Создавайте и редактируйте сценарии",
|
"description": "Создание и редактирование сценариев",
|
||||||
"editor": {
|
"editor": {
|
||||||
"alias": "Название",
|
"alias": "Название",
|
||||||
"default_name": "Новый сценарий",
|
"default_name": "Новый сценарий",
|
||||||
@ -1697,7 +1697,7 @@
|
|||||||
},
|
},
|
||||||
"server_control": {
|
"server_control": {
|
||||||
"caption": "Сервер",
|
"caption": "Сервер",
|
||||||
"description": "Управляйте сервером Home Assistant",
|
"description": "Управление сервером Home Assistant",
|
||||||
"section": {
|
"section": {
|
||||||
"reloading": {
|
"reloading": {
|
||||||
"automation": "Перезагрузить автоматизации",
|
"automation": "Перезагрузить автоматизации",
|
||||||
@ -1741,7 +1741,7 @@
|
|||||||
"username": "Логин"
|
"username": "Логин"
|
||||||
},
|
},
|
||||||
"caption": "Пользователи",
|
"caption": "Пользователи",
|
||||||
"description": "Управляйте учётными записями пользователей",
|
"description": "Управление учётными записями пользователей",
|
||||||
"editor": {
|
"editor": {
|
||||||
"activate_user": "Активировать",
|
"activate_user": "Активировать",
|
||||||
"active": "Активен",
|
"active": "Активен",
|
||||||
@ -1815,7 +1815,7 @@
|
|||||||
"manufacturer_code_override": "Переназначить код производителя",
|
"manufacturer_code_override": "Переназначить код производителя",
|
||||||
"value": "Значение"
|
"value": "Значение"
|
||||||
},
|
},
|
||||||
"description": "Управляйте сетью Zigbee Home Automation",
|
"description": "Управление сетью Zigbee Home Automation",
|
||||||
"devices": {
|
"devices": {
|
||||||
"header": "Zigbee Home Automation - Устройство"
|
"header": "Zigbee Home Automation - Устройство"
|
||||||
},
|
},
|
||||||
@ -1881,7 +1881,7 @@
|
|||||||
"configured_in_yaml": "Зоны, настроенные с помощью configuration.yaml, нельзя редактировать с помощью пользовательского интерфейса.",
|
"configured_in_yaml": "Зоны, настроенные с помощью configuration.yaml, нельзя редактировать с помощью пользовательского интерфейса.",
|
||||||
"confirm_delete": "Вы уверены, что хотите удалить эту зону?",
|
"confirm_delete": "Вы уверены, что хотите удалить эту зону?",
|
||||||
"create_zone": "Создать зону",
|
"create_zone": "Создать зону",
|
||||||
"description": "Управляйте зонами, в которых Вы хотите отслеживать людей.",
|
"description": "Управление зонами, в которых Вы хотите отслеживать людей",
|
||||||
"detail": {
|
"detail": {
|
||||||
"create": "Создать",
|
"create": "Создать",
|
||||||
"delete": "Удалить",
|
"delete": "Удалить",
|
||||||
@ -1914,7 +1914,7 @@
|
|||||||
"value": "Значение",
|
"value": "Значение",
|
||||||
"wakeup_interval": "Интервал пробуждения"
|
"wakeup_interval": "Интервал пробуждения"
|
||||||
},
|
},
|
||||||
"description": "Управляйте Вашей сетью Z-Wave",
|
"description": "Управление сетью Z-Wave",
|
||||||
"learn_more": "Узнайте больше о Z-Wave",
|
"learn_more": "Узнайте больше о Z-Wave",
|
||||||
"network_management": {
|
"network_management": {
|
||||||
"header": "Управление сетью Z-Wave",
|
"header": "Управление сетью Z-Wave",
|
||||||
@ -2050,7 +2050,7 @@
|
|||||||
"title": "Состояния"
|
"title": "Состояния"
|
||||||
},
|
},
|
||||||
"templates": {
|
"templates": {
|
||||||
"description": "Здесь Вы можете протестировать поведение шаблонов. Шаблоны используют шаблонизатор Jinja2 с некоторыми специальными расширениями Home Assistant.",
|
"description": "Здесь Вы можете протестировать поведение шаблонов. В Home Assistant используется шаблонизатор Jinja2 с некоторыми специальными расширениями.",
|
||||||
"editor": "Редактор шаблонов",
|
"editor": "Редактор шаблонов",
|
||||||
"jinja_documentation": "Узнайте больше о шаблонизаторе Jinja2",
|
"jinja_documentation": "Узнайте больше о шаблонизаторе Jinja2",
|
||||||
"template_extensions": "Узнайте больше о шаблонах Home Assistant",
|
"template_extensions": "Узнайте больше о шаблонах Home Assistant",
|
||||||
@ -2106,7 +2106,7 @@
|
|||||||
"url": "Открыть окно {url_path}"
|
"url": "Открыть окно {url_path}"
|
||||||
},
|
},
|
||||||
"safe-mode": {
|
"safe-mode": {
|
||||||
"description": "Home Assistant столкнулся с проблемой при загрузке Вашей конфигурации и теперь работает в безопасном режиме. Ознакомьтесь с журналом ошибок, чтобы увидеть, что пошло не так.",
|
"description": "Home Assistant столкнулся с проблемой при загрузке Вашей конфигурации и теперь работает в безопасном режиме. Ознакомьтесь с журналом работы сервера, чтобы увидеть что пошло не так.",
|
||||||
"header": "Безопасный режим"
|
"header": "Безопасный режим"
|
||||||
},
|
},
|
||||||
"shopping-list": {
|
"shopping-list": {
|
||||||
|
@ -403,7 +403,9 @@
|
|||||||
},
|
},
|
||||||
"humidifier": {
|
"humidifier": {
|
||||||
"humidity": "设定湿度",
|
"humidity": "设定湿度",
|
||||||
"mode": "模式"
|
"mode": "模式",
|
||||||
|
"on_entity": "{name} 已打开",
|
||||||
|
"target_humidity_entity": "{name} 的设定湿度"
|
||||||
},
|
},
|
||||||
"light": {
|
"light": {
|
||||||
"brightness": "亮度",
|
"brightness": "亮度",
|
||||||
@ -644,7 +646,7 @@
|
|||||||
"pattern": "用于客户端验证的正则表达式模式",
|
"pattern": "用于客户端验证的正则表达式模式",
|
||||||
"text": "文本"
|
"text": "文本"
|
||||||
},
|
},
|
||||||
"platform_not_loaded": "{platform} 组件尚未加载。请在 'default_config:' 或 ''{platform}:'' 中选择一种方式,将其写入配置中。",
|
"platform_not_loaded": "{platform} 组件尚未加载。请从 'default_config:' 或 ''{platform}:'' 中选择一种方式,将其写入配置中。",
|
||||||
"required_error_msg": "此字段为必填字段",
|
"required_error_msg": "此字段为必填字段",
|
||||||
"yaml_not_editable": "无法从 UI 编辑此实体的设置。只有通过 UI 设置的实体可以从 UI 配置。"
|
"yaml_not_editable": "无法从 UI 编辑此实体的设置。只有通过 UI 设置的实体可以从 UI 配置。"
|
||||||
},
|
},
|
||||||
|
@ -646,7 +646,7 @@
|
|||||||
"pattern": "客戶端驗證模式",
|
"pattern": "客戶端驗證模式",
|
||||||
"text": "文字"
|
"text": "文字"
|
||||||
},
|
},
|
||||||
"platform_not_loaded": "{platform} 元件未載入。請於設定檔進行添加、新增 'default_config:' 或 ''{platform}:''。",
|
"platform_not_loaded": "{platform} 整合未載入。請於設定檔進行添加、新增 'default_config:' 或 ''{platform}:''。",
|
||||||
"required_error_msg": "必填欄位",
|
"required_error_msg": "必填欄位",
|
||||||
"yaml_not_editable": "此物件的設定無法藉由 UI 編輯、僅有透過 UI 設定的物件可於 UI 進行設定。"
|
"yaml_not_editable": "此物件的設定無法藉由 UI 編輯、僅有透過 UI 設定的物件可於 UI 進行設定。"
|
||||||
},
|
},
|
||||||
|
@ -6666,10 +6666,10 @@ he@1.2.0, he@^1.2.0:
|
|||||||
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
|
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
|
||||||
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
|
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
|
||||||
|
|
||||||
hls.js@^0.12.4:
|
hls.js@^0.13.2:
|
||||||
version "0.12.4"
|
version "0.13.2"
|
||||||
resolved "https://registry.yarnpkg.com/hls.js/-/hls.js-0.12.4.tgz#c155b7b2825a11117c111b781973c0ffa759006b"
|
resolved "https://registry.yarnpkg.com/hls.js/-/hls.js-0.13.2.tgz#3e7dd28e3787c69c6aba42b64b11eb2c3c8c29f1"
|
||||||
integrity sha512-e8OPxQ60dBVsdkv4atdxR21KzC1mgwspM41qpozpj3Uv1Fz4CaeQy3FWoaV2O+QKKbNRvV5hW+/LipCWdrwnMQ==
|
integrity sha512-sIg2t4uGpWQLzuK1Iid9614WOKqxj4OYg+EbFbhhTDCsxpENBN+Du3yBFnoi+a83DuOOHdiQd1ydnti9loSGXw==
|
||||||
dependencies:
|
dependencies:
|
||||||
eventemitter3 "3.1.0"
|
eventemitter3 "3.1.0"
|
||||||
url-toolkit "^2.1.6"
|
url-toolkit "^2.1.6"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user