From f5f2ebc05c3165efe95aac575abb27094e61833c Mon Sep 17 00:00:00 2001 From: Christoph Reiter <reiter.christoph@gmail.com> Date: Thu, 1 Jul 2021 17:37:34 +0200 Subject: [PATCH] typescript-example: one i18next instance per element --- packages/typescript-example/src/i18n.ts | 6 +++-- .../src/typescript-example.ts | 24 +++++++++---------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/packages/typescript-example/src/i18n.ts b/packages/typescript-example/src/i18n.ts index 498d9f03..975c1993 100644 --- a/packages/typescript-example/src/i18n.ts +++ b/packages/typescript-example/src/i18n.ts @@ -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/typescript-example/src/typescript-example.ts b/packages/typescript-example/src/typescript-example.ts index 60fe3c8c..a7c6503a 100644 --- a/packages/typescript-example/src/typescript-example.ts +++ b/packages/typescript-example/src/typescript-example.ts @@ -1,5 +1,5 @@ -import {html,LitElement,property} from 'lit-element'; -import {i18n} from './i18n'; +import {html,LitElement} from 'lit-element'; +import {createInstance} from './i18n'; export class TypeScriptExample extends LitElement { @@ -8,20 +8,20 @@ export class TypeScriptExample extends LitElement { constructor() { super(); - this._i18n = i18n.cloneInstance(); + this._i18n = createInstance(); + this.lang = this._i18n.language; } - @property({type: String}) - lang = ''; + static get properties() { + return { + lang: {type: String} + }; + } update(changedProperties) { - changedProperties.forEach((oldValue, propName) => { - switch (propName) { - case "lang": - this._i18n.changeLanguage(this.lang); - break; - } - }); + if (changedProperties.has("lang")) { + this._i18n.changeLanguage(this.lang); + } super.update(changedProperties); } -- GitLab