mirror of
				https://github.com/Frooodle/Stirling-PDF.git
				synced 2025-11-01 01:21:18 +01:00 
			
		
		
		
	Additional decryption translations
This commit is contained in:
		
							parent
							
								
									f2c9549ba1
								
							
						
					
					
						commit
						6ee6254f5a
					
				@ -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 <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
 | 
			
		||||
 | 
			
		||||
@ -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 {
 | 
			
		||||
 | 
			
		||||
@ -203,7 +203,19 @@
 | 
			
		||||
                </script>
 | 
			
		||||
                <script type="module" th:src="@{'/pdfjs-legacy/pdf.mjs'}"></script>
 | 
			
		||||
                <script th:src="@{'/js/downloader.js'}"></script>
 | 
			
		||||
 | 
			
		||||
                <script>
 | 
			
		||||
                  window.translations = {
 | 
			
		||||
                  decrypt: {
 | 
			
		||||
                    passwordPrompt: '[[#{decrypt.passwordPrompt}]]',
 | 
			
		||||
                    cancelled: '[[#{decrypt.cancelled}]]',
 | 
			
		||||
                    noPassword: '[[#{decrypt.noPassword}]]',
 | 
			
		||||
                    invalidPassword: '[[#{decrypt.invalidPassword}]]',
 | 
			
		||||
                    invalidPasswordHeader: '[[#{decrypt.invalidPasswordHeader}]]',
 | 
			
		||||
                    unexpectedError: '[[#{decrypt.unexpectedError}]]',
 | 
			
		||||
                    serverError: '[[#{decrypt.serverError}]]',
 | 
			
		||||
                    success: '[[#{decrypt.success}]]',
 | 
			
		||||
                  }
 | 
			
		||||
              };</script>
 | 
			
		||||
                <div class="custom-file-chooser mb-3" th:attr="data-bs-unique-id=${name}, data-bs-element-id=${name+'-input'}, data-bs-element-container-id=${name+'-input-container'}, data-bs-files-selected=#{filesSelected}, data-bs-pdf-prompt=#{pdfPrompt}">
 | 
			
		||||
                  <div class="mb-3 d-flex flex-row justify-content-center align-items-center flex-wrap input-container" th:name="${name}+'-input'" th:id="${name}+'-input-container'" th:data-text="#{fileChooser.hoveredDragAndDrop}">
 | 
			
		||||
                      <label class="file-input-btn d-none">
 | 
			
		||||
 | 
			
		||||
@ -163,14 +163,14 @@
 | 
			
		||||
        dragDropMessage:'[[#{multiTool.dragDropMessage}]]',
 | 
			
		||||
        undo: '[[#{multiTool.undo}]]',
 | 
			
		||||
        redo: '[[#{multiTool.redo}]]',
 | 
			
		||||
        passwordPrompt: '[[#{multiTool.decrypt.passwordPrompt}]]',
 | 
			
		||||
  cancelled: '[[#{multiTool.decrypt.cancelled}]]',
 | 
			
		||||
  noPassword: '[[#{multiTool.decrypt.noPassword}]]',
 | 
			
		||||
  invalidPassword: '[[#{multiTool.decrypt.invalidPassword}]]',
 | 
			
		||||
  invalidPasswordHeader: '[[#{multiTool.decrypt.invalidPasswordHeader}]]',
 | 
			
		||||
  unexpectedError: '[[#{multiTool.decrypt.unexpectedError}]]',
 | 
			
		||||
  serverError: '[[#{multiTool.decrypt.serverError}]]',
 | 
			
		||||
  success: '[[#{multiTool.decrypt.success}]]',
 | 
			
		||||
        passwordPrompt: '[[#{decrypt.passwordPrompt}]]',
 | 
			
		||||
        cancelled: '[[#{decrypt.cancelled}]]',
 | 
			
		||||
        noPassword: '[[#{decrypt.noPassword}]]',
 | 
			
		||||
        invalidPassword: '[[#{decrypt.invalidPassword}]]',
 | 
			
		||||
        invalidPasswordHeader: '[[#{decrypt.invalidPasswordHeader}]]',
 | 
			
		||||
        unexpectedError: '[[#{decrypt.unexpectedError}]]',
 | 
			
		||||
        serverError: '[[#{decrypt.serverError}]]',
 | 
			
		||||
        success: '[[#{decrypt.success}]]',
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user