diff --git a/Build/Sources/TypeScript/impexp/import-export.ts b/Build/Sources/TypeScript/impexp/import-export.ts
index 7885064b26dba22c684e78b3d9068fc0f7f05a40..9fa69a0f94e482077947cb9c3b5cd2a58a1e4c25 100644
--- a/Build/Sources/TypeScript/impexp/import-export.ts
+++ b/Build/Sources/TypeScript/impexp/import-export.ts
@@ -11,8 +11,9 @@
  * The TYPO3 project - inspiring people to share!
  */
 
-import $ from 'jquery';
 import Modal from '@typo3/backend/modal';
+import RegularEvent from '@typo3/core/event/regular-event';
+import DocumentService from '@typo3/core/document-service';
 
 /**
  * Module: @typo3/impexp/import-export
@@ -21,29 +22,40 @@ import Modal from '@typo3/backend/modal';
  */
 class ImportExport {
   constructor() {
-    $((): void => {
-      $(document).on('click', '.t3js-confirm-trigger', (e: JQueryEventObject): void => {
-        const $button = $(e.currentTarget);
-        Modal.confirm($button.data('title'), $button.data('message'))
-          .on('confirm.button.ok', (): void => {
-            $('#t3js-submit-field')
-              .attr('name', $button.attr('name'))
-              .closest('form').trigger('submit');
-            Modal.currentModal.trigger('modal-dismiss');
-          })
-          .on('confirm.button.cancel', (): void => {
-            Modal.currentModal.trigger('modal-dismiss');
-          });
+    DocumentService.ready().then((): void => this.registerEvents());
+  }
+
+  private registerEvents(): void {
+    new RegularEvent('click', this.triggerConfirmation).delegateTo(document, '.t3js-confirm-trigger');
+
+    const toggleDisabledControl = document.querySelector('.t3js-impexp-toggledisabled');
+    if (toggleDisabledControl !== null) {
+      new RegularEvent('click', this.toggleDisabled).bindTo(toggleDisabledControl);
+    }
+  }
+
+  private triggerConfirmation(this: HTMLButtonElement): void {
+    Modal.confirm(this.dataset.title, this.dataset.message)
+      .on('confirm.button.ok', (): void => {
+        const submitTrigger: HTMLInputElement = document.getElementById('t3js-submit-field') as HTMLInputElement;
+        submitTrigger.name = this.name;
+        submitTrigger.closest('form').submit();
+
+        Modal.currentModal.trigger('modal-dismiss');
+      })
+      .on('confirm.button.cancel', (): void => {
+        Modal.currentModal.trigger('modal-dismiss');
       });
+  }
 
-      $('.t3js-impexp-toggledisabled').on('click', (): void => {
-        const $checkboxes = $('table.t3js-impexp-preview tr[data-active="hidden"] input.t3js-exclude-checkbox');
-        if ($checkboxes.length) {
-          const $firstCheckbox = $checkboxes.get(0) as HTMLInputElement;
-          $checkboxes.prop('checked', !$firstCheckbox.checked);
-        }
+  private toggleDisabled() {
+    const checkboxes: NodeListOf<HTMLInputElement> = document.querySelectorAll('table.t3js-impexp-preview tr[data-active="hidden"] input.t3js-exclude-checkbox');
+    if (checkboxes.length > 0) {
+      const firstCheckbox = checkboxes.item(0);
+      checkboxes.forEach((element: HTMLInputElement): void => {
+        element.checked = !firstCheckbox.checked;
       });
-    });
+    }
   }
 }
 
diff --git a/Build/Sources/TypeScript/info/translation-status.ts b/Build/Sources/TypeScript/info/translation-status.ts
index b4adc414b404fc0ae955b028ed6e0551d56f367f..aa8ba39ab101ea20694251dcdfad29f8af74fd5e 100644
--- a/Build/Sources/TypeScript/info/translation-status.ts
+++ b/Build/Sources/TypeScript/info/translation-status.ts
@@ -11,7 +11,7 @@
  * The TYPO3 project - inspiring people to share!
  */
 
-import $ from 'jquery';
+import RegularEvent from '@typo3/core/event/regular-event';
 
 /**
  * Module: @typo3/info/translation-status
@@ -22,25 +22,19 @@ class TranslationStatus {
   }
 
   private registerEvents(): void {
-    $('input[type="checkbox"][data-lang]').on('change', this.toggleNewButton);
+    new RegularEvent('click', this.toggleNewButton).delegateTo(document, 'input[type="checkbox"][data-lang]');
   }
 
-  /**
-   * @param {JQueryEventObject} e
-   */
-  private toggleNewButton(e: JQueryEventObject): void {
-    const $me = $(e.currentTarget);
-    const languageId = parseInt($me.data('lang'), 10);
-    const $newButton = $('.t3js-language-new-' + languageId);
-    const $selected = $('input[type="checkbox"][data-lang="' + languageId + '"]:checked');
-
-    const additionalArguments: string[] = [];
-    $selected.each((index: number, element: Element): void => {
-      additionalArguments.push('cmd[pages][' + (<HTMLInputElement>element).dataset.uid + '][localize]=' + languageId);
+  private toggleNewButton(this: HTMLInputElement): void {
+    const relatedCreationButton = document.querySelector(`.t3js-language-new[data-lang="${this.dataset.lang}"]`) as HTMLAnchorElement;
+    const selectedButtons = document.querySelectorAll(`input[type="checkbox"][data-lang="${this.dataset.lang}"]:checked`);
+    const actionUrl = new URL(location.origin + relatedCreationButton.dataset.editUrl);
+    selectedButtons.forEach((element: HTMLInputElement): void => {
+      actionUrl.searchParams.set(`cmd[pages][${element.dataset.uid}][localize]`, this.dataset.lang);
     });
-    const updatedHref = $newButton.data('editUrl') + '&' + additionalArguments.join('&');
-    $newButton.attr('href', updatedHref);
-    $newButton.toggleClass('disabled', $selected.length === 0);
+
+    relatedCreationButton.href = actionUrl.toString();
+    relatedCreationButton.classList.toggle('disabled', selectedButtons.length === 0);
   }
 }
 
diff --git a/typo3/sysext/impexp/Resources/Public/JavaScript/import-export.js b/typo3/sysext/impexp/Resources/Public/JavaScript/import-export.js
index b69d36d98ca4afc9c68ada2f7f1a66fa611f1dd7..1e308510078b34877908b71c76eb3d05d39f759b 100644
--- a/typo3/sysext/impexp/Resources/Public/JavaScript/import-export.js
+++ b/typo3/sysext/impexp/Resources/Public/JavaScript/import-export.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-import $ from"jquery";import Modal from"@typo3/backend/modal.js";class ImportExport{constructor(){$((()=>{$(document).on("click",".t3js-confirm-trigger",(t=>{const o=$(t.currentTarget);Modal.confirm(o.data("title"),o.data("message")).on("confirm.button.ok",(()=>{$("#t3js-submit-field").attr("name",o.attr("name")).closest("form").trigger("submit"),Modal.currentModal.trigger("modal-dismiss")})).on("confirm.button.cancel",(()=>{Modal.currentModal.trigger("modal-dismiss")}))})),$(".t3js-impexp-toggledisabled").on("click",(()=>{const t=$('table.t3js-impexp-preview tr[data-active="hidden"] input.t3js-exclude-checkbox');if(t.length){const o=t.get(0);t.prop("checked",!o.checked)}}))}))}}export default new ImportExport;
\ No newline at end of file
+import Modal from"@typo3/backend/modal.js";import RegularEvent from"@typo3/core/event/regular-event.js";import DocumentService from"@typo3/core/document-service.js";class ImportExport{constructor(){DocumentService.ready().then((()=>this.registerEvents()))}registerEvents(){new RegularEvent("click",this.triggerConfirmation).delegateTo(document,".t3js-confirm-trigger");const e=document.querySelector(".t3js-impexp-toggledisabled");null!==e&&new RegularEvent("click",this.toggleDisabled).bindTo(e)}triggerConfirmation(){Modal.confirm(this.dataset.title,this.dataset.message).on("confirm.button.ok",(()=>{const e=document.getElementById("t3js-submit-field");e.name=this.name,e.closest("form").submit(),Modal.currentModal.trigger("modal-dismiss")})).on("confirm.button.cancel",(()=>{Modal.currentModal.trigger("modal-dismiss")}))}toggleDisabled(){const e=document.querySelectorAll('table.t3js-impexp-preview tr[data-active="hidden"] input.t3js-exclude-checkbox');if(e.length>0){const t=e.item(0);e.forEach((e=>{e.checked=!t.checked}))}}}export default new ImportExport;
\ No newline at end of file
diff --git a/typo3/sysext/info/Classes/Controller/TranslationStatusController.php b/typo3/sysext/info/Classes/Controller/TranslationStatusController.php
index 8f524b1932aad8979d36748d0aa900f8298f27dd..3392a0aa33ccc3433cd0f9330d336b9f1a561341 100644
--- a/typo3/sysext/info/Classes/Controller/TranslationStatusController.php
+++ b/typo3/sysext/info/Classes/Controller/TranslationStatusController.php
@@ -326,7 +326,7 @@ class TranslationStatusController extends InfoModuleController
                 $createLink = (string)$this->uriBuilder->buildUriFromRoute('tce_db', [
                     'redirect' => $request->getAttribute('normalizedParams')->getRequestUri(),
                 ]);
-                $newButton = '<a href="' . htmlspecialchars($createLink) . '" data-edit-url="' . htmlspecialchars($createLink) . '" class="btn btn-default disabled t3js-language-new-' . $languageId . '" title="' . $lang->sL(
+                $newButton = '<a href="' . htmlspecialchars($createLink) . '" data-edit-url="' . htmlspecialchars($createLink) . '" class="btn btn-default disabled t3js-language-new" data-lang="' . $languageId . '" title="' . $lang->sL(
                     'LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:lang_getlangsta_createNewTranslationHeaders'
                 ) . '">' . $this->iconFactory->getIcon('actions-document-new', Icon::SIZE_SMALL)->render() . '</a>';
 
diff --git a/typo3/sysext/info/Resources/Public/JavaScript/translation-status.js b/typo3/sysext/info/Resources/Public/JavaScript/translation-status.js
index 0cae51d18991feab60483c4a7b455375e5554b69..10c4762da6093c74c9747c44106d5e2cf7d2aee1 100644
--- a/typo3/sysext/info/Resources/Public/JavaScript/translation-status.js
+++ b/typo3/sysext/info/Resources/Public/JavaScript/translation-status.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-import $ from"jquery";class TranslationStatus{constructor(){this.registerEvents()}registerEvents(){$('input[type="checkbox"][data-lang]').on("change",this.toggleNewButton)}toggleNewButton(t){const e=$(t.currentTarget),a=parseInt(e.data("lang"),10),n=$(".t3js-language-new-"+a),s=$('input[type="checkbox"][data-lang="'+a+'"]:checked'),o=[];s.each(((t,e)=>{o.push("cmd[pages]["+e.dataset.uid+"][localize]="+a)}));const r=n.data("editUrl")+"&"+o.join("&");n.attr("href",r),n.toggleClass("disabled",0===s.length)}}export default new TranslationStatus;
\ No newline at end of file
+import RegularEvent from"@typo3/core/event/regular-event.js";class TranslationStatus{constructor(){this.registerEvents()}registerEvents(){new RegularEvent("click",this.toggleNewButton).delegateTo(document,'input[type="checkbox"][data-lang]')}toggleNewButton(){const t=document.querySelector(`.t3js-language-new[data-lang="${this.dataset.lang}"]`),e=document.querySelectorAll(`input[type="checkbox"][data-lang="${this.dataset.lang}"]:checked`),a=new URL(location.origin+t.dataset.editUrl);e.forEach((t=>{a.searchParams.set(`cmd[pages][${t.dataset.uid}][localize]`,this.dataset.lang)})),t.href=a.toString(),t.classList.toggle("disabled",0===e.length)}}export default new TranslationStatus;
\ No newline at end of file