diff --git a/index.html b/index.html
index d2d96d29..dba25520 100644
--- a/index.html
+++ b/index.html
@@ -49,7 +49,6 @@
-
diff --git a/js/main.js b/js/main.js
index 8cf9e205..a13e11b4 100644
--- a/js/main.js
+++ b/js/main.js
@@ -2,6 +2,8 @@
// eslint-disable-next-line import-x/extensions
import { loadModules } from "./loader.js";
+// eslint-disable-next-line import-x/extensions
+import { Translator } from "./translator.js";
let modules = [];
@@ -571,7 +573,7 @@ export const MM = {
Log.setLogLevel(config.logLevel);
- await globalThis.Translator.loadCoreTranslations(config.language);
+ await Translator.loadCoreTranslations(config.language);
await loadModules();
},
diff --git a/js/module.js b/js/module.js
index 756e0c77..e853a386 100644
--- a/js/module.js
+++ b/js/module.js
@@ -4,6 +4,8 @@
import { loadFileForModule } from "./loader.js";
// eslint-disable-next-line import-x/extensions
import { MMSocket } from "./socketclient.js";
+// eslint-disable-next-line import-x/extensions
+import { Translator } from "./translator.js";
/*
* Module Blueprint.
diff --git a/js/translator.js b/js/translator.js
index 05338e1e..38d3787b 100644
--- a/js/translator.js
+++ b/js/translator.js
@@ -1,6 +1,6 @@
/* global translations */
-const Translator = (function () {
+export const Translator = (function () {
/**
* Load a JSON file via fetch.
@@ -125,5 +125,3 @@ const Translator = (function () {
}
};
}());
-
-window.Translator = Translator;
diff --git a/tests/e2e/translations_spec.js b/tests/e2e/translations_spec.js
index ee275ae7..93d9a477 100644
--- a/tests/e2e/translations_spec.js
+++ b/tests/e2e/translations_spec.js
@@ -2,27 +2,23 @@ const fs = require("node:fs");
const path = require("node:path");
const { pathToFileURL } = require("node:url");
const helmet = require("helmet");
-const { JSDOM } = require("jsdom");
const express = require("express");
const translations = require("../../translations/translations");
+const {
+ setupTranslationTestEnvironment,
+ TRANSLATOR_MODULE_URL,
+ resetTranslatorState
+} = require("../utils/translation_test_environment");
/**
- * Helper function to create a fresh Translator instance with DOM environment.
- * @returns {object} Object containing window and Translator
+ * Create a fresh Translator state for each test.
+ * @returns {Promise