From d1bf86749a1d6862ff4e985bce49b4cb4124a3b0 Mon Sep 17 00:00:00 2001 From: Christoph Reiter <reiter.christoph@gmail.com> Date: Thu, 1 Jul 2021 16:53:36 +0200 Subject: [PATCH] knowledge-base-web-page-element-view: one i18next instance per element --- .../src/dbp-knowledge-base-web-page-element-view-demo.js | 7 ++++--- .../knowledge-base-web-page-element-view/src/i18n.js | 6 ++++-- .../src/knowledge-base-web-page-element-view.js | 9 ++++++--- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/knowledge-base-web-page-element-view/src/dbp-knowledge-base-web-page-element-view-demo.js b/packages/knowledge-base-web-page-element-view/src/dbp-knowledge-base-web-page-element-view-demo.js index 717b3c1c..4a739d97 100644 --- a/packages/knowledge-base-web-page-element-view/src/dbp-knowledge-base-web-page-element-view-demo.js +++ b/packages/knowledge-base-web-page-element-view/src/dbp-knowledge-base-web-page-element-view-demo.js @@ -1,4 +1,4 @@ -import {i18n} from './i18n'; +import {createInstance} from './i18n'; import {css, html} from 'lit-element'; import {ScopedElementsMixin} from '@open-wc/scoped-elements'; import {AuthKeycloak, LoginButton} from '@dbp-toolkit/auth'; @@ -10,7 +10,8 @@ import DBPLitElement from "@dbp-toolkit/common/dbp-lit-element"; export class KnowledgeBaseWebPageElementViewDemo extends ScopedElementsMixin(DBPLitElement) { constructor() { super(); - this.lang = 'de'; + this._i18n = createInstance(); + this.lang = this._i18n.language; this.entryPointUrl = ''; this.noAuth = false; } @@ -35,7 +36,7 @@ export class KnowledgeBaseWebPageElementViewDemo extends ScopedElementsMixin(DBP update(changedProperties) { changedProperties.forEach((oldValue, propName) => { if (propName === "lang") { - i18n.changeLanguage(this.lang); + this._i18n.changeLanguage(this.lang); } }); diff --git a/packages/knowledge-base-web-page-element-view/src/i18n.js b/packages/knowledge-base-web-page-element-view/src/i18n.js index 498d9f03..975c1993 100644 --- a/packages/knowledge-base-web-page-element-view/src/i18n.js +++ b/packages/knowledge-base-web-page-element-view/src/i18n.js @@ -1,6 +1,8 @@ -import {createInstance} from '@dbp-toolkit/common/i18next.js'; +import {createInstance as _createInstance} from '@dbp-toolkit/common/i18next.js'; import de from './i18n/de/translation.json'; import en from './i18n/en/translation.json'; -export const i18n = createInstance({en: en, de: de}, 'de', 'en'); \ No newline at end of file +export function createInstance() { + return _createInstance({en: en, de: de}, 'de', 'en'); +} \ No newline at end of file diff --git a/packages/knowledge-base-web-page-element-view/src/knowledge-base-web-page-element-view.js b/packages/knowledge-base-web-page-element-view/src/knowledge-base-web-page-element-view.js index 9b34f065..57234041 100644 --- a/packages/knowledge-base-web-page-element-view/src/knowledge-base-web-page-element-view.js +++ b/packages/knowledge-base-web-page-element-view/src/knowledge-base-web-page-element-view.js @@ -1,4 +1,4 @@ -import {i18n} from './i18n'; +import {createInstance} from './i18n'; import {html} from 'lit-element'; import {ScopedElementsMixin} from '@open-wc/scoped-elements'; import {MiniSpinner} from '@dbp-toolkit/common'; @@ -12,7 +12,8 @@ import {AdapterLitElement} from "@dbp-toolkit/provider/src/adapter-lit-element"; export class KnowledgeBaseWebPageElementView extends ScopedElementsMixin(AdapterLitElement) { constructor() { super(); - this.lang = 'de'; + this._i18n = createInstance(); + this.lang = this._i18n.language; this.value = ''; this.html = ''; this.entryPointUrl = ''; @@ -56,6 +57,8 @@ export class KnowledgeBaseWebPageElementView extends ScopedElementsMixin(Adapter * Loads the data from the web page element */ loadWebPageElement() { + const i18n = this._i18n; + if (this.auth.token === undefined || this.auth.token === "") { return; } @@ -107,7 +110,7 @@ export class KnowledgeBaseWebPageElementView extends ScopedElementsMixin(Adapter update(changedProperties) { changedProperties.forEach((oldValue, propName) => { if (propName === "lang") { - i18n.changeLanguage(this.lang); + this._i18n.changeLanguage(this.lang); } switch(propName) { -- GitLab