diff --git a/src/panels/config/cloud/account/cloud-account.js b/src/panels/config/cloud/account/cloud-account.js index 0b9c3ed411..19f37a5aff 100644 --- a/src/panels/config/cloud/account/cloud-account.js +++ b/src/panels/config/cloud/account/cloud-account.js @@ -63,19 +63,21 @@ class CloudAccount extends EventsMixin(LocalizeMixin(PolymerElement)) { color: var(--primary-color); } - +
- Home Assistant Cloud + [[localize('ui.panel.config.cloud.caption')]]

- Thank you for being part of Home Assistant Cloud. It's because - of people like you that we are able to make a great home - automation experience for everyone. Thank you! + [[localize('ui.panel.config.cloud.account.thank_you_note')]]

- +
Manage Account[[localize('ui.panel.config.cloud.account.manage_account')]] Sign out[[localize('ui.panel.config.cloud.account.sign_out')]]
- Integrations + [[localize('ui.panel.config.cloud.account.integrations')]]

- Integrations for Home Assistant Cloud allow you to connect with - services in the cloud without having to expose your Home - Assistant instance publicly on the internet. + [[localize('ui.panel.config.cloud.account.integrations_introduction')]]

- Check the website for + [[localize('ui.panel.config.cloud.account.integrations_introduction2')]] all available features[[localize('ui.panel.config.cloud.account.integrations_link_all_features')]].

@@ -160,7 +166,9 @@ class CloudAccount extends EventsMixin(LocalizeMixin(PolymerElement)) { } _computeRemoteConnected(connected) { - return connected ? "Connected" : "Not Connected"; + return connected + ? this.hass.localize("ui.panel.config.cloud.account.connected") + : this.hass.localize("ui.panel.config.cloud.account.not_connected"); } async _fetchSubscriptionInfo() { @@ -182,7 +190,9 @@ class CloudAccount extends EventsMixin(LocalizeMixin(PolymerElement)) { _formatSubscription(subInfo) { if (subInfo === null) { - return "Fetching subscription…"; + return this.hass.localize( + "ui.panel.config.cloud.account.fetching_subscription" + ); } let description = subInfo.human_description; diff --git a/src/panels/config/cloud/account/cloud-alexa-pref.ts b/src/panels/config/cloud/account/cloud-alexa-pref.ts index 1b6ad8eb1a..1748366406 100644 --- a/src/panels/config/cloud/account/cloud-alexa-pref.ts +++ b/src/panels/config/cloud/account/cloud-alexa-pref.ts @@ -31,7 +31,11 @@ export class CloudAlexaPref extends LitElement { const { alexa_enabled, alexa_report_state } = this.cloudStatus!.prefs; return html` - +
- With the Alexa integration for Home Assistant Cloud you'll be able to - control all your Home Assistant devices via any Alexa-enabled device. + ${this.hass!.localize("ui.panel.config.cloud.account.alexa.info")} This integration requires an Alexa-enabled device like the Amazon - Echo.${this.hass!.localize( + "ui.panel.config.cloud.account.alexa.requirements" + )} ${alexa_enabled ? html` -

Enable State Reporting

+

+ ${this.hass!.localize( + "ui.panel.config.cloud.account.alexa.enable_state_reporting" + )} +

- If you enable state reporting, Home Assistant will send - all state changes of exposed entities to Amazon. This - allows you to always see the latest states in the Alexa app - and use the state changes to create routines. + ${this.hass!.localize( + "ui.panel.config.cloud.account.alexa.info_state_reporting" + )}

- Sync Entities + ${this.hass!.localize( + "ui.panel.config.cloud.account.alexa.sync_entities" + )}
- Manage Entities + ${this.hass!.localize( + "ui.panel.config.cloud.account.alexa.manage_entities" + )}
@@ -97,7 +114,11 @@ export class CloudAlexaPref extends LitElement { try { await syncCloudAlexaEntities(this.hass!); } catch (err) { - alert(`Failed to sync entities: ${err.body.message}`); + alert( + `${this.hass!.localize( + "ui.panel.config.cloud.account.alexa.sync_entities_error" + )} ${err.body.message}` + ); } finally { this._syncing = false; } @@ -122,9 +143,15 @@ export class CloudAlexaPref extends LitElement { fireEvent(this, "ha-refresh-cloud-status"); } catch (err) { alert( - `Unable to ${toggle.checked ? "enable" : "disable"} report state. ${ - err.message - }` + `${this.hass!.localize( + "ui.panel.config.cloud.account.alexa.state_reporting_error", + "enable_disable", + this.hass!.localize( + toggle.checked + ? "ui.panel.config.cloud.account.alexa.enable" + : "ui.panel.config.cloud.account.alexa.disable" + ) + )} ${err.message}` ); toggle.checked = !toggle.checked; } diff --git a/src/panels/config/cloud/account/cloud-google-pref.ts b/src/panels/config/cloud/account/cloud-google-pref.ts index a0baa43b1a..4f7a7ae1c7 100644 --- a/src/panels/config/cloud/account/cloud-google-pref.ts +++ b/src/panels/config/cloud/account/cloud-google-pref.ts @@ -42,7 +42,11 @@ export class CloudGooglePref extends LitElement { } = this.cloudStatus.prefs; return html` - +
- With the Google Assistant integration for Home Assistant Cloud you'll - be able to control all your Home Assistant devices via any Google - Assistant-enabled device. + ${this.hass!.localize("ui.panel.config.cloud.account.google.info")} This integration requires a Google Assistant-enabled device like - the Google Home or Android phone.${this.hass!.localize( + "ui.panel.config.cloud.account.google.requirements" + )} ${google_enabled ? html`
- Please enter a pin to interact with security devices. Security - devices are doors, garage doors and locks. You will be asked - to say/enter this pin when interacting with such devices via - Google Assistant. + ${this.hass!.localize( + "ui.panel.config.cloud.account.google.enter_pin_info" + )} @@ -100,11 +110,17 @@ export class CloudGooglePref extends LitElement { .disabled="${!google_enabled}" path="cloud/google_actions/sync" > - Sync entities to Google + ${this.hass!.localize( + "ui.panel.config.cloud.account.google.sync_entities" + )}
- Manage Entities + ${this.hass!.localize( + "ui.panel.config.cloud.account.google.manage_entities" + )}
@@ -130,7 +146,11 @@ export class CloudGooglePref extends LitElement { showSaveSuccessToast(this, this.hass!); fireEvent(this, "ha-refresh-cloud-status"); } catch (err) { - alert(`Unable to store pin: ${err.message}`); + alert( + `${this.hass!.localize( + "ui.panel.config.cloud.account.google.enter_pin_error" + )} ${err.message}` + ); input.value = this.cloudStatus!.prefs.google_secure_devices_pin; } } diff --git a/src/panels/config/cloud/account/cloud-remote-pref.ts b/src/panels/config/cloud/account/cloud-remote-pref.ts index 715b937fd8..eb9050b027 100644 --- a/src/panels/config/cloud/account/cloud-remote-pref.ts +++ b/src/panels/config/cloud/account/cloud-remote-pref.ts @@ -49,16 +49,26 @@ export class CloudRemotePref extends LitElement { if (!remote_certificate) { return html` - +
- Remote access is being prepared. We will notify you when it's ready. + ${this.hass!.localize( + "ui.panel.config.cloud.account.remote.access_is_being_prepared" + )}
`; } return html` - +
- Home Assistant Cloud provides a secure remote connection to your - instance while away from home. Your instance - ${remote_connected ? "is" : "will be"} available at + ${this.hass!.localize("ui.panel.config.cloud.account.remote.info")} + ${remote_connected + ? this.hass!.localize( + "ui.panel.config.cloud.account.remote.instance_is_available" + ) + : this.hass!.localize( + "ui.panel.config.cloud.account.remote.instance_will_be_available" + )} https://${remote_domain}.
- Learn how it works + ${this.hass!.localize( + "ui.panel.config.cloud.account.remote.link_learn_how_it_works" + )} ${remote_certificate ? html`
- Certificate Info + ${this.hass!.localize( + "ui.panel.config.cloud.account.remote.certificate_info" + )} ` : ""} diff --git a/src/panels/config/cloud/account/cloud-webhooks.ts b/src/panels/config/cloud/account/cloud-webhooks.ts index ba0d30c4d6..9f2b912283 100644 --- a/src/panels/config/cloud/account/cloud-webhooks.ts +++ b/src/panels/config/cloud/account/cloud-webhooks.ts @@ -51,16 +51,20 @@ export class CloudWebhooks extends LitElement { protected render() { return html` ${this.renderStyle()} - +
- Anything that is configured to be triggered by a webhook can be given - a publicly accessible URL to allow you to send data back to Home - Assistant from anywhere, without exposing your instance to the - internet. ${this._renderBody()} + ${this.hass!.localize("ui.panel.config.cloud.account.webhooks.info")} + ${this._renderBody()}
@@ -78,16 +82,33 @@ export class CloudWebhooks extends LitElement { private _renderBody() { if (!this.cloudStatus || !this._localHooks || !this._cloudHooks) { return html` -
Loading…
+
+ ${this.hass!.localize( + "ui.panel.config.cloud.account.webhooks.loading" + )} +
`; } if (this._localHooks.length === 0) { return html`
- Looks like you have no webhooks yet. Get started by configuring a - webhook-based integration or by - creating a webhook automation. + ${this.hass!.localize( + "ui.panel.config.cloud.account.webhooks.no_hooks_yet" + )} + ${this.hass!.localize( + "ui.panel.config.cloud.account.webhooks.no_hooks_yet_link_integration" + )} + ${this.hass!.localize( + "ui.panel.config.cloud.account.webhooks.no_hooks_yet2" + )} + ${this.hass!.localize( + "ui.panel.config.cloud.account.webhooks.no_hooks_yet_link_automation" + )}.
`; } @@ -113,7 +134,9 @@ export class CloudWebhooks extends LitElement { : this._cloudHooks![entry.webhook_id] ? html` - Manage + ${this.hass!.localize( + "ui.panel.config.cloud.account.webhooks.manage" + )} ` : html` @@ -171,7 +194,11 @@ export class CloudWebhooks extends LitElement { try { await deleteCloudhook(this.hass!, webhookId!); } catch (err) { - alert(`Failed to disable webhook: ${(err as WebhookError).message}`); + alert( + `${this.hass!.localize( + "ui.panel.config.cloud.account.webhooks.disable_hook_error_msg" + )} ${(err as WebhookError).message}` + ); return; } finally { this._progress = this._progress.filter((wid) => wid !== webhookId); diff --git a/src/panels/config/cloud/alexa/cloud-alexa.ts b/src/panels/config/cloud/alexa/cloud-alexa.ts index f9a5cf8e40..b630843afe 100644 --- a/src/panels/config/cloud/alexa/cloud-alexa.ts +++ b/src/panels/config/cloud/alexa/cloud-alexa.ts @@ -136,7 +136,7 @@ class CloudAlexa extends LitElement { .checked=${isExposed} @change=${this._exposeChanged} > - Expose to Alexa + ${this.hass!.localize("ui.panel.config.cloud.alexa.expose")}
@@ -148,7 +148,9 @@ class CloudAlexa extends LitElement { } return html` - + ${selected}${ !this.narrow @@ -173,9 +175,7 @@ class CloudAlexa extends LitElement { !emptyFilter ? html` ` : "" @@ -183,7 +183,11 @@ class CloudAlexa extends LitElement { ${ exposedCards.length > 0 ? html` -

Exposed entities

+

+ ${this.hass!.localize( + "ui.panel.config.cloud.alexa.exposed_entities" + )} +

${exposedCards}
` : "" @@ -191,7 +195,11 @@ class CloudAlexa extends LitElement { ${ notExposedCards.length > 0 ? html` -

Not Exposed entities

+

+ ${this.hass!.localize( + "ui.panel.config.cloud.alexa.not_exposed_entities" + )} +

${notExposedCards}
` : "" diff --git a/src/panels/config/cloud/dialog-cloud-certificate/dialog-cloud-certificate.ts b/src/panels/config/cloud/dialog-cloud-certificate/dialog-cloud-certificate.ts index 69982db18a..ac63582715 100644 --- a/src/panels/config/cloud/dialog-cloud-certificate/dialog-cloud-certificate.ts +++ b/src/panels/config/cloud/dialog-cloud-certificate/dialog-cloud-certificate.ts @@ -40,23 +40,38 @@ class DialogCloudCertificate extends LitElement { return html` -

Certificate Information

+

+ ${this.hass!.localize( + "ui.panel.config.cloud.dialog_certificate.certificate_information" + )} +

- Certificate expiration date: + ${this.hass!.localize( + "ui.panel.config.cloud.dialog_certificate.certificate_expiration_date" + )} ${format_date_time( new Date(certificateInfo.expire_date), this.hass!.language )}
- (Will be automatically renewed) + (${this.hass!.localize( + "ui.panel.config.cloud.dialog_certificate.will_be_auto_renewed" + )})

- Certificate fingerprint: ${certificateInfo.fingerprint} + ${this.hass!.localize( + "ui.panel.config.cloud.dialog_certificate.fingerprint" + )} + ${certificateInfo.fingerprint}

- CLOSE + ${this.hass!.localize( + "ui.panel.config.cloud.dialog_certificate.close" + )}
`; diff --git a/src/panels/config/cloud/dialog-manage-cloudhook/dialog-manage-cloudhook.ts b/src/panels/config/cloud/dialog-manage-cloudhook/dialog-manage-cloudhook.ts index 3aa3c0d521..3ecdb04683 100644 --- a/src/panels/config/cloud/dialog-manage-cloudhook/dialog-manage-cloudhook.ts +++ b/src/panels/config/cloud/dialog-manage-cloudhook/dialog-manage-cloudhook.ts @@ -50,9 +50,19 @@ export class DialogManageCloudhook extends LitElement { : `https://www.home-assistant.io/integrations/${webhook.domain}/`; return html` -

Webhook for ${webhook.name}

+

+ ${this.hass!.localize( + "ui.panel.config.cloud.dialog_cloudhook.webhook_for", + "name", + webhook.name + )} +

-

The webhook is available at the following url:

+

+ ${this.hass!.localize( + "ui.panel.config.cloud.dialog_cloudhook.available_at" + )} +

${cloudhook.managed ? html` - This webhook is managed by an integration and cannot be - disabled. + ${this.hass!.localize( + "ui.panel.config.cloud.dialog_cloudhook.managed_by_integration" + )} ` : html` - If you no longer want to use this webhook, you can + ${this.hass!.localize( + "ui.panel.config.cloud.dialog_cloudhook.info_disable_webhook" + )} . `}

@@ -76,9 +91,17 @@ export class DialogManageCloudhook extends LitElement {
- VIEW DOCUMENTATION + ${this.hass!.localize( + "ui.panel.config.cloud.dialog_cloudhook.view_documentation" + )} - CLOSE + ${this.hass!.localize( + "ui.panel.config.cloud.dialog_cloudhook.close" + )}
`; @@ -97,7 +120,13 @@ export class DialogManageCloudhook extends LitElement { } private async _disableWebhook() { - if (!confirm("Are you sure you want to disable this webhook?")) { + if ( + !confirm( + this.hass!.localize( + "ui.panel.config.cloud.dialog_cloudhook.confirm_disable" + ) + ) + ) { return; } @@ -113,7 +142,9 @@ export class DialogManageCloudhook extends LitElement { input.setSelectionRange(0, input.value.length); try { document.execCommand("copy"); - paperInput.label = "COPIED TO CLIPBOARD"; + paperInput.label = this.hass!.localize( + "ui.panel.config.cloud.dialog_cloudhook.copied_to_clipboard" + ); } catch (err) { // Copying failed. Oh no } diff --git a/src/panels/config/cloud/forgot-password/cloud-forgot-password.js b/src/panels/config/cloud/forgot-password/cloud-forgot-password.js index cab3221e59..b036f3bf65 100644 --- a/src/panels/config/cloud/forgot-password/cloud-forgot-password.js +++ b/src/panels/config/cloud/forgot-password/cloud-forgot-password.js @@ -7,11 +7,12 @@ import "../../../../components/buttons/ha-progress-button"; import "../../../../layouts/hass-subpage"; import "../../../../resources/ha-style"; import { EventsMixin } from "../../../../mixins/events-mixin"; - +import LocalizeMixin from "../../../../mixins/localize-mixin"; /* * @appliesMixin EventsMixin + * @appliesMixin LocalizeMixin */ -class CloudForgotPassword extends EventsMixin(PolymerElement) { +class CloudForgotPassword extends LocalizeMixin(EventsMixin(PolymerElement)) { static get template() { return html` - +
- +

- Enter your email address and we will send you a link to reset - your password. + [[localize('ui.panel.config.cloud.forgot_password.instructions')]]

[[_error]]
Send reset email[[localize('ui.panel.config.cloud.forgot_password.send_reset_email')]]
@@ -126,7 +126,7 @@ class CloudForgotPassword extends EventsMixin(PolymerElement) { this._requestInProgress = false; this.fire("cloud-done", { flashMessage: - "Check your email for instructions on how to reset your password.", + "[[localize('ui.panel.config.cloud.forgot_password.check_your_email')]]", }); }, (err) => diff --git a/src/panels/config/cloud/google-assistant/cloud-google-assistant.ts b/src/panels/config/cloud/google-assistant/cloud-google-assistant.ts index e15ff78815..c7c752a478 100644 --- a/src/panels/config/cloud/google-assistant/cloud-google-assistant.ts +++ b/src/panels/config/cloud/google-assistant/cloud-google-assistant.ts @@ -132,7 +132,7 @@ class CloudGoogleAssistant extends LitElement { .checked=${isExposed} @change=${this._exposeChanged} > - Expose to Google Assistant + ${this.hass!.localize("ui.panel.config.cloud.google.expose")} ${entity.might_2fa ? html` @@ -141,7 +141,9 @@ class CloudGoogleAssistant extends LitElement { .checked=${Boolean(config.disable_2fa)} @change=${this._disable2FAChanged} > - Disable two factor authentication + ${this.hass!.localize( + "ui.panel.config.cloud.google.disable_2FA" + )} ` : ""} @@ -155,7 +157,9 @@ class CloudGoogleAssistant extends LitElement { } return html` - + ${selected}${ !this.narrow @@ -180,9 +184,7 @@ class CloudGoogleAssistant extends LitElement { !emptyFilter ? html` ` : "" @@ -190,7 +192,11 @@ class CloudGoogleAssistant extends LitElement { ${ exposedCards.length > 0 ? html` -

Exposed entities

+

+ ${this.hass!.localize( + "ui.panel.config.cloud.google.exposed_entities" + )} +

${exposedCards}
` : "" @@ -198,7 +204,11 @@ class CloudGoogleAssistant extends LitElement { ${ notExposedCards.length > 0 ? html` -

Not Exposed entities

+

+ ${this.hass!.localize( + "ui.panel.config.cloud.google.not_exposed_entities" + )} +

${notExposedCards}
` : "" @@ -323,7 +333,11 @@ class CloudGoogleAssistant extends LitElement { window.addEventListener( "popstate", () => { - showToast(parent, { message: "Synchronizing changes to Google." }); + showToast(parent, { + message: this.hass!.localize( + "ui.panel.config.cloud.googe.sync_to_google" + ), + }); cloudSyncGoogleAssistant(this.hass); }, { once: true } diff --git a/src/panels/config/cloud/login/cloud-login.js b/src/panels/config/cloud/login/cloud-login.js index fcd6dfc6f1..af39b1ccdb 100644 --- a/src/panels/config/cloud/login/cloud-login.js +++ b/src/panels/config/cloud/login/cloud-login.js @@ -16,11 +16,15 @@ import "../../ha-config-section"; import { EventsMixin } from "../../../../mixins/events-mixin"; import NavigateMixin from "../../../../mixins/navigate-mixin"; import "../../../../components/ha-icon-next"; +import LocalizeMixin from "../../../../mixins/localize-mixin"; /* * @appliesMixin NavigateMixin * @appliesMixin EventsMixin + * @appliesMixin LocalizeMixin */ -class CloudLogin extends NavigateMixin(EventsMixin(PolymerElement)) { +class CloudLogin extends LocalizeMixin( + NavigateMixin(EventsMixin(PolymerElement)) +) { static get template() { return html` - +
- Home Assistant Cloud + [[localize('ui.panel.config.cloud.caption')]]

- Home Assistant Cloud provides you with a secure remote - connection to your instance while away from home. It also allows - you to connect with cloud-only services: Amazon Alexa and Google - Assistant. + [[localize('ui.panel.config.cloud.login.introduction')]]

- This service is run by our partner + [[localize('ui.panel.config.cloud.login.introduction2')]] Nabu Casa, Inc, a company founded by the founders of Home Assistant and - Hass.io. + > + [[localize('ui.panel.config.cloud.login.introduction2a')]]

- Home Assistant Cloud is a subscription service with a free one - month trial. No payment information necessary. + [[localize('ui.panel.config.cloud.login.introduction3')]]

Learn more about Home Assistant Cloud[[localize('ui.panel.config.cloud.login.learn_more_link')]]

@@ -101,44 +103,46 @@ class CloudLogin extends NavigateMixin(EventsMixin(PolymerElement)) {
[[flashMessage]] Dismiss[[localize('ui.panel.config.cloud.login.dismiss')]]
- +
[[_error]]
Sign in[[localize('ui.panel.config.cloud.login.sign_in')]]
@@ -146,8 +150,10 @@ class CloudLogin extends NavigateMixin(EventsMixin(PolymerElement)) { - Start your free 1 month trial -
No payment information necessary
+ [[localize('ui.panel.config.cloud.login.start_trial')]] +
+ [[localize('ui.panel.config.cloud.login.trial_info')]] +
@@ -251,7 +257,9 @@ class CloudLogin extends NavigateMixin(EventsMixin(PolymerElement)) { const errCode = err && err.body && err.body.code; if (errCode === "PasswordChangeRequired") { - alert("You need to change your password before logging in."); + alert( + "[[localize('ui.panel.config.cloud.login.alert_password_change_required')]]" + ); this.navigate("/config/cloud/forgot-password"); return; } @@ -265,7 +273,8 @@ class CloudLogin extends NavigateMixin(EventsMixin(PolymerElement)) { }; if (errCode === "UserNotConfirmed") { - props._error = "You need to confirm your email before logging in."; + props._error = + "[[localize('ui.panel.config.cloud.login.alert_email_confirm_necessary')]]"; } this.setProperties(props); diff --git a/src/panels/config/cloud/register/cloud-register.js b/src/panels/config/cloud/register/cloud-register.js index 4f44f97485..e12ed7c75c 100644 --- a/src/panels/config/cloud/register/cloud-register.js +++ b/src/panels/config/cloud/register/cloud-register.js @@ -8,11 +8,13 @@ import "../../../../layouts/hass-subpage"; import "../../../../resources/ha-style"; import "../../ha-config-section"; import { EventsMixin } from "../../../../mixins/events-mixin"; +import LocalizeMixin from "../../../../mixins/localize-mixin"; /* * @appliesMixin EventsMixin + * @appliesMixin LocalizeMixin */ -class CloudRegister extends EventsMixin(PolymerElement) { +class CloudRegister extends LocalizeMixin(EventsMixin(PolymerElement)) { static get template() { return html` - +
- Start your free trial + [[localize('ui.panel.config.cloud.register.headline')]]

- Create an account to start your free one month trial with Home Assistant Cloud. No payment information necessary. + [[localize('ui.panel.config.cloud.register.information')]]

- The trial will give you access to all the benefits of Home Assistant Cloud, including: + [[localize('ui.panel.config.cloud.register.information2')]]

    -
  • Control of Home Assistant away from home
  • -
  • Integration with Google Assistant
  • -
  • Integration with Amazon Alexa
  • -
  • Easy integration with webhook-based apps like OwnTracks
  • +
  • [[localize('ui.panel.config.cloud.register.feature_remote_control')]]
  • +
  • [[localize('ui.panel.config.cloud.register.feature_google_home')]]
  • +
  • [[localize('ui.panel.config.cloud.register.feature_amazon_alexa')]]
  • +
  • [[localize('ui.panel.config.cloud.register.feature_webhook_apps')]]

- This service is run by our partner Nabu Casa, Inc, a company founded by the founders of Home Assistant and Hass.io. + [[localize('ui.panel.config.cloud.register.information3')]] Nabu Casa, Inc[[localize('ui.panel.config.cloud.register.information3a')]]

- By registering an account you agree to the following terms and conditions. + [[localize('ui.panel.config.cloud.register.information4')]]

- +
[[_error]]
- - + +
- Start trial - + [[localize('ui.panel.config.cloud.register.start_trial')]] +
@@ -211,8 +213,9 @@ class CloudRegister extends EventsMixin(PolymerElement) { _password: "", }); this.fire("cloud-done", { - flashMessage: - "Account created! Check your email for instructions on how to activate your account.", + flashMessage: this.hass.localize( + "ui.panel.config.cloud.register.account_created" + ), }); } } diff --git a/src/translations/en.json b/src/translations/en.json index 91c8375200..761b21376b 100644 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -916,7 +916,155 @@ "caption": "Home Assistant Cloud", "description_login": "Logged in as {email}", "description_not_login": "Not logged in", - "description_features": "Control away from home, integrate with Alexa and Google Assistant." + "description_features": "Control away from home, integrate with Alexa and Google Assistant.", + "login": { + "title": "Cloud Login", + "introduction": "Home Assistant Cloud provides you with a secure remote connection to your instance while away from home. It also allows you to connect with cloud-only services: Amazon Alexa and Google Assistant.", + "introduction2": "This service is run by our partner ", + "introduction2a": ", a company founded by the founders of Home Assistant and Hass.io.", + "introduction3": "Home Assistant Cloud is a subscription service with a free one month trial. No payment information necessary.", + "learn_more_link": "Learn more about Home Assistant Cloud", + "dismiss": "Dismiss", + "sign_in": "Sign in", + "email": "Email", + "email_error_msg": "Invalid email", + "password": "Password", + "password_error_msg": "Passwords are at least 8 characters", + "forgot_password": "forgot password?", + "start_trial": "Start your free 1 month trial", + "trial_info": "No payment information necessary", + "alert_password_change_required": "You need to change your password before logging in.", + "alert_email_confirm_necessary": "You need to confirm your email before logging in." + }, + "forgot_password": { + "title": "Forgot password", + "subtitle": "Forgot your password", + "instructions": "Enter your email address and we will send you a link to reset your password.", + "email": "Email", + "email_error_msg": "Invalid email", + "send_reset_email": "Send reset email", + "check_your_email": "Check your email for instructions on how to reset your password." + }, + "register": { + "title": "Register Account", + "headline": "Start your free trial", + "information": "Create an account to start your free one month trial with Home Assistant Cloud. No payment information necessary.", + "information2": "The trial will give you access to all the benefits of Home Assistant Cloud, including:", + "feature_remote_control": "Control of Home Assistant away from home", + "feature_google_home": "Integration with Google Assistant", + "feature_amazon_alexa": "Integration with Amazon Alexa", + "feature_webhook_apps": "Easy integration with webhook-based apps like OwnTracks", + "information3": "This service is run by our partner ", + "information3a": ", a company founded by the founders of Home Assistant and Hass.io.", + "information4": "By registering an account you agree to the following terms and conditions.", + "link_terms_conditions": "Terms and Conditions", + "link_privacy_policy": "Privacy Policy", + "create_account": "Create Account", + "email_address": "Email address", + "email_error_msg": "Invalid email", + "password": "Password", + "password_error_msg": "Passwords are at least 8 characters", + "start_trial": "Start Trial", + "resend_confirm_email": "Resend confirmation email", + "account_created": "Account created! Check your email for instructions on how to activate your account." + }, + "account": { + "thank_you_note": "Thank you for being part of Home Assistant Cloud. It's because of people like you that we are able to make a great home automation experience for everyone. Thank you!", + "nabu_casa_account": "Nabu Casa Account", + "connection_status": "Cloud connection status", + "manage_account": "Manage Account", + "sign_out": "Sign out", + "integrations": "Integrations", + "integrations_introduction": "Integrations for Home Assistant Cloud allow you to connect with services in the cloud without having to expose your Home Assistant instance publicly on the internet.", + "integrations_introduction2": "Check the website for ", + "integrations_link_all_features": " all available features", + "connected": "Connected", + "not_connected": "Not Connected", + "fetching_subscription": "Fetching subscription…", + "remote": { + "title": "Remote Control", + "access_is_being_prepared": "Remote access is being prepared. We will notify you when it's ready.", + "info": "Home Assistant Cloud provides a secure remote connection to your instance while away from home.", + "instance_is_available": "Your instance is available at", + "instance_will_be_available": "Your instance will be available at", + "link_learn_how_it_works": "Learn how it works", + "certificate_info": "Certificate Info" + }, + "alexa": { + "title": "Alexa", + "info": "With the Alexa integration for Home Assistant Cloud you'll be able to control all your Home Assistant devices via any Alexa-enabled device.", + "enable_ha_skill": "Enable the Home Assistant skill for Alexa", + "config_documentation": "Config documentation", + "requirements": "This integration requires an Alexa-enabled device like the Amazon Echo.", + "enable_state_reporting": "Enable State Reporting", + "info_state_reporting": "If you enable state reporting, Home Assistant will send all state changes of exposed entities to Amazon. This allows you to always see the latest states in the Alexa app and use the state changes to create routines.", + "sync_entities": "Sync Entities", + "manage_entities": "Manage Entities", + "sync_entities_error": "Failed to sync entities:", + "state_reporting_error": "Unable to {enable_disable} report state.", + "enable": "enable", + "disable": "disable" + }, + "google": { + "title": "Google Assistant", + "info": "With the Google Assistant integration for Home Assistant Cloud you'll be able to control all your Home Assistant devices via any Google Assistant-enabled device.", + "enable_ha_skill": "Activate the Home Assistant skill for Google Assistant", + "config_documentation": "Config documentation", + "requirements": "This integration requires a Google Assistant-enabled device like the Google Home or Android phone.", + "enter_pin_info": "Please enter a pin to interact with security devices. Security devices are doors, garage doors and locks. You will be asked to say/enter this pin when interacting with such devices via Google Assistant.", + "devices_pin": "Secure Devices Pin", + "enter_pin_hint": "Enter a PIN to use secure devices", + "sync_entities": "Sync Entities to Google", + "manage_entities": "Manage Entities", + "enter_pin_error": "Unable to store pin:" + }, + "webhooks": { + "title": "Webhooks", + "info": "Anything that is configured to be triggered by a webhook can be given a publicly accessible URL to allow you to send data back to Home Assistant from anywhere, without exposing your instance to the internet.", + "no_hooks_yet": "Looks like you have no webhooks yet. Get started by configuring a ", + "no_hooks_yet_link_integration": "webhook-based integration", + "no_hooks_yet2": " or by creating a ", + "no_hooks_yet_link_automation": "webhook automation", + "link_learn_more": "Learn more about creating webhook-powered automations.", + "loading": "Loading ...", + "manage": "Manage", + "disable_hook_error_msg": "Failed to disable webhook:" + } + }, + "alexa": { + "title": "Alexa", + "banner": "Editing which entities are exposed via this UI is disabled because you have configured entity filters in configuration.yaml.", + "exposed_entities": "Exposed entities", + "not_exposed_entities": "Not Exposed entities", + "expose": "Expose to Alexa" + }, + "dialog_certificate": { + "certificate_information": "Certificate Information", + "certificate_expiration_date": "Certificate expiration date", + "will_be_auto_renewed": "Will be automatically renewed", + "fingerprint": "Certificate fingerprint:", + "close": "Close" + }, + "google": { + "title": "Google Assistant", + "expose": "Expose to Google Assistant", + "disable_2FA": "Disable two factor authentication", + "banner": "Editing which entities are exposed via this UI is disabled because you have configured entity filters in configuration.yaml.", + "exposed_entities": "Exposed entities", + "not_exposed_entities": "Not Exposed entities", + "sync_to_google": "Synchronizing changes to Google." + }, + "dialog_cloudhook": { + "webhook_for": "Webhook for {name}", + "available_at": "The webhook is available at the following url:", + "managed_by_integration": "This webhook is managed by an integration and cannot be disabled.", + "info_disable_webhook": "If you no longer want to use this webhook, you can", + "link_disable_webhook": "disable it", + "view_documentation": "View documentation", + "close": "Close", + "confirm_disable": "Are you sure you want to disable this webhook?", + "copied_to_clipboard": "Copied to clipboard" + } }, "devices": { "caption": "Devices",