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);