Localise filenames

This commit is contained in:
James 2025-08-07 09:00:14 +01:00
parent 201f6cb6ab
commit 8c4a646fe3
4 changed files with 12 additions and 8 deletions

View File

@ -1755,6 +1755,7 @@
"completed": "Sanitisation completed successfully", "completed": "Sanitisation completed successfully",
"error": "Sanitisation failed: {{error}}", "error": "Sanitisation failed: {{error}}",
"error.generic": "Sanitisation failed", "error.generic": "Sanitisation failed",
"filenamePrefix": "sanitised",
"steps": { "steps": {
"files": "Files", "files": "Files",
"settings": "Settings", "settings": "Settings",

View File

@ -1624,6 +1624,7 @@
"completed": "Sanitization completed successfully", "completed": "Sanitization completed successfully",
"error": "Sanitization failed: {{error}}", "error": "Sanitization failed: {{error}}",
"error.generic": "Sanitization failed", "error.generic": "Sanitization failed",
"filenamePrefix": "sanitized",
"steps": { "steps": {
"files": "Files", "files": "Files",
"settings": "Settings", "settings": "Settings",

View File

@ -108,11 +108,12 @@ export const useSanitizeOperation = () => {
const url = window.URL.createObjectURL(results[0]); const url = window.URL.createObjectURL(results[0]);
setDownloadUrl(url); setDownloadUrl(url);
} else { } else {
const { zipFile } = await zipFileService.createZipFromFiles(results, 'sanitized_files.zip'); const zipFilename = `${t('sanitize.filenamePrefix', 'sanitized')}_files.zip`;
const { zipFile } = await zipFileService.createZipFromFiles(results, zipFilename);
const url = window.URL.createObjectURL(zipFile); const url = window.URL.createObjectURL(zipFile);
setDownloadUrl(url); setDownloadUrl(url);
} }
}, []); }, [t]);
const generateThumbnailsForResults = useCallback(async (results: File[]): Promise<void> => { const generateThumbnailsForResults = useCallback(async (results: File[]): Promise<void> => {
const thumbnails = await Promise.all( const thumbnails = await Promise.all(

View File

@ -17,13 +17,14 @@ import { useSanitizeOperation } from "../hooks/tools/sanitize/useSanitizeOperati
import { BaseToolProps } from "../types/tool"; import { BaseToolProps } from "../types/tool";
import { useFileContext } from "../contexts/FileContext"; import { useFileContext } from "../contexts/FileContext";
const generateSanitizedFileName = (originalFileName?: string): string => {
const baseName = originalFileName?.replace(/\.[^/.]+$/, '') || 'document';
return `sanitized_${baseName}.pdf`;
};
const Sanitize = ({ onPreviewFile, onComplete, onError }: BaseToolProps) => { const Sanitize = ({ onPreviewFile, onComplete, onError }: BaseToolProps) => {
const { t } = useTranslation(); const { t } = useTranslation();
const generateSanitizedFileName = (originalFileName?: string): string => {
const baseName = originalFileName?.replace(/\.[^/.]+$/, '') || 'document';
const prefix = t('sanitize.filenamePrefix', 'sanitized');
return `${prefix}_${baseName}.pdf`;
};
const { selectedFiles } = useToolFileSelection(); const { selectedFiles } = useToolFileSelection();
const { setCurrentMode } = useFileContext(); const { setCurrentMode } = useFileContext();
@ -141,7 +142,7 @@ const Sanitize = ({ onPreviewFile, onComplete, onError }: BaseToolProps) => {
href={sanitizeOperation.downloadUrl} href={sanitizeOperation.downloadUrl}
download={sanitizeOperation.files.length === 1 download={sanitizeOperation.files.length === 1
? generateSanitizedFileName(selectedFiles[0]?.name) ? generateSanitizedFileName(selectedFiles[0]?.name)
: 'sanitized_files.zip' : `${t('sanitize.filenamePrefix', 'sanitized')}_files.zip`
} }
leftSection={<DownloadIcon />} leftSection={<DownloadIcon />}
color="green" color="green"