diff --git a/src/state/translations-mixin.ts b/src/state/translations-mixin.ts index 7e0ee332f2..e8fbed6413 100644 --- a/src/state/translations-mixin.ts +++ b/src/state/translations-mixin.ts @@ -126,7 +126,7 @@ export default >(superClass: T) => this._applyTranslations(this.hass!); } - protected panelUrlChanged(newPanelUrl) { + protected panelUrlChanged(newPanelUrl: string) { super.panelUrlChanged(newPanelUrl); // this may be triggered before hassConnected this._loadFragmentTranslations( @@ -339,13 +339,16 @@ export default >(superClass: T) => ...data, }, }; - const changes: Partial = { - resources, - localize: await computeLocalize(this, language, resources), - }; + + // Update resources immediately, so when a new update comes in we don't miss values + this._updateHass({ resources }); + + const localize = await computeLocalize(this, language, resources); if (language === (this.hass ?? this._pendingHass).language) { - this._updateHass(changes); + this._updateHass({ + localize, + }); } }