From 8c4a646fe39282085bb4c878ae19604680842f08 Mon Sep 17 00:00:00 2001 From: James Date: Thu, 7 Aug 2025 09:00:14 +0100 Subject: [PATCH] Localise filenames --- frontend/public/locales/en-GB/translation.json | 1 + frontend/public/locales/en-US/translation.json | 1 + .../hooks/tools/sanitize/useSanitizeOperation.ts | 5 +++-- frontend/src/tools/Sanitize.tsx | 13 +++++++------ 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/frontend/public/locales/en-GB/translation.json b/frontend/public/locales/en-GB/translation.json index b3e923fb5..73e63ad3f 100644 --- a/frontend/public/locales/en-GB/translation.json +++ b/frontend/public/locales/en-GB/translation.json @@ -1755,6 +1755,7 @@ "completed": "Sanitisation completed successfully", "error": "Sanitisation failed: {{error}}", "error.generic": "Sanitisation failed", + "filenamePrefix": "sanitised", "steps": { "files": "Files", "settings": "Settings", diff --git a/frontend/public/locales/en-US/translation.json b/frontend/public/locales/en-US/translation.json index 89d603f8a..a797073f3 100644 --- a/frontend/public/locales/en-US/translation.json +++ b/frontend/public/locales/en-US/translation.json @@ -1624,6 +1624,7 @@ "completed": "Sanitization completed successfully", "error": "Sanitization failed: {{error}}", "error.generic": "Sanitization failed", + "filenamePrefix": "sanitized", "steps": { "files": "Files", "settings": "Settings", diff --git a/frontend/src/hooks/tools/sanitize/useSanitizeOperation.ts b/frontend/src/hooks/tools/sanitize/useSanitizeOperation.ts index f10f46ff7..03d65430f 100644 --- a/frontend/src/hooks/tools/sanitize/useSanitizeOperation.ts +++ b/frontend/src/hooks/tools/sanitize/useSanitizeOperation.ts @@ -108,11 +108,12 @@ export const useSanitizeOperation = () => { const url = window.URL.createObjectURL(results[0]); setDownloadUrl(url); } 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); setDownloadUrl(url); } - }, []); + }, [t]); const generateThumbnailsForResults = useCallback(async (results: File[]): Promise => { const thumbnails = await Promise.all( diff --git a/frontend/src/tools/Sanitize.tsx b/frontend/src/tools/Sanitize.tsx index e2f700ed5..6062a360d 100644 --- a/frontend/src/tools/Sanitize.tsx +++ b/frontend/src/tools/Sanitize.tsx @@ -17,13 +17,14 @@ import { useSanitizeOperation } from "../hooks/tools/sanitize/useSanitizeOperati import { BaseToolProps } from "../types/tool"; 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 { 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 { setCurrentMode } = useFileContext(); @@ -141,7 +142,7 @@ const Sanitize = ({ onPreviewFile, onComplete, onError }: BaseToolProps) => { href={sanitizeOperation.downloadUrl} download={sanitizeOperation.files.length === 1 ? generateSanitizedFileName(selectedFiles[0]?.name) - : 'sanitized_files.zip' + : `${t('sanitize.filenamePrefix', 'sanitized')}_files.zip` } leftSection={} color="green"