diff --git a/application/source/data/datasource/server/restapi.mjs b/application/source/data/datasource/server/restapi.mjs
index 8ec0b9195274fe4a5cc9116fab30272b737c3e1b..d4eaa2d9dc4b036263f3374ce03d3397bcf6081e 100644
--- a/application/source/data/datasource/server/restapi.mjs
+++ b/application/source/data/datasource/server/restapi.mjs
@@ -8,8 +8,6 @@
 import { internalSymbol, instanceSymbol } from "../../../constants.mjs";
 import { isObject } from "../../../types/is.mjs";
 import { Server } from "../server.mjs";
-import { Pathfinder } from "../../pathfinder.mjs";
-import { Pipe } from "../../pipe.mjs";
 import { WriteError } from "./restapi/writeerror.mjs";
 
 export { RestAPI };
diff --git a/application/source/data/transformer.mjs b/application/source/data/transformer.mjs
index dad571f2c961e371631f6d9df8f700ee2968205e..13862305d646be6f0ec77ccce6250c7cad0bb81e 100644
--- a/application/source/data/transformer.mjs
+++ b/application/source/data/transformer.mjs
@@ -5,10 +5,10 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-import { Base } from "../types/base.mjs";
-import { getGlobal, getGlobalObject } from "../types/global.mjs";
-import { ID } from "../types/id.mjs";
-import { isArray, isObject, isString } from "../types/is.mjs";
+import {Base} from "../types/base.mjs";
+import {getGlobal, getGlobalObject} from "../types/global.mjs";
+import {ID} from "../types/id.mjs";
+import {isArray, isObject, isString} from "../types/is.mjs";
 import {
     validateFunction,
     validateInteger,
@@ -16,10 +16,10 @@ import {
     validatePrimitive,
     validateString,
 } from "../types/validate.mjs";
-import { clone } from "../util/clone.mjs";
-import { Pathfinder } from "./pathfinder.mjs";
+import {clone} from "../util/clone.mjs";
+import {Pathfinder} from "./pathfinder.mjs";
 
-export { Transformer };
+export {Transformer};
 
 /**
  * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.
diff --git a/application/source/i18n/provider.mjs b/application/source/i18n/provider.mjs
index 8e0fab5ea20ce340df99ba03cd1aa02fe789afac..007511fb0a7fd47ed317bc9dada47a75ee69857c 100644
--- a/application/source/i18n/provider.mjs
+++ b/application/source/i18n/provider.mjs
@@ -5,9 +5,11 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-import { BaseWithOptions } from "../types/basewithoptions.mjs";
-import { Locale } from "./locale.mjs";
-import { Translations } from "./translations.mjs";
+import {hasObjectLink, getLinkedObjects,addToObjectLink} from "../dom/attributes.mjs";
+import {getLocaleOfDocument} from "../dom/locale.mjs";
+import {BaseWithOptions} from "../types/basewithoptions.mjs";
+import {Locale} from "./locale.mjs";
+import {Translations} from "./translations.mjs";
 
 export { Provider };
 
diff --git a/application/source/i18n/providers/embed.mjs b/application/source/i18n/providers/embed.mjs
index 1aa8c9acd67448ed2b8c1dd2ddbe4e86d08e4785..6fb5a4757e2be1110e07fee36f31aea2f2996102 100644
--- a/application/source/i18n/providers/embed.mjs
+++ b/application/source/i18n/providers/embed.mjs
@@ -5,16 +5,16 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-import { internalSymbol } from "../../constants.mjs";
-import { extend } from "../../data/extend.mjs";
-import { getGlobalObject } from "../../types/global.mjs";
-import { isString } from "../../types/is.mjs";
-import { validateObject, validateString } from "../../types/validate.mjs";
-import { parseLocale } from "../locale.mjs";
-import { Provider } from "../provider.mjs";
-import { Translations } from "../translations.mjs";
+import {internalSymbol} from "../../constants.mjs";
+import {extend} from "../../data/extend.mjs";
+import {getDocument} from "../../dom/util.mjs";
+import {isString} from "../../types/is.mjs";
+import {validateObject, validateString} from "../../types/validate.mjs";
+import {parseLocale} from "../locale.mjs";
+import {Provider} from "../provider.mjs";
+import {Translations} from "../translations.mjs";
 
-export { Embed };
+export {Embed};
 
 /**
  * The Embed provider retrieves a JSON file from the given Script Tag.
diff --git a/application/source/i18n/translations.mjs b/application/source/i18n/translations.mjs
index 34908302dc838583c6a312be4645f9111d533aef..ef1addda5d3f7a4167cf6b96c27fc24f3547ffb7 100644
--- a/application/source/i18n/translations.mjs
+++ b/application/source/i18n/translations.mjs
@@ -5,12 +5,16 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-import { Base } from "../types/base.mjs";
-import { isObject, isString } from "../types/is.mjs";
-import { validateInstance, validateInteger, validateObject, validateString } from "../types/validate.mjs";
-import { Locale, parseLocale } from "./locale.mjs";
+import { getLinkedObjects,hasObjectLink} from "../dom/attributes.mjs";
+import {getDocument} from "../dom/util.mjs";
+import {Base} from "../types/base.mjs";
+import {isObject, isString} from "../types/is.mjs";
+import {validateInteger, validateObject, validateString} from "../types/validate.mjs";
+import {Locale, parseLocale} from "./locale.mjs";
+import {translationsLinkSymbol} from "./provider.mjs";
 
-export { Translations };
+
+export {Translations, getDocumentTranslations};
 
 /**
  * With this class you can manage translations and access the keys.