From dc3c70ea10ee2adeccd8e64bc76c1371ca87c677 Mon Sep 17 00:00:00 2001 From: Manuel Kocher <manuel.kocher@tugraz.at> Date: Mon, 11 Jul 2022 11:27:32 +0200 Subject: [PATCH] Add i18n instance and translation overrides support to adapter-lit-element --- packages/common/src/adapter-lit-element.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/common/src/adapter-lit-element.js b/packages/common/src/adapter-lit-element.js index 726c4fcc..5ef33645 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'}, }; } -- GitLab