diff --git a/src/main/resources/messages_en_GB.properties b/src/main/resources/messages_en_GB.properties index c5e42bff5..13accc475 100644 --- a/src/main/resources/messages_en_GB.properties +++ b/src/main/resources/messages_en_GB.properties @@ -965,15 +965,15 @@ multiTool.dragDropMessage=Page(s) Selected multiTool.undo=Undo multiTool.redo=Redo -#multiTool-decrypt -multiTool.decrypt.passwordPrompt=This file is password-protected. Please enter the password: -multiTool.decrypt.cancelled=Operation cancelled for PDF: {0} -multiTool.decrypt.noPassword=No password provided for encrypted PDF: {0} -multiTool.decrypt.invalidPassword=Please try again with the correct password. -multiTool.decrypt.invalidPasswordHeader=Incorrect password for PDF: {0} -multiTool.decrypt.unexpectedError=There was an error processing the file. Please try again. -multiTool.decrypt.serverError=Server error while decrypting: {0} -multiTool.decrypt.success=File decrypted successfully. +#decrypt +decrypt.passwordPrompt=This file is password-protected. Please enter the password: +decrypt.cancelled=Operation cancelled for PDF: {0} +decrypt.noPassword=No password provided for encrypted PDF: {0} +decrypt.invalidPassword=Please try again with the correct password. +decrypt.invalidPasswordHeader=Incorrect password or unsupported encryption for PDF: {0} +decrypt.unexpectedError=There was an error processing the file. Please try again. +decrypt.serverError=Server error while decrypting: {0} +decrypt.success=File decrypted successfully. #multiTool-advert multiTool-advert.message=This feature is also available in our multi-tool page. Check it out for enhanced page-by-page UI and additional features! diff --git a/src/main/resources/static/js/downloader.js b/src/main/resources/static/js/downloader.js index c651620e9..f89c28ec3 100644 --- a/src/main/resources/static/js/downloader.js +++ b/src/main/resources/static/js/downloader.js @@ -71,9 +71,6 @@ }, 5000); try { - submitButton.textContent = 'Processing...'; - submitButton.disabled = true; - if (!url.includes('remove-password')) { // Check if any PDF files are encrypted and handle decryption if necessary const decryptedFiles = await checkAndDecryptFiles(url, files); @@ -84,6 +81,9 @@ }); } + submitButton.textContent = 'Processing...'; + submitButton.disabled = true; + if (remoteCall === true) { if (override === 'multi' || (!multipleInputsForSingleRequest && files.length > 1 && override !== 'single')) { await submitMultiPdfForm(url, files); @@ -181,11 +181,14 @@ if (error.name === 'PasswordException' && error.code === 1) { console.log(`PDF requires password: ${file.name}`, error); console.log(`Attempting to remove password from PDF: ${file.name} with password.`); - const password = prompt(`This PDF (${file.name}) is encrypted. Please enter the password:`); + const password = prompt(`${window.translations.decrypt.passwordPrompt}`); if (!password) { console.error(`No password provided for encrypted PDF: ${file.name}`); - showErrorBanner(`No password provided for encrypted PDF: ${file.name}`, 'Please enter a valid password.'); + showErrorBanner( + `${window.translations.decrypt.noPassword.replace('{0}', file.name)}`, + `${window.translations.decrypt.unexpectedError}` + ); throw error; } @@ -217,7 +220,10 @@ } } catch (decryptError) { console.error(`Failed to decrypt PDF: ${file.name}`, decryptError); - showErrorBanner(`Failed to decrypt PDF: ${file.name}`, 'Incorrect password or unsupported encryption.'); + showErrorBanner( + `${window.translations.invalidPasswordHeader.replace('{0}', file.name)}`, + `${window.translations.invalidPassword}` + ); throw decryptError; } } else { diff --git a/src/main/resources/templates/fragments/common.html b/src/main/resources/templates/fragments/common.html index f372d1dd5..04a91a8dd 100644 --- a/src/main/resources/templates/fragments/common.html +++ b/src/main/resources/templates/fragments/common.html @@ -203,7 +203,19 @@ - +