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;
             }
         });