diff --git a/src/home-assistant.html b/src/home-assistant.html index 14a5740ae7..133e80de47 100644 --- a/src/home-assistant.html +++ b/src/home-assistant.html @@ -72,6 +72,10 @@ class HomeAssistant extends Polymer.Element { type: Object, value: null, }, + language: { + type: Object, + value: null, + }, showMain: { type: Boolean, computed: 'computeShowMain(hass)', @@ -97,7 +101,7 @@ class HomeAssistant extends Polymer.Element { loadResources() { window.getTranslation().then((result) => { - this._updateHass({ + this._updateLanguage({ language: result.language, resources: result.resources, }); @@ -154,7 +158,7 @@ class HomeAssistant extends Polymer.Element { var auth = conn.options.authToken ? conn.options : {}; return window.hassCallApi(host, auth, method, path, parameters); }, - }, this.$.storage.getStoredState()); + }, this.language, this.$.storage.getStoredState()); var reconnected = () => { this._updateHass({ connected: true }); @@ -252,7 +256,7 @@ class HomeAssistant extends Polymer.Element { } selectLanguage(event) { - this._updateHass({ selectedLanguage: event.detail.language }); + this._updateLanguage({ selectedLanguage: event.detail.language }); this.$.storage.storeState(); this.loadResources(); } @@ -260,6 +264,11 @@ class HomeAssistant extends Polymer.Element { _updateHass(obj) { this.hass = Object.assign({}, this.hass, obj); } + + _updateLanguage(obj) { + this.language = Object.assign({}, this.language, obj); + if (this.hass) this._updateHass(obj); + } } customElements.define(HomeAssistant.is, HomeAssistant);