@@ -305,7 +284,9 @@ class HassioAddonInfo extends LitElement {
})}
@click=${this._showMoreInfo}
id="stage"
- label="stage"
+ .label=${this.supervisor.localize(
+ "addon.dashboard.capability.label.stage"
+ )}
description=""
>
@@ -343,7 +326,9 @@ class HassioAddonInfo extends LitElement {
@@ -355,7 +340,9 @@ class HassioAddonInfo extends LitElement {
@@ -367,8 +354,12 @@ class HassioAddonInfo extends LitElement {
@@ -379,7 +370,9 @@ class HassioAddonInfo extends LitElement {
@@ -391,7 +384,9 @@ class HassioAddonInfo extends LitElement {
@@ -404,7 +399,9 @@ class HassioAddonInfo extends LitElement {
@click=${this._showMoreInfo}
class=${this._computeApparmorClassName}
id="apparmor"
- label="apparmor"
+ .label=${this.supervisor.localize(
+ "addon.dashboard.capability.label.apparmor"
+ )}
description=""
>
@@ -416,7 +413,9 @@ class HassioAddonInfo extends LitElement {
@@ -428,7 +427,9 @@ class HassioAddonInfo extends LitElement {
- Start on boot
+ ${this.supervisor.localize(
+ "addon.dashboard.option.boot.title"
+ )}
- Make the add-on start during a system boot
+ ${this.supervisor.localize(
+ "addon.dashboard.option.boot.description"
+ )}
- Watchdog
+ ${this.supervisor.localize(
+ "addon.dashboard.option.watchdog.title"
+ )}
- This will start the add-on if it crashes
+ ${this.supervisor.localize(
+ "addon.dashboard.option.boot.description"
+ )}
- Auto update
+ ${this.supervisor.localize(
+ "addon.dashboard.option.auto_update.title"
+ )}
- Auto update the add-on when there is a new
- version available
+ ${this.supervisor.localize(
+ "addon.dashboard.option.boot.description"
+ )}
`
: ""}
- ${this.addon.ingress
+ ${!this._computeCannotIngressSidebar && this.addon.ingress
? html`
- Show in sidebar
+ ${this.supervisor.localize(
+ "addon.dashboard.option.ingress_panel.title"
+ )}
- ${this._computeCannotIngressSidebar
- ? "This option requires Home Assistant 0.92 or later."
- : "Add this add-on to your sidebar"}
+ ${this.supervisor.localize(
+ "addon.dashboard.option.ingress_panel.description"
+ )}
@@ -521,10 +534,14 @@ class HassioAddonInfo extends LitElement {
? html`
- Protection mode
+ ${this.supervisor.localize(
+ "addon.dashboard.option.protected.title"
+ )}
- Blocks elevated system access from the add-on
+ ${this.supervisor.localize(
+ "addon.dashboard.option.protected.description"
+ )}
- Hostname
+ ${this.supervisor.localize("addon.dashboard.hostname")}
${this.addon.hostname}
@@ -569,17 +586,20 @@ class HassioAddonInfo extends LitElement {
)
? html`
- This add-on is not compatible with the processor of your
- device or the operating system you have installed on your
- device.
+ ${this.supervisor.localize(
+ "addon.dashboard.not_available_arch"
+ )}
`
: html`
- You are running Home Assistant
- ${this.supervisor.core.version}, to install this add-on you
- need at least version ${addonStoreInfo!.homeassistant} of
- Home Assistant
+ ${this.supervisor.localize(
+ "addon.dashboard.not_available_version",
+ "core_version_installed",
+ this.supervisor.core.version,
+ "core_version_needed",
+ addonStoreInfo!.homeassistant
+ )}
`
: ""}
@@ -593,18 +613,18 @@ class HassioAddonInfo extends LitElement {
class="warning"
@click=${this._stopClicked}
>
- Stop
+ ${this.supervisor.localize("addon.dashboard.stop")}
- Restart
+ ${this.supervisor.localize("addon.dashboard.restart")}
`
: html`
- Start
+ ${this.supervisor.localize("addon.dashboard.start")}
`
: html`
@@ -612,7 +632,7 @@ class HassioAddonInfo extends LitElement {
.disabled=${!this.addon.available}
@click=${this._installClicked}
>
- Install
+ ${this.supervisor.localize("addon.dashboard.install")}
`}
@@ -627,7 +647,9 @@ class HassioAddonInfo extends LitElement {
rel="noopener"
>
- Open web UI
+ ${this.supervisor.localize(
+ "addon.dashboard.open_web_ui"
+ )}
`
@@ -635,7 +657,9 @@ class HassioAddonInfo extends LitElement {
${this._computeShowIngressUI
? html`
- Open web UI
+ ${this.supervisor.localize(
+ "addon.dashboard.open_web_ui"
+ )}
`
: ""}
@@ -643,7 +667,7 @@ class HassioAddonInfo extends LitElement {
class="warning"
@click=${this._uninstallClicked}
>
- Uninstall
+ ${this.supervisor.localize("addon.dashboard.uninstall")}
${this.addon.build
? html`
@@ -652,7 +676,7 @@ class HassioAddonInfo extends LitElement {
.hass=${this.hass}
.path="hassio/addons/${this.addon.slug}/rebuild"
>
- Rebuild
+ ${this.supervisor.localize("addon.dashboard.rebuild")}
`
: ""}`
@@ -712,8 +736,21 @@ class HassioAddonInfo extends LitElement {
private _showMoreInfo(ev): void {
const id = ev.currentTarget.id;
showHassioMarkdownDialog(this, {
- title: PERMIS_DESC[id].title,
- content: PERMIS_DESC[id].description,
+ title: this.supervisor.localize(`addon.dashboard.capability.${id}.title`),
+ content:
+ id === "stage"
+ ? this.supervisor.localize(
+ `addon.dashboard.capability.${id}.description`,
+ "icon_stable",
+ `
`,
+ "icon_experimental",
+ `
`,
+ "icon_deprecated",
+ `
`
+ )
+ : this.supervisor.localize(
+ `addon.dashboard.capability.${id}.description`
+ ),
});
}
@@ -766,9 +803,11 @@ class HassioAddonInfo extends LitElement {
};
fireEvent(this, "hass-api-called", eventdata);
} catch (err) {
- this._error = `Failed to set addon option, ${extractApiErrorMessage(
- err
- )}`;
+ this._error = this.supervisor.localize(
+ "addon.failed_to_save",
+ "error",
+ extractApiErrorMessage(err)
+ );
}
}
@@ -786,9 +825,11 @@ class HassioAddonInfo extends LitElement {
};
fireEvent(this, "hass-api-called", eventdata);
} catch (err) {
- this._error = `Failed to set addon option, ${extractApiErrorMessage(
- err
- )}`;
+ this._error = this.supervisor.localize(
+ "addon.failed_to_save",
+ "error",
+ extractApiErrorMessage(err)
+ );
}
}
@@ -806,9 +847,11 @@ class HassioAddonInfo extends LitElement {
};
fireEvent(this, "hass-api-called", eventdata);
} catch (err) {
- this._error = `Failed to set addon option, ${extractApiErrorMessage(
- err
- )}`;
+ this._error = this.supervisor.localize(
+ "addon.failed_to_save",
+ "error",
+ extractApiErrorMessage(err)
+ );
}
}
@@ -826,9 +869,11 @@ class HassioAddonInfo extends LitElement {
};
fireEvent(this, "hass-api-called", eventdata);
} catch (err) {
- this._error = `Failed to set addon security option, ${extractApiErrorMessage(
- err
- )}`;
+ this._error = this.supervisor.localize(
+ "addon.failed_to_save",
+ "error",
+ extractApiErrorMessage(err)
+ );
}
}
@@ -846,9 +891,11 @@ class HassioAddonInfo extends LitElement {
};
fireEvent(this, "hass-api-called", eventdata);
} catch (err) {
- this._error = `Failed to set addon option, ${extractApiErrorMessage(
- err
- )}`;
+ this._error = this.supervisor.localize(
+ "addon.failed_to_save",
+ "error",
+ extractApiErrorMessage(err)
+ );
}
}
@@ -859,12 +906,14 @@ class HassioAddonInfo extends LitElement {
this.addon.slug
);
showHassioMarkdownDialog(this, {
- title: "Changelog",
+ title: this.supervisor.localize("addon.dashboard.changelog"),
content,
});
} catch (err) {
showAlertDialog(this, {
- title: "Failed to get addon changelog",
+ title: this.supervisor.localize(
+ "addon.dashboard.action_error.get_changelog"
+ ),
text: extractApiErrorMessage(err),
});
}
@@ -884,7 +933,7 @@ class HassioAddonInfo extends LitElement {
fireEvent(this, "hass-api-called", eventdata);
} catch (err) {
showAlertDialog(this, {
- title: "Failed to install addon",
+ title: this.supervisor.localize("addon.dashboard.action_error.install"),
text: extractApiErrorMessage(err),
});
}
@@ -905,7 +954,7 @@ class HassioAddonInfo extends LitElement {
fireEvent(this, "hass-api-called", eventdata);
} catch (err) {
showAlertDialog(this, {
- title: "Failed to stop addon",
+ title: this.supervisor.localize("addon.dashboard.action_error.stop"),
text: extractApiErrorMessage(err),
});
}
@@ -926,7 +975,7 @@ class HassioAddonInfo extends LitElement {
fireEvent(this, "hass-api-called", eventdata);
} catch (err) {
showAlertDialog(this, {
- title: "Failed to restart addon",
+ title: this.supervisor.localize("addon.dashboard.action_error.restart"),
text: extractApiErrorMessage(err),
});
}
@@ -947,11 +996,15 @@ class HassioAddonInfo extends LitElement {
);
if (!validate.valid) {
await showConfirmationDialog(this, {
- title: "Failed to start addon - configuration validation failed!",
+ title: this.supervisor.localize(
+ "addon.dashboard.action_error.start_invalid_config"
+ ),
text: validate.message.split(" Got ")[0],
confirm: () => this._openConfiguration(),
- confirmText: "Go to configuration",
- dismissText: "Cancel",
+ confirmText: this.supervisor.localize(
+ "addon.dashboard.action_error.go_to_config"
+ ),
+ dismissText: this.supervisor.localize("common.cancel"),
});
button.progress = false;
return;
@@ -976,7 +1029,7 @@ class HassioAddonInfo extends LitElement {
fireEvent(this, "hass-api-called", eventdata);
} catch (err) {
showAlertDialog(this, {
- title: "Failed to start addon",
+ title: this.supervisor.localize("addon.dashboard.action_error.start"),
text: extractApiErrorMessage(err),
});
}
@@ -1014,7 +1067,9 @@ class HassioAddonInfo extends LitElement {
fireEvent(this, "hass-api-called", eventdata);
} catch (err) {
showAlertDialog(this, {
- title: "Failed to uninstall addon",
+ title: this.supervisor.localize(
+ "addon.dashboard.action_error.uninstall"
+ ),
text: extractApiErrorMessage(err),
});
}
diff --git a/hassio/src/addon-view/log/hassio-addon-log-tab.ts b/hassio/src/addon-view/log/hassio-addon-log-tab.ts
index 54bace246b..7b93e38a5b 100644
--- a/hassio/src/addon-view/log/hassio-addon-log-tab.ts
+++ b/hassio/src/addon-view/log/hassio-addon-log-tab.ts
@@ -9,6 +9,7 @@ import {
} from "lit-element";
import "../../../../src/components/ha-circular-progress";
import { HassioAddonDetails } from "../../../../src/data/hassio/addon";
+import { Supervisor } from "../../../../src/data/supervisor/supervisor";
import { haStyle } from "../../../../src/resources/styles";
import { HomeAssistant } from "../../../../src/types";
import { hassioStyle } from "../../resources/hassio-style";
@@ -18,6 +19,8 @@ import "./hassio-addon-logs";
class HassioAddonLogDashboard extends LitElement {
@property({ attribute: false }) public hass!: HomeAssistant;
+ @property({ attribute: false }) public supervisor!: Supervisor;
+
@property({ attribute: false }) public addon?: HassioAddonDetails;
protected render(): TemplateResult {
@@ -28,6 +31,7 @@ class HassioAddonLogDashboard extends LitElement {
diff --git a/hassio/src/addon-view/log/hassio-addon-logs.ts b/hassio/src/addon-view/log/hassio-addon-logs.ts
index 314dc29c09..c380c0b92e 100644
--- a/hassio/src/addon-view/log/hassio-addon-logs.ts
+++ b/hassio/src/addon-view/log/hassio-addon-logs.ts
@@ -15,6 +15,7 @@ import {
HassioAddonDetails,
} from "../../../../src/data/hassio/addon";
import { extractApiErrorMessage } from "../../../../src/data/hassio/common";
+import { Supervisor } from "../../../../src/data/supervisor/supervisor";
import { haStyle } from "../../../../src/resources/styles";
import { HomeAssistant } from "../../../../src/types";
import "../../components/hassio-ansi-to-html";
@@ -24,6 +25,8 @@ import { hassioStyle } from "../../resources/hassio-style";
class HassioAddonLogs extends LitElement {
@property({ attribute: false }) public hass!: HomeAssistant;
+ @property({ attribute: false }) public supervisor!: Supervisor;
+
@property({ attribute: false }) public addon!: HassioAddonDetails;
@internalProperty() private _error?: string;
@@ -48,7 +51,9 @@ class HassioAddonLogs extends LitElement {
: ""}