Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

2990 lines
125 KiB
JSON
Raw Permalink Normal View History

2025-05-29 17:26:32 +01:00
{
"language": {
"direction": "ltr"
},
"addPageNumbers": {
"fontSize": "Taille de Police",
"fontName": "Nom de la Police",
"title": "Ajouter des numéros de page",
"header": "Ajouter des numéros de page",
"selectText": {
"1": "Sélectionnez le fichier PDF",
"2": "Taille de la marge",
"3": "Position",
"4": "Numéro de départ",
"5": "Pages à numéroter",
"6": "Texte personnalisé"
},
"customTextDesc": "Texte personnalisé",
"numberPagesDesc": "Quelles pages numéroter, par défaut 'all' (toutes les pages), accepte également 1-5 ou 2,5,9, etc.",
"customNumberDesc": "La valeur par défaut est '{n}', accepte également 'Page {n} sur {total}', 'Texte-{n}', '{filename}-{n}'",
"submit": "Ajouter les numéros de page"
},
"pdfPrompt": "Sélectionnez le(s) PDF",
"multiPdfPrompt": "Sélectionnez les PDF",
"multiPdfDropPrompt": "Sélectionnez (ou glissez-déposez) tous les PDF dont vous avez besoin",
"imgPrompt": "Choisir une image",
"genericSubmit": "Envoyer",
2025-09-19 08:54:48 +01:00
"uploadLimit": "Taille maximale du fichier :",
"uploadLimitExceededSingular": "est trop grand. La taille maximale autorisée est de",
"uploadLimitExceededPlural": "sont trop grands. La taille maximale autorisée est de",
2025-05-29 17:26:32 +01:00
"processTimeWarning": "Attention, ce processus peut prendre jusqu'à une minute en fonction de la taille du fichier.",
"pageOrderPrompt": "Ordre des pages (entrez une liste de numéros de page séparés par des virgules ou des fonctions telles que 2n+1) :",
"pageSelectionPrompt": "Sélection des pages (entrez une liste de numéros de page séparés par des virgules ou des fonctions telles que 2n+1) :",
"goToPage": "Aller",
"true": "Vrai",
"false": "Faux",
"unknown": "Inconnu",
2025-09-19 12:43:31 +01:00
"app": {
"description": "L'alternative gratuite à Adobe Acrobat (10M+ téléchargements)"
},
2025-05-29 17:26:32 +01:00
"save": "Enregistrer",
"saveToBrowser": "Enregistrer dans le navigateur",
2025-09-19 12:43:31 +01:00
"download": "Télécharger",
"undoOperationTooltip": "Cliquez pour annuler la dernière opération et restaurer les fichiers originaux",
"undo": "Annuler",
"moreOptions": "Plus d'options",
"editYourNewFiles": "Modifier votre nouveau fichier(s)",
2025-05-29 17:26:32 +01:00
"close": "Fermer",
2025-09-19 12:43:31 +01:00
"fileSelected": "Sélectionné : {{filename}}",
"chooseFile": "Choisir un fichier",
"filesSelected": "{{count}} fichiers sélectionnés",
"files": {
"title": "Fichiers",
"upload": "Téléverser",
"uploadFiles": "Téléverser des fichiers",
"addFiles": "Ajouter des fichiers",
"selectFromWorkbench": "Sélectionnez des fichiers depuis l'espace de travail ou ",
"selectMultipleFromWorkbench": "Sélectionnez au moins {{count}} fichiers depuis l'espace de travail ou "
},
2025-05-29 17:26:32 +01:00
"noFavourites": "Aucun favori ajouté",
"downloadComplete": "Téléchargement terminé",
"bored": "Marre d'attendre ?",
"alphabet": "Alphabet",
"downloadPdf": "Télécharger le PDF",
"text": "Texte",
"font": "Police",
"selectFillter": "-- Sélectionnez --",
"pageNum": "Numéro de page",
"sizes": {
"small": "Petit",
"medium": "Moyen",
"large": "Grand",
"x-large": "Très grand"
},
"error": {
"pdfPassword": "Le document PDF est protégé par un mot de passe qui n'a pas été fourni ou était incorrect",
"_value": "Erreur",
"sorry": "Désolé pour ce problème !",
"needHelp": "Besoin d'aide / Vous avez trouvé un problème ?",
"contactTip": "Si vous avez encore des problèmes, n'hésitez pas à nous contacter pour obtenir de l'aide. Vous pouvez soumettre un ticket sur notre page GitHub ou nous contacter via Discord :",
"404": {
"head": "404 - Page non trouvée | oups on s'est foiré !",
"1": "Nous ne parvenons pas à trouver la page que vous recherchez.",
"2": "Quelque chose n'a pas fonctionné"
},
"github": "Créer un ticket sur GitHub",
"showStack": "Afficher la Stack Trace",
"copyStack": "Copier la Stack Trace",
"githubSubmit": "GitHub - Créer un ticket",
"discordSubmit": "Discord - Poster un message de demande d'assistance"
},
2025-09-19 12:43:31 +01:00
"warning": {
"tooltipTitle": "Avertissement"
},
"edit": "Modifier",
2025-05-29 17:26:32 +01:00
"delete": "Supprimer",
"username": "Nom d'utilisateur",
"password": "Mot de passe",
"welcome": "Bienvenue",
"property": "Propriété",
"black": "Noir",
"white": "Blanc",
"red": "Rouge",
"green": "Vert",
"blue": "Bleu",
"custom": "Personnalisé…",
"WorkInProgess": "En cours de développement, merci de nous remonter les problèmes que vous pourriez constater!",
"poweredBy": "Propulsé par",
"yes": "Oui",
"no": "Non",
"changedCredsMessage": "Les identifiants ont été mis à jour !",
"notAuthenticatedMessage": "Utilisateur non authentifié.",
"userNotFoundMessage": "Utilisateur non trouvé.",
"incorrectPasswordMessage": "Le mot de passe actuel est incorrect.",
"usernameExistsMessage": "Le nouveau nom d'utilisateur existe déjà.",
"invalidUsernameMessage": "Nom d'utilisateur invalide, le nom d'utilisateur ne peut contenir que des lettres, des chiffres et les caractères spéciaux suivants @._+- ou doit être une adresse e-mail valide.",
"invalidPasswordMessage": "Le mot de passe ne peut pas être vide et ne doit pas contenir d'espaces au début ou à la fin.",
"confirmPasswordErrorMessage": "Le nouveau mot de passe et sa confirmation doivent être identiques.",
"deleteCurrentUserMessage": "Impossible de supprimer l'utilisateur actuellement connecté.",
"deleteUsernameExistsMessage": "Le nom d'utilisateur n'existe pas et ne peut pas être supprimé.",
"downgradeCurrentUserMessage": "Impossible de rétrograder le rôle de l'utilisateur actuel.",
"disabledCurrentUserMessage": "L'utilisateur actuel ne peut pas être désactivé",
"downgradeCurrentUserLongMessage": "Impossible de rétrograder le rôle de l'utilisateur actuel. Par conséquent, l'utilisateur actuel ne sera pas affiché.",
"userAlreadyExistsOAuthMessage": "L'utilisateur existe déjà en tant qu'utilisateur OAuth2.",
"userAlreadyExistsWebMessage": "L'utilisateur existe déjà en tant qu'utilisateur Web.",
"oops": "Oups !",
"help": "Aide",
"goHomepage": "Aller à la page d'accueil",
"joinDiscord": "Rejoignez notre serveur Discord",
"seeDockerHub": "Consulter le Docker Hub",
"visitGithub": "Visiter le dépôt Github",
"donate": "Faire un don",
"color": "Couleur",
"sponsor": "Sponsoriser",
"info": "Informations",
"pro": "Pro",
"page": "Page",
"pages": "Pages",
"loading": "Chargement...",
2025-09-19 12:43:31 +01:00
"review": "Examiner",
2025-05-29 17:26:32 +01:00
"addToDoc": "Ajouter au Document",
"reset": "Réinitialiser",
"apply": "Appliquer",
2025-09-19 08:54:48 +01:00
"noFileSelected": "Aucun fichier sélectionné. Veuillez en télécharger un.",
2025-05-29 17:26:32 +01:00
"legal": {
"privacy": "Politique de Confidentialité",
"terms": "Conditions Générales",
"accessibility": "Accessibilité",
"cookie": "Politique des Cookies",
"impressum": "Mentions Légales",
2025-09-19 08:54:48 +01:00
"showCookieBanner": "Préférences pour les cookies"
2025-05-29 17:26:32 +01:00
},
"pipeline": {
"header": "Menu Pipeline (Beta)",
"uploadButton": "Charger une personnalisation",
"configureButton": "Configurer",
"defaultOption": "Personnaliser",
"submitButton": "Soumettre",
"help": "Aide Pipeline",
"scanHelp": "Aide analyse de dossier",
"deletePrompt": "Êtes-vous sûr de vouloir supprimer le pipeline ?",
"tags": "automatiser,séquencer,automate,sequence,scripted,batch-process",
"title": "Pipeline"
},
"pipelineOptions": {
"header": "Configuration du pipeline",
"pipelineNameLabel": "Nom du pipeline",
"saveSettings": "Sauvegarder la configuration",
"pipelineNamePrompt": "Entrez ici le nom du pipeline",
"selectOperation": "Sélectionner une opération",
"addOperationButton": "Ajouter une opération",
"pipelineHeader": "Pipeline :",
"saveButton": "Télécharger",
"validateButton": "Valider"
},
"enterpriseEdition": {
"button": "Passer à Pro",
"warning": "Cette fonctionnalité est uniquement disponible pour les utilisateurs Pro.",
"yamlAdvert": "Stirling PDF Pro prend en charge les fichiers de configuration YAML et d'autres fonctionnalités SSO.",
"ssoAdvert": "Vous cherchez plus de fonctionnalités de gestion des utilisateurs ? Découvrez Stirling PDF Pro"
},
"analytics": {
"title": "Souhaitez-vous améliorer Stirling PDF ?",
"paragraph1": "Stirling PDF utilise des analyses volontaires pour nous aider à améliorer le produit. Nous ne suivons aucune information personnelle ni le contenu des fichiers.",
"paragraph2": "Veuillez envisager d'activer les analyses pour aider Stirling-PDF à se développer et pour nous permettre de mieux comprendre nos utilisateurs.",
"enable": "Activer les analyses",
"disable": "Désactiver les analyses",
"settings": "Vous pouvez modifier les paramètres des analyses dans le fichier config/settings.yml"
},
"navbar": {
"favorite": "Favoris",
"recent": "Nouveau et mise à jour",
"darkmode": "Mode sombre",
"language": "Langues",
"settings": "Paramètres",
"allTools": "Outils",
"multiTool": "Outils Multiples",
"search": "Rechercher",
"sections": {
"organize": "Organisation",
"convertTo": "Convertir en PDF",
"convertFrom": "Convertir depuis PDF",
"security": "Signature et sécurité",
"advance": "Mode avancé",
"edit": "Voir et modifier",
"popular": "Populaire"
}
},
"settings": {
"title": "Paramètres",
"update": "Mise à jour disponible",
"updateAvailable": "{0} est la version actuellement installée. Une nouvelle version ({1}) est disponible.",
2025-09-19 12:43:31 +01:00
"appVersion": "Version de l'application:",
2025-05-29 17:26:32 +01:00
"downloadOption": {
2025-09-19 12:43:31 +01:00
"title": "Choisissez l'option de téléchargement (pour les téléchargements d'un seul fichier non zippé):",
2025-05-29 17:26:32 +01:00
"1": "Ouvrir dans la même fenêtre",
"2": "Ouvrir dans une nouvelle fenêtre",
"3": "Télécharger le fichier"
},
"zipThreshold": "Compresser les fichiers en ZIP lorsque le nombre de fichiers téléchargés dépasse",
2025-09-19 12:43:31 +01:00
"signOut": "Se déconnecter",
2025-05-29 17:26:32 +01:00
"accountSettings": "Paramètres du compte",
"bored": {
2025-09-19 12:43:31 +01:00
"help": "Active un jeu caché"
2025-05-29 17:26:32 +01:00
},
"cacheInputs": {
2025-09-19 12:43:31 +01:00
"name": "Enregistrer les saisies du formulaire",
"help": "Activez pour stocker les entrées précédemment utilisées pour les exécutions futures"
2025-05-29 17:26:32 +01:00
}
},
"changeCreds": {
"title": "Modifiez vos identifiants",
"header": "Mettez à jour vos identifiants de connexion",
"changePassword": "Vous utilisez les identifiants de connexion par défaut. Veuillez saisir un nouveau mot de passe",
"newUsername": "Nouveau nom d'utilisateur",
"oldPassword": "Mot de passe actuel",
"newPassword": "Nouveau mot de passe",
"confirmNewPassword": "Confirmer le nouveau mot de passe",
"submit": "Soumettre les modifications"
},
"account": {
"title": "Paramètres du compte",
"accountSettings": "Paramètres du compte",
"adminSettings": "Paramètres d'administration Voir et ajouter des utilisateurs",
"userControlSettings": "Contrôle des paramètres des utilisateurs",
"changeUsername": "Modifier le nom d'utilisateur",
"newUsername": "Nouveau nom d'utilisateur",
"password": "Mot de passe de confirmation",
"oldPassword": "Ancien mot de passe",
"newPassword": "Nouveau mot de passe",
"changePassword": "Modifier le mot de passe",
"confirmNewPassword": "Confirmer votre nouveau mot de passe",
"signOut": "Déconnexion",
"yourApiKey": "Votre clé API",
"syncTitle": "Synchroniser les paramètres du navigateur avec le compte",
"settingsCompare": "Comparaison des paramètres",
"property": "Propriété",
"webBrowserSettings": "Paramètres du navigateur",
"syncToBrowser": "Synchroniser : Compte → Navigateur",
"syncToAccount": "Synchroniser : Compte ← Navigateur"
},
"adminUserSettings": {
"title": "Administration des paramètres des utilisateurs",
"header": "Administration des paramètres des utilisateurs",
"admin": "Administateur",
"user": "Utilisateur",
"addUser": "Ajouter un utilisateur",
"deleteUser": "Supprimer l'utilisateur",
"confirmDeleteUser": "Voulez vous vraiment supprimer l'utilisateur ?",
"confirmChangeUserStatus": "Voulez vous vraiment déactiver/réactiver l'utilisateur ?",
"usernameInfo": "Le nom d'utilisateur ne peut contenir que des lettres, des chiffres et les caractères spéciaux suivants @._+- ou doit être une adresse e-mail valide.",
"roles": "Rôles",
"role": "Rôle",
"actions": "Actions",
"apiUser": "Utilisateur API limité",
"extraApiUser": "Utilisateur limité supplémentaire de l'API",
"webOnlyUser": "Utilisateur Web uniquement",
"demoUser": "Demo User (Paramètres par défaut)",
"internalApiUser": "Utilisateur de l'API interne",
"forceChange": "Forcer l'utilisateur à changer son nom d'utilisateur/mot de passe lors de la connexion",
"submit": "Ajouter",
"changeUserRole": "Changer le rôle de l'utilisateur",
"authenticated": "Authentifié",
"editOwnProfil": "Éditer son propre profil",
"enabledUser": "Utilisateur activé",
"disabledUser": "Utilisateur désactivé",
"activeUsers": "Utilisateurs actifs :",
"disabledUsers": "Utilisateurs désactivés :",
"totalUsers": "Utilisateurs au total :",
"lastRequest": "Dernière requête",
2025-09-19 08:54:48 +01:00
"usage": "Voir l'utilisation"
2025-05-29 17:26:32 +01:00
},
"endpointStatistics": {
2025-09-19 08:54:48 +01:00
"title": "Statistiques des points de terminaison",
"header": "Statistiques des points de terminaison",
2025-05-29 17:26:32 +01:00
"top10": "Top 10",
"top20": "Top 20",
2025-09-19 08:54:48 +01:00
"all": "Tout",
"refresh": "Rafraîchir",
"includeHomepage": "Inclure la page d'accueil ('/')",
"includeLoginPage": "Inclure la page de connexion ('/login')",
"totalEndpoints": "Nombre total de points de terminaison",
"totalVisits": "Nombre total de visites",
"showing": "Affichage",
"selectedVisits": "Visites sélectionnées",
"endpoint": "Point de terminaison",
"visits": "Visites",
"percentage": "Pourcentage",
"loading": "Chargement...",
"failedToLoad": "Échec du chargement des données des points de terminaisons. Veuillez réessayer.",
"home": "Accueil",
"login": "Connexion",
2025-05-29 17:26:32 +01:00
"top": "Top",
2025-09-19 08:54:48 +01:00
"numberOfVisits": "Nombre de visites",
"visitsTooltip": "Visites : {0} ({1}% du total)",
"retry": "Réessayer"
2025-05-29 17:26:32 +01:00
},
"database": {
"title": "Import/Export de la Base de Données",
"header": "Import/Export de la Base de Données",
"fileName": "Nom du Fichier",
"creationDate": "Date de Création",
"fileSize": "Taille du Fichier",
"deleteBackupFile": "Supprimer le fichier de sauvegarde",
"importBackupFile": "Importer le fichier de sauvegarde",
"createBackupFile": "Créer un fichier de sauvegarde",
"downloadBackupFile": "Télécharger le fichier de sauvegarde",
"info_1": "Lors de l'importation des données, il est crucial de garantir la structure correcte. Si vous n'êtes pas sûr de ce que vous faites, sollicitez un avis et un soutien d'un professionnel. Une erreur dans la structure peut entraîner des dysfonctionnements de l'application, allant jusqu'à l'incapacité totale d'exécuter l'application.",
"info_2": "Le nom du fichier ne fait pas de différence lors de l'upload. Il sera renommé ultérieurement selon le format backup_user_yyyyMMddHHmm.sql, assurant ainsi une convention de nommage cohérente.",
"submit": "Importer la sauvegarde",
"importIntoDatabaseSuccessed": "Importation dans la base de données réussie",
"backupCreated": "Sauvegarde de la base de donnée réussie",
"fileNotFound": "Fichier introuvable",
"fileNullOrEmpty": "Fichier ne peut pas être null ou vide",
"failedImportFile": "Échec de l'imporation du fichier",
"notSupported": "Cette fonctionnalité n'est pas supportée avec votre base de donnée"
},
"session": {
"expired": "Votre session a expiré. Veuillez recharger la page et réessayer.",
"refreshPage": "Rafraichir la page"
},
"home": {
"desc": "Votre application Web hébergée localement pour répondre à tous vos besoins PDF.",
"searchBar": "Rechercher des fonctionnalités...",
"viewPdf": {
"title": "Visionner/Modifier des PDF",
"desc": "Visionner, annoter, ajouter du texte ou des images."
},
"setFavorites": "Ajouter des favoris",
"hideFavorites": "Cacher les favoris",
"showFavorites": "Montrer les favoris",
"legacyHomepage": "Ancienne Homepage",
"newHomePage": "Essayez notre nouvelle Homepage !",
"alphabetical": "Alphabétique",
"globalPopularity": "Popularité globale",
"sortBy": "Trier par :",
"multiTool": {
"title": "Outil multifonction PDF",
"desc": "Fusionnez, faites pivoter, réorganisez et supprimez des pages."
},
"merge": {
"title": "Fusionner",
"desc": "Fusionnez facilement plusieurs PDF en un seul."
},
"split": {
"title": "Diviser",
"desc": "Divisez un PDF en plusieurs documents."
},
"rotate": {
"title": "Pivoter",
"desc": "Faites pivoter facilement vos PDF."
},
2025-09-19 12:43:31 +01:00
"convert": {
"title": "Convertir",
"desc": "Convertir des fichiers entre différents formats"
},
SEO init (#4197) # Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
2025-08-14 15:52:38 +01:00
"imageToPDF": {
2025-05-29 17:26:32 +01:00
"title": "Image en PDF",
"desc": "Convertissez une image (PNG, JPEG, GIF) en PDF."
},
"pdfToImage": {
"title": "PDF en image",
"desc": "Convertissez un PDF en image (PNG, JPEG, GIF)."
},
"pdfOrganiser": {
"title": "Organiser",
"desc": "Supprimez ou réorganisez les pages dans n'importe quel ordre."
},
"addImage": {
"title": "Ajouter une image",
"desc": "Ajoutez une image à un emplacement défini sur un PDF."
},
2025-09-19 12:43:31 +01:00
"attachments": {
"title": "Ajouter des pièces jointes",
"desc": "Ajouter ou supprimer des fichiers intégrés (pièces jointes) à/depuis un PDF"
},
2025-05-29 17:26:32 +01:00
"watermark": {
"title": "Ajouter un filigrane",
"desc": "Ajoutez un filigrane personnalisé à votre PDF."
},
"permissions": {
"title": "Modifier les permissions",
"desc": "Modifiez les permissions de votre PDF."
},
SEO init (#4197) # Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
2025-08-14 15:52:38 +01:00
"pageRemover": {
2025-05-29 17:26:32 +01:00
"title": "Supprimer",
"desc": "Supprimez les pages inutiles de votre PDF."
},
"addPassword": {
"title": "Ajouter un mot de passe",
"desc": "Chiffrez votre PDF avec un mot de passe."
},
"removePassword": {
"title": "Supprimer le mot de passe",
"desc": "Supprimez la protection par mot de passe de votre PDF."
},
SEO init (#4197) # Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
2025-08-14 15:52:38 +01:00
"compress": {
2025-05-29 17:26:32 +01:00
"title": "Compresser",
"desc": "Compressez les PDF pour réduire leur tailles."
},
"unlockPDFForms": {
2025-09-19 08:54:48 +01:00
"title": "Déverrouiller les formulaires PDF",
"desc": "Supprimer la propriété lecture seule des champs de formulaire dans un document PDF"
2025-05-29 17:26:32 +01:00
},
"changeMetadata": {
"title": "Modifier les métadonnées",
"desc": "Modifiez, supprimez ou ajoutez des métadonnées à un PDF."
},
"fileToPDF": {
"title": "Fichier en PDF",
"desc": "Convertissez presque n'importe quel fichier en PDF (DOCX, PNG, XLS, PPT, TXT, etc.)."
},
"ocr": {
"title": "OCR / Nettoyage des numérisations",
"desc": "Utilisez l'OCR pour analyser et détecter le texte des images d'un PDF et le rajouter en tant que tel."
},
"extractImages": {
"title": "Extraire les images",
"desc": "Extrayez toutes les images d'un PDF et enregistrez-les dans un ZIP."
},
"pdfToPDFA": {
"title": "PDF en PDF/A",
"desc": "Convertir un PDF en PDF/A pour un stockage à long terme."
},
"PDFToWord": {
"title": "PDF en Word",
"desc": "Convertissez un PDF en Word (DOC, DOCX et ODT)."
},
"PDFToPresentation": {
"title": "PDF en formats de présentation",
"desc": "Convertissez un PDF en format de présentation (PPT, PPTX et ODP)."
},
"PDFToText": {
"title": "PDF en RTF (texte)",
"desc": "Convertissez un PDF au format RTF (texte)."
},
"PDFToHTML": {
"title": "PDF en HTML",
"desc": "Convertissez un PDF au format HTML."
},
"PDFToXML": {
"title": "PDF en XML",
"desc": "Convertissez un PDF au format XML."
},
"ScannerImageSplit": {
"title": "Diviser les photos numérisées",
"desc": "Divisez plusieurs photos à partir d'une photo ou d'un PDF."
},
"sign": {
"title": "Signer",
"desc": "Ajoutez une signature au PDF avec un dessin, du texte ou une image."
},
"flatten": {
"title": "Rendre inerte",
"desc": "Supprimez tous les éléments et formulaires interactifs d'un PDF."
},
"repair": {
"title": "Réparer",
"desc": "Essayez de réparer un PDF corrompu ou cassé."
},
"removeBlanks": {
"title": "Supprimer les pages vierges",
"desc": "Détectez et supprimez les pages vierges d'un PDF."
},
"removeAnnotations": {
"title": "Supprimer les annotations",
"desc": "Supprimer tous les commentaires/annotations d'un PDF."
},
"compare": {
"title": "Comparer",
"desc": "Comparez et visualisez les différences entre deux PDF."
},
"certSign": {
"title": "Signer avec un certificat",
"desc": "Signez un PDF avec un certificat ou une clé (PEM/P12)."
},
"removeCertSign": {
"title": "Supprimer la signature par certificat",
"desc": "Supprimez la signature par certificat d'un PDF"
},
"pageLayout": {
"title": "Fusionner des pages",
"desc": "Fusionnez plusieurs pages d'un PDF en une seule."
},
"scalePages": {
"title": "Ajuster l'échelle ou la taille",
"desc": "Modifiez la taille ou l'échelle d'une page et/ou de son contenu."
},
"pipeline": {
"title": "Pipeline",
"desc": "Exécutez plusieurs actions sur les PDF en définissant des scripts de pipeline."
},
SEO init (#4197) # Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
2025-08-14 15:52:38 +01:00
"addPageNumbers": {
2025-05-29 17:26:32 +01:00
"title": "Ajouter des numéros de page",
"desc": "Ajoutez des numéros de page dans un PDF à un emplacement défini."
},
"auto-rename": {
"title": "Renommer automatiquement",
"desc": "Renommez automatiquement un fichier PDF en fonction de son en-tête détecté."
},
SEO init (#4197) # Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
2025-08-14 15:52:38 +01:00
"adjustContrast": {
2025-05-29 17:26:32 +01:00
"title": "Ajuster les couleurs",
"desc": "Ajustez le contraste, la saturation et la luminosité d'un PDF."
},
"crop": {
"title": "Redimensionner",
"desc": "Redimensionnez un PDF pour réduire sa taille (en conservant le texte !)."
},
"autoSplitPDF": {
"title": "Séparer automatiquement les pages",
"desc": "Séparez automatiquement le PDF numérisé avec le code QR du diviseur de page numérisé."
},
SEO init (#4197) # Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
2025-08-14 15:52:38 +01:00
"sanitizePDF": {
2025-05-29 17:26:32 +01:00
"title": "Assainir",
"desc": "Supprimez les scripts et autres éléments des PDF."
},
"URLToPDF": {
"title": "URL en PDF",
"desc": "Convertissez n'importe quelle URL http(s) en PDF."
},
"HTMLToPDF": {
"title": "HTML en PDF",
"desc": "Convertissez n'importe quel fichier HTML ou ZIP en PDF."
},
"MarkdownToPDF": {
"title": "Markdown en PDF",
"desc": "Convertissez n'importe quel fichier Markdown en PDF."
},
"PDFToMarkdown": {
"title": "PDF en Markdown",
"desc": "Convertissez n'importe quel fichier PDF en Markdown."
},
"getPdfInfo": {
"title": "Récupérer les informations",
"desc": "Récupérez toutes les informations possibles sur un PDF."
},
SEO init (#4197) # Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
2025-08-14 15:52:38 +01:00
"pageExtracter": {
2025-05-29 17:26:32 +01:00
"title": "Extraire des pages",
"desc": "Extrayez certaines pages du PDF."
},
SEO init (#4197) # Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
2025-08-14 15:52:38 +01:00
"pdfToSinglePage": {
2025-05-29 17:26:32 +01:00
"title": "Fusionner en une seule page",
"desc": "Fusionnez toutes les pages PDF en une seule grande page."
},
"showJS": {
"title": "Afficher le JavaScript",
"desc": "Recherche et affiche tout JavaScript injecté dans un PDF."
},
"autoRedact": {
"title": "Caviardage automatique",
"desc": "Caviardez automatiquement les informations sensibles d'un PDF."
},
"redact": {
"title": "Caviardage manuel",
"desc": "Caviarder un PDF en fonction de texte sélectionné, formes dessinées et/ou des pages sélectionnées."
},
SEO init (#4197) # Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
2025-08-14 15:52:38 +01:00
"PDFToCSV": {
2025-05-29 17:26:32 +01:00
"title": "PDF en CSV",
"desc": "Extrait les tableaux d'un PDF et les transforme en CSV."
},
SEO init (#4197) # Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
2025-08-14 15:52:38 +01:00
"split-by-size-or-count": {
2025-05-29 17:26:32 +01:00
"title": "Séparer automatiquement par taille/nombre",
"desc": "Séparer un PDF unique en plusieurs documents en fonction de la taille, du nombre de pages ou du nombre de documents."
},
"overlay-pdfs": {
"title": "Incrustation de PDF",
"desc": "Incrustation d'un PDF sur un autre PDF."
},
"split-by-sections": {
"title": "Séparer un PDF en sections",
"desc": "Diviser chaque page d'un PDF en sections horizontales/verticales plus petites."
},
"AddStampRequest": {
"title": "Ajouter un tampon sur un PDF",
"desc": "Ajouter un texte ou l'image d'un tampon à un emplacement défini."
},
SEO init (#4197) # Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
2025-08-14 15:52:38 +01:00
"removeImage": {
2025-05-29 17:26:32 +01:00
"title": "Supprimer les images",
"desc": "Supprimez les images d'un PDF pour réduire sa taille"
},
SEO init (#4197) # Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
2025-08-14 15:52:38 +01:00
"splitByChapters": {
2025-05-29 17:26:32 +01:00
"title": "Séparer un PDF par chapitres",
"desc": "Séparez un PDF en fichiers multiples en fonction de sa structure par chapitres."
},
"validateSignature": {
"title": "Valider la signature du fichier PDF",
"desc": "Vérifier les signatures numériques et les certificats des documents PDF"
},
SEO init (#4197) # Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
2025-08-14 15:52:38 +01:00
"replace-color": {
2025-05-29 17:26:32 +01:00
"title": "Remplacer et Inverser Couleur",
"desc": "Remplacer la couleur pour le texte et l'arrière-plan dans le PDF et inverser la couleur complète du PDF pour réduire la taille du fichier"
2025-09-19 08:54:48 +01:00
},
"convert": {
2025-09-19 12:43:31 +01:00
"title": "Convertir",
"desc": "Convertir des fichiers entre différents formats"
2025-09-19 08:54:48 +01:00
},
"attachments": {
"title": "Ajouter des pièces jointes",
"desc": "Ajouter ou supprimer des fichiers intégrés (pièces jointes) dans un PDF"
},
"editTableOfContents": {
"title": "Modifier la table des matières",
"desc": "Ajouter ou modifier les signets et la table des matières dans les documents PDF"
},
"extractPages": {
2025-09-19 12:43:31 +01:00
"title": "Extraire des pages",
"desc": "Extraire des pages spécifiques d'un document PDF"
2025-09-19 08:54:48 +01:00
},
"removePages": {
"title": "Supprimer",
"desc": "Supprimez les pages inutiles de votre PDF."
},
"removeImagePdf": {
"title": "Supprimer les images",
"desc": "Supprimez les images d'un PDF pour réduire sa taille"
},
"autoSizeSplitPDF": {
"title": "Séparer automatiquement par taille/nombre",
"desc": "Séparer un PDF unique en plusieurs documents en fonction de la taille, du nombre de pages ou du nombre de documents."
},
"adjust-contrast": {
"title": "Ajuster les couleurs",
"desc": "Ajustez le contraste, la saturation et la luminosité d'un PDF."
},
"replaceColorPdf": {
"title": "Remplacer et Inverser Couleur",
"desc": "Remplacer la couleur pour le texte et l'arrière-plan dans le PDF et inverser la couleur complète du PDF pour réduire la taille du fichier"
},
"changePermissions": {
2025-09-19 12:43:31 +01:00
"title": "Modifier les permissions",
"desc": "Modifier les restrictions et les autorisations du document"
},
"sanitize": {
"title": "Sanitise",
"desc": "Supprimer les éléments potentiellement dangereux des fichiers PDF"
},
"read": {
"title": "Read",
"desc": "Consulter et annoter des PDF. Surligner du texte, dessiner ou insérer des commentaires pour la relecture et la collaboration."
},
"devApi": {
"title": "API",
"desc": "Lien vers la documentation de l'API"
},
"automate": {
"title": "Automate",
"desc": "Créez des flux de travail multi-étapes en enchaînant des actions PDF. Idéal pour les tâches récurrentes."
},
"swagger": {
"title": "Documentation de l'API",
"desc": "Consulter la documentation de l'API et tester les points de terminaison"
},
"fakeScan": {
"title": "Scan factice",
"desc": "Créer un PDF qui semble avoir été scanné"
},
"manageCertificates": {
"title": "Gérer les certificats",
"desc": "Importer, exporter ou supprimer des fichiers de certificats numériques utilisés pour signer des PDF."
},
"reorganizePages": {
"title": "Réorganiser les pages",
"desc": "Réorganisez, dupliquez ou supprimez des pages PDF à l'aide d'un contrôle visuel par glisser-déposer."
},
"devFolderScanning": {
"title": "Analyse automatisée des dossiers",
"desc": "Lien vers le guide d'analyse automatisée des dossiers"
},
"devSsoGuide": {
"title": "Guide SSO",
"desc": "Lien vers le guide SSO"
},
"devAirgapped": {
"title": "Configuration en environnement isolé (air-gapped)",
"desc": "Lien vers le guide de configuration en environnement isolé (air-gapped)"
2025-05-29 17:26:32 +01:00
}
},
"viewPdf": {
"tags": "visualiser,lire,annoter,texte,image",
2025-09-19 08:54:48 +01:00
"title": "Afficher/modifier un PDF",
2025-05-29 17:26:32 +01:00
"header": "Visualiser un PDF"
},
"multiTool": {
"tags": "outil multifonction,opération multifonction,interface utilisateur,glisser déposer,front-end,client side,interactif,intransigeant,déplacer,multi tool",
"title": "Outil multifonction PDF",
"header": "Outil multifonction PDF",
"uploadPrompts": "Nom du fichier",
"selectAll": "Tout sélectionner",
"deselectAll": "Tout déselectionner",
"selectPages": "Sélection des pages",
"selectedPages": "Pages sélectionnées",
"page": "Page",
"deleteSelected": "Supprimer la sélection",
"downloadAll": "Exporter",
"downloadSelected": "Exporter la sélection",
"insertPageBreak": "Insérer un saut de page",
"addFile": "Ajouter un fichier",
"rotateLeft": "Rotation vers la gauche",
"rotateRight": "Rotation vers la droite",
"split": "Diviser",
"moveLeft": "Déplacer vers la gauche",
"moveRight": "Déplacer vers la droite",
"delete": "Supprimer",
"dragDropMessage": "Page(s) sélectionnées",
2025-09-19 12:43:31 +01:00
"undo": "Annuler",
"redo": "Rétablir"
2025-05-29 17:26:32 +01:00
},
"merge": {
"tags": "fusionner,opérations sur les pages,backend,server side,merge",
"title": "Fusionner",
"header": "Fusionner plusieurs PDF",
"sortByName": "Trier par nom",
"sortByDate": "Trier par date",
"removeCertSign": "Supprimer la signature numérique dans le fichier fusionné ?",
2025-09-19 12:43:31 +01:00
"removeDigitalSignature": {
"tooltip": {
"title": "Supprimer la signature numérique",
"description": "Les signatures numériques seront invalidées lors de la fusion des fichiers. Cochez cette option pour les supprimer du PDF final fusionné."
}
},
2025-09-19 08:54:48 +01:00
"submit": "Fusionner",
"sortBy": {
2025-09-19 12:43:31 +01:00
"filename": "Nom du Fichier",
"ascending": "Croissant",
"descending": "Décroissant",
"sort": "Trier",
"description": "Les fichiers seront fusionnés dans l'ordre où ils sont sélectionnés. Glissez pour réorganiser ou triez ci-dessous.",
"label": "Trier par",
"dateModified": "Date de modification"
},
"error": {
"failed": "Une erreur s'est produite lors de la fusion des PDF."
},
"generateTableOfContents": "Générer une table des matières dans le fichier fusionné ?"
2025-05-29 17:26:32 +01:00
},
"split": {
"tags": "opérations sur les pages,diviser,plusieurs pages,cut,server side,divide",
"title": "Diviser",
"header": "Diviser",
"desc": {
"1": "Les numéros que vous sélectionnez sont le numéro de page sur lequel vous souhaitez faire une division",
"2": "Ainsi, la sélection de 1,3,7-9 diviserait un document de 10 pages en 6 PDF distincts avec :",
2025-09-19 12:43:31 +01:00
"3": "Document n°1 : Page 1",
2025-05-29 17:26:32 +01:00
"4": "Document #2: Page 2 et 3",
"5": "Document #3: Page 4, 5, 6 et 7",
2025-09-19 12:43:31 +01:00
"6": "Document n°4 : Page 8",
"7": "Document n°5 : Page 9",
"8": "Document n°6 : Page 10"
2025-05-29 17:26:32 +01:00
},
"splitPages": "Pages sur lesquelles diviser",
2025-09-19 08:54:48 +01:00
"submit": "Diviser",
"steps": {
2025-09-19 12:43:31 +01:00
"chooseMethod": "Choisir la méthode",
2025-09-19 08:54:48 +01:00
"settings": "Paramètres"
},
2025-09-19 12:43:31 +01:00
"settings": {
"selectMethodFirst": "Veuillez d'abord sélectionner une méthode de division"
},
"error": {
"failed": "Une erreur s'est produite lors de la division du PDF."
},
"method": {
"label": "Choisir la méthode de division",
"placeholder": "Sélectionnez comment diviser le PDF"
},
"tooltip": {
"header": {
"title": "Aperçu des méthodes de division"
},
"byPages": {
"title": "Diviser aux numéros de page",
"text": "Divisez votre PDF aux numéros de page spécifiques. Utiliser 'n' divise après la page n. Utiliser 'n-m' divise avant la page n et après la page m.",
"bullet1": "Points de division simples : 3,7 (divise après les pages 3 et 7)",
"bullet2": "Points de division par plage : 3-8 (divise avant la page 3 et après la page 8)",
"bullet3": "Mixte : 2,5-10,15 (divise après la page 2, avant la page 5, après la page 10, et après la page 15)"
},
"bySections": {
"title": "Diviser par sections de grille",
"text": "Divise chaque page en grille de sections. Utile pour diviser des documents avec plusieurs colonnes ou extraire des zones spécifiques.",
"bullet1": "Horizontal : Nombre de lignes à créer",
"bullet2": "Vertical : Nombre de colonnes à créer",
"bullet3": "Fusionner : Combiner toutes les sections en un seul PDF"
},
"bySize": {
"title": "Diviser par taille de fichier",
"text": "Crée plusieurs PDF qui ne dépassent pas une taille de fichier spécifiée. Idéal pour les limitations de taille de fichier ou les pièces jointes d'email.",
"bullet1": "Utilisez MB pour les fichiers plus volumineux (ex. 10MB)",
"bullet2": "Utilisez KB pour les fichiers plus petits (ex. 500KB)",
"bullet3": "Le système divisera aux limites des pages"
},
"byCount": {
"title": "Diviser par nombre",
"text": "Crée plusieurs PDF avec un nombre spécifique de pages ou de documents chacun.",
"bullet1": "Nombre de pages : Nombre fixé de pages par fichier",
"bullet2": "Nombre de documents : Nombre fixé de fichiers de sortie",
"bullet3": "Utile pour les flux de traitement par lots"
},
"byChapters": {
"title": "Diviser par chapitres",
"text": "Utilisez les signets PDF pour diviser automatiquement aux limites des chapitres. Nécessite des PDF avec une structure de signets.",
"bullet1": "Niveau de signet : Quel niveau diviser (1=niveau supérieur)",
"bullet2": "Inclure les métadonnées : Préserver les propriétés du document",
"bullet3": "Autoriser les doublons : Gérer les noms de signets répétés"
}
},
2025-09-19 08:54:48 +01:00
"methods": {
2025-09-19 12:43:31 +01:00
"prefix": {
"splitAt": "Diviser à",
"splitBy": "Diviser par"
},
"byPages": {
"name": "Numéros de page",
"desc": "Extraire des pages spécifiques (1,3,5-10)",
"tooltip": "Entrez les numéros de page séparés par des virgules ou des plages avec des traits d'union"
},
"bySections": {
"name": "Sections",
"desc": "Diviser les pages en sections de grille",
"tooltip": "Diviser chaque page en sections horizontales et verticales"
},
2025-09-19 08:54:48 +01:00
"bySize": {
2025-09-19 12:43:31 +01:00
"name": "Taille du Fichier",
"desc": "Limiter la taille maximale du fichier",
"tooltip": "Spécifiez la taille maximale du fichier (ex. 10MB, 500KB)"
},
"byPageCount": {
"name": "Nombre de pages",
"desc": "Nombre fixé de pages par fichier",
"tooltip": "Entrez le nombre de pages pour chaque fichier divisé"
},
"byDocCount": {
"name": "Nombre de documents",
"desc": "Créer un nombre spécifique de fichiers",
"tooltip": "Entrez le nombre de fichiers que vous souhaitez créer"
},
"byChapters": {
"name": "Chapters",
"desc": "Diviser aux limites des signets",
"tooltip": "Utilise les signets PDF pour déterminer les points de division"
},
"byPageDivider": {
"name": "Séparateur de page",
"desc": "Division automatique avec des feuilles séparatrices",
"tooltip": "Utilisez des feuilles séparatrices avec code QR entre les documents lors de la numérisation"
2025-09-19 08:54:48 +01:00
}
},
"value": {
"fileSize": {
2025-09-19 12:43:31 +01:00
"label": "Taille du Fichier",
"placeholder": "ex. 10MB, 500KB"
},
"pageCount": {
"label": "Pages par fichier",
"placeholder": "ex. 5, 10"
},
"docCount": {
"label": "Nombre de fichiers",
"placeholder": "ex. 3, 5"
2025-09-19 08:54:48 +01:00
}
}
2025-05-29 17:26:32 +01:00
},
"rotate": {
"tags": "pivoter,server side,rotate",
"title": "Pivoter",
"header": "Pivoter",
"selectAngle": "Angle de rotation (par multiples de 90degrés)",
"submit": "Pivoter"
},
"imageToPdf": {
"tags": "pdf,conversion,img,jpg,image,photo"
},
"pdfToImage": {
"tags": "conversion,img,jpg,image,photo",
"title": "PDF en Image",
"header": "PDF en Image",
"selectText": "Format d'image",
"singleOrMultiple": "Type de résultat",
"single": "Une seule grande image",
"multi": "Plusieurs images",
"colorType": "Type d'impression",
"color": "Couleur",
"grey": "Niveaux de gris",
"blackwhite": "Noir et blanc (peut engendrer une perte de données !)",
"submit": "Convertir",
"info": "Python nest pas installé. Nécessaire pour la conversion WebP.",
"placeholder": "(par exemple : 1,2,8 ou 4,7,12-16 ou 2n-1)"
},
"pdfOrganiser": {
"tags": "organiser,recto-verso,duplex,even,odd,sort,move",
"title": "Organiser",
"header": "Organiser les pages",
"submit": "Organiser",
"mode": {
"_value": "Mode",
"1": "Ordre des pages personnalisé",
"2": "Ordre inverse",
"3": "Tri recto verso",
"4": "Tri des livrets",
"5": "Tri de livrets à points latéraux",
"6": "Partage impair-pair",
"7": "Supprimer le premier",
"8": "Supprimer le dernier",
"9": "Supprimer le premier et le dernier",
"10": "Méger Impair-Pair",
2025-09-19 08:54:48 +01:00
"11": "Dupliquer toutes les pages"
2025-05-29 17:26:32 +01:00
},
"placeholder": "(par exemple 1,3,2 ou 4-8,2,10-12 ou 2n-1)"
},
"addImage": {
"tags": "img,jpg,image,photo",
"title": "Ajouter une image",
"header": "Ajouter une image",
"everyPage": "Toutes les pages ?",
"upload": "Télécharger une image",
"submit": "Ajouter une image"
},
"watermark": {
"tags": "texte,filigrane,label,propriété,droit d'auteur,marque déposée,img,jpg,image,photo,copyright,trademark",
"title": "Ajouter un filigrane",
"header": "Ajouter un filigrane",
2025-09-19 12:43:31 +01:00
"desc": "Ajouter des filigranes de texte ou d'image aux fichiers PDF",
"completed": "Filigrane ajouté",
"error": {
"failed": "Une erreur s'est produite lors de l'ajout du filigrane au PDF."
2025-09-19 08:54:48 +01:00
},
"settings": {
2025-09-19 12:43:31 +01:00
"type": "Type de filigrane",
"text": {
"label": "Texte du filigrane",
"placeholder": "Entrez le texte du filigrane"
},
"image": {
"label": "Image de filigrane",
"choose": "Choisir une image",
"selected": "Sélectionné : {{filename}}"
},
"alphabet": "Police/Langue",
"color": "Couleur du filigrane",
"rotation": "Rotation (degrés)",
"opacity": "Opacité (%)",
"spacing": {
"horizontal": "Espacement horizontal",
"vertical": "Espacement vertical"
},
"convertToImage": "Aplatir les pages PDF en images",
"size": "Taille",
"fontSize": "Taille de la police"
},
"alphabet": {
"roman": "Romain/Latin",
"arabic": "Arabic",
"japanese": "Japanese",
"korean": "Korean",
"chinese": "Chinese",
"thai": "Thai"
},
"steps": {
"type": "Type de filigrane",
"file": "Fichier de filigrane",
"wording": "Wording",
"textStyle": "Style",
"formatting": "Mise en forme"
},
"results": {
"title": "Résultats du filigrane"
},
"tooltip": {
"textStyle": {
"header": {
"title": "Style de texte"
},
"color": {
"title": "Sélection de couleur",
"text": "Choisissez une couleur qui offre un bon contraste avec le contenu de votre document.",
"bullet1": "Gris clair (#d3d3d3) pour les filigranes subtils",
"bullet2": "Noir ou couleurs foncées pour un contraste élevé",
"bullet3": "Couleurs personnalisées à des fins de marquage"
},
"language": {
"title": "Support linguistique",
"text": "Choisissez le paramètre de langue approprié pour assurer un rendu de police correct pour votre texte."
},
"appearance": {
"title": "Paramètres d'apparence",
"text": "Contrôlez l'apparence de votre filigrane et son intégration avec le document.",
"bullet1": "Rotation : -360° à 360° pour les filigranes inclinés",
"bullet2": "Opacité : 0-100% pour le contrôle de la transparence",
"bullet3": "Une opacité plus faible crée des filigranes subtils"
},
"spacing": {
"title": "Contrôle de l'espacement",
"text": "Ajustez l'espacement entre les filigranes répétés sur la page.",
"bullet1": "Espacement en largeur : Distance horizontale entre les filigranes",
"bullet2": "Espacement en hauteur : Distance verticale entre les filigranes",
"bullet3": "Des valeurs plus élevées créent des motifs plus étalés"
}
},
"type": {
"header": {
"title": "Sélection du type de filigrane"
},
"description": {
"text": "Sélectionnez entre les filigranes de texte ou d'image selon vos besoins.",
"title": "Choisissez votre filigrane"
},
"text": {
"title": "Filigranes texte",
"text": "Parfait pour ajouter des avis de droit d'auteur, des noms d'entreprise ou des étiquettes de confidentialité. Prend en charge plusieurs langues et couleurs personnalisées.",
"bullet1": "Polices et langues personnalisables",
"bullet2": "Couleurs et transparence ajustables",
"bullet3": "Idéal pour le texte légal ou de marquage"
},
"image": {
"title": "Filigranes d'image",
"text": "Utilisez des logos, des tampons ou toute image comme filigrane. Parfait pour l'image de marque et l'identification visuelle.",
"bullet1": "Téléchargez n'importe quel format d'image",
"bullet2": "Maintient la qualité de l'image",
"bullet3": "Parfait pour les logos et tampons"
}
},
"language": {
"title": "Prise en charge des langues",
"text": "Choisissez le paramètre de langue approprié pour garantir le rendu correct des polices de votre texte."
},
"appearance": {
"title": "Paramètres d'apparence",
"text": "Contrôlez l'apparence de votre filigrane et son intégration au document.",
"bullet1": "Rotation : -360° à 360° pour des filigranes inclinés",
"bullet2": "Opacité : 0-100 % pour contrôler la transparence",
"bullet3": "Une opacité plus faible crée des filigranes plus discrets"
},
"spacing": {
"title": "Contrôle de l'espacement",
"text": "Ajustez l'espacement entre les filigranes répétés sur la page.",
"bullet1": "Espacement en largeur : distance horizontale entre les filigranes",
"bullet2": "Espacement en hauteur : distance verticale entre les filigranes",
"bullet3": "Des valeurs plus élevées créent des motifs plus espacés"
},
"wording": {
"header": {
"title": "Contenu du texte"
},
"text": {
"title": "Texte du filigrane",
"text": "Saisissez le texte qui apparaîtra comme filigrane dans tout le document.",
"bullet1": "Gardez-le concis pour une meilleure lisibilité",
"bullet2": "Exemples courants : 'CONFIDENTIAL', 'DRAFT', nom de l'entreprise",
"bullet3": "Les caractères emoji ne sont pas pris en charge et seront filtrés"
}
},
"file": {
"header": {
"title": "Téléversement d'image"
},
"upload": {
"title": "Sélection d'image",
"text": "Téléversez un fichier image à utiliser comme filigrane.",
"bullet1": "Prend en charge les formats courants: PNG, JPG, GIF, BMP",
"bullet2": "Les PNG avec transparence fonctionnent le mieux",
"bullet3": "Les images de plus haute résolution conservent mieux la qualité"
},
"recommendations": {
"title": "Meilleures pratiques",
"text": "Conseils pour obtenir des filigranes d'image optimaux.",
"bullet1": "Utilisez des logos ou des tampons avec des arrière-plans transparents",
"bullet2": "Les designs simples fonctionnent mieux que les images complexes",
"bullet3": "Tenez compte de la taille finale du document lors du choix de la résolution"
}
},
"formatting": {
"header": {
"title": "Formatage et mise en page"
},
"size": {
"title": "Contrôle de la taille",
"text": "Ajustez la taille de votre filigrane (texte ou image).",
"bullet1": "Des tailles plus grandes rendent les filigranes plus visibles"
},
"appearance": {
"title": "Paramètres d'apparence",
"text": "Contrôlez l'apparence de votre filigrane et son intégration au document.",
"bullet1": "Rotation : -360° à 360° pour des filigranes inclinés",
"bullet2": "Opacité : 0-100% pour le contrôle de la transparence",
"bullet3": "Une opacité plus faible crée des filigranes discrets"
},
"spacing": {
"title": "Contrôle de l'espacement",
"text": "Ajustez l'espacement entre les filigranes répétés sur la page.",
"bullet1": "Espacement horizontal : distance entre les filigranes de gauche à droite",
"bullet2": "Espacement vertical : distance entre les filigranes de haut en bas",
"bullet3": "Des valeurs plus élevées créent des motifs plus espacés"
},
"security": {
"title": "Option de sécurité",
"text": "Convertir le PDF final en un format basé sur des images pour une sécurité renforcée.",
"bullet1": "Empêche la sélection et la copie du texte",
"bullet2": "Rend les filigranes plus difficiles à supprimer",
"bullet3": "Entraîne des fichiers de taille plus importante",
"bullet4": "Idéal pour les contenus sensibles ou protégés par le droit d'auteur"
}
}
},
"wording": {
"header": {
"title": "Contenu texte"
},
"text": {
"title": "Texte du filigrane",
"text": "Entrez le texte qui apparaîtra comme votre filigrane sur le document.",
"bullet1": "Restez concis pour une meilleure lisibilité",
"bullet2": "Exemples courants : 'CONFIDENTIEL', 'BROUILLON', nom de l'entreprise",
"bullet3": "Les caractères emoji ne sont pas pris en charge et seront filtrés"
}
},
"file": {
"header": {
"title": "Téléchargement d'image"
},
"upload": {
"title": "Sélection d'image",
"text": "Téléversez un fichier image à utiliser comme filigrane.",
"bullet1": "Prend en charge les formats courants : PNG, JPG, GIF, BMP",
"bullet2": "PNG avec transparence fonctionne le mieux",
"bullet3": "Les images haute résolution maintiennent mieux la qualité"
},
"recommendations": {
"title": "Meilleures pratiques",
"text": "Conseils pour des résultats optimaux de filigrane d'image.",
"bullet1": "Utilisez des logos ou tampons avec des arrière-plans transparents",
"bullet2": "Les conceptions simples fonctionnent mieux que les images complexes",
"bullet3": "Considérez la taille finale du document lors du choix de la résolution"
}
},
"formatting": {
"header": {
"title": "Formatage et mise en page"
},
"size": {
"title": "Contrôle de la taille",
"text": "Ajustez la taille de votre filigrane (texte ou image).",
"bullet1": "Des tailles plus grandes créent des filigranes plus proéminents"
},
"appearance": {
"title": "Paramètres d'apparence",
"text": "Contrôlez l'apparence de votre filigrane et son intégration avec le document.",
"bullet1": "Rotation : -360° à 360° pour les filigranes inclinés",
"bullet2": "Opacité : 0-100% pour le contrôle de la transparence",
"bullet3": "Une opacité plus faible crée des filigranes subtils"
},
"spacing": {
"title": "Contrôle de l'espacement",
"text": "Ajustez l'espacement entre les filigranes répétés sur la page.",
"bullet1": "Espacement horizontal : Distance entre les filigranes de gauche à droite",
"bullet2": "Espacement vertical : Distance entre les filigranes de haut en bas",
"bullet3": "Des valeurs plus élevées créent des motifs plus étalés"
},
"security": {
"title": "Option de sécurité",
"text": "Convertir le PDF final en format basé sur l'image pour une sécurité renforcée.",
"bullet1": "Empêche la sélection et la copie de texte",
"bullet2": "Rend les filigranes plus difficiles à supprimer",
"bullet3": "Résulte en des tailles de fichier plus importantes",
"bullet4": "Meilleur pour le contenu sensible ou protégé par des droits d'auteur"
}
},
"filenamePrefix": "watermarked",
"watermarkType": {
"text": "Text",
"image": "Image"
},
"submit": "Ajouter un filigrane"
},
"customColor": "Couleur de texte personnalisée",
"selectText": {
"1": "PDF auquel ajouter un filigrane",
"2": "Texte du filigrane",
"3": "Taille de police",
"4": "Rotation (de 0 à 360 degrés)",
"5": "Width Spacer (espace entre chaque filigrane horizontalement)",
"6": "Height Spacer (espace entre chaque filigrane verticalement)",
"7": "Opacité (de 0% à 100%)",
"8": "Type de filigrane",
"9": "Image du filigrane",
"10": "Convertir le PDF en PDF-Image"
},
"submit": "Ajouter un filigrane",
"type": {
"1": "Texte",
"2": "Image"
},
"watermarkType": {
"text": "Texte",
"image": "Image"
},
"filenamePrefix": "watermarked",
"steps": {
"wording": "Wording",
"textStyle": "Style",
"formatting": "Mise en forme"
2025-05-29 17:26:32 +01:00
},
"permissions": {
"tags": "permissions,lire,écrire,modifier,imprimer,read,write,edit,print",
"title": "Modifier les permissions",
"header": "Modifier les permissions",
"warning": "Attention, pour que ces permissions soient immuables il est recommandé de les paramétrer avec un mot de passe via la page Ajouter un mot de passe.",
"selectText": {
"1": "Sélectionnez le PDF",
"2": "Permissions à définir",
"3": "Empêcher l'assemblage du document",
"4": "Empêcher l'extraction de contenu",
"5": "Empêcher l'extraction pour l'accessibilité",
"6": "Empêcher de remplir les formulaires",
"7": "Empêcher la modification",
"8": "Empêcher la modification des annotations",
"9": "Empêcher l'impression",
"10": "Empêcher l'impression des différents formats"
},
"submit": "Modifier"
},
"removePages": {
2025-09-19 08:54:48 +01:00
"tags": "supprimer,remove,delete",
"title": "Supprimer",
2025-09-19 12:43:31 +01:00
"submit": "Supprimer",
"filenamePrefix": "pages_removed",
"pageNumbers": "Pages à supprimer",
"pageNumbersPlaceholder": "ex. 1,3,5-7",
"pageNumbersHelp": "Entrez les numéros de page séparés par des virgules, ou des plages comme 1-5. Exemple : 1,3,5-7",
"files": {
"placeholder": "Sélectionnez un fichier PDF dans la vue principale pour commencer"
},
"settings": {
"title": "Sélection de page"
},
"error": {
"failed": "Une erreur s'est produite lors de la suppression des pages."
},
"results": {
"title": "Résultats de la suppression de pages"
}
2025-05-29 17:26:32 +01:00
},
"addPassword": {
"tags": "ajouter,sécurité,mot de passe,secure,security",
"title": "Ajouter un mot de passe",
"header": "Ajouter un mot de passe",
"selectText": {
"1": "PDF à chiffrer",
"2": "Mot de passe de l'utilisateur",
"3": "Longueur de la clé de chiffrement",
"4": "Les valeurs plus élevées sont plus fortes, mais les valeurs plus faibles ont une meilleure compatibilité.",
"5": "Autorisations à définir (utilisation recommandée avec le mot de passe du propriétaire)",
"6": "Empêcher l'assemblage du document",
"7": "Empêcher l'extraction de contenu",
"8": "Empêcher l'extraction pour l'accessibilité",
"9": "Empêcher de remplir les formulaires",
"10": "Empêcher la modification",
"11": "Empêcher la modification des annotations",
"12": "Empêcher l'impression",
"13": "Empêcher l'impression des différents formats",
"14": "Mot de passe du propriétaire",
"15": "Restreint ce qui peut être fait avec le document une fois qu'il est ouvert (non pris en charge par tous les lecteurs).",
"16": "Restreint l'ouverture du document lui-même."
},
2025-09-19 08:54:48 +01:00
"submit": "Chiffrer",
"tooltip": {
"permissions": {
"title": "Modifier les permissions"
}
2025-09-19 12:43:31 +01:00
},
"filenamePrefix": "encrypted"
2025-05-29 17:26:32 +01:00
},
"removePassword": {
"tags": "supprimer,sécurité,mot de passe,secure,decrypt,security,unpassword,delete password",
"title": "Supprimer le mot de passe",
"header": "Supprimer le mot de passe",
"selectText": {
"1": "Sélectionnez le PDF",
"2": "Mot de passe"
},
2025-09-19 08:54:48 +01:00
"submit": "Supprimer",
"desc": "Supprimez la protection par mot de passe de votre PDF.",
"password": {
"stepTitle": "Supprimer le mot de passe",
"label": "Mot de passe actuel"
2025-09-19 12:43:31 +01:00
},
"filenamePrefix": "decrypted"
2025-05-29 17:26:32 +01:00
},
"compressPdfs": {
"tags": "compresser,réduire,taille,squish,small,tiny"
},
"unlockPDFForms": {
2025-09-19 08:54:48 +01:00
"tags": "supprimer,propriété,déverrouiller,formulaire,champs,lecture,remove,delete,form,field,readonly",
"title": "Supprimer la lecture seule des champs de formulaire",
"header": "Déverrouiller les formulaires PDF",
2025-09-19 12:43:31 +01:00
"submit": "Déverrouiller",
"filenamePrefix": "formulaires_deverrouilles",
"description": "Cet outil supprimera les restrictions de lecture seule des champs de formulaire PDF, les rendant modifiables et remplissables.",
"files": {
"placeholder": "Sélectionnez un fichier PDF dans la vue principale pour commencer"
},
"error": {
"failed": "Une erreur s'est produite lors du déverrouillage des formulaires PDF."
},
"results": {
"title": "Résultats des formulaires déverrouillés"
}
2025-05-29 17:26:32 +01:00
},
"changeMetadata": {
"tags": "métadonnées,titre,auteur,date,création,heure,éditeur,statistiques,title,author,date,creation,time,publisher,producer,stats,metadata",
"title": "Titre",
"header": "Modifier les métadonnées",
"selectText": {
"1": "Veuillez modifier les variables que vous souhaitez modifier.",
"2": "Supprimer toutes les métadonnées",
"3": "Afficher des métadonnées personnalisées",
"4": "Autres métadonnées",
"5": "Ajouter une entrée de métadonnées personnalisée"
},
"author": "Auteur",
"creationDate": "Date de création (yyyy/MM/dd HH:mm:ss)",
"creator": "Créateur",
"keywords": "Mots clés",
"modDate": "Date de modification (yyyy/MM/dd HH:mm:ss)",
"producer": "Producteur",
"subject": "Sujet",
"trapped": "Recouvrement (technique d'impression)",
"submit": "Modifier"
},
"fileToPDF": {
"tags": "convertion,transformation,format,document,image,slide,texte,conversion,office,docs,word,excel,powerpoint",
"title": "Fichier en PDF",
"header": "Convertir un fichier en PDF",
"credit": "Ce service utilise LibreOffice et Unoconv pour la conversion de fichiers.",
"supportedFileTypesInfo": "Types de fichiers pris en charge",
"supportedFileTypes": "Les types de fichiers pris en charge doivent inclure les éléments ci-dessous, mais pour une liste complète et mise à jour des formats pris en charge, veuillez vous reporter à la documentation de LibreOffice.",
"submit": "Convertir"
},
"ocr": {
2025-09-19 12:43:31 +01:00
"operation": {
"submit": "Traiter la ROC et examiner"
},
"results": {
"title": "Résultats de la ROC"
},
"languagePicker": {
"additionalLanguages": "Vous cherchez des langues supplémentaires ?",
"viewSetupGuide": "Voir le guide de configuration →"
2025-05-29 17:26:32 +01:00
},
2025-09-19 08:54:48 +01:00
"settings": {
"ocrMode": {
2025-09-19 12:43:31 +01:00
"auto": "Auto (ignorer les couches de texte)",
"force": "Forcer (re-ROC tout, remplacer le texte)",
"strict": "Strict (échec si du texte est trouvé)",
2025-09-19 08:54:48 +01:00
"label": "Mode OCR"
},
"languages": {
2025-09-19 12:43:31 +01:00
"placeholder": "Sélectionner les langues",
2025-09-19 08:54:48 +01:00
"label": "Langues"
2025-09-19 12:43:31 +01:00
},
"compatibilityMode": {
"label": "Mode de compatibilité"
},
"advancedOptions": {
"sidecar": "Créer un fichier texte",
"deskew": "Redédresser les pages",
"clean": "Nettoyer le fichier d'entrée",
"cleanFinal": "Nettoyer la sortie finale",
"label": "Options de traitement"
},
"title": "Paramètres"
2025-09-19 08:54:48 +01:00
},
"tooltip": {
2025-09-19 12:43:31 +01:00
"header": {
"title": "Aperçu des paramètres ROC"
},
2025-09-19 08:54:48 +01:00
"mode": {
2025-09-19 12:43:31 +01:00
"text": "La reconnaissance optique de caractères (ROC) vous aide à transformer les pages scannées ou capturées en texte que vous pouvez rechercher, copier ou surligner.",
"bullet1": "Auto ignore les pages qui contiennent déjà des couches de texte.",
"bullet2": "Forcer re-procède la ROC sur chaque page et remplace tout le texte.",
"bullet3": "Strict s'arrête si du texte sélectionnable est trouvé.",
2025-09-19 08:54:48 +01:00
"title": "Mode OCR"
},
"languages": {
2025-09-19 12:43:31 +01:00
"text": "Améliorez la précision de la ROC en spécifiant les langues attendues. Choisissez une ou plusieurs langues pour guider la détection.",
2025-09-19 08:54:48 +01:00
"title": "Langues"
2025-09-19 12:43:31 +01:00
},
"output": {
"text": "Décidez comment vous voulez que la sortie de texte soit formatée :",
"bullet1": "Le PDF consultable intègre le texte derrière l'image originale.",
"bullet2": "Le XML HOCR retourne un fichier structuré lisible par machine.",
"bullet3": "L'accompagnement en texte brut crée un fichier .txt séparé avec le contenu brut.",
"title": "Sortie"
},
"advanced": {
"header": {
"title": "Traitement ROC avancé"
},
"compatibility": {
"title": "Mode de compatibilité",
"text": "Utilise le mode 'sandwich PDF' de la ROC : résulte en des fichiers plus volumineux, mais plus fiables avec certaines langues et logiciels PDF plus anciens. Par défaut, nous utilisons hOCR pour des PDF plus petits et modernes."
},
"sidecar": {
"title": "Créer un fichier texte",
"text": "Génère un fichier .txt séparé à côté du PDF contenant tout le contenu de texte extrait pour un accès et un traitement faciles."
},
"deskew": {
"title": "Redédresser les pages",
"text": "Corrige automatiquement les pages penchées ou inclinées pour améliorer la précision de la ROC. Utile pour les documents scannés qui n'étaient pas parfaitement alignés."
},
"clean": {
"title": "Nettoyer le fichier d'entrée",
"text": "Prétraite l'entrée en supprimant le bruit, améliorant le contraste et optimisant l'image pour une meilleure reconnaissance ROC avant le traitement."
},
"cleanFinal": {
"title": "Nettoyer la sortie finale",
"text": "Post-traite le PDF final en supprimant les artefacts de la ROC et en optimisant la couche de texte pour une meilleure lisibilité et une taille de fichier plus petite."
}
2025-09-19 08:54:48 +01:00
}
2025-09-19 12:43:31 +01:00
},
"tags": "reconnaissance,texte,image,scan,lecture,identification,détection,modifiable",
"title": "OCR / Nettoyage des scans",
"desc": "Nettoie les scans, détecte le texte des images contenues dans un PDF et le réintègre en tant que texte.",
"header": "Nettoyage des scans / OCR (reconnaissance optique de caractères)",
"selectText": {
"1": "Sélectionnez les langues à détecter dans le PDF (celles listées sont celles actuellement détectées) :",
"2": "Produire un fichier texte contenant le texte OCR en parallèle du PDF OCRisé",
"3": "Corriger les pages scannées avec une inclinaison en les faisant pivoter pour les remettre en place",
"4": "Nettoyer la page pour réduire la probabilité que l'OCR détecte du texte dans le bruit de fond. (Pas de changement de sortie)",
"5": "Nettoyer la page afin qu'il soit moins probable que l'OCR détecte du texte dans le bruit de fond, maintient le nettoyage dans le fichier de sortie.",
"6": "Ignore les pages qui contiennent du texte interactif, n'applique l'OCR que sur les pages qui sont des images",
"7": "Forcer l'OCR, appliquera l'OCR à chaque page en supprimant tous les éléments de texte d'origine",
"8": "Normal (Renverra une erreur si le PDF contient du texte)",
"9": "Paramètres supplémentaires",
"10": "Mode OCR",
"11": "Supprimer les images après OCR (Supprime TOUTES les images, utile uniquement si cela fait partie d'une étape de conversion)",
"12": "Type de rendu (Avancé)"
},
"help": "Veuillez lire cette documentation sur la façon d'utiliser ceci pour d'autres langues et/ou pour une utilisation en dehors de Docker",
"credit": "Ce service utilise qpdf et Tesseract pour l'OCR.",
"submit": "Traiter le PDF avec l'OCR"
2025-05-29 17:26:32 +01:00
},
"extractImages": {
"tags": "image,photo,save,archive,zip,capture,grab",
"title": "Extraire les images",
"header": "Extraire les images",
"selectText": "Format d'image dans lequel convertir les images extraites",
"allowDuplicates": "Enregistrer les images dupliquées",
"submit": "Extraire"
},
"pdfToPDFA": {
"tags": "convertion,archive,long-term,standard,conversion,storage,préservation,preservation",
"title": "PDF en PDF/A",
"header": "PDF en PDF/A",
"credit": "Ce service utilise libreoffice pour la conversion en PDF/A.",
"submit": "Convertir",
"tip": "Ne fonctionne actuellement pas pour plusieurs entrées à la fois",
"outputFormat": "Format de sortie",
"pdfWithDigitalSignature": "Le PDF contient une signature numérique. Elle sera supprimée dans l'étape suivante."
},
"PDFToWord": {
"tags": "doc, docx, odt, word, transformation, format, conversion, office, microsoft, docfile",
"title": "PDF en Word",
"header": "PDF en Word",
"selectText": {
"1": "Format du fichier de sortie"
},
"credit": "Ce service utilise LibreOffice pour la conversion de fichiers.",
"submit": "Convertir"
},
"PDFToPresentation": {
"tags": "présentation,slides,show,office,microsoft",
"title": "PDF en formats de présentation",
"header": "PDF en formats de présentation",
"selectText": {
"1": "Format du fichier de sortie"
},
"credit": "Ce service utilise LibreOffice pour la conversion de fichiers.",
"submit": "Convertir"
},
"PDFToText": {
"tags": "format riche, format de texte riche, format de texte enrichi",
"title": "PDF en RTF (texte)",
"header": "PDF en RTF (texte)",
"selectText": {
"1": "Format du fichier de sortie"
},
"credit": "Ce service utilise LibreOffice pour la conversion de fichiers.",
"submit": "Convertir"
},
"PDFToHTML": {
"tags": "html,web content,browser friendly",
"title": "PDF en HTML",
"header": "PDF en HTML",
"credit": "Ce service utilise pdftohtml pour la conversion de fichiers.",
"submit": "Convertir"
},
"PDFToXML": {
"tags": "xml,extraction de données,contenu structuré,interopérabilité,data-extraction,structured-content,interop,transformation,convert",
"title": "PDF en XML",
"header": "PDF en XML",
"credit": "Ce service utilise LibreOffice pour la conversion de fichiers.",
"submit": "Convertir"
},
"ScannerImageSplit": {
"tags": "diviser,détecter automatiquement,numériser,separate,auto-detect,scans,multi-photo,organize",
"selectText": {
"1": "Seuil de rotation",
"2": "Définit l'angle absolu minimum requis pour la rotation de l'image (par défaut : 10).",
"3": "Tolérance",
"4": "Détermine la plage de variation de couleur autour de la couleur d'arrière-plan estimée (par défaut : 20).",
"5": "Surface minimale",
"6": "Définit la surface minimale pour une photo (par défaut : 8000).",
"7": "Surface de contour minimale",
"8": "Définit la surface de contour minimale pour une photo (par défaut : 500).",
"9": "Taille de la bordure",
"10": "Définit la taille de la bordure ajoutée et supprimée pour éviter les bordures blanches dans la sortie (par défaut : 1)."
},
"info": "Python n'est pas installé. Il est nécessaire pour le fonctionnement."
},
"sign": {
"tags": "signer,authorize,initials,drawn-signature,text-sign,image-signature",
"title": "Signer",
"header": "Signer",
"upload": "Télécharger une image",
"draw": "Dessiner une signature",
"text": "Saisir de texte",
"clear": "Effacer",
"add": "Ajouter",
"saved": "Sceaux enregistrées",
"save": "Enregistrer le sceau",
"personalSigs": "Sceaux personnels",
"sharedSigs": "Sceaux partagés",
"noSavedSigs": "Aucun sceau enregistré trouvé",
"addToAll": "Ajouter à toutes les pages",
"delete": "Supprimer",
"first": "Première page",
"last": "Dernière page",
"next": "Page suivante",
"previous": "Page précédente",
"maintainRatio": "Conserver les proportions",
"undo": "Défaire",
"redo": "Refaire"
},
"flatten": {
"tags": "inerte,static,deactivate,non-interactive,streamline",
"title": "Rendre inerte",
"header": "Rendre inerte",
2025-09-19 12:43:31 +01:00
"tooltip": {
"header": {
"title": "À propos de l'aplatissement des PDF"
},
"description": {
"title": "Que fait l'aplatissement ?",
"text": "L'aplatissement rend votre PDF non modifiable en transformant les formulaires remplissables et les boutons en texte et images réguliers. Le PDF aura exactement la même apparence, mais personne ne pourra plus modifier ou remplir les formulaires. Parfait pour partager des formulaires complétés, créer des documents finaux pour les archives, ou s'assurer que le PDF a la même apparence partout.",
"bullet1": "Les zones de texte deviennent du texte régulier (ne peuvent pas être éditées)",
"bullet2": "Les cases à cocher et boutons deviennent des images",
"bullet3": "Parfait pour les versions finales que vous ne voulez pas modifier",
"bullet4": "Assure une apparence cohérente sur tous les appareils"
},
"formsOnly": {
"title": "Que signifie 'Aplatir uniquement les formulaires' ?",
"text": "Cette option supprime uniquement la capacité de remplir les formulaires, mais garde les autres fonctionnalités actives comme cliquer sur les liens, visualiser les signets et lire les commentaires.",
"bullet1": "Les formulaires deviennent non modifiables",
"bullet2": "Les liens fonctionnent toujours quand on clique dessus",
"bullet3": "Les commentaires et notes restent visibles",
"bullet4": "Les signets aident toujours à naviguer"
}
},
2025-05-29 17:26:32 +01:00
"flattenOnlyForms": "Aplatir uniquement les formulaires",
2025-09-19 08:54:48 +01:00
"submit": "Rendre inerte",
2025-09-19 12:43:31 +01:00
"files": {
"placeholder": "Sélectionnez un fichier PDF dans la vue principale pour commencer"
},
"options": {
"title": "Options d'aplatissement",
"stepTitle": "Options d'aplatissement",
"flattenOnlyForms": "Aplatir uniquement les formulaires",
"note": "L'aplatissement supprime les éléments interactifs du PDF, les rendant non modifiables."
},
"results": {
"title": "Résultats de l'aplatissement"
},
"error": {
"failed": "Une erreur s'est produite lors de l'aplatissement du PDF."
},
2025-09-19 08:54:48 +01:00
"steps": {
"settings": "Paramètres"
},
2025-09-19 12:43:31 +01:00
"filenamePrefix": "flattened"
2025-05-29 17:26:32 +01:00
},
"repair": {
2025-09-19 12:43:31 +01:00
"description": "Cet outil tentera de réparer les fichiers PDF corrompus ou endommagés. Aucun paramètre supplémentaire n'est requis.",
"files": {
"placeholder": "Sélectionnez un fichier PDF dans la vue principale pour commencer"
},
"error": {
"failed": "Une erreur s'est produite lors de la réparation du PDF."
},
"results": {
"title": "Résultats de la réparation"
},
2025-05-29 17:26:32 +01:00
"title": "Réparer",
2025-09-19 12:43:31 +01:00
"submit": "Réparer",
"filenamePrefix": "repaired",
"tags": "réparer,restaurer,correction,récupérer",
"header": "Réparer les PDFs"
2025-05-29 17:26:32 +01:00
},
"removeBlanks": {
"tags": "pages vierges,supprimer,nettoyer,cleanup,streamline,non-content,organize",
"title": "Supprimer les pages vierges",
"header": "Supprimer les pages vierges",
"threshold": "Seuil de blancheur des pixels",
"thresholdDesc": "Seuil pour déterminer à quel point un pixel blanc doit être blanc pour être classé comme « blanc » (0 = noir, 255 = blanc pur).",
"whitePercent": "Pourcentage de blanc",
"whitePercentDesc": "Pourcentage de la page qui doit contenir des pixels « blancs » à supprimer.",
"submit": "Supprimer les pages vierges"
},
"removeAnnotations": {
"tags": "commentaires,supprimer,annotations,highlight,notes,markup,remove",
"title": "Supprimer les annotations",
"header": "Supprimer les annotations",
"submit": "Supprimer"
},
"compare": {
"tags": "comparer,analyser,differentiate,contrast,changes,analysis",
"title": "Comparer",
"header": "Comparer",
"highlightColor": {
"1": "Couleur de mise en évidence 1 :",
"2": "Couleur de mise en évidence 2 :"
},
"document": {
"1": "Document 1",
"2": "Document 2"
},
"submit": "Comparer",
"complex": {
"message": "Un ou les deux documents fournis sont des fichiers volumineux, l'exactitude de la comparaison peut être réduite"
},
"large": {
"file": {
"message": "Un ou les deux documents fournis sont trop volumineux pour être traités"
}
},
"no": {
"text": {
"message": "L'un ou les deux documents PDF sélectionnés ne contiennent aucun contenu textuel. Veuillez choisir des documents PDF avec du texte pour la comparaison."
}
}
},
"certSign": {
"tags": "signer,chiffrer,certificat,authenticate,PEM,P12,official,encrypt",
"title": "Signer avec un certificat",
"header": "Signer avec un certificat (Travail en cours)",
"selectPDF": "PDF à signer",
"jksNote": "Note: Si votre type de certificat n'est pas listé ci-dessous, merci de le convertir en fichier Java Keystore (.jks) en utilisant l'outil en ligne de commande keytool. Puis choisissez l'option Fichier .jks ci-dessous.",
"selectKey": "Fichier de clé privée (format PKCS#8, peut être .pem ou .der)",
"selectCert": "Fichier de certificat (format X.509, peut être .pem ou .der)",
"selectP12": "Fichier keystore de clés PKCS#12 (.p12 ou .pfx) (facultatif, s'il n'est fourni, il doit contenir votre clé privée et votre certificat)",
"selectJKS": "Sélectionner votre fichier Java Keystore File (.jks or .keystore):",
"certType": "Type de certificat",
"password": "Mot de passe keystore ou clé privée le cas échéant",
"showSig": "Afficher la signature",
"reason": "Raison",
"location": "Emplacement",
"name": "Nom",
"showLogo": "Afficher le logo",
"submit": "Signer"
},
"removeCertSign": {
2025-09-19 12:43:31 +01:00
"description": "Cet outil supprimera les signatures de certificat numérique de votre document PDF.",
"files": {
"placeholder": "Sélectionnez un fichier PDF dans la vue principale pour commencer"
},
"error": {
"failed": "Une erreur s'est produite lors de la suppression des signatures de certificat."
},
"results": {
"title": "Résultats de la suppression de certificat"
},
"filenamePrefix": "unsigned",
"tags": "authentifier,PEM,P12,officiel,décrypter",
"title": "Supprimer la signature du certificat",
2025-05-29 17:26:32 +01:00
"header": "Supprimer le certificat numérique du PDF",
"selectPDF": "Sélectionnez un fichier PDF :",
2025-09-19 12:43:31 +01:00
"submit": "Supprimer la signature"
2025-05-29 17:26:32 +01:00
},
"pageLayout": {
"tags": "fusionner,merge,composite,single-view,organize",
"title": "Fusionner des pages",
"header": "Fusionner des pages",
"pagesPerSheet": "Pages par feuille",
"addBorder": "Ajouter des bordures",
"submit": "Fusionner"
},
"scalePages": {
"tags": "ajuster,redimensionner,resize,modify,dimension,adapt",
"title": "Ajuster la taille ou l'échelle",
"header": "Ajuster la taille ou l'échelle",
"pageSize": "Taille d'une page du document",
"keepPageSize": "Taille d'origine",
"scaleFactor": "Niveau de zoom (recadrage) d'une page",
"submit": "Ajuster"
},
"add-page-numbers": {
"tags": "paginer,numéros,étiqueter,paginate,label,organize,index"
},
"auto-rename": {
2025-09-19 12:43:31 +01:00
"description": "Trouve automatiquement le titre dans le contenu de votre PDF et l'utilise comme nom de fichier.",
"files": {
"placeholder": "Sélectionnez un fichier PDF dans la vue principale pour commencer"
},
"error": {
"failed": "Une erreur s'est produite lors du renommage automatique du PDF."
},
"results": {
"title": "Résultats du renommage automatique"
},
"tooltip": {
"header": {
"title": "Comment fonctionne le renommage automatique"
},
"howItWorks": {
"title": "Renommage intelligent",
"text": "Trouve automatiquement le titre dans le contenu de votre PDF et l'utilise comme nom de fichier.",
"bullet1": "Recherche du texte qui semble être un titre ou un en-tête",
"bullet2": "Crée un nom de fichier propre et valide à partir du titre détecté",
"bullet3": "Conserve le nom original si aucun titre approprié n'est trouvé"
}
},
"tags": "détection automatique,basé sur l'en-tête,organiser,renommer",
"title": "Renommage automatique",
"header": "Renommer automatiquement le PDF",
2025-05-29 17:26:32 +01:00
"submit": "Renommer automatiquement"
},
"adjust-contrast": {
"tags": "ajuster,couleurs,amélioration,color-correction,tune,modify,enhance"
},
"crop": {
"tags": "redimensionner,trim,shrink,edit,shape",
"title": "Redimensionner",
"header": "Redimensionner",
"submit": "Envoyer"
},
"autoSplitPDF": {
"tags": "séparer,QR-based,separate,scan-segment,organize",
"title": "Séparer automatiquement les pages",
"header": "Séparer automatiquement les pages",
"description": "Imprimez, insérez, numérisez, téléchargez et laissez-nous séparer automatiquement vos documents. Aucun travail de tri manuel nécessaire.",
"selectText": {
"1": "Imprimez des feuilles de séparation ci-dessous (le mode noir et blanc convient).",
"2": "Numérisez tous vos documents en une seule fois en insérant les feuilles intercalaires entre eux.",
"3": "Téléchargez le fichier PDF numérisé et laissez Stirling PDF s'occuper du reste.",
"4": "Les feuilles de séparation sont automatiquement détectées et supprimées, garantissant un document final soigné."
},
"formPrompt": "PDF contenant des feuilles de séparation de Stirling PDF :",
"duplexMode": "Mode recto-verso",
"dividerDownload2": "Auto Splitter Divider (with instructions).pdf",
"submit": "Séparer"
},
"sanitizePdf": {
"tags": "assainir,sécurisé,clean,secure,safe,remove-threats"
},
"URLToPDF": {
"tags": "pdf,contenu Web,save-page,web-to-doc,archive",
"title": "URL en PDF",
"header": "URL en PDF",
"submit": "Convertir",
"credit": "Utilise WeasyPrint."
},
"HTMLToPDF": {
"tags": "html,markup,contenu Web,transformation,convert",
"title": "HTML en PDF",
"header": "HTML en PDF",
"help": "Accepte les fichiers HTML et les ZIP contenant du HTML, du CSS, des images, etc. (requis).",
"submit": "Convertir",
"credit": "Utilise WeasyPrint.",
"zoom": "Niveau de zoom pour l'affichage du site web.",
"pageWidth": "Largeur de la page en centimètres. (Vide par défaut)",
"pageHeight": "Hauteur de la page en centimètres. (Vide par défaut)",
"marginTop": "Marge supérieure de la page en millimètres. (Vide par défaut)",
"marginBottom": "Marge inférieure de la page en millimètres. (Vide par défaut)",
"marginLeft": "Marge gauche de la page en millimètres. (Vide par défaut)",
"marginRight": "Marge droite de la page en millimètres. (Vide par défaut)",
"printBackground": "Restituer l'image de fond des sites web.",
"defaultHeader": "Activer l'entête par défaut (Nom et numéro de page)",
"cssMediaType": "Modifier le type de média CSS de la page.",
"none": "Aucun",
"print": "Imprimer",
"screen": "Écran"
},
"MarkdownToPDF": {
"tags": "markdown,markup,contenu Web,transformation,convert",
"title": "Markdown en PDF",
"header": "Markdown en PDF",
"submit": "Convertir",
"help": "(Travail en cours).",
"credit": "Utilise WeasyPrint."
},
"PDFToMarkdown": {
2025-09-19 08:54:48 +01:00
"tags": "markdown,markup,contenu Web,transformation,convert",
"title": "PDF en Markdown",
"header": "PDF en Markdown",
"submit": "Convertir"
2025-05-29 17:26:32 +01:00
},
"getPdfInfo": {
"tags": "récupérer,infomation,data,stats,statistics",
"title": "Récupérer les informations",
"header": "Récupérer les informations",
"submit": "Récupérer les informations",
"downloadJson": "Télécharger le JSON"
},
"extractPage": {
"tags": "extraire,extract"
},
"PdfToSinglePage": {
"tags": "fusionner,merge,une seule page,single page"
},
"showJS": {
"tags": "JS",
"title": "Afficher le JavaScript",
"header": "Afficher le JavaScript",
"downloadJS": "Télécharger le JavaScript",
"submit": "Afficher"
},
"autoRedact": {
"tags": "caviarder,redact,auto,Masquer,noircir,noir,marqueur,caché,rédiger,censurer",
"title": "Caviarder automatiquement",
"header": "Caviarder automatiquement",
"colorLabel": "Couleur",
"textsToRedactLabel": "Texte à caviarder (séparé par des lignes)",
"textsToRedactPlaceholder": "ex. \\nConfidentiel \\nTop secret",
"useRegexLabel": "Utiliser une Regex",
"wholeWordSearchLabel": "Recherche de mots entiers",
"customPaddingLabel": "Marge intérieure supplémentaire",
"convertPDFToImageLabel": "Convertir un PDF en PDF-Image (utilisé pour supprimer le texte en arrière-plan)",
"submitButton": "Caviarder"
},
"redact": {
2025-09-19 12:43:31 +01:00
"header": "Biffure manuelle",
"textBasedRedaction": "Biffure basée sur le texte",
"pageBasedRedaction": "Biffure basée sur la page",
"convertPDFToImageLabel": "Convertir PDF en PDF-Image (Utilisé pour supprimer le texte derrière la boîte)",
2025-05-29 17:26:32 +01:00
"pageRedactionNumbers": {
"title": "Pages",
2025-09-19 12:43:31 +01:00
"placeholder": "(p.ex. 1,2,8 ou 4,7,12-16 ou 2n-1)"
2025-05-29 17:26:32 +01:00
},
"redactionColor": {
2025-09-19 12:43:31 +01:00
"title": "Couleur de biffure"
2025-05-29 17:26:32 +01:00
},
"export": "Exporter",
"upload": "Téléverser",
2025-09-19 12:43:31 +01:00
"boxRedaction": "Biffure par tracé de boîte",
2025-05-29 17:26:32 +01:00
"zoom": "Zoom",
"zoomIn": "Zoom avant",
"zoomOut": "Zoom arrière",
"nextPage": "Page suivante",
"previousPage": "Page précédente",
2025-09-19 12:43:31 +01:00
"error": {
"failed": "Une erreur s'est produite lors de la biffure du PDF."
},
"modeSelector": {
"title": "Méthode de biffure",
"automaticDesc": "Biffer le texte basé sur les termes de recherche",
"manualDesc": "Cliquez et faites glisser pour biffer des zones spécifiques",
"manualComingSoon": "La biffure manuelle arrive bientôt",
"mode": "Mode",
"automatic": "Automatique",
"manual": "Manuel"
},
2025-09-19 08:54:48 +01:00
"auto": {
2025-09-19 12:43:31 +01:00
"header": "Biffure automatique",
2025-09-19 08:54:48 +01:00
"settings": {
2025-09-19 12:43:31 +01:00
"title": "Paramètres de biffure",
"advancedTitle": "Avancé"
2025-09-19 08:54:48 +01:00
},
2025-09-19 12:43:31 +01:00
"colorLabel": "Couleur de la boîte",
2025-09-19 08:54:48 +01:00
"wordsToRedact": {
2025-09-19 12:43:31 +01:00
"title": "Mots à biffer",
"placeholder": "Entrez un mot",
"examples": "Exemples : Confidentiel, Top-Secret",
2025-09-19 08:54:48 +01:00
"add": "Ajouter"
2025-09-19 12:43:31 +01:00
},
"useRegexLabel": "Utiliser Regex",
"wholeWordSearchLabel": "Recherche de mots entiers",
"customPaddingLabel": "Marge supplémentaire personnalisée",
"convertPDFToImageLabel": "Convertir PDF en PDF-Image"
2025-09-19 08:54:48 +01:00
},
"manual": {
2025-09-19 12:43:31 +01:00
"header": "Biffure manuelle",
"textBasedRedaction": "Biffure basée sur le texte",
"pageBasedRedaction": "Biffure basée sur la page",
"convertPDFToImageLabel": "Convertir PDF en PDF-Image (Utilisé pour supprimer le texte derrière la boîte)",
"redactionColor": {
"title": "Couleur de biffure"
},
"boxRedaction": "Biffure par tracé de boîte",
"zoomIn": "Zoom avant",
"zoomOut": "Zoom arrière",
"nextPage": "Page suivante",
"previousPage": "Page précédente",
"toggleSidebar": "Basculer la barre latérale",
2025-09-19 08:54:48 +01:00
"pageRedactionNumbers": {
2025-09-19 12:43:31 +01:00
"title": "Pages",
"placeholder": "(p.ex. 1,2,8 ou 4,7,12-16 ou 2n-1)"
2025-09-19 08:54:48 +01:00
},
2025-09-19 12:43:31 +01:00
"export": "Export",
"upload": "Téléverser",
"zoom": "Zoom",
"showThumbnails": "Afficher les vignettes",
"showDocumentOutline": "Afficher le plan du document (double-cliquez pour développer/réduire tous les éléments)",
"showAttachments": "Afficher les pièces jointes",
"showLayers": "Afficher les calques (double-cliquez pour réinitialiser tous les calques à l'état par défaut)",
"colourPicker": "Sélecteur de couleur",
"findCurrentOutlineItem": "Rechercher l'élément courant du plan",
"applyChanges": "Appliquer les modifications"
},
"tooltip": {
"mode": {
"header": {
"title": "Méthode de biffure"
},
"automatic": {
"title": "Biffure automatique",
"text": "Trouve et biffe automatiquement le texte spécifié dans tout le document. Parfait pour supprimer des informations sensibles cohérentes comme les noms, adresses ou marqueurs confidentiels."
},
"manual": {
"title": "Biffure manuelle",
"text": "Cliquez et faites glisser pour sélectionner manuellement des zones spécifiques à biffer. Vous donne un contrôle précis sur ce qui est biffé. (Arrive bientôt)"
}
},
"words": {
"header": {
"title": "Mots à biffer"
},
"description": {
"text": "Entrez des mots ou phrases à trouver et biffer dans votre document. Chaque mot sera recherché séparément.",
"title": "Correspondance de texte"
},
"bullet1": "Ajoutez un mot à la fois",
"bullet2": "Appuyez sur Entrée ou cliquez sur 'Ajouter un autre' pour ajouter",
"bullet3": "Cliquez sur × pour supprimer les mots",
"examples": {
"title": "Exemples courants",
"text": "Les mots typiques à biffer incluent : détails bancaires, adresses e-mail ou noms spécifiques."
}
},
"advanced": {
"header": {
"title": "Paramètres avancés de biffure"
},
"color": {
"title": "Couleur et marge de la boîte",
"text": "Personnalisez l'apparence des boîtes de biffure. Le noir est standard, mais vous pouvez choisir n'importe quelle couleur. La marge ajoute de l'espace supplémentaire autour du texte trouvé."
},
"regex": {
"text": "Activez les expressions régulières pour une correspondance de motifs avancée. Utile pour trouver des numéros de téléphone, e-mails ou motifs complexes.",
"bullet1": "Exemple : \\d{4}-\\d{2}-\\d{2} pour correspondre à toutes les dates au format AAAA-MM-JJ",
"bullet2": "Utilisez avec prudence - testez minutieusement",
"title": "Utiliser les expressions régulières"
},
"wholeWord": {
"title": "Recherche de mots entiers",
"text": "Ne correspond qu'aux mots complets, pas aux correspondances partielles. 'John' ne correspondra pas à 'Johnson' quand activé."
},
"convert": {
"title": "Convertir en PDF-Image",
"text": "Convertit le PDF en PDF basé sur l'image après biffure. Cela assure que le texte derrière les boîtes de biffure est complètement supprimé et irrécupérable."
}
}
},
"title": "Redact",
"submit": "Redact",
"tags": "caviarder,masquer,noircir,noir,marqueur,caché,caviature automatique,caviature manuelle"
2025-05-29 17:26:32 +01:00
},
"tableExtraxt": {
"tags": "CSV, Extraction de table, extraction, conversion"
},
"autoSizeSplitPDF": {
"tags": "pdf, découpage, document, organisation"
},
"overlay-pdfs": {
"tags": "Overlay,incrustation",
"header": "Incrustation de PDF",
"baseFile": {
"label": "Sélectionner le fichier PDF de base"
},
"overlayFiles": {
"label": "Sélectionner les fichiers PDF à superposer"
},
"mode": {
"label": "Sélectionner le mode d'incrustation",
"sequential": "Superposition séquentielle",
"interleaved": "Superposition entrelacée",
"fixedRepeat": "Superposition à répétition fixe"
},
"counts": {
"label": "Nombre de superpositions (pour le mode de répétition fixe)",
"placeholder": "Compteurs (séparés par des virgules, exemple : 2,3,1)"
},
"position": {
"label": "Définir la position de l'incrustation",
"foreground": "Premier plan",
"background": "Arrière-plan"
},
"submit": "Soumettre"
},
"split-by-sections": {
"tags": "Sections,Diviser,Section Split, Divide, Customize",
"title": "Diviser le PDF en sections",
"header": "Diviser le PDF en sections",
"horizontal": {
"label": "Divisions horizontales",
"placeholder": "Saisir le nombre de divisions horizontales"
},
"vertical": {
"label": "Divisions verticales",
"placeholder": "Entrer le nombre de divisions verticales"
},
"submit": "Diviser le PDF",
"merge": "Fusionner en un seul PDF"
},
"AddStampRequest": {
"tags": "Tampon,Ajouter,Stamp,Add image,center image,Watermark,PDF,Embed,Customize",
"header": "Tampon PDF",
"title": "Tampon PDF",
"stampType": "Type de tampon",
"stampText": "Tampon texte",
"stampImage": "Tampon image",
"alphabet": "Alphabet",
"fontSize": "Taille de fonte/image",
"rotation": "Rotation",
"opacity": "Opacité",
"position": "Position",
"overrideX": "Définir coordonnées X",
"overrideY": "Définir coordonnées Y",
"customMargin": "Marge personnalisée",
"customColor": "Couleur de texte personnalisée",
"submit": "Soumettre"
},
"removeImagePdf": {
"tags": "Images,Remove Image,Page operations,Back end,server side"
},
"splitPdfByChapters": {
"tags": "séparer,chapitres,split,chapters,bookmarks,organize"
},
"validateSignature": {
2025-09-19 12:43:31 +01:00
"tags": "signature,vérifier,valider,pdf,certificat,signature numérique,Valider la signature,Valider le certificat",
2025-05-29 17:26:32 +01:00
"title": "Valider les signatures PDF",
"header": "Valider les signatures numériques",
"selectPDF": "Sélectionnez un fichier PDF signé",
"submit": "Valider les signatures",
"results": "Résultats de la validation",
"status": {
"_value": "Statut",
"valid": "Valide",
"invalid": "Invalide"
},
"signer": "Signataire",
"date": "Date",
"reason": "Raison",
"location": "Localisation",
"noSignatures": "Aucune signature numérique trouvée dans ce document",
"chain": {
"invalid": "La validation de la chaîne de certificats a échoué - impossible de vérifier l'identité du signataire"
},
"trust": {
"invalid": "Le certificat n'est pas dans le magasin de confiance - la source ne peut pas être vérifiée"
},
"cert": {
"expired": "Le certificat a expiré",
"revoked": "Le certificat a été révoqué",
"info": "Détails du certificat",
"issuer": "Émetteur",
"subject": "Sujet",
"serialNumber": "Numéro de série",
"validFrom": "Valide à partir du",
"validUntil": "Valide jusqu'au",
"algorithm": "Algorithme",
"keySize": "Taille de la clé",
"version": "Version",
"keyUsage": "Usage de la clé",
"selfSigned": "Auto-signé",
"bits": "bits"
},
"signature": {
"info": "Informations sur la signature",
"_value": "Signature",
"mathValid": "La signature est mathématiquement valide MAIS :"
},
"selectCustomCert": "Fichier de certificat personnalisé X.509 (Optionnel)"
},
"replace-color": {
"title": "Remplacer-Inverser-Couleur",
"header": "Remplacer-Inverser Couleur PDF",
"selectText": {
"1": "Options de Remplacement ou d'Inversion de Couleur",
"2": "Par défaut (Couleurs à fort contraste par défaut)",
"3": "Personnalisé (Couleurs personnalisées)",
"4": "Inversion complète (Inverser toutes les couleurs)",
"5": "Options de couleur à fort contraste",
"6": "Texte blanc sur fond noir",
"7": "Texte noir sur fond blanc",
"8": "Texte jaune sur fond noir",
"9": "Texte vert sur fond noir",
"10": "Choisir la couleur du texte",
"11": "Choisir la couleur de l'arrière-plan"
},
"submit": "Remplacer"
},
"replaceColorPdf": {
"tags": "Remplacer Couleur,Opérations de Page,Back-end,Côté serveur"
},
"login": {
"title": "Connexion",
"header": "Connexion",
"signin": "Connexion",
"rememberme": "Se souvenir de moi",
"invalid": "Nom d'utilisateur ou mot de passe invalide.",
"locked": "Votre compte a été verrouillé.",
"signinTitle": "Veuillez vous connecter",
"ssoSignIn": "Se connecter via l'authentification unique",
"oAuth2AutoCreateDisabled": "OAUTH2 Création automatique d'utilisateur désactivée",
"oAuth2AdminBlockedUser": "La création ou l'authentification d'utilisateurs non enregistrés est actuellement bloquée. Veuillez contacter l'administrateur.",
"oauth2RequestNotFound": "Demande d'autorisation introuvable",
"oauth2InvalidUserInfoResponse": "Réponse contenant les informations de l'utilisateur est invalide",
"oauth2invalidRequest": "Requête invalide",
"oauth2AccessDenied": "Accès refusé",
"oauth2InvalidTokenResponse": "Réponse contenant le jeton est invalide",
"oauth2InvalidIdToken": "Jeton d'identification invalide",
2025-09-19 08:54:48 +01:00
"relyingPartyRegistrationNotFound": "Aucun enregistrement de partie de confiance trouvé",
2025-05-29 17:26:32 +01:00
"userIsDisabled": "L'utilisateur est désactivé, la connexion est actuellement bloquée avec ce nom d'utilisateur. Veuillez contacter l'administrateur.",
"alreadyLoggedIn": "Vous êtes déjà connecté sur",
"alreadyLoggedIn2": "appareils. Veuillez vous déconnecter des appareils et réessayer.",
"toManySessions": "Vous avez trop de sessions actives.",
2025-09-19 08:54:48 +01:00
"logoutMessage": "Vous avez été déconnecté."
2025-05-29 17:26:32 +01:00
},
"pdfToSinglePage": {
"title": "Fusionner les pages",
"header": "Fusionner les pages",
2025-09-19 12:43:31 +01:00
"submit": "Convertir en une seule page",
"filenamePrefix": "single_page",
"description": "Cet outil fusionnera toutes les pages de votre PDF en une seule grande page. La largeur restera la même que celle des pages d'origine, mais la hauteur sera la somme de toutes les hauteurs de page.",
"files": {
"placeholder": "Sélectionnez un fichier PDF dans la vue principale pour commencer"
},
"error": {
"failed": "Une erreur est survenue lors de la conversion en page unique."
},
"results": {
"title": "Résultats de la page unique"
}
2025-05-29 17:26:32 +01:00
},
"pageExtracter": {
"title": "Extraire des pages",
"header": "Extraire des pages",
"submit": "Extraire",
"placeholder": "(par exemple : 1,2,8 ou 4,7,12-16 ou 2n-1)"
},
"sanitizePDF": {
"title": "Assainir",
"header": "Assainir",
"selectText": {
"1": "Supprimer les actions JavaScript",
"2": "Supprimer les fichiers intégrés",
2025-09-19 08:54:48 +01:00
"3": "Supprimer les métadonnées XMP",
2025-05-29 17:26:32 +01:00
"4": "Supprimer les liens",
"5": "Supprimer les polices",
2025-09-19 08:54:48 +01:00
"6": "Supprimer les métadonnées d'information du document"
2025-05-29 17:26:32 +01:00
},
"submit": "Assainir"
},
"adjustContrast": {
"title": "Ajuster les couleurs",
"header": "Ajuster les couleurs",
"contrast": "Contraste",
"brightness": "Luminosité",
"saturation": "Saturation",
"download": "Télécharger"
},
"compress": {
"title": "Compresser un PDF",
"header": "Compresser un PDF (lorsque c'est possible!)",
"credit": "Ce service utilise qpdf pour la compression et l'optimisation des PDF.",
"grayscale": {
"label": "Appliquer l'échelle de gris pour la compression"
},
"selectText": {
"1": {
2025-09-19 12:43:31 +01:00
"_value": "Paramètres de compression",
2025-09-19 08:54:48 +01:00
"1": "1-3 compression PDF,</br> 4-6 compression d'image légère,</br> 7-9 compression d'image intense qui réduira considérablement la qualité de l'image"
2025-05-29 17:26:32 +01:00
},
"2": "Niveau d'optimisation",
"4": "Mode automatique ajuste automatiquement la qualité pour obtenir le PDF à la taille exacte",
"5": "Taille PDF attendue (par exemple, 25MB, 10,8MB, 25KB)"
},
2025-09-19 08:54:48 +01:00
"submit": "Compresser",
"method": {
2025-09-19 12:43:31 +01:00
"filesize": "Taille du Fichier",
"quality": "Qualité",
"title": "Méthode de compression"
},
"desc": "Compressez les fichiers PDF pour réduire leur taille."
2025-05-29 17:26:32 +01:00
},
"decrypt": {
"passwordPrompt": "Ce fichier est protégé par un mot de passe. Veuillez saisir le mot de passe :",
"cancelled": "Operation annulée pour le PDF: {0}",
"noPassword": "Pas de mot de passe fourni pour le PDF chiffré : {0}",
"invalidPassword": "Veuillez réessayer avec le bon mot de passe",
"invalidPasswordHeader": "Mauvais mot de passe ou chiffrement non supporté pour le PDF : {0}",
"unexpectedError": "Une erreur est survenue lors de traitement du fichier. Veuillez essayer de nouveau.",
"serverError": "Erreur du serveur lors du déchiffrement : {0}",
"success": "Fichier déchiffré avec succès."
},
"multiTool-advert": {
"message": "Cette fonctionnalité est aussi disponible dans la <a href=\"{0}\">page de l'outil multifonction</a>. Allez-y pour une interface page par page améliorée et des fonctionnalités additionnelles !"
},
"pageRemover": {
"title": "Supprimer des pages",
"header": "Supprimer des pages",
"pagesToDelete": "Pages à supprimer (entrez une liste de numéros de pages séparés par des virgules) :",
"submit": "Supprimer les pages",
"placeholder": "(par exemple 1,2,6 ou 1-10,15-30)"
},
"imageToPDF": {
"title": "Image en PDF",
"header": "Image en PDF",
"submit": "Convertir",
"selectLabel": "Options d'ajustement de l'image",
"fillPage": "Remplir la page",
"fitDocumentToImage": "Ajuster la page à l'image",
"maintainAspectRatio": "Maintenir les proportions",
"selectText": {
"2": "Rotation automatique du PDF",
"3": "Logique multi-fichiers (uniquement activée si vous travaillez avec plusieurs images)",
"4": "Fusionner en un seul PDF",
"5": "Convertir en PDF séparés"
}
},
"PDFToCSV": {
"title": "PDF en CSV",
"header": "PDF en CSV",
"prompt": "Choisir la page pour en extraire le tableau",
"submit": "Extrait"
},
"split-by-size-or-count": {
"title": "Séparer le PDF par taille ou par nombre",
"header": "Séparer le PDF par taille ou par nombre",
"type": {
"label": "Sélectionner le type de division",
"size": "Par taille",
"pageCount": "Par nombre de pages",
"docCount": "Par nombre de documents"
},
"value": {
"label": "Entrer la valeur",
"placeholder": "Saisir la taille (par exemple, 2MB ou 3KB) ou le nombre (par exemple, 5)"
},
"submit": "Séparer"
},
"printFile": {
"title": "Imprimer le fichier",
"header": "Imprimer le fichier sur l'imprimante",
"selectText": {
"1": "Sélectionner le fichier à imprimer",
"2": "Entrez le nom de l'imprimante"
},
"submit": "Imprimer"
},
"licenses": {
"nav": "Licences",
"title": "Licences tierces",
"header": "Licences tierces",
"module": "Module",
"version": "Version",
"license": "Licence"
},
"survey": {
"nav": "Enquête",
"title": "Enquête Stirling-PDF",
"description": "Stirling-PDF n'a pas de suivi, donc nous voulons entendre nos utilisateurs pour améliorer Stirling-PDF !",
"changes": "Stirling-PDF a changé depuis la dernière enquête ! Pour en savoir plus, veuillez consulter notre article de blog ici :",
"changes2": "Avec ces changements, nous obtenons un soutien commercial rémunéré et un financement",
"please": "Veuillez envisager de répondre à notre enquête !",
"disabled": "(La fenêtre contextuelle de l'enquête sera désactivée dans les mises à jour suivantes mais sera disponible en bas de page)",
"button": "Répondre à l'enquête",
"dontShowAgain": "Ne plus afficher",
"meeting": {
"1": "Si vous utilisez Stirling PDF au travail, nous aimerions en discuter avec vous. Nous offrons des sessions de support technique en échante d'une discussion de 15 minutes pour découvrir nos utilisateurs.",
"2": "C'est l'occasion de :",
"3": "Obtenir de l'aide pour le déploiement, l'intégration ou résoudre des problèmes",
"4": "Fournir un retour direct sur les performances, les cas limites, les fonctionnalités demandées",
"5": "Nous aider à adapter Stirling PDF aux usages réels en entreprise",
"6": "Si vous êtes intéressé, prenez rendez-vous avec notre équipe (en anglias uniquement)",
"7": "Nous avons hâte de découvrir vos cas d'usage et d'améliorer encore Stirling PDF !",
"notInterested": "Bous n'êtes pas une entreprise et/ou n'êtes pas intéressé par une discussion ?",
"button": "Prendre rendez-vous"
}
},
"removeImage": {
"title": "Supprimer l'image",
"header": "Supprimer l'image",
"removeImage": "Supprimer l'image",
"submit": "Supprimer l'image"
},
"splitByChapters": {
"title": "Diviser un PDF par Chapitres",
"header": "Diviser un PDF par Chapitres",
"bookmarkLevel": "Niveau de Signet",
"includeMetadata": "Inclure les Métadonnées",
"allowDuplicates": "Autoriser les Doublons",
"desc": {
"1": "Cet outil divise un fichier PDF en plusieurs PDF en fonction de sa structure de chapitres.",
"2": "Niveau de Signet : Choisissez le niveau de signets à utiliser pour la division (0 pour le niveau supérieur, 1 pour le deuxième niveau, etc...).",
"3": "Inclure les Métadonnées : Si coché, les métadonnées du PDF original seront incluses dans chaque PDF divisé.",
"4": "Autoriser les Doublons : Si coché, permet à plusieurs signets sur la même page de créer des PDF séparés."
},
"submit": "Diviser le PDF"
},
"fileChooser": {
"click": "Cliquez",
"or": "ou",
"dragAndDrop": "Glisser & Déposer",
2025-09-19 08:54:48 +01:00
"dragAndDropPDF": "Glisser & Déposer un PDF",
"dragAndDropImage": "Glisser & Déposer une image",
2025-05-29 17:26:32 +01:00
"hoveredDragAndDrop": "Glisser & Déposer le(s) fichier(s) ici",
"extractPDF": "Extraction en cours..."
},
"releases": {
"footer": "Versions",
"title": "Notes de version",
"header": "Notes de version",
"current": {
"version": "Version actuelle"
},
"note": "Les notes de version sont uniquement disponibles en anglais"
},
"cookieBanner": {
"popUp": {
2025-09-19 08:54:48 +01:00
"title": "Comment nous utilisons les cookies",
2025-05-29 17:26:32 +01:00
"description": {
2025-09-19 08:54:48 +01:00
"1": "Nous utilisons des cookies et d'autres technologies pour améliorer Stirling PDF pour vous — cela nous aide à perfectionner nos outils et à créer des fonctionnalités que vous allez adorer.",
2025-05-29 17:26:32 +01:00
"2": "If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly."
},
2025-09-19 08:54:48 +01:00
"acceptAllBtn": "D'accord",
"acceptNecessaryBtn": "Non merci",
"showPreferencesBtn": "Gérer les préférences"
2025-05-29 17:26:32 +01:00
},
"preferencesModal": {
2025-09-19 08:54:48 +01:00
"title": "Centre de préférences de consentement",
"acceptAllBtn": "Tout accepter",
"acceptNecessaryBtn": "Tout refuser",
"savePreferencesBtn": "Enregistrer les préférences",
"closeIconLabel": "Fermer la fenêtre",
2025-05-29 17:26:32 +01:00
"serviceCounterLabel": "Service|Services",
2025-09-19 08:54:48 +01:00
"subtitle": "Utilisation des cookies",
2025-05-29 17:26:32 +01:00
"description": {
2025-09-19 08:54:48 +01:00
"1": "Stirling PDF utilise des cookies et des technologies similaires pour améliorer votre expérience et comprendre comment nos outils sont utilisés. Cela nous aide à améliorer les performances, développer les fonctionnalités qui vous tiennent à cœur et offrir un support continu.",
"2": "Stirling PDF ne peut pas — et ne pourra jamais — suivre ou accéder au contenu des documents que vous utilisez.",
"3": "Votre vie privée et votre confiance sont au cœur de notre démarche."
2025-05-29 17:26:32 +01:00
},
"necessary": {
"title": {
2025-09-19 08:54:48 +01:00
"1": "Cookies strictement nécessaires",
"2": "Toujours activés"
2025-05-29 17:26:32 +01:00
},
"description": "These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off."
},
"analytics": {
2025-09-19 08:54:48 +01:00
"title": "Analyse",
"description": "Ces cookies nous aident à comprendre comment nos outils sont utilisés, afin que nous puissions nous concentrer sur les fonctionnalités les plus appréciées par notre communauté. Soyez rassuré — Stirling PDF ne peut pas et ne suivra jamais le contenu des documents que vous utilisez."
}
}
},
"download": "Télécharger",
"undo": "Défaire",
"convert": {
"title": "Convertir",
2025-09-19 12:43:31 +01:00
"desc": "Convertir les fichiers entre différents formats",
"selectFilesPlaceholder": "Sélectionnez les fichiers dans la vue principale pour commencer",
"conversionCompleted": "Conversion terminée",
"conversionResults": "Résultats de conversion",
"convertFrom": "Convertir depuis",
"convertTo": "Convertir vers",
"sourceFormatPlaceholder": "Format source",
"targetFormatPlaceholder": "Format cible",
"selectSourceFormatFirst": "Sélectionnez d'abord un format source",
"outputOptions": "Options de sortie",
"pdfOptions": "Options PDF",
"imageOptions": "Options d'image",
"colorType": "Type de couleur",
"blackwhite": "Noir et blanc",
"fitOption": "Option d'ajustement",
"maintainAspectRatio": "Maintenir le rapport d'aspect",
"fitDocumentToPage": "Ajuster le document à la page",
"autoRotate": "Rotation automatique",
"autoRotateDescription": "Faire pivoter automatiquement les images pour mieux s'adapter à la page PDF",
"combineImages": "Combiner les images",
"combineImagesDescription": "Combiner toutes les images en un seul PDF, ou créer des PDF séparés pour chaque image",
"webOptions": "Options Web vers PDF",
"zoomLevel": "Niveau de zoom",
"emailOptions": "Options Email vers PDF",
"includeAttachments": "Inclure les pièces jointes d'email",
"maxAttachmentSize": "Taille maximale des pièces jointes (MB)",
"includeAllRecipients": "Inclure les destinataires CC et BCC dans l'en-tête",
"downloadHtml": "Télécharger le fichier HTML intermédiaire au lieu du PDF",
"pdfaOptions": "Options PDF/A",
"outputFormat": "Format de sortie",
"pdfaNote": "PDF/A-1b est plus compatible, PDF/A-2b prend en charge plus de fonctionnalités.",
"fileFormat": "Format de fichier",
"wordDoc": "Document Word",
"wordDocExt": "Document Word (.docx)",
"odtExt": "Texte OpenDocument (.odt)",
"pptExt": "PowerPoint (.pptx)",
"odpExt": "Présentation OpenDocument (.odp)",
"txtExt": "Texte brut (.txt)",
"rtfExt": "Format de texte enrichi (.rtf)",
2025-09-19 08:54:48 +01:00
"settings": "Paramètres",
"color": "Couleur",
"greyscale": "Niveaux de gris",
"fillPage": "Remplir la page",
"pdfaDigitalSignatureWarning": "Le PDF contient une signature numérique. Elle sera supprimée dans l'étape suivante.",
2025-09-19 12:43:31 +01:00
"grayscale": "Niveaux de gris",
"files": "Fichiers",
"results": "Résultats",
"defaultFilename": "fichier_converti",
"dpi": "DPI",
"output": "Sortie",
"single": "Unique",
"multiple": "Multiple",
"converting": "Conversion en cours...",
"images": "Images",
"markdown": "Markdown",
"selectedFiles": "Fichiers sélectionnés",
"noFileSelected": "Aucun fichier sélectionné. Utilisez le panneau de fichiers pour ajouter des fichiers.",
"convertFiles": "Convertir les fichiers",
"downloadConverted": "Télécharger le fichier converti",
"errorNoFiles": "Veuillez sélectionner au moins un fichier à convertir.",
"errorNoFormat": "Veuillez sélectionner les formats source et cible.",
"errorNotSupported": "La conversion de {{from}} vers {{to}} n'est pas prise en charge.",
"officeDocs": "Documents Office (Word, Excel, PowerPoint)",
"imagesExt": "Images (JPG, PNG, etc.)",
"textRtf": "Texte/RTF"
2025-09-19 08:54:48 +01:00
},
"attachments": {
"tags": "intégrer,joindre,fichier,pièce,jointe,embed,attach,file,attachment,attachments",
"title": "Ajouter des pièces jointes",
"header": "Ajouter des pièces jointes",
2025-09-19 12:43:31 +01:00
"submit": "Ajouter des pièces jointes",
"add": "Ajouter une pièce jointe",
"remove": "Supprimer la pièce jointe",
"embed": "Intégrer la pièce jointe"
2025-09-19 08:54:48 +01:00
},
"rightRail": {
"selectAll": "Tout sélectionner",
2025-09-19 12:43:31 +01:00
"deselectAll": "Tout déselectionner",
"language": "Language"
2025-09-19 08:54:48 +01:00
},
"quickAccess": {
2025-09-19 12:43:31 +01:00
"sign": "Signer",
"read": "Read",
"automate": "Automate",
"files": "Files",
"activity": "Activity",
"config": "Config"
2025-09-19 08:54:48 +01:00
},
"fileUpload": {
"loading": "Chargement...",
2025-09-19 12:43:31 +01:00
"or": "ou",
"upload": "Téléverser"
2025-09-19 08:54:48 +01:00
},
"fileManager": {
2025-09-19 12:43:31 +01:00
"title": "Téléverser des fichiers PDF",
"subtitle": "Ajoutez des fichiers à votre espace de stockage pour un accès facile entre les outils",
"filesSelected": "fichiers sélectionnés",
"clearSelection": "Effacer la sélection",
"openInFileEditor": "Ouvrir dans l'éditeur de fichiers",
"uploadError": "Échec du téléversement de certains fichiers.",
"failedToOpen": "Échec de l'ouverture du fichier. Il a peut-être été supprimé du stockage.",
"failedToLoad": "Échec du chargement du fichier dans l'ensemble actif.",
"storageCleared": "Le navigateur a effacé le stockage. Les fichiers ont été supprimés. Veuillez les téléverser à nouveau.",
"clearAll": "Tout effacer",
"reloadFiles": "Recharger les fichiers",
"dragDrop": "Glissez-déposez les fichiers ici",
"clickToUpload": "Cliquez pour téléverser des fichiers",
"selectedFiles": "Fichiers sélectionnés",
"storage": "Stockage",
"filesStored": "fichiers stockés",
"storageError": "Une erreur de stockage s'est produite",
"storageLow": "L'espace de stockage est faible. Envisagez de supprimer les anciens fichiers.",
"supportMessage": "Propulsé par le stockage de base de données du navigateur pour une capacité illimitée",
"noFileSelected": "Aucun fichier sélectionné",
"showHistory": "Afficher l'historique",
"hideHistory": "Masquer l'historique",
"fileHistory": "Historique des fichiers",
"loadingHistory": "Chargement de l'historique...",
"lastModified": "Dernière modification",
"toolChain": "Outils appliqués",
"restore": "Restaurer",
"searchFiles": "Rechercher des fichiers...",
"recent": "Récent",
"localFiles": "Fichiers locaux",
"googleDrive": "Google Drive",
"googleDriveShort": "Drive",
"myFiles": "Mes fichiers",
"noRecentFiles": "Aucun fichier récent trouvé",
"dropFilesHint": "Déposez les fichiers ici pour les téléverser",
"googleDriveNotAvailable": "L'intégration Google Drive n'est pas disponible",
"openFiles": "Ouvrir les fichiers",
"openFile": "Ouvrir le fichier",
"details": "Détails du fichier",
2025-09-19 08:54:48 +01:00
"fileName": "Nom",
2025-09-19 12:43:31 +01:00
"fileFormat": "Format",
"fileSize": "Taille",
"fileVersion": "Version",
"totalSelected": "Total sélectionné",
"dropFilesHere": "Déposez les fichiers ici",
2025-09-19 08:54:48 +01:00
"selectAll": "Tout sélectionner",
2025-09-19 12:43:31 +01:00
"deselectAll": "Tout désélectionner",
2025-09-19 08:54:48 +01:00
"deleteSelected": "Supprimer la sélection",
2025-09-19 12:43:31 +01:00
"downloadSelected": "Télécharger la sélection",
"selectedCount": "{{count}} sélectionné(s)",
2025-09-19 08:54:48 +01:00
"download": "Télécharger",
2025-09-19 12:43:31 +01:00
"delete": "Supprimer",
"unsupported": "Non supporté"
},
"storage": {
"temporaryNotice": "Les fichiers sont stockés temporairement dans votre navigateur et peuvent être effacés automatiquement",
"storageLimit": "Limite de stockage",
"storageUsed": "Stockage temporaire utilisé",
"storageFull": "Le stockage est presque plein. Envisagez de supprimer certains fichiers.",
"fileTooLarge": "Fichier trop volumineux. La taille maximale par fichier est de",
"storageQuotaExceeded": "Quota de stockage dépassé. Veuillez supprimer certains fichiers avant d'en téléverser d'autres.",
"approximateSize": "Taille approximative"
2025-09-19 08:54:48 +01:00
},
"sanitize": {
2025-09-19 12:43:31 +01:00
"title": "Assainir",
"desc": "Supprimer les éléments potentiellement dangereux des fichiers PDF.",
"submit": "Assainir le PDF",
"completed": "Assainissement terminé avec succès",
"error.generic": "Échec de l'assainissement",
"error.failed": "Une erreur s'est produite lors de l'assainissement du PDF.",
"filenamePrefix": "assaini",
"sanitizationResults": "Résultats de l'assainissement",
2025-09-19 08:54:48 +01:00
"steps": {
2025-09-19 12:43:31 +01:00
"files": "Fichiers",
"settings": "Paramètres",
"results": "Résultats"
},
"files": {
"placeholder": "Sélectionnez un fichier PDF dans la vue principale pour commencer"
},
"options": {
"title": "Options d'assainissement",
"note": "Sélectionnez les éléments que vous souhaitez supprimer du PDF. Au moins une option doit être sélectionnée.",
"removeJavaScript": "Supprimer JavaScript",
"removeJavaScript.desc": "Supprimer les actions et scripts JavaScript du PDF",
"removeEmbeddedFiles": "Supprimer les fichiers intégrés",
"removeEmbeddedFiles.desc": "Supprimer tous les fichiers intégrés dans le PDF",
"removeXMPMetadata": "Supprimer les métadonnées XMP",
"removeXMPMetadata.desc": "Supprimer les métadonnées XMP du PDF",
"removeMetadata": "Supprimer les métadonnées du document",
"removeMetadata.desc": "Supprimer les métadonnées d'informations du document (titre, auteur, etc.)",
"removeLinks": "Supprimer les liens",
"removeLinks.desc": "Supprimer les liens externes et les actions de lancement du PDF",
"removeFonts": "Supprimer les polices",
"removeFonts.desc": "Supprimer les polices intégrées du PDF"
2025-09-19 08:54:48 +01:00
}
},
"changePermissions": {
"title": "Modifier les permissions",
2025-09-19 12:43:31 +01:00
"tooltip": {
"header": {
"title": "Modifier les permissions"
}
},
2025-09-19 08:54:48 +01:00
"submit": "Modifier les permissions",
"permissions": {
"preventAssembly": {
"label": "Empêcher l'assemblage du document"
},
"preventExtractContent": {
"label": "Empêcher l'extraction de contenu"
},
"preventExtractForAccessibility": {
"label": "Empêcher l'extraction pour l'accessibilité"
},
"preventFillInForm": {
"label": "Empêcher de remplir les formulaires"
},
"preventModify": {
"label": "Empêcher la modification"
},
"preventModifyAnnotations": {
"label": "Empêcher la modification des annotations"
},
"preventPrinting": {
"label": "Empêcher l'impression"
},
"preventPrintingFaithful": {
"label": "Empêcher l'impression des différents formats"
}
2025-09-19 12:43:31 +01:00
}
},
"warning": {
"tooltipTitle": "Avertissement"
},
"files": {
"title": "Fichiers",
"uploadFiles": "Importer des fichiers",
"upload": "Téléverser",
"addFiles": "Ajouter des fichiers",
"selectFromWorkbench": "Sélectionnez des fichiers depuis l'espace de travail ou",
"selectMultipleFromWorkbench": "Sélectionnez au moins {{count}} fichiers dans l'atelier ou",
"placeholder": "Sélectionnez un fichier PDF dans la vue principale pour commencer"
},
"landing": {
"addFiles": "Ajouter des fichiers",
"uploadFromComputer": "Téléverser depuis l'ordinateur"
},
"moreOptions": "Plus doptions",
"fileSelected": "Sélectionné : {{filename}}",
"chooseFile": "Choisir un fichier",
"undoOperationTooltip": "Cliquez pour annuler la dernière opération et restaurer les fichiers d'origine",
"app": {
"description": "L'alternative gratuite à Adobe Acrobat (10M+ téléchargements)"
},
"editYourNewFiles": "Modifier votre nouveau fichier(s)",
"edit": "Modifier",
"review": "Examiner\n\nAlternatives selon le contexte :\n- Avis (nom, e.g. review dun produit)\n- Récapitulatif (titre décran, e.g. review your order)\n- Vérifier (action, e.g. check/review)\n- Réviser (corriger/modifier)",
"pageSelection": {
"tooltip": {
"header": {
"title": "Guide de sélection des pages"
},
"basic": {
"title": "Utilisation de base",
"text": "Sélectionnez des pages spécifiques de votre document PDF en utilisant une syntaxe simple.",
"bullet1": "Pages individuelles : 1,3,5",
"bullet2": "Plages de pages : 3-6 ou 10-15",
"bullet3": "Toutes les pages : all"
},
"advanced": {
"title": "Fonctionnalités avancées",
"expandText": "▶ Afficher les options avancées",
"collapseText": "▼ Masquer les options avancées",
"mathematical": {
"title": "Fonctions mathématiques",
"text": "Utilisez des expressions mathématiques pour sélectionner des motifs de pages :",
"bullet1": "2n - toutes les pages paires (2, 4, 6, 8...)",
"bullet2": "2n+1 - toutes les pages impaires (1, 3, 5, 7...)",
"bullet3": "3n - chaque 3ème page (3, 6, 9, 12...)",
"bullet4": "4n-1 - pages 3, 7, 11, 15..."
},
"ranges": {
"title": "Plages ouvertes",
"text": "Sélectionnez à partir d'un point de départ jusqu'à la fin :",
"bullet1": "5- sélectionne les pages 5 jusqu'à la fin du document",
"bullet2": "10- sélectionne les pages 10 jusqu'à la fin"
},
"combinations": {
"title": "Combinaisons complexes",
"text": "Combinez différentes méthodes de sélection :",
"bullet1": "1,3-5,8,2n - pages 1, 3-5, 8, et toutes les pages paires",
"bullet2": "10-,2n+1 - pages 10 à la fin plus toutes les pages impaires",
"bullet3": "1-5,15-,3n - pages 1-5, 15 à la fin, et chaque 3ème page"
}
},
"tips": {
"title": "Conseils",
"text": "Gardez ces directives à l'esprit :",
"bullet1": "Les numéros de page commencent à 1 (pas 0)",
"bullet2": "Les espaces sont automatiquement supprimés",
"bullet3": "Les expressions invalides sont ignorées"
}
}
},
"pageEditor": {
"title": "Éditeur de pages",
"save": "Enregistrer les modifications",
"noPdfLoaded": "Aucun PDF chargé. Veuillez téléverser un PDF à modifier.",
"rotatedLeft": "Rotation à gauche :",
"rotatedRight": "Rotation à droite :",
"deleted": "Supprimé :",
"movedLeft": "Déplacé à gauche :",
"movedRight": "Déplacé à droite :",
"splitAt": "Diviser à :",
"insertedPageBreak": "Saut de page inséré à :",
"closePdf": "Fermer le PDF"
},
"adjustPageScale": {
"tags": "redimensionner,modifier,dimension,adapter",
"title": "Ajuster l'échelle de page",
"header": "Ajuster l'échelle de page",
"scaleFactor": {
"label": "Facteur d'échelle"
},
"pageSize": {
"label": "Taille de page cible",
"keep": "Conserver la taille originale",
"letter": "Letter",
"legal": "Legal"
},
"submit": "Ajuster l'échelle de page",
"error": {
"failed": "Une erreur s'est produite lors de l'ajustement de l'échelle de page."
2025-09-19 08:54:48 +01:00
},
"tooltip": {
"header": {
2025-09-19 12:43:31 +01:00
"title": "Aperçu des paramètres d'échelle de page"
},
"description": {
"text": "Ajustez la taille du contenu PDF et modifiez les dimensions de page.",
"title": "Description"
},
"scaleFactor": {
"title": "Facteur d'échelle",
"text": "Contrôle la taille d'apparence du contenu sur la page. Le contenu est échelonné et centré - si le contenu échelonné est plus grand que la taille de page, il peut être rogné.",
"bullet1": "1.0 = Taille originale",
"bullet2": "0.5 = Moitié de la taille (50% plus petit)",
"bullet3": "2.0 = Double taille (200% plus grand, peut rogner)"
},
"pageSize": {
"title": "Taille de page cible",
"text": "Définit les dimensions des pages PDF de sortie. 'Conserver la taille originale' maintient les dimensions actuelles, tandis que les autres options redimensionnent vers les tailles de papier standard."
}
}
},
"view": {
"viewer": "Viewer"
},
"toolPicker": {
"subcategories": {
"signing": "Signing",
"verification": "Verification",
"extraction": "Extraction",
"removal": "Removal",
"automation": "Automation",
"general": "General"
}
},
"automate": {
"title": "Automate",
"selection": {
"saved": {
"title": "Saved"
},
"suggested": {
"title": "Suggested"
}
},
"creation": {
"unsavedChanges": {
"cancel": "Annuler"
},
"icon": {
"label": "Icône"
}
},
"sequence": {
"finish": "Terminer"
},
"config": {
"cancel": "Annuler"
}
},
"automate": {
"title": "Automatiser",
"desc": "Créez des flux de travail multi-étapes en enchaînant des actions PDF. Idéal pour les tâches récurrentes.",
"invalidStep": "Étape invalide",
"files": {
"placeholder": "Sélectionnez des fichiers à traiter avec cette automatisation"
},
"selection": {
"title": "Sélection d'automatisation",
"saved": {
"title": "Sauvegardées"
},
"createNew": {
"title": "Créer une nouvelle automatisation"
},
"suggested": {
"title": "Suggestions"
}
},
"creation": {
"createTitle": "Créer une automatisation",
"editTitle": "Modifier une automatisation",
"intro": "Les automatisations exécutent les outils séquentiellement. Pour commencer, ajoutez des outils dans l'ordre où vous voulez qu'ils s'exécutent.",
"name": {
"label": "Nom de l'automatisation",
"placeholder": "Mon automatisation"
},
"description": {
"label": "Description (optionnelle)",
"placeholder": "Décrivez ce que fait cette automatisation..."
},
"tools": {
"selectTool": "Sélectionnez un outil...",
"selected": "Outils sélectionnés",
"remove": "Supprimer l'outil",
"configure": "Configurer l'outil",
"notConfigured": "! Non configuré",
"addTool": "Ajouter un outil",
"add": "Ajouter un outil..."
},
"save": "Sauvegarder l'automatisation",
"unsavedChanges": {
"title": "Modifications non sauvegardées",
"message": "Vous avez des modifications non sauvegardées. Êtes-vous sûr de vouloir revenir en arrière ? Toutes les modifications seront perdues.",
"cancel": "Annuler",
"confirm": "Revenir en arrière"
},
"icon": {
"label": "Icône"
2025-05-29 17:26:32 +01:00
}
2025-09-19 12:43:31 +01:00
},
"run": {
"title": "Exécuter l'automatisation"
},
"sequence": {
"unnamed": "Automatisation sans nom",
"steps": "{{count}} étapes",
"running": "Exécution de l'automatisation...",
"run": "Exécuter l'automatisation",
"finish": "Terminer"
},
"reviewTitle": "Résultats de l'automatisation",
"config": {
"loading": "Chargement de la configuration de l'outil...",
"noSettings": "Cet outil n'a pas de paramètres configurables.",
"title": "Configurer {{toolName}}",
"description": "Configurez les paramètres de cet outil. Ces paramètres seront appliqués lorsque l'automatisation s'exécute.",
"cancel": "Annuler",
"save": "Sauvegarder la configuration"
},
"copyToSaved": "Copier vers les sauvegardées"
},
"automation": {
"suggested": {
"securePdfIngestion": "Ingestion PDF sécurisée",
"securePdfIngestionDesc": "Flux de travail complet de traitement PDF qui assainit les documents, applique l'OCR avec nettoyage, convertit au format PDF/A pour l'archivage à long terme, et optimise la taille du fichier.",
"emailPreparation": "Préparation pour email",
"emailPreparationDesc": "Optimise les PDF pour la distribution par email en compressant les fichiers, divisant les gros documents en segments de 20 Mo pour la compatibilité email, et supprimant les métadonnées pour la confidentialité.",
"secureWorkflow": "Flux de travail sécurisé",
"secureWorkflowDesc": "Sécurise les documents PDF en supprimant le contenu potentiellement malveillant comme JavaScript et les fichiers intégrés, puis ajoute une protection par mot de passe pour empêcher l'accès non autorisé. Le mot de passe est défini sur 'password' par défaut.",
"processImages": "Traiter les images",
"processImagesDesc": "Convertit plusieurs fichiers d'image en un seul document PDF, puis applique la technologie OCR pour extraire du texte consultable à partir des images."
2025-05-29 17:26:32 +01:00
}
2025-09-19 12:43:31 +01:00
},
"removeMetadata": {
"submit": "Supprimer les métadonnées"
},
"sidebar": {
"toggle": "Basculer la barre latérale"
},
"theme": {
"toggle": "Basculer le thème"
},
"view": {
"viewer": "Visionneuse",
"pageEditor": "Éditeur de pages",
"fileManager": "Gestionnaire de fichiers"
},
"pageEditor": {
"title": "Éditeur de pages",
"save": "Enregistrer les modifications",
"noPdfLoaded": "Aucun PDF chargé. Veuillez téléverser un PDF à modifier.",
"rotatedLeft": "Rotation à gauche :",
"rotatedRight": "Rotation à droite :",
"deleted": "Supprimé :",
"movedLeft": "Déplacé à gauche :",
"movedRight": "Déplacé à droite :",
"splitAt": "Diviser à :",
"insertedPageBreak": "Saut de page inséré à :",
"addFileNotImplemented": "Ajouter un fichier non implémenté dans la démo",
"closePdf": "Fermer le PDF",
"reset": "Réinitialiser les modifications",
"zoomIn": "Agrandir",
"zoomOut": "Réduire",
"fitToWidth": "Ajuster à la largeur",
"actualSize": "Taille réelle"
},
"viewer": {
"noPdfLoaded": "Aucun PDF chargé. Cliquez pour téléverser un PDF.",
"choosePdf": "Choisir un PDF",
"noPagesToDisplay": "Aucune page à afficher.",
"singlePageView": "Vue page unique",
"dualPageView": "Vue double page",
"hideSidebars": "Masquer les barres latérales",
"showSidebars": "Afficher les barres latérales",
"zoomOut": "Réduire",
"zoomIn": "Agrandir",
"previousPage": "Page précédente",
"nextPage": "Page suivante",
"pageNavigation": "Navigation des pages",
"currentPage": "Page actuelle",
"totalPages": "Pages totales"
},
"rightRail": {
"closeSelected": "Fermer les fichiers sélectionnés",
"selectAll": "Tout sélectionner",
"deselectAll": "Tout désélectionner",
"selectByNumber": "Sélectionner par numéros de page",
"deleteSelected": "Supprimer les pages sélectionnées",
"closePdf": "Fermer le PDF",
"exportAll": "Exporter le PDF",
"downloadSelected": "Télécharger les fichiers sélectionnés",
"downloadAll": "Tout télécharger",
"toggleTheme": "Basculer le thème",
"language": "Langue"
},
"toolPicker": {
"searchPlaceholder": "Rechercher des outils...",
"noToolsFound": "Aucun outil trouvé",
"allTools": "TOUS LES OUTILS",
"quickAccess": "ACCÈS RAPIDE",
"categories": {
"standardTools": "Outils standard",
"advancedTools": "Outils avancés",
"recommendedTools": "Outils recommandés"
},
"subcategories": {
"signing": "Signature",
"documentSecurity": "Sécurité des documents",
"verification": "Vérification",
"documentReview": "Révision de documents",
"pageFormatting": "Formatage des pages",
"extraction": "Extraction",
"removal": "Suppression",
"automation": "Automatisation",
"general": "Général",
"advancedFormatting": "Formatage avancé",
"developerTools": "Outils de développement"
}
},
"quickAccess": {
"read": "Lire",
"sign": "Signer",
"automate": "Automatiser",
"files": "Fichiers",
"activity": "Activité",
"config": "Configuration",
"allTools": "Tous les outils"
},
"fileUpload": {
"selectFile": "Sélectionner un fichier",
"selectFiles": "Sélectionner des fichiers",
"selectPdfToView": "Sélectionner un PDF à visualiser",
"selectPdfToEdit": "Sélectionner un PDF à modifier",
"chooseFromStorage": "Choisir un fichier dans le stockage ou téléverser un nouveau PDF",
"chooseFromStorageMultiple": "Choisir des fichiers dans le stockage ou téléverser de nouveaux PDF",
"loadFromStorage": "Charger depuis le stockage",
"filesAvailable": "fichiers disponibles",
"loading": "Chargement...",
"or": "ou",
"dropFileHere": "Déposer le fichier ici ou cliquer pour téléverser",
"dropFilesHere": "Déposer les fichiers ici ou cliquer sur le bouton de téléversement",
"pdfFilesOnly": "Fichiers PDF uniquement",
"supportedFileTypes": "Types de fichiers pris en charge",
"upload": "Téléverser",
"uploadFile": "Téléverser un fichier",
"uploadFiles": "Téléverser des fichiers"
},
"swagger": {
"title": "Documentation de l'API",
"header": "Documentation de l'API",
"desc": "Afficher et tester les points de terminaison de l'API Stirling PDF",
"tags": "api,documentation,swagger,points-de-terminaison,développement"
2025-05-29 17:26:32 +01:00
}
2025-09-19 08:54:48 +01:00
}