diff --git a/src/home-assistant.html b/src/home-assistant.html index 4e3f1a1299..ba5b10447b 100644 --- a/src/home-assistant.html +++ b/src/home-assistant.html @@ -79,6 +79,10 @@ class HomeAssistant extends Polymer.Element { type: Boolean, value: false, }, + language: { + type: Object, + value: null, + }, showMain: { type: Boolean, computed: 'computeShowMain(hass, iconsLoaded)', @@ -121,7 +125,7 @@ class HomeAssistant extends Polymer.Element { loadResources() { window.getTranslation().then((result) => { - this._updateHass({ + this._updateLanguage({ language: result.language, resources: result.resources, }); @@ -178,7 +182,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 }); @@ -276,7 +280,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(); } @@ -284,6 +288,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);