diff --git a/public/locales/fr/tools.json b/public/locales/fr/tools.json index ebbcbe65..f8f1fbe1 100644 --- a/public/locales/fr/tools.json +++ b/public/locales/fr/tools.json @@ -20,6 +20,7 @@ "subtitle": "Assembler plusieurs PDF en un seul fichier, tout en conservant les signets.", "retainPageLabels": "Conserver les étiquettes de page d'origine de chaque fichier", "retainPageLabelsHint": "Désactivé (par défaut) : le PDF fusionné utilise une numérotation naturelle 1–N. Activé : les étiquettes de page d'origine de chaque fichier sont conservées (peut produire des étiquettes en double).", + "removeDuplicateFonts": "Supprimer les polices en double", "alert": { "thumbnailError": "Échec du rendu des aperçus de pages", "noSelection": "Aucun fichier ni page sélectionné pour la fusion.", diff --git a/src/js/logic/merge-pdf-page.ts b/src/js/logic/merge-pdf-page.ts index 56f228df..94082978 100644 --- a/src/js/logic/merge-pdf-page.ts +++ b/src/js/logic/merge-pdf-page.ts @@ -419,11 +419,10 @@ export async function merge() { } ); } else { + // The worker has no access to i18next: its message is technical and + // English-only, so it goes to the console, not to the user. console.error('Worker merge error:', e.data.message); - showAlert( - t('common.error'), - e.data.message || t('tools:mergePdf.alert.mergeFailed') - ); + showAlert(t('common.error'), t('tools:mergePdf.alert.mergeFailed')); } }; diff --git a/src/tests/merge-pdf-i18n.test.ts b/src/tests/merge-pdf-i18n.test.ts index d1a41de8..2be2416d 100644 --- a/src/tests/merge-pdf-i18n.test.ts +++ b/src/tests/merge-pdf-i18n.test.ts @@ -39,6 +39,13 @@ describe('merge PDF notifications are localized', () => { expect(literalCalls).toHaveLength(0); }); + it('never surfaces the raw worker message to the user', () => { + const rawWorkerMessageInAlert = [ + ...source.matchAll(/\bshowAlert\([^;]*?\be\.data\.message/gs), + ]; + expect(rawWorkerMessageInAlert).toHaveLength(0); + }); + it('references at least the alert and loader keys added for the merge tool', () => { expect(usedKeys).toContain('tools:mergePdf.alert.mergeSuccess'); expect(usedKeys).toContain('tools:mergePdf.loader.merging');