diff --git a/packages/common/i18next.js b/packages/common/i18next.js index 47205cd7f2eeb2d3eb6799f8f8a91e9800d7cde5..84f285c9df9d07c311965dbbcfe052b8d4e29fcc 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 ef9f67c22fb3611141f3b95e256cd79a47ea8db0..9a47a4340dc3bc90fe617f3ff4cd489d38653dfb 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; } });