From 3d2073c77b60f2a7754a5b786d8a54a71791af3e Mon Sep 17 00:00:00 2001 From: Manuel Kocher <manuel.kocher@tugraz.at> Date: Thu, 6 Oct 2022 10:19:53 +0200 Subject: [PATCH] Add all object namespaces to each i18n translation override instance --- packages/common/i18next.js | 2 +- packages/common/src/translation.js | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/common/i18next.js b/packages/common/i18next.js index 47205cd7..84f285c9 100644 --- a/packages/common/i18next.js +++ b/packages/common/i18next.js @@ -183,7 +183,7 @@ export async function setOverridesByGlobalCache(i18n, element) { translationCache[lng] = await translationCache[lng]; i18n.removeResourceBundle(lng, overrideNamespace); if (translationCache[lng] === undefined || translationCache[lng][tagName] === undefined) continue; - let resources = translationCache[lng][tagName]; + let resources = translationCache[lng]; hasOverrides = true; i18n.addResourceBundle(lng, overrideNamespace, resources); } catch(e) { diff --git a/packages/common/src/translation.js b/packages/common/src/translation.js index ef9f67c2..9a47a434 100644 --- a/packages/common/src/translation.js +++ b/packages/common/src/translation.js @@ -43,11 +43,6 @@ export class Translation extends DBPLitElement { // get overrides everytime setOverridesByGlobalCache(this._i18n, this); - // use translation overrides if path is given - //if(this.langDir != '') { - // setOverridesByGlobalCache(this._i18n, this); - //} - // supercall after default i18n init to override translations only // if a override with this tagname is given super.connectedCallback(); @@ -55,11 +50,15 @@ export class Translation extends DBPLitElement { update(changedProperties) { let lang = this.lang; + let tagName = ((this.dataset && this.dataset.tagName) || this.tagName).toLowerCase(); changedProperties.forEach((oldValue, propName) => { switch (propName) { case 'lang': this._i18n.changeLanguage(lang); break; + case 'key': + this.key = tagName + "." + this.key; + break; } }); -- GitLab