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