diff --git a/packages/common/src/adapter-lit-element.js b/packages/common/src/adapter-lit-element.js index 726c4fcc8b8402d1d0b458a2b0887ded2a9da9b6..5ef33645c24100cf3b0629023520e5d90ff0ce67 100644 --- a/packages/common/src/adapter-lit-element.js +++ b/packages/common/src/adapter-lit-element.js @@ -1,5 +1,6 @@ import {LitElement} from 'lit'; import {Logger} from './logger'; +import {createInstance, setOverridesByGlobalCache} from './i18n.js'; export class AdapterLitElement extends LitElement { constructor() { @@ -14,6 +15,10 @@ export class AdapterLitElement extends LitElement { this.subscribe = ''; this.unsubscribe = ''; + // dir and i18next instance of translation overrides + this._i18n = createInstance(); + this.langDir = ''; + this.callbackStore = []; // Previously we used direct properties like this["lang"] (instead of this.propertyStore["lang"]) for storing the @@ -79,6 +84,11 @@ export class AdapterLitElement extends LitElement { this.connected = true; + // use translation overrides if path is given + if(this.langDir) { + setOverridesByGlobalCache(this._i18n, this); + } + const that = this; this.addEventListener( @@ -325,6 +335,7 @@ export class AdapterLitElement extends LitElement { subscribe: {type: String}, unsubscribe: {type: String}, providerRoot: {type: Boolean, attribute: 'provider-root'}, + langDir: {type: String, attribute: 'lang-dir'}, }; }