mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2026-09-02 21:03:34 +03:00
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
12114 lines
489 KiB
TOML
12114 lines
489 KiB
TOML
alphabet = "Alphabet"
|
||
apply = "Appliquer"
|
||
applyAndContinue = "Appliquer et continuer"
|
||
back = "Retour"
|
||
black = "Noir"
|
||
blue = "Bleu"
|
||
cancel = "Annuler"
|
||
chooseFile = "Choisir un fichier"
|
||
clear = "Effacer"
|
||
close = "Fermer"
|
||
comingSoon = "Bientôt disponible"
|
||
confirm = "Confirmer"
|
||
confirmClose = "Confirmer la fermeture"
|
||
confirmCloseCancel = "Annuler"
|
||
confirmCloseConfirm = "Fermer le fichier"
|
||
confirmCloseDiscard = "Fermer sans enregistrer"
|
||
confirmCloseMessage = "Voulez-vous vraiment fermer ce fichier ?"
|
||
confirmCloseSave = "Enregistrer et fermer"
|
||
confirmCloseSaveFailed_one = "Enregistré avec des erreurs. Enregistrement impossible pour {{count}} fichier."
|
||
confirmCloseSaveFailed_other = "Saved with errors. {{count}} files could not be saved."
|
||
confirmCloseSaveFailedTitle = "Échec de l’enregistrement"
|
||
confirmCloseUnsaved = "Ce fichier contient des modifications non enregistrées."
|
||
confirmCloseUnsavedList_one = "Vous avez {{count}} fichier avec des modifications non enregistrées.\n\n{{fileList}}"
|
||
confirmCloseUnsavedList_other = "You have {{count}} files with unsaved changes.\n\n{{fileList}}"
|
||
custom = "Personnalisé…"
|
||
customPosition = "Position personnalisée"
|
||
customTextTooltip = "Format personnalisé facultatif pour les numéros de page. Utilisez {n} comme espace réservé pour le numéro. Exemple : \"Page {n}\" affichera \"Page 1\", \"Page 2\", etc."
|
||
delete = "Supprimer"
|
||
details = "Détails"
|
||
discardChanges = "Ignorer les modifications"
|
||
download = "Télécharger"
|
||
downloadPdf = "Télécharger le PDF"
|
||
downloadUnavailable = "Téléchargement indisponible pour cet élément"
|
||
edit = "Modifier"
|
||
editSecret = "Modifier cette valeur"
|
||
editYourNewFiles = "Modifier votre/vos nouveau(x) fichier(s)"
|
||
encryptedFilesBlocked_one = "Le fichier est protégé par mot de passe. Déverrouillez-le d'abord."
|
||
encryptedFilesBlocked_other = "{{count}} fichiers sont protégés par mot de passe. Déverrouillez-les d'abord."
|
||
exportAndContinue = "Exporter et continuer"
|
||
false = "Faux"
|
||
fileNotSavedToDisk = "Non enregistré sur le disque"
|
||
fileSavedToDisk = "Fichier enregistré sur le disque"
|
||
fileSelected = "Sélectionné : {{filename}}"
|
||
filesSelected = "{{count}} fichiers"
|
||
font = "Police"
|
||
fontSizeTooltip = "Taille du texte du numéro de page en points. Une valeur plus élevée crée un texte plus grand."
|
||
fontTypeTooltip = "Famille de police pour les numéros de page. Choisissez selon le style de votre document."
|
||
green = "Vert"
|
||
help = "Aide"
|
||
incorrectPasswordMessage = "Le mot de passe actuel est incorrect."
|
||
info = "Informations"
|
||
invalidUndoData = "Impossible d’annuler : données d’opération invalides"
|
||
keepWorking = "Continuer à travailler"
|
||
loading = "Chargement..."
|
||
loginAgreementAccept = "Accepter"
|
||
loginAgreementDecline = "Refuser"
|
||
loginAgreementProvider = "Cet avis est fourni par votre administrateur, et non par Stirling PDF Inc."
|
||
loginAgreementTitle = "Accord de connexion"
|
||
logOut = "Se déconnecter"
|
||
marginTooltip = "Distance entre le numéro de page et le bord de la page."
|
||
moreOptions = "Plus d’options"
|
||
never = "Jamais"
|
||
no = "Non"
|
||
noFileSelected = "Aucun fichier sélectionné. Veuillez en télécharger un."
|
||
noFilesToUndo = "Impossible d’annuler : aucun fichier n’a été traité lors de la dernière opération"
|
||
noOperationToUndo = "Aucune opération à annuler"
|
||
nothingToUndo = "Rien à annuler"
|
||
noValidFiles = "Aucun fichier valide à traiter"
|
||
oops = "Oups !"
|
||
openInNewWindow = "Ouvrir dans une nouvelle fenêtre"
|
||
openInViewer = "Ouvrir dans le lecteur"
|
||
operationCancelled = "Opération annulée"
|
||
page = "Page"
|
||
pageNum = "Numéro de page"
|
||
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) :"
|
||
pages = "Pages"
|
||
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) :"
|
||
password = "Mot de passe"
|
||
pin = "Épingler le fichier (le garder actif après l’exécution de l’outil)"
|
||
pro = "Pro"
|
||
processingComplete = "Votre fichier est prêt."
|
||
processingCompleteMultiple = "{{count}} fichiers sont prêts."
|
||
property = "Propriété"
|
||
quickPosition = "Position rapide"
|
||
red = "Rouge"
|
||
remove = "Supprimer"
|
||
reset = "Réinitialiser"
|
||
review = "Examiner"
|
||
save = "Enregistrer"
|
||
saveUnavailable = "Enregistrement indisponible pour cet élément"
|
||
size = "Taille"
|
||
startingNumberTooltip = "Premier numéro à afficher. Les pages suivantes incrémentent à partir de ce nombre."
|
||
submit = "Valider"
|
||
success = "Succès"
|
||
termsAndConditions = "Conditions générales"
|
||
text = "Texte"
|
||
true = "Vrai"
|
||
undo = "Défaire"
|
||
undoDataMismatch = "Impossible d’annuler : données d’opération corrompues"
|
||
undoFailed = "Échec de l’annulation de l’opération"
|
||
undoOperationTooltip = "Cliquez pour annuler la dernière opération et restaurer les fichiers d’origine"
|
||
undoQuotaError = "Impossible d’annuler : espace de stockage insuffisant"
|
||
undoStorageError = "Annulation effectuée mais certains fichiers n’ont pas pu être enregistrés dans le stockage"
|
||
undoSuccess = "Opération annulée avec succès"
|
||
unknown = "Inconnu"
|
||
unpin = "Désépingler le fichier (remplacer après l’exécution de l’outil)"
|
||
unsavedChanges = "Vous avez des modifications non enregistrées sur votre PDF. Que souhaitez-vous faire ?"
|
||
unsavedChangesBody = "You have unsaved changes to your PDF. Are you sure you want to leave?"
|
||
unsavedChangesTitle = "Modifications non enregistrées"
|
||
unsupported = "Non pris en charge"
|
||
username = "Nom d'utilisateur"
|
||
welcome = "Bienvenue"
|
||
white = "Blanc"
|
||
yes = "Oui"
|
||
|
||
[account]
|
||
accountSettings = "Paramètres du compte"
|
||
adminSettings = "Paramètres d'administration – Voir et ajouter des utilisateurs"
|
||
changePassword = "Modifier le mot de passe"
|
||
changeUsername = "Modifier le nom d'utilisateur"
|
||
changeUsernameDescription = "Mettre à jour votre nom d’utilisateur. Vous serez déconnecté après la mise à jour."
|
||
confirmNewPassword = "Confirmer votre nouveau mot de passe"
|
||
newPassword = "Nouveau mot de passe"
|
||
newUsername = "Nouveau nom d'utilisateur"
|
||
newUsernamePlaceholder = "Saisissez votre nouveau nom d’utilisateur"
|
||
oldPassword = "Ancien mot de passe"
|
||
password = "Mot de passe de confirmation"
|
||
property = "Propriété"
|
||
settingsCompare = "Comparaison des paramètres"
|
||
signOut = "Déconnexion"
|
||
syncTitle = "Synchroniser les paramètres du navigateur avec le compte"
|
||
syncToAccount = "Synchroniser : Compte ← Navigateur"
|
||
syncToBrowser = "Synchroniser : Compte → Navigateur"
|
||
title = "Paramètres du compte"
|
||
userControlSettings = "Contrôle des paramètres des utilisateurs"
|
||
webBrowserSettings = "Paramètres du navigateur"
|
||
yourApiKey = "Votre clé API"
|
||
|
||
[account.mfa]
|
||
codeLabel = "Code d'authentification"
|
||
codePlaceholder = "Saisir le code à 6 chiffres"
|
||
codeRequired = "Saisissez le code d'authentification pour continuer."
|
||
confirmDisable = "Désactiver"
|
||
confirmEnable = "Activer"
|
||
description = "Ajoutez une couche de sécurité supplémentaire à votre compte."
|
||
disableButton = "Désactiver l'authentification à deux facteurs"
|
||
disabled = "Authentification à deux facteurs désactivée."
|
||
disableDescription = "Saisissez un code d'authentification valide pour désactiver l'authentification à deux facteurs."
|
||
disableFailed = "Impossible de désactiver l'authentification à deux facteurs. Vérifiez le code et réessayez."
|
||
disableTitle = "Désactiver l'authentification à deux facteurs"
|
||
enableButton = "Activer l'authentification à deux facteurs"
|
||
enabled = "Authentification à deux facteurs activée."
|
||
enableFailed = "Impossible d'activer l'authentification à deux facteurs. Vérifiez le code et réessayez."
|
||
manualKey = "Clé de configuration manuelle"
|
||
secretWarning = "Conservez cette clé privée. Toute personne y ayant accès peut générer des codes d'authentification valides."
|
||
setupDescription = "Scannez le code QR avec votre application d'authentification, puis saisissez le code à 6 chiffres pour confirmer."
|
||
setupFailed = "Impossible de démarrer la configuration de l'authentification à deux facteurs. Veuillez réessayer."
|
||
setupTitle = "Configurer l'authentification à deux facteurs"
|
||
ssoDescription = "L'authentification à deux facteurs est gérée par votre fournisseur d'identité pour les comptes à authentification unique."
|
||
ssoManaged = "Configurez la MFA via votre fournisseur d'identité."
|
||
title = "Authentification à deux facteurs"
|
||
|
||
[account.overview]
|
||
logOut = "Se déconnecter"
|
||
signedInAs = "Connecté en tant que : {{email}}"
|
||
|
||
[add-page-numbers]
|
||
tags = "paginer,numéros,étiqueter,paginate,label,organize,index"
|
||
|
||
[addAttachments]
|
||
tags = "embed,attach,include,attachments,attach files,embed files,include files,add files,file attachment,associated files,supplementary files"
|
||
|
||
[addAttachments.error]
|
||
failed = "Une erreur s’est produite lors de l’ajout de pièces jointes au PDF."
|
||
|
||
[AddAttachmentsRequest]
|
||
addMoreFiles = "Ajouter d’autres fichiers…"
|
||
attachments = "Sélectionner des pièces jointes"
|
||
info = "Sélectionnez des fichiers à joindre à votre PDF. Ces fichiers seront intégrés et accessibles via le panneau des pièces jointes du PDF."
|
||
placeholder = "Choisir des fichiers…"
|
||
removeFile = "Supprimer le fichier"
|
||
selectedFiles = "Fichiers sélectionnés"
|
||
submit = "Ajouter les pièces jointes"
|
||
|
||
[AddAttachmentsRequest.error]
|
||
failed = "Échec de l’ajout des pièces jointes"
|
||
|
||
[AddAttachmentsRequest.results]
|
||
title = "Résultats des pièces jointes"
|
||
|
||
[AddAttachmentsRequest.tooltip.description]
|
||
title = "Ce que fait l’outil"
|
||
|
||
[AddAttachmentsRequest.tooltip.header]
|
||
title = "À propos de l’ajout de pièces jointes"
|
||
|
||
[addFileCard]
|
||
upload = "Téléverser"
|
||
|
||
[addImage]
|
||
applySignatures = "Appliquer les images"
|
||
header = "Ajouter une image"
|
||
tags = "img,jpg,image,photo"
|
||
title = "Ajouter une image"
|
||
|
||
[addImage.canvas]
|
||
colorPickerTitle = "Choose stroke colour"
|
||
|
||
[addImage.error]
|
||
failed = "Une erreur est survenue lors de l’ajout de l’image au PDF."
|
||
|
||
[addImage.image]
|
||
hint = "Supports PNG, JPEG, GIF, BMP, TIFF, and SVG files. SVG files will be converted to PNG for embedding."
|
||
label = "Fichier image"
|
||
name = "Image"
|
||
placeholder = "Téléverser une image"
|
||
|
||
[addImage.instructions]
|
||
noSignature = "Téléversez une image ci-dessus pour activer le placement."
|
||
paused = "Placement en pause"
|
||
resumeHint = "Reprenez le placement pour cliquer et ajouter votre image."
|
||
text = "Après avoir téléversé votre image ci-dessus, cliquez n’importe où sur le PDF pour la placer."
|
||
title = "Comment ajouter des images"
|
||
|
||
[addImage.mode]
|
||
move = "Déplacer l’image"
|
||
pause = "Suspendre le placement"
|
||
place = "Placer l’image"
|
||
resume = "Reprendre le placement"
|
||
|
||
[addImage.results]
|
||
title = "Résultats de l’ajout d’image"
|
||
|
||
[addImage.saved]
|
||
defaultCanvasLabel = "Drawing signature"
|
||
defaultImageLabel = "Image téléversée"
|
||
defaultLabel = "Image"
|
||
defaultTextLabel = "Typed signature"
|
||
delete = "Remove"
|
||
emptyTitle = "No saved signatures yet"
|
||
heading = "Saved signatures"
|
||
label = "Label"
|
||
limitTitle = "Limit reached"
|
||
next = "Next"
|
||
personalHeading = "Personal Signatures"
|
||
prev = "Previous"
|
||
savePersonal = "Save Personal"
|
||
saveShared = "Save Shared"
|
||
sharedHeading = "Shared Signatures"
|
||
|
||
[addImage.saved.type]
|
||
canvas = "Drawing"
|
||
image = "Upload"
|
||
text = "Text"
|
||
|
||
[addImage.step]
|
||
createDesc = "Téléversez l’image à ajouter"
|
||
place = "Placer l’image"
|
||
placeDesc = "Cliquez sur le PDF pour ajouter votre image"
|
||
|
||
[addImage.steps]
|
||
configure = "Configurer l’image"
|
||
|
||
[addImage.text]
|
||
colorLabel = "Text colour"
|
||
fontLabel = "Font"
|
||
fontSizeLabel = "Font size"
|
||
name = "Text"
|
||
placeholder = "Enter text"
|
||
|
||
[addImage.type]
|
||
canvas = "Canvas"
|
||
image = "Image"
|
||
saved = "Saved"
|
||
text = "Text"
|
||
|
||
[addPageNumbers]
|
||
customize = "Personnaliser l’apparence"
|
||
customNumberDesc = "La valeur par défaut est '{n}', accepte également 'Page {n} sur {total}', 'Texte-{n}', '{filename}-{n}'"
|
||
fontName = "Nom de la Police"
|
||
fontSize = "Taille de Police"
|
||
numberPagesDesc = "Quelles pages numéroter, par défaut 'all' (toutes les pages), accepte également 1-5 ou 2,5,9, etc."
|
||
pagesAndStarting = "Pages et numéro de départ"
|
||
positionAndPages = "Position et pages"
|
||
preview = "Sélection de la position"
|
||
previewDisclaimer = "L’aperçu est approximatif. Le résultat final peut varier en raison des métriques de police du PDF."
|
||
submit = "Ajouter les numéros de page"
|
||
tags = "number,pagination,count,add page numbers,page numbering,page numbers,footer,header,number pages,sequential,pagination tool"
|
||
title = "Ajouter des numéros de page"
|
||
zeroPad = "Zero‑pad Width (Bates Stamping)"
|
||
zeroPadTooltip = "Zero‑pad (Bates Stamp) page numbers to this width (e.g., 3 ⇒ 001). Set 0 to disable."
|
||
|
||
[addPageNumbers.error]
|
||
failed = "Échec de l’ajout des numéros de page"
|
||
|
||
[addPageNumbers.results]
|
||
title = "Résultats des numéros de page"
|
||
|
||
[addPageNumbers.selectText]
|
||
2 = "Taille de la marge"
|
||
4 = "Numéro de départ"
|
||
5 = "Pages à numéroter"
|
||
6 = "Texte personnalisé"
|
||
|
||
[addPassword]
|
||
desc = "Chiffrez votre document PDF avec un mot de passe."
|
||
submit = "Chiffrer"
|
||
tags = "encrypt,password,lock,secure,protect,security,encryption,safeguard,confidential,private,restrict access"
|
||
title = "Ajouter un mot de passe"
|
||
|
||
[addPassword.encryption.keyLength]
|
||
128bit = "128 bits (Standard)"
|
||
256bit = "256 bits (Élevé)"
|
||
40bit = "40 bits (Faible)"
|
||
label = "Longueur de clé de chiffrement"
|
||
|
||
[addPassword.error]
|
||
failed = "Une erreur est survenue lors du chiffrement du PDF."
|
||
|
||
[addPassword.passwords]
|
||
stepTitle = "Mots de passe & chiffrement"
|
||
|
||
[addPassword.passwords.owner]
|
||
label = "Mot de passe propriétaire"
|
||
placeholder = "Saisir le mot de passe propriétaire"
|
||
|
||
[addPassword.passwords.user]
|
||
label = "Mot de passe utilisateur"
|
||
placeholder = "Saisir le mot de passe utilisateur"
|
||
|
||
[addPassword.results]
|
||
title = "PDF chiffrés"
|
||
|
||
[addPassword.tooltip.encryption]
|
||
bullet1 = "40 bits : Sécurité basique, compatible avec les anciens lecteurs"
|
||
bullet2 = "128 bits : Sécurité standard, largement prise en charge"
|
||
bullet3 = "256 bits : Sécurité maximale, nécessite des lecteurs modernes"
|
||
text = "Des niveaux de chiffrement plus élevés offrent une meilleure sécurité mais peuvent ne pas être pris en charge par d’anciens lecteurs PDF."
|
||
title = "Niveaux de chiffrement"
|
||
|
||
[addPassword.tooltip.header]
|
||
title = "Aperçu de la protection par mot de passe"
|
||
|
||
[addPassword.tooltip.passwords]
|
||
bullet1 = "Mot de passe utilisateur : requis pour ouvrir le PDF"
|
||
bullet2 = "Mot de passe propriétaire : contrôle les permissions du document (non pris en charge par tous les lecteurs PDF)"
|
||
text = "Les mots de passe utilisateur restreignent l’ouverture du document, tandis que les mots de passe propriétaire contrôlent ce qui peut être fait une fois le document ouvert. Vous pouvez définir les deux ou seulement l’un d’eux."
|
||
title = "Types de mots de passe"
|
||
|
||
[addPassword.tooltip.permissions]
|
||
text = "Ces permissions contrôlent ce que les utilisateurs peuvent faire avec le PDF. Le plus efficace lorsqu’elles sont combinées avec un mot de passe propriétaire."
|
||
title = "Modifier les permissions"
|
||
|
||
[addStamp]
|
||
preview = "Aperçu du tampon"
|
||
tags = "stamp,mark,seal,approved,rejected,confidential,stamp tool,rubber stamp,date stamp,approval stamp,received,void,copy,original"
|
||
|
||
[AddStampRequest]
|
||
alphabet = "Alphabet"
|
||
clickToExpand = "Click to expand"
|
||
customColor = "Couleur de texte personnalisée"
|
||
customDateDesc = "Custom format"
|
||
customPosition = "Faites glisser le tampon à l’endroit souhaité dans la fenêtre d’aperçu."
|
||
dateDesc = "Current date"
|
||
datetimeDesc = "Date and time combined"
|
||
dateTimeVars = "Date & Time"
|
||
dynamicVariables = "Dynamic Variables"
|
||
examples = "Examples"
|
||
filenameDesc = "Filename without extension"
|
||
filenameFullDesc = "Filename with extension"
|
||
fileVars = "File Information"
|
||
fontSize = "Taille de fonte/image"
|
||
imageSize = "Taille de l’image"
|
||
margin = "Marge"
|
||
metadataDesc = "From PDF document properties"
|
||
metadataVars = "Document Metadata"
|
||
multiLine = "multi-line"
|
||
noStampSelected = "Aucun tampon sélectionné. Retour à l’étape 1."
|
||
opacity = "Opacité"
|
||
otherVars = "Other"
|
||
pageNumberDesc = "Current page number"
|
||
pageVars = "Page Information"
|
||
position = "Position"
|
||
positionAndFormatting = "Position et mise en forme"
|
||
preview = "Preview:"
|
||
quickPosition = "Sélectionnez une position sur la page pour placer le tampon."
|
||
rotation = "Rotation"
|
||
selectTemplate = "Select a template..."
|
||
stampSetup = "Configuration du tampon"
|
||
stampText = "Tampon texte"
|
||
stampTextDescription = "Use dynamic variables below. Use @@ for literal @. Use \\n for new lines."
|
||
stampType = "Type de tampon"
|
||
submit = "Soumettre"
|
||
tags = "Tampon,Ajouter,Stamp,Add image,center image,Watermark,PDF,Embed,Customize"
|
||
timeDesc = "Current time"
|
||
title = "Tampon PDF"
|
||
totalPagesDesc = "Total number of pages"
|
||
useTemplate = "Use Template"
|
||
uuidDesc = "Short unique identifier (8 chars)"
|
||
variablesHelp = "Click on any variable to insert it into your stamp text. Use @@ for literal @."
|
||
yearMonthDayDesc = "Individual date parts"
|
||
|
||
[AddStampRequest.error]
|
||
failed = "Une erreur s’est produite lors de l’ajout du tampon au PDF."
|
||
|
||
[AddStampRequest.results]
|
||
title = "Résultats du tampon"
|
||
|
||
[AddStampRequest.template]
|
||
custom = "Custom"
|
||
dateHeader = "Date Header"
|
||
doc-info = "Document Info"
|
||
draft = "Draft Watermark"
|
||
draftWatermark = "Draft Watermark"
|
||
european-date = "European Date (DD/MM/YYYY)"
|
||
europeanDate = "European Date"
|
||
legal-footer = "Legal Footer"
|
||
page-numbers = "Page Numbers"
|
||
pageNumberFooter = "Page Number Footer"
|
||
timestamp = "Timestamp"
|
||
|
||
[addText]
|
||
applySignatures = "Appliquer le texte"
|
||
header = "Ajouter du texte aux PDF"
|
||
tags = "texte,annotation,étiquette"
|
||
title = "Ajouter du texte"
|
||
|
||
[addText.canvas]
|
||
colorPickerTitle = "Choose stroke colour"
|
||
|
||
[addText.error]
|
||
failed = "Une erreur est survenue lors de l'ajout de texte au PDF."
|
||
|
||
[addText.instructions]
|
||
noSignature = "Saisissez du texte ci-dessus pour activer le placement."
|
||
paused = "Placement en pause"
|
||
resumeHint = "Reprenez le placement pour cliquer et ajouter votre texte."
|
||
text = "Après avoir saisi votre texte ci-dessus, cliquez n'importe où sur le PDF pour le placer."
|
||
title = "Comment ajouter du texte"
|
||
|
||
[addText.mode]
|
||
move = "Déplacer le texte"
|
||
pause = "Mettre en pause le placement"
|
||
place = "Placer le texte"
|
||
resume = "Reprendre le placement"
|
||
|
||
[addText.results]
|
||
title = "Résultats de l'ajout de texte"
|
||
|
||
[addText.saved]
|
||
defaultCanvasLabel = "Drawing signature"
|
||
defaultImageLabel = "Uploaded signature"
|
||
defaultLabel = "Signature"
|
||
defaultTextLabel = "Typed signature"
|
||
delete = "Remove"
|
||
emptyTitle = "No saved signatures yet"
|
||
heading = "Saved signatures"
|
||
label = "Label"
|
||
limitTitle = "Limit reached"
|
||
next = "Next"
|
||
personalHeading = "Personal Signatures"
|
||
prev = "Previous"
|
||
savePersonal = "Save Personal"
|
||
saveShared = "Save Shared"
|
||
sharedHeading = "Shared Signatures"
|
||
|
||
[addText.saved.type]
|
||
canvas = "Drawing"
|
||
image = "Upload"
|
||
text = "Text"
|
||
|
||
[addText.step]
|
||
createDesc = "Saisissez le texte à ajouter"
|
||
place = "Placer le texte"
|
||
placeDesc = "Cliquez sur le PDF pour ajouter votre texte"
|
||
|
||
[addText.steps]
|
||
configure = "Configurer le texte"
|
||
|
||
[addText.text]
|
||
colorLabel = "Couleur du texte"
|
||
fontLabel = "Police"
|
||
fontSizeLabel = "Taille de police"
|
||
fontSizePlaceholder = "Saisissez ou sélectionnez une taille (8-200)"
|
||
name = "Contenu du texte"
|
||
placeholder = "Saisissez le texte à ajouter"
|
||
|
||
[addText.type]
|
||
canvas = "Canvas"
|
||
image = "Image"
|
||
saved = "Saved"
|
||
text = "Text"
|
||
|
||
[adjust-contrast]
|
||
tags = "ajuster,couleurs,amélioration,color-correction,tune,modify,enhance"
|
||
|
||
[adjustContrast]
|
||
adjustColors = "Ajuster les couleurs"
|
||
basic = "Ajustements de base"
|
||
blue = "Bleu"
|
||
brightness = "Luminosité"
|
||
confirm = "Confirmer"
|
||
contrast = "Contraste"
|
||
green = "Vert"
|
||
noPreview = "Sélectionnez un PDF pour l’aperçu"
|
||
red = "Rouge"
|
||
saturation = "Saturation"
|
||
tags = "contrast,brightness,saturation,adjust colors,color correction,enhance,lighten,darken,improve quality,color balance,hue,vibrance"
|
||
title = "Ajuster les couleurs"
|
||
|
||
[adjustContrast.error]
|
||
failed = "Échec de l’ajustement des couleurs/du contraste"
|
||
|
||
[adjustContrast.results]
|
||
title = "PDF ajusté"
|
||
|
||
[adjustPageScale]
|
||
submit = "Ajuster l’échelle de page"
|
||
tags = "redimensionner,modifier,dimension,adapter"
|
||
title = "Ajuster l’échelle de page"
|
||
|
||
[adjustPageScale.error]
|
||
failed = "Une erreur est survenue lors de l’ajustement de l’échelle de page."
|
||
|
||
[adjustPageScale.orientation]
|
||
label = "Orientation de la page"
|
||
landscape = "Paysage"
|
||
portrait = "Portrait"
|
||
|
||
[adjustPageScale.pageSize]
|
||
keep = "Conserver la taille d’origine"
|
||
label = "Taille de page cible"
|
||
legal = "Légal"
|
||
letter = "Lettre"
|
||
|
||
[adjustPageScale.scaleFactor]
|
||
label = "Facteur d’échelle"
|
||
|
||
[adjustPageScale.tooltip.description]
|
||
text = "Ajustez la taille du contenu PDF et modifiez les dimensions de la page."
|
||
title = "Description"
|
||
|
||
[adjustPageScale.tooltip.header]
|
||
title = "Aperçu des paramètres d’échelle de page"
|
||
|
||
[adjustPageScale.tooltip.pageSize]
|
||
text = "Définit les dimensions des pages PDF en sortie. « Conserver la taille d’origine » maintient les dimensions actuelles, tandis que les autres options redimensionnent vers des formats standards."
|
||
title = "Taille de page cible"
|
||
|
||
[adjustPageScale.tooltip.scaleFactor]
|
||
bullet1 = "1,0 = Taille d’origine"
|
||
bullet2 = "0,5 = Demi-taille (50 % plus petit)"
|
||
bullet3 = "2,0 = Taille doublée (200 % plus grand, peut rogner)"
|
||
text = "Contrôle la taille d’affichage du contenu sur la page. Le contenu est mis à l’échelle et centré ; s’il dépasse la taille de la page, il peut être rogné."
|
||
title = "Facteur d’échelle"
|
||
|
||
[admin]
|
||
close = "Fermer"
|
||
error = "Erreur"
|
||
expand = "Développer"
|
||
|
||
[admin.settings]
|
||
discard = "Ignorer"
|
||
error = "Échec de l’enregistrement des paramètres"
|
||
fetchError = "Échec du chargement des paramètres"
|
||
loginRequired = "Le mode de connexion doit être activé pour modifier les paramètres d’administration"
|
||
restartError = "Échec du redémarrage du serveur. Veuillez redémarrer manuellement."
|
||
restarting = "Redémarrage du serveur"
|
||
restartingMessage = "Le serveur redémarre. Veuillez patienter..."
|
||
restartRequired = "Redémarrage requis"
|
||
save = "Enregistrer les modifications"
|
||
saved = "Paramètres enregistrés avec succès"
|
||
saveError = "Échec de l’enregistrement des paramètres"
|
||
saveSuccess = "Paramètres enregistrés avec succès"
|
||
success = "Paramètres enregistrés avec succès"
|
||
title = "Paramètres d’administration"
|
||
workspace = "Espace de travail"
|
||
|
||
[admin.settings.advanced]
|
||
description = "Configurer les fonctionnalités avancées et expérimentales."
|
||
features = "Indicateurs de fonctionnalités"
|
||
processing = "Traitement"
|
||
title = "Avancé"
|
||
|
||
[admin.settings.advanced.disableSanitize]
|
||
description = "AVERTISSEMENT : Risque de sécurité — désactiver la sanitisation HTML peut entraîner des vulnérabilités XSS"
|
||
label = "Désactiver la sanitisation HTML"
|
||
|
||
[admin.settings.advanced.enableAlphaFunctionality]
|
||
description = "Activer les fonctionnalités expérimentales et en phase alpha (peuvent être instables)"
|
||
label = "Activer les fonctionnalités alpha"
|
||
|
||
[admin.settings.advanced.enableUrlToPDF]
|
||
description = "Autoriser la conversion de pages web en documents PDF"
|
||
label = "Activer URL vers PDF"
|
||
|
||
[admin.settings.advanced.endpoints]
|
||
description = "La gestion des points de terminaison se configure via YAML. Voir la documentation pour les détails sur l’activation/la désactivation de points spécifiques."
|
||
label = "Points de terminaison"
|
||
manage = "Gérer les points de terminaison API"
|
||
|
||
[admin.settings.advanced.maxDPI]
|
||
description = "DPI maximum pour le traitement d’images (0 = illimité)"
|
||
label = "DPI maximum"
|
||
|
||
[admin.settings.advanced.processExecutor]
|
||
calibre = "Calibre"
|
||
description = "Configurer les limites de session et délais d’expiration pour chaque exécuteur de processus"
|
||
ghostscript = "Ghostscript"
|
||
installApp = "Installer l’application"
|
||
label = "Limites de l’exécuteur de processus"
|
||
libreOffice = "LibreOffice"
|
||
ocrMyPdf = "OCRmyPDF"
|
||
pdfToHtml = "PDF vers HTML"
|
||
pythonOpenCv = "Python OpenCV"
|
||
qpdf = "QPDF"
|
||
tesseract = "Tesseract OCR"
|
||
weasyPrint = "WeasyPrint"
|
||
|
||
[admin.settings.advanced.processExecutor.sessionLimit]
|
||
description = "Nombre maximal d’instances simultanées"
|
||
label = "Limite de sessions"
|
||
|
||
[admin.settings.advanced.processExecutor.timeout]
|
||
description = "Temps d’exécution maximal"
|
||
label = "Délai d’expiration (minutes)"
|
||
|
||
[admin.settings.advanced.tempFileManagement]
|
||
description = "Configurer le stockage des fichiers temporaires et le comportement de nettoyage"
|
||
label = "Gestion des fichiers temporaires"
|
||
|
||
[admin.settings.advanced.tempFileManagement.baseTmpDir]
|
||
description = "Répertoire de base pour les fichiers temporaires (laisser vide pour la valeur par défaut : java.io.tmpdir/stirling-pdf)"
|
||
label = "Répertoire temporaire de base"
|
||
placeholder = "Par défaut : java.io.tmpdir/stirling-pdf"
|
||
|
||
[admin.settings.advanced.tempFileManagement.cleanupIntervalMinutes]
|
||
description = "Fréquence d’exécution du nettoyage (en minutes)"
|
||
label = "Intervalle de nettoyage (minutes)"
|
||
|
||
[admin.settings.advanced.tempFileManagement.cleanupSystemTemp]
|
||
description = "Indique s’il faut nettoyer un répertoire temporaire système plus large (à utiliser avec précaution)"
|
||
label = "Nettoyer le temporaire système"
|
||
|
||
[admin.settings.advanced.tempFileManagement.libreofficeDir]
|
||
description = "Répertoire des fichiers temporaires LibreOffice (laisser vide pour la valeur par défaut : baseTmpDir/libreoffice)"
|
||
label = "Répertoire temporaire LibreOffice"
|
||
placeholder = "Par défaut : baseTmpDir/libreoffice"
|
||
|
||
[admin.settings.advanced.tempFileManagement.maxAgeHours]
|
||
description = "Âge maximal en heures avant le nettoyage des fichiers temporaires"
|
||
label = "Âge max (heures)"
|
||
|
||
[admin.settings.advanced.tempFileManagement.prefix]
|
||
description = "Préfixe pour les noms de fichiers temporaires"
|
||
label = "Préfixe des fichiers temporaires"
|
||
|
||
[admin.settings.advanced.tempFileManagement.startupCleanup]
|
||
description = "Nettoyer les anciens fichiers temporaires au démarrage de l’application"
|
||
label = "Nettoyage au démarrage"
|
||
|
||
[admin.settings.advanced.tempFileManagement.systemTempDir]
|
||
description = "Répertoire temporaire système à nettoyer (utilisé uniquement si cleanupSystemTemp est activé)"
|
||
label = "Répertoire temporaire système"
|
||
placeholder = "Chemin du répertoire temporaire système"
|
||
|
||
[admin.settings.advanced.tessdataDir]
|
||
description = "Chemin vers le répertoire tessdata pour les fichiers de langue OCR"
|
||
downloadButton = "Télécharger les langues sélectionnées"
|
||
downloadErrorGeneric = "Échec du téléchargement : {{message}}. Veuillez réessayer plus tard."
|
||
downloadErrorNetwork = "Échec du téléchargement en raison d’une erreur réseau. Veuillez vérifier votre connexion et réessayer."
|
||
downloadErrorPermission = "Le répertoire tessdata n’est pas accessible en écriture : {{message}}. Veuillez choisir un répertoire accessible en écriture (par exemple dans le dossier de données de l’application) ou ajuster les autorisations."
|
||
downloadErrorServer = "Le serveur a rencontré une erreur lors du téléchargement des langues tessdata. Veuillez réessayer plus tard."
|
||
downloadErrorTitle = "Échec du téléchargement"
|
||
downloadInvalidBody = "Certaines des langues sélectionnées ne sont pas disponibles au téléchargement. Veuillez actualiser et choisir dans la liste."
|
||
downloadInvalidTitle = "Sélection invalide"
|
||
downloadLabel = "Télécharger des langues tessdata supplémentaires"
|
||
downloadMissingBody = "Veuillez sélectionner au moins une langue à télécharger."
|
||
downloadMissingTitle = "Aucune langue sélectionnée"
|
||
downloadNothingFound = "Aucune langue supplémentaire trouvée"
|
||
downloadPlaceholder = "Sélectionner des langues"
|
||
downloadSuccessBody = "Les langues tessdata sélectionnées ont été enregistrées."
|
||
downloadSuccessTitle = "Langues téléchargées"
|
||
installedLanguages = "Langues tessdata installées"
|
||
label = "Répertoire tessdata"
|
||
loadingLanguages = "Chargement des langues tessdata installées..."
|
||
manualLinks = "Téléchargements manuels : cliquez sur les liens et placez les fichiers dans le dossier tessdata."
|
||
noLanguages = "Aucune langue tessdata trouvée dans le répertoire configuré."
|
||
permissionNotice = "Le chemin tessdata n’est pas accessible en écriture. Les téléchargements seront ouverts dans le navigateur ; veuillez enregistrer manuellement les fichiers .traineddata dans le dossier tessdata."
|
||
|
||
[admin.settings.ai.documents]
|
||
description = "Configurez le modèle d’embedding et les paramètres de récupération utilisés pour répondre aux questions sur les documents. Appliqué au moteur IA lors de l’enregistrement."
|
||
title = "Documents et RAG"
|
||
|
||
[admin.settings.ai.documents.embeddingApiKey]
|
||
description = "Laissez vide pour utiliser l’identifiant d’environnement propre au moteur. S’applique aux déploiements auto-hébergés à moteur unique."
|
||
generic = "Clé API d’embedding"
|
||
openai = "Clé API OpenAI"
|
||
setPlaceholder = "Enregistrée - laissez vide pour conserver la clé actuelle"
|
||
voyageai = "Clé API VoyageAI"
|
||
|
||
[admin.settings.ai.documents.embeddingBaseUrl]
|
||
description = "URL de base du endpoint d’embeddings compatible OpenAI / Ollama, p. ex. http://ollama:11434/v1. Doit pointer vers un endpoint interne de confiance (sensible au SSRF)."
|
||
label = "URL de base d’embedding"
|
||
|
||
[admin.settings.ai.documents.embeddingModel]
|
||
description = "Nom du modèle d’embedding. Texte libre ; les suggestions sont uniquement indicatives."
|
||
label = "Modèle d’embedding"
|
||
|
||
[admin.settings.ai.documents.embeddingProvider]
|
||
description = "Fournisseur utilisé pour convertir le texte des documents en embeddings vectoriels."
|
||
label = "Fournisseur d’embedding"
|
||
|
||
[admin.settings.ai.documents.maxSearches]
|
||
description = "Nombre maximal de recherches de récupération que l’agent peut exécuter par requête."
|
||
label = "Recherches max"
|
||
|
||
[admin.settings.ai.documents.reindexNote]
|
||
body = "La modification du modèle d’embedding prend effet immédiatement, mais les documents indexés avec le modèle précédent doivent être réindexés pour que la recherche renvoie des résultats corrects."
|
||
title = "Réindexation requise"
|
||
|
||
[admin.settings.ai.documents.saved]
|
||
reindexNote = "Si vous avez modifié le modèle d’embedding, réindexez les documents existants afin que la recherche utilise le nouveau modèle."
|
||
|
||
[admin.settings.ai.documents.topK]
|
||
description = "Nombre de segments les plus pertinents récupérés par recherche."
|
||
label = "Top K"
|
||
|
||
[admin.settings.ai.general]
|
||
description = "Connectez Stirling au moteur IA Python et choisissez les fonctionnalités IA exposées. Les modifications s’appliquent au redémarrage."
|
||
title = "Moteur IA"
|
||
|
||
[admin.settings.ai.general.capabilities]
|
||
description = "Activez ou désactivez les fonctionnalités IA individuellement. Les fonctionnalités désactivées sont masquées dans l’application."
|
||
title = "Fonctionnalités"
|
||
|
||
[admin.settings.ai.general.enabled]
|
||
description = "Interrupteur principal. Lorsqu’il est désactivé, aucun outil, agent ni appel au moteur IA n’est disponible."
|
||
label = "Activer l’IA"
|
||
|
||
[admin.settings.ai.general.features.chat]
|
||
description = "Assistant conversationnel pour travailler avec des PDFs."
|
||
label = "Assistant de chat"
|
||
|
||
[admin.settings.ai.general.features.classify]
|
||
description = "Catégoriser automatiquement les documents par type ou contenu."
|
||
label = "Classification des documents"
|
||
|
||
[admin.settings.ai.general.features.createPdf]
|
||
description = "Générer un nouveau PDF (p. ex. depuis HTML) via un agent IA."
|
||
label = "Créer un PDF à partir d’une invite"
|
||
|
||
[admin.settings.ai.general.features.documentQuestions]
|
||
description = "Posez des questions et obtenez des réponses basées sur un document téléversé."
|
||
label = "Questions sur le document"
|
||
|
||
[admin.settings.ai.general.features.mathAuditor]
|
||
description = "Examiner les documents pour détecter les erreurs mathématiques et numériques."
|
||
label = "Auditeur mathématique"
|
||
|
||
[admin.settings.ai.general.features.pdfComment]
|
||
description = "Ajouter des commentaires de révision et des annotations rédigés par l’IA à un PDF."
|
||
label = "Agent de commentaires PDF"
|
||
|
||
[admin.settings.ai.general.longRunningTimeoutSeconds]
|
||
description = "Délai d’expiration pour les opérations d’agent plus lourdes, comme la génération de documents."
|
||
label = "Délai d’expiration des opérations longues (secondes)"
|
||
|
||
[admin.settings.ai.general.note]
|
||
body = "Le moteur IA s’exécute comme un service séparé. Son secret partagé"
|
||
body2 = "est défini via une variable d’environnement du conteneur. Les clés API des fournisseurs peuvent être saisies sur ces pages ou fournies comme variables d’environnement du moteur ; les clés saisies ici sont envoyées au moteur lors de l’enregistrement."
|
||
title = "À propos du moteur IA"
|
||
|
||
[admin.settings.ai.general.streamTimeoutSeconds]
|
||
description = "Délai d’expiration pour les réponses de chat diffusées (token par token)."
|
||
label = "Délai d’expiration du flux (secondes)"
|
||
|
||
[admin.settings.ai.general.test]
|
||
button = "Tester la connexion"
|
||
failBody = "Le moteur IA n’a pas répondu. Vérifiez l’URL, que le conteneur du moteur est en cours d’exécution et que l’IA est activée (un redémarrage est nécessaire après l’activation)."
|
||
failTitle = "Moteur IA inaccessible"
|
||
okBody = "Le moteur IA a répondu à une vérification d’état."
|
||
okTitle = "Moteur IA accessible"
|
||
|
||
[admin.settings.ai.general.timeoutSeconds]
|
||
description = "Délai d’expiration pour les requêtes IA standard vers le moteur."
|
||
label = "Délai d’expiration des requêtes (secondes)"
|
||
|
||
[admin.settings.ai.general.url]
|
||
description = "URL interne du moteur IA Python, p. ex. http://stirling-pdf-engine:5001."
|
||
label = "URL du moteur IA"
|
||
|
||
[admin.settings.ai.limits]
|
||
description = "Garde-fous concernant la quantité de travail que les requêtes IA peuvent effectuer et le nombre pouvant s’exécuter simultanément. Appliqué au moteur IA lors de l’enregistrement."
|
||
title = "Limites et performances"
|
||
|
||
[admin.settings.ai.limits.maxCharacters]
|
||
description = "Garde-fou : rejeter les requêtes IA dont le texte extrait dépasse cette longueur."
|
||
label = "Caractères max par requête"
|
||
|
||
[admin.settings.ai.limits.maxPages]
|
||
description = "Garde-fou : rejeter les requêtes IA dépassant ce nombre de pages PDF."
|
||
label = "Pages max par requête"
|
||
|
||
[admin.settings.ai.limits.modelMaxConcurrency]
|
||
description = "Nombre maximal d’appels de modèle simultanés en cours sur l’ensemble du moteur."
|
||
label = "Concurrence max du modèle"
|
||
|
||
[admin.settings.ai.models]
|
||
description = "Choisissez le fournisseur LLM ainsi que les modèles intelligent/rapide utilisés par le moteur IA. Appliqué au moteur IA lors de l’enregistrement."
|
||
title = "Modèles et fournisseurs"
|
||
|
||
[admin.settings.ai.models.apiKey]
|
||
anthropic = "Clé API Anthropic"
|
||
description = "Laissez vide pour utiliser l’identifiant d’environnement propre au moteur. S’applique aux déploiements auto-hébergés à moteur unique."
|
||
generic = "Clé API"
|
||
openai = "Clé API OpenAI"
|
||
setPlaceholder = "Enregistrée - laissez vide pour conserver la clé actuelle"
|
||
|
||
[admin.settings.ai.models.baseUrl]
|
||
description = "URL de base du endpoint compatible OpenAI / Ollama, p. ex. http://ollama:11434/v1."
|
||
label = "URL de base du fournisseur"
|
||
warning = "L’URL de base doit pointer vers un endpoint interne de confiance. Le moteur effectuera des requêtes côté serveur vers celle-ci ; une valeur non fiable est donc sensible au SSRF."
|
||
|
||
[admin.settings.ai.models.fastMaxTokens]
|
||
description = "Nombre maximal de tokens de sortie pour le modèle rapide."
|
||
label = "Tokens max du modèle rapide"
|
||
|
||
[admin.settings.ai.models.fastModel]
|
||
description = "Modèle moins coûteux et plus rapide pour les tâches légères. Texte libre ; les suggestions sont uniquement indicatives."
|
||
label = "Modèle rapide"
|
||
|
||
[admin.settings.ai.models.provider]
|
||
description = "Fournisseur LLM avec lequel le moteur communique."
|
||
label = "Fournisseur"
|
||
|
||
[admin.settings.ai.models.smartMaxTokens]
|
||
description = "Nombre maximal de tokens de sortie pour le modèle intelligent."
|
||
label = "Tokens max du modèle intelligent"
|
||
|
||
[admin.settings.ai.models.smartModel]
|
||
description = "Modèle à hautes capacités pour les raisonnements complexes. Texte libre ; les suggestions sont uniquement indicatives."
|
||
label = "Modèle intelligent"
|
||
|
||
[admin.settings.ai.saved]
|
||
body = "Les modifications sont envoyées automatiquement au moteur IA."
|
||
bodyNoPush = "Paramètres enregistrés. Ils s’appliqueront la prochaine fois que le moteur IA récupérera sa configuration."
|
||
title = "Paramètres IA enregistrés"
|
||
|
||
[admin.settings.badge]
|
||
clickToUpgrade = "Cliquez pour voir les détails de l’abonnement"
|
||
|
||
[admin.settings.connections]
|
||
connect = "Connecter"
|
||
description = "Configurer des fournisseurs d’authentification externes comme OAuth2 et SAML."
|
||
disconnect = "Déconnecter"
|
||
disconnected = "Fournisseur déconnecté avec succès"
|
||
disconnectError = "Échec de la déconnexion du fournisseur"
|
||
documentation = "Afficher la documentation"
|
||
imageResolutionFull = "Pleine (taille d’origine)"
|
||
imageResolutionReduced = "Réduite (Max 1200px)"
|
||
linkedServices = "Services liés"
|
||
mobileScannerConvertToPdf = "Convertir les images en PDF"
|
||
mobileScannerConvertToPdfDesc = "Convertir automatiquement les images téléversées en PDF. Si désactivé, les images sont conservées telles quelles."
|
||
mobileScannerImageResolution = "Résolution d’image"
|
||
mobileScannerImageResolutionDesc = "Résolution des images téléversées. « Réduite » redimensionne les images jusqu’à 1200px max pour réduire la taille du fichier."
|
||
mobileScannerPageFormat = "Format de page"
|
||
mobileScannerPageFormatDesc = "Taille de page PDF pour les images converties. « Conserver » utilise les dimensions d’origine de l’image."
|
||
mobileScannerStretchToFit = "Étirer pour remplir"
|
||
mobileScannerStretchToFitDesc = "Étirer les images pour remplir toute la page. Si désactivé, les images sont centrées avec ratio préservé."
|
||
pageFormatA4 = "A4 (210×297mm)"
|
||
pageFormatKeep = "Conserver (dimensions d’origine)"
|
||
pageFormatLetter = "Letter (8.5×11in)"
|
||
title = "Connexions"
|
||
unlinkedServices = "Services non liés"
|
||
|
||
[admin.settings.connections.mobileScanner]
|
||
description = "Permettre aux utilisateurs de téléverser des fichiers depuis des appareils mobiles en scannant un QR code"
|
||
enable = "Activer le téléversement par QR code"
|
||
imageResolutionFull = "Pleine (taille d’origine)"
|
||
imageResolutionReduced = "Réduite (Max 1200px)"
|
||
label = "Téléversement depuis mobile"
|
||
link = "Configurer dans les paramètres du système"
|
||
mobileScannerConvertToPdf = "Convertir les images en PDF"
|
||
mobileScannerConvertToPdfDesc = "Convertir automatiquement les images téléversées en PDF. Si désactivé, les images sont conservées telles quelles."
|
||
mobileScannerImageResolution = "Résolution d’image"
|
||
mobileScannerImageResolutionDesc = "Résolution des images téléversées. « Réduite » redimensionne les images jusqu’à 1200px max pour réduire la taille du fichier."
|
||
mobileScannerPageFormat = "Format de page"
|
||
mobileScannerPageFormatDesc = "Taille de page PDF pour les images converties. « Conserver » utilise les dimensions d’origine de l’image."
|
||
mobileScannerStretchToFit = "Étirer pour remplir"
|
||
mobileScannerStretchToFitDesc = "Étirer les images pour remplir toute la page. Si désactivé, les images sont centrées avec ratio préservé."
|
||
note = "Remarque : nécessite la configuration de l’URL du frontend. "
|
||
pageFormatA4 = "A4 (210×297mm)"
|
||
pageFormatKeep = "Conserver (dimensions d’origine)"
|
||
pageFormatLetter = "Letter (8.5×11in)"
|
||
|
||
[admin.settings.connections.oauth2]
|
||
label = "OAuth2"
|
||
|
||
[admin.settings.connections.oauth2.autoCreateUser]
|
||
description = "Créer automatiquement des comptes utilisateurs lors de la première connexion OAuth2"
|
||
label = "Créer automatiquement les utilisateurs"
|
||
|
||
[admin.settings.connections.oauth2.blockRegistration]
|
||
description = "Empêcher l’inscription de nouveaux utilisateurs via OAuth2"
|
||
label = "Bloquer l’inscription"
|
||
|
||
[admin.settings.connections.oauth2.clientId]
|
||
description = "Le client ID OAuth2 de votre fournisseur"
|
||
label = "ID client"
|
||
|
||
[admin.settings.connections.oauth2.clientSecret]
|
||
description = "Le client secret OAuth2 de votre fournisseur"
|
||
label = "Secret client"
|
||
|
||
[admin.settings.connections.oauth2.enabled]
|
||
description = "Autoriser les utilisateurs à s’authentifier via des fournisseurs OAuth2"
|
||
label = "Activer OAuth2"
|
||
|
||
[admin.settings.connections.oauth2.issuer]
|
||
description = "URL de l’issuer du fournisseur OAuth2"
|
||
label = "URL de l’issuer"
|
||
|
||
[admin.settings.connections.oauth2.provider]
|
||
description = "Le fournisseur OAuth2 à utiliser pour l’authentification"
|
||
label = "Fournisseur"
|
||
|
||
[admin.settings.connections.oauth2.scopes]
|
||
description = "Liste séparée par des virgules des scopes OAuth2 à demander (ex. : openid, profile, email)"
|
||
label = "Scopes OAuth2"
|
||
|
||
[admin.settings.connections.oauth2.useAsUsername]
|
||
description = "La revendication OAuth2 à utiliser comme nom d’utilisateur (ex. : email, sub)"
|
||
label = "Utiliser comme nom d’utilisateur"
|
||
|
||
[admin.settings.connections.saml2]
|
||
label = "SAML2"
|
||
|
||
[admin.settings.connections.saml2.autoCreateUser]
|
||
description = "Créer automatiquement des comptes utilisateurs lors de la première connexion SAML2"
|
||
label = "Créer automatiquement les utilisateurs"
|
||
|
||
[admin.settings.connections.saml2.blockRegistration]
|
||
description = "Empêcher l’inscription de nouveaux utilisateurs via SAML2"
|
||
label = "Bloquer l’inscription"
|
||
|
||
[admin.settings.connections.saml2.enabled]
|
||
description = "Autoriser les utilisateurs à s’authentifier via des fournisseurs SAML2"
|
||
label = "Activer SAML2"
|
||
|
||
[admin.settings.connections.saml2.provider]
|
||
description = "Nom du fournisseur SAML2"
|
||
label = "Fournisseur"
|
||
|
||
[admin.settings.connections.saml2.registrationId]
|
||
description = "Identifiant d’enregistrement SAML2"
|
||
label = "ID d’enregistrement"
|
||
|
||
[admin.settings.connections.ssoAutoLogin]
|
||
description = "Rediriger automatiquement vers la connexion SSO lorsque l’authentification est requise"
|
||
enable = "Activer la connexion automatique SSO"
|
||
label = "Connexion automatique SSO"
|
||
|
||
[admin.settings.database]
|
||
actions = "Actions"
|
||
backupCreated = "Sauvegarde créée avec succès"
|
||
backupDescription = "Gérez les sauvegardes H2 directement depuis la console d'administration."
|
||
backupFailed = "Échec de la création de la sauvegarde"
|
||
backupTitle = "Sauvegardes & restauration"
|
||
chooseFile = "Choisir un fichier de sauvegarde .sql"
|
||
codeMismatch = "Le code de confirmation ne correspond pas"
|
||
codeMismatchBody = "Veuillez saisir le code exactement tel qu’affiché pour continuer."
|
||
configuration = "Configuration de la base de données"
|
||
confirmCodeLabel = "Saisissez le code de confirmation pour continuer"
|
||
confirmImport = "Confirmer l’importation"
|
||
confirmImportTitle = "Confirmer l’importation de la base de données"
|
||
createBackup = "Créer une sauvegarde"
|
||
created = "Créé"
|
||
delete = "Supprimer"
|
||
deleteConfirm = "Supprimer cette sauvegarde ? Cette action est irréversible."
|
||
deleteConfirmAction = "Supprimer la sauvegarde"
|
||
deleteFailed = "Échec de la suppression de la sauvegarde"
|
||
deleteSuccess = "Sauvegarde supprimée"
|
||
deleteTitle = "Supprimer la sauvegarde"
|
||
description = "Configurer des paramètres de connexion à une base de données personnalisée pour les déploiements d’entreprise."
|
||
download = "Télécharger"
|
||
downloadFailed = "Échec du téléchargement de la sauvegarde"
|
||
embedded = "H2 intégré"
|
||
enterCode = "Saisissez le code affiché ci-dessus"
|
||
external = "Base de données externe"
|
||
fileName = "Fichier"
|
||
h2Hint = "Définissez le type de base de données sur H2 et désactivez la base de données personnalisée pour activer la sauvegarde et la restauration."
|
||
h2Only = "Les sauvegardes ne sont disponibles que pour la base de données H2 intégrée."
|
||
import = "Importer"
|
||
importFailed = "Échec de l’importation de la sauvegarde"
|
||
importFromUpload = "Importer le téléversement"
|
||
importSuccess = "Sauvegarde importée avec succès"
|
||
loadError = "Échec du chargement des sauvegardes de la base de données"
|
||
manageBackups = "Gérer les sauvegardes"
|
||
noBackups = "Aucune sauvegarde trouvée pour le moment."
|
||
overwriteWarning = "Avertissement : ceci écrasera la base de données actuelle."
|
||
overwriteWarningBody = "Toutes les données existantes seront remplacées par la sauvegarde téléversée. Cette action est irréversible."
|
||
refresh = "Actualiser"
|
||
selectFile = "Veuillez sélectionner un fichier .sql à importer"
|
||
size = "Taille"
|
||
title = "Base de données"
|
||
unavailable = "La liste des sauvegardes est indisponible pour la configuration actuelle de la base de données."
|
||
uploadTitle = "Téléversement & import"
|
||
version = "Version H2"
|
||
|
||
[admin.settings.database.customUrl]
|
||
description = "Chaîne de connexion JDBC complète (ex. : jdbc:postgresql://localhost:5432/postgres). Si fournie, les paramètres de connexion individuels ci-dessous ne sont pas utilisés."
|
||
label = "URL de base de données personnalisée"
|
||
|
||
[admin.settings.database.enableCustom]
|
||
description = "Utiliser votre propre configuration de base de données au lieu de la base embarquée par défaut"
|
||
label = "Activer la base de données personnalisée"
|
||
|
||
[admin.settings.database.hostName]
|
||
description = "Nom d’hôte du serveur de base de données (non utilisé si une URL personnalisée est fournie)"
|
||
label = "Nom d’hôte"
|
||
|
||
[admin.settings.database.name]
|
||
description = "Nom de la base de données (non utilisé si une URL personnalisée est fournie)"
|
||
label = "Nom de la base"
|
||
|
||
[admin.settings.database.password]
|
||
description = "Mot de passe pour l’authentification à la base de données"
|
||
label = "Mot de passe"
|
||
placeholder = "Saisir le mot de passe de la base de données"
|
||
|
||
[admin.settings.database.port]
|
||
description = "Port du serveur de base de données (non utilisé si une URL personnalisée est fournie)"
|
||
label = "Port"
|
||
|
||
[admin.settings.database.type]
|
||
description = "Type de base de données (non utilisé si une URL personnalisée est fournie)"
|
||
label = "Type de base de données"
|
||
|
||
[admin.settings.database.username]
|
||
description = "Nom d’utilisateur pour l’authentification à la base de données"
|
||
label = "Nom d’utilisateur"
|
||
|
||
[admin.settings.endpoints]
|
||
description = "Contrôler quels points de terminaison API et groupes de points sont disponibles."
|
||
management = "Gestion des points de terminaison"
|
||
title = "Points de terminaison API"
|
||
userDefaults = "Valeurs par défaut des préférences utilisateur"
|
||
userDefaultsDescription = "Définissez les valeurs par défaut des préférences utilisateur. Les utilisateurs peuvent les remplacer dans leurs paramètres personnels."
|
||
|
||
[admin.settings.endpoints.defaultHideUnavailableConversions]
|
||
description = "Supprimer les options de conversion désactivées au lieu de les afficher en grisé"
|
||
label = "Masquer par défaut les conversions indisponibles"
|
||
|
||
[admin.settings.endpoints.defaultHideUnavailableTools]
|
||
description = "Supprimer les outils désactivés au lieu de les afficher en grisé"
|
||
label = "Masquer par défaut les outils indisponibles"
|
||
|
||
[admin.settings.endpoints.groupsToRemove]
|
||
description = "Sélectionner les groupes de points de terminaison à désactiver"
|
||
label = "Groupes de points de terminaison désactivés"
|
||
placeholder = "Sélectionner les groupes à désactiver"
|
||
|
||
[admin.settings.endpoints.toRemove]
|
||
description = "Sélectionner les points de terminaison individuels à désactiver"
|
||
label = "Points de terminaison désactivés"
|
||
placeholder = "Sélectionner les endpoints à désactiver"
|
||
|
||
[admin.settings.enterpriseRequired]
|
||
message = "Une licence Entreprise est requise pour accéder à {{featureName}}. Vous consultez des données de démonstration à titre de référence."
|
||
title = "Licence Entreprise requise"
|
||
|
||
[admin.settings.features]
|
||
description = "Configurer les fonctionnalités optionnelles."
|
||
title = "Fonctionnalités"
|
||
|
||
[admin.settings.features.serverCertificate]
|
||
description = "Configurer la génération de certificat côté serveur pour la fonctionnalité \"Signer avec Stirling-PDF\""
|
||
label = "Certificat serveur"
|
||
|
||
[admin.settings.features.serverCertificate.enabled]
|
||
description = "Activer le certificat côté serveur pour l’option \"Signer avec Stirling-PDF\""
|
||
label = "Activer le certificat serveur"
|
||
|
||
[admin.settings.features.serverCertificate.organizationName]
|
||
description = "Nom de l’organisation pour les certificats générés"
|
||
label = "Nom de l’organisation"
|
||
|
||
[admin.settings.features.serverCertificate.regenerateOnStartup]
|
||
description = "Générer un nouveau certificat à chaque démarrage de l’application"
|
||
label = "Régénérer au démarrage"
|
||
|
||
[admin.settings.features.serverCertificate.validity]
|
||
description = "Nombre de jours pendant lesquels le certificat sera valide"
|
||
label = "Validité du certificat (jours)"
|
||
|
||
[admin.settings.folderAccess]
|
||
description = "Répertoires depuis lesquels les sources de dossiers et sorties de dossiers sont autorisées à lire et vers lesquels elles peuvent écrire. Il s’agit d’une limite de sécurité : les automatisations ne peuvent jamais être dirigées vers un chemin serveur en dehors de cette liste."
|
||
securityNote = "Laissez vide pour désactiver entièrement les sources et sorties de dossiers. Le répertoire de configuration propre à Stirling est toujours interdit."
|
||
title = "Accès aux dossiers"
|
||
|
||
[admin.settings.folderAccess.implied]
|
||
description = "Ces répertoires gérés par Stirling sont toujours autorisés et ne peuvent pas être modifiés ici."
|
||
serverStorage = "Stockage de fichiers serveur"
|
||
title = "Toujours autorisés"
|
||
watchedFolder = "Dossier surveillé du pipeline"
|
||
|
||
[admin.settings.folderAccess.roots]
|
||
add = "Ajouter"
|
||
empty = "Aucun dossier autorisé. Les sources et sorties de dossiers sont actuellement désactivées."
|
||
hint = "Saisissez des chemins absolus, par exemple /data/inbox."
|
||
label = "Racines de dossiers autorisées"
|
||
placeholder = "/data/inbox"
|
||
remove = "Supprimer la racine de dossier"
|
||
|
||
[admin.settings.general]
|
||
description = "Configurer les paramètres applicatifs à l’échelle du système, y compris l’image de marque et le comportement par défaut."
|
||
system = "Système"
|
||
title = "Paramètres système"
|
||
ui = "Interface utilisateur"
|
||
|
||
[admin.settings.general.appName]
|
||
description = "Nom affiché dans l’onglet du navigateur et sur la page d’accueil"
|
||
label = "Nom de l’application"
|
||
|
||
[admin.settings.general.appNameNavbar]
|
||
description = "Nom affiché dans la barre de navigation"
|
||
label = "Nom de la barre de navigation"
|
||
|
||
[admin.settings.general.customHTMLFiles]
|
||
description = "Autoriser la diffusion de fichiers HTML personnalisés depuis le répertoire customFiles"
|
||
label = "Fichiers HTML personnalisés"
|
||
|
||
[admin.settings.general.customMetadata]
|
||
label = "Métadonnées personnalisées"
|
||
|
||
[admin.settings.general.customMetadata.author]
|
||
description = "Auteur par défaut pour les métadonnées PDF (ex. : nom d’utilisateur)"
|
||
label = "Auteur par défaut"
|
||
|
||
[admin.settings.general.customMetadata.autoUpdate]
|
||
description = "Mettre automatiquement à jour les métadonnées PDF sur tous les documents traités"
|
||
label = "Mise à jour automatique des métadonnées"
|
||
|
||
[admin.settings.general.customMetadata.creator]
|
||
description = "Créateur par défaut pour les métadonnées PDF"
|
||
label = "Créateur par défaut"
|
||
|
||
[admin.settings.general.customMetadata.producer]
|
||
description = "Producteur par défaut pour les métadonnées PDF"
|
||
label = "Producteur par défaut"
|
||
|
||
[admin.settings.general.customPaths]
|
||
description = "Configurer des chemins de système de fichiers personnalisés pour le traitement par pipeline et les outils externes"
|
||
label = "Chemins personnalisés"
|
||
|
||
[admin.settings.general.customPaths.operations]
|
||
label = "Chemins des outils externes"
|
||
|
||
[admin.settings.general.customPaths.operations.unoconvert]
|
||
description = "Chemin vers LibreOffice unoconvert pour les conversions de documents (laisser vide pour la valeur par défaut : /opt/venv/bin/unoconvert)"
|
||
label = "Exécutable Unoconvert"
|
||
|
||
[admin.settings.general.customPaths.operations.weasyprint]
|
||
description = "Chemin vers l’exécutable WeasyPrint pour la conversion HTML vers PDF (laisser vide pour la valeur par défaut : /opt/venv/bin/weasyprint)"
|
||
label = "Exécutable WeasyPrint"
|
||
|
||
[admin.settings.general.customPaths.pipeline]
|
||
label = "Répertoires du pipeline"
|
||
|
||
[admin.settings.general.customPaths.pipeline.finishedFoldersDir]
|
||
description = "Répertoire où les PDF traités sont produits (laisser vide pour la valeur par défaut : /pipeline/finishedFolders)"
|
||
label = "Répertoire des dossiers terminés"
|
||
|
||
[admin.settings.general.customPaths.pipeline.pipelineDir]
|
||
description = "Base directory for pipeline resources (leave empty for default: /pipeline)"
|
||
label = "Pipeline Directory"
|
||
|
||
[admin.settings.general.customPaths.pipeline.watchedFoldersDir]
|
||
description = "Répertoire où le pipeline surveille les PDF entrants (laisser vide pour la valeur par défaut : /pipeline/watchedFolders)"
|
||
label = "Répertoire des dossiers surveillés"
|
||
|
||
[admin.settings.general.customPaths.pipeline.watchedFoldersDirs]
|
||
description = "Directories where pipeline monitors for incoming PDFs (one per line or comma-separated; leave empty for default: /pipeline/watchedFolders)"
|
||
label = "Watched Folders Directories"
|
||
|
||
[admin.settings.general.defaultLocale]
|
||
description = "Langue par défaut pour les nouveaux utilisateurs (ex. : en_US, es_ES)"
|
||
label = "Langue par défaut"
|
||
|
||
[admin.settings.general.fileUploadLimit]
|
||
description = "Taille maximale de téléversement de fichier (ex. : 100MB, 1GB)"
|
||
label = "Limite de téléversement"
|
||
|
||
[admin.settings.general.frontendUrl]
|
||
description = "URL de base du frontend (ex., https://pdf.example.com). Utilisée pour les liens d’invitation par e-mail et les téléversements mobiles via QR code. Laissez vide pour utiliser l’URL du backend."
|
||
label = "URL du frontend"
|
||
|
||
[admin.settings.general.hideDisabledTools]
|
||
description = "Masquer les outils désactivés de l’interface"
|
||
label = "Masquer les outils désactivés"
|
||
|
||
[admin.settings.general.hideDisabledTools.googleDrive]
|
||
description = "Masquer le bouton Google Drive lorsqu’il n’est pas activé"
|
||
label = "Masquer Google Drive"
|
||
|
||
[admin.settings.general.hideDisabledTools.mobileScanner]
|
||
description = "Masquer le bouton du scanner QR mobile lorsqu’il n’est pas activé"
|
||
label = "Masquer le scanner mobile"
|
||
|
||
[admin.settings.general.homeDescription]
|
||
description = "Texte de description affiché sur la page d’accueil"
|
||
label = "Description de l’accueil"
|
||
|
||
[admin.settings.general.languages]
|
||
description = "Langues parmi lesquelles les utilisateurs peuvent choisir (laisser vide pour activer toutes les langues)"
|
||
label = "Langues disponibles"
|
||
placeholder = "Sélectionner des langues"
|
||
|
||
[admin.settings.general.logoStyle]
|
||
classic = "Classique"
|
||
classicAlt = "Logo classique"
|
||
description = "Choisir entre le logo minimaliste moderne ou l’icône S classique"
|
||
label = "Style de logo"
|
||
modern = "Moderne"
|
||
modernAlt = "Logo moderne"
|
||
|
||
[admin.settings.general.showUpdate]
|
||
description = "Afficher des notifications lorsqu’une nouvelle version est disponible"
|
||
label = "Afficher les notifications de mise à jour"
|
||
|
||
[admin.settings.general.showUpdateOnlyAdmin]
|
||
description = "Limiter les notifications de mise à jour aux utilisateurs administrateurs uniquement"
|
||
label = "Afficher les mises à jour aux administrateurs uniquement"
|
||
|
||
[admin.settings.legal]
|
||
description = "Configurer les liens vers les documents et politiques juridiques."
|
||
title = "Documents juridiques"
|
||
|
||
[admin.settings.legal.accessibilityStatement]
|
||
description = "URL ou nom de fichier de la déclaration d’accessibilité"
|
||
label = "Déclaration d’accessibilité"
|
||
|
||
[admin.settings.legal.cookiePolicy]
|
||
description = "URL ou nom de fichier de la politique de cookies"
|
||
label = "Politique de cookies"
|
||
|
||
[admin.settings.legal.disclaimer]
|
||
message = "En personnalisant ces documents juridiques, vous assumez l’entière responsabilité de la conformité à toutes les lois et réglementations applicables, y compris, sans s’y limiter, au RGPD et autres exigences européennes en matière de protection des données. Ne modifiez ces paramètres que si : (1) vous exploitez une instance personnelle/privée, (2) vous êtes en dehors de la juridiction de l’UE et comprenez vos obligations légales locales, ou (3) vous avez obtenu un conseil juridique approprié et acceptez la responsabilité exclusive de toutes les données des utilisateurs et de la conformité légale. Stirling-PDF et ses développeurs n’assument aucune responsabilité quant à vos obligations légales."
|
||
title = "Avertissement de responsabilité légale"
|
||
|
||
[admin.settings.legal.impressum]
|
||
description = "URL ou nom de fichier de l’impressum (obligatoire dans certaines juridictions)"
|
||
label = "Mentions légales"
|
||
|
||
[admin.settings.legal.loginAgreement]
|
||
defaultLocaleHint = "— utilisé comme solution de repli lorsqu’une langue n’a pas de fichier."
|
||
defaultLocaleLink = "Configurer la langue par défaut"
|
||
description = "Afficher un avertissement que les utilisateurs doivent accepter après s’être connectés. Le texte suit la langue de chaque utilisateur."
|
||
discardConfirm = "Vous avez des modifications non enregistrées qui seront perdues. Changer de langue quand même ?"
|
||
editLabel = "Markdown"
|
||
emptyPreview = "Rien à prévisualiser pour le moment."
|
||
language = "Langue"
|
||
languageHelp = "Chaque langue possède son propre fichier. Si la langue d’un utilisateur n’a pas de fichier, l’accord passe au fichier de la langue par défaut, puis au texte de repli."
|
||
loadError = "Échec du chargement de l’accord pour {{locale}}. Changez de langue puis revenez pour réessayer."
|
||
previewLabel = "Aperçu"
|
||
restartNote = "L’activation ou la désactivation de l’accord s’applique après un redémarrage, comme les autres paramètres. Les modifications du texte ci-dessous s’appliquent immédiatement."
|
||
save = "Enregistrer le texte"
|
||
saved = "Enregistré"
|
||
savedBody = "Accord de connexion mis à jour pour {{locale}}"
|
||
textDescription = "Enregistré dans customFiles/disclaimer/{{locale}}.md et affiché lors de la prochaine connexion. Laissez vide pour supprimer cette langue."
|
||
title = "Accord de connexion"
|
||
|
||
[admin.settings.legal.loginAgreement.anonymous]
|
||
label = "Afficher en mode anonyme (sans connexion)"
|
||
|
||
[admin.settings.legal.loginAgreement.enabled]
|
||
label = "Activer l’accord de connexion"
|
||
|
||
[admin.settings.legal.privacyPolicy]
|
||
description = "URL ou nom de fichier de la politique de confidentialité"
|
||
label = "Politique de confidentialité"
|
||
|
||
[admin.settings.legal.termsAndConditions]
|
||
description = "URL ou nom de fichier des conditions générales"
|
||
label = "Conditions générales"
|
||
|
||
[admin.settings.loginDisabled]
|
||
message = "Le mode de connexion doit être activé pour modifier les paramètres d’administration. Veuillez définir SECURITY_ENABLELOGIN=true dans votre environnement ou security.enableLogin: true dans settings.yml, puis redémarrer le serveur."
|
||
readOnly = "Les paramètres ci-dessous affichent des valeurs d’exemple à titre de référence. Activez le mode de connexion pour afficher et modifier la configuration réelle."
|
||
title = "Mode de connexion requis"
|
||
|
||
[admin.settings.mail]
|
||
description = "Configurer les paramètres SMTP pour l’envoi de notifications par e-mail."
|
||
smtp = "Configuration SMTP"
|
||
title = "Serveur de messagerie"
|
||
|
||
[admin.settings.mail.enabled]
|
||
description = "Activer les notifications par e-mail et la fonctionnalité SMTP"
|
||
label = "Activer l’e-mail"
|
||
|
||
[admin.settings.mail.enableInvites]
|
||
description = "Permettre aux administrateurs d’inviter des utilisateurs par e-mail avec des mots de passe générés automatiquement"
|
||
label = "Activer les invitations par e-mail"
|
||
|
||
[admin.settings.mail.from]
|
||
description = "Adresse e-mail à utiliser comme expéditeur"
|
||
label = "Adresse d’expéditeur"
|
||
|
||
[admin.settings.mail.frontendUrl]
|
||
description = "URL de base du frontend (ex. https://pdf.example.com). Utilisée pour générer les liens d’invitation dans les e-mails. Laisser vide pour utiliser l’URL du backend."
|
||
label = "URL du frontend"
|
||
|
||
[admin.settings.mail.frontendUrlNote]
|
||
link = "Configurer dans les paramètres du système"
|
||
note = "Remarque : nécessite la configuration de l’URL du frontend. "
|
||
|
||
[admin.settings.mail.host]
|
||
description = "Nom d’hôte ou adresse IP de votre serveur SMTP"
|
||
label = "Hôte SMTP"
|
||
|
||
[admin.settings.mail.password]
|
||
description = "Mot de passe pour l’authentification SMTP"
|
||
label = "Mot de passe SMTP"
|
||
placeholder = "Saisir le mot de passe SMTP"
|
||
|
||
[admin.settings.mail.port]
|
||
description = "Numéro de port pour la connexion SMTP (généralement 25, 465 ou 587)"
|
||
label = "Port SMTP"
|
||
|
||
[admin.settings.mail.username]
|
||
description = "Nom d’utilisateur pour l’authentification SMTP"
|
||
label = "Nom d’utilisateur SMTP"
|
||
|
||
[admin.settings.mcp]
|
||
apikeyNote = "Clients send a Stirling API key in the X-API-KEY header (or Authorization: Bearer <key>). The key maps to its owning Stirling user - only provisioned accounts get in, and actions are audited as that user. Manage keys under Account > API Keys."
|
||
description = "Expose Stirling's PDF tools and AI agents to MCP clients over an OAuth-protected endpoint."
|
||
title = "MCP Server"
|
||
|
||
[admin.settings.mcp.acceptedAudiences]
|
||
description = "Extra token audience values accepted besides the Resource ID (comma or space separated). Leave blank for strict RFC 8707. Needed for IdPs that cannot mint resource audiences - e.g. Supabase's OAuth server always issues aud=authenticated."
|
||
label = "Additional accepted audiences (optional)"
|
||
|
||
[admin.settings.mcp.allowedOps]
|
||
description = "If set, ONLY these operation ids are exposed (an allow-list; comma or space separated). Leave blank to expose all enabled tools except any blocked below."
|
||
label = "Allowed tools"
|
||
|
||
[admin.settings.mcp.blockedOps]
|
||
description = "Operation ids to hide from MCP (comma or space separated), e.g. add-password remove-password. Leave blank to expose all enabled tools."
|
||
label = "Blocked tools"
|
||
|
||
[admin.settings.mcp.enabled]
|
||
description = "When off (default), no /mcp endpoint, metadata, or MCP beans are loaded."
|
||
label = "Enable MCP Server"
|
||
|
||
[admin.settings.mcp.guide]
|
||
step1 = "Enter your OAuth issuer + resource ID above, Save, and restart."
|
||
step1ApiKey = "Create an API key under Account > API Keys (each user uses their own)."
|
||
step2 = "In your MCP client add a"
|
||
step2b = "server pointing at:"
|
||
step3 = "The client auto-discovers OAuth from:"
|
||
step3ApiKey = "Send the key in an"
|
||
step3ApiKeyb = "header (or Authorization: Bearer <key>). No OAuth or metadata discovery is used."
|
||
step4 = "Approve the sign-in; the client retries with a token. Tools appear grouped: convert, pages, misc, security, ai."
|
||
step4ApiKey = "Tools appear grouped: convert, pages, misc, security, ai - and every call is audited as the key's owner."
|
||
tip = "Tip: register the resource ID as an allowed audience in your IdP. Tested with MCP Inspector and Claude Desktop."
|
||
tipApiKey = "Tip: API-key mode needs no external IdP - simplest for self-host. The key maps to its owning Stirling user."
|
||
title = "Connect an MCP client"
|
||
|
||
[admin.settings.mcp.issuerUri]
|
||
description = "Your OAuth2 authorization server (must publish /.well-known/openid-configuration). Required when enabled."
|
||
label = "OAuth Issuer URL"
|
||
|
||
[admin.settings.mcp.jwksUri]
|
||
description = "Leave blank to discover it from the issuer. Set only if your IdP serves keys at a non-standard URL."
|
||
label = "JWKS URL (optional)"
|
||
placeholder = "Auto-discovered from issuer"
|
||
|
||
[admin.settings.mcp.mode]
|
||
description = "OAuth needs an external IdP. API key uses a Stirling per-user API key (X-API-KEY) - simplest for self-host."
|
||
label = "Authentication mode"
|
||
|
||
[admin.settings.mcp.requireAccount]
|
||
description = "Only let tokens through if their subject maps to a provisioned, enabled Stirling user."
|
||
label = "Require an existing Stirling account"
|
||
|
||
[admin.settings.mcp.resourceId]
|
||
description = "This server's public /mcp URL. Tokens must list it in their audience (RFC 8707) or they are rejected."
|
||
label = "Resource ID"
|
||
|
||
[admin.settings.mcp.scopes]
|
||
description = "Require mcp.tools.read for read ops and mcp.tools.write for write/AI ops."
|
||
label = "Enforce OAuth scopes"
|
||
|
||
[admin.settings.mcp.usernameClaim]
|
||
description = "JWT claim matched against a Stirling username (e.g. sub, email, preferred_username)."
|
||
label = "Username claim"
|
||
|
||
[admin.settings.plan.noData]
|
||
message = "Les données des offres ne sont pas disponibles pour le moment."
|
||
title = "Aucune donnée disponible"
|
||
|
||
[admin.settings.premium]
|
||
description = "Configurer votre clé de licence Premium ou Enterprise."
|
||
license = "Configuration de la licence"
|
||
noInput = "Veuillez fournir une clé de licence ou un fichier"
|
||
title = "Premium & Enterprise"
|
||
|
||
[admin.settings.premium.currentLicense]
|
||
file = "Source: Fichier de licence ({{path}})"
|
||
key = "Source: Clé de licence"
|
||
noInput = "Veuillez fournir une clé de licence ou téléverser un fichier de certificat"
|
||
success = "Succès"
|
||
title = "Licence active"
|
||
type = "Type : {{type}}"
|
||
|
||
[admin.settings.premium.enabled]
|
||
description = "Activer la vérification de la clé de licence pour les fonctionnalités Pro/Enterprise"
|
||
label = "Activer les fonctionnalités Premium"
|
||
|
||
[admin.settings.premium.file]
|
||
choose = "Choisir le fichier de licence"
|
||
description = "Téléversez votre fichier de licence .lic ou .cert issu d’achats hors ligne"
|
||
label = "Fichier de certificat de licence"
|
||
selected = "Sélectionné: {{filename}} ({{size}})"
|
||
successMessage = "Fichier de licence téléversé et activé avec succès. Aucun redémarrage requis."
|
||
|
||
[admin.settings.premium.inputMethod]
|
||
file = "Fichier de certificat"
|
||
text = "Clé de licence"
|
||
|
||
[admin.settings.premium.key]
|
||
description = "Saisissez votre clé de licence Premium ou Enterprise"
|
||
label = "Clé de licence"
|
||
success = "Clé de licence enregistrée"
|
||
successMessage = "Votre clé de licence a été activée avec succès. Aucun redémarrage requis."
|
||
|
||
[admin.settings.premium.key.overwriteWarning]
|
||
line1 = "Écraser votre clé de licence actuelle est irréversible."
|
||
line2 = "Votre licence précédente sera définitivement perdue, sauf si vous l’avez sauvegardée ailleurs."
|
||
line3 = "Important : gardez vos clés de licence privées et sécurisées. Ne les partagez jamais publiquement."
|
||
title = "⚠️ Avertissement : licence existante détectée"
|
||
|
||
[admin.settings.premium.licenseKey]
|
||
info = "Si vous avez une clé de licence ou un fichier de certificat suite à un achat direct, vous pouvez l’entrer ici pour activer les fonctionnalités Premium ou Enterprise."
|
||
toggle = "Vous avez une clé de licence ou un fichier de certificat ?"
|
||
|
||
[admin.settings.premium.movedFeatures]
|
||
auditLogging = "<0>Journalisation d'audit</0> (ENTERPRISE) - Sécurité"
|
||
customMetadata = "<0>Métadonnées personnalisées</0> (PRO) - Général"
|
||
databaseConfiguration = "<0>Configuration de base de données</0> (ENTERPRISE) - Base de données"
|
||
message = "Les fonctionnalités Premium et Enterprise sont désormais organisées dans leurs sections respectives :"
|
||
title = "Fonctionnalités Premium réparties"
|
||
|
||
[admin.settings.privacy]
|
||
analytics = "Analyses et suivi"
|
||
description = "Configurer les paramètres de confidentialité et de collecte de données."
|
||
searchEngine = "Visibilité sur les moteurs de recherche"
|
||
title = "Confidentialité"
|
||
|
||
[admin.settings.privacy.enableAnalytics]
|
||
description = "Collecter des analyses d’utilisation anonymes pour aider à améliorer l’application"
|
||
label = "Activer les analyses"
|
||
|
||
[admin.settings.privacy.googleVisibility]
|
||
description = "Autoriser les moteurs de recherche à indexer cette application"
|
||
label = "Visibilité Google"
|
||
|
||
[admin.settings.privacy.metricsEnabled]
|
||
description = "Activer la collecte des métriques de performance et d’utilisation. Fournit un endpoint API permettant aux administrateurs d’accéder aux données de métriques"
|
||
label = "Activer les métriques"
|
||
|
||
[admin.settings.restart]
|
||
later = "Redémarrer plus tard"
|
||
message = "Les paramètres ont été enregistrés avec succès. Un redémarrage du serveur est requis pour que les changements prennent effet."
|
||
now = "Redémarrer maintenant"
|
||
question = "Souhaitez-vous redémarrer le serveur maintenant ou plus tard ?"
|
||
title = "Redémarrage requis"
|
||
|
||
[admin.settings.security]
|
||
authentication = "Authentification"
|
||
description = "Configurer l’authentification, le comportement de connexion et les politiques de sécurité."
|
||
title = "Sécurité"
|
||
|
||
[admin.settings.security.audit]
|
||
hideDetails = "Masquer les détails du niveau d’audit"
|
||
label = "Journal d’audit"
|
||
showDetails = "Afficher les détails du niveau d’audit"
|
||
|
||
[admin.settings.security.audit.advancedOptions]
|
||
description = "Les options suivantes augmentent le temps de traitement et l’utilisation mémoire. Activez-les uniquement si nécessaire."
|
||
title = "Options avancées"
|
||
|
||
[admin.settings.security.audit.captureFileHash]
|
||
description = "Extraire le hachage SHA-256 des fichiers PDF téléversés pour vérifier l’intégrité. Indépendant du niveau d’audit."
|
||
label = "Capturer le hachage de fichier (SHA-256)"
|
||
|
||
[admin.settings.security.audit.captureOperationResults]
|
||
description = "Capturer les valeurs de retour des méthodes. Non recommandé : augmente significativement le volume des journaux et l’utilisation du disque."
|
||
label = "Capturer les résultats de l’opération"
|
||
|
||
[admin.settings.security.audit.capturePdfAuthor]
|
||
description = "Extraire le champ auteur des documents PDF pendant le traitement. Nécessite l’analyse du PDF, augmente la latence. Indépendant du niveau d’audit."
|
||
label = "Capturer les métadonnées Auteur du PDF"
|
||
|
||
[admin.settings.security.audit.enabled]
|
||
description = "Suivre les actions des utilisateurs et les événements système pour la conformité et la surveillance de sécurité"
|
||
label = "Activer le journal d’audit"
|
||
|
||
[admin.settings.security.audit.level]
|
||
description = "0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE"
|
||
label = "Niveau d’audit"
|
||
|
||
[admin.settings.security.audit.levelDetails]
|
||
basic = "Opérations sur les fichiers PDF (compress, split, merge, etc.) et modifications des paramètres. Capture : statut de l’opération (succès/échec), paramètres de méthode, temps. Volume de logs minimal."
|
||
off = "Aucune journalisation d’audit (sauf événements de sécurité critiques)"
|
||
standard = "Événements BASIC plus : connexion/déconnexion utilisateur, changements de compte, requêtes GET générales. Exclut les appels de sondage continus (/auth/me, /app-config, /health, etc.) pour réduire le bruit. Idéal pour la plupart des déploiements."
|
||
verbose = "Événements STANDARD plus : appels de sondage continus, toutes les requêtes GET, minutage détaillé. Avertissement : volume de journaux élevé et impact sur les performances."
|
||
|
||
[admin.settings.security.audit.retentionDays]
|
||
description = "Nombre de jours de conservation des journaux d’audit"
|
||
label = "Rétention des journaux (jours)"
|
||
|
||
[admin.settings.security.csrfDisabled]
|
||
description = "Désactiver la protection contre la falsification de requête intersites (non recommandé)"
|
||
label = "Désactiver la protection CSRF"
|
||
|
||
[admin.settings.security.enableLogin]
|
||
description = "Exiger que les utilisateurs se connectent avant d’accéder à l’application"
|
||
label = "Activer la connexion"
|
||
|
||
[admin.settings.security.htmlUrlSecurity]
|
||
advanced = "Paramètres avancés"
|
||
description = "Configurer les restrictions d’accès URL pour le traitement HTML afin de prévenir les attaques SSRF"
|
||
label = "Sécurité des URL HTML"
|
||
networkBlocking = "Blocage réseau"
|
||
|
||
[admin.settings.security.htmlUrlSecurity.allowedDomains]
|
||
description = "Un domaine par ligne (ex. : cdn.example.com). Seuls ces domaines sont autorisés lorsque le niveau est MAX"
|
||
label = "Domaines autorisés (liste blanche)"
|
||
|
||
[admin.settings.security.htmlUrlSecurity.blockCloudMetadata]
|
||
description = "Bloquer les endpoints de métadonnées des fournisseurs cloud (169.254.169.254)"
|
||
label = "Bloquer les endpoints de métadonnées cloud"
|
||
|
||
[admin.settings.security.htmlUrlSecurity.blockedDomains]
|
||
description = "Un domaine par ligne (ex. : malicious.com). Domaines supplémentaires à bloquer"
|
||
label = "Domaines bloqués (liste noire)"
|
||
|
||
[admin.settings.security.htmlUrlSecurity.blockLinkLocal]
|
||
description = "Bloquer les adresses link-local (169.254.x.x, fe80::/10)"
|
||
label = "Bloquer les adresses link-local"
|
||
|
||
[admin.settings.security.htmlUrlSecurity.blockLocalhost]
|
||
description = "Bloquer localhost et les adresses de bouclage (127.x.x.x, ::1)"
|
||
label = "Bloquer localhost"
|
||
|
||
[admin.settings.security.htmlUrlSecurity.blockPrivateNetworks]
|
||
description = "Bloquer les réseaux privés RFC 1918 (10.x.x.x, 192.168.x.x, 172.16-31.x.x)"
|
||
label = "Bloquer les réseaux privés"
|
||
|
||
[admin.settings.security.htmlUrlSecurity.enabled]
|
||
description = "Activer les restrictions de sécurité des URL pour les conversions HTML vers PDF"
|
||
label = "Activer la sécurité des URL"
|
||
|
||
[admin.settings.security.htmlUrlSecurity.internalTlds]
|
||
description = "Un TLD par ligne (ex. : .local, .internal). Bloquer les domaines avec ces motifs de TLD"
|
||
label = "TLD internes"
|
||
|
||
[admin.settings.security.htmlUrlSecurity.level]
|
||
description = "MAX : liste blanche uniquement, MEDIUM : blocage des réseaux internes, OFF : aucune restriction"
|
||
label = "Niveau de sécurité"
|
||
max = "Maximum (liste blanche uniquement)"
|
||
medium = "Moyen (bloquer l’interne)"
|
||
off = "Désactivé (aucune restriction)"
|
||
|
||
[admin.settings.security.initialLogin]
|
||
label = "Connexion initiale"
|
||
|
||
[admin.settings.security.initialLogin.password]
|
||
description = "Mot de passe du compte administrateur initial"
|
||
label = "Mot de passe initial"
|
||
|
||
[admin.settings.security.initialLogin.username]
|
||
description = "Nom d’utilisateur du compte administrateur initial"
|
||
label = "Nom d’utilisateur initial"
|
||
|
||
[admin.settings.security.jwt]
|
||
label = "Configuration JWT"
|
||
|
||
[admin.settings.security.jwt.allowedClockSkewSeconds]
|
||
description = "Tolérance de dérive horaire client/serveur lors de la validation du jeton (par défaut : 60 secondes)"
|
||
label = "Tolérance de dérive horaire (secondes)"
|
||
|
||
[admin.settings.security.jwt.desktopTokenExpiryMinutes]
|
||
description = "Durée de vie du jeton d’accès en minutes pour les clients de bureau. Les applications de bureau sont automatiquement détectées via l’User-Agent et reçoivent des sessions plus longues pour une meilleure expérience utilisateur (par défaut : 43200 = 30 jours)"
|
||
label = "Expiration du jeton de bureau (minutes)"
|
||
|
||
[admin.settings.security.jwt.enableKeyCleanup]
|
||
description = "Supprimer automatiquement les clés JWT expirées"
|
||
label = "Activer le nettoyage des clés"
|
||
|
||
[admin.settings.security.jwt.enableKeyRotation]
|
||
description = "Faire pivoter automatiquement les clés de signature JWT périodiquement"
|
||
label = "Activer la rotation des clés"
|
||
|
||
[admin.settings.security.jwt.persistence]
|
||
description = "Stocker les clés JWT de manière persistante pour survivre aux redémarrages du serveur"
|
||
label = "Activer la persistance des clés"
|
||
|
||
[admin.settings.security.jwt.refreshGraceMinutes]
|
||
description = "Autoriser l’actualisation du jeton pendant ce nombre de minutes après l’expiration (par défaut : 15 minutes, 3 tentatives maximum)"
|
||
label = "Période de grâce pour l’actualisation (minutes)"
|
||
|
||
[admin.settings.security.jwt.secureCookie]
|
||
description = "Exiger HTTPS pour les cookies JWT (recommandé en production)"
|
||
label = "Cookie sécurisé"
|
||
|
||
[admin.settings.security.jwt.tokenExpiryMinutes]
|
||
description = "Durée de vie du jeton d’accès en minutes pour les clients Web (par défaut : 1440 = 24 heures)"
|
||
label = "Expiration du jeton Web (minutes)"
|
||
|
||
[admin.settings.security.loginAttemptCount]
|
||
description = "Nombre maximal de tentatives de connexion échouées avant le verrouillage du compte"
|
||
label = "Limite de tentatives de connexion"
|
||
|
||
[admin.settings.security.loginMethod]
|
||
all = "Toutes les méthodes"
|
||
description = "Méthode d’authentification à utiliser pour la connexion des utilisateurs"
|
||
label = "Méthode de connexion"
|
||
normal = "Nom d’utilisateur/mot de passe uniquement"
|
||
oauth2 = "OAuth2 uniquement"
|
||
saml2 = "SAML2 uniquement"
|
||
|
||
[admin.settings.security.loginResetTimeMinutes]
|
||
description = "Délai avant la réinitialisation du compteur de tentatives de connexion échouées"
|
||
label = "Délai de réinitialisation (minutes)"
|
||
|
||
[admin.settings.security.ssoNotice]
|
||
message = "Les fournisseurs d’authentification OAuth2 et SAML2 ont été déplacés vers le menu Connexions pour une gestion facilitée."
|
||
title = "Vous cherchez les paramètres SSO/SAML ?"
|
||
|
||
[admin.settings.security.xFrameOptions]
|
||
deny = "Deny (Prevents all framing)"
|
||
description = "Controls whether the application can be embedded in iframes"
|
||
disabled = "Disabled (No X-Frame-Options header)"
|
||
label = "X-Frame-Options"
|
||
sameorigin = "Same Origin (Allow framing from same domain)"
|
||
|
||
[admin.settings.storage]
|
||
description = "Contrôler les options de stockage et de partage du serveur."
|
||
title = "Stockage et partage de fichiers"
|
||
|
||
[admin.settings.storage.enabled]
|
||
description = "Autoriser les utilisateurs à stocker des fichiers sur le serveur."
|
||
label = "Activer le stockage de fichiers sur le serveur"
|
||
|
||
[admin.settings.storage.sharing.email]
|
||
description = "Autoriser le partage avec des adresses e-mail."
|
||
label = "Activer le partage par e-mail"
|
||
mailLink = "Configurer les paramètres de messagerie"
|
||
mailNote = "Nécessite une configuration de messagerie. "
|
||
|
||
[admin.settings.storage.sharing.enabled]
|
||
description = "Autoriser les utilisateurs à partager les fichiers stockés."
|
||
label = "Activer le partage"
|
||
|
||
[admin.settings.storage.sharing.links]
|
||
description = "Autoriser le partage via des liens nécessitant une connexion."
|
||
frontendUrlLink = "Configurer dans les paramètres système"
|
||
frontendUrlNote = "Nécessite une Frontend URL. "
|
||
label = "Activer les liens de partage"
|
||
|
||
[admin.settings.storage.signing.enabled]
|
||
description = "Autoriser les utilisateurs à créer des sessions de signature multi-participants. Nécessite l’activation du stockage de fichiers sur le serveur."
|
||
label = "Activer la signature de groupe (Alpha)"
|
||
|
||
[admin.settings.telegram]
|
||
description = "Configurer la connectivité du bot Telegram, les contrôles d’accès et le comportement des retours."
|
||
title = "Bot Telegram"
|
||
|
||
[admin.settings.telegram.accessControl]
|
||
description = "Restreindre quels utilisateurs ou canaux peuvent interagir avec le bot."
|
||
title = "Contrôle d’accès"
|
||
|
||
[admin.settings.telegram.allowChannelIDs]
|
||
description = "Saisissez les ID de canal Telegram autorisés à interagir avec le bot."
|
||
label = "ID de canal autorisés"
|
||
placeholder = "Ajoutez un ID de canal et appuyez sur Entrée"
|
||
|
||
[admin.settings.telegram.allowUserIDs]
|
||
description = "Saisissez les ID utilisateur Telegram autorisés à interagir avec le bot."
|
||
label = "ID utilisateur autorisés"
|
||
placeholder = "Ajoutez un ID utilisateur et appuyez sur Entrée"
|
||
|
||
[admin.settings.telegram.botToken]
|
||
description = "Jeton API fourni par BotFather pour votre bot Telegram."
|
||
label = "Jeton du bot"
|
||
|
||
[admin.settings.telegram.botUsername]
|
||
description = "Le nom d’utilisateur public de votre bot Telegram."
|
||
label = "Nom d’utilisateur du bot"
|
||
|
||
[admin.settings.telegram.customFolderSuffix]
|
||
description = "Ajouter l’ID du chat aux dossiers des fichiers entrants pour isoler les téléversements par chat."
|
||
label = "Utiliser un suffixe de dossier personnalisé"
|
||
|
||
[admin.settings.telegram.enableAllowChannelIDs]
|
||
description = "Lorsque activé, seuls les ID de canal listés peuvent utiliser le bot."
|
||
label = "Autoriser des ID de canal spécifiques"
|
||
|
||
[admin.settings.telegram.enableAllowUserIDs]
|
||
description = "Lorsque activé, seuls les ID utilisateur listés peuvent utiliser le bot."
|
||
label = "Autoriser des ID utilisateur spécifiques"
|
||
|
||
[admin.settings.telegram.enabled]
|
||
description = "Permettre aux utilisateurs d’interagir avec Stirling PDF via votre bot Telegram configuré."
|
||
label = "Activer le bot Telegram"
|
||
|
||
[admin.settings.telegram.feedback]
|
||
description = "Choisissez quand le bot doit envoyer des retours aux utilisateurs et aux canaux."
|
||
title = "Messages de retour"
|
||
|
||
[admin.settings.telegram.feedback.channel]
|
||
title = "Règles de retour (canaux)"
|
||
|
||
[admin.settings.telegram.feedback.channel.errorMessage]
|
||
description = "Afficher des messages d’erreur détaillés pour les canaux."
|
||
label = "Afficher les messages d’erreur (Canal)"
|
||
|
||
[admin.settings.telegram.feedback.channel.errorProcessing]
|
||
description = "Envoyer les messages d’erreur de traitement aux canaux."
|
||
label = "Afficher les erreurs de traitement (Canal)"
|
||
|
||
[admin.settings.telegram.feedback.channel.noValidDocument]
|
||
description = "Supprimer la réponse « aucun document valide » pour les téléversements de canal."
|
||
label = "Afficher « Aucun document valide » (Canal)"
|
||
|
||
[admin.settings.telegram.feedback.general.enabled]
|
||
description = "Contrôler si le bot envoie des messages de retour ou non."
|
||
label = "Activer les retours"
|
||
|
||
[admin.settings.telegram.feedback.user]
|
||
title = "Règles de retour (utilisateurs)"
|
||
|
||
[admin.settings.telegram.feedback.user.errorMessage]
|
||
description = "Afficher des messages d’erreur détaillés pour les utilisateurs."
|
||
label = "Afficher les messages d’erreur (Utilisateur)"
|
||
|
||
[admin.settings.telegram.feedback.user.errorProcessing]
|
||
description = "Envoyer les messages d’erreur de traitement aux utilisateurs."
|
||
label = "Afficher les erreurs de traitement (Utilisateur)"
|
||
|
||
[admin.settings.telegram.feedback.user.noValidDocument]
|
||
description = "Supprimer la réponse « aucun document valide » pour les téléversements utilisateur."
|
||
label = "Afficher « Aucun document valide » (Utilisateur)"
|
||
|
||
[admin.settings.telegram.pipelineInboxFolder]
|
||
description = "Dossier sous le répertoire pipeline où sont stockés les fichiers Telegram entrants."
|
||
label = "Dossier de réception"
|
||
|
||
[admin.settings.telegram.pollingIntervalMillis]
|
||
description = "Intervalle entre les vérifications des nouvelles mises à jour Telegram."
|
||
label = "Intervalle d’interrogation (ms)"
|
||
|
||
[admin.settings.telegram.processing]
|
||
description = "Contrôler les intervalles d’interrogation et les délais de traitement pour les téléversements Telegram."
|
||
title = "Traitement"
|
||
|
||
[admin.settings.telegram.processingTimeoutSeconds]
|
||
description = "Temps d’attente maximal d’un job de traitement avant de signaler une erreur."
|
||
label = "Délai de traitement (secondes)"
|
||
|
||
[admin.settings.unsavedChanges]
|
||
cancel = "Continuer l’édition"
|
||
discard = "Ignorer les modifications"
|
||
hint = "Vous avez des modifications non enregistrées"
|
||
message = "Vous avez des modifications non enregistrées. Voulez-vous les ignorer ?"
|
||
title = "Modifications non enregistrées"
|
||
|
||
[adminOnboarding]
|
||
adminTools = "Enfin, nous disposons d’outils d’administration avancés comme <strong>l’Audit</strong> pour suivre l’activité du système et <strong>l’Analyse d’utilisation</strong> pour surveiller la façon dont vos utilisateurs interagissent avec la plateforme."
|
||
configButton = "Cliquez sur le bouton <strong>Config</strong> pour accéder à tous les paramètres système et aux contrôles d’administration."
|
||
connectionsSection = "La section <strong>Connexions</strong> prend en charge diverses méthodes de connexion, y compris des SSO personnalisés et des fournisseurs SAML comme Google et GitHub, ainsi que des intégrations e-mail pour les notifications et communications."
|
||
databaseSection = "Pour les environnements de production avancés, nous proposons des paramètres permettant des <strong>connexions à des bases de données externes</strong> afin de vous intégrer à votre infrastructure existante."
|
||
settingsOverview = "Voici le <strong>Panneau des paramètres</strong>. Les paramètres d’administration sont organisés par catégorie pour une navigation facile."
|
||
systemCustomization = "Nous offrons de nombreuses façons de personnaliser l’interface : les <strong>Paramètres système</strong> permettent de changer le nom de l’application et les langues, <strong>Fonctionnalités</strong> permet la gestion des certificats serveur, et <strong>Points de terminaison</strong> vous permet d’activer ou de désactiver des outils spécifiques pour vos utilisateurs."
|
||
teamsAndUsers = "Gérez ici les <strong>Équipes</strong> et les utilisateurs individuels. Vous pouvez inviter de nouveaux utilisateurs par e-mail, via des liens partageables ou créer vous-même des comptes personnalisés pour eux."
|
||
welcome = "Bienvenue dans la <strong>Visite Admin</strong> ! Explorons les puissantes fonctionnalités d’entreprise et les paramètres disponibles pour les administrateurs système."
|
||
wrapUp = "C’est la visite admin ! Vous avez vu les fonctionnalités d’entreprise qui font de Stirling PDF une solution puissante et personnalisable pour les organisations. Accédez à cette visite à tout moment depuis le menu <strong>Aide</strong>."
|
||
|
||
[adminUserSettings]
|
||
admin = "Administrateur"
|
||
title = "Administration des paramètres des utilisateurs"
|
||
|
||
[agents]
|
||
stirling_name = "Stirling"
|
||
|
||
[analytics]
|
||
learnMore = "En savoir plus"
|
||
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."
|
||
title = "Souhaitez-vous améliorer Stirling PDF ?"
|
||
|
||
[annotate]
|
||
tags = "annotate,highlight,draw,markup,comment,notes,review,redline,feedback,markup tools,sticky notes,shapes,arrows,text box,freehand"
|
||
|
||
[annotation]
|
||
alignCenter = "Aligner au centre"
|
||
alignLeft = "Aligner à gauche"
|
||
alignRight = "Aligner à droite"
|
||
annotationStyle = "Style d'annotation"
|
||
backgroundColor = "Couleur d’arrière-plan"
|
||
borderOff = "Bordure : désactivée"
|
||
borderOn = "Bordure : activée"
|
||
changeColor = "Changer la couleur"
|
||
chooseColor = "Choisir une couleur"
|
||
circle = "Cercle"
|
||
clearBackground = "Supprimer l’arrière-plan"
|
||
clearDocumentAnnotations = "Effacer toutes les annotations"
|
||
clearDocumentAnnotationsConfirm = "Tout effacer"
|
||
clearDocumentAnnotationsDescription = "Cela supprime toutes les annotations actuellement chargées dans l’éditeur. Veuillez enregistrer les modifications pour les appliquer au PDF."
|
||
clearDocumentAnnotationsEmptyBody = "Aucune annotation n’est actuellement chargée dans l’éditeur."
|
||
clearDocumentAnnotationsEmptyTitle = "Aucune annotation à effacer"
|
||
clearDocumentAnnotationsErrorTitle = "Impossible d’effacer les annotations"
|
||
clearDocumentAnnotationsSuccessBody = "Veuillez enregistrer les modifications pour appliquer la suppression des annotations au PDF."
|
||
clearDocumentAnnotationsSuccessTitle = "Toutes les annotations ont été effacées"
|
||
clearDocumentAnnotationsTitle = "Effacer toutes les annotations ?"
|
||
clearDocumentAnnotationsUnavailableBody = "La couche d’annotations est encore en cours de chargement. Réessayez dans un instant."
|
||
clearDocumentAnnotationsUnavailableTitle = "Les annotations ne sont pas prêtes"
|
||
color = "Couleur"
|
||
comment = "Commentaire"
|
||
comments = "Commentaires"
|
||
contents = "Texte"
|
||
delete = "Supprimer"
|
||
drawing = "Dessin"
|
||
editSelectDescription = "Cliquez une annotation existante pour en modifier la couleur, l’opacité, le texte ou la taille."
|
||
editText = "Modifier la zone de texte"
|
||
fillColor = "Couleur de remplissage"
|
||
fillOpacity = "Opacité de remplissage"
|
||
fontSize = "Taille de police"
|
||
freehandHighlighter = "Surligneur à main levée"
|
||
highlight = "Surligner"
|
||
imagePreview = "Aperçu"
|
||
insertText = "Insérer du texte"
|
||
line = "Ligne"
|
||
lineArrow = "Flèche"
|
||
moreActions = "Plus d’actions"
|
||
noBackground = "Sans arrière-plan"
|
||
note = "Note"
|
||
notesStamps = "Notes et tampons"
|
||
opacity = "Opacité"
|
||
pen = "Stylo"
|
||
polygon = "Polygone"
|
||
polyline = "Ligne brisée"
|
||
properties = "Propriétés"
|
||
rectangle = "Rectangle"
|
||
replaceText = "Remplacer le texte"
|
||
saveChanges = "Enregistrer les modifications"
|
||
select = "Sélectionner"
|
||
selectAndMove = "Sélectionner et modifier"
|
||
settings = "Paramètres"
|
||
shapes = "Formes"
|
||
square = "Carré"
|
||
squiggly = "Ondulé"
|
||
stamp = "Ajouter une image"
|
||
stampSettings = "Paramètres du tampon"
|
||
strikeout = "Barré"
|
||
strokeColor = "Couleur du trait"
|
||
strokeOpacity = "Opacité du trait"
|
||
strokeWidth = "Épaisseur"
|
||
text = "Zone de texte"
|
||
textAlignment = "Alignement du texte"
|
||
textMarkup = "Marquage de texte"
|
||
title = "Annoter"
|
||
underline = "Souligner"
|
||
width = "Largeur"
|
||
|
||
[app]
|
||
description = "L’alternative gratuite à Adobe Acrobat (10M+ téléchargements)"
|
||
|
||
[appBanner]
|
||
dismiss = "Dismiss"
|
||
|
||
[attachments]
|
||
convertToPdfA3b = "Convertir en PDF/A-3b"
|
||
convertToPdfA3bDescription = "Crée un PDF d’archivage avec pièces jointes intégrées"
|
||
convertToPdfA3bTooltip = "PDF/A-3b est un format d’archivage garantissant une conservation à long terme. Il permet d’intégrer des formats de fichiers arbitraires en tant que pièces jointes. La conversion nécessite Ghostscript et peut être plus longue pour les gros fichiers."
|
||
convertToPdfA3bTooltipHeader = "À propos de la conversion PDF/A-3b"
|
||
convertToPdfA3bTooltipTitle = "Ce que cela fait"
|
||
tags = "intégrer,joindre,fichier,pièce,jointe,embed,attach,file,attachment,attachments"
|
||
title = "Ajouter des pièces jointes"
|
||
|
||
[audit]
|
||
configureAudit = "Configurer la journalisation d’audit"
|
||
configureAuditMessage = "Ajustez le niveau de journalisation d’audit, la période de rétention et autres paramètres dans la section Sécurité et authentification."
|
||
disabled = "La journalisation d’audit est désactivée"
|
||
disabledMessage = "Activez la journalisation d’audit dans la configuration de votre application pour suivre les événements du système."
|
||
enterpriseRequired = "Licence Enterprise requise"
|
||
enterpriseRequiredMessage = "Le système de journalisation d’audit est une fonctionnalité Enterprise. Veuillez passer à une licence Enterprise pour accéder aux journaux d’audit et aux analyses."
|
||
goToSettings = "Aller aux paramètres d’audit"
|
||
notAvailable = "Système d’audit non disponible"
|
||
notAvailableMessage = "Le système d’audit n’est pas configuré ou n’est pas disponible."
|
||
|
||
[audit.charts]
|
||
byType = "Événements par type"
|
||
byUser = "Événements par utilisateur"
|
||
day = "Jour"
|
||
error = "Erreur lors du chargement des graphiques"
|
||
month = "Mois"
|
||
noData = "Aucune donnée pour cette période"
|
||
overTime = "Événements dans le temps"
|
||
title = "Tableau de bord d’audit"
|
||
week = "Semaine"
|
||
|
||
[audit.clearData]
|
||
cancel = "Annuler"
|
||
codeDoesNotMatch = "Le code ne correspond pas"
|
||
codePlaceholder = "Saisissez le code ici"
|
||
confirmationCode = "Code de confirmation"
|
||
confirmationRequired = "Supprimer toutes les données d’audit"
|
||
confirmMessage = "Cela supprimera définitivement tous les journaux d’audit. Saisissez le code de confirmation ci-dessous pour continuer."
|
||
confirmTitle = "Veuillez confirmer que vous souhaitez supprimer"
|
||
deleteButton = "Supprimer"
|
||
enterCode = "Code de confirmation"
|
||
enterCodeBelow = "Entrez le code exactement tel qu’affiché ci-dessus (sensible à la casse)"
|
||
initiateDelete = "Supprimer toutes les données"
|
||
irreversible = "IRRÉVERSIBLE"
|
||
success = "Succès"
|
||
successMessage = "Toutes les données d’audit ont été supprimées avec succès"
|
||
warning1 = "Cette action est irréversible"
|
||
warning2 = "La suppression des données d’audit éliminera définitivement tous les journaux d’audit historiques, y compris les événements de sécurité, les activités des utilisateurs et les opérations sur fichiers de la base de données."
|
||
|
||
[audit.error]
|
||
title = "Erreur lors du chargement du système d’audit"
|
||
|
||
[audit.events]
|
||
actions = "Actions"
|
||
author = "Auteur"
|
||
clearFilters = "Effacer"
|
||
details = "Détails"
|
||
documentName = "Document"
|
||
endDate = "Date de fin"
|
||
error = "Erreur lors du chargement des événements"
|
||
eventDetails = "Détails de l’événement"
|
||
fileHash = "Hachage de fichier"
|
||
filterByType = "Filtrer par type"
|
||
filterByUser = "Filtrer par utilisateur"
|
||
ipAddress = "Adresse IP"
|
||
noEvents = "Aucun événement trouvé"
|
||
startDate = "Date de début"
|
||
timestamp = "Horodatage"
|
||
title = "Événements d’audit"
|
||
type = "Type"
|
||
user = "Utilisateur"
|
||
viewDetails = "Voir les détails"
|
||
|
||
[audit.export]
|
||
description = "Exporter les événements d’audit au format CSV ou JSON. Utilisez des filtres pour limiter les données exportées."
|
||
error = "Échec de l’export des données"
|
||
exportButton = "Exporter les données"
|
||
fieldAuthor = "Auteur (depuis le PDF)"
|
||
fieldDate = "Date"
|
||
fieldDocumentName = "Nom du document"
|
||
fieldFileHash = "Hachage de fichier (SHA-256)"
|
||
fieldIpAddress = "Adresse IP"
|
||
fieldOperationResults = "Résultats de l’opération"
|
||
fieldOutcome = "Résultat (Succès/Échec)"
|
||
fieldTool = "Outil"
|
||
fieldUsername = "Nom d’utilisateur"
|
||
filters = "Filtres (facultatif)"
|
||
format = "Format d’export"
|
||
selectFields = "Sélectionner les champs à inclure"
|
||
title = "Exporter les données d’audit"
|
||
|
||
[audit.filters]
|
||
last30Days = "30 derniers jours"
|
||
last7Days = "7 derniers jours"
|
||
quickPresets = "Filtres rapides"
|
||
thisMonth = "Ce mois-ci"
|
||
today = "Aujourd’hui"
|
||
|
||
[audit.stats]
|
||
activeUsers = "Utilisateurs actifs"
|
||
attention = "Attention requise"
|
||
avgLatency = "Latence moyenne"
|
||
error = "Erreur de chargement des statistiques"
|
||
excellent = "Excellent"
|
||
good = "Bon"
|
||
noData = "N/A"
|
||
successRate = "Taux de réussite"
|
||
totalEvents = "Nombre total d’événements"
|
||
vsLastPeriod = "par rapport à la période précédente"
|
||
|
||
[audit.systemStatus]
|
||
captureBySettings = "Activer dans les paramètres"
|
||
capturedFields = "Champs capturés"
|
||
date = "Date"
|
||
days = "jours"
|
||
disabled = "Désactivé"
|
||
documentName = "Nom du document"
|
||
enabled = "Activé"
|
||
fileHash = "Hachage de fichier"
|
||
level = "Niveau d’audit"
|
||
pdfAuthor = "Auteur PDF"
|
||
retention = "Période de rétention"
|
||
status = "Journalisation d’audit"
|
||
title = "État du système"
|
||
tool = "Outil"
|
||
totalEvents = "Nombre total d’événements"
|
||
username = "Nom d’utilisateur"
|
||
|
||
[audit.tabs]
|
||
clearData = "Effacer les données"
|
||
dashboard = "Tableau de bord"
|
||
events = "Événements d’audit"
|
||
export = "Exporter"
|
||
|
||
[auth]
|
||
accessDenied = "Accès refusé"
|
||
insufficientPermissions = "Vous n'avez pas l'autorisation d'effectuer cette action."
|
||
|
||
[auth.callback]
|
||
completing = "Finalisation de l’authentification"
|
||
invalidToken = "Connexion OAuth échouée - token invalide."
|
||
missingToken = "Connexion OAuth échouée - aucun token reçu."
|
||
oauthFailed = "Connexion OAuth échouée. Veuillez réessayer."
|
||
pleaseWait = "Veuillez patienter pendant que nous terminons votre connexion."
|
||
signedOut = "Vous avez été déconnecté. Veuillez vous reconnecter."
|
||
windowMayClose = "Vous pouvez fermer cette fenêtre une fois l’opération terminée."
|
||
|
||
[auth.displayName]
|
||
guest = "Invité"
|
||
user = "Utilisateur"
|
||
|
||
[auto-rename]
|
||
description = "Trouve automatiquement le titre dans le contenu de votre PDF et l’utilise comme nom de fichier."
|
||
submit = "Renommer automatiquement"
|
||
tags = "renommer,détection automatique,réétiqueter,auto-detect,header-based,organize,relabel"
|
||
title = "Renommer automatiquement"
|
||
|
||
[auto-rename.error]
|
||
failed = "Une erreur est survenue lors du renommage automatique du PDF."
|
||
|
||
[auto-rename.results]
|
||
title = "Résultats du renommage automatique"
|
||
|
||
[auto-rename.settings]
|
||
title = "À propos"
|
||
|
||
[auto-rename.tooltip.description]
|
||
title = "Ce que fait l’outil"
|
||
|
||
[auto-rename.tooltip.header]
|
||
title = "Fonctionnement du renommage automatique"
|
||
|
||
[auto-rename.tooltip.howItWorks]
|
||
bullet1 = "Recherche du texte ressemblant à 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 d’origine si aucun titre adapté n’est trouvé"
|
||
title = "Renommage intelligent"
|
||
|
||
[automate]
|
||
copyToSaved = "Copier vers Enregistré"
|
||
desc = "Créez des workflows multi-étapes en enchaînant des actions PDF. Idéal pour les tâches récurrentes."
|
||
export = "Exporter"
|
||
exportForFolderScanning = "Exporter pour l'analyse de dossier"
|
||
import = "Importer"
|
||
importPartialSuccess_one = "Imported with {{count}} unmapped operation: {{ops}}"
|
||
importPartialSuccess_other = "Imported with {{count}} unmapped operations: {{ops}}"
|
||
importSuccess = "Automatisation importée : {{name}}"
|
||
invalidStep = "Étape invalide"
|
||
reviewTitle = "Résultats de l’automatisation"
|
||
tags = "workflow,sequence,automation,automate,batch,batch processing,pipeline,chain,multi-step,recurring,scheduled,automatic,process multiple,bulk operations"
|
||
title = "Automatiser"
|
||
|
||
[automate.config]
|
||
cancel = "Annuler"
|
||
description = "Configurez les paramètres de cet outil. Ils seront appliqués lors de l’exécution de l’automatisation."
|
||
noSettings = "Cet outil n’a pas de paramètres configurables."
|
||
save = "Enregistrer la configuration"
|
||
title = "Configurer {{toolName}}"
|
||
|
||
[automate.creation]
|
||
createTitle = "Créer une automatisation"
|
||
editTitle = "Modifier l’automatisation"
|
||
export = "Exporter"
|
||
exportForFolderScanning = "Exporter pour l'analyse de dossier"
|
||
intro = "Les automatisations exécutent les outils séquentiellement. Pour commencer, ajoutez les outils dans l’ordre d’exécution souhaité."
|
||
save = "Enregistrer l’automatisation"
|
||
|
||
[automate.creation.description]
|
||
label = "Description (facultatif)"
|
||
placeholder = "Décrivez ce que fait cette automatisation…"
|
||
|
||
[automate.creation.icon]
|
||
label = "Icône"
|
||
|
||
[automate.creation.name]
|
||
label = "Nom de l’automatisation"
|
||
placeholder = "Mon automatisation"
|
||
|
||
[automate.creation.tools]
|
||
add = "Ajouter un outil…"
|
||
addTool = "Ajouter l’outil"
|
||
configure = "Configurer l’outil"
|
||
notConfigured = " ! Non configuré"
|
||
remove = "Supprimer l’outil"
|
||
selected = "Outils sélectionnés"
|
||
selectTool = "Sélectionner un outil…"
|
||
|
||
[automate.creation.unsavedChanges]
|
||
cancel = "Annuler"
|
||
confirm = "Revenir en arrière"
|
||
message = "Vous avez des modifications non enregistrées. Êtes-vous sûr de vouloir revenir en arrière ? Toutes les modifications seront perdues."
|
||
title = "Modifications non enregistrées"
|
||
|
||
[automate.entryMenu]
|
||
label = "Ouvrir le menu pour {{title}}"
|
||
|
||
[automate.importModal]
|
||
cancel = "Annuler"
|
||
confirm = "Importer"
|
||
detectedAutomation = "JSON Automate"
|
||
detectedFolderScan = "JSON de surveillance de dossier"
|
||
dropHint = "Déposez le JSON ici ou cliquez pour choisir un fichier"
|
||
dropSubhint = "Les configurations Automate et de surveillance de dossier sont acceptées"
|
||
dropzoneAriaLabel = "Déposez ici un fichier JSON d’automatisation"
|
||
intro = "Déposez un fichier JSON ou collez son contenu ci-dessous. Le format (Automate ou Surveillance de dossier) est détecté automatiquement."
|
||
opCount_one = "{{count}} operation"
|
||
opCount_other = "{{count}} operations"
|
||
parseError = "Impossible d’analyser : {{message}}"
|
||
pasteLabel = "Ou collez le JSON"
|
||
pastePlaceholder = "Collez ici votre JSON d’automatisation…"
|
||
title = "Importer une automatisation"
|
||
unresolved = "Non associées : {{ops}}"
|
||
|
||
[automate.run]
|
||
title = "Exécuter l’automatisation"
|
||
|
||
[automate.selection]
|
||
title = "Sélection d’automatisation"
|
||
|
||
[automate.selection.createNew]
|
||
title = "Créer une nouvelle automatisation"
|
||
|
||
[automate.selection.saved]
|
||
title = "Enregistré"
|
||
|
||
[automate.selection.suggested]
|
||
title = "Suggéré"
|
||
|
||
[automate.sequence]
|
||
finish = "Terminer"
|
||
run = "Lancer l’automatisation"
|
||
running = "Exécution de l’automatisation…"
|
||
steps_one = "{{count}} step"
|
||
steps_other = "{{count}} étapes"
|
||
unnamed = "Automatisation sans nom"
|
||
|
||
[automation.suggested]
|
||
emailPreparation = "Préparation des e-mails"
|
||
emailPreparationDesc = "Optimise les PDF pour la distribution par e-mail en compressant les fichiers, en scindant les documents volumineux en blocs de 20 Mo pour la compatibilité e-mail et en supprimant les métadonnées pour la confidentialité."
|
||
prePublishSanitization = "Nettoyage avant publication"
|
||
prePublishSanitizationDesc = "Flux de nettoyage qui supprime toutes les métadonnées cachées, JavaScript, fichiers intégrés, annotations, et aplatit les formulaires pour éviter toute fuite de données avant de publier des PDF en ligne."
|
||
processImages = "Traiter les images"
|
||
processImagesDesc = "Convertit plusieurs fichiers image en un seul document PDF, puis applique la technologie OCR pour extraire un texte recherchable à partir des images."
|
||
securePdfIngestion = "Ingestion PDF sécurisée"
|
||
securePdfIngestionDesc = "Workflow complet de traitement PDF qui assainit les documents, applique l’OCR avec nettoyage, convertit en format PDF/A pour l’archivage à long terme et optimise la taille du fichier."
|
||
secureWorkflow = "Workflow de sécurité"
|
||
secureWorkflowDesc = "Sécurise les documents PDF en supprimant les contenus potentiellement malveillants comme JavaScript et les fichiers intégrés, puis ajoute une protection par mot de passe pour empêcher tout accès non autorisé. Par défaut, le mot de passe est « password »."
|
||
|
||
[autoRename]
|
||
description = "Cet outil renommera automatiquement les fichiers PDF en fonction de leur contenu. Il analyse le document pour trouver le titre le plus approprié à partir du texte."
|
||
tags = "auto-detect,header-based,organize,relabel,auto rename,automatic rename,smart rename,rename by content,filename,file naming,detect title"
|
||
|
||
[autoRotate]
|
||
submit = "Rotation automatique"
|
||
tags = "rotation automatique,corriger orientation,à l’envers,de côté,redresser,orienter,détecter orientation,corriger rotation,orientation automatique,numérisé,OSD"
|
||
|
||
[autoRotate.confidenceThreshold]
|
||
title = "Seuil de confiance"
|
||
|
||
[autoRotate.detectionMode]
|
||
auto = "Auto"
|
||
osd = "OCR uniquement"
|
||
text = "Texte uniquement"
|
||
title = "Méthode de détection"
|
||
|
||
[autoRotate.error]
|
||
failed = "Une erreur s’est produite lors de la rotation automatique du PDF."
|
||
|
||
[autoRotate.inferUndetected]
|
||
title = "Faire correspondre les pages à faible confiance"
|
||
|
||
[autoRotate.report]
|
||
applied = "{{degrees}}° horaire"
|
||
confidenceValue = "Confiance {{value}}"
|
||
noChange = "Aucun changement"
|
||
pageLabel = "Page {{number}}"
|
||
summary = "{{rotated}} page(s) sur {{total}} pivotée(s), {{unchanged}} laissée(s) telle(s) quelle(s)"
|
||
title = "Rapport de détection"
|
||
|
||
[autoRotate.report.method]
|
||
inferred = "Correspondance"
|
||
none = "Ignorée"
|
||
osd = "OCR"
|
||
text = "Texte"
|
||
|
||
[autoRotate.report.note]
|
||
belowThreshold = "Sous le seuil"
|
||
blankPage = "La page est vide"
|
||
inferredFromDocument = "Identique aux autres pages"
|
||
noDominantDirection = "Directions de texte mixtes"
|
||
osdFailed = "Aucun texte lisible trouvé"
|
||
osdNoVerdict = "Impossible de déterminer le sens"
|
||
tesseractUnavailable = "OCR non installé"
|
||
tooFewGlyphs = "Trop peu de texte"
|
||
|
||
[autoRotate.results]
|
||
title = "Résultats de la rotation automatique"
|
||
|
||
[autoRotate.settings]
|
||
title = "Paramètres"
|
||
|
||
[autoRotate.tooltip.confidenceThreshold]
|
||
text = "Niveau de certitude requis avant qu’une page soit tournée. Diminuez-le pour faire pivoter plus de pages, augmentez-le pour laisser plus de pages intactes."
|
||
title = "Seuil de confiance"
|
||
|
||
[autoRotate.tooltip.description]
|
||
text = "Détermine le sens dans lequel chaque page doit être orientée et la pivote correctement. Les pages déjà à l’endroit restent inchangées."
|
||
|
||
[autoRotate.tooltip.detectionMode]
|
||
text = "Auto lit d’abord le texte sur la page, puis examine la page comme une image si cela ne suffit pas. Texte uniquement ignore la vérification d’image, ce qui est le plus rapide pour les documents qui n’ont jamais été numérisés. OCR uniquement traite chaque page comme une image."
|
||
title = "Méthode de détection"
|
||
|
||
[autoRotate.tooltip.header]
|
||
title = "Rotation automatique"
|
||
|
||
[autoRotate.tooltip.inferUndetected]
|
||
text = "Les pages vides ou presque vides ne peuvent pas être vérifiées seules. Lorsque toutes les pages lisibles nécessitent la même rotation, ces pages sont pivotées pour correspondre."
|
||
title = "Faire correspondre les pages à faible confiance"
|
||
|
||
[autoSizeSplitPDF]
|
||
tags = "pdf, découpage, document, organisation"
|
||
|
||
[autoSplitPDF]
|
||
dividerDownload2 = "Auto Splitter Divider (with instructions).pdf"
|
||
duplexMode = "Mode recto-verso"
|
||
tags = "séparer,QR-based,separate,scan-segment,organize"
|
||
title = "Séparer automatiquement les pages"
|
||
|
||
[backendHealth]
|
||
checking = "Vérification de l’état du backend..."
|
||
offline = "Backend hors ligne"
|
||
online = "Backend en ligne"
|
||
starting = "Démarrage du backend..."
|
||
wait = "Veuillez attendre la fin du lancement du backend, puis réessayez."
|
||
|
||
[backendStartup]
|
||
notFoundTitle = "Backend introuvable"
|
||
retry = "Réessayer"
|
||
unreachable = "L’application ne peut actuellement pas se connecter au backend. Vérifiez l’état du backend et la connectivité réseau, puis réessayez."
|
||
|
||
[billing]
|
||
basedOnUsers = "(utilisateurs actuels)"
|
||
currentSeats = "Places actuelles"
|
||
manageBilling = "Gérer la facturation"
|
||
minimumSeats = "Places minimales"
|
||
newSeatCount = "Nouveau nombre de places"
|
||
newSeatCountDescription = "Sélectionnez le nombre de places pour votre licence Enterprise"
|
||
notEnterprise = "La gestion des places est réservée aux licences Enterprise"
|
||
preparingUpdate = "Préparation de la mise à jour des places…"
|
||
seatCountTooLow = "Le nombre de places doit être d’au moins {{minimum}} (nombre actuel d’utilisateurs)"
|
||
seatCountUnchanged = "Veuillez choisir un nombre de places différent"
|
||
seatsUpdated = "Places mises à jour"
|
||
seatsUpdatedMessage = "Vos places Enterprise ont été mises à jour à {{seats}}"
|
||
stripePortalRedirect = "Vous serez redirigé vers le portail de facturation Stripe pour vérifier et confirmer la modification du nombre de places. Le montant au prorata sera calculé automatiquement."
|
||
updateEnterpriseSeats = "Mettre à jour les places Enterprise"
|
||
updateProcessing = "Mise à jour en cours"
|
||
updateProcessingMessage = "Votre mise à jour des places est en cours de traitement. Veuillez actualiser dans quelques instants."
|
||
updateSeats = "Mettre à jour les places"
|
||
whatHappensNext = "Et ensuite ?"
|
||
|
||
[billing.portal]
|
||
error = "Échec de l’ouverture du portail de facturation"
|
||
|
||
[bookletImposition]
|
||
paperSizeNote = "La taille du papier est automatiquement dérivée de votre première page."
|
||
submit = "Créer le livret"
|
||
tags = "livret,imposition,impression,reliure,pliage,signature"
|
||
title = "Imposition en livret"
|
||
|
||
[bookletImposition.addBorder]
|
||
label = "Ajouter des bordures autour des pages"
|
||
tooltip = "Ajoute des bordures autour de chaque section de page pour faciliter la découpe et l’alignement"
|
||
|
||
[bookletImposition.addGutter]
|
||
label = "Ajouter une marge de reliure"
|
||
tooltip = "Ajoute un espace intérieur pour la reliure"
|
||
|
||
[bookletImposition.advanced]
|
||
toggle = "Options avancées"
|
||
|
||
[bookletImposition.doubleSided]
|
||
label = "Impression recto-verso"
|
||
tooltip = "Crée les faces avant et arrière pour une impression en livret correcte"
|
||
|
||
[bookletImposition.duplexPass]
|
||
first = "1re passe"
|
||
firstInstructions = "Imprime les faces avant → empilez face vers le bas → relancez avec la 2e passe"
|
||
label = "Passe d’impression"
|
||
second = "2e passe"
|
||
secondInstructions = "Chargez la pile imprimée face vers le bas → imprime les faces arrière"
|
||
|
||
[bookletImposition.error]
|
||
failed = "Une erreur est survenue lors de la création de l’imposition en livret."
|
||
|
||
[bookletImposition.flipOnShortEdge]
|
||
label = "Retourner sur le petit bord (duplex automatique uniquement)"
|
||
manualNote = "Inutile en mode manuel – vous retournez vous-même la pile"
|
||
tooltip = "Activer pour l’impression recto-verso sur le petit bord (duplex automatique uniquement – ignoré en mode manuel)"
|
||
|
||
[bookletImposition.gutterSize]
|
||
label = "Taille de marge (points)"
|
||
|
||
[bookletImposition.manualDuplex]
|
||
instructions = "Pour les imprimantes sans duplex automatique. Vous devrez lancer l’opération deux fois :"
|
||
title = "Mode duplex manuel"
|
||
|
||
[bookletImposition.rtlBinding]
|
||
label = "Reliure de droite à gauche"
|
||
tooltip = "Pour l’arabe, l’hébreu ou d’autres langues RTL"
|
||
|
||
[bookletImposition.tooltip.advanced]
|
||
bullet1 = "Reliure de droite à gauche : pour les langues RTL"
|
||
bullet2 = "Bordures : affiche des traits de coupe pour le rognage"
|
||
bullet3 = "Marge de reliure : ajoute de l’espace pour relier/agrafer"
|
||
bullet4 = "Retour sur petit bord : seulement pour les imprimantes en duplex automatique"
|
||
text = "Ajustez finement votre livret :"
|
||
title = "Options avancées"
|
||
|
||
[bookletImposition.tooltip.description]
|
||
text = "Crée des livrets professionnels en arrangeant les pages dans le bon ordre d’impression. Vos pages PDF sont placées 2-par-page sur des feuilles paysage afin qu’une fois pliées et reliées, elles se lisent dans l’ordre correct comme un vrai livre."
|
||
title = "Qu’est-ce que l’imposition en livret ?"
|
||
|
||
[bookletImposition.tooltip.example]
|
||
bullet1 = "Feuille 1 Avant : Pages 8, 1 | Arrière : Pages 2, 7"
|
||
bullet2 = "Feuille 2 Avant : Pages 6, 3 | Arrière : Pages 4, 5"
|
||
bullet3 = "Une fois plié et empilé : lecture 1→2→3→4→5→6→7→8"
|
||
text = "Votre document de 8 pages devient 2 feuilles :"
|
||
title = "Exemple : livret de 8 pages"
|
||
|
||
[bookletImposition.tooltip.header]
|
||
title = "Guide de création de livret"
|
||
|
||
[bookletImposition.tooltip.manualDuplex]
|
||
bullet1 = "Désactivez « Impression recto-verso »"
|
||
bullet2 = "Sélectionnez « 1re passe » → Imprimez → Empilez face vers le bas"
|
||
bullet3 = "Sélectionnez « 2e passe » → Chargez la pile → Imprimez les dos"
|
||
bullet4 = "Pliez et assemblez normalement"
|
||
text = "Pour les imprimantes sans duplex automatique :"
|
||
title = "Duplex manuel (imprimantes simple face)"
|
||
|
||
[bookletImposition.tooltip.printing]
|
||
bullet1 = "Imprimez en recto-verso avec « Retour sur grand bord »"
|
||
bullet2 = "Empilez les feuilles dans l’ordre, pliez en deux"
|
||
bullet3 = "Agrafez ou reliez le long du pli"
|
||
bullet4 = "Pour les imprimantes sur petit bord : activez l’option « Retour sur petit bord »"
|
||
text = "Suivez ces étapes pour des livrets parfaits :"
|
||
title = "Comment imprimer et assembler"
|
||
|
||
[bulkSelection]
|
||
syntaxError = "Un problème de syntaxe est survenu. Consultez les conseils de sélection des pages pour obtenir de l’aide."
|
||
|
||
[bulkSelection.advanced]
|
||
title = "Avancé"
|
||
|
||
[bulkSelection.everyNthPage]
|
||
placeholder = "Pas"
|
||
title = "Toutes les N pages"
|
||
|
||
[bulkSelection.examples]
|
||
combineSets = "Combiner les ensembles"
|
||
every3rd = "Toutes les 3"
|
||
first50 = "Premières 50"
|
||
last50 = "Dernières 50"
|
||
oddWithinExcluding = "Impaires dans 1-20 en excluant 5-7"
|
||
title = "Exemples"
|
||
|
||
[bulkSelection.firstNPages]
|
||
placeholder = "Nombre de pages"
|
||
title = "Premières N pages"
|
||
|
||
[bulkSelection.header]
|
||
title = "Guide de sélection des pages"
|
||
|
||
[bulkSelection.keywords]
|
||
title = "Mots-clés"
|
||
|
||
[bulkSelection.lastNPages]
|
||
placeholder = "Nombre de pages"
|
||
title = "Dernières N pages"
|
||
|
||
[bulkSelection.operators]
|
||
text = "ET a une priorité plus élevée que la virgule. NON s’applique dans l’intervalle du document."
|
||
title = "Opérateurs"
|
||
|
||
[bulkSelection.operators.and]
|
||
title = "Combiner les sélections (les deux conditions doivent être vraies)"
|
||
|
||
[bulkSelection.operators.descriptions]
|
||
and = "ET : & ou \"and\" - nécessite les deux conditions (p. ex., 1-50 & even)"
|
||
comma = "Virgule : , ou | - combine les sélections (p. ex., 1-10, 20)"
|
||
not = "NON : ! ou \"not\" - exclut des pages (p. ex., 3n & not 30)"
|
||
|
||
[bulkSelection.operators.even]
|
||
title = "Sélectionner toutes les pages paires (2, 4, 6, 8...)"
|
||
|
||
[bulkSelection.operators.not]
|
||
title = "Exclure de la sélection"
|
||
|
||
[bulkSelection.operators.odd]
|
||
title = "Sélectionner toutes les pages impaires (1, 3, 5, 7...)"
|
||
|
||
[bulkSelection.operators.or]
|
||
title = "Ajouter à la sélection (l’une ou l’autre condition peut être vraie)"
|
||
|
||
[bulkSelection.pageSelection]
|
||
title = "Sélection de pages"
|
||
|
||
[bulkSelection.range]
|
||
fromPlaceholder = "De"
|
||
title = "Plage"
|
||
toPlaceholder = "À"
|
||
|
||
[bulkSelection.syntax]
|
||
text = "Utilisez des nombres, des plages, des mots-clés et des progressions (n commence à 0). Les parenthèses sont prises en charge."
|
||
title = "Principes de base de la syntaxe"
|
||
|
||
[bulkSelection.syntax.bullets]
|
||
keywords = "Mots-clés : impair, pair"
|
||
numbers = "Nombres/plages : 5, 10-20"
|
||
progressions = "Progressions : 3n, 4n+1"
|
||
|
||
[certSign]
|
||
awaitingSignatures = "En attente de signatures"
|
||
chooseCertificate = "Choisir le fichier de certificat"
|
||
chooseJksFile = "Choisir le fichier JKS"
|
||
chooseP12File = "Choisir le fichier PKCS12"
|
||
choosePfxFile = "Choisir le fichier PFX"
|
||
choosePrivateKey = "Choisir le fichier de clé privée"
|
||
declined = "Refusé"
|
||
fetchFailed = "Échec du chargement des données de signature"
|
||
finalized = "Finalisé"
|
||
location = "Emplacement"
|
||
logoTitle = "Logo"
|
||
name = "Nom"
|
||
noLogo = "Pas de logo"
|
||
pageNumber = "Numéro de page"
|
||
password = "Mot de passe du certificat"
|
||
passwordOptional = "Laissez vide si aucun mot de passe"
|
||
pemCertificateLabel = "Certificat (.pem / .crt)"
|
||
pemPrivateKeyLabel = "Clé privée (.pem / .key)"
|
||
pending = "En attente"
|
||
readyToFinalize = "Prêt à finaliser"
|
||
reason = "Raison"
|
||
serverCertMessage = "Utilisation du certificat du serveur — aucun fichier ni mot de passe requis"
|
||
showLogo = "Afficher le logo"
|
||
signatureProgress = "{{signedCount}}/{{totalCount}} signatures"
|
||
signed = "Signé"
|
||
tags = "signer,chiffrer,certificat,authenticate,PEM,P12,official,encrypt"
|
||
title = "Signer avec un certificat"
|
||
viewed = "Vu"
|
||
|
||
[certSign.appearance]
|
||
invisible = "Invisible"
|
||
stepTitle = "Apparence de la signature"
|
||
visibility = "Visibilité"
|
||
visible = "Visible"
|
||
|
||
[certSign.appearance.options]
|
||
title = "Détails de la signature"
|
||
|
||
[certSign.appearance.tooltip.header]
|
||
title = "À propos de l’apparence de la signature"
|
||
|
||
[certSign.appearance.tooltip.invisible]
|
||
bullet1 = "Fournit de la sécurité sans changement visuel"
|
||
bullet2 = "Répond aux exigences légales de signature numérique"
|
||
bullet3 = "N’affecte pas la mise en page ou le design du document"
|
||
text = "La signature est ajoutée au PDF pour la sécurité mais n’est pas visible à l’affichage. Parfait pour répondre aux exigences légales sans modifier l’apparence du document."
|
||
title = "Signatures invisibles"
|
||
|
||
[certSign.appearance.tooltip.visible]
|
||
bullet1 = "Affiche le nom du signataire et la date sur le document"
|
||
bullet2 = "Peut inclure la raison et le lieu de signature"
|
||
bullet3 = "Choisissez la page où placer la signature"
|
||
bullet4 = "Logo facultatif"
|
||
text = "Affiche un bloc de signature sur le PDF avec votre nom, la date et des détails optionnels. Utile lorsque vous voulez que les lecteurs voient clairement que le document est signé."
|
||
title = "Signatures visibles"
|
||
|
||
[certSign.certFiles]
|
||
stepTitle = "Fichiers de certificat"
|
||
|
||
[certSign.certType.tooltip.convert]
|
||
text = "Convertissez votre fichier en keystore Java (.jks) avec keytool, puis choisissez JKS."
|
||
title = "Clé non répertoriée ?"
|
||
|
||
[certSign.certType.tooltip.header]
|
||
title = "À propos des types de certificats"
|
||
|
||
[certSign.certType.tooltip.what]
|
||
text = "C’est une identité sécurisée pour votre signature qui prouve que vous avez signé. Sauf obligation de signer via certificat, nous recommandons d’utiliser une autre méthode sécurisée comme Taper, Dessiner ou Importer."
|
||
title = "Qu’est-ce qu’un certificat ?"
|
||
|
||
[certSign.certType.tooltip.which]
|
||
bullet1 = "PKCS#12 (.p12 / .pfx) – un fichier combiné (le plus courant)"
|
||
bullet2 = "PFX (.pfx) – version Microsoft de PKCS12"
|
||
bullet3 = "PEM – fichiers .pem séparés pour la clé privée et le certificat"
|
||
bullet4 = "JKS – keystore Java .jks pour les workflows dev / CI-CD"
|
||
text = "Choisissez le format correspondant à votre fichier de certificat :"
|
||
title = "Quelle option utiliser ?"
|
||
|
||
[certSign.certTypeStep]
|
||
stepTitle = "Format du certificat"
|
||
|
||
[certSign.collab.addParticipants]
|
||
add_one = "Add {{count}} Participant"
|
||
add_other = "Add {{count}} Participants"
|
||
reasonHelp = "Préconfigurer une raison de signature pour ces participants (optionnel, ils peuvent la modifier lors de la signature)"
|
||
reasonPlaceholder = "ex. : Approbation, Vérification…"
|
||
|
||
[certSign.collab.finalize]
|
||
button = "Finaliser et charger le PDF signé"
|
||
early = "Finaliser avec les signatures actuelles"
|
||
|
||
[certSign.collab.participant]
|
||
certInvalid = "✗ {{error}}"
|
||
certInvalidFallback = "Certificat invalide"
|
||
certNetworkError = "Impossible de valider le certificat"
|
||
certValid = "✓ Certificat valide"
|
||
certValidating = "Validation du certificat…"
|
||
certValidUntil = " jusqu’au {{date}}"
|
||
|
||
[certSign.collab.sessionCreation]
|
||
includeSummaryPage = "Inclure une page de synthèse des signatures"
|
||
includeSummaryPageHelp = "Une page récapitulative sera ajoutée à la fin avec toutes les métadonnées de signature. Les cadres de signature du certificat numérique sur les pages individuelles seront supprimés (les signatures manuscrites ne sont pas affectées)."
|
||
|
||
[certSign.collab.sessionDetail]
|
||
addParticipants = "Ajouter des participants"
|
||
addParticipantsError = "Échec de l’ajout des participants"
|
||
backToList = "Retour aux sessions"
|
||
deleteConfirm = "Êtes-vous sûr ? Cette action est irréversible."
|
||
deleteError = "Échec de la suppression de la session"
|
||
deleteSession = "Supprimer la session"
|
||
dueDate = "Date d’échéance"
|
||
finalizeError = "Échec de la finalisation de la session"
|
||
loadPdfError = "Échec du chargement du PDF signé"
|
||
loadSignedPdf = "Charger le PDF signé dans les fichiers actifs"
|
||
messageLabel = "Message"
|
||
owner = "Propriétaire"
|
||
participantRemoved = "Participant supprimé"
|
||
participants = "Participants"
|
||
participantsAdded = "Participants ajoutés avec succès"
|
||
removeParticipant = "Supprimer"
|
||
removeParticipantError = "Échec de la suppression du participant"
|
||
selectUsers = "Sélectionner des utilisateurs…"
|
||
sessionInfo = "Infos de la session"
|
||
|
||
[certSign.collab.sessionList]
|
||
active = "Actives"
|
||
finalized = "Finalisées"
|
||
|
||
[certSign.collab.signatureSettings]
|
||
description = "Configurer l’apparence des signatures pour tous les participants"
|
||
title = "Apparence des signatures"
|
||
|
||
[certSign.collab.signRequest]
|
||
addedToFiles = "Document ajouté aux fichiers actifs"
|
||
addToFiles = "Ajouter aux fichiers actifs"
|
||
advancedSettings = "Paramètres avancés"
|
||
backToList = "Retour aux demandes de signature"
|
||
certificateChoice = "Sélectionnez un certificat pour signer"
|
||
changeSignature = "Modifier la signature"
|
||
clearSignature = "Effacer la signature"
|
||
completeAndSign = "Terminer et signer"
|
||
createNewSignature = "Créer une nouvelle signature"
|
||
decline = "Refuser la demande"
|
||
declineButton = "Refuser"
|
||
deleteSelected = "Supprimer la signature sélectionnée"
|
||
drawSignature = "Dessinez votre signature ci-dessous"
|
||
fileTooLarge = "La taille du fichier doit être inférieure à 5 Mo"
|
||
fontFamily = "Famille de police"
|
||
fontSize = "Taille de police : {{size}}px"
|
||
fontSizePlaceholder = "Taille"
|
||
from = "De"
|
||
invalidFileType = "Veuillez sélectionner un fichier image"
|
||
location = "Emplacement (facultatif)"
|
||
locationPlaceholder = "D’où signez-vous ?"
|
||
noCertificate = "Veuillez sélectionner un fichier de certificat"
|
||
noSignatures = "Veuillez placer au moins une signature sur le PDF"
|
||
p12File = "Fichier de certificat P12/PFX"
|
||
password = "Mot de passe du certificat"
|
||
penColor = "Couleur du trait"
|
||
penSize = "Taille du trait : {{size}}px"
|
||
reason = "Raison (facultatif)"
|
||
reasonPlaceholder = "Pourquoi signez-vous ?"
|
||
removeImage = "Supprimer l’image"
|
||
savedSignatures = "Signatures enregistrées"
|
||
selectFile = "Sélectionner un fichier image"
|
||
selectSignatureTitle = "Sélectionner ou créer une signature"
|
||
signatureInfo = "Ces paramètres sont configurés par le propriétaire du document"
|
||
signatureSettings = "Paramètres de signature"
|
||
signatureText = "Texte de la signature"
|
||
signatureTextPlaceholder = "Saisissez votre nom…"
|
||
signatureTypeLabel = "Type de signature"
|
||
signButton = "Signer le document"
|
||
signingTitle = "Signature"
|
||
textColor = "Couleur du texte"
|
||
typeSignature = "Saisissez votre nom pour créer une signature"
|
||
uploadCert = "Certificat personnalisé"
|
||
uploadCertDesc = "Utilisez votre propre certificat P12/PFX"
|
||
uploadSignature = "Téléverser l’image de votre signature"
|
||
usePersonalCert = "Certificat personnel"
|
||
usePersonalCertDesc = "Généré automatiquement pour votre compte"
|
||
useServerCert = "Certificat d’organisation"
|
||
useServerCertDesc = "Certificat d’organisation partagé"
|
||
useSignature = "Utiliser la signature"
|
||
|
||
[certSign.collab.signRequest.certModal]
|
||
certInvalid = "Certificat invalide : {{error}}"
|
||
certInvalidFallback = "Certificat invalide"
|
||
certNetworkError = "Impossible de valider le certificat"
|
||
certValidating = "Validation du certificat…"
|
||
certValidUntil = "Certificat valide jusqu’au {{date}}"
|
||
description_one = "You have placed {{count}} signature. Choose your certificate to complete signing."
|
||
description_other = "You have placed {{count}} signatures. Choose your certificate to complete signing."
|
||
sign = "Signer le document"
|
||
title = "Configurer le certificat"
|
||
|
||
[certSign.collab.signRequest.mode]
|
||
move = "Déplacer la signature"
|
||
place = "Placer la signature"
|
||
title = "Mode signature ou déplacement"
|
||
|
||
[certSign.collab.signRequest.modeTabs]
|
||
draw = "Dessiner"
|
||
image = "Téléverser"
|
||
text = "Saisir"
|
||
|
||
[certSign.collab.signRequest.preview]
|
||
create = "Ajouter une signature"
|
||
imageAlt = "Signature sélectionnée"
|
||
textFallback = "Signature"
|
||
|
||
[certSign.collab.signRequest.saved]
|
||
defaultCanvasLabel = "Signature dessinée"
|
||
defaultImageLabel = "Signature téléversée"
|
||
defaultLabel = "Signature"
|
||
defaultTextLabel = "Signature saisie"
|
||
delete = "Supprimer la signature"
|
||
none = "Aucune signature enregistrée"
|
||
|
||
[certSign.collab.signRequest.signatureType]
|
||
draw = "Dessiner"
|
||
type = "Saisir"
|
||
upload = "Téléverser"
|
||
|
||
[certSign.collab.signRequest.steps]
|
||
back = "Retour"
|
||
cancelPlacement = "Annuler le placement"
|
||
certificate = "Certificat"
|
||
clickMultipleTimes = "Cliquez plusieurs fois sur le PDF pour placer des signatures. Faites glisser une signature pour la déplacer ou la redimensionner."
|
||
clickToPlace = "Cliquez sur le PDF à l’endroit où vous souhaitez que votre signature apparaisse."
|
||
continue = "Continuer vers la sélection du certificat"
|
||
continueToPlacement = "Continuer vers le placement"
|
||
continueToReview = "Continuer vers la vérification"
|
||
createSignature = "Créer une signature"
|
||
invisible = "Invisible"
|
||
location = "Emplacement :"
|
||
multipleSignatures = "{{count}} signatures seront appliquées au PDF"
|
||
oneSignature = "1 signature sera appliquée au PDF"
|
||
placeOnPdf = "Placer sur le PDF"
|
||
reason = "Raison :"
|
||
reviewTitle = "Vérifier avant de signer"
|
||
signaturePlaced = "Signature placée sur la page {{page}}. Vous pouvez ajuster la position en recliquant ou continuer vers la vérification."
|
||
visibility = "Visibilité :"
|
||
visible = "Visible"
|
||
yourSignatures = "Vos signatures ({{count}})"
|
||
|
||
[certSign.collab.userSelector]
|
||
inviteUsers = "Ajouter des utilisateurs"
|
||
loadError = "Échec du chargement des utilisateurs"
|
||
noTeam = "Pas d’équipe"
|
||
noUsers = "Aucun autre utilisateur trouvé."
|
||
placeholder = "Sélectionner des utilisateurs…"
|
||
|
||
[certSign.device]
|
||
stepTitle = "Cet appareil"
|
||
|
||
[certSign.error]
|
||
failed = "Une erreur est survenue lors du traitement des signatures."
|
||
|
||
[certSign.format]
|
||
pkcs11 = "Jeton USB"
|
||
windowsStore = "Magasin de certificats Windows"
|
||
|
||
[certSign.hardware]
|
||
certificate = "Certificat"
|
||
customLibrary = "Chemin du pilote personnalisé…"
|
||
driver = "Pilote PKCS#11"
|
||
driverPath = "Chemin de la bibliothèque du pilote"
|
||
driverPathPlaceholder = "Chemin complet vers votre pilote PKCS#11 (.dll, .so ou .dylib)"
|
||
expired = "expiré"
|
||
expires = "expire"
|
||
listCerts = "Lister les certificats"
|
||
loading = "Lecture des certificats…"
|
||
noCerts = "Aucun certificat de signature trouvé"
|
||
noDriver = "Aucun pilote PKCS#11 détecté. Installez le pilote de votre jeton (p. ex. OpenSC), puis rouvrez ceci - ou saisissez manuellement le chemin du pilote ci-dessous."
|
||
notYetValid = "pas encore valide"
|
||
pin = "Code PIN du jeton"
|
||
pkcs11Hint = "Sélectionnez le pilote PKCS#11 de votre jeton, saisissez le code PIN, puis listez les certificats sur le jeton."
|
||
pkcs11LoadError = "Impossible de lire les certificats depuis le jeton. Vérifiez le code PIN et le pilote."
|
||
refresh = "Actualiser"
|
||
selectCert = "Sélectionner un certificat"
|
||
selectDriver = "Sélectionner un pilote"
|
||
slot = "Slot (facultatif)"
|
||
windowsHint = "Choisissez un certificat dans le magasin de certificats Windows. La signature utilise la clé sur votre carte/jeton - Windows vous demandera le code PIN."
|
||
windowsLoadError = "Impossible de lire le magasin de certificats Windows"
|
||
|
||
[certSign.sessions]
|
||
deleted = "Session supprimée"
|
||
fetchFailed = "Échec du chargement des détails de la session"
|
||
finalized = "Session finalisée"
|
||
loaded = "PDF signé chargé"
|
||
pdfNotReady = "PDF non prêt"
|
||
pdfNotReadyDesc = "Le PDF signé est en cours de génération. Veuillez réessayer dans un instant."
|
||
|
||
[certSign.sign]
|
||
results = "PDF signé"
|
||
submit = "Signer le PDF"
|
||
|
||
[certSign.signMode.tooltip.auto]
|
||
text = "Signe avec un certificat <b>auto-signé</b> par le serveur. Même <b>sceau anti-altération</b> et <b>journal d’audit</b> ; s’affiche généralement comme <b>Non vérifié</b> dans les lecteurs."
|
||
title = "Auto – Sceau système instantané, sans configuration"
|
||
use = "À utiliser lorsque : vous avez besoin de rapidité et d’une identité interne cohérente pour les revues et dossiers."
|
||
|
||
[certSign.signMode.tooltip.header]
|
||
title = "À propos des signatures PDF"
|
||
|
||
[certSign.signMode.tooltip.manual]
|
||
text = "Utilisez vos propres fichiers de certificat pour une identité alignée à votre marque. Peut afficher <b>Fiable</b> lorsque votre AC/chaîne est reconnue."
|
||
title = "Manuel – Utiliser votre certificat"
|
||
use = "À utiliser pour : relation client, juridique, conformité."
|
||
|
||
[certSign.signMode.tooltip.overview]
|
||
text = "Les deux modes scellent le document (toute modification est signalée comme une altération) et enregistrent qui/quand/comment pour l’audit. La confiance affichée par le lecteur dépend de la chaîne de certificats."
|
||
title = "Fonctionnement des signatures"
|
||
|
||
[certSign.signMode.tooltip.rule]
|
||
text = "Besoin du statut <b>Fiable</b> côté destinataire ? <b>Manuel</b>. Besoin d’un sceau anti-altération rapide avec traçabilité sans configuration ? <b>Auto</b>."
|
||
title = "Règle générale"
|
||
|
||
[certSign.source]
|
||
device = "Cet appareil"
|
||
noOtherSources = "Aucune autre source de certificat n’est disponible."
|
||
server = "Serveur"
|
||
stepTitle = "Source du certificat"
|
||
upload = "Téléverser"
|
||
|
||
[changeCreds]
|
||
changeUsername = "Mettre à jour votre nom d’utilisateur. Vous serez déconnecté après la mise à jour."
|
||
credsUpdated = "Compte mis à jour"
|
||
description = "Modifications enregistrées. Veuillez vous reconnecter."
|
||
error = "Impossible de mettre à jour le nom d’utilisateur. Veuillez vérifier votre mot de passe et réessayer."
|
||
header = "Mettez à jour vos identifiants de connexion"
|
||
newUsername = "Nouveau nom d'utilisateur"
|
||
oldPassword = "Mot de passe actuel"
|
||
ssoManaged = "Votre compte est géré par votre fournisseur d’identité."
|
||
title = "Modifiez vos identifiants"
|
||
|
||
[changeMetadata]
|
||
filenamePrefix = "métadonnées"
|
||
submit = "Modifier"
|
||
tags = "edit,modify,update,metadata,properties,document properties,author,title,subject,keywords,creator,producer,info,document info,file properties"
|
||
|
||
[changeMetadata.advanced]
|
||
title = "Options avancées"
|
||
|
||
[changeMetadata.author]
|
||
label = "Auteur"
|
||
placeholder = "Auteur du document"
|
||
|
||
[changeMetadata.creationDate]
|
||
label = "Date de création"
|
||
placeholder = "Date de création"
|
||
|
||
[changeMetadata.creator]
|
||
label = "Créateur"
|
||
placeholder = "Créateur du document"
|
||
|
||
[changeMetadata.customFields]
|
||
add = "Ajouter un champ"
|
||
description = "Ajoutez des champs de métadonnées personnalisés au document"
|
||
key = "Clé"
|
||
keyPlaceholder = "Clé personnalisée"
|
||
remove = "Supprimer"
|
||
title = "Métadonnées personnalisées"
|
||
value = "Valeur"
|
||
valuePlaceholder = "Valeur personnalisée"
|
||
|
||
[changeMetadata.dates]
|
||
title = "Champs de date"
|
||
|
||
[changeMetadata.deleteAll]
|
||
checkbox = "Supprimer toutes les métadonnées"
|
||
label = "Supprimer les métadonnées existantes"
|
||
|
||
[changeMetadata.error]
|
||
failed = "Une erreur est survenue lors de la modification des métadonnées du PDF."
|
||
|
||
[changeMetadata.keywords]
|
||
label = "Mots-clés"
|
||
placeholder = "Mots-clés du document"
|
||
|
||
[changeMetadata.modificationDate]
|
||
label = "Date de modification"
|
||
placeholder = "Date de modification"
|
||
|
||
[changeMetadata.producer]
|
||
label = "Producteur"
|
||
placeholder = "Producteur du document"
|
||
|
||
[changeMetadata.results]
|
||
title = "PDF mis à jour"
|
||
|
||
[changeMetadata.standardFields]
|
||
title = "Champs standard"
|
||
|
||
[changeMetadata.subject]
|
||
label = "Sujet"
|
||
placeholder = "Sujet du document"
|
||
|
||
[changeMetadata.title]
|
||
label = "Titre"
|
||
placeholder = "Titre du document"
|
||
|
||
[changeMetadata.tooltip.advanced]
|
||
title = "Options avancées"
|
||
|
||
[changeMetadata.tooltip.advanced.trapped]
|
||
bullet1 = "True : le document a été piégé pour l’impression"
|
||
bullet2 = "False : le document n’a pas été piégé"
|
||
bullet3 = "Unknown : l’état de piégeage n’est pas spécifié"
|
||
description = "Indique si le document est préparé pour une impression de haute qualité."
|
||
title = "État de piégeage"
|
||
|
||
[changeMetadata.tooltip.customFields]
|
||
bullet1 = "Ajoutez tous les champs personnalisés utiles à votre document"
|
||
bullet2 = "Exemples : Département, Projet, Version, Statut"
|
||
bullet3 = "La clé et la valeur sont requises pour chaque entrée"
|
||
text = "Ajoutez vos propres paires clé-valeur de métadonnées."
|
||
title = "Métadonnées personnalisées"
|
||
|
||
[changeMetadata.tooltip.dates]
|
||
bullet1 = "Date de création : quand le document original a été créé"
|
||
bullet2 = "Date de modification : quand il a été modifié pour la dernière fois"
|
||
text = "Quand le document a été créé et modifié."
|
||
title = "Champs de date"
|
||
|
||
[changeMetadata.tooltip.deleteAll]
|
||
text = "Suppression complète des métadonnées pour garantir la confidentialité."
|
||
title = "Supprimer les métadonnées existantes"
|
||
|
||
[changeMetadata.tooltip.standardFields]
|
||
bullet1 = "Titre : nom ou en-tête du document"
|
||
bullet2 = "Auteur : personne ayant créé le document"
|
||
bullet3 = "Sujet : brève description du contenu"
|
||
bullet4 = "Mots-clés : termes de recherche du document"
|
||
bullet5 = "Créateur/Producteur : logiciel utilisé pour créer le PDF"
|
||
text = "Champs de métadonnées PDF courants décrivant le document."
|
||
title = "Champs standard"
|
||
|
||
[changeMetadata.trapped]
|
||
false = "Faux"
|
||
label = "État de piégeage"
|
||
true = "Vrai"
|
||
unknown = "Inconnu"
|
||
|
||
[changePermissions]
|
||
desc = "Modifier les restrictions et permissions du document."
|
||
submit = "Modifier les permissions"
|
||
tags = "permissions,restrictions,rights,access control,allow,deny,printing,copying,editing,modify permissions,security settings,user rights"
|
||
title = "Modifier les permissions"
|
||
|
||
[changePermissions.error]
|
||
failed = "Une erreur est survenue lors de la modification des permissions du PDF."
|
||
|
||
[changePermissions.permissions.preventAssembly]
|
||
label = "Empêcher l'assemblage du document"
|
||
|
||
[changePermissions.permissions.preventExtractContent]
|
||
label = "Empêcher l'extraction de contenu"
|
||
|
||
[changePermissions.permissions.preventExtractForAccessibility]
|
||
label = "Empêcher l'extraction pour l'accessibilité"
|
||
|
||
[changePermissions.permissions.preventFillInForm]
|
||
label = "Empêcher de remplir les formulaires"
|
||
|
||
[changePermissions.permissions.preventModify]
|
||
label = "Empêcher la modification"
|
||
|
||
[changePermissions.permissions.preventModifyAnnotations]
|
||
label = "Empêcher la modification des annotations"
|
||
|
||
[changePermissions.permissions.preventPrinting]
|
||
label = "Empêcher l'impression"
|
||
|
||
[changePermissions.permissions.preventPrintingFaithful]
|
||
label = "Empêcher l'impression des différents formats"
|
||
|
||
[changePermissions.results]
|
||
title = "PDF modifiés"
|
||
|
||
[changePermissions.tooltip.description]
|
||
text = "Modifie les permissions du document, autorisant/interdisant l’accès à différentes fonctions dans les lecteurs PDF."
|
||
|
||
[changePermissions.tooltip.header]
|
||
title = "Modifier les permissions"
|
||
|
||
[changePermissions.tooltip.warning]
|
||
text = "Pour rendre ces permissions non modifiables, utilisez l’outil Ajouter un mot de passe pour définir un mot de passe propriétaire."
|
||
|
||
[chat.actions]
|
||
copy = "Copier le message"
|
||
|
||
[chat.emptyState]
|
||
text = "Ask a question about your documents or get help with PDF tools."
|
||
|
||
[chat.fab]
|
||
close = "Close chat"
|
||
open = "Open Stirling AI assistant"
|
||
|
||
[chat.header]
|
||
agentMenu = "Options de l’agent Stirling"
|
||
assistant = "AI Assistant"
|
||
clearChat = "Effacer la discussion"
|
||
|
||
[chat.input]
|
||
disclaimer = "AI can make mistakes. Be sure to verify the output before sharing."
|
||
placeholder = "Que voulez-vous faire ?"
|
||
send = "Envoyer le message"
|
||
|
||
[chat.progress]
|
||
analyzing = "Analyse de votre demande..."
|
||
calling_engine = "L'IA réfléchit..."
|
||
executing_tool_generic = "Exécution de l'outil..."
|
||
executing_tool_generic_step = "Exécution de l'outil (étape {{step}} sur {{total}})..."
|
||
executing_tool_single = "Exécution de {{tool}}..."
|
||
executing_tool_step = "Exécution de {{tool}} (étape {{step}} sur {{total}})..."
|
||
extracting_content = "Extraction du contenu de vos documents..."
|
||
processing = "Traitement du contenu extrait..."
|
||
ranForMinutes_one = "Ran for 1 minute"
|
||
ranForMinutes_other = "Ran for {{count}} minutes"
|
||
ranForMinutesSeconds = "Ran for {{minutes}} min, {{seconds}} sec"
|
||
ranForSeconds_one = "Ran for 1 second"
|
||
ranForSeconds_other = "Ran for {{count}} seconds"
|
||
thinking = "Réflexion..."
|
||
whole_doc_compression_round = "Consolidation des notes..."
|
||
whole_doc_read_done = "Lecture du document terminée..."
|
||
whole_doc_read_started = "Lecture du document..."
|
||
whole_doc_slice_done = "Lecture du document... ({{percent}} % terminé)"
|
||
|
||
[chat.quickActions]
|
||
browseYourFiles = "Parcourir vos fichiers"
|
||
compressMany = "Compresser ces documents"
|
||
compressOne = "Compresser ce document"
|
||
convertMany = "Convertir ces documents en PDF"
|
||
convertOne = "Convertir ce document en PDF"
|
||
heading = "Pour commencer"
|
||
mergeMany = "Fusionner ces {{count}} documents en 1"
|
||
moreFiles = "+{{count}} autres"
|
||
openFromComputer = "Ouvrir depuis l’ordinateur"
|
||
removeFile = "Retirer {{name}}"
|
||
splitOne = "Diviser ce document"
|
||
|
||
[chat.responses]
|
||
cannot_continue = "Un problème est survenu et je ne peux pas continuer."
|
||
cannot_do = "Je ne peux pas faire cela."
|
||
done = "Terminé."
|
||
need_clarification = "Pouvez-vous préciser votre demande ?"
|
||
not_found = "Je n’ai pas trouvé l’information demandée."
|
||
processing = "Traitement ({{outcome}})..."
|
||
unsupported_capability = "Fonctionnalité non prise en charge : {{capability}}"
|
||
usage_limit_reached = "You've reached your usage limit. Check your plan options to keep going."
|
||
|
||
[chat.toolsUsed]
|
||
summary_one = "1 outil exécuté"
|
||
summary_other = "{{count}} outils exécutés"
|
||
unknownTool = "Outil inconnu"
|
||
|
||
[cloudBadge]
|
||
tooltip = "Cette opération utilisera vos crédits cloud"
|
||
|
||
[color.eyeDropper]
|
||
tooltip = "Prélever une couleur à l’écran"
|
||
|
||
[colorPicker]
|
||
hue = "Hue"
|
||
saturation = "Saturation and brightness"
|
||
title = "Choisir la couleur"
|
||
|
||
[common]
|
||
actions = "Actions"
|
||
back = "Retour"
|
||
cancel = "Annuler"
|
||
close = "Fermer"
|
||
codeSample = "Code sample"
|
||
collapse = "Réduire"
|
||
confirm = "Confirmer"
|
||
continue = "Continuer"
|
||
copied = "Copié !"
|
||
copy = "Copier"
|
||
done = "Terminé"
|
||
enterValue = "Enter value"
|
||
error = "Erreur"
|
||
expand = "Développer"
|
||
loading = "Chargement…"
|
||
next = "Suivant"
|
||
open = "Open"
|
||
preview = "Aperçu"
|
||
previous = "Précédent"
|
||
refresh = "Actualiser"
|
||
remaining = "Restant"
|
||
retry = "Réessayer"
|
||
save = "Enregistrer"
|
||
stepOf = "Step {{current}} of {{total}}"
|
||
|
||
[compare]
|
||
clearSelected = "Effacer la sélection"
|
||
clearSlot = "Retirer le fichier"
|
||
cta = "Comparer"
|
||
loading = "Comparaison en cours…"
|
||
newLine = "nouvelle-ligne"
|
||
pages = "Pages"
|
||
tags = "comparer,analyser,differentiate,contrast,changes,analysis"
|
||
title = "Comparer"
|
||
|
||
[compare.actions]
|
||
linkScroll = "Lier le défilement"
|
||
placeSideBySide = "Aligner côte à côte"
|
||
resetView = "Réinitialiser la vue"
|
||
stackVertically = "Empiler verticalement"
|
||
unlinkScroll = "Dissocier le défilement"
|
||
zoomIn = "Zoomer"
|
||
zoomOut = "Dézoomer"
|
||
|
||
[compare.clear]
|
||
confirm = "Effacer et revenir"
|
||
confirmBody = "Cela fermera la comparaison en cours et vous ramènera aux fichiers actifs."
|
||
confirmTitle = "Effacer les PDF sélectionnés ?"
|
||
|
||
[compare.dropdown]
|
||
additions = "Ajouts ({{count}})"
|
||
additionsLabel = "Ajouts"
|
||
deletions = "Suppressions ({{count}})"
|
||
deletionsLabel = "Suppressions"
|
||
noResults = "Aucune modification trouvée"
|
||
searchPlaceholder = "Rechercher des modifications…"
|
||
|
||
[compare.earlyDissimilarity]
|
||
body = "Nous constatons très peu de similitudes pour l’instant. Vous pouvez arrêter la comparaison s’il ne s’agit pas de documents liés."
|
||
stopButton = "Arrêter la comparaison"
|
||
title = "Ces PDF semblent très différents"
|
||
|
||
[compare.edited]
|
||
label = "PDF modifié"
|
||
placeholder = "Select the edited PDF"
|
||
selectBaseFirst = "Sélectionnez d’abord le PDF d’origine"
|
||
|
||
[compare.error]
|
||
filesMissing = "Impossible de localiser les fichiers sélectionnés. Veuillez les sélectionner à nouveau."
|
||
generic = "Impossible de comparer ces fichiers."
|
||
selectRequired = "Sélectionnez un document original et un document modifié."
|
||
title = "Échec de la comparaison"
|
||
|
||
[compare.large.file]
|
||
message = "Un ou les deux documents fournis sont trop volumineux pour être traités"
|
||
|
||
[compare.longJob]
|
||
body = "Ces PDF dépassent ensemble 2 000 pages. Le traitement peut prendre plusieurs minutes."
|
||
title = "Comparaison volumineuse en cours"
|
||
|
||
[compare.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."
|
||
|
||
[compare.original]
|
||
label = "PDF original"
|
||
placeholder = "Select the original PDF"
|
||
|
||
[compare.pixel]
|
||
base = "Original"
|
||
changed = "modifié"
|
||
comparison = "Modifié"
|
||
diff = "Différences"
|
||
diffOnly = "Uniquement les différences"
|
||
missingInBase = "Manquant dans l'original"
|
||
missingInComparison = "Manquant dans la version modifiée"
|
||
overall = "global"
|
||
overlay = "Superposition"
|
||
pageLabel = "Page"
|
||
pagesChanged = "pages modifiées"
|
||
sideBySide = "Côte à côte"
|
||
sizeMismatch = "Incompatibilité de taille"
|
||
summaryTitle = "Comparaison de pixels"
|
||
|
||
[compare.pixel.errors]
|
||
canvasContextUnavailable = "Impossible d'obtenir le contexte canvas 2D pour la comparaison de pixels."
|
||
|
||
[compare.pixel.warnings]
|
||
noPages = "Un ou les deux documents n'ont aucune page."
|
||
pageCountMismatch = "Incohérence du nombre de pages : l'original compte {{base}} page(s), la version modifiée en compte {{comparison}}. Les pages supplémentaires sont affichées d'un seul côté et marquées comme entièrement supprimées/ajoutées."
|
||
|
||
[compare.rendering]
|
||
complete = "Rendu des pages terminé"
|
||
inProgress = "Au moins l’un de ces PDF est très volumineux ; le défilement ne sera pas fluide tant que le rendu n’est pas terminé."
|
||
pageNotReadyBody = "Certaines pages sont encore en cours de rendu. La navigation sera ajustée dès qu’elles seront prêtes."
|
||
pageNotReadyTitle = "Page non encore rendue"
|
||
pagesRendered = "pages rendues"
|
||
rendering = "rendu"
|
||
|
||
[compare.review]
|
||
title = "Résultat de la comparaison"
|
||
|
||
[compare.selection]
|
||
originalEditedTitle = "Sélectionnez les PDF original et modifié"
|
||
|
||
[compare.status]
|
||
complete = "Comparaison prête"
|
||
error = "La comparaison a échoué"
|
||
extracting = "Extraction du texte…"
|
||
processing = "Analyse des différences…"
|
||
|
||
[compare.summary]
|
||
baseHeading = "Document original"
|
||
comparisonHeading = "Document modifié"
|
||
pageLabel = "Page"
|
||
|
||
[compare.swap]
|
||
confirm = "Intervertir et relancer"
|
||
confirmBody = "Cela relancera l’outil. Voulez-vous vraiment intervertir l’ordre d’Original et Modifié ?"
|
||
confirmTitle = "Relancer la comparaison ?"
|
||
label = "Permuter"
|
||
|
||
[compare.toasts]
|
||
unlinkedBody = "Astuce : les flèches Haut/Bas font défiler les deux volets ; le panoramique ne déplace que le volet actif."
|
||
unlinkedTitle = "Défilement et panoramique indépendants activés"
|
||
|
||
[compare.too.dissimilar]
|
||
message = "Ces documents semblent très différents. La comparaison a été arrêtée pour gagner du temps."
|
||
|
||
[compress]
|
||
desc = "Compressez les PDF pour réduire leur taille."
|
||
submit = "Compresser"
|
||
tags = "shrink,reduce,optimize,compress,smaller,downsize,file size,reduce size,minimize,make smaller,decrease size,optimize size"
|
||
title = "Compresser un PDF"
|
||
|
||
[compress.compressionLevel]
|
||
range1to3 = "Des valeurs faibles préservent la qualité mais donnent des fichiers plus volumineux"
|
||
range4to6 = "Compression moyenne avec réduction modérée de la qualité"
|
||
range7to9 = "Des valeurs élevées réduisent fortement la taille du fichier mais peuvent diminuer la netteté des images"
|
||
|
||
[compress.error]
|
||
failed = "Une erreur est survenue lors de la compression du PDF."
|
||
|
||
[compress.grayscale]
|
||
label = "Appliquer l'échelle de gris pour la compression"
|
||
|
||
[compress.linearize]
|
||
label = "Linéariser le PDF pour une lecture web rapide"
|
||
|
||
[compress.lineArt]
|
||
description = "Utilise ImageMagick pour réduire les pages en noir et blanc à fort contraste afin de maximiser la réduction de taille."
|
||
detailLevel = "Niveau de détail"
|
||
edgeEmphasis = "Accentuation des contours"
|
||
edgeHigh = "Forte"
|
||
edgeLow = "Douce"
|
||
edgeMedium = "Équilibrée"
|
||
label = "Convertir les images en dessin au trait"
|
||
unavailable = "ImageMagick n’est pas installé ou activé sur ce serveur"
|
||
|
||
[compress.method]
|
||
filesize = "Taille du Fichier"
|
||
quality = "Qualité"
|
||
title = "Méthode de compression"
|
||
|
||
[compress.settings]
|
||
desiredSize = "Taille de fichier souhaitée"
|
||
desiredSizePlaceholder = "Saisir la taille"
|
||
desiredSizeUnit = "Size unit"
|
||
|
||
[compress.tooltip.description]
|
||
text = "La compression est un moyen simple de réduire la taille de votre fichier. Choisissez Taille de fichier pour saisir une taille cible et nous ajusterons la qualité pour vous. Choisissez Qualité pour régler manuellement la force de compression."
|
||
title = "Description"
|
||
|
||
[compress.tooltip.grayscale]
|
||
text = "Sélectionnez cette option pour convertir toutes les images en noir et blanc, ce qui peut réduire significativement la taille, en particulier pour les PDF scannés ou riches en images."
|
||
title = "Niveaux de gris"
|
||
|
||
[compress.tooltip.header]
|
||
title = "Aperçu des paramètres de compression"
|
||
|
||
[compress.tooltip.lineArt]
|
||
text = "Convertit les pages en noir et blanc à fort contraste à l’aide d’ImageMagick. Utilisez le niveau de détail pour contrôler la quantité de contenu qui devient noir, et l’accentuation des contours pour contrôler l’agressivité de la détection des contours."
|
||
title = "Dessin au trait"
|
||
|
||
[compress.tooltip.qualityAdjustment]
|
||
bullet1 = "Des valeurs faibles préservent la qualité"
|
||
bullet2 = "Des valeurs élevées réduisent la taille du fichier"
|
||
text = "Faites glisser le curseur pour ajuster la force de compression. Des valeurs basses (1-3) préservent la qualité mais produisent des fichiers plus volumineux. Des valeurs hautes (7-9) réduisent davantage la taille mais diminuent la netteté des images."
|
||
title = "Réglage de la qualité"
|
||
|
||
[compressPdfs]
|
||
tags = "compresser,réduire,taille,squish,small,tiny"
|
||
|
||
[config]
|
||
plan = "Plan"
|
||
team = "Team"
|
||
|
||
[config.account.overview]
|
||
confirmDelete = "Delete My Account"
|
||
deleteAccount = "Delete Account"
|
||
deleteAccountTitle = "Delete Account"
|
||
deleteFailed = "Failed to delete account."
|
||
deleteFailedTitle = "Unable to delete account"
|
||
deleteWarning = "This action is permanent and cannot be undone. All your data will be deleted."
|
||
enterEmailConfirm = "To confirm deletion, please type your email address ({{email}}) below:"
|
||
guestDescription = "Vous êtes connecté en tant qu’invité. Envisagez de mettre à niveau votre compte ci-dessus."
|
||
label = "Overview"
|
||
manageAccountPreferences = "Gérer les préférences de votre compte"
|
||
signedInAs = "Signed in as"
|
||
title = "Paramètres du compte"
|
||
|
||
[config.account.profilePicture]
|
||
description = "Upload an image to personalize your account."
|
||
help = "PNG, JPG, or WebP up to 2MB."
|
||
remove = "Remove"
|
||
sizeError = "Please select an image smaller than 2MB."
|
||
switchedToCustom = "Switched to custom picture. You can now upload your own."
|
||
title = "Profile picture"
|
||
upload = "Upload"
|
||
useCustom = "Use custom picture"
|
||
usingProvider = "Using {{provider}} profile picture"
|
||
|
||
[config.account.profilePicture.cropper]
|
||
cropError = "Failed to crop image. Please try again."
|
||
invalidImage = "Invalid image file. Please select a valid PNG, JPG, or WebP file."
|
||
processing = "Processing crop..."
|
||
save = "Save Cropped Image"
|
||
sizeErrorAfterCrop = "Cropped image is too large. Please zoom out or crop a smaller area."
|
||
title = "Crop Profile Picture"
|
||
zoom = "Zoom"
|
||
|
||
[config.account.security]
|
||
changePassword = "Change password"
|
||
description = "Manage your password and security settings."
|
||
title = "Passwords & Security"
|
||
update = "Update password"
|
||
|
||
[config.account.upgrade]
|
||
description = "Liez votre compte pour préserver votre historique et accéder à davantage de fonctionnalités !"
|
||
email = "E-mail"
|
||
emailPassword = "ou saisissez votre e-mail et mot de passe"
|
||
emailPlaceholder = "Saisissez votre e-mail"
|
||
linkWith = "Lier avec"
|
||
password = "Mot de passe (facultatif)"
|
||
passwordNote = "Laissez vide pour utiliser uniquement la vérification par e-mail"
|
||
passwordPlaceholder = "Définir un mot de passe"
|
||
socialLogin = "Mettre à niveau avec un compte social"
|
||
title = "Mettre à niveau le compte invité"
|
||
upgradeButton = "Mettre à niveau le compte"
|
||
|
||
[config.apiKeys]
|
||
copyKeyAriaLabel = "Copier la clé API"
|
||
description = "Votre clé API pour accéder à la suite d’outils PDF de Stirling. Copiez-la dans votre projet ou actualisez pour en générer une nouvelle."
|
||
docsDescription = "En savoir plus sur l’intégration avec Stirling PDF :"
|
||
docsLink = "Documentation API"
|
||
docsTitle = "Documentation API"
|
||
generateError = "Nous n’avons pas pu générer votre clé API."
|
||
goToAccount = "Aller au compte"
|
||
guestInfo = "Les utilisateurs invités ne reçoivent pas de clés API. Créez un compte pour obtenir une clé API à utiliser dans vos applications."
|
||
intro = "Utilisez votre clé API pour accéder de manière programmatique aux capacités de traitement de Stirling PDF."
|
||
label = "Clé API"
|
||
publicKeyAriaLabel = "Clé API publique"
|
||
refreshAriaLabel = "Actualiser la clé API"
|
||
schemaLink = "Référence du schéma API"
|
||
usage = "Incluez cette clé dans l’en-tête X-API-KEY pour toutes les requêtes API."
|
||
|
||
[config.apiKeys.alert]
|
||
apiKeyErrorTitle = "Erreur de clé API"
|
||
apiKeyRefreshed = "Clé API actualisée"
|
||
apiKeyRefreshedBody = "Votre clé API a été actualisée avec succès."
|
||
failedToCreateApiKey = "Échec de création de la clé API."
|
||
failedToFetchApiKey = "Échec de récupération de la clé API."
|
||
failedToRefreshApiKey = "Échec d’actualisation de la clé API."
|
||
failedToRetrieveApiKey = "Échec de récupération de la clé API depuis la réponse."
|
||
|
||
[config.apiKeys.refreshModal]
|
||
confirmCta = "Actualiser les clés"
|
||
confirmPrompt = "Êtes-vous sûr de vouloir continuer ?"
|
||
impact = "Toute application ou service utilisant actuellement ces clés cessera de fonctionner jusqu’à leur mise à jour avec les nouvelles clés."
|
||
title = "Actualiser les clés API"
|
||
warning = "⚠️ Avertissement : cette action générera de nouvelles clés API et rendra vos clés précédentes invalides."
|
||
|
||
[config.mcp]
|
||
description = "Model Context Protocol (MCP) lets AI assistants like Claude use your Stirling PDF tools directly. Connect a client once and your assistant can convert, edit, secure and process documents on your behalf."
|
||
guestInfo = "Guest users can't connect MCP clients. Create an account to use the MCP server and let your AI assistant run Stirling PDF tools on your behalf."
|
||
navLabel = "MCP Server"
|
||
tip = "Every action your assistant runs is performed as your account and counts towards your usage, just like using Stirling PDF directly."
|
||
title = "MCP Server"
|
||
viewApiKeys = "View API keys"
|
||
|
||
[config.mcp.copy]
|
||
configLabel = "Config"
|
||
copied = "Copied"
|
||
copy = "Copy"
|
||
endpointLabel = "Endpoint URL"
|
||
tooltip = "Copy {{label}}"
|
||
tooltipCopied = "{{label}} copied"
|
||
|
||
[config.mcp.endpoint]
|
||
label = "Your MCP endpoint"
|
||
|
||
[config.mcp.setup]
|
||
addTo = "Add to"
|
||
hint = "Pick your client, paste the snippet into the file shown, then restart it. You'll sign in with your Stirling account on first use - no keys to copy."
|
||
title = "Connect your AI assistant"
|
||
|
||
[config.overview]
|
||
description = "Paramètres actuels de l’application et détails de configuration."
|
||
error = "Erreur"
|
||
loading = "Chargement de la configuration..."
|
||
title = "Configuration de l’application"
|
||
warning = "Avertissement de configuration"
|
||
|
||
[config.overview.sections]
|
||
basic = "Configuration de base"
|
||
integration = "Configuration d'intégration"
|
||
security = "Configuration de sécurité"
|
||
system = "Configuration système"
|
||
|
||
[convert]
|
||
autoRotate = "Rotation automatique"
|
||
autoRotateDescription = "Fait pivoter automatiquement les images pour mieux s’adapter à la page PDF"
|
||
blackwhite = "Noir et blanc"
|
||
cbrDpi = "DPI pour le rendu des images"
|
||
cbrOptions = "Options CBR"
|
||
cbrOutputOptions = "Options PDF vers CBR"
|
||
cbrToPdf = "CBR → PDF"
|
||
cbzDpi = "DPI pour le rendu des images"
|
||
cbzOptions = "Options CBZ vers PDF"
|
||
cbzOutputOptions = "Options PDF vers CBZ"
|
||
cbzToPdf = "CBZ → PDF"
|
||
color = "Couleur"
|
||
colorType = "Type de couleur"
|
||
combineImages = "Combiner les images"
|
||
combineImagesDescription = "Combiner toutes les images dans un seul PDF, ou créer des PDF séparés pour chaque image"
|
||
combineSvgs = "Combine SVGs into single PDF"
|
||
combineSvgsDescription = "Combine all SVG files into one PDF with multiple pages, or create separate PDFs for each SVG"
|
||
conversionResults = "Résultats de la conversion"
|
||
convertFiles = "Convertir les fichiers"
|
||
convertFrom = "Convertir depuis"
|
||
converting = "Conversion…"
|
||
convertTo = "Convertir vers"
|
||
desc = "Convertir des fichiers entre différents formats"
|
||
downloadHtml = "Télécharger le fichier HTML intermédiaire au lieu du PDF"
|
||
dpi = "DPI"
|
||
ebookToPdf = "eBook → PDF"
|
||
emailOptions = "Options e-mail vers PDF"
|
||
emlToPdf = "Email → PDF"
|
||
errorConversion = "Une erreur s’est produite lors de la conversion du fichier."
|
||
fileToPdf = "Office/Document → PDF"
|
||
fillPage = "Remplir la page"
|
||
fitDocumentToPage = "Ajuster le document à la page"
|
||
fitOption = "Option d’ajustement"
|
||
grayscale = "Niveaux de gris"
|
||
imageOptions = "Options d’image"
|
||
includeAllRecipients = "Inclure les destinataires CC et CCI dans l’en-tête"
|
||
includeAttachments = "Inclure les pièces jointes de l’e-mail"
|
||
maintainAspectRatio = "Conserver les proportions"
|
||
maxAttachmentSize = "Taille maximale de pièce jointe (Mo)"
|
||
multiple = "Multiple"
|
||
optimizeForEbook = "Optimiser le PDF pour les liseuses (utilise Ghostscript)"
|
||
output = "Sortie"
|
||
outputFormat = "Format de sortie"
|
||
pdfaDigitalSignatureWarning = "Le PDF contient une signature numérique. Elle sera supprimée dans l'étape suivante."
|
||
pdfaNote = "PDF/A-1b est plus compatible, PDF/A-2b prend en charge davantage de fonctionnalités."
|
||
pdfaOptions = "Options PDF/A"
|
||
pdfOptions = "Options PDF"
|
||
pdfToCbr = "PDF → CBR"
|
||
pdfToCbz = "PDF → CBZ"
|
||
pdfToEpub = "PDF → EPUB"
|
||
pdfUaAltTextNotice = "Images need a written description before a document can be certified. Descriptions are never generated automatically, because an invented one passes the checker while telling a screen-reader user nothing. Any image left without one is reported, and the file comes back tagged but not certified."
|
||
pdfUaAltTextScanFailed = "The images could not be listed. Convert anyway and the response reports what is missing."
|
||
pdfUaAltTextSingleFileOnly = "Descriptions belong to one document: an image is identified by its position, which is a different image in every file. Convert these {{fileCount}} files to tag them, then convert one at a time to describe its images."
|
||
pdfUaEmbedFonts = "Embed missing fonts"
|
||
pdfUaEmbedFontsHelp = "PDF/UA requires every font to be embedded. Turning this off is faster but usually prevents conformance."
|
||
pdfUaFigureLabel = "Page {{page}} {{kind}}"
|
||
pdfUaFigurePlaceholder = "What this image tells the reader"
|
||
pdfUaFindImages = "Find images needing a description"
|
||
pdfUaLanguage = "Document language"
|
||
pdfUaLanguageHelp = "A BCP-47 tag such as en-GB. Used only when the document does not already declare its own language."
|
||
pdfUaNoImagesNeedingText = "No image is missing a description."
|
||
pdfUaOptions = "PDF/UA Options"
|
||
pdfUaOverrideLanguage = "Replace the document's own language"
|
||
pdfUaOverrideLanguageHelp = "Only tick this if the language above is right and the document's own is wrong. Relabelling a document into a language it is not written in makes a screen reader unintelligible."
|
||
pdfUaProfile = "Conformance level"
|
||
pdfUaSignatureWarning = "This PDF is digitally signed. Tagging rewrites the page content the signature covers, so the signature will stop verifying. Convert first, then re-sign."
|
||
pdfUaTitle = "Document title"
|
||
pdfUaTitleHelp = "Shown by a reader instead of the filename. Left blank, the first heading is used."
|
||
selectSourceFormatFirst = "Sélectionnez d’abord un format source"
|
||
settings = "Paramètres"
|
||
single = "Unique"
|
||
sourceFormatPlaceholder = "Format source"
|
||
strictMode = "Strict Mode"
|
||
strictModeDesc = "Error if conversion is not perfect (uses VeraPDF verification)"
|
||
svgPdfOptions = "SVG to PDF Options"
|
||
svgToPdf = "SVG → PDF"
|
||
svgVectorNote = "SVG files are rendered as vector graphics for crisp output at any resolution. Dimensions from the SVG determine the PDF page size."
|
||
tags = "transform,change,convert,PDF to Word,PDF to Excel,PDF to image,Word to PDF,Excel to PDF,PowerPoint to PDF,HTML to PDF,export,import,file conversion,format change,save as"
|
||
targetFormatPlaceholder = "Format cible"
|
||
title = "Convertir"
|
||
webOptions = "Options Web vers PDF"
|
||
zoomLevel = "Niveau de zoom"
|
||
|
||
[convert.ebookOptions]
|
||
embedAllFonts = "Incorporer toutes les polices"
|
||
embedAllFontsDesc = "Incorporer toutes les polices de l’eBook dans le PDF généré"
|
||
includePageNumbers = "Inclure les numéros de page"
|
||
includePageNumbersDesc = "Ajouter des numéros de page au PDF généré"
|
||
includeTableOfContents = "Inclure la table des matières"
|
||
includeTableOfContentsDesc = "Ajouter une table des matières générée au PDF résultant"
|
||
optimizeForEbookPdf = "Optimiser pour les liseuses"
|
||
optimizeForEbookPdfDesc = "Optimiser le PDF pour la lecture d’eBook (taille de fichier réduite, meilleur rendu sur appareils eInk)"
|
||
|
||
[convert.epubOptions]
|
||
detectChapters = "Détecter les chapitres"
|
||
detectChaptersDesc = "Détecter les titres ressemblant à des chapitres et insérer des sauts de page EPUB"
|
||
kindleEink = "Kindle e-Ink (texte optimisé)"
|
||
outputFormat = "Format de sortie"
|
||
outputFormatDesc = "Choisissez le format de sortie de l’eBook"
|
||
tabletPhone = "Tablette/Téléphone (avec images)"
|
||
targetDevice = "Appareil cible"
|
||
targetDeviceDesc = "Choisissez un profil de sortie optimisé pour l’appareil de lecture"
|
||
|
||
[cookieBanner.popUp]
|
||
acceptAllBtn = "D'accord"
|
||
acceptNecessaryBtn = "Non merci"
|
||
showPreferencesBtn = "Gérer les préférences"
|
||
title = "Comment nous utilisons les cookies"
|
||
|
||
[cookieBanner.popUp.description]
|
||
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."
|
||
2 = "If you’d rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly."
|
||
|
||
[cookieBanner.preferencesModal]
|
||
acceptAllBtn = "Tout accepter"
|
||
acceptNecessaryBtn = "Tout refuser"
|
||
closeIconLabel = "Fermer la fenêtre"
|
||
savePreferencesBtn = "Enregistrer les préférences"
|
||
serviceCounterLabel = "Service|Services"
|
||
subtitle = "Utilisation des cookies"
|
||
title = "Centre de préférences de consentement"
|
||
|
||
[cookieBanner.preferencesModal.analytics]
|
||
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."
|
||
title = "Analyse"
|
||
|
||
[cookieBanner.preferencesModal.description]
|
||
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."
|
||
|
||
[cookieBanner.preferencesModal.necessary]
|
||
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 can’t be turned off."
|
||
|
||
[cookieBanner.preferencesModal.necessary.title]
|
||
1 = "Cookies strictement nécessaires"
|
||
2 = "Toujours activés"
|
||
|
||
[cookieBanner.services]
|
||
posthog = "PostHog Analytics"
|
||
scarf = "Scarf Pixel"
|
||
|
||
[crop]
|
||
autoCrop = "Recadrer automatiquement les marges blanches"
|
||
noFileSelected = "Sélectionnez un fichier PDF pour commencer le recadrage"
|
||
reset = "Réinitialiser au PDF complet"
|
||
submit = "Envoyer"
|
||
title = "Redimensionner"
|
||
|
||
[crop.automation]
|
||
info = "Saisissez les coordonnées de rognage en points PDF. L’origine (0,0) est en bas à gauche. Ces valeurs seront appliquées à tous les PDF traités dans cette automatisation."
|
||
reference = "Référence : une page A4 fait 595,28 × 841,89 points (210 mm × 297 mm). 1 pouce = 72 points."
|
||
|
||
[crop.coordinates]
|
||
title = "Position et taille"
|
||
|
||
[crop.coordinates.height]
|
||
desc = "Hauteur de rognage (points)"
|
||
label = "Hauteur"
|
||
|
||
[crop.coordinates.width]
|
||
desc = "Largeur de rognage (points)"
|
||
label = "Largeur"
|
||
|
||
[crop.coordinates.x]
|
||
desc = "Bord gauche (points)"
|
||
label = "Position X"
|
||
|
||
[crop.coordinates.y]
|
||
desc = "Bord inférieur (points)"
|
||
label = "Position Y"
|
||
|
||
[crop.error]
|
||
failed = "Échec du recadrage du PDF"
|
||
|
||
[crop.preview]
|
||
title = "Sélection de la zone de recadrage"
|
||
|
||
[crop.results]
|
||
title = "Résultats du recadrage"
|
||
|
||
[crop.steps]
|
||
selectArea = "Sélectionner la zone de recadrage"
|
||
|
||
[crop.tooltip]
|
||
description = "Sélectionnez la zone à recadrer dans votre PDF en faisant glisser et en redimensionnant la superposition bleue sur la vignette."
|
||
drag = "Faites glisser la superposition pour déplacer la zone de recadrage"
|
||
precision = "Utilisez les champs de coordonnées pour un positionnement précis"
|
||
resize = "Faites glisser les poignées d’angle et de bord pour redimensionner"
|
||
title = "Comment recadrer des PDF"
|
||
|
||
[database]
|
||
backupCreated = "Sauvegarde de la base de donnée réussie"
|
||
fileName = "Nom du Fichier"
|
||
title = "Import/Export de la Base de Données"
|
||
|
||
[defaultApp]
|
||
setDefault = "Définir par défaut"
|
||
title = "Définir comme application PDF par défaut"
|
||
|
||
[defaultApp.error]
|
||
message = "Échec de la définition du gestionnaire PDF par défaut"
|
||
title = "Erreur"
|
||
|
||
[defaultApp.prompt]
|
||
dontRemind = "Ne plus me le rappeler"
|
||
message = "Définissez Stirling PDF comme application par défaut pour ouvrir les fichiers PDF."
|
||
|
||
[defaultApp.settingsOpened]
|
||
message = "Veuillez sélectionner Stirling PDF dans vos paramètres système"
|
||
title = "Paramètres ouverts"
|
||
|
||
[defaultApp.success]
|
||
message = "Stirling PDF est désormais votre éditeur PDF par défaut"
|
||
title = "Application par défaut définie"
|
||
|
||
[desktopUpdate]
|
||
downloading = "Téléchargement de la mise à jour..."
|
||
installing = "Installation de la mise à jour..."
|
||
installingWarning = "L’application se fermera automatiquement pour terminer l’installation."
|
||
installNow = "Installer maintenant"
|
||
readyToRestart = "Mise à jour prête"
|
||
restartMessage = "La mise à jour a été installée. Redémarrez l’application pour terminer."
|
||
restartNow = "Redémarrer maintenant"
|
||
updateFailed = "Échec de la mise à jour"
|
||
updateFailedMessage = "Échec du téléchargement ou de l’installation de la mise à jour."
|
||
|
||
[desktopUpdate.blocked]
|
||
docsLink = "Voir la documentation d’installation"
|
||
message = "Stirling-PDF n’a pas l’autorisation de se mettre à jour sur cette machine."
|
||
title = "Autorisations administrateur requises"
|
||
|
||
[devAirgapped]
|
||
tags = "air-gapped,offline,isolated,no internet,disconnected,secure,network isolation,standalone"
|
||
|
||
[devApi]
|
||
tags = "API,development,documentation,developer,REST,integration,endpoints,programmatic,automation,scripting"
|
||
|
||
[devFolderScanning]
|
||
tags = "automation,folder,scanning,watch folder,hot folder,automatic processing,batch,monitor folder,auto process,folder monitoring"
|
||
|
||
[devSsoGuide]
|
||
tags = "SSO,single sign-on,authentication,SAML,OAuth,OIDC,login,enterprise,identity provider,IdP"
|
||
|
||
[dropdownList]
|
||
noItems = "No items available"
|
||
noResults = "No results found"
|
||
searchPlaceholder = "Rechercher..."
|
||
selectLanguages = "Select languages"
|
||
selectOption = "Select an option"
|
||
|
||
[editableSecretField]
|
||
edit = "Modifier"
|
||
editSecretValue = "Modifier la valeur secrète"
|
||
|
||
[editTableOfContents]
|
||
submit = "Appliquer la table des matières"
|
||
tags = "bookmarks,contents,edit,table of contents,TOC,outline,navigation,chapters,sections,add bookmarks,edit bookmarks,PDF outline"
|
||
|
||
[editTableOfContents.actions]
|
||
clipboardUnavailable = "L’accès au presse-papiers n’est pas disponible dans ce navigateur."
|
||
export = "Exporter les signets"
|
||
exportClipboard = "Copier le JSON dans le presse-papiers"
|
||
exportJson = "Télécharger le JSON"
|
||
importClipboard = "Coller le JSON depuis le presse-papiers"
|
||
importJson = "Importer JSON"
|
||
loadFromPdf = "Charger depuis le PDF sélectionné"
|
||
noFile = "Sélectionnez un PDF pour extraire les signets existants."
|
||
selectedFile = "Chargé depuis {{file}}"
|
||
source = "Charger les signets"
|
||
|
||
[editTableOfContents.editor]
|
||
addTopLevel = "Ajouter un signet de premier niveau"
|
||
childBadge = "Enfant"
|
||
confirmRemove = "Supprimer ce signet et tous ses enfants ?"
|
||
defaultChildTitle = "Signet enfant"
|
||
defaultSiblingTitle = "Nouveau signet"
|
||
defaultTitle = "Nouveau signet"
|
||
description = "Ajoutez, imbriquez et réorganisez des signets pour créer le plan de votre PDF."
|
||
heading = "Éditeur de signets"
|
||
pagePreview = "Page {{page}}"
|
||
untitled = "Signet sans titre"
|
||
|
||
[editTableOfContents.editor.actions]
|
||
addChild = "Ajouter un signet enfant"
|
||
addSibling = "Ajouter un signet frère"
|
||
remove = "Supprimer le signet"
|
||
toggle = "Afficher/Masquer les enfants"
|
||
|
||
[editTableOfContents.editor.empty]
|
||
action = "Ajouter un premier signet"
|
||
description = "Importez des signets existants ou commencez par ajouter votre premier élément."
|
||
title = "Aucun signet pour l’instant"
|
||
|
||
[editTableOfContents.editor.field]
|
||
page = "Numéro de page cible"
|
||
title = "Titre du signet"
|
||
|
||
[editTableOfContents.error]
|
||
failed = "Échec de la mise à jour de la table des matières"
|
||
|
||
[editTableOfContents.info]
|
||
line1 = "Chaque signet doit avoir un titre descriptif et la page à ouvrir."
|
||
line2 = "Utilisez des signets enfants pour construire une hiérarchie de chapitres, sections ou sous-sections."
|
||
line3 = "Importez des signets depuis le PDF sélectionné ou un fichier JSON pour gagner du temps."
|
||
|
||
[editTableOfContents.messages]
|
||
copied = "Copié dans le presse-papiers"
|
||
copiedBody = "JSON des signets copié avec succès."
|
||
copyFailed = "Échec de la copie"
|
||
exported = "Téléchargement du JSON prêt"
|
||
imported = "Signets importés"
|
||
importedBody = "Votre plan JSON a remplacé le contenu actuel de l’éditeur."
|
||
importedClipboard = "Les données du presse-papiers ont remplacé la liste de signets actuelle."
|
||
invalidJson = "Structure JSON invalide"
|
||
invalidJsonBody = "Veuillez fournir un fichier JSON de signets valide et réessayer."
|
||
loadedBody = "Les signets existants du PDF ont été chargés dans l’éditeur."
|
||
loadedTitle = "Signets extraits"
|
||
loadFailed = "Impossible d’extraire les signets du PDF sélectionné."
|
||
noBookmarks = "Aucun signet trouvé dans le PDF sélectionné."
|
||
|
||
[editTableOfContents.results]
|
||
subtitle = "Téléchargez le fichier traité ou annulez l’opération ci-dessous."
|
||
title = "PDF mis à jour avec signets"
|
||
|
||
[editTableOfContents.settings]
|
||
replaceExisting = "Remplacer les signets existants (décocher pour ajouter à la suite)"
|
||
replaceExistingHint = "Lorsqu’il est désactivé, le nouveau plan est ajouté après les signets actuels."
|
||
title = "Signets et plan"
|
||
|
||
[editTableOfContents.workbench]
|
||
changeFile = "Changer de PDF"
|
||
filePrompt = "Choisissez un PDF de votre bibliothèque ou téléversez-en un nouveau pour commencer."
|
||
selectFile = "Sélectionner un PDF"
|
||
subtitle = "Importez des signets, créez des hiérarchies et appliquez le plan sans panneaux latéraux encombrés."
|
||
|
||
[editTableOfContents.workbench.empty]
|
||
description = "Sélectionnez l’outil Modifier la table des matières pour charger son espace de travail."
|
||
title = "Ouvrez l’outil pour commencer l’édition"
|
||
|
||
[emptyFilesState]
|
||
upload = "Téléverser"
|
||
|
||
[encryptedPdfUnlock]
|
||
description = "Ce PDF est protégé par mot de passe. Saisissez le mot de passe pour continuer à travailler dessus."
|
||
emptyResponse = "La suppression du mot de passe n’a produit aucun fichier."
|
||
incorrectPassword = "Mot de passe incorrect"
|
||
missingFile = "Le fichier sélectionné n’est plus disponible."
|
||
required = "Entrez le mot de passe pour continuer."
|
||
skip = "Passer pour l’instant"
|
||
successBody = "Mot de passe supprimé avec succès."
|
||
successBodyWithName = "Mot de passe supprimé de {{fileName}}"
|
||
successTitle = "Mot de passe supprimé"
|
||
title = "Supprimer le mot de passe pour continuer"
|
||
unlock = "Déverrouiller et continuer"
|
||
unlockAll = "Utiliser pour tous ({{count}})"
|
||
unlockAllPartialFail = "Mot de passe incorrect pour : {{names}}"
|
||
unlockAllSuccess_one = "Unlocked {{count}} file."
|
||
unlockAllSuccess_other = "Unlocked {{count}} files."
|
||
unlockPrompt = "Déverrouillez le PDF pour continuer"
|
||
viewerLocked = "Ce PDF est protégé par mot de passe"
|
||
viewerUnlock = "Déverrouiller"
|
||
|
||
[encryptedPdfUnlock.password]
|
||
label = "Mot de passe PDF"
|
||
placeholder = "Entrez le mot de passe du PDF"
|
||
|
||
[endpointStatistics]
|
||
title = "Statistiques des points de terminaison"
|
||
|
||
[error]
|
||
_value = "Erreur"
|
||
dismissAllErrors = "Ignorer toutes les erreurs"
|
||
generic = "Une erreur s’est produite"
|
||
|
||
[extractImages]
|
||
allowDuplicates = "Enregistrer les images dupliquées"
|
||
selectText = "Format d'image dans lequel convertir les images extraites"
|
||
submit = "Extraire"
|
||
tags = "image,photo,save,archive,zip,capture,grab"
|
||
title = "Extraire les images"
|
||
|
||
[extractImages.error]
|
||
failed = "Une erreur est survenue lors de l’extraction des images du PDF."
|
||
|
||
[extractImages.settings]
|
||
title = "Paramètres"
|
||
|
||
[extractPage]
|
||
tags = "extraire,extract"
|
||
|
||
[extractPages]
|
||
submit = "Extraire des pages"
|
||
tags = "pull,select,copy,extract,extract pages,get pages,pull out,save pages,export pages,copy pages,select pages,specific pages"
|
||
title = "Extraire des pages"
|
||
|
||
[extractPages.error]
|
||
failed = "Échec de l’extraction des pages"
|
||
|
||
[extractPages.pageNumbers]
|
||
label = "Pages à extraire"
|
||
placeholder = "p. ex., 1,3,5-8 ou odd & 1-10"
|
||
|
||
[extractPages.results]
|
||
title = "Pages extraites"
|
||
|
||
[extractPages.settings]
|
||
title = "Paramètres"
|
||
|
||
[extractPages.tooltip]
|
||
description = "Extrait les pages sélectionnées dans un nouveau PDF, en conservant l’ordre."
|
||
|
||
[fileCard]
|
||
openInFileEditor = "Ouvrir dans l’éditeur de fichiers"
|
||
viewInViewer = "Afficher dans la visionneuse"
|
||
|
||
[fileDropdownMenu]
|
||
closeFile = "Fermer le fichier"
|
||
|
||
[fileEditor]
|
||
addFiles = "Ajouter des fichiers"
|
||
|
||
[fileManager]
|
||
active = "Actif"
|
||
addToUpload = "Ajouter au téléversement"
|
||
changesNotUploaded = "Modifications non téléversées"
|
||
clearAll = "Tout effacer"
|
||
clearSelection = "Effacer la sélection"
|
||
closeAllFiles = "Fermer tous les fichiers"
|
||
closeFile = "Fermer le fichier"
|
||
cloudFile = "Fichier cloud"
|
||
copyCreated = "Copie enregistrée sur cet appareil."
|
||
copyFailed = "Impossible de créer une copie."
|
||
delete = "Supprimer"
|
||
deleteAll = "Tout supprimer"
|
||
deleteSelected = "Supprimer la sélection"
|
||
deselectAll = "Tout déselectionner"
|
||
details = "Détails du fichier"
|
||
download = "Télécharger"
|
||
downloadSelected = "Télécharger la sélection"
|
||
dropFilesHere = "Déposez les fichiers ici"
|
||
fileFormat = "Format"
|
||
fileHistory = "Historique du fichier"
|
||
fileName = "Nom"
|
||
fileSize = "Taille"
|
||
filesSelected = "fichiers sélectionnés"
|
||
filesStored = "fichiers stockés"
|
||
fileVersion = "Version"
|
||
filterAll = "Tous"
|
||
filterLocal = "Local"
|
||
filterSharedByMe = "Partagé par moi"
|
||
filterSharedWithMe = "Partagé avec moi"
|
||
googleDrive = "Google Drive"
|
||
googleDriveNotAvailable = "Intégration Google Drive non disponible"
|
||
googleDriveShort = "Drive"
|
||
hideHistory = "Masquer l’historique"
|
||
lastModified = "Dernière modification"
|
||
lastSynced = "Dernière synchronisation"
|
||
leaveShare = "Retirer de ma liste"
|
||
leaveShareFailed = "Impossible de retirer le fichier partagé."
|
||
leaveShareSuccess = "Retiré de votre liste de partages."
|
||
loadingFiles = "Chargement des fichiers..."
|
||
localOnly = "Local uniquement"
|
||
makeCopy = "Faire une copie"
|
||
mobileShort = "Mobile"
|
||
mobileUpload = "Téléversement mobile"
|
||
mobileUploadNotAvailable = "Téléversement mobile non activé"
|
||
moreOptions = "Plus d’options"
|
||
myFiles = "Mes fichiers"
|
||
nextFile = "Fichier suivant"
|
||
noFiles = "Aucun fichier disponible"
|
||
noFilesFound = "Aucun fichier correspondant à votre recherche"
|
||
noRecentFiles = "Aucun fichier récent trouvé"
|
||
openFile = "Ouvrir le fichier"
|
||
openFiles = "Ouvrir des fichiers"
|
||
openInFileEditor = "Ouvrir dans l’éditeur de fichiers"
|
||
openInPageEditor = "Ouvrir dans l’Éditeur de pages"
|
||
owner = "Propriétaire"
|
||
ownerUnknown = "Inconnu"
|
||
previousFile = "Fichier précédent"
|
||
recent = "Récents"
|
||
removeBoth = "Supprimer des deux"
|
||
removeFilePrompt = "Ce fichier est enregistré sur cet appareil et sur votre serveur. D’où souhaitez-vous le supprimer ?"
|
||
removeFileTitle = "Supprimer le fichier"
|
||
removeLocalOnly = "Cet appareil uniquement"
|
||
removeServerFailed = "Impossible de supprimer le fichier du serveur."
|
||
removeServerOnly = "Serveur uniquement"
|
||
removeServerOnlyPrompt = "Ce fichier est stocké uniquement sur votre serveur. Souhaitez-vous le supprimer du serveur ?"
|
||
removeServerSuccess = "Supprimé du serveur."
|
||
removeSharedPrompt = "Ce fichier est partagé avec vous. Vous pouvez le retirer de cet appareil ou de votre liste de partages."
|
||
removeSharedServerOnlyBlockedPrompt = "Ce fichier est partagé avec vous et stocké uniquement sur le serveur."
|
||
removeSharedServerOnlyPrompt = "Ce fichier est partagé avec vous et stocké uniquement sur le serveur. Le retirer de votre liste ?"
|
||
restore = "Restaurer"
|
||
saveSelected = "Enregistrer la sélection"
|
||
searchFiles = "Rechercher des fichiers…"
|
||
selectAll = "Tout sélectionner"
|
||
selectedCount = "{{count}} sélectionné(s)"
|
||
share = "Partager"
|
||
shared = "Partagé"
|
||
sharedByYou = "Partagé par vous"
|
||
sharedEditNoticeBody = "Vous n’avez pas de droits d’édition sur la version serveur de ce fichier. Toute modification sera enregistrée comme copie locale."
|
||
sharedEditNoticeConfirm = "Compris"
|
||
sharedEditNoticeTitle = "Copie serveur en lecture seule"
|
||
sharedWithYou = "Partagé avec vous"
|
||
shareSelected = "Partager la sélection"
|
||
sharing = "Partage"
|
||
showAll = "Tout afficher"
|
||
showHistory = "Afficher l’historique"
|
||
sortBy = "Sort files"
|
||
sortByDate = "Trier par date"
|
||
sortByName = "Trier par nom"
|
||
sortBySize = "Trier par taille"
|
||
storage = "Stockage"
|
||
storageState = "Stockage"
|
||
storageUsed = "Storage used"
|
||
synced = "Synchronisé"
|
||
title = "Téléverser des fichiers PDF"
|
||
toolChain = "Outils appliqués"
|
||
unsupported = "Non pris en charge"
|
||
unzip = "Décompresser"
|
||
updateOnServer = "Mettre à jour sur le serveur"
|
||
uploadSelected = "Téléverser la sélection"
|
||
uploadToServer = "Téléverser sur le serveur"
|
||
versionHistory = "Version history"
|
||
|
||
[files]
|
||
addFiles = "Ajouter des fichiers"
|
||
created = "Créé"
|
||
selectFromWorkbench = "Sélectionnez des fichiers depuis l’espace de travail ou "
|
||
selectMultipleFromWorkbench = "Sélectionnez au moins {{count}} fichiers depuis l’espace de travail ou "
|
||
size = "Taille du fichier"
|
||
title = "Fichiers"
|
||
upload = "Téléverser"
|
||
uploadFiles = "Téléverser des fichiers"
|
||
|
||
[fileSelectorPicker]
|
||
empty = "Aucun fichier disponible"
|
||
placeholder = "Sélectionner un fichier"
|
||
search = "Filtrer les fichiers…"
|
||
tabListLabel = "Fichiers enregistrés, espace de travail, téléversement"
|
||
upload = "Téléverser depuis l’ordinateur"
|
||
|
||
[fileSelectorPicker.sort]
|
||
dateAsc = "Plus anciens en premier"
|
||
dateDesc = "Plus récents en premier"
|
||
dateLabel = "Récents"
|
||
nameAsc = "A à Z"
|
||
nameDesc = "Z à A"
|
||
nameLabel = "A–Z"
|
||
|
||
[fileSelectorPicker.tabs]
|
||
saved = "Fichiers enregistrés"
|
||
upload = "Téléversement"
|
||
workbench = "Espace de travail"
|
||
|
||
[fileSidebar]
|
||
addFiles = "Ajouter des fichiers"
|
||
addingFiles = "Ajout de fichiers…"
|
||
collapse = "Réduire la barre latérale"
|
||
customizeGroups = "Personnaliser les groupes"
|
||
dataLostBody = "This browser lost this file's contents. Upload it again to keep working with it."
|
||
dataLostTitle = "File data is unavailable"
|
||
downloadFailed = "Download failed"
|
||
dropHint = "Ouvrez des fichiers pour commencer"
|
||
dropToAdd = "Drop files to add"
|
||
duplicateFailed = "Could not duplicate file"
|
||
expand = "Développer la barre latérale"
|
||
googleDrive = "Google Drive"
|
||
googleDriveDisabled = "Google Drive n’est pas configuré"
|
||
leaveMyFiles = "Quitter Mes fichiers"
|
||
library = "Bibliothèque PDF"
|
||
myFiles = "Mes fichiers"
|
||
noFiles = "Aucun fichier pour le moment"
|
||
openFileManager = "Ouvrir le gestionnaire de fichiers"
|
||
openFromComputer = "Ouvrir depuis l’ordinateur"
|
||
openSettings = "Ouvrir les paramètres"
|
||
other = "Autre"
|
||
recent = "Récent"
|
||
viewAll = "Voir les {{count}} fichiers"
|
||
|
||
[fileSidebar.fileItem]
|
||
closeViewer = "Fermer la visionneuse"
|
||
dataLost = "Data lost"
|
||
dataLostTooltip = "This browser lost this file's contents. Upload it again to keep working with it."
|
||
delete = "Delete"
|
||
duplicate = "Duplicate"
|
||
moreActions = "More actions"
|
||
openInViewer = "Ouvrir dans la visionneuse"
|
||
rename = "Rename"
|
||
savedToServer = "Saved to server"
|
||
updateOnServer = "Update on server"
|
||
uploadToServer = "Upload to server"
|
||
versionHistory = "Version history"
|
||
|
||
[fileSidebar.groupsModal]
|
||
done = "Terminé"
|
||
reset = "Réinitialiser aux valeurs par défaut"
|
||
subtitle = "Regroupez vos fichiers dans des catégories parentes. Ajoutez des étiquettes existantes ou nouvelles à une catégorie, renommez-la ou créez la vôtre. Les fichiers qui ne figurent dans aucune de vos catégories apparaissent sous « Autre »."
|
||
title = "Catégories de la barre latérale"
|
||
|
||
[fileSidebar.rename]
|
||
cancel = "Cancel"
|
||
error = "Could not rename the file."
|
||
illegalCharacters = "A file name can't contain \\ / : * ? \" < > |"
|
||
label = "File name"
|
||
save = "Rename"
|
||
title = "Rename file"
|
||
|
||
[filesPage]
|
||
addToWorkspace = "Ajouter à l’espace de travail"
|
||
addToWorkspaceCount = "Ajouter {{count}} à l’espace de travail"
|
||
allFiles = "Tous les fichiers"
|
||
back = "Retour"
|
||
backToFolder = "Retour à {{folder}}"
|
||
backToMyFiles = "Retour à Mes fichiers"
|
||
breadcrumbs = "Chemin du dossier"
|
||
bulkActions = "Actions"
|
||
cancel = "Annuler"
|
||
classification = "Classification"
|
||
clearSelection = "Effacer la sélection"
|
||
closeDetails = "Fermer les détails"
|
||
create = "Créer"
|
||
cycleBlocked = "Impossible de déplacer un dossier dans l’un de ses sous-dossiers."
|
||
delete = "Supprimer"
|
||
deleteFilesChoiceBody = "Some of these files are saved both on this device and in the cloud. Where should they be deleted from?"
|
||
deleteFilesCloudBody_one = "Delete 1 file from the cloud? This cannot be undone."
|
||
deleteFilesCloudBody_other = "Delete {{count}} files from the cloud? This cannot be undone."
|
||
deleteFilesError = "Could not delete. Try again."
|
||
deleteFilesLocalBody_one = "Delete 1 file from this device? This cannot be undone."
|
||
deleteFilesLocalBody_other = "Delete {{count}} files from this device? This cannot be undone."
|
||
deleteFilesTitle_one = "Delete 1 file?"
|
||
deleteFilesTitle_other = "Delete {{count}} files?"
|
||
deleteFolder = "Supprimer le dossier"
|
||
deleteFolderBody = "Supprimer le dossier « {{name}} » ?"
|
||
deleteFolderContents_one = "Also delete {{count}} file inside the folder"
|
||
deleteFolderContents_other = "Also delete {{count}} files inside the folder"
|
||
deleteFolderContentsWarning = "Les fichiers seront définitivement supprimés et ne pourront pas être récupérés."
|
||
deleteFolderError = "Impossible de supprimer le dossier. Réessayez."
|
||
deleteFolderKeepHint = "Les fichiers à l’intérieur seront déplacés vers Tous les fichiers."
|
||
deleteFolderTitle = "Supprimer le dossier ?"
|
||
deselectAll = "Effacer la sélection"
|
||
details = "Détails"
|
||
detailsCount_one = "{{count}} file selected"
|
||
detailsCount_other = "{{count}} files selected"
|
||
dismissError = "Fermer"
|
||
download = "Télécharger"
|
||
downloadAll = "Tout télécharger"
|
||
downloadVersion = "Télécharger cette version"
|
||
dropOverlay = "Déposez les fichiers pour téléverser"
|
||
dropOverlaySub = "Les fichiers commencent en Local. Utilisez « Déplacer vers » ou « Enregistrer dans le cloud » pour les organiser dans un dossier."
|
||
duplicate = "Duplicate"
|
||
file = "Fichier"
|
||
fileInfo = "File info"
|
||
fileMenu = "Actions sur le fichier"
|
||
folder = "Dossier"
|
||
folderItems_one = "{{count}} item"
|
||
folderItems_other = "{{count}} items"
|
||
folderMenu = "Actions sur le dossier"
|
||
inPath = "dans {{path}}"
|
||
inWorkspace = "Ouvrir"
|
||
inWorkspaceAria = "Déjà dans l’espace de travail"
|
||
loading = "Chargement…"
|
||
localFoldersUnavailable = "Les dossiers sont réservés au Cloud - enregistrez un fichier dans le cloud pour l’organiser."
|
||
moveSkippedRemote_one = "{{count}} file couldn't be moved on the server (no permission or already deleted)."
|
||
moveSkippedRemote_other = "{{count}} files couldn't be moved on the server (no permission or already deleted)."
|
||
moveTo = "Déplacer vers…"
|
||
myFiles = "Mes fichiers"
|
||
newFolder = "Nouveau dossier"
|
||
newFolderStorageDisabled = "Le stockage des dossiers sur le serveur n’est pas activé. Demandez à votre administrateur de l’activer."
|
||
newFolderTabUnavailable = "Passez à Tous ou Cloud pour créer des dossiers."
|
||
offlineNoFolderEdits = "Synchronisation des dossiers serveur indisponible - les modifications des dossiers sont désactivées. Vérifiez votre connexion et la configuration du stockage."
|
||
open = "Ouvrir"
|
||
openVersionInWorkspace = "Ouvrir dans l’espace de travail"
|
||
originFilter = "Filtrer par source"
|
||
refresh = "Actualiser depuis le serveur"
|
||
remove = "Supprimer"
|
||
removeVersion = "Supprimer cette version"
|
||
rename = "Renommer"
|
||
renamed = "Renommé"
|
||
renameFolder = "Renommer le dossier"
|
||
resizeFolderTree = "Redimensionner l’arborescence des dossiers (touches fléchées, Maj pour des pas plus grands ; double-clic pour ajuster automatiquement)"
|
||
save = "Enregistrer"
|
||
saveToServer = "Enregistrer sur le serveur"
|
||
saveToServerDisabledHint = "L’enregistrement sur le serveur n’est pas activé sur ce serveur. Demandez à votre administrateur de l’activer."
|
||
selectAll = "Tout sélectionner"
|
||
selectAllHint = "Cliquez pour tout sélectionner. Astuce : maintenez Ctrl (ou Cmd) pour ajouter des fichiers un par un, Maj pour sélectionner une plage."
|
||
selectedCount = "{{count}} sélectionné(s)"
|
||
selectFile = "Sélectionner le fichier {{name}}"
|
||
shareDisabledHint = "Le partage de fichiers n’est pas activé sur ce serveur. Demandez à votre administrateur de l’activer."
|
||
shareManage = "Gérer le partage"
|
||
showDetails = "Afficher les détails"
|
||
signInRequired = "Sign in to use cloud storage."
|
||
summary_one = "{{count}} item"
|
||
summary_other = "{{count}} items"
|
||
tree = "Dossiers"
|
||
upload = "Téléverser"
|
||
uploadedToLocal = "Les fichiers téléversés commencent en Local. Utilisez « Enregistrer dans le cloud » pour les placer dans un dossier."
|
||
uploadFromMobile = "Téléverser depuis un mobile"
|
||
versionActions = "Actions sur la version"
|
||
versionCollapse = "Réduire les versions intermédiaires"
|
||
versionHistory = "Version history"
|
||
versionHistoryEmpty = "This file has no earlier versions."
|
||
versionOrigin = "Téléversement d’origine"
|
||
versionsCount = "{{count}} versions"
|
||
versionShowHidden = "Afficher {{count}} versions antérieures"
|
||
viewVersionHistory = "Version journey ({{count}})"
|
||
|
||
[filesPage.appearance]
|
||
colour = "Couleur"
|
||
icon = "Icône"
|
||
title = "Apparence"
|
||
useColour = "Utiliser la couleur {{c}}"
|
||
|
||
[filesPage.column]
|
||
modified = "Modifié"
|
||
name = "Nom"
|
||
size = "Taille"
|
||
type = "Type"
|
||
|
||
[filesPage.deleteScope]
|
||
cloud = "Cloud only"
|
||
cloudHint = "Deletes from the server. A copy stays on this device."
|
||
device = "This device only"
|
||
deviceHint = "Removes the local copy. The cloud copy is kept."
|
||
everywhere = "Everywhere"
|
||
everywhereHint = "Deletes the file from this device and the cloud."
|
||
|
||
[filesPage.empty]
|
||
hint = "Déposez des PDF n’importe où sur cette page pour téléverser, ou utilisez le bouton Nouveau dossier pour organiser vos fichiers."
|
||
newFolderCta = "Créer un dossier"
|
||
title = "Ce dossier est vide"
|
||
uploadCta = "Téléverser des fichiers"
|
||
|
||
[filesPage.empty.cloud]
|
||
hint = "Téléversez un fichier pour commencer, ou créez un dossier pour organiser."
|
||
offlineHint = "Reconnectez-vous pour charger votre bibliothèque cloud."
|
||
offlineTitle = "Aucun fichier cloud en cache"
|
||
title = "Pas encore de fichiers cloud"
|
||
|
||
[filesPage.empty.local]
|
||
hint = "Les fichiers enregistrés sans téléversement restent ici. Déposez un fichier pour en ajouter un."
|
||
title = "Aucun fichier local uniquement"
|
||
|
||
[filesPage.empty.noResults]
|
||
hint = "No files in this folder match your filter. Try a different term or clear the filter."
|
||
title = "No matching files"
|
||
|
||
[filesPage.empty.recent]
|
||
hint = "Les fichiers que vous ouvrez ou modifiez apparaîtront ici."
|
||
title = "Aucune modification pour l’instant"
|
||
|
||
[filesPage.empty.shared]
|
||
hint = "Quand quelqu’un partage un fichier via un lien, il apparaît ici."
|
||
title = "Rien n’est partagé avec vous"
|
||
|
||
[filesPage.empty.sharedByMe]
|
||
hint = "Créez un lien de partage ou invitez un coéquipier depuis l’un de vos fichiers pour le voir ici."
|
||
title = "Vous n’avez encore partagé aucun fichier"
|
||
|
||
[filesPage.error]
|
||
actionFailed = "Impossible de {{action}}."
|
||
actionFailedDetail = "Impossible de {{action}} : {{message}}"
|
||
cloudDeleteFailed_one = "Couldn't delete 1 file from the cloud."
|
||
cloudDeleteFailed_other = "Couldn't delete {{count}} files from the cloud."
|
||
deleteFolderFailed = "Impossible de supprimer le dossier."
|
||
deleteFolderFailedDetail = "Impossible de supprimer le dossier : {{message}}"
|
||
downloadFailed = "Could not download the file."
|
||
duplicateFailed = "Could not duplicate the file."
|
||
folderAppearanceFailed = "Impossible de mettre à jour l’apparence du dossier."
|
||
folderAppearanceFailedDetail = "Impossible de mettre à jour l’apparence du dossier : {{message}}"
|
||
moveFilesFailed = "Impossible de déplacer les fichiers."
|
||
moveFilesFailedDetail = "Impossible de déplacer les fichiers : {{message}}"
|
||
moveFolderFailed = "Impossible de déplacer le dossier."
|
||
moveFolderFailedDetail = "Impossible de déplacer le dossier : {{message}}"
|
||
removeFilesFailed = "Impossible de supprimer les fichiers."
|
||
removeFilesFailedDetail = "Impossible de supprimer les fichiers : {{message}}"
|
||
uploadFilesFailed = "Impossible de téléverser les fichiers."
|
||
uploadFilesFailedDetail = "Impossible de téléverser les fichiers : {{message}}"
|
||
|
||
[filesPage.field]
|
||
added = "Ajouté"
|
||
count = "Fichiers"
|
||
folder = "Dossier"
|
||
labels = "Étiquettes"
|
||
modified = "Modifié"
|
||
size = "Taille"
|
||
totalSize = "Taille totale"
|
||
type = "Type"
|
||
versionHistory = "Parcours de version"
|
||
|
||
[filesPage.filters]
|
||
activeCount = "{{count}} filtres actifs"
|
||
clearAll = "Effacer les filtres"
|
||
label = "Filtres"
|
||
|
||
[filesPage.folderName]
|
||
cancel = "Annuler"
|
||
error = "Impossible d’enregistrer le dossier. Réessayez."
|
||
label = "Nom du dossier"
|
||
placeholder = "Nom du dossier"
|
||
|
||
[filesPage.moveDialog]
|
||
cancel = "Annuler"
|
||
confirm = "Déplacer ici"
|
||
error = "Impossible de déplacer. Réessayez."
|
||
hint = "Choisissez un dossier de destination. Astuce : vous pouvez aussi glisser-déposer des fichiers sur les dossiers dans l’arborescence à gauche."
|
||
newFolderCancel = "Annuler"
|
||
newFolderCreate = "Créer"
|
||
newFolderError = "Impossible de créer le dossier. Réessayez."
|
||
newFolderLabel = "Nom du nouveau dossier"
|
||
newFolderPlaceholder = "Nom du dossier"
|
||
newFolderToggle = "Créer un nouveau dossier…"
|
||
title = "Déplacer vers le dossier"
|
||
|
||
[filesPage.origin]
|
||
all = "Toutes les sources"
|
||
cloud = "Cloud"
|
||
cloudHint = "Stocké sur le serveur Stirling"
|
||
local = "Local"
|
||
localHint = "Stocké uniquement dans ce navigateur"
|
||
shared = "Partagé"
|
||
sharedHint = "Partagé avec vous via un lien"
|
||
|
||
[filesPage.search]
|
||
clear = "Clear filter"
|
||
label = "Filter files by name"
|
||
placeholder = "Filter files…"
|
||
|
||
[filesPage.sort]
|
||
label = "Trier les fichiers"
|
||
modifiedAsc = "Plus ancien d’abord"
|
||
modifiedDesc = "Plus récent d’abord"
|
||
nameAsc = "Nom A→Z"
|
||
nameDesc = "Nom Z→A"
|
||
sizeAsc = "Plus petit d’abord"
|
||
sizeDesc = "Plus grand d’abord"
|
||
|
||
[filesPage.syncError]
|
||
client = "Échec de la synchronisation du dossier."
|
||
network = "Impossible d’atteindre le serveur."
|
||
server = "Erreur serveur lors de la synchronisation du dossier."
|
||
|
||
[filesPage.tabName]
|
||
local = "Local"
|
||
recent = "Récents"
|
||
shared = "Partagés avec moi"
|
||
sharedByMe = "Partagés par moi"
|
||
|
||
[filesPage.tabs]
|
||
all = "Tous"
|
||
ariaLabel = "Vues de fichiers"
|
||
recent = "Récents"
|
||
shared = "Partagés avec moi"
|
||
sharedByMe = "Partagés par moi"
|
||
|
||
[filesPage.treeMenu]
|
||
actions = "Actions sur le dossier {{name}}"
|
||
delete = "Supprimer le dossier"
|
||
newSubfolder = "Nouveau sous-dossier"
|
||
rename = "Renommer"
|
||
|
||
[filesPage.typeFilter]
|
||
allTypes = "Tous les types"
|
||
label = "Filtrer par type"
|
||
|
||
[filesPage.viewMode]
|
||
grid = "Vue en grille"
|
||
label = "Mode d’affichage"
|
||
list = "Vue en liste"
|
||
|
||
[fileToPDF]
|
||
tags = "convertion,transformation,format,document,image,slide,texte,conversion,office,docs,word,excel,powerpoint"
|
||
title = "Fichier en PDF"
|
||
|
||
[fileUpload]
|
||
dropFilesHere = "Déposez des fichiers ici ou cliquez sur le bouton de téléversement"
|
||
dropFilesHereOpen = "Déposez des fichiers ici ou cliquez sur le bouton Ouvrir"
|
||
filesAvailable = "fichiers disponibles"
|
||
loadFromStorage = "Charger depuis le stockage"
|
||
noFilesInStorage = "Aucun fichier disponible dans le stockage. Téléversez d’abord des fichiers."
|
||
noFilesInStorageOpen = "Aucun fichier disponible dans le stockage. Ouvrez d’abord des fichiers."
|
||
open = "Ouvrir"
|
||
openFile = "Ouvrir un fichier"
|
||
openFiles = "Ouvrir des fichiers"
|
||
selectFile = "Select {{name}}"
|
||
selectFromStorage = "Sélectionner depuis le stockage"
|
||
upload = "Téléverser"
|
||
uploadFile = "Téléverser un fichier"
|
||
uploadFiles = "Téléverser des fichiers"
|
||
|
||
[firstLogin]
|
||
allFieldsRequired = "Tous les champs sont obligatoires"
|
||
changePassword = "Changer le mot de passe"
|
||
confirmPassword = "Confirmez le nouveau mot de passe"
|
||
currentPassword = "Mot de passe actuel"
|
||
enterCurrentPassword = "Saisissez votre mot de passe actuel"
|
||
enterNewPassword = "Saisissez un nouveau mot de passe (8 caractères minimum)"
|
||
error = "Erreur"
|
||
loggedInAs = "Connecté en tant que"
|
||
newPassword = "Nouveau mot de passe"
|
||
passwordChangedSuccess = "Mot de passe modifié avec succès ! Veuillez vous reconnecter."
|
||
passwordChangeFailed = "Échec de la modification du mot de passe. Veuillez vérifier votre mot de passe actuel."
|
||
passwordMustBeDifferent = "Le nouveau mot de passe doit être différent du mot de passe actuel"
|
||
passwordsDoNotMatch = "Les nouveaux mots de passe ne correspondent pas"
|
||
passwordTooShort = "Le mot de passe doit comporter au moins 8 caractères"
|
||
reEnterNewPassword = "Saisissez à nouveau le nouveau mot de passe"
|
||
title = "Première connexion"
|
||
welcomeMessage = "Pour des raisons de sécurité, vous devez changer votre mot de passe lors de votre première connexion."
|
||
welcomeTitle = "Bienvenue !"
|
||
|
||
[flatten]
|
||
submit = "Rendre inerte"
|
||
tags = "simplify,remove,interactive,flatten,flatten form,remove form fields,make static,finalize form,lock form,disable editing,convert to image,non-editable"
|
||
title = "Rendre inerte"
|
||
|
||
[flatten.error]
|
||
failed = "Une erreur est survenue lors de l’aplatissement du PDF."
|
||
|
||
[flatten.options]
|
||
stepTitle = "Options d’aplatissement"
|
||
|
||
[flatten.options.flattenOnlyForms]
|
||
desc = "Aplatir uniquement les champs de formulaire, en laissant les autres éléments interactifs intacts"
|
||
label = "Aplatir uniquement les formulaires"
|
||
|
||
[flatten.renderDpi]
|
||
help = "Laissez vide pour utiliser la valeur par défaut du système. Un DPI plus élevé améliore la netteté mais augmente le temps de traitement et la taille du fichier."
|
||
label = "DPI de rendu (optionnel, 150 DPI recommandé)"
|
||
placeholder = "ex. 150"
|
||
|
||
[flatten.results]
|
||
title = "Résultats de l’aplatissement"
|
||
|
||
[flatten.tooltip.description]
|
||
bullet1 = "Les zones de texte deviennent du texte normal (non modifiable)"
|
||
bullet2 = "Les cases à cocher et boutons deviennent des images"
|
||
bullet3 = "Idéal pour les versions finales que vous ne voulez pas modifier"
|
||
bullet4 = "Assure une apparence cohérente sur tous les appareils"
|
||
text = "L’aplatissement rend votre PDF non modifiable en transformant les formulaires remplissables et les boutons en texte et images ordinaires. Le PDF aura exactement le même aspect, mais personne ne pourra plus modifier ou remplir les formulaires. Parfait pour partager des formulaires complétés, créer des documents finaux pour archivage, ou garantir un rendu identique partout."
|
||
title = "Que fait l’aplatissement ?"
|
||
|
||
[flatten.tooltip.formsOnly]
|
||
bullet1 = "Les formulaires deviennent non modifiables"
|
||
bullet2 = "Les liens fonctionnent toujours au clic"
|
||
bullet3 = "Les commentaires et notes restent visibles"
|
||
bullet4 = "Les signets aident toujours à naviguer"
|
||
text = "Cette option supprime uniquement la possibilité de remplir des formulaires, mais conserve les autres fonctionnalités comme les liens cliquables, les signets et les commentaires."
|
||
title = "Que signifie « Aplatir uniquement les formulaires » ?"
|
||
|
||
[flatten.tooltip.header]
|
||
title = "À propos de l’aplatissement des PDF"
|
||
|
||
[footer]
|
||
discord = "Discord"
|
||
issues = "GitHub"
|
||
|
||
[formFill]
|
||
allSaved = "Tout est enregistré"
|
||
analyzingFields = "Analysing form fields..."
|
||
applyFailed = "Impossible d’appliquer les modifications"
|
||
extractCsvError = "Échec de l’extraction du CSV"
|
||
extractXlsxError = "Échec de l’extraction du XLSX"
|
||
filled = "filled"
|
||
flattenAfterFilling = "Aplatir après remplissage"
|
||
goToPage = "Accéder à cette page"
|
||
noFields = "No fillable form fields found in this PDF."
|
||
page = "Page"
|
||
placeholderEnter = "Enter"
|
||
placeholderSelect = "Select"
|
||
requiredAbbreviation = "obl."
|
||
requiredFieldsError = "Veuillez remplir tous les champs obligatoires"
|
||
rescanFields = "Réanalyser les champs"
|
||
rescanFormFields = "Réanalyser les champs du formulaire"
|
||
save = "Enregistrer"
|
||
saveShortcut = "Ctrl+S pour enregistrer"
|
||
skippedEdits_one = "1 modification n’a pas pu être appliquée :"
|
||
skippedEdits_other = "{{count}} modifications n’ont pas pu être appliquées :"
|
||
skippedEditsTruncated = "{{count}} autres non répertoriées."
|
||
unsavedChanges = "Modifications non enregistrées"
|
||
|
||
[formFill.create]
|
||
commit = "Ajouter {{count}} champ(s) au PDF"
|
||
empty = "Aucun champ n’a encore été dessiné."
|
||
failed = "Échec de l’ajout des champs"
|
||
goToField = "Accéder à ce champ"
|
||
hint = "Choisissez un type de champ, puis dessinez-le sur la page."
|
||
placing = "Dessinez un champ {{type}} sur la page. Appuyez sur Échap pour arrêter."
|
||
preview = "Maintenir pour prévisualiser"
|
||
previewHelp = "Maintenez pour voir les champs tels qu’ils apparaîtront une fois ajoutés, sans les contours de modification."
|
||
removeField = "Supprimer le champ"
|
||
|
||
[formFill.editor]
|
||
action = "Action du bouton"
|
||
actionHelp = "Ce que fait le bouton lorsqu’on clique dessus."
|
||
actionNone = "Aucune"
|
||
actionPrint = "Imprimer"
|
||
actionReset = "Réinitialiser le formulaire"
|
||
actionSubmit = "Envoyer à l’URL"
|
||
actionUri = "Ouvrir l’URL"
|
||
actionUrl = "URL"
|
||
actionUrlHelp = "L’adresse que le bouton ouvre ou à laquelle il envoie les données."
|
||
addOption = "Ajouter une option"
|
||
caption = "Libellé du bouton"
|
||
captionHelp = "Le texte affiché sur le bouton."
|
||
defaultValue = "Valeur par défaut"
|
||
defaultValueHelp = "Ce que le champ contient avant d’être rempli. Laissez vide pour un champ vide."
|
||
fontSize = "Taille de police"
|
||
fontSizeHelp = "Taille du texte dans le champ. Laissez vide pour permettre au lecteur PDF de l’ajuster."
|
||
label = "Libellé"
|
||
labelHelp = "Le texte affiché à la personne qui remplit le formulaire. Laissez-le vide pour utiliser le nom du champ par défaut."
|
||
maxLength = "Longueur max. (peigne)"
|
||
maxLengthHelp = "Limite le nombre de caractères qui tiennent, affichés sous forme de cases régulièrement espacées."
|
||
multiline = "Multiligne"
|
||
multilineHelp = "Autorise plusieurs lignes de texte et le renvoi à la ligne au bord du champ."
|
||
multiSelect = "Autoriser la sélection multiple"
|
||
multiSelectHelp = "Permet de choisir plusieurs options à la fois."
|
||
name = "Nom du champ"
|
||
nameHelp = "Le nom interne du champ. Utilisé lors de l’exportation de données ou du remplissage du formulaire depuis un autre système ; gardez-le donc unique et sans espaces."
|
||
optionGap = "Espacement des options"
|
||
optionGapHelp = "Écart entre les boutons, en points. Laissez vide pour les répartir uniformément dans la zone."
|
||
optionPlaceholder = "Option {{n}}"
|
||
options = "Options"
|
||
optionsEmpty = "Ajoutez au moins une option."
|
||
optionsHelp = "Les choix proposés dans la liste. Chacun est enregistré tel qu’il est saisi ; veillez donc à ce qu’ils soient courts et distincts."
|
||
optionSize = "Taille des options"
|
||
optionSizeHelp = "Largeur et hauteur de chaque bouton, en points. Laissez vide pour les adapter à la zone que vous avez dessinée."
|
||
readOnly = "Lecture seule"
|
||
readOnlyHelp = "Affiche une valeur, mais empêche toute modification."
|
||
removeOption = "Supprimer l’option"
|
||
required = "Obligatoire"
|
||
requiredHelp = "Le formulaire ne peut pas être envoyé tant que ce champ n’est pas rempli."
|
||
signatureNote = "Espace réservé uniquement - vous ne signez pas ici. Il indique l’emplacement d’une signature afin qu’un outil de signature PDF (Adobe Acrobat, un service de signature, etc.) place la signature à cet endroit lorsque le document est signé."
|
||
tooltip = "Infobulle"
|
||
tooltipHelp = "L’indication affichée lorsqu’une personne survole le champ dans un lecteur PDF."
|
||
type = "Type"
|
||
typeHelp = "Le type de champ. Le modifier reconstruit le champ, sa valeur actuelle n’est donc pas conservée."
|
||
|
||
[formFill.mode]
|
||
create = "Créer"
|
||
fill = "Remplir"
|
||
label = "Mode de l’éditeur de formulaire"
|
||
modify = "Modifier"
|
||
|
||
[formFill.modify]
|
||
commit = "Enregistrer {{count}} modification(s)"
|
||
delete = "Supprimer"
|
||
empty = "Ce PDF ne contient pas encore de champs de formulaire."
|
||
failed = "Échec de l’enregistrement des modifications"
|
||
groupSizeHint = "Utiliser la taille des options"
|
||
hint = "Sélectionnez un champ pour modifier ses propriétés, faites-le glisser sur la page ou supprimez-le."
|
||
restore = "Restaurer"
|
||
|
||
[formFill.sidebar]
|
||
close = "Fermer la barre latérale"
|
||
|
||
[getPdfInfo]
|
||
downloadJson = "Télécharger le JSON"
|
||
downloads = "Téléchargements"
|
||
indexTitle = "Index"
|
||
noneDetected = "Aucun détecté"
|
||
noResults = "Exécutez l'outil pour générer un rapport."
|
||
processing = "Extraction des informations..."
|
||
results = "Résultats"
|
||
submit = "Récupérer les informations"
|
||
tags = "récupérer,infomation,data,stats,statistics"
|
||
title = "Récupérer les informations"
|
||
|
||
[getPdfInfo.compliance]
|
||
failed = "Échec"
|
||
failedCount = "échoués"
|
||
noVerification = "Aucune vérification effectuée"
|
||
noVerificationDesc = "La conformité aux normes PDF n'a pas été vérifiée pour ce document."
|
||
passed = "Réussi"
|
||
passedCount = "réussis"
|
||
|
||
[getPdfInfo.error]
|
||
partial = "Certains fichiers n'ont pas pu être traités."
|
||
unexpected = "Erreur inattendue lors de l'extraction."
|
||
|
||
[getPdfInfo.other]
|
||
attachments = "Pièces jointes"
|
||
embeddedFiles = "Fichiers intégrés"
|
||
javaScript = "JavaScript"
|
||
layers = "Calques"
|
||
structureTree = "StructureTree"
|
||
xmp = "XMPMetadata"
|
||
|
||
[getPdfInfo.perPage]
|
||
annotations = "Annotations"
|
||
fonts = "Polices"
|
||
images = "Images"
|
||
links = "Liens"
|
||
multimedia = "Multimédia"
|
||
size = "Taille"
|
||
xobjects = "Nombre d'objets XObject"
|
||
|
||
[getPdfInfo.report]
|
||
shortTitle = "Informations PDF"
|
||
|
||
[getPdfInfo.sections]
|
||
basicInfo = "Informations de base"
|
||
compliance = "Conformité"
|
||
documentInfo = "Informations sur le document"
|
||
encryption = "Chiffrement"
|
||
formFields = "Champs de formulaire"
|
||
metadata = "Métadonnées"
|
||
other = "Autre"
|
||
permissions = "Autorisations"
|
||
perPageInfo = "Informations par page"
|
||
tableOfContents = "Table des matières"
|
||
|
||
[getPdfInfo.status]
|
||
complete = "Extraction terminée"
|
||
|
||
[getPdfInfo.summary]
|
||
author = "Auteur"
|
||
basic = "Informations de base"
|
||
complianceChecked = "Normes vérifiées ({{failed}} échoués)"
|
||
compliancePassed = "Conforme à {{standards}}"
|
||
created = "Créé"
|
||
documentInfo = "Informations sur le document"
|
||
fileSize = "Taille du fichier"
|
||
language = "Langue"
|
||
modified = "Modifié"
|
||
noCompliance = "Aucune norme de conformité"
|
||
overviewTitle = "Aperçu du PDF"
|
||
pages = "Pages"
|
||
pdfVersion = "Version PDF"
|
||
permsAll = "Toutes les autorisations accordées"
|
||
permsMixed = "Certaines autorisations sont restreintes"
|
||
permsRestricted_one = "{{count}} restriction"
|
||
permsRestricted_other = "{{count}} restrictions"
|
||
securityTitle = "État de sécurité"
|
||
technical = "Technique"
|
||
title = "Résumé PDF"
|
||
|
||
[getPdfInfo.summary.overview]
|
||
text = "Ceci est un PDF de {{pages}} pages intitulé {{title}} créé par {{author}} (version PDF {{version}})."
|
||
unknown = "Auteur inconnu"
|
||
untitled = "un document sans titre"
|
||
|
||
[getPdfInfo.summary.security]
|
||
encrypted = "PDF chiffré - Protection par mot de passe présente"
|
||
unencrypted = "PDF non chiffré - Aucune protection par mot de passe"
|
||
|
||
[getPdfInfo.summary.tech]
|
||
bookmarks = "Signets"
|
||
embeddedFiles = "Fichiers intégrés"
|
||
fonts = "Polices"
|
||
formFields = "Champs de formulaire"
|
||
images = "Images"
|
||
javaScript = "JavaScript"
|
||
layers = "Calques"
|
||
multimedia = "Multimédia"
|
||
|
||
[groupSigning.steps]
|
||
back = "Retour"
|
||
completed = "Terminé"
|
||
current = "En cours"
|
||
stepLabel = "Étape {{number}}"
|
||
|
||
[groupSigning.steps.configureDefaults]
|
||
continue = "Continuer vers la vérification"
|
||
invisible = "Les signatures seront invisibles (métadonnées uniquement)"
|
||
locationLabel = "Emplacement :"
|
||
preview = "Aperçu"
|
||
reasonLabel = "Raison :"
|
||
title = "Configurer les paramètres de signature"
|
||
visible = "Les signatures seront visibles à la page {{page}}"
|
||
|
||
[groupSigning.steps.review]
|
||
document = "Document"
|
||
dueDate = "Date d’échéance (optionnelle)"
|
||
dueDatePlaceholder = "Sélectionner une date d’échéance…"
|
||
invisible = "Invisible (métadonnées uniquement)"
|
||
location = "Emplacement :"
|
||
logo = "Logo :"
|
||
logoHidden = "Pas de logo"
|
||
logoShown = "Logo Stirling PDF affiché"
|
||
participantCount_one = "{{count}} participant will sign in order"
|
||
participantCount_other = "{{count}} participants will sign in order"
|
||
participants = "Participants"
|
||
reason = "Raison :"
|
||
send = "Envoyer les demandes de signature"
|
||
signatureSettings = "Paramètres de signature"
|
||
title = "Vérifier les détails de la session"
|
||
titleShort = "Vérifier et envoyer"
|
||
visibility = "Visibilité :"
|
||
visible = "Visible à la page {{page}}"
|
||
|
||
[groupSigning.steps.selectDocument]
|
||
continue = "Continuer vers la sélection des participants"
|
||
noFile = "Veuillez sélectionner un seul fichier PDF parmi vos fichiers actifs pour créer une session de signature."
|
||
selectedFile = "Document sélectionné"
|
||
title = "Sélectionner un document"
|
||
|
||
[groupSigning.steps.selectParticipants]
|
||
continue = "Continuer vers les paramètres de signature"
|
||
count_one = "{{count}} participant selected"
|
||
count_other = "{{count}} participants selected"
|
||
label = "Sélectionner des participants"
|
||
placeholder = "Choisissez des participants pour signer…"
|
||
title = "Choisir des participants"
|
||
|
||
[groupSigning.tooltip]
|
||
header = "À propos de la signature de groupe"
|
||
|
||
[groupSigning.tooltip.finalization]
|
||
bullet1 = "Toutes les signatures sont appliquées dans l’ordre des participants que vous avez défini"
|
||
bullet2 = "Vous pouvez finaliser avec des signatures partielles si nécessaire"
|
||
bullet3 = "Une fois finalisée, la session ne peut plus être modifiée"
|
||
description = "Une fois que tous les participants ont signé (ou si vous choisissez de finaliser plus tôt), vous pouvez générer le PDF final signé."
|
||
title = "Processus de finalisation"
|
||
|
||
[groupSigning.tooltip.roles]
|
||
bullet1 = "Propriétaire (vous) : crée la session, configure les paramètres par défaut des signatures, finalise le document"
|
||
bullet2 = "Participants : créent leur signature, choisissent le certificat, la placent sur le PDF"
|
||
bullet3 = "Les participants ne peuvent pas modifier la visibilité, la raison ou l’emplacement de la signature"
|
||
description = "Vous contrôlez les paramètres d’apparence des signatures pour tous les participants."
|
||
title = "Rôles des participants"
|
||
|
||
[groupSigning.tooltip.sequential]
|
||
bullet1 = "Le premier participant doit signer avant que le second puisse accéder au document"
|
||
bullet2 = "Garantit un ordre de signature conforme aux exigences légales"
|
||
bullet3 = "Vous pouvez réorganiser les participants en les faisant glisser dans la liste"
|
||
description = "Les participants signent les documents dans l’ordre que vous spécifiez. Chaque signataire reçoit une notification quand c’est son tour."
|
||
title = "Signature séquentielle"
|
||
|
||
[guestBanner]
|
||
dismiss = "Masquer la bannière"
|
||
message = "Créez un compte gratuit pour enregistrer votre travail, accéder à plus de fonctionnalités et soutenir le projet."
|
||
signUp = "S’inscrire gratuitement"
|
||
title = "Vous utilisez Stirling PDF en tant qu’invité !"
|
||
|
||
[home.addAttachments]
|
||
desc = "Ajouter ou supprimer des fichiers intégrés (pièces jointes) dans un PDF"
|
||
tags = "intégrer,joindre,inclure"
|
||
title = "Ajouter des pièces jointes"
|
||
|
||
[home.addImage]
|
||
desc = "Ajoutez une image à un emplacement défini sur un PDF."
|
||
tags = "insérer,intégrer,placer"
|
||
title = "Ajouter une image"
|
||
|
||
[home.addPageNumbers]
|
||
desc = "Ajoutez des numéros de page dans un PDF à un emplacement défini."
|
||
tags = "numéro,pagination,compter"
|
||
title = "Numéroter pages"
|
||
|
||
[home.addPassword]
|
||
desc = "Chiffrez votre PDF avec un mot de passe."
|
||
tags = "encrypt,password,lock,secure,protect,security,encryption,safeguard,confidential,private,restrict access"
|
||
title = "Ajouter un mot de passe"
|
||
|
||
[home.addStamp]
|
||
desc = "Ajouter des tampons de texte ou d’image à des emplacements définis"
|
||
tags = "tampon,marque,sceau"
|
||
title = "Ajouter un tampon au PDF"
|
||
|
||
[home.addText]
|
||
desc = "Ajouter du texte personnalisé n’importe où dans votre PDF"
|
||
tags = "texte,annotation,étiquette"
|
||
title = "Ajouter du texte"
|
||
|
||
[home.adjustContrast]
|
||
desc = "Ajustez le contraste, la saturation et la luminosité d'un PDF."
|
||
tags = "contraste,luminosité,saturation"
|
||
title = "Ajuster couleurs et contraste"
|
||
|
||
[home.annotate]
|
||
desc = "Surlignez, dessinez, ajoutez des notes et des formes dans la visionneuse"
|
||
tags = "annoter,surligner,dessiner"
|
||
title = "Annoter"
|
||
|
||
[home.automate]
|
||
desc = "Créez des workflows multi-étapes en enchaînant des actions PDF. Idéal pour les tâches récurrentes."
|
||
tags = "workflow,séquence,automatisation"
|
||
title = "Automatiser"
|
||
|
||
[home.autoRename]
|
||
desc = "Renomme automatiquement un fichier PDF sur la base de son en-tête détecté"
|
||
tags = "détection automatique,basé-en-tête,organiser,renommer"
|
||
title = "Renommer PDF auto"
|
||
|
||
[home.autoRotate]
|
||
desc = "Détectez l’orientation de chaque page et remettez-la automatiquement à l’endroit."
|
||
tags = "rotation automatique,corriger orientation,à l’envers,de côté,redresser,orienter,détecter orientation,corriger rotation,orientation automatique,numérisé,OSD"
|
||
title = "Rotation automatique"
|
||
|
||
[home.autoSizeSplitPDF]
|
||
tags = "auto,diviser,taille"
|
||
title = "Scinder auto taille/pages"
|
||
|
||
[home.autoSplitPDF]
|
||
tags = "auto,diviser,QR"
|
||
title = "Scinder pages auto"
|
||
|
||
[home.bookletImposition]
|
||
desc = "Créer des livrets avec un ordre de pages correct et une mise en page multi-pages pour l’impression et la reliure"
|
||
tags = "livret,imprimer,reliure"
|
||
title = "Imposition en livret"
|
||
|
||
[home.certSign]
|
||
desc = "Signez un PDF avec un certificat ou une clé (PEM/P12)."
|
||
tags = "authentifier,PEM,P12,officiel,chiffrer,signer,certificat,PKCS12,JKS,serveur,manuel,auto"
|
||
title = "Signer avec un certificat"
|
||
|
||
[home.changeMetadata]
|
||
desc = "Modifiez, supprimez ou ajoutez des métadonnées à un PDF."
|
||
tags = "éditer,modifier,mettre à jour"
|
||
title = "Modifier les métadonnées"
|
||
|
||
[home.changePermissions]
|
||
desc = "Modifier les restrictions et permissions du document"
|
||
tags = "permissions,restrictions,rights,access control,allow,deny,printing,copying,editing,modify permissions,security settings,user rights"
|
||
title = "Modifier les permissions"
|
||
|
||
[home.classify]
|
||
desc = "Identifiez le type de document dont il s’agit et étiquetez-le."
|
||
title = "Classer"
|
||
|
||
[home.compare]
|
||
desc = "Comparez et visualisez les différences entre deux PDF."
|
||
tags = "différence"
|
||
title = "Comparer"
|
||
|
||
[home.compress]
|
||
desc = "Compressez les PDF pour réduire leur tailles."
|
||
tags = "réduire,compresser,optimiser"
|
||
title = "Compresser"
|
||
|
||
[home.convert]
|
||
desc = "Convertir des fichiers entre différents formats"
|
||
tags = "transformer,changer"
|
||
title = "Convertir"
|
||
|
||
[home.crop]
|
||
desc = "Redimensionnez un PDF pour réduire sa taille (en conservant le texte !)."
|
||
tags = "rogner,couper,redimensionner"
|
||
title = "Redimensionner"
|
||
|
||
[home.devAirgapped]
|
||
desc = "Lien vers le guide d’installation isolée (air-gapped)"
|
||
tags = "air-gapped,offline,isolated,no internet,disconnected,secure,network isolation,standalone"
|
||
title = "Installation isolée"
|
||
|
||
[home.devApi]
|
||
desc = "Lien vers la documentation de l’API"
|
||
tags = "API,développement,documentation"
|
||
title = "API"
|
||
|
||
[home.devFolderScanning]
|
||
desc = "Lien vers le guide d’analyse de dossier automatisée"
|
||
tags = "automatisation,dossier,analyse"
|
||
title = "Scan auto de dossiers"
|
||
|
||
[home.devSsoGuide]
|
||
desc = "Lien vers le guide SSO"
|
||
tags = "SSO,single sign-on,authentication,SAML,OAuth,OIDC,login,enterprise,identity provider,IdP"
|
||
title = "Guide SSO"
|
||
|
||
[home.editTableOfContents]
|
||
desc = "Ajouter ou modifier les signets et la table des matières dans les documents PDF"
|
||
tags = "signets,contenu,éditer"
|
||
title = "Modifier sommaire"
|
||
|
||
[home.extractImages]
|
||
desc = "Extrayez toutes les images d'un PDF et enregistrez-les dans un ZIP."
|
||
tags = "extraire,sauver,exporter"
|
||
title = "Extraire les images"
|
||
|
||
[home.extractPages]
|
||
desc = "Extraire des pages spécifiques d’un document PDF"
|
||
tags = "extraire,sélectionner,copier"
|
||
title = "Extraire des pages"
|
||
|
||
[home.flatten]
|
||
desc = "Supprimez tous les éléments et formulaires interactifs d'un PDF."
|
||
tags = "simplifier,retirer,interactif"
|
||
title = "Rendre inerte"
|
||
|
||
[home.formFill]
|
||
desc = "Remplissez les champs de formulaire PDF de manière interactive avec un éditeur visuel"
|
||
title = "Remplir un formulaire"
|
||
|
||
[home.getPdfInfo]
|
||
desc = "Récupérez toutes les informations possibles sur un PDF."
|
||
tags = "info,métadonnées,détails"
|
||
title = "Récupérer les informations"
|
||
|
||
[home.manageCertificates]
|
||
tags = "certificats,importer,exporter"
|
||
title = "Gérer les certificats"
|
||
|
||
[home.merge]
|
||
desc = "Fusionnez facilement plusieurs PDF en un seul."
|
||
tags = "fusionner,joindre,unir"
|
||
title = "Fusionner"
|
||
|
||
[home.mobile]
|
||
brandAlt = "Logo Stirling PDF"
|
||
openFiles = "Ouvrir des fichiers"
|
||
swipeHint = "Balayez vers la gauche ou la droite pour changer de vue"
|
||
tools = "Outils"
|
||
toolsSlide = "Panneau de sélection des outils"
|
||
viewSwitcher = "Changer la vue de l’espace de travail"
|
||
workbenchSlide = "Panneau d’espace de travail"
|
||
workspace = "Espace de travail"
|
||
|
||
[home.multiTool]
|
||
desc = "Fusionnez, faites pivoter, réorganisez et supprimez des pages."
|
||
tags = "multiple,outils"
|
||
title = "Outil multifonction PDF"
|
||
|
||
[home.ocr]
|
||
desc = "Utilisez l'OCR pour analyser et détecter le texte des images d'un PDF et le rajouter en tant que tel."
|
||
tags = "extraire,scanner"
|
||
title = "OCR / Nettoyage des numérisations"
|
||
|
||
[home.overlay-pdfs]
|
||
desc = "Superposer un PDF sur un autre"
|
||
tags = "overlay,combine,merge,layer,superimpose,overlay PDF,layer PDFs,combine PDFs,stack,overlay pages,background,foreground,composite"
|
||
title = "Superposer des PDF"
|
||
|
||
[home.pageLayout]
|
||
desc = "Fusionnez plusieurs pages d'un PDF en une seule."
|
||
tags = "mise en page,arranger,combiner"
|
||
title = "Fusionner des pages"
|
||
|
||
[home.pdfCommentAgent]
|
||
desc = "Demandez à l’IA d’annoter un PDF avec des commentaires sous forme de notes autocollantes selon votre consigne"
|
||
tags = "AI,agent,commentaire,annoter,note autocollante,révision,retour,notes"
|
||
title = "Ajouter des commentaires IA"
|
||
|
||
[home.pdfOrganiser]
|
||
tags = "organiser,réorganiser,réordonner"
|
||
title = "Organiser"
|
||
|
||
[home.pdfTextEditor]
|
||
desc = "Afficher et modifier les exports JSON de Stirling PDF avec édition de texte groupée et régénération du PDF"
|
||
tags = "edit text,modify text,change text,edit content,update text,rewrite,correct,amend,redline,revise,text editor,content editor"
|
||
title = "Éditeur de texte PDF"
|
||
|
||
[home.pdfToSinglePage]
|
||
desc = "Fusionnez toutes les pages PDF en une seule grande page."
|
||
tags = "combiner,fusionner,unique"
|
||
title = "Fusionner en une seule page"
|
||
|
||
[home.read]
|
||
desc = "Afficher et annoter des PDF. Surlignez du texte, dessinez ou insérez des commentaires pour l’examen et la collaboration."
|
||
tags = "voir,ouvrir,afficher"
|
||
title = "Lire"
|
||
|
||
[home.redact]
|
||
desc = "Caviarder un PDF en fonction de texte sélectionné, formes dessinées et/ou des pages sélectionnées."
|
||
tags = "censurer,noircir,masquer"
|
||
title = "Caviardage manuel"
|
||
|
||
[home.removeAnnotations]
|
||
desc = "Supprimer tous les commentaires/annotations d'un PDF."
|
||
tags = "supprimer,nettoyer,retirer"
|
||
title = "Supprimer les annotations"
|
||
|
||
[home.removeBlanks]
|
||
desc = "Détectez et supprimez les pages vierges d'un PDF."
|
||
tags = "supprimer,nettoyer,vider"
|
||
title = "Supprimer les pages vierges"
|
||
|
||
[home.removeCertSign]
|
||
desc = "Supprimez la signature par certificat d'un PDF"
|
||
tags = "retirer,supprimer,déverrouiller"
|
||
title = "Retirer signature certifiée"
|
||
|
||
[home.removeImage]
|
||
desc = "Supprimez les images d'un PDF pour réduire sa taille"
|
||
tags = "retirer,supprimer,nettoyer"
|
||
title = "Supprimer les images"
|
||
|
||
[home.removePages]
|
||
desc = "Supprimez les pages inutiles de votre PDF."
|
||
tags = "supprimer,extraire,exclure"
|
||
title = "Supprimer"
|
||
|
||
[home.removePassword]
|
||
desc = "Supprimez la protection par mot de passe de votre PDF."
|
||
tags = "déverrouiller"
|
||
title = "Supprimer le mot de passe"
|
||
|
||
[home.reorganizePages]
|
||
desc = "Réorganisez, dupliquez ou supprimez des pages PDF avec un contrôle visuel par glisser-déposer."
|
||
tags = "réarranger,réordonner,organiser"
|
||
title = "Réorganiser les pages"
|
||
|
||
[home.repair]
|
||
desc = "Essayez de réparer un PDF corrompu ou cassé."
|
||
tags = "corriger,restaurer"
|
||
title = "Réparer"
|
||
|
||
[home.replaceColor]
|
||
desc = "Remplacer ou inverser les couleurs dans les documents PDF"
|
||
tags = "replace color,invert color,color replacement,swap colors,change color,invert,negative,color swap,find and replace color,convert color,color change"
|
||
title = "Remplacer & inverser couleurs"
|
||
|
||
[home.rotate]
|
||
desc = "Faites pivoter facilement vos PDF."
|
||
tags = "tourner,retourner,orienter"
|
||
title = "Pivoter"
|
||
|
||
[home.sanitize]
|
||
desc = "Supprimer les éléments potentiellement nuisibles des fichiers PDF"
|
||
tags = "nettoyer,purger,retirer"
|
||
title = "Assainir"
|
||
|
||
[home.scalePages]
|
||
desc = "Modifiez la taille ou l'échelle d'une page et/ou de son contenu."
|
||
tags = "redimensionner,ajuster,mettre à l’échelle"
|
||
title = "Régler taille/échelle page"
|
||
|
||
[home.scannerEffect]
|
||
desc = "Créer un PDF qui ressemble à un document scanné"
|
||
tags = "scanner,simuler,créer"
|
||
title = "Effet scanner"
|
||
|
||
[home.scannerImageSplit]
|
||
desc = "Détecter et scinder des photos scannées en pages séparées"
|
||
tags = "détecter,diviser,photos"
|
||
title = "Séparer photos scannées"
|
||
|
||
[home.sharedSign]
|
||
desc = "Demander des signatures à d'autres et suivre les sessions de signature"
|
||
title = "Signature collaborative"
|
||
|
||
[home.showJS]
|
||
desc = "Recherche et affiche tout JavaScript injecté dans un PDF."
|
||
tags = "javascript,code,script"
|
||
title = "Afficher le JavaScript"
|
||
|
||
[home.sign]
|
||
desc = "Ajoutez une signature au PDF avec un dessin, du texte ou une image."
|
||
tags = "signature,autographe"
|
||
title = "Signer"
|
||
|
||
[home.split]
|
||
desc = "Divisez un PDF en plusieurs documents."
|
||
tags = "diviser,séparer,scinder"
|
||
title = "Diviser"
|
||
|
||
[home.splitByChapters]
|
||
tags = "diviser,chapitres,structure"
|
||
title = "Séparer un PDF par chapitres"
|
||
|
||
[home.splitBySections]
|
||
tags = "diviser,sections,scinder"
|
||
title = "Diviser le PDF par sections"
|
||
|
||
[home.swagger]
|
||
tags = "API,documentation,test"
|
||
title = "Documentation de l’API"
|
||
|
||
[home.timestampPdf]
|
||
desc = "Ajoutez un horodatage RFC 3161 pour prouver la date d'existence de votre PDF"
|
||
tags = "horodatage,RFC 3161,TSA,autorité de timestamp,horodatage de document,preuve d'existence,jeton d'horodatage,timestamp de confiance,signer horodatage,notariser"
|
||
title = "Horodater le PDF"
|
||
|
||
[home.unlockPDFForms]
|
||
desc = "Supprimer la propriété lecture seule des champs de formulaire dans un document PDF"
|
||
tags = "déverrouiller,activer,modifier"
|
||
title = "Déverrouiller les formulaires PDF"
|
||
|
||
[home.validateSignature]
|
||
desc = "Vérifier les signatures numériques et les certificats des documents PDF"
|
||
tags = "valider,vérifier,certificat"
|
||
title = "Valider signature PDF"
|
||
|
||
[home.viewPdf]
|
||
title = "Visionner/Modifier des PDF"
|
||
|
||
[home.watermark]
|
||
desc = "Ajoutez un filigrane personnalisé à votre PDF."
|
||
tags = "tampon,marque,superposition"
|
||
title = "Ajouter un filigrane"
|
||
|
||
[HTMLToPDF]
|
||
header = "HTML en PDF"
|
||
tags = "html,markup,contenu Web,transformation,convert"
|
||
title = "HTML en PDF"
|
||
|
||
[image.upload]
|
||
hint = "Téléversez une image PNG, JPG, SVG ou autre à placer sur le PDF. Les fichiers SVG seront convertis en PNG pour la compatibilité."
|
||
label = "Téléverser une image"
|
||
placeholder = "Sélectionner un fichier image"
|
||
|
||
[imageToPDF]
|
||
header = "Image en PDF"
|
||
title = "Image en PDF"
|
||
|
||
[imageToPdf]
|
||
tags = "pdf,conversion,img,jpg,image,photo"
|
||
|
||
[invite]
|
||
acceptError = "Échec de la création du compte"
|
||
accountFor = "Création du compte pour"
|
||
alreadyHaveAccount = "Vous avez déjà un compte ?"
|
||
choosePassword = "Choisissez un mot de passe"
|
||
confirmPassword = "Confirmez le mot de passe"
|
||
confirmPasswordPlaceholder = "Saisissez à nouveau votre mot de passe"
|
||
createAccount = "Créer le compte"
|
||
creating = "Création du compte..."
|
||
email = "Adresse e-mail"
|
||
emailPlaceholder = "Saisissez votre adresse e-mail"
|
||
emailRequired = "L’adresse e-mail est requise"
|
||
goToLogin = "Aller à la connexion"
|
||
invalidEmail = "Adresse e-mail invalide"
|
||
invalidInvitation = "Invitation invalide"
|
||
invalidToken = "Lien d’invitation invalide"
|
||
linkExpires = "Le lien expire"
|
||
passwordMismatch = "Les mots de passe ne correspondent pas"
|
||
passwordPlaceholder = "Saisissez votre mot de passe"
|
||
passwordRequired = "Le mot de passe est requis"
|
||
signIn = "Se connecter"
|
||
validating = "Validation de l’invitation..."
|
||
validationError = "Échec de la validation du lien d’invitation"
|
||
welcome = "Bienvenue sur Stirling PDF"
|
||
welcomeSubtitle = "Terminez la configuration de votre compte pour commencer"
|
||
welcomeTitle = "Vous avez été invité !"
|
||
|
||
[landing]
|
||
addFiles = "Ajouter des fichiers"
|
||
mobileUpload = "Téléverser depuis un mobile"
|
||
openFromComputer = "Ouvrir depuis l’ordinateur"
|
||
uploadFromComputer = "Téléverser depuis l’ordinateur"
|
||
|
||
[language]
|
||
direction = "ltr"
|
||
|
||
[legal]
|
||
accessibility = "Accessibilité"
|
||
cookie = "Politique des Cookies"
|
||
iAgreeToThe = "J’accepte l’ensemble des"
|
||
impressum = "Mentions Légales"
|
||
privacy = "Politique de Confidentialité"
|
||
showCookieBanner = "Préférences pour les cookies"
|
||
terms = "Conditions Générales"
|
||
|
||
[licenses]
|
||
title = "Licences tierces"
|
||
|
||
[localMode]
|
||
toolUnavailable = "This tool requires an account. Sign in to Stirling Cloud or connect to a self-hosted server to use it."
|
||
|
||
[localMode.toolPicker]
|
||
message = "Sign in to unlock all tools."
|
||
signIn = "Sign In"
|
||
|
||
[login]
|
||
accountCreatedSuccess = "Compte créé avec succès ! Vous pouvez maintenant vous connecter."
|
||
backToSignIn = "Retour à la connexion"
|
||
changePasswordWarning = "Veuillez changer votre mot de passe après votre première connexion"
|
||
createAccount = "Create an account"
|
||
credentialsUpdated = "Vos identifiants ont été mis à jour. Veuillez vous reconnecter."
|
||
defaultCredentials = "Identifiants de connexion par défaut"
|
||
email = "E-mail"
|
||
enterEmail = "Saisissez votre e-mail"
|
||
enterEmailForMagicLink = "Saisissez votre e-mail pour le lien magique"
|
||
enterMfaCode = "Saisir le code à 6 chiffres"
|
||
enterPassword = "Saisissez votre mot de passe"
|
||
enterUsername = "Saisissez le nom d’utilisateur"
|
||
failedToSignIn = "Échec de connexion avec {{provider}} : {{message}}"
|
||
forgotPassword = "Mot de passe oublié ?"
|
||
loggingIn = "Connexion…"
|
||
login = "Se connecter"
|
||
magicLinkSent = "Lien magique envoyé à {{email}} ! Consultez votre e-mail et cliquez sur le lien pour vous connecter."
|
||
mfaCode = "Code d'authentification"
|
||
mfaRequired = "Code à deux facteurs requis"
|
||
or = "Ou"
|
||
password = "Mot de passe"
|
||
passwordChangedSuccess = "Mot de passe modifié avec succès ! Veuillez vous connecter avec votre nouveau mot de passe."
|
||
passwordResetSent = "Lien de réinitialisation envoyé à {{email}} ! Consultez votre e-mail et suivez les instructions."
|
||
passwordUpdatedSuccess = "Your password has been updated successfully."
|
||
pleaseEnterBoth = "Veuillez saisir l’e-mail et le mot de passe"
|
||
pleaseEnterEmail = "Veuillez saisir votre adresse e-mail"
|
||
resetHelp = "Saisissez votre email pour recevoir un lien de réinitialisation de votre mot de passe. Si le lien a expiré, veuillez en demander un nouveau."
|
||
resetYourPassword = "Réinitialisation de mot de passe"
|
||
sending = "Envoi…"
|
||
sendMagicLink = "Envoyer le lien magique"
|
||
sendResetLink = "Envoyer le lien de réinitialisation"
|
||
sessionExpired = "Votre session a expiré. Veuillez vous reconnecter."
|
||
signin = "Connexion"
|
||
signingIn = "Connexion en cours…"
|
||
signInWith = "Se connecter avec"
|
||
title = "Connexion"
|
||
unexpectedError = "Erreur inattendue : {{message}}"
|
||
updatePassword = "Mise à jour du mot de passe"
|
||
useMagicLink = "Utiliser plutôt le lien magique"
|
||
username = "Nom d’utilisateur"
|
||
youAreLoggedIn = "Vous êtes connecté !"
|
||
|
||
[margin]
|
||
large = "Grande"
|
||
medium = "Moyenne"
|
||
small = "Petite"
|
||
xLarge = "Très grande"
|
||
|
||
[MarkdownToPDF]
|
||
header = "Markdown en PDF"
|
||
tags = "markdown,markup,contenu Web,transformation,convert"
|
||
title = "Markdown en PDF"
|
||
|
||
[merge]
|
||
goToFileEditor = "Aller à l'éditeur de fichiers"
|
||
submit = "Fusionner"
|
||
tags = "fusionner,opérations sur les pages,backend,server side,merge"
|
||
title = "Fusionner"
|
||
viewerModeHint = "La fusion nécessite 2 fichiers ou plus. Rendez-vous dans l'éditeur de fichiers pour les sélectionner."
|
||
|
||
[merge.error]
|
||
failed = "Une erreur est survenue lors de la fusion des PDF."
|
||
|
||
[merge.generateTableOfContents]
|
||
label = "Générer une table des matières dans le fichier fusionné ?"
|
||
|
||
[merge.generateTableOfContents.tooltip]
|
||
description = "Crée automatiquement une table des matières cliquable dans le PDF fusionné à partir des noms de fichiers d’origine et des numéros de page."
|
||
title = "Générer une table des matières"
|
||
|
||
[merge.removeDigitalSignature]
|
||
label = "Supprimer la signature numérique dans le fichier fusionné ?"
|
||
|
||
[merge.removeDigitalSignature.tooltip]
|
||
description = "Les signatures numériques seront invalidées lors de la fusion. Cochez ceci pour les supprimer du PDF final."
|
||
title = "Supprimer la signature numérique"
|
||
|
||
[merge.sortBy]
|
||
ascending = "Croissant"
|
||
dateModified = "Date de modification"
|
||
descending = "Décroissant"
|
||
description = "Les fichiers seront fusionnés dans l’ordre de sélection. Faites glisser pour réorganiser ou triez ci-dessous."
|
||
filename = "Nom du Fichier"
|
||
label = "Trier par"
|
||
sort = "Trier"
|
||
|
||
[merge.tooltip.header]
|
||
title = "Aperçu des paramètres de fusion"
|
||
|
||
[mobileScanner]
|
||
addToBatch = "Ajouter au lot"
|
||
back = "Retour"
|
||
batchImages = "Lot"
|
||
camera = "Appareil photo"
|
||
cameraAccessDenied = "Accès à la caméra refusé. Veuillez activer l’accès à la caméra."
|
||
cameraDescription = "Scanner des documents avec l’appareil photo de votre appareil avec détection automatique des bords"
|
||
capture = "Prendre la photo"
|
||
chooseMethod = "Choisir la méthode de téléversement"
|
||
chooseMethodDescription = "Sélectionnez comment vous souhaitez scanner et téléverser des documents"
|
||
clearBatch = "Effacer"
|
||
edgeDetection = "Détection des bords"
|
||
fileDescription = "Téléverser des photos ou documents existants depuis votre appareil"
|
||
fileUpload = "Téléversement de fichier"
|
||
flash = "Flash"
|
||
flashlight = "Lampe torche"
|
||
httpsRequired = "L’accès à la caméra nécessite HTTPS ou localhost. Veuillez utiliser HTTPS ou accéder via localhost."
|
||
noSession = "Session invalide"
|
||
noSessionMessage = "Veuillez scanner un QR code valide pour accéder à cette page."
|
||
processing = "Traitement..."
|
||
retake = "Reprendre"
|
||
selectFilesPrompt = "Sélectionnez des fichiers à téléverser"
|
||
selectImage = "Sélectionner une image"
|
||
sessionExpired = "Cette session a expiré. Veuillez actualiser et réessayer."
|
||
sessionInvalid = "Erreur de session"
|
||
sessionNotFound = "Session introuvable. Veuillez actualiser et réessayer."
|
||
sessionValidationError = "Impossible de vérifier la session. Veuillez réessayer."
|
||
title = "Scanner mobile"
|
||
upload = "Téléverser"
|
||
uploadAll = "Tout téléverser"
|
||
uploadFailed = "Échec du téléversement. Veuillez réessayer."
|
||
uploading = "Téléversement..."
|
||
uploadSuccess = "Téléversement réussi !"
|
||
uploadSuccessMessage = "Vos images ont été transférées."
|
||
validating = "Validation de la session..."
|
||
|
||
[mobileSign]
|
||
clear = "Clear"
|
||
invalidSession = "Session expired"
|
||
invalidSessionMessage = "This QR code is no longer valid. Open the Sign tool on your computer and scan the new code."
|
||
penSizeLabel = "Pen size"
|
||
send = "Send to computer"
|
||
sendAnother = "Send another signature"
|
||
sendError = "Could not send the signature. Check the connection and try again."
|
||
sentMessage = "Signature sent to your computer. You can send another or close this page."
|
||
tabsLabel = "Signature source"
|
||
undo = "Undo"
|
||
validating = "Checking session…"
|
||
|
||
[mobileSign.photo]
|
||
fromGallery = "From gallery"
|
||
hint = "Photograph a signature on white paper, or choose an existing image."
|
||
invalidType = "Please choose an image file."
|
||
takePhoto = "Take a photo"
|
||
|
||
[mobileSign.tab]
|
||
draw = "Draw"
|
||
photo = "Photo"
|
||
type = "Type"
|
||
|
||
[mobileSign.type]
|
||
placeholder = "Your name"
|
||
previewPlaceholder = "Signature preview"
|
||
|
||
[mobileUpload]
|
||
description = "Scannez pour téléverser des photos. Les images se convertissent automatiquement en PDF."
|
||
descriptionNoConvert = "Scannez pour téléverser des photos depuis votre appareil mobile."
|
||
error = "Erreur de connexion"
|
||
expiryWarning = "Expiration de la session imminente"
|
||
expiryWarningMessage = "Ce QR code expirera dans {{seconds}} secondes. Un nouveau code sera généré automatiquement."
|
||
filesReceived_one = "{{count}} file received"
|
||
filesReceived_other = "{{count}} files received"
|
||
instructions = "Scannez avec l’appareil photo de votre téléphone. Les images sont automatiquement converties en PDF."
|
||
instructionsNoConvert = "Scannez avec l’appareil photo de votre téléphone pour téléverser des fichiers."
|
||
pollingError = "Erreur lors de la vérification des fichiers"
|
||
sessionCreateError = "Échec de création de session"
|
||
title = "Téléverser depuis un mobile"
|
||
|
||
[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"
|
||
|
||
[navFooter]
|
||
openEditor = "Open PDF Editor"
|
||
openProcessor = "Open PDF Processor"
|
||
|
||
[navFooter.credits]
|
||
count = "{{remaining}} of {{total}}"
|
||
label = "Free credits"
|
||
|
||
[notifications]
|
||
empty = "Rien à signaler."
|
||
handoffUnavailable = "Ce navigateur ne permettra pas au processeur de transmettre le document à l’éditeur. Ouvrez-le plutôt depuis l’éditeur."
|
||
noDocumentLinked = "Cet échec n’est pas lié à un document spécifique, il n’y a donc rien à ouvrir ici."
|
||
notOnThisDevice = "Ce document n’est pas sur cet appareil, il ne peut donc pas être ouvert ici."
|
||
occurrences = "{{count}} fois"
|
||
open = "Notifications"
|
||
title = "Notifications"
|
||
unread = "Non lues"
|
||
|
||
[notifications.action]
|
||
failed = "Cela n’a pas fonctionné. Réessayez dans un instant."
|
||
unavailable = "Non disponible pour cette notification."
|
||
|
||
[notifications.detail]
|
||
copied = "Copié"
|
||
copy = "Copier l’erreur"
|
||
less = "Afficher moins"
|
||
more = "Afficher le message complet"
|
||
|
||
[notifications.section]
|
||
earlier = "Plus tôt"
|
||
new = "Nouvelles"
|
||
|
||
[oauth.error]
|
||
message = "L'authentification n'a pas abouti. Vous pouvez fermer cette fenêtre et réessayer."
|
||
title = "Échec de l'authentification"
|
||
|
||
[oauth.success]
|
||
message = "Vous pouvez fermer cette fenêtre et revenir à Stirling PDF."
|
||
title = "Authentification réussie"
|
||
|
||
[oauthConsent]
|
||
approve = "Allow access"
|
||
approving = "Allowing..."
|
||
decisionFailed = "Could not submit your decision. Please try again."
|
||
deny = "Deny"
|
||
denying = "Denying..."
|
||
loadFailed = "This authorisation request is invalid or has expired. Close this tab and try connecting again from the app."
|
||
loading = "Loading authorisation request..."
|
||
missingId = "Missing authorisation request. Start the connection from your app and try again."
|
||
redirecting = "Returning you to the app..."
|
||
requesting = "{{app}} wants to access your Stirling PDF account"
|
||
scopesIntro = "This will allow {{app}} to:"
|
||
signedInAs = "Signed in as {{name}}"
|
||
signInButton = "Sign in to continue"
|
||
signInPrompt = "Sign in to your Stirling PDF account to continue connecting the app."
|
||
title = "Authorise access"
|
||
unknownApp = "A third-party application"
|
||
|
||
[oauthConsent.access]
|
||
actAsYou = "Act as you - everything {{app}} does runs under your account and counts towards your usage"
|
||
tools = "Use your Stirling PDF tools on your behalf - convert, edit, sign, secure and process your documents"
|
||
|
||
[oauthConsent.scope]
|
||
email = "See your email address"
|
||
openid = "Confirm your identity"
|
||
phone = "See your phone number"
|
||
profile = "See your basic profile information"
|
||
|
||
[ocr]
|
||
desc = "Utilisez l'OCR pour analyser et détecter le texte des images d'un PDF et le rajouter en tant que tel."
|
||
tags = "ocr,reconnaissance,texte,image,numérisation,scan,read,identify,detection,editable"
|
||
title = "OCR / Nettoyage des numérisations"
|
||
|
||
[ocr.error]
|
||
failed = "Échec de l’opération d’OCR"
|
||
|
||
[ocr.languagePicker]
|
||
additionalLanguages = "Vous cherchez d’autres langues ?"
|
||
loading = "Chargement des langues disponibles..."
|
||
viewSetupGuide = "Voir le guide d’installation →"
|
||
|
||
[ocr.operation]
|
||
submit = "Traiter l’OCR et relire"
|
||
|
||
[ocr.results]
|
||
title = "Résultats OCR"
|
||
|
||
[ocr.settings]
|
||
title = "Paramètres"
|
||
|
||
[ocr.settings.advancedOptions]
|
||
clean = "Nettoyer le fichier d’entrée"
|
||
cleanFinal = "Nettoyer la sortie finale"
|
||
deskew = "Redresser les pages"
|
||
label = "Options de traitement"
|
||
sidecar = "Créer un fichier texte"
|
||
|
||
[ocr.settings.compatibilityMode]
|
||
label = "Mode de compatibilité"
|
||
|
||
[ocr.settings.languages]
|
||
label = "Langues"
|
||
placeholder = "Sélectionner des langues"
|
||
|
||
[ocr.settings.ocrMode]
|
||
auto = "Auto (ignorer les calques de texte)"
|
||
force = "Forcer (re-OCR de tout, remplacer le texte)"
|
||
label = "Mode OCR"
|
||
strict = "Strict (abandonner si du texte est trouvé)"
|
||
|
||
[ocr.tooltip.advanced.clean]
|
||
text = "Prétraite l’entrée en supprimant le bruit, en améliorant le contraste et en optimisant l’image pour une meilleure reconnaissance OCR avant traitement."
|
||
title = "Nettoyer le fichier d’entrée"
|
||
|
||
[ocr.tooltip.advanced.cleanFinal]
|
||
text = "Post-traite le PDF final en supprimant les artefacts d’OCR et en optimisant le calque de texte pour une meilleure lisibilité et une taille de fichier plus petite."
|
||
title = "Nettoyer la sortie finale"
|
||
|
||
[ocr.tooltip.advanced.compatibility]
|
||
text = "Utilise le mode OCR « sandwich PDF » : produit des fichiers plus volumineux, mais plus fiables avec certaines langues et anciens logiciels PDF. Par défaut nous utilisons hOCR pour des PDF modernes plus légers."
|
||
title = "Mode de compatibilité"
|
||
|
||
[ocr.tooltip.advanced.deskew]
|
||
text = "Corrige automatiquement les pages inclinées pour améliorer la précision de l’OCR. Utile pour les documents scannés mal alignés."
|
||
title = "Redresser les pages"
|
||
|
||
[ocr.tooltip.advanced.header]
|
||
title = "Traitement OCR avancé"
|
||
|
||
[ocr.tooltip.advanced.sidecar]
|
||
text = "Génère un fichier .txt séparé à côté du PDF contenant tout le texte extrait pour un accès et un traitement facilités."
|
||
title = "Créer un fichier texte"
|
||
|
||
[ocr.tooltip.header]
|
||
title = "Aperçu des paramètres OCR"
|
||
|
||
[ocr.tooltip.languages]
|
||
text = "Améliorez la précision de l’OCR en spécifiant les langues attendues. Choisissez une ou plusieurs langues pour guider la détection."
|
||
title = "Langues"
|
||
|
||
[ocr.tooltip.mode]
|
||
bullet1 = "Auto ignore les pages contenant déjà des calques de texte."
|
||
bullet2 = "Forcer ré-exécute l’OCR sur chaque page et remplace tout le texte."
|
||
bullet3 = "Strict s’arrête si du texte sélectionnable est trouvé."
|
||
text = "La reconnaissance optique de caractères (OCR) vous aide à transformer des pages scannées ou capturées en texte que vous pouvez rechercher, copier ou surligner."
|
||
title = "Mode OCR"
|
||
|
||
[ocr.tooltip.output]
|
||
bullet1 = "Le PDF consultable intègre le texte derrière l’image d’origine."
|
||
bullet2 = "HOCR XML renvoie un fichier structuré lisible par machine."
|
||
bullet3 = "Le sidecar texte crée un fichier .txt séparé avec le contenu brut."
|
||
text = "Décidez du format de sortie du texte :"
|
||
title = "Sortie"
|
||
|
||
[onboarding]
|
||
activeFiles = "La vue <strong>Fichiers actifs</strong> affiche tous les PDF chargés dans l’outil et vous permet de choisir ceux à traiter."
|
||
allTools = "This is the <strong>All Tools</strong> panel, where you can browse and select from all available PDF tools."
|
||
close = "Fermer"
|
||
cropSettings = "Maintenant que nous avons sélectionné le fichier que nous voulons rogner, nous pouvons configurer l’outil Rogner pour définir la zone de rognage du PDF."
|
||
dialogLabel = "Onboarding"
|
||
fileCheckbox = "Cliquer sur l’un des fichiers le sélectionne pour le traitement. Vous pouvez en sélectionner plusieurs pour des opérations par lots."
|
||
fileReplacement = "Le fichier modifié remplacera automatiquement le fichier d’origine dans le Workbench, ce qui vous permettra de le faire passer facilement par d’autres outils."
|
||
filesButton = "Le bouton <strong>Fichiers</strong> de la barre d’accès rapide vous permet de téléverser des PDF à utiliser avec les outils."
|
||
fileSources = "Vous pouvez téléverser de nouveaux fichiers ou accéder à des fichiers récents depuis ici. Pour la visite, nous utiliserons un fichier d’exemple."
|
||
finish = "Terminer"
|
||
next = "Suivant"
|
||
pinButton = "Vous pouvez utiliser le bouton <strong>Épingler</strong> si vous préférez que vos fichiers restent actifs après l’exécution des outils."
|
||
results = "Après l’exécution de l’outil, l’étape de <strong>Revue</strong> affichera un aperçu des résultats dans ce panneau et vous permettra d’annuler l’opération ou de télécharger le fichier."
|
||
runButton = "Une fois l’outil configuré, ce bouton vous permet d’exécuter l’outil sur tous les PDF sélectionnés."
|
||
selectCropTool = "Sélectionnons l’outil <strong>Rogner</strong> pour montrer comment utiliser l’un des outils."
|
||
stepOf = "Étape {{current}} sur {{total}}"
|
||
toolInterface = "Voici l’interface de l’outil <strong>Rogner</strong>. Comme vous pouvez le voir, il n’y a pas grand-chose pour l’instant car nous n’avons pas encore ajouté de fichiers PDF sur lesquels travailler."
|
||
workbench = "Voici le <strong>Workbench</strong> - la zone principale où vous visualisez et modifiez vos PDF."
|
||
wrapUp = "Tout est prêt ! Vous avez appris les principales zones de l’application et comment les utiliser. Cliquez sur le bouton <strong>Aide</strong> quand vous le souhaitez pour revoir cette visite."
|
||
|
||
[onboarding.buttons]
|
||
back = "Retour"
|
||
download = "Télécharger →"
|
||
next = "Suivant →"
|
||
showMeAround = "Faites-moi faire le tour"
|
||
skipForNow = "Passer pour l’instant"
|
||
skipTheTour = "Passer la visite"
|
||
|
||
[onboarding.checklist]
|
||
dismiss = "Ignorer"
|
||
title = "Configurer Stirling PDF"
|
||
|
||
[onboarding.checklist.downloadDesktop]
|
||
description = "Exécutez Stirling nativement sur votre machine"
|
||
title = "Télécharger Stirling pour ordinateur"
|
||
|
||
[onboarding.checklist.inviteTeam]
|
||
description = "Collaborez avec votre équipe"
|
||
title = "Inviter des membres de l’équipe"
|
||
|
||
[onboarding.checklist.shareAnalytics]
|
||
description = "Aidez à améliorer Stirling"
|
||
title = "Partager des données d’utilisation anonymes"
|
||
|
||
[onboarding.checklist.takeTour]
|
||
description = "Découvrez le fonctionnement de Stirling avec une visite rapide"
|
||
title = "Faire la visite guidée"
|
||
|
||
[onboarding.desktopInstall]
|
||
body = "Stirling fonctionne mieux en application de bureau. Vous pouvez l’utiliser hors ligne, accéder plus rapidement aux documents et effectuer des modifications en local sur votre ordinateur."
|
||
selectOs = "Sélectionner le système d’exploitation"
|
||
title = "Télécharger"
|
||
titleWithOs = "Télécharger pour {{osLabel}}"
|
||
|
||
[onboarding.mfa]
|
||
authenticationCode = "Code d’authentification"
|
||
description = "Sécurisez votre compte en associant une application d’authentification. Scannez le code QR ou saisissez la clé de configuration, puis confirmez le code à 6 chiffres pour terminer."
|
||
enable = "Activer la MFA"
|
||
enableError = "Impossible d’activer l’authentification à deux facteurs. Vérifiez le code et réessayez."
|
||
enterCode = "Saisissez le code à 6 chiffres de votre application."
|
||
enterCodeError = "Saisissez le code d’authentification pour continuer."
|
||
logout = "Déconnexion"
|
||
openAuthenticator = "Ouvrez Google Authenticator, Authy ou 1Password."
|
||
qrCodeLoading = "Génération de votre code QR…"
|
||
regenerateQrCode = "Regénérer le code QR"
|
||
scanQrCode = "Scannez le code QR ou saisissez la clé de configuration ci-dessous."
|
||
setupError = "Impossible de démarrer la configuration à deux facteurs. Veuillez réessayer."
|
||
setupKey = "Clé de configuration (saisie manuelle)"
|
||
stepByStep = "Étape par étape"
|
||
success = "La MFA a été activée. Vous pouvez maintenant continuer."
|
||
title = "Configuration de l’authentification multifacteur"
|
||
|
||
[onboarding.planOverview]
|
||
adminBodyLoginDisabled = "Une fois le mode connexion activé, vous pourrez gérer les utilisateurs, configurer les paramètres et surveiller la santé du serveur. Les <strong>{{freeTierLimit}}</strong> premières personnes sur votre serveur utilisent Stirling gratuitement."
|
||
adminBodyLoginEnabled = "En tant qu’admin, vous pouvez gérer les utilisateurs, configurer les paramètres et surveiller la santé du serveur. Les <strong>{{freeTierLimit}}</strong> premières personnes sur votre serveur utilisent Stirling gratuitement."
|
||
adminTitle = "Aperçu admin"
|
||
userBody = "Invitez des coéquipiers, assignez des rôles et gardez vos documents organisés dans un espace de travail sécurisé. Activez le mode connexion quand vous êtes prêt à aller au‑delà d’un usage solo."
|
||
userTitle = "Aperçu du plan"
|
||
|
||
[onboarding.processorIntro]
|
||
body = "Stirling exécute désormais des <strong>politiques</strong> — des règles automatisées qui classent, sécurisent et traitent chaque document à son arrivée. Configurez-les et surveillez les exécutions dans le <strong>Processor</strong>."
|
||
cta = "Découvrir le Processor"
|
||
title = "Découvrez le Stirling Processor"
|
||
|
||
[onboarding.saas.freeEditor]
|
||
freeLine = "The editor is now <free>completely free</free>."
|
||
premium = "We've added loads of new features, including <strong>Policies</strong> and <strong>Agent Chat</strong>."
|
||
title = "Welcome to Stirling"
|
||
|
||
[onboarding.saas.team]
|
||
addButton = "Add"
|
||
createBody = "Work on documents together: teammates share files, automations and your plan. Add the first member by email to create your team."
|
||
createTitle = "Create your team"
|
||
inviteBody = "Everyone on your team shares files, automations and your plan. Add teammates by email and they'll get an invitation."
|
||
inviteTitle = "Invite members to your team"
|
||
|
||
[onboarding.saas.usage]
|
||
body = "Automations, AI and API requests draw from your free allowance. Manual editing never counts against it."
|
||
title = "Your free Processor allowance"
|
||
|
||
[onboarding.securityCheck]
|
||
message = "L’application a subi des changements importants récemment. L’attention de l’administrateur du serveur peut être requise. Veuillez confirmer votre rôle pour continuer."
|
||
roleAdmin = "Administrateur"
|
||
rolePlaceholder = "Confirmez votre rôle"
|
||
roleUser = "Utilisateur"
|
||
|
||
[onboarding.serverLicense]
|
||
freeBody = "Notre licence <strong>Open-Core</strong> autorise jusqu’à <strong>{{freeTierLimit}}</strong> utilisateurs gratuits par serveur. Pour évoluer sans interruption et accéder en avant-première à notre nouvel <strong>outil d’édition de texte PDF</strong>, nous recommandons le plan Stirling Server — édition complète et <strong>places illimitées</strong> pour 99 $/serveur/mois."
|
||
freeTitle = "Licence serveur"
|
||
overLimitBody = "Notre licence autorise jusqu’à <strong>{{freeTierLimit}}</strong> utilisateurs gratuits par serveur. Vous avez <strong>{{overLimitUserCopy}}</strong> utilisateurs Stirling. Pour continuer sans interruption, passez au plan Stirling Server — <strong>places illimitées</strong>, édition de texte PDF et contrôle d’administration complet pour 99 $/serveur/mois."
|
||
overLimitTitle = "Licence serveur requise"
|
||
seePlans = "Voir les offres →"
|
||
upgrade = "Mettre à niveau maintenant →"
|
||
|
||
[onboarding.tourOverview]
|
||
body = "Stirling PDF V2 est livré avec des dizaines d’outils et une interface renouvelée. Faites une visite rapide pour voir ce qui a changé et où trouver les fonctionnalités dont vous avez besoin."
|
||
title = "Aperçu de la visite"
|
||
|
||
[onboarding.welcomeSlide]
|
||
body = "Stirling PDF est désormais prêt pour des équipes de toutes tailles. Cette mise à jour inclut une nouvelle interface, de puissantes fonctionnalités d’administration et notre fonctionnalité la plus demandée — <strong>Modifier le texte</strong>."
|
||
title = "Bienvenue dans Stirling"
|
||
|
||
[onboarding.whatsNew]
|
||
activeFilesView = "Utilisez Fichiers actifs pour voir tout ce que vous avez ouvert et choisir sur quoi travailler."
|
||
fileUpload = "Utilisez le bouton <strong>Fichiers</strong> pour téléverser ou choisir un PDF récent. Nous chargerons un exemple pour vous montrer l’espace de travail."
|
||
leftPanel = "Le panneau <strong>Outils</strong> à gauche liste tout ce que vous pouvez faire. Parcourez les catégories ou recherchez pour trouver un outil rapidement."
|
||
pageEditorView = "Passez à l’Éditeur de pages pour réorganiser, pivoter ou supprimer des pages."
|
||
quickAccess = "Commencez par le <strong>rail Accès rapide</strong> pour passer entre Lecteur, Automatiser, vos fichiers et toutes les visites."
|
||
topBar = "La barre supérieure permet de basculer entre la <strong>Visionneuse</strong>, <strong>l’Éditeur de pages</strong> et <strong>les fichiers actifs</strong>."
|
||
wrapUp = "Voilà les nouveautés de la V2. Ouvrez le menu <strong>Visites guidées</strong> à tout moment pour rejouer ceci, le parcours des outils ou le parcours Admin."
|
||
|
||
[overlay-pdfs]
|
||
desc = "Superposer un PDF sur un autre"
|
||
submit = "Soumettre"
|
||
tags = "Overlay,incrustation"
|
||
title = "Superposer des PDF"
|
||
|
||
[overlay-pdfs.counts]
|
||
item = "Nombre pour le fichier"
|
||
label = "Nombre de superpositions (pour le mode de répétition fixe)"
|
||
noFiles = "Ajoutez des fichiers de superposition pour configurer les nombres"
|
||
|
||
[overlay-pdfs.error]
|
||
failed = "Une erreur s’est produite lors de la superposition des PDF."
|
||
|
||
[overlay-pdfs.mode]
|
||
fixedRepeat = "Superposition à répétition fixe"
|
||
interleaved = "Superposition entrelacée"
|
||
label = "Sélectionner le mode d'incrustation"
|
||
sequential = "Superposition séquentielle"
|
||
|
||
[overlay-pdfs.overlayFiles]
|
||
addMore = "Ajouter d’autres PDF…"
|
||
label = "Sélectionner les fichiers PDF à superposer"
|
||
placeholder = "Choisir un(des) PDF…"
|
||
|
||
[overlay-pdfs.position]
|
||
background = "Arrière-plan"
|
||
foreground = "Premier plan"
|
||
label = "Définir la position de l'incrustation"
|
||
|
||
[overlay-pdfs.results]
|
||
title = "Résultats de superposition"
|
||
|
||
[overlay-pdfs.settings]
|
||
title = "Paramètres"
|
||
|
||
[overlay-pdfs.tooltip.counts]
|
||
text = "Fournissez un nombre positif pour chaque fichier de superposition indiquant combien de pages prendre avant de passer au suivant. Obligatoire lorsque le mode est Répétition fixe."
|
||
title = "Nombres (Répétition fixe uniquement)"
|
||
|
||
[overlay-pdfs.tooltip.description]
|
||
text = "Combinez un PDF de base avec un ou plusieurs PDF de superposition. Les superpositions peuvent être appliquées page par page selon différents modes et placées au premier plan ou en arrière‑plan."
|
||
title = "Description"
|
||
|
||
[overlay-pdfs.tooltip.header]
|
||
title = "Aperçu de la superposition de PDF"
|
||
|
||
[overlay-pdfs.tooltip.mode]
|
||
fixedRepeat = "Superposition à répétition fixe : prenez un nombre défini de pages de chaque superposition avant de passer à la suivante. Utilisez Nombres pour définir les valeurs."
|
||
interleaved = "Superposition entrelacée : prenez une page de chaque superposition à tour de rôle."
|
||
sequential = "Superposition séquentielle : utilisez les pages du premier PDF de superposition jusqu’à la fin, puis passez au suivant."
|
||
text = "Choisissez comment répartir les pages de superposition sur les pages du PDF de base."
|
||
title = "Mode de superposition"
|
||
|
||
[overlay-pdfs.tooltip.overlayFiles]
|
||
text = "Sélectionnez un ou plusieurs PDF à superposer sur la base. L’ordre de ces fichiers influe sur l’application des pages en modes Séquentiel et Répétition fixe."
|
||
title = "Fichiers de superposition"
|
||
|
||
[overlay-pdfs.tooltip.position]
|
||
text = "Le premier plan place la superposition au-dessus de la page. L’arrière‑plan la place derrière."
|
||
title = "Position de superposition"
|
||
|
||
[pageEdit]
|
||
deselectAll = "Ne rien sélectionner"
|
||
selectAll = "Tout sélectionner"
|
||
|
||
[pageEditor]
|
||
title = "Éditeur de pages"
|
||
|
||
[pageEditor.emptyState]
|
||
body = "Ajoutez des fichiers pour commencer à modifier les pages"
|
||
title = "Aucun fichier PDF chargé"
|
||
|
||
[pageEditor.toolbar]
|
||
delete = "Supprimer la sélection"
|
||
redo = "Rétablir"
|
||
rotateLeft = "Pivoter la sélection vers la gauche"
|
||
rotateRight = "Pivoter la sélection vers la droite"
|
||
undo = "Annuler"
|
||
|
||
[pageExtracter]
|
||
title = "Extraire des pages"
|
||
|
||
[pageLayout]
|
||
addBorder = "Ajouter des bordures"
|
||
borderWidth = "Épaisseur de la bordure"
|
||
bottom = "Marge inférieure"
|
||
cols = "Colonnes"
|
||
colsPlaceholder = "Saisir le nombre de colonnes"
|
||
innerMargin = "Marge intérieure"
|
||
left = "Marge gauche"
|
||
pagesPerSheet = "Pages par feuille"
|
||
right = "Marge droite"
|
||
rows = "Lignes"
|
||
rowsPlaceholder = "Saisir le nombre de lignes"
|
||
submit = "Fusionner"
|
||
tags = "fusionner,merge,composite,single-view,organize"
|
||
title = "Fusionner des pages"
|
||
top = "Marge supérieure"
|
||
|
||
[pageLayout.advanced.tooltip.arrangement]
|
||
bullet1 = "Par lignes : Remplit chaque ligne en premier."
|
||
bullet2 = "Par colonnes : Remplit chaque colonne en premier."
|
||
text = "Détermine si les pages remplissent la grille ligne par ligne ou colonne par colonne."
|
||
title = "Agencement des pages"
|
||
|
||
[pageLayout.advanced.tooltip.header]
|
||
title = "Options avancées de mise en page"
|
||
|
||
[pageLayout.advanced.tooltip.orientation]
|
||
text = "Choisissez l'orientation finale de la feuille. Le mode portrait convient mieux au contenu vertical, tandis que le mode paysage s'adapte aux mises en page plus larges."
|
||
title = "Orientation"
|
||
|
||
[pageLayout.advanced.tooltip.readingDirection]
|
||
bullet1 = "LTR : Ordre de gauche à droite."
|
||
bullet2 = "RTL : Ordre de droite à gauche."
|
||
text = "Définit l'ordre horizontal dans la grille, utile selon les conventions de documents de gauche à droite ou de droite à gauche."
|
||
title = "Sens de lecture"
|
||
|
||
[pageLayout.arrangement]
|
||
byColumns = "Par colonnes"
|
||
byRows = "Par lignes"
|
||
label = "Agencement des pages :"
|
||
|
||
[pageLayout.desc]
|
||
16 = "Placer 16 pages sur une seule feuille (grille 4 × 4)."
|
||
2 = "Placer 2 pages côte à côte sur une seule feuille."
|
||
4 = "Placer 4 pages sur une seule feuille (grille 2 × 2)."
|
||
9 = "Placer 9 pages sur une seule feuille (grille 3 × 3)."
|
||
|
||
[pageLayout.error]
|
||
failed = "Une erreur s’est produite lors de la création de la mise en page multi‑pages."
|
||
innerMarginTooLarge = "La marge intérieure est trop grande pour la mise en page sélectionnée."
|
||
outerHorizontalMarginsTooLarge = "Les marges gauche/droite sont trop grandes pour ce format de page."
|
||
outerVerticalMarginsTooLarge = "Les marges supérieure/inférieure sont trop grandes pour ce format de page."
|
||
|
||
[pageLayout.margins]
|
||
borderThicknessPlaceholder = "Saisir l’épaisseur de bordure"
|
||
bottomPlaceholder = "Saisir la marge inférieure"
|
||
innerPlaceholder = "Saisir la marge intérieure"
|
||
leftPlaceholder = "Saisir la marge gauche"
|
||
rightPlaceholder = "Saisir la marge droite"
|
||
topPlaceholder = "Saisir la marge supérieure"
|
||
|
||
[pageLayout.marginsBorders.tooltip.borders]
|
||
text = "Activez les bordures pour tracer des lignes autour de chaque page placée. Cela peut aider à la séparation visuelle ou à la découpe."
|
||
title = "Ajouter des bordures"
|
||
|
||
[pageLayout.marginsBorders.tooltip.borderWidth]
|
||
text = "L'épaisseur de la bordure n'est appliquée que lorsque les bordures sont activées. Des valeurs plus élevées produisent des lignes plus épaisses."
|
||
title = "Épaisseur de la bordure"
|
||
|
||
[pageLayout.marginsBorders.tooltip.header]
|
||
title = "Marges et bordures"
|
||
|
||
[pageLayout.marginsBorders.tooltip.innerMargin]
|
||
text = "La marge intérieure ajoute un espacement entre les cellules de la grille de pages afin d'améliorer la séparation et la lisibilité."
|
||
title = "Marge intérieure"
|
||
|
||
[pageLayout.marginsBorders.tooltip.margins]
|
||
text = "Utilisez les marges supérieure, inférieure, gauche et droite pour contrôler l'espacement autour de l'ensemble de la feuille de sortie."
|
||
title = "Marges"
|
||
|
||
[pageLayout.mode]
|
||
custom = "Personnalisé"
|
||
default = "Par défaut"
|
||
label = "Mode :"
|
||
|
||
[pageLayout.orientation]
|
||
label = "Orientation :"
|
||
landscape = "Paysage"
|
||
portrait = "Portrait"
|
||
|
||
[pageLayout.readingDirection]
|
||
label = "Sens de lecture :"
|
||
ltr = "De gauche à droite"
|
||
rtl = "De droite à gauche"
|
||
|
||
[pageLayout.tooltip.header]
|
||
title = "Guide de mise en page"
|
||
|
||
[pageLayout.tooltip.mode]
|
||
bullet1 = "Par défaut : Choisissez un préréglage et la grille est calculée automatiquement."
|
||
bullet2 = "Personnalisé : Définissez manuellement les lignes et les colonnes."
|
||
text = "Choisissez la configuration de la grille :"
|
||
title = "Mode"
|
||
|
||
[pageLayout.tooltip.overview]
|
||
text = "Ajustez plusieurs pages sur une seule feuille pour des documents à distribuer ou pour économiser du papier."
|
||
title = "Qu'est-ce que la mise en page ?"
|
||
|
||
[pageLayout.tooltip.pagesPerSheet]
|
||
text = "Choisissez le nombre de pages par feuille (p. ex. 4 → 2×2, 9 → 3×3)."
|
||
title = "Pages par feuille (mode par défaut)"
|
||
|
||
[pageLayout.tooltip.rowsCols]
|
||
text = "Définissez les dimensions exactes de la grille. Nombre total de pages par feuille = lignes × colonnes."
|
||
title = "Lignes et colonnes (mode personnalisé)"
|
||
|
||
[pageRemover]
|
||
title = "Supprimer des pages"
|
||
|
||
[pageSelection.tooltip]
|
||
description = "Choisissez les pages à utiliser pour l’opération. Prend en charge les pages simples, les plages, les formules et le mot-clé all."
|
||
|
||
[pageSelection.tooltip.complex]
|
||
bullet1 = "<strong>1,3-5,8,2n</strong> → pages 1, 3–5, 8, plus les paires"
|
||
bullet2 = "<strong>10-,2n-1</strong> → de la page 10 à la fin + pages impaires"
|
||
description = "Mélanger différents types."
|
||
title = "Combinaisons complexes"
|
||
|
||
[pageSelection.tooltip.header]
|
||
title = "Guide de sélection des pages"
|
||
|
||
[pageSelection.tooltip.individual]
|
||
bullet1 = "<strong>1,3,5</strong> → sélectionne les pages 1, 3, 5"
|
||
bullet2 = "<strong>2,7,12</strong> → sélectionne les pages 2, 7, 12"
|
||
description = "Entrez des nombres séparés par des virgules."
|
||
title = "Pages individuelles"
|
||
|
||
[pageSelection.tooltip.mathematical]
|
||
bullet1 = "<strong>2n</strong> → toutes les pages paires (2, 4, 6…)"
|
||
bullet2 = "<strong>2n-1</strong> → toutes les pages impaires (1, 3, 5…)"
|
||
bullet3 = "<strong>3n</strong> → chaque 3e page (3, 6, 9…)"
|
||
bullet4 = "<strong>4n-1</strong> → pages 3, 7, 11, 15…"
|
||
description = "Utilisez n dans des formules pour définir des motifs."
|
||
title = "Fonctions mathématiques"
|
||
|
||
[pageSelection.tooltip.ranges]
|
||
bullet1 = "<strong>3-6</strong> → sélectionne les pages 3–6"
|
||
bullet2 = "<strong>10-15</strong> → sélectionne les pages 10–15"
|
||
bullet3 = "<strong>5-</strong> → sélectionne les pages de 5 à la fin"
|
||
description = "Utilisez - pour des pages consécutives."
|
||
title = "Plages de pages"
|
||
|
||
[pageSelection.tooltip.special]
|
||
bullet1 = "<strong>all</strong> → sélectionne toutes les pages"
|
||
title = "Mots-clés spéciaux"
|
||
|
||
[payg.activity]
|
||
docs = "docs"
|
||
empty = "No billable activity yet this period."
|
||
subtitle = "Only AI and automation draw from your budget. Everyday tools are free and aren't listed here."
|
||
title = "Recent billable activity"
|
||
|
||
[payg.cap]
|
||
amount = "Cap amount"
|
||
custom = "Custom"
|
||
docsEstimate = "≈ {{docs}} processed PDFs / month"
|
||
docsRate = "at {{rate}} / PDF"
|
||
noCapDesc = "Usage is billed without an upper limit. You can re-enable a cap at any time."
|
||
noCapLabel = "No cap"
|
||
noneShort = "No cap"
|
||
perMonth = "/ month"
|
||
save = "Update cap"
|
||
subtitle = "Set your maximum spend. We convert this to PDFs using the current price tier."
|
||
title = "Monthly spending cap"
|
||
|
||
[payg.checkout]
|
||
connecting = "Connecting to Stripe…"
|
||
errorTitle = "Stripe error"
|
||
|
||
[payg.checkout.error]
|
||
startFailed = "Couldn't start checkout session"
|
||
|
||
[payg.checkout.mock]
|
||
backend = "Backend is in mock mode; no real Stripe session was created."
|
||
continue = "Continue with mock subscription"
|
||
noKey = "VITE_STRIPE_PUBLISHABLE_KEY is unset. Real iframe mounts here once configured."
|
||
title = "Stripe Embedded Checkout (mock mode)"
|
||
|
||
[payg.confirm]
|
||
body = "Your team can now run automation, AI, and API operations beyond your 500 free PDFs."
|
||
capValue = "{{symbol}}{{amount}} / month"
|
||
noCap = "No cap"
|
||
note = "You can change your cap, cancel, or open the Stripe customer portal any time from this page."
|
||
summaryLabel = "Monthly ceiling"
|
||
title = "Welcome to the Processor plan"
|
||
|
||
[payg.docHelp]
|
||
billable = "Only automation runs, AI tools, and API calls count. Manual tools in the editor are always free."
|
||
chains = "Running the same file through several steps of one automation counts it once, not once per step."
|
||
perFile = "Each file you process counts as one PDF. Very long or very large files can count as more than one."
|
||
refunds = "If a job fails on its first step, the PDF is credited back automatically."
|
||
toggle = "What counts as a PDF?"
|
||
|
||
[payg.error]
|
||
body = "We couldn't reach the billing service. Refresh the page to try again."
|
||
title = "Couldn't load your plan"
|
||
|
||
[payg.free.cta]
|
||
benefit1Body = "chain tools, schedule runs, batch process"
|
||
benefit1Title = "Automation pipelines"
|
||
benefit2Body = "summarise, classify, redact, AI-OCR"
|
||
benefit2Title = "AI tools"
|
||
benefit3Body = "call any Stirling endpoint programmatically"
|
||
benefit3Title = "API access"
|
||
button = "Turn on Processor →"
|
||
reassurance = "No minimum · Set a $0 cap to test · Cancel anytime"
|
||
subtitle = "Keep going past your 500 free PDFs with automation, AI, and the API. Set a monthly ceiling, so you stay in control."
|
||
title = "Turn on the Processor plan"
|
||
|
||
[payg.free.editor]
|
||
eyebrow = "Editor plan · Always free"
|
||
|
||
[payg.free.header]
|
||
freeBody = "View, edit, merge, split, sign, watermark, compress, convert and manual OCR — as much as you want, no matter where you trigger it."
|
||
freeTitle = "Unlimited PDF editing"
|
||
|
||
[payg.free.hero]
|
||
barAria = "Free PDFs remaining"
|
||
capSuffix = "/ {{limit}} free PDFs"
|
||
metaCategories = "Automation · AI · API requests"
|
||
|
||
[payg.free.member]
|
||
ownerOnly = "Only your team owner can turn on Processor. Manual tools stay free for you to use as much as you like."
|
||
|
||
[payg.free.proc]
|
||
eyebrow = "Processor plan · metered"
|
||
|
||
[payg.free.state]
|
||
approachingLimit = "Approaching limit"
|
||
limitReached = "Limit reached"
|
||
plentyLeft = "Plenty left"
|
||
|
||
[payg.gates]
|
||
ai = "AI tools (AI Create, suggestions, AI-OCR)"
|
||
automation = "Automations & pipelines"
|
||
client = "Browser-only tools (viewer, page editor, file management)"
|
||
offsite = "Server tools (compress, OCR, convert, watermark…)"
|
||
pauses = "pauses at cap"
|
||
title = "What happens when the cap is reached"
|
||
|
||
[payg.header]
|
||
eyebrow = "Processor plan · {{start}} – {{end}}"
|
||
freeBody = "View, edit, merge, split, sign, watermark, compress, convert and manual OCR — as much as you want, no matter where you trigger it."
|
||
freeLabel = "Always free"
|
||
freeTitle = "Unlimited PDF editing"
|
||
meterBody = "{{limit}} free PDFs to start, then billed per PDF up to your cap."
|
||
meterLabel = "Metered"
|
||
meterTitle = "Automation · AI · API"
|
||
|
||
[payg.member]
|
||
askLeader = "Only your team owner can change the cap."
|
||
|
||
[payg.members]
|
||
docs = "PDFs"
|
||
subtitle = "Billable PDFs each teammate has processed this period."
|
||
title = "Team member usage"
|
||
|
||
[payg.prepaid]
|
||
chip = "Année prépayée"
|
||
|
||
[payg.prepaid.banner]
|
||
exhausted = "Votre capacité prépayée est épuisée ; la facturation à l’usage a repris. Rechargez pour conserver la remise."
|
||
expiring_one = "Votre année prépayée se termine dans {{count}} jour. La capacité inutilisée expire — rechargez pour démarrer une nouvelle année."
|
||
expiring_other = "Votre année prépayée se termine dans {{count}} jours. La capacité inutilisée expire — rechargez pour démarrer une nouvelle année."
|
||
low = "Il ne vous reste plus que {{pct}} % de votre capacité prépayée. Rechargez à tout moment pour continuer le traitement sans interruption."
|
||
|
||
[payg.prepaid.card]
|
||
subtitle = "Utilisée avant la facturation à l’usage et en dehors de votre plafond de dépenses."
|
||
title = "Capacité prépayée"
|
||
|
||
[payg.prepaid.meter]
|
||
capSuffix = "sur {{total}} crédits prépayés"
|
||
expires = "Expire le {{date}}"
|
||
|
||
[payg.prepaid.state]
|
||
exhausted = "Épuisée"
|
||
healthy = "Il en reste beaucoup"
|
||
low = "Bientôt épuisée"
|
||
|
||
[payg.role]
|
||
leader = "Team owner"
|
||
member = "Member"
|
||
|
||
[payg.signupRequired]
|
||
body = "Stirling PDF gives every signed-up account 500 free operations, enough to keep most workflows humming without paying a cent. You're currently using Stirling as a guest, which doesn't include billable tools like AI, automations, or hosted processing."
|
||
cancel = "Not now"
|
||
cta = "Sign up free"
|
||
subtext = "Creating an account is free and takes a few seconds. No credit card required."
|
||
title = "Sign up to use {{category}}"
|
||
|
||
[payg.signupRequired.category]
|
||
ai = "AI features"
|
||
api = "this tool"
|
||
automation = "automations"
|
||
default = "this feature"
|
||
|
||
[payg.spendCapMeter]
|
||
barAria = "Spend against cap"
|
||
capSuffix = "/ {{amount}} cap"
|
||
metaCategories = "Automation · AI · API spend"
|
||
resets = "Resets each billing period"
|
||
|
||
[payg.state]
|
||
degraded = "Cap reached"
|
||
full = "Healthy"
|
||
warned = "Approaching cap"
|
||
|
||
[payg.stripe]
|
||
open = "Open billing portal"
|
||
subtitle = "Receipts, invoices, payment method, billing currency."
|
||
title = "Manage billing in Stripe"
|
||
|
||
[payg.stripe.toast.unavailable]
|
||
body = "Billing portal isn't available right now. Try again in a moment."
|
||
title = "Billing portal unavailable"
|
||
|
||
[payg.upgrade]
|
||
backAria = "Back"
|
||
closeAria = "Close"
|
||
|
||
[payg.upgrade.button]
|
||
cancel = "Cancel"
|
||
continue = "Continue →"
|
||
finish = "Finish"
|
||
|
||
[payg.upgrade.cap]
|
||
help = "We'll never charge above this. Set $0 if you want to keep everything free while testing."
|
||
title = "Set your monthly spend ceiling"
|
||
usdNote = "Estimated in USD. You can adjust your cap any time after subscribing, in your own currency."
|
||
|
||
[payg.upgrade.checkout]
|
||
capValue = "{{symbol}}{{amount}} / month"
|
||
edit = "Edit"
|
||
help = "Stripe handles your card details. Stirling never sees them."
|
||
loading = "Loading checkout…"
|
||
noCap = "No cap"
|
||
title = "Add your payment method"
|
||
|
||
[payg.upgrade.help]
|
||
aiBody = "summarise, classify, redact, AI-OCR"
|
||
aiTitle = "AI tools"
|
||
apiBody = "programmatic access to any Stirling endpoint"
|
||
apiTitle = "API calls"
|
||
automationBody = "chained tools or scheduled runs that don't need clicks"
|
||
automationTitle = "Automation pipelines"
|
||
footnote = "Manual tools (viewing, editing, merging, splitting, watermarking, compressing, manual OCR) are always free, even past 500. The distinction is the type of work, not where you click."
|
||
title = "What we count toward billing"
|
||
|
||
[payg.upgrade.promise]
|
||
body = "You only pay for automation pipelines, AI tools, and API calls, the work that goes beyond a single click. Edit, merge, split, sign, compress as much as you want, no charge."
|
||
highlight = "Manual tools stay free, always."
|
||
|
||
[payg.upgrade.steps]
|
||
cap = "Set monthly ceiling"
|
||
payment = "Add payment method"
|
||
|
||
[payg.upgrade.title]
|
||
confirm = "You're subscribed"
|
||
default = "Upgrade to Processor plan"
|
||
|
||
[payg.usage]
|
||
breakdown = "AI {{ai}} • Automation {{automation}} • API {{api}}"
|
||
capLine = "{{cap}}/mo cap"
|
||
estBill = "≈ {{amount}} so far this period"
|
||
firstFree = "First {{free}} free"
|
||
noCap = "No monthly cap"
|
||
ofLimitProcessed = "/ {{limit}} PDFs processed"
|
||
processed = "PDFs processed"
|
||
resetsIn = "Resets in {{days}} days"
|
||
resetsTomorrow = "Resets tomorrow"
|
||
thisPeriod = "This billing period"
|
||
|
||
[payment]
|
||
canCloseWindow = "Vous pouvez maintenant fermer cette fenêtre."
|
||
error = "Erreur de paiement"
|
||
generatingLicense = "Génération de votre clé de licence…"
|
||
licenseActivated = "Licence activée ! Votre clé de licence a été enregistrée. Un e‑mail de confirmation a été envoyé à l’adresse enregistrée."
|
||
licenseDelayed = "Paiement réussi ! Votre licence est en cours de génération. Vous recevrez bientôt un e‑mail avec votre clé de licence. Si vous ne la recevez pas sous 10 minutes, veuillez contacter le support."
|
||
licenseDelayedMessage = "Votre clé de licence est en cours de génération. Veuillez consulter votre e‑mail prochainement ou contacter le support."
|
||
licenseInstructions = "Ceci a été ajouté à votre installation. Vous en recevrez aussi une copie par e‑mail."
|
||
licenseKey = "Votre clé de licence"
|
||
licensePollingError = "Paiement réussi mais nous n’avons pas pu récupérer votre clé de licence automatiquement. Veuillez vérifier votre e‑mail ou contacter le support avec votre confirmation de paiement."
|
||
licenseRetrievalError = "Paiement réussi mais l’obtention de la licence a échoué. Vous recevrez votre clé de licence par e‑mail. Veuillez contacter le support si vous ne la recevez pas sous 10 minutes."
|
||
licenseSaveError = "Échec de l’enregistrement de la clé de licence. Veuillez contacter le support avec votre clé pour finaliser l’activation."
|
||
monthly = "Mensuel"
|
||
paymentCanceled = "Le paiement a été annulé. Aucun débit effectué."
|
||
perMonth = "/mois"
|
||
preparing = "Préparation de votre paiement..."
|
||
redirecting = "Redirection vers le paiement sécurisé..."
|
||
success = "Paiement réussi !"
|
||
successMessage = "Votre abonnement a été activé avec succès. Vous recevrez un e-mail de confirmation sous peu."
|
||
syncError = "Paiement réussi mais la synchronisation de la licence a échoué. Votre licence sera mise à jour sous peu. Veuillez contacter le support si le problème persiste."
|
||
syncingLicense = "Synchronisation de votre licence mise à niveau…"
|
||
upgradeComplete = "Mise à niveau terminée"
|
||
upgradeCompleteMessage = "Votre abonnement a été mis à niveau avec succès. Votre clé de licence existante a été mise à jour."
|
||
upgradeSuccess = "Paiement réussi ! Votre abonnement a été mis à niveau. La licence a été mise à jour sur votre serveur. Vous recevrez bientôt un e‑mail de confirmation."
|
||
upgradeTitle = "Mettre à niveau vers {{planName}}"
|
||
yearly = "Annuel"
|
||
|
||
[payment.emailStage]
|
||
continue = "Continuer"
|
||
description = "Nous l’utiliserons pour vous envoyer votre clé de licence et vos reçus."
|
||
emailLabel = "Adresse e‑mail"
|
||
emailPlaceholder = "votre@email.com"
|
||
modalTitle = "Commencer — {{planName}}"
|
||
|
||
[payment.paymentStage]
|
||
modalTitle = "Finaliser le paiement — {{planName}}"
|
||
|
||
[payment.planStage]
|
||
billedYearly = "Facturé annuellement {{currency}}{{amount}}"
|
||
modalTitle = "Sélectionner la période de facturation — {{planName}}"
|
||
savePercent = "Économisez {{percent}} %"
|
||
savingsAmount = "Vous économisez {{amount}}"
|
||
selectMonthly = "Choisir Mensuel"
|
||
selectYearly = "Choisir Annuel"
|
||
|
||
[pdfCommentAgent]
|
||
submit = "Générer les commentaires"
|
||
|
||
[pdfCommentAgent.error]
|
||
emptyPrompt = "Veuillez décrire sur quoi l’IA doit commenter"
|
||
failed = "Échec de la génération des commentaires"
|
||
tooLong = "La consigne est trop longue (maximum {{max}} caractères)"
|
||
|
||
[pdfCommentAgent.prompt]
|
||
label = "Sur quoi l’IA doit-elle commenter ?"
|
||
placeholder = "ex. Signaler toute date ambiguë et proposer des clarifications"
|
||
|
||
[pdfCommentAgent.results]
|
||
title = "PDF commenté"
|
||
|
||
[pdfCommentAgent.settings]
|
||
title = "Consignes de commentaire"
|
||
|
||
[pdfOrganiser]
|
||
placeholder = "(par exemple 1,3,2 ou 4-8,2,10-12 ou 2n-1)"
|
||
tags = "organiser,recto-verso,duplex,even,odd,sort,move"
|
||
title = "Organiser"
|
||
|
||
[pdfOrganiser.mode]
|
||
1 = "Ordre des pages personnalisé"
|
||
10 = "Fusionner Impair-Pair"
|
||
11 = "Dupliquer toutes les pages"
|
||
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"
|
||
_value = "Mode"
|
||
|
||
[pdfOrganiser.mode.desc]
|
||
BOOKLET_SORT = "Organiser les pages pour l’impression en livret (dernière, première, deuxième, avant-dernière, …)."
|
||
CUSTOM = "Utiliser une séquence personnalisée de numéros de page ou d’expressions pour définir un nouvel ordre."
|
||
DUPLEX_SORT = "Entrelacer rectos puis versos comme si un scanner recto verso avait numérisé tous les rectos, puis tous les versos (1, n, 2, n-1, …)."
|
||
DUPLICATE = "Dupliquer chaque page selon le nombre défini dans l’ordre personnalisé (par ex. 4 duplique chaque page 4×)."
|
||
ODD_EVEN_MERGE = "Fusionner deux PDF en alternant les pages : impaires du premier, paires du second."
|
||
ODD_EVEN_SPLIT = "Diviser le document en deux sorties : toutes les pages impaires et toutes les pages paires."
|
||
REMOVE_FIRST = "Supprimer la première page du document."
|
||
REMOVE_FIRST_AND_LAST = "Supprimer la première et la dernière page du document."
|
||
REMOVE_LAST = "Supprimer la dernière page du document."
|
||
REVERSE_ORDER = "Inverser l’ordre du document pour que la dernière page devienne la première, et ainsi de suite."
|
||
SIDE_STITCH_BOOKLET_SORT = "Organiser les pages pour l’impression en livret agrafé sur le côté (optimisé pour une reliure latérale)."
|
||
|
||
[pdfTextEditor]
|
||
conversionFailed = "Échec de la conversion du PDF. Veuillez réessayer."
|
||
converting = "Conversion du PDF en format modifiable..."
|
||
currentFile = "Fichier actuel : {{name}}"
|
||
imageLabel = "Image placée"
|
||
noTextOnPage = "Aucun texte modifiable n'a été détecté sur cette page."
|
||
pagePreviewAlt = "Aperçu de la page"
|
||
pageSummary = "Page {{number}} sur {{total}}"
|
||
tags = "edit text,modify text,change text,edit content,update text,rewrite,correct,amend,redline,revise,text editor,content editor"
|
||
title = "Éditeur JSON de PDF"
|
||
viewLabel = "Éditeur PDF"
|
||
|
||
[pdfTextEditor.actions]
|
||
applyChanges = "Appliquer les modifications"
|
||
clearText = "Effacer le texte"
|
||
downloadCopy = "Télécharger une copie"
|
||
moreOptions = "Plus d’options"
|
||
reset = "Réinitialiser les modifications"
|
||
|
||
[pdfTextEditor.badges]
|
||
earlyAccess = "Accès anticipé"
|
||
modified = "Modifié"
|
||
|
||
[pdfTextEditor.empty]
|
||
dropzone = "Glissez-déposez un fichier PDF ou JSON ici, ou cliquez pour parcourir"
|
||
dropzoneWithFiles = "Sélectionnez un fichier depuis l'onglet Fichiers, ou glissez-déposez un fichier PDF ou JSON ici, ou cliquez pour parcourir"
|
||
title = "Aucun document chargé"
|
||
|
||
[pdfTextEditor.errors]
|
||
invalidJson = "Impossible de lire le fichier JSON. Assurez-vous qu'il a été généré par l'outil PDF vers JSON."
|
||
pdfConversion = "Impossible de convertir le JSON modifié en PDF."
|
||
|
||
[pdfTextEditor.fontAnalysis]
|
||
allFonts = "Toutes les polices"
|
||
currentPageFonts = "Polices sur cette page"
|
||
details = "Détails de la police"
|
||
embedded = "Intégrée"
|
||
fallback = "remplacement"
|
||
infoMessage = "Informations sur la reproduction des polices disponibles."
|
||
missing = "manquante"
|
||
perfect = "parfait"
|
||
perfectMessage = "Toutes les polices peuvent être reproduites parfaitement."
|
||
subset = "sous-ensemble"
|
||
suggestions = "Notes"
|
||
type = "Type"
|
||
warningMessage = "Certaines polices peuvent ne pas s'afficher correctement."
|
||
warnings = "Avertissements"
|
||
webFormat = "Format Web"
|
||
|
||
[pdfTextEditor.groupingMode]
|
||
auto = "Auto"
|
||
paragraph = "Paragraphe"
|
||
singleLine = "Ligne unique"
|
||
|
||
[pdfTextEditor.manual]
|
||
expandWidth = "Étendre jusqu'au bord de la page"
|
||
merge = "Fusionner la sélection"
|
||
mergeTooltip = "Fusionner les boîtes sélectionnées"
|
||
resetWidth = "Réinitialiser la largeur"
|
||
resizeHandle = "Ajuster la largeur du texte"
|
||
ungroup = "Dissocier la sélection"
|
||
ungroupTooltip = "Scinder le paragraphe en lignes"
|
||
widthMenu = "Options de largeur"
|
||
|
||
[pdfTextEditor.modeChange]
|
||
cancel = "Annuler"
|
||
confirm = "Réinitialiser et changer de mode"
|
||
title = "Confirmer le changement de mode"
|
||
warning = "Changer le mode de regroupement du texte réinitialisera toutes les modifications non enregistrées. Voulez-vous vraiment continuer ?"
|
||
|
||
[pdfTextEditor.options.advanced]
|
||
title = "Paramètres avancés"
|
||
|
||
[pdfTextEditor.options.autoScaleText]
|
||
description = "Ajuste automatiquement le texte horizontalement pour tenir dans sa boîte englobante d'origine lorsque le rendu de police diffère du PDF."
|
||
title = "Ajuster automatiquement le texte aux cadres"
|
||
|
||
[pdfTextEditor.options.forceSingleElement]
|
||
description = "Lorsqu'il est activé, l'éditeur exporte chaque boîte de texte modifiée comme un seul élément de texte PDF afin d'éviter le chevauchement de glyphes ou les polices mixtes."
|
||
title = "Verrouiller le texte modifié à un seul élément PDF"
|
||
|
||
[pdfTextEditor.options.groupingMode]
|
||
autoDescription = "Détecte automatiquement le type de page et regroupe le texte en conséquence."
|
||
paragraphDescription = "Regroupe les lignes alignées en boîtes de texte multiligne."
|
||
singleLineDescription = "Conserve chaque ligne de texte du PDF comme une boîte distincte."
|
||
title = "Mode de regroupement du texte"
|
||
|
||
[pdfTextEditor.pageType]
|
||
paragraph = "Page de paragraphe"
|
||
sparse = "Texte clairsemé"
|
||
|
||
[pdfTextEditor.stages]
|
||
processing = "Processing"
|
||
uploading = "Uploading"
|
||
|
||
[pdfTextEditor.tooltip.alpha]
|
||
text = "Cette visionneuse alpha évolue encore—certaines polices, couleurs, effets de transparence et détails de mise en page peuvent légèrement varier. Veuillez vérifier le PDF généré avant de le partager."
|
||
title = "Visionneuse Alpha"
|
||
|
||
[pdfTextEditor.tooltip.header]
|
||
title = "Limitations de l’aperçu"
|
||
|
||
[pdfTextEditor.tooltip.previewVariance]
|
||
text = "Certains éléments visuels (tels que bordures de tableau, formes ou apparence des annotations) peuvent ne pas s’afficher exactement dans l’aperçu. Le PDF exporté conserve les commandes de dessin originales lorsque c’est possible."
|
||
title = "Variations de l’aperçu"
|
||
|
||
[pdfTextEditor.tooltip.textFocus]
|
||
text = "Cet espace de travail se concentre sur l’édition du texte et le repositionnement des images intégrées. Les illustrations complexes de page, widgets de formulaire et graphismes en couches sont préservés pour l’export mais ne sont pas entièrement modifiables ici."
|
||
title = "Focus texte et image"
|
||
|
||
[pdfTextEditor.welcomeBanner]
|
||
bestFor = "Fonctionne mieux avec :"
|
||
bestFor1 = "PDF simples contenant principalement du texte et des images"
|
||
bestFor2 = "Documents avec une mise en forme de paragraphe standard"
|
||
bestFor3 = "Lettres, essais, rapports et documents simples"
|
||
dontShowAgain = "Ne plus afficher"
|
||
experimental = "Fonctionnalité expérimentale en développement actif. Attendez-vous à une certaine instabilité et à des problèmes à l'usage."
|
||
feedback = "Fonction en accès anticipé. Merci de signaler tout problème rencontré pour nous aider à l'améliorer !"
|
||
gotIt = "Compris"
|
||
howItWorks = "Cet outil convertit votre PDF en un format modifiable où vous pouvez modifier le texte et repositionner des images. Les changements sont enregistrés dans un nouveau PDF."
|
||
issue1 = "La couleur du texte n'est pas encore conservée (sera ajoutée bientôt)"
|
||
issue2 = "Le mode Paragraphe présente plus de problèmes d'alignement et d'espacement - mode Ligne unique recommandé"
|
||
issue3 = "L'aperçu diffère du PDF exporté - les PDF exportés sont plus proches de l'original"
|
||
issue4 = "L'alignement du texte pivoté peut nécessiter un ajustement manuel"
|
||
issue5 = "Les effets de transparence et de superposition peuvent varier par rapport à l'original"
|
||
knownIssues = "Problèmes connus (en cours de correction) :"
|
||
limitation1 = "Le rendu des polices peut différer légèrement du PDF original"
|
||
limitation2 = "Les graphiques complexes, champs de formulaire et annotations sont conservés mais non modifiables"
|
||
limitation3 = "Les fichiers volumineux peuvent prendre du temps à convertir et à traiter"
|
||
limitations = "Limitations actuelles :"
|
||
notIdealFor = "Peu adapté à :"
|
||
notIdealFor1 = "PDF avec des mises en forme spéciales comme des puces, des tableaux ou des mises en page multicolonnes"
|
||
notIdealFor2 = "Magazines, brochures ou documents très graphiques"
|
||
notIdealFor3 = "Manuels d'instructions aux mises en page complexes"
|
||
title = "Bienvenue dans l'éditeur de texte PDF (accès anticipé)"
|
||
|
||
[PDFToCSV]
|
||
header = "PDF en CSV"
|
||
title = "PDF en CSV"
|
||
|
||
[PDFToHTML]
|
||
header = "PDF en HTML"
|
||
tags = "html,web content,browser friendly"
|
||
title = "PDF en HTML"
|
||
|
||
[pdfToImage]
|
||
tags = "conversion,img,jpg,image,photo"
|
||
title = "PDF en Image"
|
||
|
||
[PDFToMarkdown]
|
||
header = "PDF en Markdown"
|
||
tags = "markdown,markup,contenu Web,transformation,convert"
|
||
title = "PDF en Markdown"
|
||
|
||
[pdfToPDFA]
|
||
header = "PDF en PDF/A"
|
||
tags = "convertion,archive,long-term,standard,conversion,storage,préservation,preservation"
|
||
title = "PDF en PDF/A"
|
||
|
||
[pdfToPDFUA]
|
||
header = "PDF To PDF/UA"
|
||
tags = "accessibility,accessible,tagged,screen reader,wcag,eaa,section 508,conversion"
|
||
title = "PDF To PDF/UA"
|
||
|
||
[pdfToPDFX]
|
||
tags = "impression,standard,conversion,production,prépresse,archive"
|
||
title = "PDF vers PDF/X"
|
||
|
||
[PDFToPresentation]
|
||
header = "PDF en formats de présentation"
|
||
tags = "présentation,slides,show,office,microsoft"
|
||
title = "PDF en formats de présentation"
|
||
|
||
[PdfToSinglePage]
|
||
tags = "fusionner,merge,une seule page,single page"
|
||
|
||
[pdfToSinglePage]
|
||
description = "Cet outil fusionnera toutes les pages de votre PDF en une seule grande page. La largeur restera identique à celle des pages d’origine, mais la hauteur sera la somme de toutes les hauteurs de page."
|
||
submit = "Convertir en une seule page"
|
||
tags = "combine,merge,single,single page,one page,merge to single,combine all,stitch pages,concatenate vertical,long page,poster"
|
||
title = "Fusionner les pages"
|
||
|
||
[pdfToSinglePage.error]
|
||
failed = "Une erreur est survenue lors de la conversion en page unique."
|
||
|
||
[pdfToSinglePage.results]
|
||
title = "Résultats page unique"
|
||
|
||
[PDFToText]
|
||
header = "PDF en RTF (texte)"
|
||
tags = "format riche, format de texte riche, format de texte enrichi"
|
||
title = "PDF en RTF (texte)"
|
||
|
||
[PDFToWord]
|
||
header = "PDF en Word"
|
||
tags = "doc, docx, odt, word, transformation, format, conversion, office, microsoft, docfile"
|
||
title = "PDF en Word"
|
||
|
||
[PDFToXLSX]
|
||
header = "PDF vers Excel"
|
||
tags = "feuille de calcul,excel,xlsx,tableau,extraire,convertir"
|
||
title = "PDF vers Excel (XLSX)"
|
||
|
||
[PDFToXML]
|
||
header = "PDF en XML"
|
||
tags = "xml,extraction de données,contenu structuré,interopérabilité,data-extraction,structured-content,interop,transformation,convert"
|
||
title = "PDF en XML"
|
||
|
||
[permissions]
|
||
tags = "permissions,lire,écrire,modifier,imprimer,read,write,edit,print"
|
||
title = "Modifier les permissions"
|
||
|
||
[pipeline]
|
||
tags = "automatiser,séquencer,automate,sequence,scripted,batch-process"
|
||
title = "Pipeline"
|
||
|
||
[plan]
|
||
contact = "Contactez-nous"
|
||
current = "Forfait actuel"
|
||
featureComparison = "Comparaison des fonctionnalités"
|
||
from = "À partir de"
|
||
hideComparison = "Masquer la comparaison des fonctionnalités"
|
||
licensedSeats = "Licences : {{count}} places"
|
||
manage = "Gérer"
|
||
perMonth = "/mois"
|
||
perSeat = "/place"
|
||
popular = "Populaire"
|
||
selectPlan = "Choisir un plan"
|
||
showComparison = "Comparer toutes les fonctionnalités"
|
||
upgrade = "Mettre à niveau"
|
||
withServer = "+ Plan Server"
|
||
|
||
[plan.api]
|
||
large = "5,000 Credits"
|
||
medium = "1,000 Credits"
|
||
small = "500 Credits"
|
||
xsmall = "100 Credits"
|
||
|
||
[plan.availablePlans]
|
||
currency = "Billing currency"
|
||
subtitle = "Choisissez le forfait adapté à vos besoins"
|
||
title = "Forfaits disponibles"
|
||
|
||
[plan.enterprise]
|
||
highlight1 = "Tarification personnalisée"
|
||
highlight2 = "Support dédié"
|
||
highlight3 = "Fonctionnalités les plus récentes"
|
||
name = "Entreprise"
|
||
requiresServer = "Nécessite Server"
|
||
requiresServerMessage = "Veuillez d’abord passer au plan Server avant de passer à Enterprise."
|
||
|
||
[plan.feature]
|
||
api = "Accès à l’API"
|
||
automation = "Automatiser les flux de travail des outils"
|
||
customPricing = "Tarification personnalisée"
|
||
fileSize = "Limite de taille de fichier"
|
||
pdfTools = "Outils PDF de base"
|
||
priority = "Support prioritaire"
|
||
title = "Fonctionnalité"
|
||
|
||
[plan.features]
|
||
allPdfOperations = "Toutes les opérations PDF"
|
||
auditing = "Audit"
|
||
communitySupport = "Assistance communautaire"
|
||
customPdfMetadata = "Métadonnées PDF personnalisées"
|
||
editingTextInPdfs = "Modification de texte dans les PDF"
|
||
externalDatabase = "Base de données externe"
|
||
googleDriveIntegration = "Intégration Google Drive"
|
||
prometheusSupport = "Prise en charge de Prometheus"
|
||
regularUpdates = "Mises à jour régulières"
|
||
saml = "SAML"
|
||
secureLoginSupport = "Prise en charge de la connexion sécurisée"
|
||
selfHostedDeployment = "Déploiement auto-hébergé"
|
||
sso = "SSO"
|
||
unlimitedUsers = "Utilisateurs illimités"
|
||
upToFiveUsers = "Jusqu’à 5 utilisateurs"
|
||
upToFiveUsersLowercase = "jusqu’à 5 utilisateurs"
|
||
usageTracking = "Suivi d’utilisation"
|
||
usersLimitedToSeats = "Utilisateurs limités au nombre de sièges"
|
||
|
||
[plan.free]
|
||
forever = "Gratuit pour toujours"
|
||
highlight1 = "Utilisation des outils limitée par semaine"
|
||
highlight2 = "Accès à tous les outils"
|
||
highlight3 = "Support communautaire"
|
||
included = "Inclus"
|
||
name = "Gratuit"
|
||
|
||
[plan.freeLimit]
|
||
cta = "View Processor Plan"
|
||
dismiss = "Maybe Later"
|
||
message = "That's your whole free allowance for automation, AI and the API. Seriously impressive! Keep the momentum going for just pennies a day."
|
||
title = "Woah, {{total}} PDFs Processed!"
|
||
|
||
[plan.highlights]
|
||
advancedIntegrations = "Intégrations avancées"
|
||
allBasicFeatures = "Toutes les fonctionnalités de base"
|
||
cancelAnytime = "Résiliable à tout moment"
|
||
customPdfMetadata = "Métadonnées PDF personnalisées"
|
||
editingTextInPdfsCaps = "Modification de texte dans les PDF"
|
||
enterpriseFeatures = "Fonctionnalités Entreprise (SAML, Audit)"
|
||
perSeatLicensing = "Licence par siège"
|
||
saveWithAnnualBilling = "Économisez avec la facturation annuelle"
|
||
selfHosted = "Auto-hébergé"
|
||
selfHostedOnInfrastructure = "Auto-hébergé sur votre infrastructure"
|
||
ssoOAuth = "SSO (OAuth2/OIDC)"
|
||
unlimitedUsers = "Utilisateurs illimités"
|
||
upToFiveUsers = "Jusqu’à 5 utilisateurs"
|
||
usageTrackingPrometheus = "Suivi d’utilisation et Prometheus"
|
||
|
||
[plan.licenseWarning]
|
||
body = "Vous avez {{total}} utilisateurs, mais le niveau gratuit ne prend en charge que {{limit}} par serveur. Mettez à niveau pour que Stirling PDF continue de fonctionner correctement."
|
||
cta = "Voir les offres"
|
||
overLimit = "plus de {{limit}}"
|
||
title = "Limite de l’auto‑hébergement gratuit atteinte"
|
||
|
||
[plan.period]
|
||
month = "mois"
|
||
|
||
[plan.pro]
|
||
highlight1 = "Utilisation des outils illimitée"
|
||
highlight2 = "Outils PDF avancés"
|
||
highlight3 = "Sans filigranes"
|
||
name = "Pro"
|
||
|
||
[plan.spendCap]
|
||
cta = "View Spending Limit"
|
||
dismiss = "Not Now"
|
||
message = "You've made the most of this month's cap. That's a load of automation, AI and API work! Bump it up whenever you like to keep going."
|
||
title = "You're on a Roll!"
|
||
|
||
[plan.static]
|
||
activateLicense = "Activer votre licence"
|
||
contactToUpgrade = "Contactez-nous pour mettre à niveau ou personnaliser votre forfait"
|
||
getLicense = "Obtenir une licence serveur"
|
||
monthlyBilling = "Facturation mensuelle"
|
||
selectPeriod = "Sélectionner la période de facturation"
|
||
upgradeToEnterprise = "Passer à l’Enterprise"
|
||
upTo = "Jusqu’à"
|
||
yearlyBilling = "Facturation annuelle"
|
||
|
||
[plan.static.billingPortal]
|
||
message = "Vous devrez vérifier votre adresse e-mail dans le portail de facturation Stripe. Vérifiez votre e-mail pour un lien de connexion."
|
||
title = "Vérification de l’e-mail requise"
|
||
|
||
[plan.static.licenseActivation]
|
||
activate = "Activer la licence"
|
||
checkoutOpened = "Paiement ouvert dans un nouvel onglet"
|
||
doLater = "Je le ferai plus tard"
|
||
enterKey = "Saisissez votre clé de licence ci-dessous pour activer votre offre :"
|
||
instructions = "Terminez votre achat dans l’onglet Stripe. Une fois le paiement terminé, vous recevrez un e-mail avec votre clé de licence."
|
||
keyDescription = "Collez la clé de licence depuis votre e-mail"
|
||
success = "Licence activée !"
|
||
successMessage = "Votre licence a été activée avec succès. Vous pouvez maintenant fermer cette fenêtre."
|
||
|
||
[policies.activity]
|
||
outputsUnavailable = "Les résultats des politiques ne sont plus disponibles au téléchargement."
|
||
partialOutputsUnavailable = "Certains résultats des politiques ne sont plus disponibles au téléchargement."
|
||
runNotFound = "L'exécution de l'application est introuvable."
|
||
timedOut = "Délai d'application dépassé avant la fin de l'exécution."
|
||
|
||
[policies.enforcement]
|
||
applying = "Application de {{names}}"
|
||
applyingProgress = "Application de {{names}} ({{done}} sur {{total}})"
|
||
exportFailureBody = "Les politiques de sécurité n'ont pas pu être appliquées. Les fichiers ont été exportés tels quels."
|
||
exportFailureTitle = "Exporté sans application"
|
||
failureBody = "{{failures}} fichier(s) sur {{total}} n'ont pas pu être traités et ont été exportés tels quels."
|
||
failureTitle = "Exporté sans application complète"
|
||
printPolicyAppliedBody = "Ce PDF a été mis à jour pour respecter une politique. Vérifiez les modifications, puis réimprimez."
|
||
printPolicyAppliedTitle = "Politique appliquée avant l'impression"
|
||
successTitle = "{{names}} appliquées"
|
||
summaryMore = "{{first}}, {{second}} et {{more}} de plus"
|
||
summaryTwo = "{{first}} et {{second}}"
|
||
|
||
[policies.labels]
|
||
categoryCount = "catégories"
|
||
hideCategory = "Masquer la catégorie"
|
||
labelCount = "libellés"
|
||
sharedNote = "Ces libellés sont intégrés et partagés avec toute votre équipe."
|
||
showCategory = "Afficher la catégorie"
|
||
|
||
[policies.pii]
|
||
account = "Numéros de compte (étiquetés)"
|
||
card = "Cartes de crédit/débit"
|
||
email = "Adresses e-mail"
|
||
fieldLabel = "PII to redact"
|
||
iban = "IBAN"
|
||
phone = "Numéros de téléphone"
|
||
placeholder = "Select PII types"
|
||
routing = "Numéros d'acheminement américains (ABA)"
|
||
ssn = "Numéros de sécurité sociale"
|
||
|
||
[policy]
|
||
badgeEnforcing = "{{name}} en cours d’application..."
|
||
badgeRan = "La politique {{name}} a été exécutée sur ce fichier"
|
||
badgeRunning = "{{name}} en cours d’exécution..."
|
||
blockingAction = "{{action}} bloquée pendant l’application de la politique, veuillez patienter..."
|
||
dismiss = "Fermer la superposition"
|
||
enforcingTitle = "Application de la politique..."
|
||
viewAnyway = "Voir le fichier (politique toujours en cours d’application)"
|
||
|
||
[policyOption]
|
||
autoRedactPhi = "Masquer automatiquement les PHI"
|
||
blockExport = "Bloquer l’exportation"
|
||
ccpa = "CCPA"
|
||
contracts = "Contrats"
|
||
documents = "Documents"
|
||
fedramp = "FedRAMP"
|
||
financialReports = "Rapports financiers"
|
||
flagForReview = "Marquer pour examen"
|
||
gdpr = "GDPR"
|
||
hipaa = "HIPAA"
|
||
hold = "Mettre en attente"
|
||
hrRecords = "Dossiers RH"
|
||
indefinite = "Indéfiniment"
|
||
insurance = "Assurance"
|
||
invoices = "Factures"
|
||
iso27001 = "ISO 27001"
|
||
legalFilings = "Dépôts juridiques"
|
||
medicalPhi = "Médical / PHI"
|
||
never = "Jamais"
|
||
ninetyDays = "90 jours"
|
||
oneYear = "1 an"
|
||
p60 = "60%"
|
||
p70 = "70%"
|
||
p80 = "80%"
|
||
p90 = "90%"
|
||
p95 = "95%"
|
||
pciDss = "PCI DSS"
|
||
quarantineDocument = "Mettre le document en quarantaine"
|
||
routeToBucket = "Acheminer vers le bucket"
|
||
s3Bucket = "Bucket S3"
|
||
sevenYears = "7 ans"
|
||
sharePoint = "SharePoint"
|
||
soc2 = "SOC 2"
|
||
taxDocuments = "Documents fiscaux"
|
||
thirtyDays = "30 jours"
|
||
threeYears = "3 ans"
|
||
webhook = "Webhook"
|
||
|
||
[portal]
|
||
comingSoon = "Bientôt disponible"
|
||
|
||
[portal.accountLink.card]
|
||
billingNote = "Le traitement sans surveillance est facturé sur le portefeuille de votre organisation."
|
||
eyebrow = "Liaison de compte"
|
||
linkButton = "Lier votre compte Stirling"
|
||
linked = "Lié"
|
||
linkedAs = "Lié en tant que {{name}}."
|
||
linkedGeneric = "Cette instance est liée."
|
||
notLinked = "Non lié"
|
||
title = "Lier cette organisation à son compte Stirling"
|
||
unlink = "Dissocier"
|
||
|
||
[portal.accountLink.card.error]
|
||
title = "Impossible de lier"
|
||
|
||
[portal.accountLink.card.loginNotConfigured]
|
||
after = "pour activer la liaison de compte avec le compte Stirling hébergé. En dev, vous pouvez simuler la connexion depuis la boîte de dialogue de liaison."
|
||
before = "Définir"
|
||
title = "Connexion SaaS non configurée"
|
||
|
||
[portal.accountLink.gate]
|
||
action = "Lier le compte"
|
||
description = "Liez le compte Stirling de cette organisation pour utiliser les fonctionnalités facturables."
|
||
title = "Lier pour déverrouiller"
|
||
titleFeature = "Lier pour déverrouiller {{feature}}"
|
||
|
||
[portal.accountLink.instances]
|
||
active = "Actif"
|
||
revoke = "Révoquer"
|
||
revoked = "Révoqué"
|
||
unnamed = "Instance sans nom"
|
||
|
||
[portal.accountLink.instances.columns]
|
||
instance = "Instance"
|
||
lastSeen = "Dernière activité"
|
||
linked = "Lié"
|
||
status = "Statut"
|
||
|
||
[portal.accountLink.instances.empty]
|
||
description = "Liez le compte de cette organisation, puis enregistrez vos instances auto-hébergées pour les voir ici."
|
||
title = "Aucune instance liée"
|
||
|
||
[portal.accountLink.instances.time]
|
||
daysAgo_one = "il y a {{count}} j"
|
||
daysAgo_other = "il y a {{count}} j"
|
||
hoursAgo_one = "il y a {{count}} h"
|
||
hoursAgo_other = "il y a {{count}} h"
|
||
justNow = "à l’instant"
|
||
minutesAgo_one = "il y a {{count}} min"
|
||
minutesAgo_other = "il y a {{count}} min"
|
||
never = "jamais"
|
||
|
||
[portal.accountLink.modal]
|
||
linkSubtitle = "Connectez-vous au compte auquel ce serveur doit être facturé."
|
||
linkTitle = "Lier votre compte Stirling"
|
||
reauthSubtitle = "Votre session a expiré — reconnectez-vous à votre compte Stirling. Votre instance reste liée."
|
||
reauthTitle = "Se reconnecter"
|
||
simulateSignIn = "Simuler la connexion (dev)"
|
||
|
||
[portal.accountLink.modal.loginNotConfigured]
|
||
after = "pour activer la liaison dans l’application avec le compte Stirling hébergé."
|
||
and = "et"
|
||
before = "Définir"
|
||
title = "Connexion SaaS non configurée"
|
||
|
||
[portal.accountLink.panel]
|
||
instancesSub = "Chaque instance auto-hébergée enregistrée auprès de cette organisation. Révoquez un identifiant pour couper immédiatement son accès sans surveillance."
|
||
instancesTitle = "Instances liées"
|
||
revokeError = "Impossible de révoquer l’instance"
|
||
sub = "Liez cette organisation auto-hébergée à son compte Stirling afin que le traitement sans surveillance soit facturé sur le portefeuille de votre organisation."
|
||
|
||
[portal.accountLink.panel.loadError]
|
||
forbidden = "Seul le propriétaire de l’équipe peut voir les instances liées de l’organisation."
|
||
generic = "Impossible de charger les instances liées de l’équipe. Réessayez dans un instant."
|
||
title = "Impossible de charger les instances liées"
|
||
|
||
[portal.accountLink.state]
|
||
free = "Plan Editor"
|
||
subscribed = "Plan Processor"
|
||
unlinked = "Non lié"
|
||
|
||
[portal.assistant]
|
||
close = "Fermer l’assistant"
|
||
error = "Impossible de joindre l’assistant."
|
||
errorWithDetail = "Impossible de joindre l’assistant : {{detail}}"
|
||
inputAriaLabel = "Demander à l’assistant"
|
||
inputPlaceholder = "Posez une question sur Stirling…"
|
||
open = "Ouvrir l’assistant"
|
||
send = "Envoyer"
|
||
title = "Assistant"
|
||
tryAsking = "Essayez de demander"
|
||
typing = "Saisie en cours"
|
||
|
||
[portal.auth]
|
||
loading = "Chargement"
|
||
redirectingToEditor = "Redirection vers l’éditeur..."
|
||
|
||
[portal.billing.activation]
|
||
maybeLater = "Peut-être plus tard"
|
||
title = "Activer le Processor"
|
||
|
||
[portal.billing.activation.payg]
|
||
sub = "Définissez une limite mensuelle. Payez ce que vous exécutez."
|
||
title = "Paiement à l’usage"
|
||
|
||
[portal.billing.activation.prepay]
|
||
badge = "2 mois gratuits"
|
||
sub = "Une seule facture, par carte ou virement bancaire."
|
||
title = "Prépayez une année"
|
||
|
||
[portal.billing.checkout]
|
||
noClientSecret = "La fonction Edge n’a renvoyé aucun client_secret."
|
||
title = "Activer le plan Processor"
|
||
|
||
[portal.billing.checkout.activationSlow]
|
||
body = "Votre paiement a réussi, mais l’activation prend un peu plus de temps que d’habitude. Elle s’activera automatiquement : fermez ceci et elle apparaîtra ici sous peu."
|
||
close = "Fermer"
|
||
title = "Presque terminé"
|
||
|
||
[portal.billing.checkout.cap]
|
||
amountAria = "Limite de dépenses mensuelle"
|
||
back = "Retour"
|
||
continue = "Continuer vers le paiement"
|
||
error = "Impossible de définir votre limite de dépenses"
|
||
finePrint = "Factures émises mensuellement. Annulation possible à tout moment."
|
||
noLimit = "Aucune limite"
|
||
note = "Vous n’êtes jamais facturé au-delà de votre limite. Le traitement est simplement mis en pause."
|
||
perMonth = "/ mois"
|
||
title = "Définissez votre limite de dépenses"
|
||
|
||
[portal.billing.checkout.card]
|
||
fields = "Numéro de carte · MM / AA · CVC · ZIP"
|
||
label = "Détails de la carte"
|
||
note = "Détails de la carte collectés par Stripe. Stirling ne stocke jamais le PAN ni le CVC."
|
||
|
||
[portal.billing.checkout.error]
|
||
title = "Impossible de démarrer le paiement"
|
||
|
||
[portal.billing.checkout.finalizing]
|
||
body = "Votre paiement est passé. Nous activons le traitement mesuré sur vos instances liées ; cela prend généralement quelques secondes."
|
||
hint = "Veuillez garder cette fenêtre ouverte."
|
||
title = "Activation de votre plan Processor..."
|
||
|
||
[portal.billing.checkout.pay]
|
||
limit = "Limite de dépenses mensuelle {{amount}}/mois. Le traitement s’interrompt à la limite."
|
||
limitNoCap = "Aucune limite de dépenses. Le traitement ne s’interrompra pas. Les factures sont émises mensuellement."
|
||
|
||
[portal.billing.enterpriseUpsell]
|
||
cta = "Créer votre devis Enterprise"
|
||
description = "Remises sur volume engagé, déploiement isolé, MSA personnalisés et examens de sécurité, et partenariats avec des distributeurs tiers."
|
||
eyebrow = "Remise sur volume · 1M+ PDF"
|
||
title = "Stirling Enterprise"
|
||
|
||
[portal.billing.freeEditors]
|
||
activeThisMonth = "Actifs ce mois-ci"
|
||
cost = "Coût"
|
||
editorsDeployed = "Éditeurs déployés"
|
||
inviteTeammates = "Inviter des coéquipiers"
|
||
pdfsEdited = "PDF modifiés"
|
||
subtitle = "Déployez partout, pour toute votre équipe."
|
||
title = "Éditeurs PDF gratuits"
|
||
|
||
[portal.billing.freePlan]
|
||
checkoutErrorTitle = "Impossible de démarrer le paiement"
|
||
currentPlan = "Plan actuel"
|
||
freeForever = "Gratuit pour toujours"
|
||
noTeamResolved = "Aucune équipe n’est encore résolue sur votre portefeuille — actualisez et réessayez."
|
||
ownerOnly = "Seul le propriétaire de l’équipe peut activer le plan Processor."
|
||
payInvoice = "Payer la facture pour terminer"
|
||
planName = "Editor"
|
||
ssoIncluded = "SSO inclus"
|
||
switchOnProcessor = "Activer Processor →"
|
||
unlimitedUsers = "Utilisateurs illimités"
|
||
viewQuote = "Voir le devis"
|
||
|
||
[portal.billing.invoices]
|
||
columnAmount = "Montant"
|
||
columnDate = "Date"
|
||
columnDescription = "Description"
|
||
columnPdfsProcessed = "PDF traités"
|
||
columnStatus = "Statut"
|
||
descriptionFallback = "Facture"
|
||
downloadAriaLabel = "Télécharger la facture {{number}} en PDF"
|
||
emptyDescription = "Une fois votre équipe abonnée et le premier cycle terminé, vos factures apparaîtront ici."
|
||
emptyTitle = "Aucune facture pour le moment"
|
||
fetchLimitNote_one = "Affichage de votre {{count}} facture la plus récente. Les factures plus anciennes se trouvent dans le portail Stripe."
|
||
fetchLimitNote_other = "Affichage de vos {{count}} factures les plus récentes. Les factures plus anciennes se trouvent dans le portail Stripe."
|
||
loadError = "Impossible de charger les factures : {{error}}"
|
||
pdfLink = "PDF ↓"
|
||
showAll_one = "Afficher {{count}}"
|
||
showAll_other = "Afficher les {{count}}"
|
||
showFewer_one = "Afficher moins ({{count}} première)"
|
||
showFewer_other = "Afficher moins ({{count}} premières)"
|
||
showMostRecent_one = "Afficher la {{count}} plus récente"
|
||
showMostRecent_other = "Afficher les {{count}} plus récentes"
|
||
title = "Historique des factures"
|
||
viewAriaLabel = "Voir la facture {{number}} dans Stripe"
|
||
viewLink = "Voir ↗"
|
||
|
||
[portal.billing.linkPrompt]
|
||
cta = "Lier le compte Stirling"
|
||
description = "La modification manuelle de PDF — afficher, signer, fusionner, diviser, filigraner, compresser, convertir, OCR manuel — est toujours gratuite, que le compte soit lié ou non. Liez votre compte pour réclamer 500 PDF gratuits de traitement mesuré (automatisation, AI et API) ; lorsque vous aurez besoin de plus, activez le plan Processor et ne payez que ce que vous utilisez."
|
||
title = "Lier votre compte Stirling"
|
||
|
||
[portal.billing.paymentMethod]
|
||
billedMonthly = "Facturé mensuellement"
|
||
cardEnding = "{{brand}} se terminant par {{last4}}"
|
||
cardFallback = "Carte"
|
||
expiresBilledMonthly = "Expire le {{expiry}} · facturé mensuellement"
|
||
eyebrow = "Moyen de paiement"
|
||
managedSub = "Votre carte et vos informations de facturation sont conservées en toute sécurité dans le portail client de Stripe."
|
||
managedTitle = "Géré dans Stripe"
|
||
update = "Mettre à jour"
|
||
|
||
[portal.billing.pdfsProcessed]
|
||
emptyPeriod = "Aucun traitement mesuré pour le moment sur cette période."
|
||
eyebrow = "PDF traités sur cette période"
|
||
legendValue_one = "{{formatted}} PDF"
|
||
legendValue_other = "{{formatted}} PDF"
|
||
segbarAriaLabel = "PDF mesurés répartis par catégorie"
|
||
segmentAgentsDesc = "Actions d’agents AI"
|
||
segmentAgentsLabel = "Agents"
|
||
segmentApiDesc = "Requêtes API directes"
|
||
segmentApiLabel = "API"
|
||
segmentAutomationDesc = "Automatisations et pipelines"
|
||
segmentAutomationLabel = "Automatisation"
|
||
sizeMultiplier = "{{formatted}} PDFs ont utilisé un multiplicateur de taille"
|
||
summary = "{{unique}} uniques · {{units}} unités de compteur · {{avg}} moy. par PDF"
|
||
summaryNoRate = "{{unique}} uniques · {{units}} unités de compteur"
|
||
unit = "PDF mesurés"
|
||
unitsPending_one = "{{units}} unité de compteur en attente de synchronisation depuis les instances liées"
|
||
unitsPending_other = "{{units}} unités de compteur en attente de synchronisation depuis les instances liées"
|
||
|
||
[portal.billing.prepaid]
|
||
capSuffix = "sur {{total}} crédits prépayés"
|
||
expires = "Expire le {{date}}"
|
||
eyebrow = "Capacité prépayée"
|
||
note = "Utilisée avant la facturation à l’usage et en dehors de votre limite de dépenses."
|
||
topUp = "Recharger"
|
||
|
||
[portal.billing.prepaid.buy]
|
||
back = "Retour"
|
||
calcTitle = "Calculez votre paiement annuel"
|
||
cancel = "Annuler"
|
||
cancelPurchase = "Annuler l’achat"
|
||
close = "Fermer"
|
||
continueToPayment = "Continuer vers le paiement"
|
||
finalise = "Finaliser"
|
||
invoiceErrorTitle = "Impossible de générer la facture"
|
||
loadingTitle = "Chargement de votre devis"
|
||
payTitle = "Payez votre année"
|
||
step = "Étape {{current}} sur {{total}}"
|
||
|
||
[portal.billing.prepaid.calc]
|
||
change = "Modifier"
|
||
deployRow = "Déploiement"
|
||
done = "Terminé"
|
||
enterpriseHint = "Il s’agit d’une échelle entreprise. À ce volume, les tarifs entreprise surpassent toute remise en libre-service. Tarif verrouillé, conditions et devis en quelques minutes."
|
||
governanceRow = "Gouvernance"
|
||
governanceValue = "{{label}} · {{count}} politiques"
|
||
handlesLabel = "Votre Processor"
|
||
handlesValue = "gère {{volume}} crédits / mois"
|
||
pipelinesLabel = "Pipelines"
|
||
policiesMeta = "{{count}} politiques"
|
||
poolCaption = "Une réserve de {{credits}} crédits pour l’année. Les mois chargés empruntent aux mois plus légers."
|
||
priceLabel = "Votre année · 12 mois pour le prix de 10"
|
||
rateUnknown = "Nous afficherons le prix exact lors du paiement."
|
||
savings = "Vous économisez {{amount}} · 2 mois gratuits."
|
||
sizingRow = "Dimensionnement"
|
||
sizingValue = "{{label}} · {{desc}}"
|
||
usersLabel = "Utilisateurs au total"
|
||
|
||
[portal.billing.prepaid.consent]
|
||
label = "Je comprends que lorsque ma capacité prépayée est épuisée ou expire après 12 mois, le traitement continue automatiquement au tarif standard de paiement à l’usage (jusqu’à ma limite de dépenses), sauf si j’annule, et que je peux annuler à tout moment depuis le portail de facturation."
|
||
|
||
[portal.billing.prepaid.deploy]
|
||
cloud = "Stirling Cloud"
|
||
cloudDesc = "Géré par Stirling. Opérationnel en quelques minutes."
|
||
cloudValue = "Stirling Cloud · Géré"
|
||
selfhost = "Auto-hébergé"
|
||
selfhostDesc = "Fonctionne sur une infrastructure privée. Même tarif."
|
||
selfhostValue = "Auto-hébergé · Infrastructure privée"
|
||
|
||
[portal.billing.prepaid.offer]
|
||
cta = "Examiner l’offre"
|
||
subtitle = "Prépayez une année de traitement PDF et obtenez deux mois gratuits, utilisés avant la facturation à l’usage, en dehors de votre limite de dépenses."
|
||
title = "Obtenez 12 mois pour le prix de 10"
|
||
|
||
[portal.billing.prepaid.pay]
|
||
accountName = "Nom du titulaire du compte"
|
||
accountNamePlaceholder = "p. ex. Jane Smith"
|
||
companyName = "Nom de l’entreprise (facultatif)"
|
||
companyNamePlaceholder = "p. ex. Acme Inc."
|
||
downloadInvoice = "Télécharger la facture"
|
||
payOnline = "Payer en ligne"
|
||
poNumber = "Numéro de commande (facultatif)"
|
||
poNumberPlaceholder = "p. ex. PO-2026-0142"
|
||
|
||
[portal.billing.prepaid.pipelines]
|
||
advanced = "Avancé"
|
||
advancedDesc = "Les pipelines assurent l’essentiel de votre traitement."
|
||
none = "Aucun"
|
||
noneDesc = "Aucun pipeline en cours pour l’instant. Activez-les à tout moment."
|
||
standard = "Standard"
|
||
standardDesc = "Quelques pipelines retraitent les PDFs entrants."
|
||
|
||
[portal.billing.prepaid.posture]
|
||
essentials = "Essentiels"
|
||
essentialsDesc = "Classification, par défaut, plus Partage"
|
||
governed = "Gouverné"
|
||
governedDesc = "Ajoute Sécurité et Routage"
|
||
regulated = "Réglementé"
|
||
regulatedDesc = "Toutes les catégories, incl. Conformité, Conservation, Ingestion"
|
||
|
||
[portal.billing.prepaid.review]
|
||
download = "Télécharger le devis (PDF)"
|
||
downloading = "Préparation…"
|
||
share = "partager pour approbation"
|
||
|
||
[portal.billing.prepaid.size]
|
||
compact = "Compact"
|
||
compactDesc = "Fichiers de moins de 25 MB, sans frais de données"
|
||
heavy = "Lourd"
|
||
heavyDesc = "Numérisés ou riches en images, régulièrement 50 MB+"
|
||
standard = "Standard"
|
||
standardDesc = "Principalement petits, quelques scans au-delà de 25 MB"
|
||
|
||
[portal.billing.prepaid.state]
|
||
exhausted = "Épuisée"
|
||
healthy = "Il en reste beaucoup"
|
||
low = "Bientôt épuisée"
|
||
|
||
[portal.billing.spendLimit]
|
||
adjustLimit = "Ajuster la limite"
|
||
cancel = "Annuler"
|
||
capControlNote = "Les modifications s’appliquent immédiatement — augmentez ou réduisez le plafond à tout moment."
|
||
capSuffix = "/ mois"
|
||
capSuffixWithDocs = "/ mois · ≈ {{documents}} documents"
|
||
displaySub = "Vous n’êtes facturé que pour ce que vous traitez automatiquement — jamais au-delà du plafond."
|
||
editTitle = "Définir votre plafond mensuel"
|
||
eyebrow = "Limite de dépenses"
|
||
guardrailBody = "un plafond strict — vous n’êtes jamais facturé au-delà. Au plafond, le traitement mesuré se met en pause (la modification illimitée de PDF continue de fonctionner) jusqu’à ce que vous l’augmentiez ou que le cycle soit réinitialisé. Rien n’est perdu."
|
||
guardrailLabel = "Votre garde-fou :"
|
||
noCap = "aucun plafond"
|
||
pctUsed = "{{pct}}% utilisé"
|
||
remaining = "{{amount}} restant"
|
||
save = "Enregistrer la limite"
|
||
saveError = "Impossible d’enregistrer la limite"
|
||
thisPeriodUncapped = "{{amount}} cette période · sans plafond"
|
||
usedThisMonth = "{{amount}} utilisé ce mois-ci"
|
||
useSuggested = "Utiliser la suggestion · {{amount}} / mois"
|
||
|
||
[portal.billing.spendLimit.projection]
|
||
body_one = "À {{rate}}/jour, vous atteindrez le plafond dans ~{{count}} jour (~{{monthEnd}} fin de mois). Limite suggérée ~{{suggested}}."
|
||
body_other = "À {{rate}}/jour, vous atteindrez le plafond dans ~{{count}} jours (~{{monthEnd}} fin de mois). Limite suggérée ~{{suggested}}."
|
||
label = "Dépassement prévu."
|
||
|
||
[portal.billing.spendThisMonth]
|
||
eyebrow = "Dépenses ce mois-ci"
|
||
freeRemaining_one = "{{formatted}} PDF gratuit restant"
|
||
freeRemaining_other = "{{formatted}} PDFs gratuits restants"
|
||
processed_one = "{{formattedCount}} PDF traité."
|
||
processed_other = "{{formattedCount}} PDF traités."
|
||
processedWithRate_one = "{{formattedCount}} PDF traité, à {{rate}} chacun."
|
||
processedWithRate_other = "{{formattedCount}} PDF traités, à {{rate}} chacun."
|
||
|
||
[portal.billing.subscribedPlan.capWarn]
|
||
approachingBody = "Augmentez-la maintenant pour que le traitement automatisé ne soit jamais interrompu."
|
||
approachingTitle = "Vous êtes à {{pct}}% de votre limite de dépenses mensuelle"
|
||
raiseLimit = "Augmenter la limite"
|
||
reachedBody = "Le traitement mesuré est en pause jusqu’à ce que vous augmentiez la limite ou que le cycle soit réinitialisé. La modification illimitée de PDF continue de fonctionner."
|
||
reachedTitle = "Limite de dépenses mensuelle atteinte"
|
||
|
||
[portal.billing.subscribedPlan.portalError]
|
||
title = "Impossible d’ouvrir le portail Stripe"
|
||
|
||
[portal.billing.walletMeter]
|
||
barAria = "Free PDFs remaining"
|
||
capSuffix_one = "sur {{allowance}} PDF gratuits utilisés"
|
||
capSuffix_other = "sur {{allowance}} PDF gratuits utilisés"
|
||
eyebrow = "Essai Processor"
|
||
statusLabel_one = "{{used}} utilisé"
|
||
statusLabel_other = "{{used}} utilisés"
|
||
sub = "Utilisez l’éditeur PDF gratuitement. Payez pour traiter les PDF automatiquement."
|
||
title_one = "Traitez {{allowance}} PDF gratuitement"
|
||
title_other = "Traitez {{allowance}} PDF gratuitement"
|
||
titleWithRate_one = "Traitez {{allowance}} PDF gratuitement, puis {{rate}}/PDF"
|
||
titleWithRate_other = "Traitez {{allowance}} PDF gratuitement, puis {{rate}}/PDF"
|
||
|
||
[portal.components.billingUnit]
|
||
approval = "approbation"
|
||
check = "vérification"
|
||
event = "événement"
|
||
render = "rendu"
|
||
review = "examen"
|
||
session = "session"
|
||
signature = "signature"
|
||
|
||
[portal.components.maturity]
|
||
beta = "Beta"
|
||
ga = "GA"
|
||
|
||
[portal.connections]
|
||
createTitle = "Nouvelle connexion"
|
||
createTitleFor = "Connecter {{name}}"
|
||
delete = "Supprimer"
|
||
edit = "Modifier"
|
||
editTitle = "Modifier la connexion"
|
||
unsupportedType = "Ce type de connexion ne peut pas être modifié ici."
|
||
|
||
[portal.connections.categories.advanced]
|
||
description = "Pour un service que nous ne prenons pas encore en charge."
|
||
label = "Avancé"
|
||
|
||
[portal.connections.categories.audit]
|
||
description = "Enregistrez ce qui est arrivé à un document, là où vos auditeurs consultent déjà."
|
||
label = "Journalisation d’audit et de conformité"
|
||
|
||
[portal.connections.categories.notify]
|
||
description = "Informer un autre système qu’un événement s’est produit."
|
||
label = "Notification et workflow"
|
||
|
||
[portal.connections.categories.security]
|
||
description = "Analyser ou étiqueter un document avant qu’il ne poursuive son chemin."
|
||
label = "Sécurité et classification"
|
||
|
||
[portal.connections.categories.signing]
|
||
description = "Envoyer un document pour signature ou notarisation."
|
||
label = "Signature électronique et notarisation"
|
||
|
||
[portal.connections.categories.storage]
|
||
description = "Où les documents traités aboutissent - un bucket, un drive, un ticket ou une page."
|
||
label = "Fichier et pièce jointe"
|
||
|
||
[portal.connections.commonFields.accessToken]
|
||
helperText = "Stirling stocke ceci chiffré et ne l’affiche plus jamais."
|
||
label = "Token d’accès"
|
||
|
||
[portal.connections.commonFields.apiKey]
|
||
label = "Clé API"
|
||
|
||
[portal.connections.commonFields.apiToken]
|
||
label = "Token API"
|
||
|
||
[portal.connections.commonFields.baseUrl]
|
||
helperText = "Les étapes utilisant cette connexion ne peuvent appeler que des chemins sous cette URL, jamais un autre hôte."
|
||
label = "URL du serveur"
|
||
|
||
[portal.connections.commonFields.email]
|
||
label = "Email"
|
||
|
||
[portal.connections.commonFields.host]
|
||
label = "Hôte"
|
||
|
||
[portal.connections.commonFields.password]
|
||
label = "Mot de passe"
|
||
|
||
[portal.connections.commonFields.port]
|
||
label = "Port"
|
||
|
||
[portal.connections.commonFields.username]
|
||
label = "Nom d’utilisateur"
|
||
|
||
[portal.connections.commonFields.webhookUrl]
|
||
helperText = "Collez l’URL fournie par le service. Seuls les chemins sous celle-ci peuvent être appelés."
|
||
label = "URL Webhook"
|
||
|
||
[portal.connections.fields]
|
||
name = "Nom de la connexion"
|
||
namePlaceholder = "p. ex. Production"
|
||
|
||
[portal.connections.picker]
|
||
cancel = "Annuler"
|
||
createNew = "Nouvelle connexion..."
|
||
placeholder = "Sélectionner une connexion"
|
||
save = "Enregistrer la connexion"
|
||
|
||
[portal.connections.picker2]
|
||
back = "Changer d’intégration"
|
||
heading = "Que voulez-vous connecter ?"
|
||
noResultsBody = "Nous ne le prenons pas encore en charge - dites-nous de quoi il s’agit et nous envisagerons de l’ajouter."
|
||
noResultsTitle = "Aucun résultat ne correspond à \"{{query}}\""
|
||
searchPlaceholder = "Rechercher des intégrations - essayez \"sign\", \"ocr\" ou un nom de produit"
|
||
|
||
[portal.connections.types.api]
|
||
description = "Appelez n’importe quelle API HTTP depuis une politique. Vous choisissez l’URL, l’authentification et la charge utile."
|
||
label = "API personnalisée"
|
||
|
||
[portal.connections.types.api.fields.authType]
|
||
label = "Authentification"
|
||
|
||
[portal.connections.types.api.fields.authType.options.basic]
|
||
label = "Nom d’utilisateur et mot de passe"
|
||
|
||
[portal.connections.types.api.fields.authType.options.bearer]
|
||
label = "Token Bearer"
|
||
|
||
[portal.connections.types.api.fields.authType.options.header]
|
||
label = "Token dans un en-tête personnalisé"
|
||
|
||
[portal.connections.types.api.fields.authType.options.none]
|
||
label = "Aucune"
|
||
|
||
[portal.connections.types.api.fields.authType.options.tokenLogin]
|
||
label = "Se connecter pour obtenir un token"
|
||
|
||
[portal.connections.types.api.fields.baseUrl]
|
||
helperText = "Les étapes utilisant cette connexion ne peuvent appeler que des chemins sous cette URL, jamais un autre hôte."
|
||
label = "URL de base"
|
||
placeholder = "https://api.example.com/v1"
|
||
|
||
[portal.connections.types.api.fields.headerName]
|
||
label = "Nom de l’en-tête"
|
||
placeholder = "X-API-Key"
|
||
|
||
[portal.connections.types.api.fields.loginPath]
|
||
label = "Chemin de connexion"
|
||
placeholder = "/auth/login"
|
||
|
||
[portal.connections.types.api.fields.password]
|
||
label = "Mot de passe"
|
||
|
||
[portal.connections.types.api.fields.resultUrlHosts]
|
||
helperText = "Si l’API répond avec un lien de téléchargement, seuls ces hôtes peuvent être récupérés. Séparez-les par des virgules. Laissez vide pour autoriser uniquement l’hôte propre à l’URL de base."
|
||
label = "Hôtes de résultat autorisés"
|
||
|
||
[portal.connections.types.api.fields.token]
|
||
label = "Token"
|
||
|
||
[portal.connections.types.api.fields.tokenHeaderName]
|
||
label = "Envoyer le token avec cet en-tête"
|
||
|
||
[portal.connections.types.api.fields.tokenResponseHeader]
|
||
helperText = "L’en-tête de réponse dans lequel l’appel de connexion renvoie le token, p. ex. X-Auth-Token."
|
||
label = "En-tête de réponse du token"
|
||
|
||
[portal.connections.types.api.fields.username]
|
||
label = "Nom d’utilisateur"
|
||
|
||
[portal.connections.types.clamav]
|
||
baseUrlPlaceholder = "http://clamav-rest:9000"
|
||
description = "Analysez les documents à la recherche de malwares sur un serveur que vous exploitez - rien ne quitte votre réseau."
|
||
label = "ClamAV (auto-hébergé)"
|
||
|
||
[portal.connections.types.cloudmersive]
|
||
description = "Analyse antivirus et de contenu pour les documents dans une politique."
|
||
label = "Cloudmersive"
|
||
|
||
[portal.connections.types.cloudmersiveadvanced]
|
||
description = "Bloquez les documents contenant des macros, exécutables, scripts ou objets intégrés - pas seulement les malwares connus."
|
||
label = "Analyse avancée Cloudmersive"
|
||
|
||
[portal.connections.types.confluence]
|
||
baseUrlPlaceholder = "https://your-site.atlassian.net/wiki/api/v2"
|
||
description = "Joindre des documents traités à une page Confluence."
|
||
label = "Confluence"
|
||
|
||
[portal.connections.types.consigno]
|
||
description = "Envoyez des documents à ConsignO Cloud (Notarius) pour signature électronique et notarisation."
|
||
label = "ConsignO Cloud"
|
||
|
||
[portal.connections.types.consigno.fields.baseUrl]
|
||
helperText = "Votre environnement ConsignO Cloud, incluant /api/v1."
|
||
label = "URL du serveur"
|
||
placeholder = "https://your-org.consignocloud.com/api/v1"
|
||
|
||
[portal.connections.types.consigno.fields.clientId]
|
||
label = "Clé API"
|
||
|
||
[portal.connections.types.consigno.fields.clientSecret]
|
||
label = "Secret API"
|
||
|
||
[portal.connections.types.consigno.fields.password]
|
||
label = "Mot de passe"
|
||
|
||
[portal.connections.types.consigno.fields.tenantId]
|
||
helperText = "Nécessaire uniquement si votre organisation utilise des tenants."
|
||
label = "Tenant"
|
||
|
||
[portal.connections.types.consigno.fields.username]
|
||
label = "Nom d’utilisateur"
|
||
|
||
[portal.connections.types.discord]
|
||
baseUrlPlaceholder = "https://discord.com/api/webhooks/..."
|
||
description = "Publier un message sur Discord lorsqu’une politique traite un document."
|
||
label = "Discord"
|
||
|
||
[portal.connections.types.elastic]
|
||
baseUrlPlaceholder = "https://your-cluster:9200"
|
||
description = "Indexer un événement d’audit dans Elasticsearch chaque fois qu’une politique traite un document."
|
||
label = "Elasticsearch"
|
||
|
||
[portal.connections.types.ftp]
|
||
description = "Interroger un serveur FTP ou FTPS pour récupérer de nouveaux documents."
|
||
hostPlaceholder = "ftp.example.com"
|
||
label = "FTP / FTPS"
|
||
|
||
[portal.connections.types.ftp.fields.passive]
|
||
label = "Mode de connexion"
|
||
|
||
[portal.connections.types.ftp.fields.passive.options]
|
||
active = "Actif"
|
||
passive = "Passif (recommandé)"
|
||
|
||
[portal.connections.types.ftp.fields.security]
|
||
helperText = "Le FTP simple envoie les identifiants et les fichiers sans chiffrement ; choisissez FTPS si le serveur le prend en charge."
|
||
label = "Chiffrement"
|
||
|
||
[portal.connections.types.ftp.fields.security.options]
|
||
explicit = "FTPS (explicite / AUTH TLS)"
|
||
implicit = "FTPS (implicite)"
|
||
none = "Aucun (FTP simple)"
|
||
|
||
[portal.connections.types.googlechat]
|
||
baseUrlPlaceholder = "https://chat.googleapis.com/v1/spaces/..."
|
||
description = "Publier un message dans un espace Google Chat lorsqu’une politique s’exécute."
|
||
label = "Google Chat"
|
||
|
||
[portal.connections.types.jira]
|
||
baseUrlPlaceholder = "https://your-site.atlassian.net"
|
||
description = "Joindre des documents traités à un ticket Jira."
|
||
label = "Jira"
|
||
|
||
[portal.connections.types.mailgun]
|
||
description = "Envoyer un document ou une notification par email lorsqu’une politique s’exécute."
|
||
label = "Mailgun"
|
||
|
||
[portal.connections.types.n8n]
|
||
baseUrlPlaceholder = "https://your-n8n/webhook/9f2c-..."
|
||
description = "Hand documents to an n8n workflow, and take back whatever it produces."
|
||
label = "n8n"
|
||
|
||
[portal.connections.types.n8n.fields.authType]
|
||
helperText = "Match the Authentication set on the n8n Webhook node."
|
||
label = "Webhook authentication"
|
||
|
||
[portal.connections.types.n8n.fields.authType.options.basic]
|
||
label = "Basic auth"
|
||
|
||
[portal.connections.types.n8n.fields.authType.options.header]
|
||
label = "Header auth"
|
||
|
||
[portal.connections.types.n8n.fields.authType.options.none]
|
||
label = "None"
|
||
|
||
[portal.connections.types.n8n.fields.headerName]
|
||
helperText = "The header name from the n8n credential, not its value."
|
||
label = "Header name"
|
||
placeholder = "X-N8N-Key"
|
||
|
||
[portal.connections.types.n8n.fields.token]
|
||
label = "Header value"
|
||
|
||
[portal.connections.types.nextcloud]
|
||
baseUrlPlaceholder = "https://your-server/remote.php/dav"
|
||
description = "Classer les documents traités dans Nextcloud."
|
||
label = "Nextcloud"
|
||
|
||
[portal.connections.types.nextcloud.fields.appPassword]
|
||
label = "Mot de passe d’application"
|
||
|
||
[portal.connections.types.presidio]
|
||
baseUrlPlaceholder = "http://presidio-analyzer:3000"
|
||
description = "Détecter les données personnelles dans le texte des documents à l’aide d’un serveur Presidio que vous exploitez."
|
||
label = "Presidio (auto-hébergé)"
|
||
|
||
[portal.connections.types.purview]
|
||
description = "Lire et appliquer des libellés de sensibilité Microsoft Purview sur les PDFs."
|
||
label = "Microsoft Purview"
|
||
|
||
[portal.connections.types.purview.fields.clientId]
|
||
helperText = "Facultatif. Nécessaire uniquement pour choisir les libellés par nom ; l’étiquetage fonctionne sans cela."
|
||
label = "ID d’application (client)"
|
||
|
||
[portal.connections.types.purview.fields.clientSecret]
|
||
label = "Secret client"
|
||
|
||
[portal.connections.types.purview.fields.tenantId]
|
||
helperText = "Apposé sur chaque libellé comme SiteId, afin que les outils compatibles Purview sachent quelle organisation l’a appliqué."
|
||
label = "ID d’annuaire (tenant)"
|
||
placeholder = "cb46c030-1825-4e81-a295-151c039dbf02"
|
||
|
||
[portal.connections.types.s3]
|
||
description = "Un bucket S3 depuis lequel les sources peuvent lire et vers lequel les sorties de pipeline peuvent écrire."
|
||
label = "Stockage S3"
|
||
|
||
[portal.connections.types.s3.fields.accessKeyId]
|
||
label = "ID de clé d’accès"
|
||
|
||
[portal.connections.types.s3.fields.bucket]
|
||
label = "Bucket"
|
||
|
||
[portal.connections.types.s3.fields.endpoint]
|
||
helperText = "Laissez vide pour AWS. Définissez ceci pour MinIO ou un autre stockage compatible S3."
|
||
label = "Endpoint"
|
||
|
||
[portal.connections.types.s3.fields.region]
|
||
label = "Région"
|
||
|
||
[portal.connections.types.s3.fields.secretAccessKey]
|
||
label = "Clé d’accès secrète"
|
||
|
||
[portal.connections.types.sendgrid]
|
||
description = "Envoyer un document ou une notification par email lorsqu’une politique s’exécute."
|
||
label = "SendGrid"
|
||
|
||
[portal.connections.types.sftp]
|
||
description = "Interroger un serveur SFTP (SSH) pour récupérer de nouveaux documents."
|
||
hostPlaceholder = "sftp.example.com"
|
||
label = "SFTP"
|
||
|
||
[portal.connections.types.sftp.fields.hostKeyFingerprint]
|
||
helperText = "Facultatif. L’empreinte SHA-256 de la clé d’hôte du serveur (depuis `ssh-keyscan host | ssh-keygen -lf -`). Lorsqu’elle est définie, seul un serveur présentant cette clé est accepté ; lorsqu’elle est vide, la clé vue à la première connexion est épinglée et les changements ultérieurs sont refusés."
|
||
label = "Empreinte de clé d’hôte"
|
||
placeholder = "SHA256:..."
|
||
|
||
[portal.connections.types.sftp.fields.passphrase]
|
||
label = "Phrase secrète de la clé"
|
||
|
||
[portal.connections.types.sftp.fields.password]
|
||
helperText = "Laissez vide si vous vous authentifiez avec une clé privée à la place."
|
||
|
||
[portal.connections.types.sftp.fields.privateKey]
|
||
helperText = "Facultatif. Collez une clé privée OpenSSH pour vous authentifier avec une clé plutôt qu’un mot de passe."
|
||
label = "Clé privée"
|
||
|
||
[portal.connections.types.slack]
|
||
description = "Publier un message sur Slack lorsqu’une politique traite un document."
|
||
label = "Slack"
|
||
|
||
[portal.connections.types.smb]
|
||
description = "Surveiller un partage réseau SMB / CIFS (Windows ou Samba)."
|
||
hostPlaceholder = "fileserver.example.com"
|
||
label = "SMB / Partage réseau"
|
||
|
||
[portal.connections.types.smb.fields.domain]
|
||
helperText = "Facultatif. Le domaine ou groupe de travail Windows, si votre serveur en utilise un."
|
||
label = "Domaine"
|
||
|
||
[portal.connections.types.smb.fields.share]
|
||
label = "Partage"
|
||
placeholder = "documents"
|
||
|
||
[portal.connections.types.splunk]
|
||
baseUrlPlaceholder = "https://your-splunk:8088"
|
||
description = "Envoyer un événement d’audit à Splunk chaque fois qu’une politique traite un document."
|
||
label = "Splunk"
|
||
|
||
[portal.connections.types.sumologic]
|
||
baseUrlPlaceholder = "https://endpoint.collection.sumologic.com/receiver/v1/http/..."
|
||
description = "Envoyer un événement d’audit à un collecteur HTTP Sumo Logic."
|
||
label = "Sumo Logic"
|
||
|
||
[portal.connections.types.teams]
|
||
baseUrlPlaceholder = "https://your-org.webhook.office.com/webhookb2/..."
|
||
description = "Publier un message dans un canal Teams lorsqu’une politique s’exécute."
|
||
label = "Microsoft Teams"
|
||
|
||
[portal.connections.types.webhook]
|
||
baseUrlPlaceholder = "https://example.com/hooks/documents"
|
||
description = "Publier chaque document, ou seulement les détails, vers une URL de votre choix."
|
||
label = "Webhook"
|
||
|
||
[portal.connections.types.zapier]
|
||
baseUrlPlaceholder = "https://hooks.zapier.com/hooks/catch/..."
|
||
description = "Déclencher un scénario Zap ou Make depuis une politique."
|
||
label = "Zapier & Make"
|
||
|
||
[portal.docs]
|
||
browse = "Parcourir les docs"
|
||
viewSource = "Voir la source sur GitHub"
|
||
|
||
[portal.docs.authentication]
|
||
codeCaption = "chaque requête"
|
||
eyebrow = "BIEN DÉMARRER"
|
||
lead = "Toutes les requêtes s’authentifient avec un bearer token. Les clés sont limitées par environnement et n’expirent jamais sauf rotation."
|
||
liveKey = "Clés de production — facturées, limitées en débit selon votre plan."
|
||
testKey = "Clés sandbox — gratuites, renvoient des fixtures synthétiques."
|
||
title = "Authentification"
|
||
|
||
[portal.docs.components]
|
||
codeCaption = "intégrer la visionneuse"
|
||
eyebrow = "COMPOSANTS"
|
||
lead = "UI intégrable pour les files d’examen et l’inspection de documents. Apportez vos propres styles ou utilisez le thème fourni."
|
||
title = "Visionneuses prêtes à intégrer"
|
||
|
||
[portal.docs.endpoints]
|
||
eyebrow = "RÉFÉRENCE API"
|
||
fieldCount_one = "{{count}} champ"
|
||
fieldCount_other = "{{count}} champs"
|
||
filterAll = "Tous"
|
||
filterAriaLabel = "Filtrer les endpoints par vertical"
|
||
lead = "Chaque type de document est un endpoint typé. POST un fichier, recevez un JSON validé par schéma. Filtrez par vertical ci-dessous."
|
||
title = "Endpoints"
|
||
|
||
[portal.docs.errors]
|
||
codeCaption = "422 Unprocessable Entity"
|
||
eyebrow = "RÉFÉRENCE API"
|
||
lead = "Les erreurs renvoient un code stable lisible par machine, ainsi qu’un message lisible par humain. Le corps 4xx inclut toujours un request_id pour l’assistance."
|
||
title = "Erreurs"
|
||
|
||
[portal.docs.nav]
|
||
ariaLabel = "Documentation"
|
||
|
||
[portal.docs.nav.empty]
|
||
description = "L’index de la documentation n’a pas pu être chargé."
|
||
title = "Docs indisponibles"
|
||
|
||
[portal.docs.quickstart]
|
||
eyebrow = "BIEN DÉMARRER"
|
||
lead = "Envoyez votre premier document à un endpoint typé et récupérez du JSON structuré en trois étapes. Aucun entraînement de modèle, aucune ingénierie de prompt."
|
||
title = "Quickstart"
|
||
|
||
[portal.docs.quickstart.callout]
|
||
bodyAfterLink = "pour des recettes prêtes à copier-coller."
|
||
bodyBeforeLink = "intégrez le même appel dans un pipeline pour chaîner validation, masquage et livraison — ou exposez-le à un agent via MCP. Voir"
|
||
label = "Ensuite :"
|
||
link = "Playbooks"
|
||
|
||
[portal.docs.quickstart.step1]
|
||
body = "Créez une clé limitée depuis l’onglet Infrastructure. Les clés comportent des limites de débit et une allowlist IP facultative. Exportez-la dans votre shell :"
|
||
title = "Émettre une clé API"
|
||
|
||
[portal.docs.quickstart.step2]
|
||
body = "POST un fichier vers n’importe quel endpoint typé. L’endpoint détermine le schéma que vous récupérez — ici, l’extracteur de factures."
|
||
snippetCaption = "extraire une facture"
|
||
title = "Envoyer un document"
|
||
|
||
[portal.docs.quickstart.step3]
|
||
body = "Chaque réponse est validée par rapport au schéma de l’endpoint, avec un score de confiance et une provenance par champ."
|
||
codeCaption = "200 OK"
|
||
title = "Lire le résultat structuré"
|
||
|
||
[portal.docs.rateLimits]
|
||
burst = "Burst"
|
||
codeCaption = "429 Too Many Requests"
|
||
concurrency = "Concurrence"
|
||
eyebrow = "BIEN DÉMARRER"
|
||
lead = "Les limites évoluent avec votre plan. Une réponse 429 inclut un en-tête Retry-After ; les SDK effectuent automatiquement un backoff."
|
||
requestsPerMinute = "Requêtes / minute"
|
||
title = "Limites de débit et quotas"
|
||
|
||
[portal.docs.recipes]
|
||
cloneButton = "Cloner la recette"
|
||
eyebrow = "PLAYBOOKS"
|
||
lead = "Modèles de bout en bout qui chaînent sources, opérations et destinations. Chacun correspond à un pipeline que vous pouvez cloner."
|
||
title = "Recettes"
|
||
|
||
[portal.docs.sdks]
|
||
eyebrow = "SDKS"
|
||
lead = "Clients first-party avec réponses typées, nouvelles tentatives automatiques et importations en streaming. Tous suivent le même catalogue d’endpoints."
|
||
title = "SDK officiels"
|
||
|
||
[portal.docs.sdks.status]
|
||
beta = "Beta"
|
||
deprecated = "Obsolète"
|
||
|
||
[portal.docs.skills]
|
||
eyebrow = "COMPÉTENCES"
|
||
lead = "Capacités nommées et groupées que votre agent invoque comme un seul outil. Chaque compétence est une chaîne d’opérations déterministe avec des évaluations associées."
|
||
title = "Compétences d’agent"
|
||
|
||
[portal.docs.toc]
|
||
title = "Sur cette page"
|
||
|
||
[portal.docs.webhooks]
|
||
codeCaption = "document.processed"
|
||
eyebrow = "RÉFÉRENCE API"
|
||
lead = "Abonnez-vous aux événements document.processed, pipeline.completed et quota.threshold. Les payloads sont signés avec HMAC-SHA256."
|
||
title = "Webhooks"
|
||
|
||
[portal.docs.webhooks.callout]
|
||
afterHelper = "d’aide."
|
||
beforeHelper = "par rapport à votre secret de signature avant de faire confiance à un payload. Les SDK fournissent un utilitaire"
|
||
beforeSignature = "Vérifiez le"
|
||
|
||
[portal.documents]
|
||
exportCsv = "Exporter CSV"
|
||
search = "Rechercher par nom de fichier, ID..."
|
||
subtitle = "Chaque document traité par votre organisation, avec son enregistrement de traitement complet. L’accès au contenu est soumis à demande."
|
||
title = "Documents"
|
||
|
||
[portal.documents.audit]
|
||
approved = "Approuvé"
|
||
archived = "Archivé"
|
||
elevation = "Élévation"
|
||
empty = "Aucun événement enregistré pour le moment."
|
||
extracted = "Traité"
|
||
flagged = "Nécessite une vérification"
|
||
ingested = "Ingéré"
|
||
reviewed = "En vérification"
|
||
|
||
[portal.documents.drawer]
|
||
sectionsAriaLabel = "Sections de détail du document"
|
||
|
||
[portal.documents.drawer.tabs]
|
||
audit = "Audit"
|
||
extractions = "Extractions"
|
||
overview = "Aperçu"
|
||
|
||
[portal.documents.elevation]
|
||
requestAccess = "Demander l’accès"
|
||
|
||
[portal.documents.elevation.active]
|
||
description = "Accès temporaire — l’accès est journalisé et limité dans le temps."
|
||
descriptionFourEyes = "Accès temporaire — un réviseur pair a été notifié (quatre yeux)."
|
||
title = "L’accès expire dans {{time}}"
|
||
|
||
[portal.documents.elevation.gated]
|
||
description = "Le contenu est protégé par un accès permanent nul. La demande démarre un accès limité dans le temps."
|
||
descriptionFourEyes = "Le contenu est protégé par un accès permanent nul. La demande démarre un accès limité dans le temps et notifie un réviseur pair (quatre yeux)."
|
||
title = "Document sensible"
|
||
|
||
[portal.documents.extractions]
|
||
empty = "Aucun champ n’a été extrait de ce document."
|
||
masked = "Les champs extraits sont masqués. Demandez un accès temporaire pour consulter le contenu de ce document."
|
||
|
||
[portal.documents.extractions.columns]
|
||
confidence = "Confiance"
|
||
field = "Champ"
|
||
value = "Valeur"
|
||
|
||
[portal.documents.filters]
|
||
all = "Tous"
|
||
ariaLabel = "Filtrer les documents par statut"
|
||
flagged = "Signalés"
|
||
inReview = "En vérification"
|
||
processed = "Traités"
|
||
|
||
[portal.documents.overview]
|
||
action = "Pipeline / Action"
|
||
product = "Produit"
|
||
received = "Heure"
|
||
status = "Statut"
|
||
type = "Type"
|
||
user = "Utilisateur"
|
||
|
||
[portal.documents.queue.empty]
|
||
connectSource = "Connecter une source"
|
||
createPipeline = "Créer un pipeline"
|
||
description = "À mesure que les sources alimentent vos pipelines en documents, ils apparaîtront ici pour vérification."
|
||
title = "Aucun document dans la file d’attente"
|
||
|
||
[portal.documents.status]
|
||
error = "Erreur"
|
||
flagged = "Nécessite une vérification"
|
||
inReview = "En vérification"
|
||
processed = "Traité"
|
||
|
||
[portal.documents.table]
|
||
auto = "Auto"
|
||
editorAction = "Éditeur"
|
||
empty = "Aucun document ne correspond à ce filtre."
|
||
rowActions = "Actions de ligne"
|
||
sensitiveLabel = "Sensible"
|
||
|
||
[portal.documents.table.columns]
|
||
action = "Pipeline / Action"
|
||
document = "Document"
|
||
labels = "Labels"
|
||
product = "Produit"
|
||
status = "Statut"
|
||
time = "Heure"
|
||
user = "Utilisateur"
|
||
|
||
[portal.editorAdmin]
|
||
subtitle = "Déployez Stirling PDF Editor, associez des instances auto-hébergées à votre organisation et gérez le parc en cours d’exécution — cibles, santé, identifiants et activation hors ligne au même endroit."
|
||
title = "Déploiement de l’éditeur"
|
||
|
||
[portal.editorAdmin.health.columns]
|
||
activeUsers = "Utilisateurs actifs"
|
||
host = "Hôte"
|
||
lastSeen = "Dernière activité"
|
||
region = "Région"
|
||
status = "Statut"
|
||
target = "Target"
|
||
version = "Version"
|
||
|
||
[portal.editorAdmin.health.empty]
|
||
description = "Déployez une cible et associez-la pour voir ici la santé des instances en direct."
|
||
title = "Aucune instance ne signale"
|
||
|
||
[portal.editorAdmin.offlineActivation]
|
||
enterpriseTag = "Enterprise"
|
||
generateButton = "Générer le bundle hors ligne"
|
||
lockCopy = "L’activation hors ligne et on-prem fait partie d’Enterprise."
|
||
subtitle = "Générez un bundle d’activation signé pour une installation hors ligne ou on-prem sans chemin réseau sortant. Transférez-le vers l’instance et appliquez-le lors de la configuration au premier démarrage."
|
||
talkToSales = "Contacter l’équipe commerciale"
|
||
title = "Activation air-gapped"
|
||
|
||
[portal.editorAdmin.offlineActivation.readyBanner]
|
||
description = "{{file}} est signé et prêt à être transféré. Il active une instance et expire dans 14 jours."
|
||
title = "Bundle prêt"
|
||
|
||
[portal.editorAdmin.pairing]
|
||
generated = "Généré ✓"
|
||
generateNewCode = "Générer un nouveau code"
|
||
lockCopy = "Le provisionnement IaC fait partie d’Enterprise."
|
||
rotate = "Faire tourner"
|
||
talkToSales = "Contacter l’équipe commerciale"
|
||
|
||
[portal.editorAdmin.sections.health]
|
||
sub = "Chaque instance d’éditeur qui signale — version, région, statut, dernière activité et utilisateurs actifs."
|
||
title = "Santé des instances"
|
||
|
||
[portal.editorAdmin.sections.pairing]
|
||
sub = "Connectez un éditeur auto-hébergé à cette organisation. Générez un jeton, transmettez un code court ou configurez-le via IaC."
|
||
title = "Association"
|
||
|
||
[portal.editorAdmin.sections.targets]
|
||
sub = "Où l’éditeur s’exécute. Copiez un extrait pour lancer une instance auto-hébergée, ou utilisez Managed Cloud sans opérations."
|
||
title = "Cibles de déploiement"
|
||
|
||
[portal.editorAdmin.serviceToken]
|
||
currentToken = "Jeton actuel"
|
||
lastRotated = "Dernière rotation"
|
||
rotateButton = "Faire tourner le jeton de service"
|
||
subtitle = "Les instances s’authentifient auprès de l’organisation avec cet identifiant. Faites-le tourner selon un calendrier ou immédiatement après une fuite suspectée."
|
||
title = "Jeton de service"
|
||
|
||
[portal.editorAdmin.serviceToken.rotatedBanner]
|
||
description = "Un nouveau jeton a été émis. Mettez à jour le STIRLING_SERVICE_TOKEN de chaque instance auto-hébergée dans la fenêtre de grâce de 24 h, sinon elles passeront hors ligne."
|
||
title = "Faire tourner les instances en cours d’exécution"
|
||
|
||
[portal.editorAdmin.status]
|
||
degraded = "Dégradé"
|
||
healthy = "Sain"
|
||
offline = "Hors ligne"
|
||
pairing = "Association"
|
||
|
||
[portal.editorAdmin.targets]
|
||
instanceCount_one = "{{count}} instance"
|
||
instanceCount_other = "{{count}} instances"
|
||
talkToSales = "Contacter l’équipe commerciale"
|
||
upgradePlan = "Mettre à niveau le plan"
|
||
|
||
[portal.editorAdmin.targets.lock]
|
||
enterprise = "L’auto-hébergement on-prem et Kubernetes fait partie d’Enterprise."
|
||
paid = "L’auto-hébergement avec Docker et Kubernetes se débloque avec un plan payant."
|
||
|
||
[portal.editorAdmin.targets.state]
|
||
available = "Disponible"
|
||
locked = "Verrouillé"
|
||
running = "En cours d’exécution"
|
||
|
||
[portal.errorBoundary]
|
||
description = "Cette vue a rencontré une erreur inattendue. Réessayez ou choisissez une autre section dans la barre latérale."
|
||
retry = "Réessayer"
|
||
title = "Un problème est survenu sur cette page"
|
||
|
||
[portal.failures]
|
||
fromSource = "From source {{source}}"
|
||
occurrences = "{{count}} occurrences"
|
||
reportedBy = "Hit by {{actor}}"
|
||
runReference = "Run {{runId}}"
|
||
subtitle = "Failures recorded from your policy runs and your team's editors, with the actions you can take."
|
||
title = "Failures"
|
||
|
||
[portal.failures.action]
|
||
acknowledge = "Acknowledge"
|
||
confirm = "Are you sure?"
|
||
dismiss = "Dismiss"
|
||
dismissSkipFile = "Skip this file"
|
||
viewFile = "Afficher le fichier"
|
||
viewInProcessor = "Afficher dans le processeur"
|
||
|
||
[portal.failures.debug]
|
||
copyJson = "Copy JSON"
|
||
dismissAll = "Dismiss all ({{total}})"
|
||
dismissing = "Dismissing..."
|
||
hideJson = "Hide raw JSON ({{total}})"
|
||
refresh = "Refresh failures"
|
||
showJson = "Show raw JSON ({{total}})"
|
||
|
||
[portal.failures.disabled]
|
||
closed = "This failure is already closed."
|
||
noDocument = "Cet échec n’a pas été enregistré pour un document spécifique, il n’y a donc rien à ouvrir ici."
|
||
unattended = "Ce fichier a été fourni par un dossier, un bucket ou un webhook, aucun navigateur d’utilisateur ne le conserve donc pour l’ouvrir."
|
||
unavailable = "Not available for this failure."
|
||
|
||
[portal.failures.empty]
|
||
description = "Policy runs that fail will appear here with the actions you can take."
|
||
title = "No failures recorded"
|
||
|
||
[portal.failures.kind.inputPasswordProtected]
|
||
description = "The pipeline could not open the document because it is password-protected. Unlock it and run it again, or skip this file."
|
||
title = "Password-protected document"
|
||
|
||
[portal.failures.kind.unknown]
|
||
description = "This run failed for a reason Stirling does not yet recognise. The raw message is shown below."
|
||
title = "Unrecognised failure"
|
||
|
||
[portal.failures.origin]
|
||
pipeline = "Pipeline"
|
||
policy = "Policy"
|
||
tool = "Tool run"
|
||
|
||
[portal.failures.stage]
|
||
blocked = "Blocked"
|
||
input = "Input"
|
||
internal = "Internal"
|
||
never_ran = "Never ran"
|
||
output = "Output"
|
||
|
||
[portal.home.download]
|
||
back = "Retour"
|
||
body = "Téléchargez l’application de bureau ou auto-hébergez le serveur."
|
||
done = "Terminé"
|
||
guide = "Ouvrir le guide {{name}}"
|
||
openInBrowser = "Ouvrir dans le navigateur à la place"
|
||
sectionDesktop = "Application de bureau"
|
||
sectionSelfHosted = "Auto-hébergé"
|
||
title = "Installer l’éditeur Stirling PDF"
|
||
|
||
[portal.home.download.docker]
|
||
detailBody = "Exécutez l’image officielle sur votre serveur."
|
||
note = "S’ouvre sur :8080. Connexion par défaut : admin / stirling."
|
||
tagline = "Exécuter le serveur dans un conteneur"
|
||
title = "Docker"
|
||
variantFat = "Fat"
|
||
variantLite = "Ultra-Lite"
|
||
variantStandard = "Standard"
|
||
|
||
[portal.home.download.kubernetes]
|
||
detailBody = "Installez le chart Helm officiel."
|
||
note = "Ajoutez un PVC pour /configs afin de conserver les paramètres."
|
||
tagline = "Déployer sur un cluster avec Helm"
|
||
title = "Kubernetes"
|
||
|
||
[portal.home.download.linux]
|
||
detailBody = "Versions natives pour votre distribution."
|
||
guideBtn = "Voir les options d’installation Linux"
|
||
note = "Des versions AppImage, .deb et .rpm sont disponibles pour les distributions courantes."
|
||
tagline = "Application de bureau native pour votre distribution"
|
||
title = "Linux"
|
||
|
||
[portal.home.download.mac]
|
||
altLabel = "Ou via Homebrew"
|
||
detailBody = "Exécutez l’installateur ou utilisez Homebrew."
|
||
downloadBtn = "Télécharger pour macOS"
|
||
tagline = "Application native pour Apple silicon et Intel"
|
||
title = "macOS"
|
||
|
||
[portal.home.download.manual]
|
||
detailBody = "Exécutez le .jar sur un serveur bare metal."
|
||
downloadBtn = "Télécharger le .jar"
|
||
note = "Nécessite Java 21+. S’ouvre sur :8080 ; identifiant par défaut admin / stirling."
|
||
runLabel = "Puis exécutez-le"
|
||
tagline = "Exécutez le .jar sur un serveur bare metal"
|
||
title = "Configuration manuelle du serveur"
|
||
|
||
[portal.home.download.windows]
|
||
altLabel = "Ou via winget"
|
||
detailBody = "Exécutez l’installateur ou utilisez un gestionnaire de paquets."
|
||
downloadBtn = "Télécharger l’installateur"
|
||
tagline = "Application native pour Microsoft Windows"
|
||
title = "Windows"
|
||
|
||
[portal.home.editor]
|
||
activeOfDeployed = "{{active}} sur {{total}} actifs ce mois-ci"
|
||
name = "Stirling PDF Editor"
|
||
open = "Ouvrir dans le navigateur"
|
||
updated = "mis à jour {{time}}"
|
||
|
||
[portal.home.editor.deploy]
|
||
finish = "Terminer le déploiement"
|
||
options = "Voir les options de déploiement"
|
||
start = "Déployer l’éditeur"
|
||
|
||
[portal.home.editor.target]
|
||
cloud = "Managed Cloud"
|
||
docker = "Auto-hébergé · Docker"
|
||
kubernetes = "Auto-hébergé · Kubernetes"
|
||
|
||
[portal.home.greeting]
|
||
afternoon = "Bon après-midi"
|
||
evening = "Bonsoir"
|
||
morning = "Bonjour"
|
||
|
||
[portal.infrastructure]
|
||
manageEditorDeployment = "Gérer le déploiement de l’éditeur"
|
||
sectionsAriaLabel = "Sections d’infrastructure"
|
||
subtitle = "Déploiements, identifiants, posture de sécurité, stockage et piste d’audit pour votre espace de travail Stirling."
|
||
title = "Infrastructure"
|
||
|
||
[portal.infrastructure.apiKeys]
|
||
createKey = "Créer une clé"
|
||
heading = "Clés API"
|
||
subheading = "Identifiants délimités avec limites de débit par clé, permissions et listes d’autorisation IP."
|
||
|
||
[portal.infrastructure.apiKeys.card]
|
||
created = "Créée"
|
||
lastUsed = "Dernière utilisation"
|
||
revoke = "Révoquer la clé"
|
||
usageMonth = "Utilisation ce mois-ci"
|
||
usageToday = "Utilisation aujourd’hui"
|
||
|
||
[portal.infrastructure.apiKeys.empty]
|
||
description = "Créez une clé délimitée pour commencer à appeler l’API Stirling."
|
||
title = "Aucune clé API pour le moment"
|
||
|
||
[portal.infrastructure.apiKeys.error]
|
||
load = "Impossible de charger vos clés API. Veuillez réessayer."
|
||
|
||
[portal.infrastructure.apiKeys.revoke]
|
||
body = "Révoquer \"{{name}}\" ? Toute intégration utilisant encore cette clé commencera immédiatement à recevoir des erreurs 401. Cette action est irréversible."
|
||
cancel = "Annuler"
|
||
confirm = "Révoquer la clé"
|
||
title = "Révoquer la clé API"
|
||
|
||
[portal.infrastructure.audit]
|
||
filterAriaLabel = "Filtrer les événements d’audit par catégorie"
|
||
heading = "Journaux d’audit"
|
||
latencyValue = "{{value}} ms"
|
||
noEventsInCategory = "Aucun événement dans cette catégorie."
|
||
subheading = "Chaque événement d’authentification, de configuration et de traitement dans votre espace de travail."
|
||
|
||
[portal.infrastructure.audit.columns]
|
||
actor = "Acteur"
|
||
event = "Événement"
|
||
latency = "Latence"
|
||
status = "Statut"
|
||
target = "Ressource"
|
||
timestamp = "Horodatage"
|
||
|
||
[portal.infrastructure.audit.empty]
|
||
description = "L’activité de l’espace de travail apparaîtra ici au fur et à mesure."
|
||
title = "Aucun événement d’audit"
|
||
|
||
[portal.infrastructure.audit.export]
|
||
cancel = "Annuler"
|
||
error = "Échec de l’exportation. Veuillez réessayer."
|
||
exportButton = "Exporter"
|
||
exporting = "Exportation…"
|
||
fieldsLegend = "Colonnes"
|
||
format = "Format"
|
||
open = "Exporter"
|
||
subtitle = "Téléchargez les événements d’audit au format CSV ou JSON. Choisissez les colonnes à inclure."
|
||
title = "Exporter le journal d’audit"
|
||
|
||
[portal.infrastructure.audit.export.fields]
|
||
date = "Date"
|
||
documentName = "Nom du document"
|
||
ipAddress = "Adresse IP"
|
||
outcome = "Résultat"
|
||
tool = "Outil"
|
||
username = "Nom d’utilisateur"
|
||
|
||
[portal.infrastructure.audit.filters]
|
||
all = "Tous"
|
||
auth = "Auth"
|
||
config = "Config"
|
||
elevation = "Élévation"
|
||
policy = "Stratégie"
|
||
processing = "Traitement"
|
||
security = "Sécurité"
|
||
|
||
[portal.infrastructure.audit.forbidden]
|
||
description = "Le journal d’audit est disponible pour les responsables d’équipe et les administrateurs. Demandez l’accès à votre responsable d’équipe ou à un administrateur."
|
||
title = "Vous n’avez pas accès"
|
||
|
||
[portal.infrastructure.audit.metrics]
|
||
config = "Config"
|
||
policy = "Stratégie"
|
||
processing = "Traitement"
|
||
totalEvents = "Événements totaux · 24 h"
|
||
|
||
[portal.infrastructure.auditCatLabel]
|
||
auth = "Authentification"
|
||
config = "Config"
|
||
elevation = "Élévation"
|
||
policy = "Stratégie"
|
||
processing = "Traitement"
|
||
security = "Sécurité"
|
||
|
||
[portal.infrastructure.auditStatusLabel]
|
||
danger = "Erreur"
|
||
info = "Info"
|
||
success = "Succès"
|
||
warning = "Avertissement"
|
||
|
||
[portal.infrastructure.createKey]
|
||
cancel = "Annuler"
|
||
createKey = "Créer une clé"
|
||
done = "Terminé"
|
||
keyNameLabel = "Nom de la clé"
|
||
keyNamePlaceholder = "p. ex. Production · ingestion"
|
||
secretKeyCaption = "Clé secrète"
|
||
secretWarning = "Stockez-la dans un gestionnaire de secrets. Stirling ne stocke jamais qu’un hash — il n’y a aucun moyen de la récupérer plus tard."
|
||
subtitle = "Limitez la clé au minimum nécessaire. Vous pouvez la faire tourner ou la révoquer à tout moment."
|
||
subtitleCreated = "Copiez ce secret maintenant — il ne sera plus affiché."
|
||
title = "Créer une clé API"
|
||
titleCreated = "Clé créée"
|
||
|
||
[portal.infrastructure.keyLabel]
|
||
active = "Active"
|
||
revoked = "Révoquée"
|
||
|
||
[portal.infrastructure.tabs]
|
||
apiKeys = "Clés API"
|
||
audit = "Journaux d’audit"
|
||
deployments = "Déploiements"
|
||
models = "Modèles"
|
||
security = "Sécurité"
|
||
storage = "Stockage"
|
||
|
||
[portal.integrations]
|
||
availableHeading = "Disponible"
|
||
comingSoonHeading = "Bientôt disponible"
|
||
connect = "Connecter"
|
||
connectionCount_one = "{{count}} connexion"
|
||
connectionCount_other = "{{count}} connexions"
|
||
customApi = "API personnalisée"
|
||
searchPlaceholder = "Rechercher des intégrations"
|
||
subtitle = "Tout ce avec quoi Stirling peut communiquer. Les identifiants sont créés une fois ici, puis référencés par les sources, les stratégies et les pipelines."
|
||
title = "Intégrations"
|
||
typedName = "Nom de {{tool}}"
|
||
|
||
[portal.integrations.filters]
|
||
all = "Tous"
|
||
audit = "Audit"
|
||
connected = "Connecté"
|
||
notify = "Notification"
|
||
security = "Sécurité"
|
||
signing = "Signature"
|
||
storage = "Stockage"
|
||
|
||
[portal.integrations.noResults]
|
||
description = "No integrations match your filters. Try a different category or search."
|
||
title = "No matches"
|
||
|
||
[portal.integrations.status]
|
||
connected = "Connecté"
|
||
|
||
[portal.integrations.table]
|
||
integration = "Intégration"
|
||
worksWith = "Fonctionne avec"
|
||
|
||
[portal.integrations.worksWith]
|
||
pipelines = "Pipelines"
|
||
policies = "Stratégies"
|
||
sources = "Sources"
|
||
|
||
[portal.legal]
|
||
draft = "{{label}} · brouillon"
|
||
loadError = "Impossible de charger ce document. Veuillez réessayer."
|
||
loading = "Chargement…"
|
||
title = "Document juridique"
|
||
|
||
[portal.nav]
|
||
agent-builder = "Constructeur d’agents"
|
||
components = "Composants"
|
||
docs = "Docs développeur"
|
||
documents = "Documents"
|
||
editor = "Éditeur"
|
||
home = "Accueil"
|
||
infrastructure = "Infrastructure"
|
||
integrations = "Intégrations"
|
||
pipelines = "Pipelines"
|
||
policies = "Politiques"
|
||
procurement = "Achats"
|
||
sources = "Sources"
|
||
usage = "Utilisation et facturation"
|
||
users = "Utilisateurs"
|
||
|
||
[portal.nav.section]
|
||
platform = "Plateforme PDF"
|
||
processor = "Processeur PDF"
|
||
|
||
[portal.pipelines]
|
||
subtitle = "Chaque pipeline de documents automatisé sur le backend : une chaîne ordonnée d’opérations sur un ensemble de sources, exécutée sur un déclencheur. Cliquez sur une ligne pour voir ses étapes et sources."
|
||
title = "Pipelines"
|
||
|
||
[portal.pipelines.actions]
|
||
newPipeline = "Nouveau pipeline"
|
||
|
||
[portal.pipelines.builder]
|
||
activate = "Activate"
|
||
back = "Retour aux pipelines"
|
||
cannotFollow = "Impossible d’accepter {{produced}}"
|
||
chooseAccount = "Choisir un compte"
|
||
chooseDestination = "Choisir une destination"
|
||
chooseOperation = "Choisir l’action de cette étape"
|
||
chooseSource = "Choisir une source"
|
||
discard = "Abandonner les modifications"
|
||
inputs = "Entrée"
|
||
inputSource = "Source d’entrée"
|
||
inputTrigger = "Déclencheur"
|
||
keepEditing = "Continuer à modifier"
|
||
moreActions = "More actions"
|
||
needsConfiguring = "Configuration requise"
|
||
needsDestination = "No destination chosen"
|
||
needsSource = "No source chosen"
|
||
noToolMatches = "Aucun outil ne correspond à votre recherche."
|
||
pause = "Pause"
|
||
rename = "Rename pipeline"
|
||
searchTools = "Rechercher des outils"
|
||
sendToSystem = "Envoyer vers un autre système"
|
||
stepsIncompatible = "Ces étapes ne peuvent pas s’exécuter sur ce que produit leur étape précédente : {{tools}}."
|
||
stepsNeedSetup = "Ces étapes doivent encore être configurées avant l’enregistrement : {{tools}}."
|
||
supportingFiles = "Supporting files"
|
||
testRun = "Test with a file"
|
||
unknownStep = "Opération non reconnue, conservée telle quelle."
|
||
unsavedBody = "Vous avez des modifications non enregistrées. Enregistrez-les avant de quitter ou abandonnez-les ?"
|
||
unsavedTitle = "Modifications non enregistrées"
|
||
usesDefaults = "S’exécute avec les paramètres par défaut"
|
||
viewDefinition = "View definition"
|
||
|
||
[portal.pipelines.builder.blocker]
|
||
destination = "Choose a destination"
|
||
heading = "To create this pipeline:"
|
||
incompatible = "Fix steps that can't run in order: {{tools}}"
|
||
name = "Give the pipeline a name"
|
||
saveHeading = "To save your changes:"
|
||
schedule = "Set how often it runs"
|
||
setup = "Finish setting up: {{tools}}"
|
||
source = "Choose an input source"
|
||
|
||
[portal.pipelines.builder.diagnostic]
|
||
fan-in = "Combine tous les fichiers de l’étape précédente"
|
||
fan-out = "S’exécute une fois par fichier de l’étape précédente"
|
||
format-mismatch = "Nécessite {{accepts}}, mais l’étape précédente produit {{produced}}"
|
||
output-uncertain = "Peut ne pas s’exécuter : la sortie de l’étape précédente dépend de sa configuration"
|
||
source-mismatch = "Nécessite {{accepts}}, mais l’entrée de ce pipeline est {{produced}}"
|
||
undeclared-operation = "Impossible de vérifier ce que cette étape accepte"
|
||
|
||
[portal.pipelines.composer]
|
||
addTool = "Ajouter un outil"
|
||
create = "Créer le pipeline"
|
||
createPaused = "Create paused"
|
||
editingUnsupported = "L’affichage de ces paramètres d’outil pour modification n’est pas encore pris en charge."
|
||
editSource = "Edit source"
|
||
name = "Nom"
|
||
namePlaceholder = "p. ex. Passage de caviardage"
|
||
noToolSettings = "Cet outil n’a aucun paramètre configurable."
|
||
output = "Sortie"
|
||
save = "Enregistrer les modifications"
|
||
scheduleEvery = "Exécuter tous les"
|
||
trigger = "Déclencheur"
|
||
triggerManual = "Manuel uniquement"
|
||
|
||
[portal.pipelines.composer.runsEvery]
|
||
days_one = "Runs every day"
|
||
days_other = "Runs every {{count}} days"
|
||
hours_one = "Runs every hour"
|
||
hours_other = "Runs every {{count}} hours"
|
||
minutes_one = "Runs every minute"
|
||
minutes_other = "Runs every {{count}} minutes"
|
||
|
||
[portal.pipelines.composer.unit]
|
||
days = "jours"
|
||
hours = "heures"
|
||
minutes = "minutes"
|
||
|
||
[portal.pipelines.definition]
|
||
subtitle = "The pipeline as it would be saved."
|
||
title = "Definition"
|
||
|
||
[portal.pipelines.delete]
|
||
body = "Supprimer \"{{name}}\" ? Cette action est irréversible."
|
||
cancel = "Annuler"
|
||
confirm = "Supprimer"
|
||
title = "Supprimer le pipeline ?"
|
||
|
||
[portal.pipelines.detail]
|
||
clearHistory = "Effacer l’historique"
|
||
delete = "Supprimer le pipeline"
|
||
run = "Exécuter maintenant"
|
||
|
||
[portal.pipelines.empty]
|
||
action = "Créer un pipeline"
|
||
connectSource = "Connecter une source"
|
||
description = "Créez votre premier pipeline : choisissez les sources sur lesquelles il s’exécute, enchaînez les opérations et choisissez où va la sortie."
|
||
title = "Aucun pipeline pour le moment"
|
||
|
||
[portal.pipelines.graph]
|
||
addFirstTool = "Add a tool"
|
||
dragHint = "Drop on a line to move it"
|
||
insertHere = "Add a tool here"
|
||
removeNode = "Remove {{name}}"
|
||
showError = "Show why {{name}} failed"
|
||
|
||
[portal.pipelines.graph.add]
|
||
input = "Add a source"
|
||
output = "Add a destination"
|
||
|
||
[portal.pipelines.graph.run]
|
||
done = "Done"
|
||
failed = "Failed"
|
||
running = "Running"
|
||
|
||
[portal.pipelines.inspector]
|
||
multipleBody = "Drag any of them onto a line to move them together, or press Delete to remove them."
|
||
multipleSelected_one = "{{count}} step selected"
|
||
multipleSelected_other = "{{count}} steps selected"
|
||
noSelectionBody = "Pick a node in the graph to change what it does."
|
||
noSelectionTitle = "Nothing selected"
|
||
|
||
[portal.pipelines.inspector.status]
|
||
completed_one = "Finished the only step"
|
||
completed_other = "Finished all {{count}} steps"
|
||
failed_one = "Failed on the only step"
|
||
failed_other = "Failed after {{done}} of {{count}} steps"
|
||
running_one = "Running the only step"
|
||
running_other = "Running step {{done}} of {{count}}"
|
||
|
||
[portal.pipelines.kpi]
|
||
active = "Actifs"
|
||
paused = "En pause"
|
||
total = "Pipelines"
|
||
|
||
[portal.pipelines.run]
|
||
allProcessed_one = "Rien à exécuter : le {{count}} document de la source a déjà été traité."
|
||
allProcessed_other = "Rien à exécuter : les {{count}} documents des sources ont déjà été traités."
|
||
completed_one = "Exécution terminée."
|
||
completed_other = "Les {{count}} exécutions sont terminées."
|
||
empty = "Rien à exécuter : les sources n’avaient aucun document à traiter."
|
||
failed = "Échec de l’exécution : {{error}}"
|
||
inFlight = "Rien de nouveau à exécuter : des documents sont encore en cours de traitement depuis une exécution précédente."
|
||
parked_one = "Rien à exécuter : {{count}} document a échoué précédemment et est mis en attente. Corrigez la cause, puis effacez l’historique pour le réessayer."
|
||
parked_other = "Rien à exécuter : {{count}} documents ont échoué précédemment et sont mis en attente. Corrigez la cause, puis effacez l’historique pour les réessayer."
|
||
running = "Exécution démarrée ; toujours en cours."
|
||
timeout = "L’exécution prend plus de temps que prévu ; elle peut encore se terminer en arrière-plan."
|
||
|
||
[portal.pipelines.status]
|
||
active = "Actif"
|
||
paused = "En pause"
|
||
|
||
[portal.pipelines.table]
|
||
name = "Pipeline"
|
||
sources = "Sources"
|
||
status = "Statut"
|
||
steps = "Étapes"
|
||
trigger = "Trigger"
|
||
|
||
[portal.pipelines.trigger]
|
||
folder-watch = "Surveillance de dossier"
|
||
manual = "Manuel"
|
||
schedule = "Planifié"
|
||
|
||
[portal.policies]
|
||
defaultName = "Stratégie {{category}}"
|
||
subtitle = "Automatisations permanentes qui appliquent un pipeline d’outils à chaque document. Chaque politique se déclenche lors du téléversement ou de l’exportation, exécute sa chaîne d’outils et enregistre la version appliquée à côté de l’original."
|
||
title = "Politiques"
|
||
|
||
[portal.policies.card]
|
||
comingSoon = "Passer à Enterprise"
|
||
notSetUp = "Non configuré"
|
||
requiresAiEngine = "Nécessite le moteur AI"
|
||
|
||
[portal.policies.categories.classification]
|
||
desc = "Identifiez le type de chaque document lors du téléversement et marquez ses métadonnées pour le classement et la recherche."
|
||
label = "Classification"
|
||
|
||
[portal.policies.categories.compliance]
|
||
desc = "Appliquez les exigences HIPAA, GDPR, SOC 2 ou FedRAMP à chaque document."
|
||
label = "Conformité"
|
||
|
||
[portal.policies.categories.ingestion]
|
||
desc = "Classifiez les documents, extrayez des données structurées, appliquez des conventions de nommage et normalisez les pages."
|
||
label = "Ingestion"
|
||
|
||
[portal.policies.categories.retention]
|
||
desc = "Définissez la durée de conservation des documents, quand les archiver et quand les supprimer."
|
||
label = "Rétention"
|
||
|
||
[portal.policies.categories.routing]
|
||
desc = "Acheminez automatiquement les documents vers la bonne équipe, le bon dossier ou le bon système."
|
||
label = "Routage"
|
||
|
||
[portal.policies.categories.security]
|
||
desc = "Détectez les PII, caviardez, supprimez le contenu actif et ajoutez un filigrane aux documents."
|
||
label = "Sécurité"
|
||
|
||
[portal.policies.config]
|
||
scopeAll = "Tous les documents"
|
||
|
||
[portal.policies.config.classification]
|
||
summary = "Classe chaque document téléversé selon les étiquettes de votre équipe et marque ses métadonnées."
|
||
|
||
[portal.policies.config.classification.rules]
|
||
0 = "Classer"
|
||
1 = "Marquer les métadonnées"
|
||
|
||
[portal.policies.config.compliance]
|
||
summary = "Valide les documents par rapport aux cadres réglementaires avant qu’ils ne quittent le système."
|
||
|
||
[portal.policies.config.compliance.fields]
|
||
accessLog = "Journal d’accès"
|
||
auditTrail = "Piste d’audit"
|
||
frameworks = "Cadres"
|
||
onViolation = "En cas de non-conformité"
|
||
|
||
[portal.policies.config.compliance.rules]
|
||
0 = "Analyse du cadre"
|
||
1 = "Appliquer l’action"
|
||
2 = "Piste d’audit"
|
||
|
||
[portal.policies.config.ingestion]
|
||
summary = "Classifie les documents, extrait des données structurées, applique le nommage et normalise les pages."
|
||
|
||
[portal.policies.config.ingestion.fields]
|
||
belowThreshold = "Sous le seuil"
|
||
minConfidence = "Confiance min."
|
||
|
||
[portal.policies.config.ingestion.rules]
|
||
0 = "Classifier"
|
||
1 = "Extraire"
|
||
2 = "Nommer"
|
||
3 = "Normaliser"
|
||
|
||
[portal.policies.config.purview]
|
||
label = "Appliquer une étiquette de sensibilité Microsoft Purview"
|
||
|
||
[portal.policies.config.purview.fields]
|
||
connection = "Tenant Purview"
|
||
labelId = "ID de l’étiquette"
|
||
labelIdHelp = "Le GUID de l’étiquette, depuis le portail Purview. L’application d’une étiquette écrit ses métadonnées sur le PDF ; elle ne peut pas chiffrer, ce qui nécessite le client Microsoft."
|
||
labelName = "Nom de l’étiquette (facultatif)"
|
||
labelNameHelp = "Enregistré avec l’ID afin que les personnes et les outils puissent reconnaître l’étiquette."
|
||
|
||
[portal.policies.config.purview.fields.method]
|
||
help = "Purview distingue une étiquette appliquée par une stratégie d’une étiquette choisie par une personne."
|
||
label = "Mode d’enregistrement de l’étiquette"
|
||
privileged = "Comme choisie par une personne"
|
||
standard = "Comme appliquée automatiquement"
|
||
|
||
[portal.policies.config.purviewRead]
|
||
label = "Lire une étiquette Microsoft Purview"
|
||
|
||
[portal.policies.config.purviewRead.fields]
|
||
connection = "Tenant Purview"
|
||
connectionHelp = "Lit l’étiquette que le document porte déjà, afin que les étapes ultérieures puissent agir en conséquence."
|
||
|
||
[portal.policies.config.retention]
|
||
summary = "Applique la durée de conservation des documents, quand les archiver et quand les supprimer."
|
||
|
||
[portal.policies.config.retention.fields]
|
||
archiveAfter = "Archiver après"
|
||
immutableHold = "Conservation immuable"
|
||
keepFor = "Conserver pendant"
|
||
|
||
[portal.policies.config.retention.rules]
|
||
0 = "Blocage de rétention"
|
||
1 = "Archivage automatique"
|
||
2 = "Blocage de suppression"
|
||
|
||
[portal.policies.config.routing]
|
||
summary = "Achemine les documents vers la bonne destination selon le type et la classification."
|
||
|
||
[portal.policies.config.routing.fields]
|
||
destination = "Destination"
|
||
notify = "Notifier lors du routage"
|
||
webhookUrl = "Webhook URL"
|
||
|
||
[portal.policies.config.routing.rules]
|
||
0 = "Classification automatique"
|
||
1 = "Acheminer vers le dossier"
|
||
2 = "Notification webhook"
|
||
|
||
[portal.policies.config.security]
|
||
summary = "Détecte et caviarde les PII, supprime le contenu actif (JavaScript) et ajoute un filigrane aux documents."
|
||
|
||
[portal.policies.config.security.rules]
|
||
0 = "Caviarder les PII"
|
||
1 = "Supprimer JavaScript"
|
||
2 = "Filigrane"
|
||
|
||
[portal.policies.detail]
|
||
enforces = "Applique"
|
||
onEveryExport = "À chaque exportation"
|
||
onEveryUpload = "À chaque téléversement"
|
||
outputAsNewFile = "comme nouveau fichier"
|
||
outputAsNewVersion = "comme nouvelle version"
|
||
recentActivity = "Activité récente"
|
||
retry = "Réessayer"
|
||
showLess = "Afficher moins"
|
||
showMore = "Afficher plus"
|
||
sources = "Sources"
|
||
|
||
[portal.policies.detail.actions]
|
||
clearHistory = "Effacer l’historique des traitements"
|
||
delete = "Supprimer"
|
||
editSettings = "Modifier les paramètres"
|
||
pause = "Mettre en pause"
|
||
resume = "Reprendre"
|
||
runNow = "Exécuter maintenant"
|
||
|
||
[portal.policies.detail.clearHistory]
|
||
body = "Cette politique oubliera chaque fichier qu’elle a déjà traité et retraitera tout ce qui se trouve actuellement dans ses sources lors de la prochaine exécution. Les fichiers eux-mêmes ne sont pas modifiés. Cette action est irréversible."
|
||
cancel = "Annuler"
|
||
confirm = "Effacer l’historique"
|
||
title = "Effacer l’historique des traitements ?"
|
||
|
||
[portal.policies.detail.emptyActivity]
|
||
description = "Les documents apparaîtront ici une fois cette politique exécutée."
|
||
title = "Aucune activité pour le moment"
|
||
|
||
[portal.policies.endpoints]
|
||
addWatermark = "Filigrane"
|
||
autoRedact = "Masquer les PII"
|
||
classifyAndLabel = "Classer"
|
||
compressPdf = "Compresser"
|
||
flatten = "Aplatir"
|
||
ocrPdf = "OCR"
|
||
sanitizePdf = "Supprimer JavaScript"
|
||
|
||
[portal.policies.offline]
|
||
description = "Vos politiques sont enregistrées et apparaîtront une fois la connexion rétablie."
|
||
retry = "Réessayer"
|
||
title = "Backend indisponible"
|
||
|
||
[portal.policies.operations]
|
||
change = "Changer l’action de cette étape"
|
||
noResults = "Aucune étape ne correspond. Essayez un nom de produit, ou \"scan\", \"notify\", \"attach\"."
|
||
searchPlaceholder = "Rechercher des étapes — essayez \"scan\", \"attach\" ou un nom de produit"
|
||
|
||
[portal.policies.operations.bodyMode]
|
||
binary = "Octets bruts du fichier"
|
||
json = "Dans une charge utile JSON"
|
||
multipart = "Comme téléversement de fichier (multipart)"
|
||
|
||
[portal.policies.operations.clamavScan]
|
||
description = "Votre propre serveur ClamAV vérifie le document ; rien ne quitte votre réseau."
|
||
label = "Rechercher des virus (auto-hébergé)"
|
||
|
||
[portal.policies.operations.cloudmersiveAdvancedScan]
|
||
description = "Rejette les documents contenant des macros, exécutables, scripts ou objets intégrés."
|
||
label = "Bloquer le contenu actif"
|
||
|
||
[portal.policies.operations.cloudmersiveScan]
|
||
description = "Cloudmersive vérifie le document et l’exécution s’arrête s’il n’est pas sans menace."
|
||
label = "Rechercher des virus"
|
||
|
||
[portal.policies.operations.confluenceAttach]
|
||
description = "Classe le document traité sur une page."
|
||
label = "Joindre à une page Confluence"
|
||
|
||
[portal.policies.operations.consignoSubmit]
|
||
description = "Soumet le document à ConsignO Cloud pour signature."
|
||
label = "Envoyer pour signature (ConsignO)"
|
||
note = "Soumet le document. La récupération de la copie signée n’est pas encore prise en charge, car une étape ne peut pas transmettre un résultat à une étape ultérieure."
|
||
|
||
[portal.policies.operations.customApiCall]
|
||
description = "Définissez vous-même l’appel : chemin, méthode, corps et traitement de la réponse."
|
||
label = "Appeler une API personnalisée"
|
||
|
||
[portal.policies.operations.discordNotify]
|
||
description = "Informe un canal que la stratégie a traité un document."
|
||
label = "Publier un message sur Discord"
|
||
|
||
[portal.policies.operations.elasticIndex]
|
||
description = "Enregistre ce que la stratégie a fait sous forme de document consultable."
|
||
label = "Indexer un événement d’audit dans Elasticsearch"
|
||
|
||
[portal.policies.operations.fields.bodyMode]
|
||
helperText = "Multipart convient aux API de téléversement ; JSON convient aux API qui veulent le fichier dans une charge utile ; binary envoie les octets bruts."
|
||
label = "Comment envoyer le document"
|
||
|
||
[portal.policies.operations.fields.bodyTemplate]
|
||
helperText = "Un corps JSON envoyé tel quel. {{document.base64}} contient le fichier ; {{document.*}} et {{run.*}} sont renseignés pour chaque document."
|
||
label = "Corps JSON"
|
||
|
||
[portal.policies.operations.fields.connection]
|
||
label = "Compte"
|
||
|
||
[portal.policies.operations.fields.domain]
|
||
label = "Domaine Mailgun"
|
||
placeholder = "mg.acme.com"
|
||
|
||
[portal.policies.operations.fields.fileFieldName]
|
||
helperText = "Le champ de formulaire sous lequel l’API attend le document."
|
||
label = "Nom du champ de fichier"
|
||
placeholder = "file"
|
||
|
||
[portal.policies.operations.fields.from]
|
||
label = "De"
|
||
placeholder = "processor@acme.com"
|
||
|
||
[portal.policies.operations.fields.headers]
|
||
helperText = "Un objet JSON de paires nom/valeur d’en-tête. L’identifiant de la connexion est ajouté pour vous."
|
||
label = "En-têtes"
|
||
|
||
[portal.policies.operations.fields.index]
|
||
label = "Index"
|
||
placeholder = "stirling-audit"
|
||
|
||
[portal.policies.operations.fields.issueKey]
|
||
label = "Clé du ticket"
|
||
placeholder = "OPS-42"
|
||
|
||
[portal.policies.operations.fields.message]
|
||
helperText = "Envoyé comme corps du message. {{document.*}} et {{run.*}} sont renseignés pour chaque document."
|
||
label = "Message"
|
||
|
||
[portal.policies.operations.fields.method]
|
||
label = "Méthode"
|
||
|
||
[portal.policies.operations.fields.pageId]
|
||
label = "ID de page"
|
||
placeholder = "66186"
|
||
|
||
[portal.policies.operations.fields.path]
|
||
helperText = "Ajouté à l’URL de base de la connexion. Il ne peut jamais atteindre un autre hôte."
|
||
label = "Chemin"
|
||
placeholder = "/v1/scan"
|
||
|
||
[portal.policies.operations.fields.remotePath]
|
||
helperText = "Emplacement où l’écrire dans le lecteur. {{document.filename}} est renseigné pour chaque document."
|
||
label = "Chemin de destination"
|
||
placeholder = "Processed/{{document.filename}}"
|
||
|
||
[portal.policies.operations.fields.responseMode]
|
||
helperText = "Rapport laisse le document intact. Remplacer l’échange contre ce qui est renvoyé."
|
||
label = "Que faire de la réponse"
|
||
|
||
[portal.policies.operations.fields.signerEmail]
|
||
label = "E-mail du signataire"
|
||
placeholder = "signer@acme.com"
|
||
|
||
[portal.policies.operations.fields.subject]
|
||
label = "Objet"
|
||
placeholder = "Processed: {{document.filename}}"
|
||
|
||
[portal.policies.operations.fields.text]
|
||
helperText = "Presidio analyse ce texte. Utilisez {{document.title}} ou collez le texte que vous souhaitez vérifier."
|
||
label = "Texte à vérifier"
|
||
|
||
[portal.policies.operations.fields.to]
|
||
label = "À"
|
||
placeholder = "records@acme.com"
|
||
|
||
[portal.policies.operations.fields.username]
|
||
label = "Nom d’utilisateur Nextcloud"
|
||
placeholder = "svc-stirling"
|
||
|
||
[portal.policies.operations.googlechatNotify]
|
||
description = "Informe un espace que la stratégie a traité un document."
|
||
label = "Publier un message sur Google Chat"
|
||
|
||
[portal.policies.operations.jiraAttach]
|
||
description = "Classe le document traité dans un ticket."
|
||
label = "Joindre à un ticket Jira"
|
||
|
||
[portal.policies.operations.mailgunEmail]
|
||
description = "Envoie le document traité en pièce jointe."
|
||
label = "Envoyer le document par e-mail (Mailgun)"
|
||
|
||
[portal.policies.operations.n8nGate]
|
||
description = "Your workflow decides whether the run carries on."
|
||
label = "Ask an n8n workflow to approve"
|
||
note = "The workflow must reply with {\"approved\": true}. Anything else — including a timeout — stops the run and parks the document."
|
||
|
||
[portal.policies.operations.n8nNotify]
|
||
description = "Sends the run's details, not the document."
|
||
label = "Tell an n8n workflow"
|
||
|
||
[portal.policies.operations.n8nSend]
|
||
description = "Sends the document and the run's details to your workflow."
|
||
label = "Send the document to n8n"
|
||
|
||
[portal.policies.operations.n8nTransform]
|
||
description = "Your workflow processes the document and the file it returns replaces it."
|
||
label = "Process the document in n8n"
|
||
note = "Set the Webhook node to respond \"Using Respond to Webhook Node\", and return a file. On the default \"Immediately\" setting n8n replies with an acknowledgement, and that would replace the document."
|
||
|
||
[portal.policies.operations.nextcloudUpload]
|
||
description = "Écrit le document traité dans un dossier."
|
||
label = "Téléverser vers Nextcloud"
|
||
|
||
[portal.policies.operations.presidioAnalyze]
|
||
description = "Votre propre serveur Presidio signale les données personnelles qu’il trouve."
|
||
label = "Détecter les données personnelles"
|
||
note = "Presidio lit du texte, pas des fichiers. Fournissez-lui le texte que vous souhaitez vérifier — le document lui-même n’est pas téléversé."
|
||
|
||
[portal.policies.operations.responseMode]
|
||
replace = "Remplacer le document par la réponse"
|
||
report = "Conserver le document, enregistrer la réponse"
|
||
|
||
[portal.policies.operations.sendgridEmail]
|
||
description = "Envoie le document traité en pièce jointe."
|
||
label = "Envoyer le document par e-mail (SendGrid)"
|
||
|
||
[portal.policies.operations.slackNotify]
|
||
description = "Informe un canal que la stratégie a traité un document."
|
||
label = "Publier un message sur Slack"
|
||
|
||
[portal.policies.operations.splunkEvent]
|
||
description = "Enregistre ce que la stratégie a fait, là où vos auditeurs consultent déjà."
|
||
label = "Envoyer un événement d’audit à Splunk"
|
||
|
||
[portal.policies.operations.sumologicEvent]
|
||
description = "Enregistre ce que la stratégie a fait dans un collecteur HTTP."
|
||
label = "Envoyer un événement d’audit à Sumo Logic"
|
||
|
||
[portal.policies.operations.teamsNotify]
|
||
description = "Informe un canal que la stratégie a traité un document."
|
||
label = "Publier un message sur Teams"
|
||
|
||
[portal.policies.operations.webhookPost]
|
||
description = "Envoie le document lui-même à l’URL de votre choix."
|
||
label = "Publier le document vers un webhook"
|
||
|
||
[portal.policies.operations.zapierNotify]
|
||
description = "Transmet les détails de l’exécution à votre automatisation."
|
||
label = "Déclencher un Zap ou un scénario Make"
|
||
|
||
[portal.policies.stats]
|
||
activeFor = "Actif"
|
||
dataProcessed = "Données traitées"
|
||
docsEnforced = "Docs appliqués"
|
||
|
||
[portal.policies.status]
|
||
active = "Actif"
|
||
paused = "En pause"
|
||
|
||
[portal.policies.summary.active]
|
||
description = "Application lors de l’upload/export"
|
||
label = "Politiques actives"
|
||
|
||
[portal.policies.summary.categories]
|
||
description = "Disponibles à configurer"
|
||
label = "Catégories"
|
||
|
||
[portal.policies.summary.docsEnforced]
|
||
description = "Sur les politiques actives"
|
||
label = "Docs appliqués"
|
||
|
||
[portal.policies.summary.paused]
|
||
description = "Configurées mais non déclenchées"
|
||
label = "En pause"
|
||
|
||
[portal.policies.table]
|
||
appliesTo = "S’applique à"
|
||
docs = "Docs appliqués"
|
||
enforces = "Applique"
|
||
policy = "Stratégie"
|
||
status = "Statut"
|
||
|
||
[portal.policies.wizard.actions]
|
||
back = "Retour"
|
||
cancel = "Annuler"
|
||
continue = "Continuer"
|
||
enablePolicy = "Activer la politique"
|
||
saveChanges = "Enregistrer les modifications"
|
||
|
||
[portal.policies.wizard.capability.classify]
|
||
desc = "Identifie le type du document à partir des étiquettes de votre équipe et le marque, afin qu’il soit classé et recherché par catégorie."
|
||
label = "Classer le document"
|
||
|
||
[portal.policies.wizard.capability.compress]
|
||
desc = "Compresse le document pour réduire la taille du fichier."
|
||
label = "Réduire la taille du fichier"
|
||
|
||
[portal.policies.wizard.capability.flatten]
|
||
desc = "Fusionne les champs de formulaire et les annotations dans la page afin qu’ils ne puissent pas être modifiés."
|
||
label = "Aplatir le document"
|
||
|
||
[portal.policies.wizard.capability.ocr]
|
||
desc = "Exécute OCR afin que les pages numérisées deviennent du texte sélectionnable et recherchable."
|
||
label = "Rendre le texte recherchable"
|
||
|
||
[portal.policies.wizard.capability.redact]
|
||
desc = "Trouve et noircit les informations sensibles — comme les numéros de sécurité sociale et de carte — afin qu’elles ne puissent pas être lues."
|
||
label = "Masquer les informations sensibles"
|
||
|
||
[portal.policies.wizard.capability.sanitize]
|
||
desc = "Supprime le JavaScript masqué afin que rien ne puisse s’exécuter automatiquement à l’ouverture du document."
|
||
label = "Retirer le contenu actif"
|
||
|
||
[portal.policies.wizard.capability.timestampPdf]
|
||
desc = "Prouve que le document existait sous cette forme exacte à un moment donné, à l’aide d’une autorité d’horodatage indépendante. Seul un hash est envoyé - le document ne quitte jamais votre serveur."
|
||
label = "Ajouter un horodatage de confiance"
|
||
|
||
[portal.policies.wizard.capability.watermark]
|
||
desc = "Appose une marque visible (p. ex. « Confidentiel ») sur chaque page."
|
||
label = "Appliquer un filigrane"
|
||
|
||
[portal.policies.wizard.classification]
|
||
description = "Chaque document téléversé est classé selon les étiquettes intégrées et marqué avec les types qui conviennent. L’ensemble d’étiquettes est partagé par toute votre équipe."
|
||
labelsHeading = "Étiquettes de classification"
|
||
|
||
[portal.policies.wizard.errors]
|
||
noTools = "Activez d’abord au moins un outil dans le flux de travail."
|
||
saveFailed = "Impossible d’enregistrer la politique. Veuillez réessayer."
|
||
|
||
[portal.policies.wizard.output]
|
||
heading = "Sortie et exécution"
|
||
|
||
[portal.policies.wizard.output.filenameRule]
|
||
autoNumber = "Numérotation automatique"
|
||
label = "Règle de nom de fichier"
|
||
placeholder = "Texte à ajouter (facultatif)"
|
||
prefix = "Préfixe"
|
||
suffix = "Suffixe"
|
||
|
||
[portal.policies.wizard.output.outputAs]
|
||
label = "Sortie en tant que"
|
||
newFile = "Nouveau fichier"
|
||
newVersion = "Nouvelle version"
|
||
|
||
[portal.policies.wizard.output.runOn]
|
||
export = "Export"
|
||
helper = "Quand la politique se déclenche : lors de l’upload ou avant l’export."
|
||
label = "Exécuter lors de"
|
||
upload = "Upload"
|
||
|
||
[portal.policies.wizard.settings]
|
||
heading = "Paramètres"
|
||
|
||
[portal.policies.wizard.sources]
|
||
heading = "Sources"
|
||
loading = "Chargement des sources…"
|
||
|
||
[portal.policies.wizard.tabs]
|
||
ariaLabel = "Étapes de configuration"
|
||
settings = "Paramètres"
|
||
workflow = "Actions"
|
||
|
||
[portal.policies.wizard.title]
|
||
edit = "Modifier la politique {{category}}"
|
||
setUp = "Configurer la politique {{category}}"
|
||
|
||
[portal.policies.wizard.workflow]
|
||
description = "Choisissez ce que cette politique fait à chaque document qu’elle traite."
|
||
|
||
[portal.policySummary.action]
|
||
setUp = "Configurer"
|
||
|
||
[portal.processorFlow]
|
||
footnote = "Les compteurs portent sur les dernières 24 heures. La vitesse du flux est illustrative."
|
||
liveBadge = "En direct"
|
||
stats = "{{connected}} connectés · {{processed}} PDF traités"
|
||
title = "Processeur PDF"
|
||
|
||
[portal.processorFlow.lens]
|
||
ariaLabel = "Mode d’affichage"
|
||
flow = "Flux"
|
||
sankey = "Sankey"
|
||
|
||
[portal.processorFlow.outcomes]
|
||
count = "{{n}} · 24 h"
|
||
failed = "Échec"
|
||
heading = "Résultats"
|
||
success = "Livrés"
|
||
|
||
[portal.processorFlow.policies]
|
||
activeCount = "{{n}} actives"
|
||
count = "{{n}} · 24 h"
|
||
heading = "Stratégies"
|
||
setUp = "Configurer"
|
||
soon = "Bientôt"
|
||
|
||
[portal.processorFlow.sankey]
|
||
waist = "Stratégies · {{n}} actives"
|
||
|
||
[portal.processorFlow.sankey.empty]
|
||
description = "Connectez une source et activez une stratégie pour voir les documents circuler dans le processeur."
|
||
title = "Aucun flux pour le moment"
|
||
|
||
[portal.processorFlow.sources]
|
||
comingSoonTag = "Connecter"
|
||
editor = "Éditeur Stirling PDF"
|
||
heading = "Sources"
|
||
perDay = "{{n}} / 24 h"
|
||
|
||
[portal.processorFlow.sources.comingSoon]
|
||
apiMcp = "API · MCP"
|
||
cloud = "Drive · Box · S3"
|
||
email = "Réception des e-mails"
|
||
|
||
[portal.procurement]
|
||
subtitle = "Faites évaluer, contractualiser et intégrer votre équipe. Chaque document au même endroit."
|
||
title = "Achats"
|
||
|
||
[portal.procurement.agreement]
|
||
agreeCta = "Accepter et s’abonner"
|
||
confidential = "Confidentiel"
|
||
confirm = "J’ai lu et j’accepte le Stirling Enterprise Agreement."
|
||
docName = "Contrat Stirling Enterprise"
|
||
docSub = "MSA, bon de commande, EULA et DPA, combinés en une seule signature."
|
||
download = "Télécharger"
|
||
downloadDraftError = "Impossible de générer le PDF du contrat - le moteur de rendu des documents est indisponible. Veuillez réessayer sous peu ou contacter le support."
|
||
downloadError = "Impossible de télécharger le contrat signé. Veuillez réessayer."
|
||
legalName = "Nom de l’entité juridique"
|
||
legalNamePlaceholder = "L’entité juridique qui signera"
|
||
loadError = "Impossible de charger le contrat. Veuillez réessayer."
|
||
loading = "Chargement du contrat..."
|
||
ref = "Réf. {{ref}} · {{version}}"
|
||
requestChanges = "Demander des modifications"
|
||
scrollHint = "Faites défiler pour examiner"
|
||
signatory = "Nom du signataire"
|
||
signatoryPlaceholder = "Nom complet"
|
||
signatoryTitle = "Fonction du signataire"
|
||
signatoryTitlePlaceholder = "p. ex. Directeur juridique"
|
||
signError = "Impossible d’enregistrer votre signature. Veuillez réessayer."
|
||
|
||
[portal.procurement.builder]
|
||
addons = "Modules complémentaires"
|
||
addressLine1 = "Adresse ligne 1"
|
||
addressLine1Placeholder = "500 Howard St"
|
||
addressLine2 = "Adresse ligne 2"
|
||
addressLine2Placeholder = "Suite, étage, bâtiment"
|
||
back = "Retour"
|
||
businessName = "Nom de l’entreprise"
|
||
businessNamePlaceholder = "Votre entreprise"
|
||
city = "Ville"
|
||
cityPlaceholder = "San Francisco"
|
||
completeRequired = "Veuillez renseigner les champs obligatoires (marqués *) avec une adresse e-mail valide avant de générer le devis."
|
||
contactEmail = "E-mail du contact"
|
||
contactEmailPlaceholder = "jane@acme.com"
|
||
contactName = "Nom du contact"
|
||
contactNamePlaceholder = "Jane Doe"
|
||
continue = "Continuer"
|
||
done = "Terminé"
|
||
eula = "J’ai lu et j’accepte le Stirling Enterprise EULA. Il régit le contrat généré à partir de ce devis."
|
||
generate = "Générer le devis"
|
||
indemnification = "Indemnisation IP"
|
||
indemnificationSub = "Nous défendons les réclamations IP éligibles, conformément au EULA"
|
||
paperEyebrow = "Devis Entreprise"
|
||
paperFor = "Préparé pour"
|
||
pdfSize = "Taille du PDF"
|
||
poNumber = "Numéro de bon de commande"
|
||
poNumberPlaceholder = "Facultatif"
|
||
postalCode = "Code postal"
|
||
postalCodePlaceholder = "94105"
|
||
posture = "Gouvernance"
|
||
posture_count = "~{{count}} stratégies"
|
||
posture_essentials = "Essentiels"
|
||
posture_essentialsSub = "Classification + Partage — les valeurs par défaut"
|
||
posture_governed = "Gouverné"
|
||
posture_governedSub = "Ajoute Sécurité et Routage"
|
||
posture_regulated = "Réglementé"
|
||
posture_regulatedSub = "Chaque catégorie — Conformité, Conservation, Ingestion"
|
||
qbr = "Revues d’activité trimestrielles"
|
||
qbrSub = "Votre SE examine l’utilisation et la feuille de route chaque trimestre"
|
||
region = "État / région"
|
||
regionPlaceholder = "California"
|
||
running = "{{annual}} / an · {{years}} an(s) {{tcv}}"
|
||
s1Sub = "Votre équipe et les PDF que vous prévoyez de traiter chaque année."
|
||
s1Title = "Quel volume allez-vous traiter ?"
|
||
s2Sub = "Les engagements plus longs réduisent le tarif ; votre niveau de service définit le support."
|
||
s2Title = "Engagement et service"
|
||
s3Sub = "Pour le devis et le contrat qu’il génère."
|
||
s3Title = "Vos informations"
|
||
serviceLevel = "Niveau de service"
|
||
size_compact = "Compact"
|
||
size_compactSub = "Principalement du texte, moins de 1 MB"
|
||
size_heavy = "Lourd"
|
||
size_heavySub = "Scanné ou riche en images, 5 MB+"
|
||
size_standard = "Standard"
|
||
size_standardSub = "Texte et images mixtes, 1 à 5 MB"
|
||
slDedicated = "Dédié"
|
||
slDedicatedSub = "4 heures ouvrées · gestionnaire de compte dédié · +30 %"
|
||
slPriority = "Prioritaire"
|
||
slPrioritySub = "Même jour ouvré · CSM nommé · +15 %"
|
||
slStandard = "Standard"
|
||
slStandardSub = "Jour ouvré suivant · CSM partagé · inclus"
|
||
stepOf = "Étape {{n}} sur {{total}}"
|
||
taxId = "N° de TVA / identifiant fiscal"
|
||
taxIdPlaceholder = "Facultatif"
|
||
term = "Durée"
|
||
termDiscount = "Remise d’engagement pluriannuel de {{pct}} % appliquée"
|
||
title = "Créez votre devis"
|
||
training = "Intégration et formation"
|
||
trainingSub = "Sessions en direct pour lancer votre équipe"
|
||
users = "Nombre total d’utilisateurs"
|
||
usersPlaceholder = "p. ex. 250"
|
||
viewEula = "Lire"
|
||
volEstimated = "Estimé à partir de {{count}} utilisateurs (~2 000 PDF chacun, automatisation incluse). Modifiez si vous avez une meilleure estimation."
|
||
volManual = "Utilisation de votre chiffre. Réestimez à partir de la taille de votre équipe à tout moment."
|
||
volNoUsers = "Vous n’êtes pas sûr ? Saisissez la taille de votre équipe et nous l’estimerons."
|
||
volume = "Volume annuel de PDF"
|
||
volumePlaceholder = "p. ex. 1 000 000"
|
||
years_one = "{{count}} an"
|
||
years_other = "{{count}} ans"
|
||
|
||
[portal.procurement.documents]
|
||
agreement = "Contrat Entreprise"
|
||
agreementSub = "MSA, bon de commande et DPA en une seule signature."
|
||
download = "Télécharger"
|
||
eula = "EULA et conditions commerciales"
|
||
eulaSub = "Les conditions du logiciel et commerciales en libre-service."
|
||
invoice = "Facture"
|
||
invoiceSub = "Votre première facture d’abonnement."
|
||
laterInvoice = "Disponible après votre acceptation"
|
||
laterQuote = "Disponible une fois votre devis émis"
|
||
quote = "Devis"
|
||
quoteSub = "Votre devis Entreprise détaillé."
|
||
sla = "Annexe SLA"
|
||
slaSub = "Niveaux de support et objectifs de réponse."
|
||
subprocessors = "Sous-traitants"
|
||
subprocessorsSub = "Tiers qui traitent des données pour votre compte."
|
||
subtitle = "Vos documents contractuels, disponibles à tout moment."
|
||
title = "Documents"
|
||
view = "Voir"
|
||
|
||
[portal.procurement.error]
|
||
title = "Une erreur s’est produite"
|
||
|
||
[portal.procurement.hero]
|
||
barAria = "Étape {{current}} sur {{total}}"
|
||
ctaAgreement = "Vérifier et signer le contrat"
|
||
ctaExploring = "Configurer votre essai"
|
||
ctaQuote = "Vérifier votre devis"
|
||
ctaReviewQuote = "Examiner le devis"
|
||
ctaTrial = "Créer votre devis"
|
||
documents = "Documents"
|
||
eyebrow = "Achats Enterprise"
|
||
eyebrowCompany = "{{company}} Enterprise"
|
||
inviteTeammates = "Inviter des coéquipiers"
|
||
licenseKey = "Clé de licence"
|
||
liveSub = "Votre organisation est provisionnée et votre licence est active."
|
||
liveTitle = "Vous êtes en production sur Stirling Enterprise"
|
||
next = "Suivant : {{stage}}"
|
||
open = "Ouvrir les achats"
|
||
scheduleCall = "Planifier un appel"
|
||
sentenceAgreement = "examiner et signer le contrat"
|
||
sentenceLive = "provisionnement et déploiement"
|
||
sentencePayment = "bon de commande et paiement"
|
||
sentenceQuote = "examiner et accepter votre devis"
|
||
sentenceTrial = "configurer votre espace d’essai"
|
||
|
||
[portal.procurement.journey]
|
||
daysLeft_one = "{{count}} jour restant"
|
||
daysLeft_other = "{{count}} jours restants"
|
||
|
||
[portal.procurement.journeySteps.agreement]
|
||
blurb = "Une seule signature couvre MSA, order form, EULA et DPA."
|
||
gatingAction = "Vérifier et signer votre contrat"
|
||
label = "Contrat"
|
||
|
||
[portal.procurement.journeySteps.implementation]
|
||
blurb = "Provisionnez votre espace de travail et exécutez le plan de mise en production."
|
||
gatingAction = "Provisionnement de votre espace de travail"
|
||
label = "Implémentation"
|
||
|
||
[portal.procurement.journeySteps.payment]
|
||
blurb = "Payez par carte, virement bancaire ou sur bon de commande."
|
||
gatingAction = "Confirmer le paiement"
|
||
label = "Paiement"
|
||
|
||
[portal.procurement.journeySteps.quote]
|
||
blurb = "Vérifiez la tarification au volume engagé et la durée du contrat."
|
||
gatingAction = "Accepter votre devis"
|
||
label = "Devis"
|
||
|
||
[portal.procurement.journeySteps.trial]
|
||
blurb = "Évaluez Stirling avec vos documents et flux de travail."
|
||
gatingAction = "Créer votre devis"
|
||
label = "Essai"
|
||
|
||
[portal.procurement.license]
|
||
copied = "Copié"
|
||
copy = "Copier la clé"
|
||
downloadError = "Impossible de générer le fichier de licence hors ligne pour le moment — veuillez réessayer dans un instant."
|
||
downloadOffline = "Télécharger la licence hors ligne (.lic)"
|
||
hint = "Collez cette clé dans une instance auto-hébergée pour l’activer, ou conservez-la pour vos dossiers. Gardez-la en sécurité."
|
||
label = "Votre clé de licence"
|
||
subtitle = "Activez une instance auto-hébergée avec cette clé, ou conservez-la pour vos dossiers."
|
||
title = "Votre clé de licence"
|
||
trialFileHint = "Ceci est votre fichier de licence d’essai. Une fois votre contrat en place, revenez le télécharger à nouveau — contrairement à la clé de licence en ligne, le fichier .lic ne se mettra pas à jour tout seul."
|
||
|
||
[portal.procurement.link]
|
||
cta = "Lier le compte"
|
||
description = "Les achats s’exécutent sur votre compte Stirling lié : c’est ainsi que nous provisionnons l’essai, tarifons votre devis et lançons la facturation. Liez un compte pour commencer."
|
||
eyebrow = "Enterprise"
|
||
title = "Liez votre compte pour commencer"
|
||
|
||
[portal.procurement.live]
|
||
description = "Votre abonnement est actif et votre licence est émise. Votre équipe est provisionnée et la facturation a commencé."
|
||
eyebrow = "En ligne"
|
||
title = "Vous êtes en ligne sur Stirling Enterprise"
|
||
|
||
[portal.procurement.milestone]
|
||
downloadError = "Impossible de télécharger le PDF du devis pour le moment — veuillez réessayer dans un instant."
|
||
|
||
[portal.procurement.payment]
|
||
description = "Votre devis est accepté et votre licence est déjà active — votre équipe peut commencer immédiatement. Payez la première facture lorsque vous êtes prêt ; vous pouvez la payer ou la télécharger ici, sans email."
|
||
downloadAgreement = "Télécharger le contrat signé"
|
||
downloadInvoice = "Télécharger la facture"
|
||
eyebrow = "Paiement"
|
||
title = "Abonnement créé"
|
||
viewInvoice = "Voir et payer la facture"
|
||
|
||
[portal.procurement.review]
|
||
acceptCta = "Accepter le devis"
|
||
annual = "Frais annuels (année 1)"
|
||
downloadCta = "Télécharger le devis"
|
||
poNumber = "Bon de commande : {{po}}"
|
||
renewal = "Renouvellement à {{amount}}/an après la durée (+{{pct}} % IPC)"
|
||
tcv = "Durée de {{years}} ans, payée intégralement d’avance : {{tcv}}"
|
||
validUntil = "Valable jusqu’au {{date}}"
|
||
|
||
[portal.procurement.schedule]
|
||
fallback = "Impossible de charger le planificateur."
|
||
fallbackLink = "Ouvrir la planification dans un nouvel onglet"
|
||
loading = "Chargement du planificateur..."
|
||
subtitle = "Votre solutions engineer guidera votre équipe tout au long du déploiement. Choisissez un créneau qui vous convient."
|
||
title = "Planifier un appel"
|
||
|
||
[portal.procurement.setup]
|
||
airgap = "Air-gapped"
|
||
airgapSub = "Fermé, sans trafic sortant"
|
||
back = "Retour"
|
||
businessName = "Nom de l’entreprise"
|
||
businessNamePlaceholder = "Acme Corp"
|
||
cloud = "Stirling Cloud"
|
||
cloudSub = "Géré, démarrage le plus rapide"
|
||
continue = "Continuer"
|
||
deployment = "Où doit-il être déployé ?"
|
||
eula = "J’accepte l’EULA et les conditions commerciales de Stirling."
|
||
fullName = "Nom complet"
|
||
fullNamePlaceholder = "Votre nom"
|
||
invites = "Inviter des coéquipiers · facultatif"
|
||
invitesPlaceholder = "sam@acme.com, lee@acme.com"
|
||
scheduleCall = "Planifier un appel"
|
||
seats = "Personnes testant"
|
||
seatsPlaceholder = "p. ex. 15"
|
||
selfhost = "Auto-hébergé"
|
||
selfhostSub = "Docker ou Kubernetes"
|
||
start = "Démarrer l’essai"
|
||
stepOf = "Étape {{n}} sur {{total}}"
|
||
subtitle = "Gratuit pendant 14 jours, aucune carte requise."
|
||
subtitleDetails = "Quelques détails pour votre devis et votre contrat."
|
||
talkFirst = "Vous préférez d’abord en parler ?"
|
||
title = "Configurer votre essai"
|
||
viewEula = "Lire"
|
||
workEmail = "E-mail professionnel"
|
||
workEmailPlaceholder = "you@company.com"
|
||
|
||
[portal.procurement.trial]
|
||
body = "La prolongation ajoute 7 jours et informe votre solutions engineer."
|
||
bodyMaxed = "Vous avez utilisé toutes vos prolongations — parlez à votre solutions engineer si vous avez besoin de plus de temps."
|
||
cancel = "Annuler l’essai"
|
||
extend = "Prolonger de 7 jours"
|
||
maxed = "Limite atteinte"
|
||
subtitle = "Votre essai gratuit est valable jusqu’au {{date}}. Aucune carte requise."
|
||
title = "Essai Enterprise"
|
||
|
||
[portal.settings.groups]
|
||
admin = "Admin"
|
||
|
||
[portal.settings.sections]
|
||
account-link = "Lien du compte"
|
||
|
||
[portal.shell.sidebar]
|
||
appEditor = "Éditeur"
|
||
appProcessor = "Processor"
|
||
linkAccount = "Lier un compte Stirling"
|
||
primaryNav = "Navigation principale"
|
||
switchApp = "Changer d’application"
|
||
|
||
[portal.shell.topbar]
|
||
closeNav = "Fermer la navigation"
|
||
openNav = "Ouvrir la navigation"
|
||
search = "Rechercher"
|
||
|
||
[portal.sources]
|
||
subtitle = "Connexions d’entrée réutilisables qui fournissent des documents à Stirling. Configurez une connexion une fois, puis référencez-la depuis autant de politiques que nécessaire. Cliquez sur une ligne pour voir sa configuration et les politiques qui l’utilisent."
|
||
title = "Sources"
|
||
|
||
[portal.sources.actions]
|
||
connectSource = "Connecter une source"
|
||
|
||
[portal.sources.builder]
|
||
advanced = "Avancé"
|
||
back = "Retour aux sources"
|
||
backToSource = "Retour à la configuration de la source"
|
||
backToTypes = "Tous les types de sources"
|
||
cancel = "Annuler"
|
||
chooseHint = "Choisissez d’où viennent les documents. Les connecteurs grisés arrivent bientôt."
|
||
comingSoon = "Bientôt disponible"
|
||
comingSoonHeading = "Bientôt disponible"
|
||
create = "Créer une source"
|
||
createTitle = "Connecter une source"
|
||
delete = "Supprimer"
|
||
editTitle = "Modifier la source"
|
||
save = "Enregistrer les modifications"
|
||
|
||
[portal.sources.builder.folderAccess]
|
||
description = "Les automatisations de dossiers ne peuvent utiliser que les dossiers autorisés par un administrateur. Ajoutez-le dans les paramètres d’accès aux dossiers, puis réessayez."
|
||
openSettings = "Paramètres d’accès aux dossiers"
|
||
title = "Ce dossier n’est pas autorisé"
|
||
|
||
[portal.sources.delete]
|
||
body = "Supprimer \"{{name}}\" ? Cette action est irréversible. Les politiques qui y font référence devront être mises à jour."
|
||
cancel = "Annuler"
|
||
confirm = "Supprimer"
|
||
title = "Supprimer la source ?"
|
||
|
||
[portal.sources.kpi]
|
||
inUse = "En cours d’utilisation"
|
||
total = "Connexions"
|
||
unused = "Inutilisées"
|
||
|
||
[portal.sources.networkFields.connection]
|
||
helperText = "La connexion enregistrée avec l’adresse du serveur et les identifiants. Réutilisée par chaque source qui la référence."
|
||
label = "Connexion"
|
||
|
||
[portal.sources.networkFields.directory]
|
||
helperText = "Dossier du serveur à interroger, relatif au dossier personnel de connexion ou à la racine du partage. Laissez vide pour la racine."
|
||
label = "Dossier"
|
||
placeholder = "incoming/"
|
||
|
||
[portal.sources.networkFields.mode]
|
||
helperText = "Consommer supprime chaque fichier du serveur une fois que chaque stratégie l’a traité."
|
||
label = "Mode de lecture"
|
||
|
||
[portal.sources.networkFields.mode.options]
|
||
consume = "Consommer : traiter chaque fichier une seule fois"
|
||
snapshot = "Instantané : relire le dossier à chaque exécution"
|
||
|
||
[portal.sources.networkFields.recursive]
|
||
helperText = "Incluez les sous-dossiers si vos fichiers sont organisés dans des dossiers imbriqués, ou surveillez uniquement le niveau supérieur."
|
||
label = "Profondeur du dossier"
|
||
|
||
[portal.sources.networkFields.recursive.options]
|
||
all = "Inclure les sous-dossiers"
|
||
top = "Niveau supérieur uniquement"
|
||
|
||
[portal.sources.status]
|
||
active = "Actif"
|
||
disabled = "Désactivé"
|
||
unused = "Inutilisé"
|
||
|
||
[portal.sources.table]
|
||
documents = "Documents"
|
||
source = "Source"
|
||
status = "Statut"
|
||
type = "Type"
|
||
usedBy = "Politiques"
|
||
|
||
[portal.sources.types.box]
|
||
description = "Récupérez des documents depuis les dossiers Box que votre équipe partage déjà."
|
||
label = "Box"
|
||
|
||
[portal.sources.types.dropbox]
|
||
description = "Récupérez des documents depuis un dossier Dropbox partagé."
|
||
label = "Dropbox"
|
||
|
||
[portal.sources.types.editor]
|
||
description = "Documents que votre équipe a traités dans l’éditeur, à travers les exécutions de stratégies et AI."
|
||
label = "Éditeur"
|
||
noPolicies = "Aucune stratégie exécutée depuis l’éditeur pour le moment."
|
||
|
||
[portal.sources.types.email]
|
||
description = "Transformez les pièces jointes envoyées à une boîte dédiée en documents."
|
||
label = "Boîte de réception e-mail"
|
||
|
||
[portal.sources.types.folder]
|
||
description = "Surveille un répertoire sur le serveur pour les nouveaux documents."
|
||
label = "Dossier"
|
||
|
||
[portal.sources.types.folder.fields.directory]
|
||
helperText = "Chemin absolu que Stirling surveille pour trouver les fichiers à traiter."
|
||
label = "Chemin du répertoire"
|
||
placeholder = "/data/incoming"
|
||
|
||
[portal.sources.types.folder.fields.identity]
|
||
helperText = "La vérification du contenu lit chaque fichier modifié ; ainsi, les renommages et les mises à jour d’horodatage qui ne modifient pas le contenu ne sont pas retraités."
|
||
label = "Détection des changements"
|
||
|
||
[portal.sources.types.folder.fields.identity.options]
|
||
hash = "Vérification de la taille, de la date et du contenu"
|
||
stat = "Taille et date de modification"
|
||
|
||
[portal.sources.types.folder.fields.mode]
|
||
helperText = "Indique s’il faut laisser le fichier original en place après son traitement. Si le fichier original est laissé en place, il sera retraité la prochaine fois que le pipeline analysera la source."
|
||
label = "Mode de lecture"
|
||
|
||
[portal.sources.types.folder.fields.mode.options]
|
||
consume = "Consommer : traiter chaque fichier une fois"
|
||
snapshot = "Instantané : relire le dossier à chaque exécution"
|
||
|
||
[portal.sources.types.folder.fields.recursive]
|
||
helperText = "Incluez les sous-dossiers si vos fichiers sont organisés dans des dossiers imbriqués, ou surveillez uniquement le niveau supérieur."
|
||
label = "Profondeur du dossier"
|
||
|
||
[portal.sources.types.folder.fields.recursive.options]
|
||
all = "Inclure les sous-dossiers"
|
||
top = "Niveau supérieur uniquement"
|
||
|
||
[portal.sources.types.ftp]
|
||
description = "Interrogez un dossier de serveur FTP ou FTPS pour détecter de nouveaux documents."
|
||
label = "FTP"
|
||
|
||
[portal.sources.types.googledrive]
|
||
description = "Récupérez des documents depuis des dossiers Google Drive partagés."
|
||
label = "Google Drive"
|
||
|
||
[portal.sources.types.network]
|
||
description = "Surveillez un partage réseau SMB pour détecter de nouveaux documents."
|
||
label = "Lecteur réseau"
|
||
|
||
[portal.sources.types.onedrive]
|
||
description = "Surveillez des dossiers OneDrive pour détecter de nouveaux documents."
|
||
label = "OneDrive"
|
||
|
||
[portal.sources.types.s3]
|
||
description = "Récupérez des documents depuis un bucket Amazon S3 ou compatible S3."
|
||
label = "Amazon S3"
|
||
|
||
[portal.sources.types.s3.fields.connection]
|
||
helperText = "La connexion enregistrée contenant le bucket et les identifiants. Réutilisée par chaque source et sortie de pipeline qui la référence."
|
||
label = "Connexion"
|
||
|
||
[portal.sources.types.s3.fields.mode]
|
||
helperText = "Consommer supprime chaque objet du bucket une fois que chaque stratégie l’a traité."
|
||
label = "Mode de lecture"
|
||
|
||
[portal.sources.types.s3.fields.mode.options]
|
||
consume = "Consommer : traiter chaque objet une seule fois"
|
||
snapshot = "Instantané : relire le bucket à chaque exécution"
|
||
|
||
[portal.sources.types.s3.fields.prefix]
|
||
helperText = "Seuls les objets dont les clés commencent par ce préfixe sont traités."
|
||
label = "Préfixe de clé"
|
||
placeholder = "incoming/"
|
||
|
||
[portal.sources.types.sftp]
|
||
description = "Interrogez un dossier de dépôt SFTP pour détecter de nouveaux documents."
|
||
label = "SFTP"
|
||
|
||
[portal.sources.types.sharepoint]
|
||
description = "Récupérez des documents depuis des bibliothèques de documents SharePoint."
|
||
label = "SharePoint"
|
||
|
||
[portal.sources.types.unknown]
|
||
label = "Source"
|
||
|
||
[portal.sources.types.webhook]
|
||
createNote = "Une URL de livraison et un secret de signature sont générés lorsque vous créez ce webhook. Les expéditeurs envoient les documents en POST à cette URL et les stratégies référencées s’exécutent à l’arrivée."
|
||
description = "Recevez des documents via HTTP POST signé depuis n’importe quel système externe."
|
||
label = "Webhook"
|
||
|
||
[portal.sources.types.webhook.detail]
|
||
deliveryUrl = "URL de livraison"
|
||
secretNote = "Le secret de signature est affiché une seule fois, lors de la création du webhook. Recréez la source pour le renouveler."
|
||
|
||
[portal.sources.types.webhook.reveal]
|
||
copy = "Copier"
|
||
done = "Terminé"
|
||
secret = "Secret de signature"
|
||
secretHelp = "Signez le corps brut de chaque livraison avec cette clé (HMAC-SHA256) et envoyez-le comme en-tête X-Stirling-Signature."
|
||
secretWarning = "Copiez le secret de signature maintenant. Pour votre sécurité, il n’est affiché qu’une seule fois et ne pourra pas être récupéré ultérieurement."
|
||
title = "Webhook créé"
|
||
url = "URL de livraison"
|
||
usage = "Envoyez chaque document en POST comme corps brut de la requête vers l’URL de livraison avec un type de contenu binaire (application/pdf ou application/octet-stream). Les stratégies référencées s’exécutent automatiquement à l’arrivée."
|
||
|
||
[portal.sources.wizard]
|
||
name = "Nom"
|
||
namePlaceholder = "p. ex. Réception des demandes"
|
||
type = "Type"
|
||
|
||
[portal.stepModal]
|
||
close = "Fermer"
|
||
|
||
[portal.usage]
|
||
managePayment = "Gérer le paiement"
|
||
subtitle = "Consommation, factures et gestion du plan pour chaque PDF que Stirling a facturé, dans une seule console."
|
||
title = "Utilisation et facturation"
|
||
|
||
[portal.usage.error]
|
||
loadWallet = "Impossible de charger le wallet"
|
||
openStripePortal = "Impossible d’ouvrir le portail Stripe"
|
||
walletUnavailable = "Wallet indisponible : {{status}} {{statusText}}"
|
||
|
||
[portal.usage.sessionExpired]
|
||
action = "Se reconnecter"
|
||
body = "Votre session de compte Stirling a expiré. Reconnectez-vous pour voir la facturation — votre instance reste liée."
|
||
title = "Session expirée"
|
||
|
||
[portal.users]
|
||
title = "Utilisateurs"
|
||
|
||
[portal.users.roles.admin]
|
||
label = "Admin (propriétaire de l’organisation)"
|
||
summary = "Gouvernance complète de l’espace de travail, des paramètres et des membres."
|
||
|
||
[portal.users.roles.admin.permissions]
|
||
0 = "Gérer les utilisateurs, les équipes et les rôles"
|
||
1 = "Gérer toutes les intégrations, y compris les connexions S3"
|
||
2 = "Accorder ou révoquer l’accès au portail"
|
||
3 = "Tout ce qu’un Team Owner peut faire"
|
||
|
||
[portal.users.roles.guest]
|
||
label = "Invité"
|
||
summary = "Accès limité ou web uniquement ; ne peut pas avoir de configurations personnelles."
|
||
|
||
[portal.users.roles.guest.permissions]
|
||
0 = "Utilisation web uniquement / démo"
|
||
1 = "Aucune clé API ni intégration"
|
||
2 = "Aucun accès au portail"
|
||
3 = "Lecture seule lorsque partagé"
|
||
|
||
[portal.users.roles.member]
|
||
label = "Membre"
|
||
summary = "Utilisateur standard — travaille avec les ressources partagées et ses propres configurations."
|
||
|
||
[portal.users.roles.member.permissions]
|
||
0 = "Utiliser l’éditeur et les intégrations partagées"
|
||
1 = "Créer des configurations API et MCP personnelles"
|
||
2 = "Voir les configurations d’équipe partagées avec lui"
|
||
3 = "Aucune gestion de S3 ni de l’espace de travail"
|
||
|
||
[portal.users.roles.team_owner]
|
||
label = "Team owner"
|
||
summary = "Possède une équipe — gère les ressources de ses membres et les configurations partagées."
|
||
|
||
[portal.users.roles.team_owner.permissions]
|
||
0 = "Créer et gérer les connexions S3 de l’équipe"
|
||
1 = "Gérer les configurations d’intégration appartenant à l’équipe"
|
||
2 = "Accès au portail via la politique par défaut"
|
||
3 = "Tout ce qu’un Membre peut faire"
|
||
|
||
[portal.users.seats]
|
||
limited = "{{used}} / {{limit}}"
|
||
unlimited = "{{used}} · Illimité"
|
||
|
||
[printFile]
|
||
title = "Imprimer le fichier"
|
||
|
||
[provider.googledrive]
|
||
name = "Google Drive"
|
||
scope = "Import de fichiers"
|
||
|
||
[provider.googledrive.apiKey]
|
||
description = "Clé API Google pour Google Picker API depuis Google Cloud Console"
|
||
label = "API Key"
|
||
|
||
[provider.googledrive.appId]
|
||
description = "App ID Google Drive depuis Google Cloud Console"
|
||
label = "App ID"
|
||
|
||
[provider.googledrive.clientId]
|
||
description = "Client ID OAuth 2.0 Google depuis Google Cloud Console"
|
||
label = "Client ID"
|
||
|
||
[provider.googledrive.enabled]
|
||
description = "Autoriser les utilisateurs à importer des fichiers directement depuis Google Drive"
|
||
label = "Activer le sélecteur de fichiers Google Drive"
|
||
|
||
[provider.oauth2.generic]
|
||
name = "OAuth2 générique"
|
||
scope = "SSO"
|
||
|
||
[provider.oauth2.generic.autoCreateUser]
|
||
description = "Créer automatiquement les comptes utilisateurs lors de la première connexion OAuth2"
|
||
label = "Créer automatiquement les utilisateurs"
|
||
|
||
[provider.oauth2.generic.blockRegistration]
|
||
description = "Empêcher l’inscription de nouveaux utilisateurs via OAuth2"
|
||
label = "Bloquer l’inscription"
|
||
|
||
[provider.oauth2.generic.clientId]
|
||
description = "Le client ID OAuth2 de votre fournisseur"
|
||
label = "Client ID"
|
||
|
||
[provider.oauth2.generic.clientSecret]
|
||
description = "Le client secret OAuth2 de votre fournisseur"
|
||
label = "Client Secret"
|
||
|
||
[provider.oauth2.generic.enabled]
|
||
description = "Activer l’authentification via un fournisseur OAuth2 personnalisé"
|
||
label = "Activer OAuth2 générique"
|
||
|
||
[provider.oauth2.generic.issuer]
|
||
description = "Fournisseur prenant en charge OpenID Connect Discovery (/.well-known/openid-configuration)"
|
||
label = "URL de l’émetteur"
|
||
|
||
[provider.oauth2.generic.provider]
|
||
description = "Le nom de votre fournisseur OAuth2 (par ex., Azure AD, Okta)"
|
||
label = "Nom du fournisseur"
|
||
|
||
[provider.oauth2.generic.scopes]
|
||
description = "Scopes OAuth2 séparés par des virgules"
|
||
label = "Scopes"
|
||
|
||
[provider.oauth2.generic.useAsUsername]
|
||
description = "Champ à utiliser comme nom d’utilisateur"
|
||
label = "Utiliser comme nom d’utilisateur"
|
||
|
||
[provider.oauth2.github]
|
||
scope = "Authentification de connexion"
|
||
|
||
[provider.oauth2.github.clientId]
|
||
description = "Le client ID OAuth2 depuis GitHub Developer Settings"
|
||
label = "Client ID"
|
||
|
||
[provider.oauth2.github.clientSecret]
|
||
description = "Le client secret OAuth2 depuis GitHub Developer Settings"
|
||
label = "Client Secret"
|
||
|
||
[provider.oauth2.github.scopes]
|
||
description = "Scopes OAuth2 séparés par des virgules"
|
||
label = "Scopes"
|
||
|
||
[provider.oauth2.github.useAsUsername]
|
||
description = "Champ à utiliser comme nom d’utilisateur (email, login, name)"
|
||
label = "Utiliser comme nom d’utilisateur"
|
||
|
||
[provider.oauth2.google]
|
||
scope = "Authentification de connexion"
|
||
|
||
[provider.oauth2.google.clientId]
|
||
description = "Le client ID OAuth2 depuis Google Cloud Console"
|
||
label = "Client ID"
|
||
|
||
[provider.oauth2.google.clientSecret]
|
||
description = "Le client secret OAuth2 depuis Google Cloud Console"
|
||
label = "Client Secret"
|
||
|
||
[provider.oauth2.google.scopes]
|
||
description = "Scopes OAuth2 séparés par des virgules"
|
||
label = "Scopes"
|
||
|
||
[provider.oauth2.google.useAsUsername]
|
||
description = "Champ à utiliser comme nom d’utilisateur (email, name, given_name, family_name)"
|
||
label = "Utiliser comme nom d’utilisateur"
|
||
|
||
[provider.oauth2.keycloak]
|
||
scope = "SSO"
|
||
|
||
[provider.oauth2.keycloak.clientId]
|
||
description = "Le client ID OAuth2 depuis Keycloak"
|
||
label = "Client ID"
|
||
|
||
[provider.oauth2.keycloak.clientSecret]
|
||
description = "Le client secret OAuth2 depuis Keycloak"
|
||
label = "Client Secret"
|
||
|
||
[provider.oauth2.keycloak.issuer]
|
||
description = "URL du point de découverte OpenID Connect du realm Keycloak"
|
||
label = "URL de l’émetteur"
|
||
|
||
[provider.oauth2.keycloak.scopes]
|
||
description = "Scopes OAuth2 séparés par des virgules"
|
||
label = "Scopes"
|
||
|
||
[provider.oauth2.keycloak.useAsUsername]
|
||
description = "Champ à utiliser comme nom d’utilisateur (email, name, given_name, family_name, preferred_username)"
|
||
label = "Utiliser comme nom d’utilisateur"
|
||
|
||
[provider.saml2]
|
||
name = "SAML2"
|
||
scope = "SSO (SAML)"
|
||
|
||
[provider.saml2.autoCreateUser]
|
||
description = "Créer automatiquement les comptes utilisateurs lors de la première connexion SAML2"
|
||
label = "Créer automatiquement les utilisateurs"
|
||
|
||
[provider.saml2.blockRegistration]
|
||
description = "Empêcher l’inscription de nouveaux utilisateurs via SAML2"
|
||
label = "Bloquer l’inscription"
|
||
|
||
[provider.saml2.enabled]
|
||
description = "Activer l’authentification SAML2 (Enterprise uniquement)"
|
||
label = "Activer SAML2"
|
||
|
||
[provider.saml2.idpCert]
|
||
description = "Le chemin du certificat (ex. : classpath:okta.cert)"
|
||
label = "Certificat IDP"
|
||
|
||
[provider.saml2.idpIssuer]
|
||
description = "L’ID de votre fournisseur"
|
||
label = "Émetteur IDP"
|
||
|
||
[provider.saml2.idpMetadataUri]
|
||
description = "L’URI des métadonnées de votre fournisseur"
|
||
label = "URI des métadonnées IDP"
|
||
|
||
[provider.saml2.idpSingleLoginUrl]
|
||
description = "L’URL pour initier le SSO"
|
||
label = "URL de connexion unique IDP"
|
||
|
||
[provider.saml2.idpSingleLogoutUrl]
|
||
description = "L’URL pour initier le SLO"
|
||
label = "URL de déconnexion unique IDP"
|
||
|
||
[provider.saml2.privateKey]
|
||
description = "Le chemin de votre clé privée"
|
||
label = "Clé privée"
|
||
|
||
[provider.saml2.provider]
|
||
description = "Le nom de votre fournisseur SAML2"
|
||
label = "Nom du fournisseur"
|
||
|
||
[provider.saml2.registrationId]
|
||
description = "Le nom de votre application Fournisseur de services (SP)"
|
||
label = "ID d’enregistrement"
|
||
|
||
[provider.saml2.spCert]
|
||
description = "Le chemin de votre certificat de signature"
|
||
label = "Certificat SP"
|
||
|
||
[provider.smtp]
|
||
name = "Messagerie SMTP"
|
||
scope = "Notifications par e-mail"
|
||
|
||
[provider.smtp.enabled]
|
||
description = "Activer les notifications par e-mail et la fonctionnalité SMTP"
|
||
label = "Activer l’e-mail"
|
||
|
||
[provider.smtp.from]
|
||
description = "L’adresse e-mail à utiliser comme expéditeur"
|
||
label = "Adresse d’expéditeur"
|
||
|
||
[provider.smtp.host]
|
||
description = "Le nom d’hôte ou l’adresse IP de votre serveur SMTP"
|
||
label = "Hôte SMTP"
|
||
|
||
[provider.smtp.password]
|
||
description = "Mot de passe pour l’authentification SMTP"
|
||
label = "Mot de passe SMTP"
|
||
|
||
[provider.smtp.port]
|
||
description = "Le numéro de port pour la connexion SMTP (généralement 25, 465 ou 587)"
|
||
label = "Port SMTP"
|
||
|
||
[provider.smtp.username]
|
||
description = "Nom d’utilisateur pour l’authentification SMTP"
|
||
label = "Nom d’utilisateur SMTP"
|
||
|
||
[quickAccess]
|
||
allTools = "Outils"
|
||
automate = "Auto"
|
||
config = "Config"
|
||
files = "Fichiers"
|
||
|
||
[read]
|
||
tags = "view,open,display,read,viewer,PDF viewer,PDF reader,open PDF,view PDF,display PDF,preview,browse"
|
||
|
||
[redact]
|
||
submit = "Caviarder"
|
||
tags = "Caviarder,Redact,Masquer,noircir,noir,marqueur,caché,rédiger,censurer"
|
||
title = "Caviardage manuel"
|
||
|
||
[redact.auto]
|
||
colorLabel = "Couleur de la boîte"
|
||
convertPDFToImageLabel = "Convertir le PDF en PDF-image"
|
||
customPaddingLabel = "Marge intérieure personnalisée"
|
||
useRegexLabel = "Utiliser des regex"
|
||
wholeWordSearchLabel = "Recherche de mots entiers"
|
||
|
||
[redact.auto.settings]
|
||
advancedTitle = "Mode avancé"
|
||
title = "Paramètres d’occultation"
|
||
|
||
[redact.auto.wordsToRedact]
|
||
add = "Ajouter"
|
||
examples = "Exemples : Confidentiel, Top secret"
|
||
placeholder = "Saisir un mot"
|
||
title = "Mots à occulter"
|
||
|
||
[redact.error]
|
||
failed = "Une erreur est survenue lors de l’occultation du PDF."
|
||
|
||
[redact.manual]
|
||
apply = "Appliquer"
|
||
applyWarning = "⚠️ Application permanente, irréversible, et les données sous-jacentes seront supprimées"
|
||
colorLabel = "Couleur de rédaction"
|
||
controlsTitle = "Contrôles de caviardage manuel"
|
||
instructions = "Sélectionnez du texte ou dessinez des zones sur le PDF pour marquer le contenu à caviarder."
|
||
title = "Outils de caviardage"
|
||
|
||
[redact.modeSelector]
|
||
automatic = "Automatique"
|
||
automaticDisabledTooltip = "Sélectionnez des fichiers dans le gestionnaire de fichiers pour caviarder plusieurs fichiers à la fois"
|
||
manual = "Manuel"
|
||
mode = "Mode"
|
||
title = "Méthode d’occultation"
|
||
|
||
[redact.tooltip.advanced.color]
|
||
text = "Personnalisez l’apparence des boîtes d’occultation. Le noir est standard, mais vous pouvez choisir n’importe quelle couleur. La marge ajoute de l’espace autour du texte trouvé."
|
||
title = "Couleur de boîte & marge"
|
||
|
||
[redact.tooltip.advanced.convert]
|
||
text = "Convertit le PDF en PDF-image après occultation. Cela garantit que le texte derrière les boîtes est entièrement supprimé et irrécupérable."
|
||
title = "Convertir en PDF-image"
|
||
|
||
[redact.tooltip.advanced.header]
|
||
title = "Paramètres d’occultation avancés"
|
||
|
||
[redact.tooltip.advanced.regex]
|
||
bullet1 = "Exemple : \\d{4}-\\d{2}-\\d{2} pour correspondre aux dates au format YYYY-MM-DD"
|
||
bullet2 = "À utiliser avec précaution — testez soigneusement"
|
||
text = "Active les expressions régulières pour une recherche avancée. Utile pour trouver des numéros de téléphone, e-mails ou des motifs complexes."
|
||
title = "Utiliser des regex"
|
||
|
||
[redact.tooltip.advanced.wholeWord]
|
||
text = "Ne fait correspondre que les mots complets, pas les correspondances partielles. « John » ne correspondra pas à « Johnson » si activé."
|
||
title = "Recherche de mots entiers"
|
||
|
||
[redact.tooltip.manual.apply]
|
||
bullet1 = "Marquez autant de zones que nécessaire avant d’appliquer"
|
||
bullet2 = "Tous les caviardages en attente sont appliqués en une fois"
|
||
bullet3 = "Les caviardages ne peuvent pas être annulés après application"
|
||
text = "Après avoir marqué le contenu, cliquez sur « Appliquer » pour caviarder définitivement toutes les zones marquées. Le compteur en attente indique le nombre de caviardages prêts à être appliqués."
|
||
title = "Appliquer les caviardages"
|
||
|
||
[redact.tooltip.manual.header]
|
||
title = "Contrôles de caviardage manuel"
|
||
|
||
[redact.tooltip.manual.markArea]
|
||
text = "Dessinez des zones rectangulaires sur le PDF pour marquer des régions à caviarder. Utile pour caviarder des images, des signatures ou des formes irrégulières."
|
||
title = "Outil de marquage de zone"
|
||
|
||
[redact.tooltip.manual.markText]
|
||
text = "Sélectionnez le texte directement sur le PDF pour le marquer en vue du caviardage. Cliquez et faites glisser pour surligner le texte spécifique à caviarder."
|
||
title = "Outil de marquage de texte"
|
||
|
||
[redact.tooltip.mode.automatic]
|
||
text = "Trouve et occulte automatiquement le texte spécifié dans tout le document. Parfait pour supprimer des informations sensibles récurrentes comme des noms, adresses ou mentions confidentielles."
|
||
title = "Occultation automatique"
|
||
|
||
[redact.tooltip.mode.header]
|
||
title = "Méthode d’occultation"
|
||
|
||
[redact.tooltip.mode.manual]
|
||
text = "Cliquez et faites glisser pour sélectionner manuellement des zones à occulter. Offre un contrôle précis sur ce qui est masqué. (Bientôt disponible)"
|
||
title = "Occultation manuelle"
|
||
|
||
[redact.tooltip.words]
|
||
bullet1 = "Ajoutez un mot à la fois"
|
||
bullet2 = "Appuyez sur Entrée ou cliquez sur « Ajouter un autre » pour ajouter"
|
||
bullet3 = "Cliquez sur × pour supprimer des mots"
|
||
|
||
[redact.tooltip.words.description]
|
||
text = "Saisissez des mots ou phrases à rechercher et à occulter dans votre document. Chaque mot sera recherché séparément."
|
||
title = "Correspondance de texte"
|
||
|
||
[redact.tooltip.words.examples]
|
||
text = "Exemples typiques à occulter : coordonnées bancaires, adresses e-mail ou noms spécifiques."
|
||
title = "Exemples courants"
|
||
|
||
[redact.tooltip.words.header]
|
||
title = "Mots à occulter"
|
||
|
||
[releases]
|
||
title = "Notes de version"
|
||
|
||
[removeAnnotations]
|
||
submit = "Supprimer"
|
||
tags = "commentaires,supprimer,annotations,highlight,notes,markup,remove"
|
||
title = "Supprimer les annotations"
|
||
|
||
[removeAnnotations.error]
|
||
failed = "Une erreur est survenue lors de la suppression des annotations du PDF."
|
||
|
||
[removeAnnotations.info]
|
||
description = "Cet outil supprimera toutes les annotations (commentaires, surlignages, notes, etc.) de vos documents PDF."
|
||
|
||
[removeAnnotations.settings]
|
||
title = "Paramètres"
|
||
|
||
[removeAnnotations.tooltip.description]
|
||
title = "Ce que fait l’outil"
|
||
|
||
[removeAnnotations.tooltip.header]
|
||
title = "À propos de la suppression des annotations"
|
||
|
||
[removeBlanks]
|
||
submit = "Supprimer les pages vierges"
|
||
tags = "delete,clean,empty,remove blank,delete blank pages,empty pages,white pages,remove empty,clean up,cleanup blank"
|
||
title = "Supprimer les pages vierges"
|
||
|
||
[removeBlanks.error]
|
||
failed = "Échec de la suppression des pages blanches"
|
||
|
||
[removeBlanks.includeBlankPages]
|
||
label = "Inclure les pages vides détectées"
|
||
|
||
[removeBlanks.results]
|
||
title = "Pages blanches supprimées"
|
||
|
||
[removeBlanks.settings]
|
||
title = "Paramètres"
|
||
|
||
[removeBlanks.threshold]
|
||
label = "Seuil de blancheur des pixels"
|
||
|
||
[removeBlanks.tooltip.header]
|
||
title = "Paramètres de suppression des pages blanches"
|
||
|
||
[removeBlanks.tooltip.includeBlankPages]
|
||
bullet1 = "Utile pour passer en revue ce qui a été supprimé"
|
||
bullet2 = "Aide à vérifier l’exactitude de la détection"
|
||
bullet3 = "Peut être désactivé pour réduire la taille du fichier de sortie"
|
||
text = "Lorsqu’il est activé, crée un PDF séparé contenant toutes les pages vides détectées et supprimées du document d’origine."
|
||
title = "Inclure les pages vides détectées"
|
||
|
||
[removeBlanks.tooltip.threshold]
|
||
bullet1 = "0 = Noir pur (le plus restrictif)"
|
||
bullet2 = "128 = Gris moyen"
|
||
bullet3 = "255 = Blanc pur (le moins restrictif)"
|
||
text = "Contrôle à quel point un pixel doit être blanc pour être considéré comme « blanc ». Aide à déterminer ce qui compte comme zone vide sur la page."
|
||
title = "Seuil de blancheur des pixels"
|
||
|
||
[removeBlanks.tooltip.whitePercent]
|
||
bullet1 = "Valeurs faibles (p. ex., 80 %) = Plus de pages supprimées"
|
||
bullet2 = "Valeurs élevées (p. ex., 95 %) = Seules les pages très blanches sont supprimées"
|
||
bullet3 = "Utilisez des valeurs élevées pour les documents à fond clair"
|
||
text = "Définit le pourcentage minimal de pixels blancs requis pour qu’une page soit considérée comme blanche et supprimée."
|
||
title = "Seuil de pourcentage de blanc"
|
||
|
||
[removeBlanks.whitePercent]
|
||
label = "Seuil de pourcentage de blanc"
|
||
|
||
[removeCertSign]
|
||
description = "Cet outil supprimera les signatures de certificats numériques de votre document PDF."
|
||
submit = "Supprimer la Signature"
|
||
tags = "signer,chiffrer,certificat,authenticate,PEM,P12,official,decrypt"
|
||
title = "Supprimer la Signature de Certificat"
|
||
|
||
[removeCertSign.error]
|
||
failed = "Une erreur est survenue lors de la suppression des signatures de certificat."
|
||
|
||
[removeCertSign.results]
|
||
title = "Résultats de suppression des certificats"
|
||
|
||
[removeImage]
|
||
submit = "Supprimer l'image"
|
||
tags = "remove,delete,clean,remove image,delete image,strip images,remove pictures,delete photos,clean images,reduce size,remove graphics"
|
||
title = "Supprimer l'image"
|
||
|
||
[removeImage.error]
|
||
failed = "Échec de la suppression des images du PDF."
|
||
|
||
[removeImage.results]
|
||
title = "Résultats de suppression des images"
|
||
|
||
[removeImagePdf]
|
||
tags = "Images,Remove Image,Page operations,Back end,server side"
|
||
|
||
[removePages]
|
||
submit = "Supprimer"
|
||
tags = "supprimer,remove,delete"
|
||
title = "Supprimer"
|
||
|
||
[removePages.error]
|
||
failed = "Une erreur est survenue lors de la suppression des pages."
|
||
|
||
[removePages.pageNumbers]
|
||
error = "Format de numéro de page invalide. Utilisez des nombres, des plages (1-5) ou des expressions mathématiques (2n+1)"
|
||
label = "Pages à supprimer"
|
||
placeholder = "p. ex., 1,3,5-8,10"
|
||
|
||
[removePages.results]
|
||
title = "Résultats de suppression de pages"
|
||
|
||
[removePages.settings]
|
||
title = "Paramètres"
|
||
|
||
[removePages.tooltip.examples]
|
||
bullet1 = "Supprimer la première page : 1"
|
||
bullet2 = "Supprimer les 3 dernières pages : -3"
|
||
bullet3 = "Supprimer une page sur deux : 2n"
|
||
bullet4 = "Supprimer des pages dispersées spécifiques : 1,5,10,15"
|
||
text = "Voici des modèles courants de sélection de pages :"
|
||
title = "Exemples courants"
|
||
|
||
[removePages.tooltip.header]
|
||
title = "Paramètres de suppression de pages"
|
||
|
||
[removePages.tooltip.pageNumbers]
|
||
bullet1 = "Pages individuelles : 1,3,5 (supprime les pages 1, 3 et 5)"
|
||
bullet2 = "Plages de pages : 1-5,10-15 (supprime les pages 1-5 et 10-15)"
|
||
bullet3 = "Mathématique : 2n+1 (supprime les pages impaires)"
|
||
bullet4 = "Plages ouvertes : 5- (supprime de la page 5 à la fin)"
|
||
text = "Spécifiez quelles pages supprimer de votre PDF. Vous pouvez sélectionner des pages individuelles, des plages ou utiliser des expressions mathématiques."
|
||
title = "Sélection de pages"
|
||
|
||
[removePassword]
|
||
desc = "Supprimez la protection par mot de passe de votre PDF."
|
||
submit = "Supprimer"
|
||
tags = "supprimer,sécurité,mot de passe,secure,decrypt,security,unpassword,delete password"
|
||
title = "Supprimer le mot de passe"
|
||
|
||
[removePassword.error]
|
||
failed = "Une erreur est survenue lors du retrait du mot de passe du PDF."
|
||
|
||
[removePassword.password]
|
||
label = "Mot de passe actuel"
|
||
placeholder = "Saisir le mot de passe actuel"
|
||
stepTitle = "Supprimer le mot de passe"
|
||
|
||
[removePassword.results]
|
||
title = "PDF déchiffrés"
|
||
|
||
[removePassword.tooltip]
|
||
description = "La suppression de la protection par mot de passe nécessite le mot de passe utilisé pour chiffrer le PDF. Cela déchiffrera le document, le rendant accessible sans mot de passe."
|
||
|
||
[reorganizePages]
|
||
submit = "Réorganiser les pages"
|
||
tags = "rearrange,reorder,organize,reorganize,move pages,page order,sort pages,arrange pages,shuffle,resequence"
|
||
|
||
[reorganizePages.error]
|
||
failed = "Échec de la réorganisation des pages"
|
||
|
||
[reorganizePages.results]
|
||
title = "Pages réorganisées"
|
||
|
||
[reorganizePages.settings]
|
||
title = "Paramètres"
|
||
|
||
[repair]
|
||
description = "Cet outil tentera de réparer des fichiers PDF corrompus ou endommagés. Aucun paramètre supplémentaire n’est requis."
|
||
submit = "Réparer"
|
||
tags = "réparer,restaurer,corriger,récupérer,fix,restore,correction,recover"
|
||
title = "Réparer"
|
||
|
||
[repair.error]
|
||
failed = "Une erreur est survenue lors de la réparation du PDF."
|
||
|
||
[repair.results]
|
||
title = "Résultats de la réparation"
|
||
|
||
[replace-color]
|
||
submit = "Remplacer"
|
||
title = "Remplacer-Inverser-Couleur"
|
||
|
||
[replace-color.selectText]
|
||
1 = "Options pour remplacer ou inverser les couleurs"
|
||
10 = "Choisir la couleur du texte"
|
||
11 = "Choisir la couleur d’arrière-plan"
|
||
5 = "Options de couleurs à 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"
|
||
|
||
[replaceColor]
|
||
tags = "Remplacer la couleur,Opérations de page,Back-end,côté serveur"
|
||
|
||
[replaceColor.error]
|
||
failed = "Une erreur s’est produite lors du traitement du remplacement des couleurs."
|
||
|
||
[replaceColor.labels]
|
||
colourOperation = "Opération de couleur"
|
||
settings = "Paramètres"
|
||
|
||
[replaceColor.options]
|
||
cmyk = "Convertir en CMYK"
|
||
custom = "Personnalisé"
|
||
highContrast = "Haut contraste"
|
||
invertAll = "Inverser toutes les couleurs"
|
||
|
||
[replaceColor.tooltip.cmyk]
|
||
text = "Convertissez le PDF de l’espace colorimétrique RGB à l’espace CMYK, optimisé pour l’impression professionnelle. Ce processus convertit les couleurs vers le modèle Cyan, Magenta, Yellow, Black utilisé par les imprimantes."
|
||
title = "Convertir en CMYK"
|
||
|
||
[replaceColor.tooltip.custom]
|
||
bullet1 = "Couleur du texte — Choisissez la couleur des éléments de texte"
|
||
bullet2 = "Couleur d’arrière‑plan — Définissez la couleur d’arrière‑plan du document"
|
||
text = "Définissez vos propres couleurs de texte et d’arrière‑plan à l’aide des sélecteurs de couleurs. Parfait pour créer des documents de marque ou répondre à des besoins d’accessibilité spécifiques."
|
||
title = "Couleurs personnalisées"
|
||
|
||
[replaceColor.tooltip.description]
|
||
text = "Transformez les couleurs du PDF pour améliorer la lisibilité et l’accessibilité. Choisissez des préréglages à haut contraste, inversez toutes les couleurs ou créez des combinaisons personnalisées."
|
||
title = "Description"
|
||
|
||
[replaceColor.tooltip.header]
|
||
title = "Aperçu des paramètres de remplacement et d’inversion des couleurs"
|
||
|
||
[replaceColor.tooltip.highContrast]
|
||
bullet1 = "Texte blanc sur fond noir — Mode sombre classique"
|
||
bullet2 = "Texte noir sur fond blanc — Contraste élevé standard"
|
||
bullet3 = "Texte jaune sur fond noir — Option haute visibilité"
|
||
bullet4 = "Texte vert sur fond noir — Alternative à haut contraste"
|
||
text = "Appliquez des combinaisons de couleurs à haut contraste prédéfinies, conçues pour une meilleure lisibilité et la conformité en matière d’accessibilité."
|
||
title = "Haut contraste"
|
||
|
||
[replaceColor.tooltip.invertAll]
|
||
text = "Inverser complètement toutes les couleurs du PDF, créant un effet de négatif. Utile pour créer des versions en mode sombre des documents ou réduire la fatigue visuelle en faible luminosité."
|
||
title = "Inverser toutes les couleurs"
|
||
|
||
[rotate]
|
||
rotateLeft = "Pivoter dans le sens antihoraire"
|
||
rotateRight = "Pivoter dans le sens horaire"
|
||
selectRotation = "Sélectionnez l’angle de rotation (sens horaire)"
|
||
submit = "Pivoter"
|
||
tags = "turn,flip,orient,rotate,orientation,landscape,portrait,90 degrees,180 degrees,clockwise,anticlockwise,counter-clockwise,fix orientation"
|
||
title = "Pivoter"
|
||
|
||
[rotate.error]
|
||
failed = "Une erreur est survenue lors de la rotation du PDF."
|
||
|
||
[rotate.preview]
|
||
title = "Aperçu de la rotation"
|
||
|
||
[rotate.tooltip.controls]
|
||
text = "Utilisez les boutons de rotation pour ajuster l’orientation. Le bouton gauche fait pivoter dans le sens antihoraire, le bouton droit dans le sens horaire. Chaque clic tourne de 90 degrés."
|
||
title = "Contrôles"
|
||
|
||
[rotate.tooltip.description]
|
||
text = "Faites pivoter les pages de votre PDF dans le sens horaire ou antihoraire par incréments de 90 degrés. Toutes les pages du PDF seront pivotées. L’aperçu montre l’aspect de votre document après rotation."
|
||
|
||
[rotate.tooltip.header]
|
||
title = "Aperçu des paramètres de rotation"
|
||
|
||
[ruler]
|
||
clearAll = "Tout effacer"
|
||
hideAllLabels = "Masquer toutes les étiquettes"
|
||
hideSmallLabels = "Masquer les petites étiquettes"
|
||
physicalValues = "Physique"
|
||
scaled = "À l’échelle"
|
||
showAllLabels = "Afficher toutes les étiquettes"
|
||
|
||
[sanitize]
|
||
desc = "Supprimer les éléments potentiellement nuisibles des fichiers PDF."
|
||
sanitizationResults = "Résultats de l’assainissement"
|
||
submit = "Assainir"
|
||
tags = "clean,purge,remove,sanitize,sanitise,remove scripts,remove javascript,remove metadata,strip metadata,security,clean document,remove hidden data,privacy"
|
||
title = "Assainir"
|
||
|
||
[sanitize.error]
|
||
failed = "Une erreur est survenue lors de l’assainissement du PDF."
|
||
|
||
[sanitize.options]
|
||
note = "Sélectionnez les éléments à supprimer du PDF. Au moins une option doit être sélectionnée."
|
||
title = "Options d’assainissement"
|
||
|
||
[sanitize.options.removeEmbeddedFiles]
|
||
desc = "Supprimer tous les fichiers intégrés dans le PDF"
|
||
label = "Supprimer les fichiers intégrés"
|
||
|
||
[sanitize.options.removeFonts]
|
||
desc = "Supprimer les polices intégrées du PDF"
|
||
label = "Supprimer les polices"
|
||
|
||
[sanitize.options.removeJavaScript]
|
||
desc = "Supprimer les actions et scripts JavaScript du PDF"
|
||
label = "Supprimer JavaScript"
|
||
|
||
[sanitize.options.removeLinks]
|
||
desc = "Supprimer les liens externes et actions de lancement du PDF"
|
||
label = "Supprimer les liens"
|
||
|
||
[sanitize.options.removeMetadata]
|
||
desc = "Supprimer les informations de document (titre, auteur, etc.)"
|
||
label = "Supprimer les métadonnées du document"
|
||
|
||
[sanitize.options.removeXMPMetadata]
|
||
desc = "Supprimer les métadonnées XMP du PDF"
|
||
label = "Supprimer les métadonnées XMP"
|
||
|
||
[sanitize.steps]
|
||
settings = "Paramètres"
|
||
|
||
[sanitizePDF]
|
||
title = "Assainir"
|
||
|
||
[sanitizePdf]
|
||
tags = "assainir,sécurisé,clean,secure,safe,remove-threats"
|
||
|
||
[scalePages]
|
||
tags = "resize,adjust,scale,page size,resize page,scale page,change size,adjust size,enlarge,shrink page,fit to page,A4,letter size"
|
||
title = "Ajuster la taille ou l'échelle"
|
||
|
||
[scaleSettings]
|
||
activeScale = "Échelle active"
|
||
apply = "Appliquer l’échelle"
|
||
applyCalibration = "Appliquer l’étalonnage"
|
||
calculatedScale = "Échelle calculée"
|
||
calibrate = "Étalonner"
|
||
calibrating = "Étalonnage"
|
||
calibrationDistanceRequired = "Saisissez une distance réelle supérieure à zéro"
|
||
calibrationInvalid = "Impossible de calculer l’échelle à partir de cette mesure"
|
||
calibrationPaperDistance = "Distance mesurée sur la page : {{distance}}"
|
||
calibrationTitle = "Étalonner l’échelle"
|
||
calibrationTooltip = "Mesurez une distance connue pour calculer automatiquement l’échelle"
|
||
customScale = "Échelle personnalisée"
|
||
noneSet = "Aucune échelle personnalisée définie"
|
||
presets = "Échelles prédéfinies"
|
||
ratio = "Rapport d’échelle"
|
||
ratioHelp = "Rapport : 1 unité de page = X unités réelles"
|
||
ratioPlaceholder = "p. ex., 100"
|
||
ratioPositive = "Le rapport doit être supérieur à zéro"
|
||
ratioRequired = "Le rapport est requis"
|
||
realDistance = "Distance réelle"
|
||
realDistancePlaceholder = "p. ex., 5"
|
||
reset = "Réinitialiser aux valeurs par défaut"
|
||
unit = "Unité"
|
||
unitInvalid = "Unité non valide : {{scaleUnit}}"
|
||
|
||
[scannerEffect]
|
||
tags = "scan,simulate,create,fake scan,look scanned,scanner effect,make look scanned,photocopy effect,simulate scanner,realistic scan"
|
||
|
||
[scannerImageSplit]
|
||
submit = "Extraire les photos scannées"
|
||
tags = "separate,auto-detect,scans,multi-photo,organize"
|
||
title = "Images extraites"
|
||
|
||
[scannerImageSplit.error]
|
||
failed = "Une erreur est survenue lors de l’extraction des photos scannées."
|
||
|
||
[scannerImageSplit.tooltip]
|
||
headsUp = "À savoir"
|
||
headsUpDesc = "Des photos qui se chevauchent ou des arrière-plans très proches en couleur des photos peuvent réduire la précision — essayez un fond plus clair ou plus sombre et laissez plus d’espace."
|
||
problem1 = "Photos non détectées → augmentez la Tolérance à 30-50"
|
||
problem2 = "Trop de fausses détections → augmentez la Zone minimale à 15 000-20 000"
|
||
problem3 = "Recadrages trop serrés → augmentez la Taille de bordure à 5-10"
|
||
problem4 = "Photos inclinées non redressées → baissez le Seuil d’angle à ~5°"
|
||
problem5 = "Boîtes de poussière/bruit → augmentez la Zone de contour minimale à 1000-2000"
|
||
quickFixes = "Correctifs rapides"
|
||
setupTips = "Conseils de configuration"
|
||
tip1 = "Utilisez un fond uni et clair"
|
||
tip2 = "Laissez un petit espace (≈ 1 cm) entre les photos"
|
||
tip3 = "Numérisez à 300-600 DPI"
|
||
tip4 = "Nettoyez la vitre du scanner"
|
||
title = "Séparateur de photos"
|
||
useCase1 = "Numériser des pages d’album entières en une fois"
|
||
useCase2 = "Scinder des lots de platine en fichiers séparés"
|
||
useCase3 = "Découper des collages en photos individuelles"
|
||
useCase4 = "Extraire des photos depuis des documents"
|
||
whatThisDoes = "Ce que fait cet outil"
|
||
whatThisDoesDesc = "Détecte et extrait automatiquement chaque photo d’une page scannée ou d’une image composite — sans recadrage manuel."
|
||
whenToUse = "Quand l’utiliser"
|
||
|
||
[ScannerImageSplit.selectText]
|
||
1 = "Seuil de rotation"
|
||
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)."
|
||
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 : 8 000)."
|
||
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"
|
||
|
||
[search]
|
||
noResults = "Aucun résultat trouvé"
|
||
placeholder = "Saisir un terme de recherche…"
|
||
searching = "Recherche…"
|
||
title = "Rechercher dans le PDF"
|
||
|
||
[selfHosted.offline]
|
||
hideTools = "Hide unavailable tools ▴"
|
||
messageNoFallback = "Tools are unavailable until your server comes back online."
|
||
messageWithFallback = "Some tools require a server connection."
|
||
showTools = "View unavailable tools ▾"
|
||
title = "Your Stirling-PDF server is unreachable"
|
||
toolNotAvailableLocally = "Your Stirling-PDF server is offline and \"{{endpoint}}\" is not available on the local backend."
|
||
|
||
[session]
|
||
expired = "Votre session a expiré. Veuillez recharger la page et réessayer."
|
||
|
||
[settings]
|
||
backToSections = "Tous les paramètres"
|
||
close = "Fermer"
|
||
title = "Paramètres"
|
||
|
||
[settings.ai]
|
||
documents = "Documents et RAG"
|
||
general = "Général"
|
||
limits = "Limites et performances"
|
||
models = "Modèles et fournisseurs"
|
||
title = "IA"
|
||
|
||
[settings.configuration]
|
||
advanced = "Avancé"
|
||
database = "Base de données"
|
||
endpoints = "Endpoints"
|
||
features = "Fonctionnalités"
|
||
folderAccess = "Accès aux dossiers"
|
||
mcp = "MCP Server"
|
||
storageSharing = "Stockage et partage de fichiers"
|
||
systemSettings = "Paramètres système"
|
||
title = "Configuration"
|
||
|
||
[settings.connection]
|
||
localDescription = "Vous utilisez le backend local sans compte. Certains outils nécessitant le cloud ou un serveur auto-hébergé ne sont pas disponibles."
|
||
logout = "Se déconnecter"
|
||
server = "Serveur"
|
||
signIn = "Se connecter"
|
||
title = "Mode de connexion"
|
||
user = "Connecté en tant que"
|
||
|
||
[settings.connection.mode]
|
||
local = "En local seulement"
|
||
saas = "Cloud Stirling"
|
||
selfhosted = "Auto-hébergé"
|
||
|
||
[settings.developer]
|
||
apiKeys = "Clés API"
|
||
title = "Développeur"
|
||
|
||
[settings.general]
|
||
autoUnzip = "Décompression automatique des réponses API"
|
||
autoUnzipDescription = "Extraire automatiquement les fichiers des réponses ZIP"
|
||
autoUnzipFileLimit = "Limite pour la décompression automatique"
|
||
autoUnzipFileLimitDescription = "Nombre maximal de fichiers à extraire du ZIP"
|
||
autoUnzipFileLimitTooltip = "Ne décompressez que si le ZIP contient ce nombre de fichiers ou moins. Définissez une valeur plus élevée pour extraire des ZIP plus volumineux."
|
||
autoUnzipTooltip = "Extraire automatiquement les fichiers ZIP renvoyés par les opérations API. Désactivez pour conserver les fichiers ZIP intacts. Cela n’affecte pas les flux d’automatisation."
|
||
defaultPdfEditor = "Éditeur PDF par défaut"
|
||
defaultPdfEditorActive = "Stirling PDF est votre éditeur PDF par défaut"
|
||
defaultPdfEditorChecking = "Vérification…"
|
||
defaultPdfEditorInactive = "Une autre application est définie par défaut"
|
||
defaultPdfEditorRemind = "Me rappeler de définir par défaut"
|
||
defaultPdfEditorRemindDescription = "Afficher une bannière lorsque Stirling PDF n’est pas votre application PDF par défaut."
|
||
defaultPdfEditorSet = "Déjà par défaut"
|
||
defaultStartupView = "Vue par défaut au démarrage"
|
||
defaultStartupViewDescription = "Choisissez quel onglet est actif dans la colonne de gauche au démarrage de l'application"
|
||
defaultToolPickerMode = "Mode par défaut du sélecteur d’outils"
|
||
defaultToolPickerModeDescription = "Choisissez si le sélecteur d’outils s’ouvre par défaut en plein écran ou en barre latérale"
|
||
defaultViewerZoom = "Zoom par défaut du lecteur"
|
||
defaultViewerZoomDescription = "Définissez le niveau de zoom par défaut lors de l'ouverture des PDF dans le lecteur"
|
||
description = "Configurer les préférences générales de l’application."
|
||
hideUnavailableConversions = "Masquer les conversions indisponibles"
|
||
hideUnavailableConversionsDescription = "Supprimer les options de conversion désactivées dans l’outil Convertir au lieu de les afficher grisées."
|
||
hideUnavailableTools = "Masquer les outils indisponibles"
|
||
hideUnavailableToolsDescription = "Supprimer les outils désactivés par votre serveur au lieu de les afficher grisés."
|
||
language = "Langue"
|
||
languageDescription = "Choisir la langue d’affichage"
|
||
logout = "Se déconnecter"
|
||
setAsDefault = "Définir par défaut"
|
||
theme = "Thème"
|
||
themeAccent = "Couleur d’accentuation"
|
||
themeAccentCustom = "Couleur personnalisée"
|
||
themeAccentCustomHint = "Personnalisée (valeurs par défaut recommandées)"
|
||
themeAccentDark = "Couleur d’accentuation du mode sombre"
|
||
themeAccentDefault = "Par défaut"
|
||
themeAccentDefaultHint = "Thème par défaut (recommandé)"
|
||
themeAccentDescription = "Les boutons, liens et surlignages l’utilisent, et elle teinte subtilement l’application. Les modes clair et sombre ont chacun la leur. Le système utilise celle qui est active."
|
||
themeAccentLight = "Couleur d’accentuation du mode clair"
|
||
themeDark = "Sombre"
|
||
themeDescription = "Basculer entre le mode clair et le mode sombre"
|
||
themeLight = "Clair"
|
||
themeReset = "Restaurer le thème par défaut"
|
||
themeSystem = "System"
|
||
title = "Général"
|
||
user = "Utilisateur"
|
||
|
||
[settings.general.enableFeatures]
|
||
action = "Configurer"
|
||
and = "et"
|
||
benefit = "Active les rôles utilisateur, la collaboration en équipe, les contrôles d’administration et les fonctionnalités d’entreprise."
|
||
dismiss = "Ignorer"
|
||
intro = "Activer l’authentification des utilisateurs, la gestion des équipes et les fonctionnalités d’espace de travail pour votre organisation."
|
||
learnMore = "En savoir plus dans la documentation"
|
||
title = "Pour les administrateurs système"
|
||
|
||
[settings.general.loginLanding]
|
||
description = "Choisissez quelle application s’ouvre lorsque vous vous connectez à Stirling Cloud."
|
||
editor = "Éditeur"
|
||
processor = "Processeur"
|
||
title = "Après la connexion"
|
||
|
||
[settings.general.mode]
|
||
fullscreen = "Plein écran"
|
||
sidebar = "Barre latérale"
|
||
|
||
[settings.general.startupView]
|
||
automate = "Automatisation"
|
||
read = "Lecteur"
|
||
tools = "Outils"
|
||
|
||
[settings.general.updates]
|
||
checkForUpdates = "Rechercher des mises à jour"
|
||
currentBackendVersion = "Current Backend Version"
|
||
currentFrontendVersion = "Current Frontend Version"
|
||
description = "Rechercher des mises à jour et voir les informations de version"
|
||
latestVersion = "Dernière version"
|
||
managedByAdmin = "Géré par l’administrateur"
|
||
modeAuto = "Installer automatiquement les mises à jour"
|
||
modeDisabled = "Ne pas rechercher des mises à jour"
|
||
modePrompt = "Me demander avant d’installer les mises à jour"
|
||
serverNeedsUpdate = "Le serveur doit être mis à jour par l’administrateur"
|
||
title = "Mises à jour logicielles"
|
||
updateBehavior = "Comportement de mise à jour"
|
||
updateBehaviorDescription = "Choisissez de demander avant d’installer les mises à jour, de les installer automatiquement ou d’ignorer complètement la vérification des mises à jour."
|
||
updateBehaviorError = "Impossible de modifier le comportement de mise à jour"
|
||
updateBehaviorErrorLocked = "Ce paramètre est verrouillé par votre administrateur."
|
||
updateBehaviorLockedDescription = "Votre administrateur a configuré la manière dont Stirling-PDF gère les mises à jour sur cette machine. Contactez-le pour modifier cela."
|
||
updateBehaviorSaved = "Comportement de mise à jour enregistré."
|
||
versionMismatch = "Warning: A mismatch has been detected between the client version and the AppConfig version. Using different versions can lead to compatibility issues, errors, and security risks. Please ensure that server and client are using the same version."
|
||
viewDetails = "Voir les détails"
|
||
|
||
[settings.general.versionInfo]
|
||
description = "Détails des versions Desktop et serveur"
|
||
desktop = "Version Desktop"
|
||
server = "Version du serveur"
|
||
title = "Informations de version"
|
||
|
||
[settings.general.zoomLevel]
|
||
auto = "Auto"
|
||
fitPage = "Ajuster à la page"
|
||
fitWidth = "Ajuster à la largeur"
|
||
|
||
[settings.help]
|
||
label = "Visites guidées"
|
||
title = "Aide"
|
||
|
||
[settings.help.adminTour]
|
||
description = "Découvrez la gestion d’équipe, les paramètres système et les fonctionnalités entreprise."
|
||
start = "Démarrer"
|
||
title = "Visite administrateur"
|
||
|
||
[settings.help.toolsTour]
|
||
description = "Parcourez le téléversement de fichiers, le choix d’un outil et l’examen des résultats."
|
||
start = "Démarrer"
|
||
title = "Visite des outils"
|
||
|
||
[settings.hotkeys]
|
||
capturing = "Appuyez sur les touches… (Échap pour annuler)"
|
||
change = "Modifier le raccourci"
|
||
customBadge = "Personnalisé"
|
||
defaultLabel = "Par défaut : {{shortcut}}"
|
||
description = "Personnalisez les raccourcis clavier pour un accès rapide aux outils. Cliquez sur \"Modifier le raccourci\" et pressez une nouvelle combinaison de touches. Appuyez sur Échap pour annuler."
|
||
errorConflict = "Raccourci déjà utilisé par {{tool}}."
|
||
none = "Non attribué"
|
||
noShortcut = "Aucun raccourci défini"
|
||
reset = "Réinitialiser"
|
||
searchPlaceholder = "Rechercher des outils…"
|
||
shortcut = "Raccourci"
|
||
title = "Raccourcis clavier"
|
||
|
||
[settings.hotkeys.errorModifier]
|
||
mac = "Incluez ⌘ (Command), ⌥ (Option) ou un autre modificateur dans votre raccourci."
|
||
windows = "Incluez Ctrl, Alt ou un autre modificateur dans votre raccourci."
|
||
|
||
[settings.legal]
|
||
label = "Legal"
|
||
title = "Legal"
|
||
|
||
[settings.legal.cookiePreferences]
|
||
description = "Review or change your cookie consent choices."
|
||
manage = "Manage"
|
||
|
||
[settings.legal.documents]
|
||
description = "Policies and legal information for this service."
|
||
title = "Legal Documents"
|
||
|
||
[settings.licenses]
|
||
backendDescription = "Licences des dépendances backend intégrées à ce serveur."
|
||
backendLabel = "Licences backend"
|
||
backendTitle = "Licences tierces backend"
|
||
empty = "Aucune dépendance trouvée."
|
||
frontendDescription = "Licences des dépendances frontend intégrées à la version de publication."
|
||
frontendLabel = "Licences frontend"
|
||
frontendTitle = "Licences tierces frontend"
|
||
license = "Licence"
|
||
listDescription = "La liste est affichée directement dans l’UI depuis le bundle de publication ou l’endpoint backend."
|
||
listTitle = "Dépendances intégrées"
|
||
loadError = "Échec du chargement des licences tierces"
|
||
module = "Module"
|
||
version = "Version"
|
||
|
||
[settings.licensingAnalytics]
|
||
audit = "Audit"
|
||
plan = "Plan"
|
||
title = "Licences et analyses"
|
||
usageAnalytics = "Analyses d'utilisation"
|
||
|
||
[settings.planBilling]
|
||
currentPlan = "Offre actuelle"
|
||
loading = "Chargement des informations de facturation..."
|
||
notAvailable = "Plan et facturation disponibles uniquement lorsque connecté à Stirling Cloud (mode SaaS)."
|
||
title = "Plan et facturation"
|
||
|
||
[settings.planBilling.billing]
|
||
manageBilling = "Gérer la facturation"
|
||
nextBillingDate = "Prochaine date de facturation"
|
||
overageCost = "Coût de dépassement actuel : {{amount}} ({{credits}} crédits)"
|
||
|
||
[settings.planBilling.credits]
|
||
estimatedCost = "Coût estimé : {{amount}}"
|
||
freeTierInfo = "L’offre Free inclut {{freeCredits}} crédits par mois. Passez à Team pour {{teamCredits}} crédits/mois et une facturation à l’usage en cas de dépassement."
|
||
included = "{{count}} crédits/mois (inclus)"
|
||
noOverage = "Aucun dépassement ce mois-ci. Vous utilisez vos {{count}} crédits inclus."
|
||
overage = "+ {{count}} de dépassement"
|
||
overageInfo = "Les crédits de dépassement sont facturés à {{price}} par crédit. Vous ne payez que ce que vous utilisez au-delà de votre allocation mensuelle."
|
||
title = "Utilisation des crédits"
|
||
|
||
[settings.planBilling.errors]
|
||
fetchFailed = "Impossible de récupérer les données de facturation"
|
||
retry = "Réessayer"
|
||
|
||
[settings.planBilling.status]
|
||
active = "Actif"
|
||
canceled = "Annulé"
|
||
pastDue = "En retard"
|
||
trial = "Essai"
|
||
|
||
[settings.planBilling.team]
|
||
managedByTeam = "Géré par l’équipe"
|
||
memberCount_one = "{{count}} team member"
|
||
memberCount_other = "{{count}} team members"
|
||
memberCount_zero = "no team members"
|
||
|
||
[settings.planBilling.tier]
|
||
enterprise = "Enterprise"
|
||
enterpriseDescription = "Fonctionnalités et support entreprise personnalisés"
|
||
free = "Free"
|
||
freeDescription = "50 crédits par mois"
|
||
team = "Team"
|
||
teamBadge = "Team"
|
||
teamDescription = "500 crédits/mois inclus, facturation de dépassement automatique pour un service ininterrompu"
|
||
teamTooltipCredits = "L’offre Team inclut {{credits}} crédits/mois."
|
||
teamTooltipFineprint = "Payez uniquement ce que vous utilisez au-delà des crédits inclus."
|
||
teamTooltipOverage = "Facturation de dépassement automatique à {{price}}/crédit pour un service ininterrompu."
|
||
|
||
[settings.planBilling.trial]
|
||
daysRemaining = "{{days}} jours restants"
|
||
daysRemainingFull = "Votre essai se termine dans {{days}} jours"
|
||
endDate = "Expire le : {{date}}"
|
||
endsOn = "Fin de l’essai"
|
||
title = "Essai gratuit actif"
|
||
|
||
[settings.planBilling.upgrade]
|
||
cta = "Passer à Team"
|
||
featureApi = "Accès API pour l’automatisation"
|
||
featureCredits = "{{teamCredits}} crédits par mois (contre {{freeCredits}} sur Free)"
|
||
featureMembers = "Membres d’équipe illimités"
|
||
featureSupport = "Support prioritaire"
|
||
featureThroughput = "Débit de traitement plus rapide"
|
||
opensInBrowser = "S’ouvre dans le navigateur pour finaliser la mise à niveau"
|
||
subtitle = "Passez à Team pour :"
|
||
title = "Mettre à niveau votre offre"
|
||
|
||
[settings.policiesPrivacy]
|
||
legal = "Juridique"
|
||
privacy = "Confidentialité"
|
||
title = "Politiques et confidentialité"
|
||
|
||
[settings.preferences]
|
||
title = "Préférences"
|
||
|
||
[settings.security]
|
||
description = "Mettez à jour votre mot de passe pour sécuriser votre compte."
|
||
title = "Sécurité"
|
||
|
||
[settings.security.password]
|
||
confirm = "Confirmez le nouveau mot de passe"
|
||
confirmPlaceholder = "Saisissez de nouveau votre nouveau mot de passe"
|
||
current = "Mot de passe actuel"
|
||
currentPlaceholder = "Saisissez votre mot de passe actuel"
|
||
error = "Impossible de mettre à jour le mot de passe. Veuillez vérifier votre mot de passe actuel et réessayer."
|
||
mismatch = "Les nouveaux mots de passe ne correspondent pas."
|
||
new = "Nouveau mot de passe"
|
||
newPlaceholder = "Saisissez un nouveau mot de passe"
|
||
required = "Tous les champs sont obligatoires."
|
||
ssoDisabled = "Les modifications de mot de passe sont gérées par votre fournisseur d’identité."
|
||
subtitle = "Changez votre mot de passe. Vous serez déconnecté après la mise à jour."
|
||
success = "Mot de passe mis à jour avec succès. Veuillez vous reconnecter."
|
||
update = "Mettre à jour le mot de passe"
|
||
|
||
[settings.securityAuth]
|
||
connections = "Connexions"
|
||
security = "Sécurité"
|
||
telegram = "Telegram"
|
||
title = "Sécurité et authentification"
|
||
|
||
[settings.signOut]
|
||
confirm = "Voulez-vous vraiment vous déconnecter ?"
|
||
submit = "Se déconnecter"
|
||
title = "Déconnexion"
|
||
|
||
[settings.team]
|
||
title = "Équipe"
|
||
|
||
[settings.tooltips]
|
||
enableLoginFirst = "Activer d'abord le mode connexion"
|
||
requiresEnterprise = "Nécessite une licence Enterprise"
|
||
|
||
[settings.workspace]
|
||
people = "Personnes"
|
||
teams = "Équipes"
|
||
title = "Espace de travail"
|
||
|
||
[setup.login]
|
||
connectingTo = "Connexion à :"
|
||
oauthPending = "Ouverture du navigateur pour l'authentification..."
|
||
orContinueWith = "Ou continuer avec l’email"
|
||
skipSignIn = "Continue without signing in"
|
||
sso = "Authentification unique"
|
||
submit = "Se connecter"
|
||
|
||
[setup.login.error]
|
||
emptyEmail = "Veuillez saisir votre email"
|
||
emptyPassword = "Veuillez saisir votre mot de passe"
|
||
emptyUsername = "Veuillez saisir votre nom d'utilisateur"
|
||
oauthFailed = "La connexion OAuth a échoué. Veuillez réessayer."
|
||
|
||
[setup.saas]
|
||
title = "Se connecter à Stirling"
|
||
|
||
[setup.selfhosted]
|
||
changeServerLocked = "Votre organisation a limité cette application à un serveur spécifique"
|
||
link = "ou connectez-vous à un compte auto-hébergé"
|
||
subtitle = "Saisissez les identifiants du serveur"
|
||
switchToLocal = "Use local tools instead"
|
||
title = "Se connecter au serveur"
|
||
|
||
[setup.selfhosted.unreachable]
|
||
changeServer = "Se connecter à un autre serveur"
|
||
continueOffline = "Use local tools instead"
|
||
message = "Could not reach {{url}}. Check that the server is running and accessible."
|
||
retry = "Retry"
|
||
title = "Cannot connect to server"
|
||
|
||
[setup.server]
|
||
subtitle = "Saisissez l’URL de votre serveur auto‑hébergé"
|
||
testing = "Test de connexion…"
|
||
title = "Connexion au serveur"
|
||
useLast = "Last used server: {{serverUrl}}"
|
||
|
||
[setup.server.error]
|
||
configFetch = "Échec de la récupération de la configuration du serveur. Veuillez vérifier l'URL et réessayer."
|
||
configFetchError = "Failed to fetch server configuration: {{error}}"
|
||
emptyUrl = "Veuillez saisir une URL de serveur"
|
||
invalidUrl = "Format d’URL invalide. Veuillez saisir une URL valide comme https://your-server.com"
|
||
testFailed = "Échec du test de connexion"
|
||
unreachable = "Connexion au serveur impossible"
|
||
|
||
[setup.server.error.securityDisabled]
|
||
body = "La connexion n'est pas activée sur ce serveur. Pour vous y connecter, vous devez activer l'authentification :"
|
||
step1 = "Définissez DOCKER_ENABLE_SECURITY=true dans votre environnement"
|
||
step2 = "Ou définissez security.enableLogin=true dans settings.yml"
|
||
step3 = "Redémarrez le serveur"
|
||
title = "Connexion non activée"
|
||
|
||
[setup.server.url]
|
||
description = "Saisissez l’URL complète de votre serveur Stirling PDF auto‑hébergé"
|
||
label = "URL du serveur"
|
||
|
||
[sharedSign]
|
||
backToSessions = "Retour aux sessions"
|
||
createdOn = "Créé le {{date}}"
|
||
disabledBody = "La signature collaborative n'est pas activée sur ce serveur."
|
||
disabledTitle = "Non activé"
|
||
due = "Échéance le {{date}}"
|
||
filterDeclined = "Refusés"
|
||
filterMine = "À moi"
|
||
filterOverdue = "En retard"
|
||
filterSigned = "Signés"
|
||
fromOwner = "De {{owner}}"
|
||
newRequest = "Demander des signatures"
|
||
signedCount = "{{signed}}/{{total}} signés"
|
||
|
||
[sharedSign.empty]
|
||
active = "Aucune demande de signature en attente ni session active"
|
||
completed = "Aucune session terminée"
|
||
|
||
[sharedSign.tab]
|
||
active = "Actives"
|
||
completed = "Terminées"
|
||
|
||
[showJS]
|
||
done = "JavaScript extrait"
|
||
processing = "Extraction de JavaScript…"
|
||
results = "Résultat"
|
||
submit = "Afficher"
|
||
tags = "JS"
|
||
title = "Afficher le JavaScript"
|
||
|
||
[showJS.view]
|
||
title = "JavaScript extrait"
|
||
|
||
[sign]
|
||
activate = "Activer le placement de signature"
|
||
add = "Ajouter"
|
||
addToAll = "Ajouter à toutes les pages"
|
||
applySignatures = "Appliquer les signatures"
|
||
clear = "Effacer"
|
||
deactivate = "Arrêter le placement de signatures"
|
||
delete = "Supprimer"
|
||
first = "Première page"
|
||
header = "Signer"
|
||
last = "Dernière page"
|
||
maintainRatio = "Conserver les proportions"
|
||
next = "Page suivante"
|
||
noSavedSigs = "Aucun sceau enregistré trouvé"
|
||
penSizePlaceholder = "Type or select pen size (1-200)"
|
||
personalSigs = "Sceaux personnels"
|
||
previous = "Page précédente"
|
||
redo = "Refaire"
|
||
save = "Enregistrer le sceau"
|
||
sharedSigningOpen = "Ouvrir la signature collaborative"
|
||
sharedSigningRequest = "Demander des signatures"
|
||
sharedSigningStepDesc = "Envoyez ce document à d'autres pour qu'ils le signent, au lieu de le signer vous-même."
|
||
sharedSigs = "Sceaux partagés"
|
||
submit = "Signer le document"
|
||
tags = "signature,autograph,e-sign,electronic signature,digital signature,sign document,approval,signoff,authorize,endorse,ink signature,handwriting"
|
||
title = "Signer"
|
||
undo = "Défaire"
|
||
updateAndPlace = "Mettre à jour et placer"
|
||
upload = "Télécharger une image"
|
||
|
||
[sign.canvas]
|
||
clear = "Effacer la zone"
|
||
clickToOpen = "Cliquez pour ouvrir la zone de dessin"
|
||
colorLabel = "Couleur"
|
||
colorPickerTitle = "Choisir la couleur du trait"
|
||
heading = "Dessinez votre signature"
|
||
modalTitle = "Dessinez votre signature"
|
||
penSizeLabel = "Épaisseur du trait"
|
||
penSizePlaceholder = "Taille"
|
||
|
||
[sign.draw]
|
||
clear = "Effacer"
|
||
title = "Dessinez votre signature"
|
||
|
||
[sign.error]
|
||
failed = "Une erreur est survenue lors de la signature du PDF."
|
||
|
||
[sign.image]
|
||
backgroundRemovalFailedMessage = "Impossible de supprimer le fond de l’image. Utilisation de l’image originale à la place."
|
||
backgroundRemovalFailedTitle = "Échec de la suppression du fond"
|
||
hint = "Téléversez une image PNG ou JPG de votre signature"
|
||
label = "Téléverser une image de signature"
|
||
placeholder = "Sélectionner un fichier image"
|
||
previewAlt = "Current image signature"
|
||
processing = "Traitement de l’image..."
|
||
removeBackground = "Supprimer le fond blanc (le rendre transparent)"
|
||
|
||
[sign.instructions]
|
||
canvas = "Après avoir dessiné votre signature dans le canvas, fermez la fenêtre modale puis cliquez n’importe où sur le PDF pour la placer."
|
||
image = "Après avoir téléversé l’image de votre signature ci-dessus, cliquez n’importe où sur le PDF pour la placer."
|
||
noSignature = "Créez une signature ci-dessus pour activer les outils de placement."
|
||
paused = "Placement en pause"
|
||
resumeHint = "Reprenez le placement pour cliquer et ajouter votre signature."
|
||
saved = "Sélectionnez une signature enregistrée ci-dessus, puis cliquez n’importe où sur le PDF pour la placer."
|
||
text = "Après avoir saisi votre nom ci-dessus, cliquez n’importe où sur le PDF pour placer votre signature."
|
||
title = "Comment ajouter une signature"
|
||
|
||
[sign.mobile]
|
||
createFromPhone = "Mobile upload"
|
||
description = "Scan this QR code with your phone or tablet, draw your signature, and it will appear here automatically."
|
||
error = "Connection Error"
|
||
expiryWarning = "QR Code Expiring Soon"
|
||
expiryWarningMessage = "This QR code will expire in {{seconds}} seconds. A new code will be generated automatically."
|
||
instructions = "Open the camera app on your phone and scan this code. Keep this window open while you draw."
|
||
pollingError = "Error checking for the signature"
|
||
sessionCreateError = "Failed to create session"
|
||
title = "Draw on your phone"
|
||
|
||
[sign.mode]
|
||
move = "Déplacer la signature"
|
||
pause = "Suspendre le placement"
|
||
place = "Placer la signature"
|
||
resume = "Reprendre le placement"
|
||
|
||
[sign.results]
|
||
title = "Résultats de signature"
|
||
|
||
[sign.saved]
|
||
carouselPosition = "{{current}} sur {{total}}"
|
||
defaultCanvasLabel = "Signature dessinée"
|
||
defaultImageLabel = "Signature téléversée"
|
||
defaultLabel = "Signature"
|
||
defaultTextLabel = "Signature saisie"
|
||
delete = "Supprimer"
|
||
description = "Réutilisez vos signatures enregistrées à tout moment."
|
||
emptyDescription = "Dessinez, téléversez ou saisissez une signature ci-dessus, puis utilisez « Save to library » pour en garder jusqu’à {{max}} en favoris, prêtes à l’emploi."
|
||
emptyTitle = "Aucune signature enregistrée pour l’instant"
|
||
heading = "Signatures enregistrées"
|
||
label = "Libellé"
|
||
limitDescription = "Supprimez une signature enregistrée avant d’en ajouter une nouvelle (max {{max}})."
|
||
limitTitle = "Limite atteinte"
|
||
next = "Suivant"
|
||
noChanges = "La signature actuelle est déjà enregistrée."
|
||
personalDescription = "Vous seul pouvez voir ces signatures."
|
||
personalHeading = "Signatures personnelles"
|
||
prev = "Précédent"
|
||
saveButton = "Enregistrer la signature"
|
||
savePersonal = "Enregistrer en personnel"
|
||
saveShared = "Enregistrer en partagé"
|
||
saveUnavailable = "Créez d’abord une signature pour l’enregistrer."
|
||
sharedDescription = "Tous les utilisateurs peuvent voir et utiliser ces signatures."
|
||
sharedHeading = "Signatures partagées"
|
||
tempStorageDescription = "Les signatures sont stockées uniquement dans votre navigateur. Elles seront perdues si vous effacez les données du navigateur ou si vous changez de navigateur."
|
||
tempStorageTitle = "Stockage temporaire du navigateur"
|
||
use = "Utiliser la signature"
|
||
|
||
[sign.saved.status]
|
||
saved = "Enregistré"
|
||
|
||
[sign.saved.type]
|
||
canvas = "Dessin"
|
||
image = "Téléversement"
|
||
text = "Texte"
|
||
|
||
[sign.step]
|
||
createDesc = "Choisissez comment créer la signature"
|
||
place = "Placer et enregistrer"
|
||
placeDesc = "Positionnez la signature sur votre PDF"
|
||
|
||
[sign.steps]
|
||
configure = "Configurer la signature"
|
||
|
||
[sign.text]
|
||
colorLabel = "Couleur du texte"
|
||
fontLabel = "Police"
|
||
fontSizeLabel = "Taille de police"
|
||
fontSizePlaceholder = "Saisir ou sélectionner la taille de police (8-200)"
|
||
name = "Nom du signataire"
|
||
placeholder = "Saisissez votre nom complet"
|
||
|
||
[sign.type]
|
||
canvas = "Dessin"
|
||
draw = "Dessiner"
|
||
image = "Image"
|
||
saved = "Enregistrées"
|
||
text = "Texte"
|
||
title = "Type de signature"
|
||
|
||
[signatureSettings.tooltip]
|
||
header = "Paramètres d’apparence des signatures"
|
||
|
||
[signatureSettings.tooltip.location]
|
||
bullet1 = "Exemples : « New York, USA », « Bureau de Londres », « À distance »"
|
||
bullet2 = "Diffère de la position sur la page"
|
||
bullet3 = "Peut être requis dans certaines juridictions"
|
||
description = "Emplacement géographique optionnel où la signature a été apposée. Stocké dans les métadonnées du certificat."
|
||
title = "Emplacement de la signature"
|
||
|
||
[signatureSettings.tooltip.logo]
|
||
bullet1 = "Affiché à côté de la signature et du texte"
|
||
bullet2 = "Prend en charge les formats PNG, JPG"
|
||
bullet3 = "Améliore l’apparence professionnelle"
|
||
description = "Ajoutez un logo d’entreprise aux signatures visibles pour l’image de marque et l’authenticité."
|
||
title = "Logo de l’entreprise"
|
||
|
||
[signatureSettings.tooltip.reason]
|
||
bullet1 = "Exemples : « Approbation », « Contrat », « Vérification terminée »"
|
||
bullet2 = "Visible dans les propriétés de signature du PDF"
|
||
bullet3 = "Utile pour les pistes d’audit et la conformité"
|
||
description = "Texte optionnel expliquant pourquoi le document est signé. Stocké dans les métadonnées du certificat."
|
||
title = "Raison de la signature"
|
||
|
||
[signatureSettings.tooltip.visibility]
|
||
bullet1 = "<b>Visible</b> : La signature apparaît sur le PDF avec une apparence personnalisée"
|
||
bullet2 = "<b>Invisible</b> : Certificat intégré sans marque visuelle"
|
||
bullet3 = "Les signatures invisibles fournissent tout de même une validation cryptographique"
|
||
description = "Contrôle si la signature est visible sur le document ou intégrée de manière invisible."
|
||
title = "Visibilité de la signature"
|
||
|
||
[signRequest]
|
||
declined = "Demande de signature refusée"
|
||
fetchFailed = "Échec du chargement de la demande de signature"
|
||
signed = "Document signé avec succès"
|
||
|
||
[signSession]
|
||
created = "Demande de signature envoyée"
|
||
createFailed = "Échec de la création de la demande de signature"
|
||
|
||
[signup]
|
||
accountCreatedSuccessfully = "Compte créé avec succès ! Vous pouvez maintenant vous connecter."
|
||
alreadyHaveAccount = "Vous avez déjà un compte ? Connectez-vous"
|
||
checkEmailConfirmation = "Consultez votre e-mail pour un lien de confirmation afin de terminer votre inscription."
|
||
confirmPassword = "Confirmer le mot de passe"
|
||
confirmPasswordPlaceholder = "Confirmer le mot de passe"
|
||
confirmPasswordRequired = "Veuillez confirmer votre mot de passe"
|
||
creatingAccount = "Création du compte…"
|
||
email = "E-mail"
|
||
emailRequired = "L’e‑mail est requis"
|
||
enterEmail = "Saisissez votre e-mail"
|
||
enterName = "Saisissez votre nom"
|
||
enterPassword = "Saisissez votre mot de passe"
|
||
invalidEmail = "Veuillez saisir une adresse e-mail valide"
|
||
name = "Nom"
|
||
nameRequired = "Le nom est requis"
|
||
or = "ou"
|
||
password = "Mot de passe"
|
||
passwordRequired = "Le mot de passe est requis"
|
||
passwordsDoNotMatch = "Les mots de passe ne correspondent pas"
|
||
passwordTooShort = "Le mot de passe doit comporter au moins 6 caractères"
|
||
pleaseFillAllFields = "Veuillez remplir tous les champs"
|
||
signUp = "S’inscrire"
|
||
signUpWith = "Sign up with"
|
||
skip = "Skip"
|
||
subtitle = "Rejoignez Stirling PDF pour commencer"
|
||
title = "Créer un compte"
|
||
unexpectedError = "Erreur inattendue : {{message}}"
|
||
|
||
[sizes]
|
||
large = "Grand"
|
||
medium = "Moyen"
|
||
small = "Petit"
|
||
x-large = "Très grand"
|
||
|
||
[split]
|
||
resultsTitle = "Résultats de la division"
|
||
selectMethod = "Sélectionnez une méthode de division"
|
||
splitPages = "Pages sur lesquelles diviser"
|
||
submit = "Diviser"
|
||
tags = "divide,separate,break,split,extract pages,separate pages,divide document,break apart,separate files,unbind,split by page,divide by chapter"
|
||
title = "Diviser"
|
||
|
||
[split.error]
|
||
failed = "Une erreur est survenue lors du fractionnement du PDF."
|
||
|
||
[split.methods.byChapters]
|
||
name = "Chapitres"
|
||
tooltip = "Utilise les signets du PDF pour déterminer les points de coupure"
|
||
|
||
[split.methods.byDocCount]
|
||
name = "Nombre de documents"
|
||
tooltip = "Indiquez combien de fichiers vous souhaitez créer"
|
||
|
||
[split.methods.byPageCount]
|
||
name = "Nombre de pages"
|
||
tooltip = "Saisissez le nombre de pages pour chaque fichier"
|
||
|
||
[split.methods.byPageDivider]
|
||
name = "Feuille séparatrice"
|
||
tooltip = "Utilisez des feuilles séparatrices QR entre les documents lors de la numérisation"
|
||
|
||
[split.methods.byPages]
|
||
name = "Numéros de page"
|
||
tooltip = "Saisissez des numéros de page séparés par des virgules ou des plages avec des tirets"
|
||
|
||
[split.methods.byPoster]
|
||
name = "Segments imprimables"
|
||
tooltip = "Divisez les pages surdimensionnées en segments plus petits adaptés à l’impression sur papier standard (A4, Letter, etc.)"
|
||
|
||
[split.methods.bySections]
|
||
name = "Sections"
|
||
tooltip = "Scinder chaque page en sections horizontales et verticales"
|
||
|
||
[split.methods.bySize]
|
||
name = "Taille du Fichier"
|
||
tooltip = "Spécifiez la taille maximale du fichier (p. ex. 10MB, 500KB)"
|
||
|
||
[split.methods.prefix]
|
||
splitAt = "Fractionner à"
|
||
splitBy = "Fractionner par"
|
||
splitInto = "Diviser en"
|
||
|
||
[split.methodSelection.tooltip]
|
||
bullet1 = "Cliquez sur une carte de méthode pour la sélectionner"
|
||
bullet2 = "Survolez chaque carte pour voir une brève description"
|
||
bullet3 = "L’étape des paramètres apparaîtra après avoir sélectionné une méthode"
|
||
bullet4 = "Vous pouvez changer de méthode à tout moment avant le traitement"
|
||
title = "Choisissez votre méthode de division"
|
||
|
||
[split.methodSelection.tooltip.header]
|
||
text = "Choisissez comment vous souhaitez diviser votre document PDF. Chaque méthode est optimisée pour différents cas d’utilisation et types de documents."
|
||
title = "Sélection de la méthode de division"
|
||
|
||
[split.poster]
|
||
rightToLeft = "Découper de droite à gauche"
|
||
|
||
[split.poster.pageSize]
|
||
description = "Taille des pages de sortie pour l’impression"
|
||
label = "Taille de page cible"
|
||
|
||
[split.poster.xFactor]
|
||
description = "Nombre de colonnes pour diviser chaque page"
|
||
label = "Divisions horizontales"
|
||
|
||
[split.poster.yFactor]
|
||
description = "Nombre de lignes pour diviser chaque page"
|
||
label = "Divisions verticales"
|
||
|
||
[split.settings]
|
||
selectMethodFirst = "Veuillez d’abord sélectionner une méthode de fractionnement"
|
||
|
||
[split.steps]
|
||
chooseMethod = "Choisir la méthode"
|
||
settings = "Paramètres"
|
||
|
||
[split.tooltip.byChapters]
|
||
bullet1 = "Niveau de signet : niveau sur lequel fractionner (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"
|
||
text = "Utilisez les signets du PDF pour fractionner automatiquement aux limites des chapitres. Nécessite des PDF avec une structure de signets."
|
||
title = "Fractionner par chapitres"
|
||
|
||
[split.tooltip.byDocCount]
|
||
bullet1 = "Saisissez le nombre de fichiers de sortie souhaités"
|
||
bullet2 = "Les pages sont réparties aussi uniformément que possible"
|
||
bullet3 = "Utile lorsque vous avez besoin d’un nombre spécifique de fichiers"
|
||
text = "Créez un nombre spécifique de fichiers de sortie en répartissant les pages de manière uniforme."
|
||
title = "Diviser par nombre de documents"
|
||
|
||
[split.tooltip.byPageCount]
|
||
bullet1 = "Saisissez le nombre de pages par fichier de sortie"
|
||
bullet2 = "Le dernier fichier peut avoir moins de pages si la division n’est pas exacte"
|
||
bullet3 = "Utile pour les traitements par lots"
|
||
text = "Créez plusieurs PDF avec un nombre précis de pages chacun. Parfait pour créer des segments de document uniformes."
|
||
title = "Diviser par nombre de pages"
|
||
|
||
[split.tooltip.byPageDivider]
|
||
bullet1 = "Imprimez des feuilles séparatrices depuis le lien de téléchargement"
|
||
bullet2 = "Insérez des feuilles séparatrices entre vos documents"
|
||
bullet3 = "Numérisez tous les documents ensemble en un seul PDF"
|
||
bullet4 = "Téléversez — les pages séparatrices sont détectées et supprimées automatiquement"
|
||
bullet5 = "Activez le mode recto verso si vous numérisez les deux côtés des feuilles séparatrices"
|
||
text = "Divisez automatiquement des documents numérisés à l’aide de feuilles séparatrices physiques avec QR codes. Parfait pour traiter plusieurs documents numérisés ensemble."
|
||
title = "Diviser par feuille séparatrice"
|
||
|
||
[split.tooltip.byPages]
|
||
bullet1 = "Points uniques : 3,7 (fractionne après les pages 3 et 7)"
|
||
bullet2 = "Plages : 3-8 (fractionne avant la page 3 et après la page 8)"
|
||
bullet3 = "Mixte : 2,5-10,15 (fractionne après la page 2, avant la page 5, après la page 10 et après la page 15)"
|
||
text = "Fractionnez votre PDF à des numéros de page spécifiques. « n » fractionne après la page n. « n-m » fractionne avant la page n et après la page m."
|
||
title = "Fractionner aux numéros de page"
|
||
|
||
[split.tooltip.byPoster]
|
||
bullet1 = "Taille de page cible : Choisissez le format de papier de sortie (A4, Letter, etc.)"
|
||
bullet2 = "Divisions horizontales/verticales : Taille de la grille pour la découpe"
|
||
bullet3 = "De droite à gauche : Inverser l’ordre des colonnes pour les mises en page RTL"
|
||
bullet4 = "Imprimez et assemblez les morceaux pour créer votre poster"
|
||
text = "Divisez les grandes pages PDF en segments plus petits imprimables adaptés aux formats de papier standard. Parfait pour créer des impressions poster à partir de pages surdimensionnées."
|
||
title = "Découper pour impression poster"
|
||
|
||
[split.tooltip.bySections]
|
||
bullet1 = "Horizontal : nombre de lignes à créer"
|
||
bullet2 = "Vertical : nombre de colonnes à créer"
|
||
bullet3 = "Fusionner : combiner toutes les sections en un PDF"
|
||
text = "Divisez chaque page en une grille de sections. Utile pour scinder des documents multi-colonnes ou extraire des zones spécifiques."
|
||
title = "Fractionner par sections de grille"
|
||
|
||
[split.tooltip.bySize]
|
||
bullet1 = "Utilisez MB pour les fichiers plus volumineux (p. ex., 10MB)"
|
||
bullet2 = "Utilisez KB pour les plus petits fichiers (p. ex., 500KB)"
|
||
bullet3 = "Le système fractionnera aux limites de page"
|
||
text = "Créez plusieurs PDF qui ne dépassent pas une taille de fichier spécifiée. Idéal pour les limites de taille ou les pièces jointes e-mail."
|
||
title = "Fractionner par taille de fichier"
|
||
|
||
[split.value.docCount]
|
||
label = "Nombre de fichiers"
|
||
placeholder = "p. ex., 3, 5"
|
||
|
||
[split.value.fileSize]
|
||
label = "Taille du Fichier"
|
||
placeholder = "p. ex., 10MB, 500KB"
|
||
|
||
[split.value.pageCount]
|
||
label = "Pages par fichier"
|
||
placeholder = "p. ex., 5, 10"
|
||
|
||
[split-by-sections]
|
||
merge = "Fusionner en un seul PDF"
|
||
tags = "Sections,Diviser,Section Split, Divide, Customize"
|
||
title = "Diviser le PDF en sections"
|
||
|
||
[split-by-sections.customPages]
|
||
label = "Numéros de pages personnalisés"
|
||
placeholder = "ex. 2,4,6"
|
||
|
||
[split-by-sections.horizontal]
|
||
label = "Divisions horizontales"
|
||
placeholder = "Saisir le nombre de divisions horizontales"
|
||
|
||
[split-by-sections.splitMode]
|
||
custom = "Pages personnalisées"
|
||
description = "Choisissez comment fractionner les pages"
|
||
label = "Mode de fractionnement"
|
||
splitAll = "Fractionner toutes les pages"
|
||
splitAllExceptFirst = "Tout fractionner sauf la première"
|
||
splitAllExceptFirstAndLast = "Tout fractionner sauf la première et la dernière"
|
||
splitAllExceptLast = "Tout fractionner sauf la dernière"
|
||
|
||
[split-by-sections.vertical]
|
||
label = "Divisions verticales"
|
||
placeholder = "Entrer le nombre de divisions verticales"
|
||
|
||
[split-by-size-or-count]
|
||
title = "Séparer le PDF par taille ou par nombre"
|
||
|
||
[split-by-size-or-count.value]
|
||
label = "Entrer la valeur"
|
||
placeholder = "Saisir la taille (par exemple, 2MB ou 3KB) ou le nombre (par exemple, 5)"
|
||
|
||
[splitByChapters]
|
||
allowDuplicates = "Autoriser les Doublons"
|
||
bookmarkLevel = "Niveau de Signet"
|
||
includeMetadata = "Inclure les Métadonnées"
|
||
title = "Diviser un PDF par Chapitres"
|
||
|
||
[splitPdfByChapters]
|
||
tags = "séparer,chapitres,split,chapters,bookmarks,organize"
|
||
|
||
[storageShare]
|
||
accessDenied = "Vous n’avez pas accès à ce fichier partagé. Demandez au propriétaire de le partager avec vous."
|
||
accessDeniedBody = "Vous n’avez pas accès à ce fichier. Demandez au propriétaire de le partager avec vous."
|
||
accessDeniedTitle = "Aucun accès"
|
||
accessed = "Accédé"
|
||
accessFailed = "Impossible de charger l’activité."
|
||
accessLimitedCommenter = "L’accès en tant que commentateur arrive bientôt. Demandez l’accès éditeur si vous devez télécharger."
|
||
accessLimitedTitle = "Accès limité"
|
||
accessLimitedViewer = "Ce lien est en lecture seule. Demandez l’accès éditeur si vous devez télécharger."
|
||
addUser = "Ajouter"
|
||
bulkDescription = "Créer un seul lien pour partager tous les fichiers sélectionnés avec les utilisateurs connectés."
|
||
bulkTitle = "Partager les fichiers sélectionnés"
|
||
commenterHint = "Les commentaires arrivent bientôt."
|
||
copied = "Lien copié dans le presse-papiers"
|
||
copy = "Copier"
|
||
copyFailed = "Échec de la copie"
|
||
copyLink = "Copier le lien de partage"
|
||
createdAt = "Créé"
|
||
description = "Créez un lien de partage pour ce fichier. Les utilisateurs connectés munis du lien peuvent y accéder."
|
||
download = "Télécharger"
|
||
downloaded = "Téléchargé"
|
||
downloadFailed = "Impossible de télécharger ce fichier."
|
||
downloadsCount = "Téléchargements : {{count}}"
|
||
emailWarningBody = "Cela ressemble à une adresse e-mail. Si cette personne n’est pas déjà utilisatrice de Stirling PDF, elle ne pourra pas accéder au fichier."
|
||
emailWarningConfirm = "Partager quand même"
|
||
emailWarningTitle = "Adresse e-mail"
|
||
errorTitle = "Échec du partage"
|
||
expiredBody = "Ce lien de partage est invalide ou a expiré."
|
||
expiredTitle = "Lien expiré"
|
||
failure = "Impossible de générer un lien de partage. Veuillez réessayer."
|
||
fileCount_one = "{{count}} file"
|
||
fileCount_other = "{{count}} files"
|
||
fileLabel = "Fichier"
|
||
generate = "Générer le lien"
|
||
generated = "Lien de partage généré"
|
||
goToLogin = "Aller à la connexion"
|
||
hideActivity = "Masquer l’activité"
|
||
invalidUsername = "Saisissez un nom d’utilisateur ou une adresse e-mail valide."
|
||
lastAccessed = "Dernier accès"
|
||
linkAccessTitle = "Accès via lien de partage"
|
||
linkLabel = "Lien de partage"
|
||
linksDisabled = "Les liens de partage sont désactivés."
|
||
linksDisabledBody = "Les liens de partage sont désactivés par les paramètres de votre serveur."
|
||
loadFailed = "Impossible d’ouvrir le fichier partagé."
|
||
loading = "Chargement du lien de partage…"
|
||
loginPrompt = "Connectez-vous pour accéder à ce fichier partagé."
|
||
loginRequired = "Connexion requise"
|
||
manage = "Gérer le partage"
|
||
manageDescription = "Créer et gérer des liens pour partager ce fichier."
|
||
manageLoadFailed = "Impossible de charger les liens de partage."
|
||
manageTitle = "Gérer le partage"
|
||
noActivity = "Aucune activité pour le moment."
|
||
noLinks = "Aucun lien de partage actif pour le moment."
|
||
noSharedUsers = "Aucun utilisateur n’a encore accès."
|
||
openInApp = "Ouvrir dans Stirling PDF"
|
||
ownerLabel = "Propriétaire"
|
||
ownerUnknown = "Inconnu"
|
||
removeLink = "Supprimer le lien"
|
||
removeUser = "Supprimer"
|
||
requiresLogin = "Ce fichier partagé nécessite une connexion."
|
||
revoked = "Lien de partage supprimé"
|
||
revokeFailed = "Impossible de supprimer le lien de partage."
|
||
roleCommenter = "Commentateur"
|
||
roleEditor = "Éditeur"
|
||
roleLabel = "Rôle"
|
||
roleViewer = "Lecteur"
|
||
saveAndShare = "Enregistrer sur le serveur et partager"
|
||
saveFailed = "Échec de l'enregistrement du fichier sur le serveur. Veuillez réessayer."
|
||
saveFailedTitle = "Impossible d'enregistrer sur le serveur"
|
||
saveFirstBody = "Le partage fonctionne pour les fichiers enregistrés sur le serveur. Nous l'enregistrerons dans vos fichiers, puis nous passerons au partage."
|
||
saveFirstHeading = "Enregistrez ce fichier sur le serveur pour le partager"
|
||
saveFirstTitle = "Partager le fichier"
|
||
sharedUsersTitle = "Utilisateurs ayant accès"
|
||
shareHeading = "Fichier partagé"
|
||
sharingDisabled = "Le partage est désactivé."
|
||
sharingDisabledBody = "Le partage a été désactivé par les paramètres de votre serveur."
|
||
title = "Partager le fichier"
|
||
titleDefault = "Fichier partagé"
|
||
tryAgain = "Veuillez réessayer plus tard."
|
||
unknownUser = "Utilisateur inconnu"
|
||
userAdded = "Utilisateur ajouté à la liste de partage."
|
||
userAddFailed = "Impossible de partager avec cet utilisateur."
|
||
usernameLabel = "Nom d’utilisateur ou adresse e-mail"
|
||
usernamePlaceholder = "Saisissez un nom d’utilisateur ou une adresse e-mail"
|
||
userRemoved = "Utilisateur supprimé de la liste de partage."
|
||
userRemoveFailed = "Impossible de supprimer cet utilisateur."
|
||
viewActivity = "Voir l’activité"
|
||
viewed = "Consulté"
|
||
viewsCount = "Vues : {{count}}"
|
||
|
||
[storageUpload]
|
||
bulkDescription = "Cela téléverse les fichiers sélectionnés vers le stockage de votre serveur."
|
||
bulkTitle = "Téléverser les fichiers sélectionnés"
|
||
description = "Cela téléverse le fichier actuel vers le stockage du serveur pour votre accès personnel."
|
||
errorTitle = "Échec du téléversement"
|
||
failure = "Échec du téléversement. Veuillez vérifier votre connexion et vos paramètres de stockage."
|
||
featureDisabled = "L’enregistrement sur le serveur n’est pas activé sur ce serveur."
|
||
fileCount_one = "{{count}} file"
|
||
fileCount_other = "{{count}} files"
|
||
fileLabel = "Fichier"
|
||
hint = "Les liens publics et les modes d’accès sont contrôlés par les paramètres de votre serveur."
|
||
more = " +{{count}} autres"
|
||
success = "Téléversé sur le serveur"
|
||
title = "Téléverser sur le serveur"
|
||
updateButton = "Mettre à jour sur le serveur"
|
||
uploadButton = "Téléverser sur le serveur"
|
||
|
||
[superSearch]
|
||
all = "All"
|
||
ariaLabel = "Super search"
|
||
filtersAriaLabel = "Search filters"
|
||
hint = "Type to search"
|
||
placeholder = "Search Stirling"
|
||
placeholderShort = "Rechercher"
|
||
showLess = "Show less"
|
||
showMore = "Show {{count}} more"
|
||
|
||
[superSearch.group]
|
||
docs = "Docs"
|
||
files = "Files"
|
||
pages = "Pages"
|
||
processor = "Processor"
|
||
settings = "Settings"
|
||
tools = "Tools"
|
||
|
||
[survey]
|
||
title = "Stirling-PDF Survey"
|
||
|
||
[swagger]
|
||
clickHere = "cliquez ici"
|
||
fallback = "Si cela ne s’est pas ouvert automatiquement,"
|
||
opening = "Ouverture de Swagger UI dans un nouvel onglet..."
|
||
tags = "api,documentation,swagger,points de terminaison,développement"
|
||
title = "Documentation de l’API"
|
||
|
||
[tableExtraxt]
|
||
tags = "CSV, Extraction de table, extraction, conversion"
|
||
|
||
[team]
|
||
cancelInviteError = "Échec de l’annulation de l’invitation"
|
||
confirmCancelInvite = "Voulez-vous vraiment annuler cette invitation ?"
|
||
confirmLeave = "Voulez-vous vraiment quitter cette équipe ?"
|
||
confirmLeaveLeader = "En tant que chef d’équipe, partir vous supprimera de l’équipe. Êtes-vous sûr ?"
|
||
confirmRemove = "Voulez-vous vraiment supprimer ce membre ?"
|
||
editName = "Modifier le nom de l’équipe"
|
||
inviteCancelled = "Invitation annulée"
|
||
inviteError = "Échec de l’envoi de l’invitation"
|
||
inviteSent = "Invitation envoyée avec succès"
|
||
leader = "Chef d’équipe"
|
||
leaveButton = "Quitter l’équipe"
|
||
leaveError = "Échec de la sortie de l’équipe"
|
||
leaveSuccess = "Équipe quittée avec succès"
|
||
loading = "Chargement des informations de l’équipe..."
|
||
memberCount_one = "{{count}} member"
|
||
memberCount_other = "{{count}} members"
|
||
memberCount_zero = "no members"
|
||
memberRemoved = "Membre supprimé avec succès"
|
||
namePlaceholder = "Saisir le nom de l’équipe"
|
||
personal = "Personnel"
|
||
removeError = "Échec de la suppression du membre"
|
||
renameCancel = "Annuler le renommage"
|
||
renameError = "Échec du renommage de l’équipe"
|
||
renameSubmit = "Enregistrer le nom de l’équipe"
|
||
renameSuccess = "Équipe renommée avec succès"
|
||
|
||
[team.invitationBanner]
|
||
acceptButton = "Accepter"
|
||
message = "vous a invité à rejoindre"
|
||
rejectButton = "Refuser"
|
||
|
||
[team.invite]
|
||
cancelLabel = "Annuler"
|
||
invalidEmail = "Adresse e-mail invalide"
|
||
placeholder = "Saisir l’adresse e-mail"
|
||
sendButton = "Envoyer l’invitation"
|
||
title = "Inviter un membre de l’équipe"
|
||
|
||
[team.members]
|
||
actions = "Actions du membre"
|
||
emailColumn = "E-mail"
|
||
empty = "Aucun membre d’équipe pour le moment"
|
||
nameColumn = "Nom"
|
||
pending = "En attente"
|
||
remove = "Supprimer"
|
||
roleColumn = "Rôle"
|
||
title = "Membres de l’équipe"
|
||
|
||
[textAlign]
|
||
center = "Centre"
|
||
left = "Gauche"
|
||
right = "Droite"
|
||
|
||
[textInput]
|
||
clear = "Effacer la saisie"
|
||
|
||
[time.relative]
|
||
daysAgo = "il y a {{count}} j"
|
||
hoursAgo = "il y a {{count}} h"
|
||
justNow = "à l’instant"
|
||
minutesAgo = "il y a {{count}} min"
|
||
|
||
[timestampPdf]
|
||
desc = "Ajoutez un horodatage RFC 3161 à votre PDF via un serveur d'autorité d'horodatage (TSA) de confiance."
|
||
results = "Résultats de l'horodatage"
|
||
submit = "Appliquer l'horodatage"
|
||
tags = "timestamp,RFC 3161,TSA,time stamp authority,document timestamp,proof of existence,timestamp token,trusted timestamp,sign timestamp,notarise"
|
||
title = "Horodater le PDF"
|
||
|
||
[timestampPdf.error]
|
||
failed = "Une erreur est survenue lors de l'horodatage du PDF."
|
||
|
||
[timestampPdf.options]
|
||
note = "Seul le hash SHA-256 de votre document est envoyé au serveur TSA ; le fichier PDF lui-même n'est jamais envoyé au serveur TSA."
|
||
title = "Serveur d'horodatage (TSA)"
|
||
|
||
[timestampPdf.options.tsaUrl]
|
||
desc = "Choisissez une autorité d'horodatage de confiance"
|
||
label = "Sélectionner un serveur TSA"
|
||
|
||
[timestampPdf.steps]
|
||
settings = "Paramètres"
|
||
|
||
[toast]
|
||
dismiss = "Fermer"
|
||
toggleDetails = "Afficher/Masquer les détails"
|
||
|
||
[tool]
|
||
endpointUnavailable = "This tool is unavailable on your server."
|
||
endpointUnavailableClickable = "Not available in this mode. Click to sign in."
|
||
filesLoading = "Les fichiers se chargent encore, veuillez patienter."
|
||
filesLoadingProgress = "{{loaded}} / {{total}} fichiers en cours de chargement..."
|
||
invalidParams = "Fill in the required settings."
|
||
noFiles = "Add a file to get started."
|
||
scopeFiles = "fichiers"
|
||
scopeThisFile = "ce fichier"
|
||
selectFilesHint = "Sélectionnez des fichiers dans Fichiers actifs pour exécuter cet outil"
|
||
singleFileScope = "Application uniquement à : {{fileName}}"
|
||
viewerMode = "Passez à l'éditeur de fichiers pour sélectionner plusieurs fichiers."
|
||
|
||
[toolFormat]
|
||
ANY = "n’importe quel fichier"
|
||
CBR = "une archive de bande dessinée (CBR)"
|
||
CBZ = "une archive de bande dessinée (CBZ)"
|
||
CSV = "un fichier CSV"
|
||
EBOOK = "un livre numérique"
|
||
EMAIL = "un e-mail"
|
||
EXCEL = "une feuille de calcul"
|
||
HTML = "une page web"
|
||
IMAGE = "des images"
|
||
JAVASCRIPT = "un fichier JavaScript"
|
||
JSON = "un fichier JSON"
|
||
MARKDOWN = "un fichier Markdown"
|
||
NONE = "aucun fichier"
|
||
PCL = "un fichier d’impression PCL"
|
||
PDF = "un PDF"
|
||
PDF_ENCRYPTED = "un PDF protégé par mot de passe"
|
||
POSTSCRIPT = "un fichier PostScript"
|
||
PPT = "une présentation"
|
||
TEXT = "un fichier texte"
|
||
VIDEO = "une vidéo"
|
||
WORD = "un document Word"
|
||
XML = "un fichier XML"
|
||
XPS = "un document XPS"
|
||
ZIP = "une archive ZIP"
|
||
|
||
[toolPanel]
|
||
alpha = "Alpha"
|
||
backToAllTools = "Retour à tous les outils"
|
||
collapse = "Réduire le panneau"
|
||
expand = "Développer le panneau"
|
||
goBack = "Revenir en arrière"
|
||
pdfTools = "Outils PDF"
|
||
placeholder = "Choisissez un outil pour commencer"
|
||
premiumFeature = "Fonctionnalité Premium :"
|
||
toolsHeader = "Outils"
|
||
viewAllTools = "Voir tous les outils"
|
||
|
||
[toolPanel.fullscreen]
|
||
comingSoon = "Bientôt disponible :"
|
||
favorite = "Ajouter aux favoris"
|
||
favorites = "Favoris"
|
||
heading = "Tous les outils (vue plein écran)"
|
||
noResults = "Essayez d’ajuster votre recherche ou d’afficher/masquer les descriptions pour trouver ce dont vous avez besoin."
|
||
recommended = "Recommandé"
|
||
selfHostedOffline = "Requires your Stirling-PDF server (currently offline):"
|
||
showDetails = "Afficher les détails"
|
||
unavailable = "Désactivé par l’administrateur du serveur :"
|
||
unavailableDependency = "Indisponible - outil requis manquant sur le serveur :"
|
||
unfavorite = "Retirer des favoris"
|
||
|
||
[toolPanel.modePrompt]
|
||
chooseFullscreen = "Utiliser le mode plein écran"
|
||
chooseSidebar = "Utiliser le mode barre latérale"
|
||
description = "Apercevez les deux dispositions et décidez comment explorer les outils Stirling PDF."
|
||
dismiss = "Peut-être plus tard"
|
||
fullscreenDescription = "Parcourez tous les outils dans un catalogue qui recouvre l’espace de travail jusqu’à en choisir un."
|
||
fullscreenTitle = "Mode plein écran - (ancien)"
|
||
recommended = "Recommandé"
|
||
sidebarDescription = "Gardez les outils à côté de votre espace de travail pour changer rapidement."
|
||
sidebarTitle = "Mode barre latérale"
|
||
title = "Choisissez comment parcourir les outils"
|
||
|
||
[toolPicker]
|
||
allTools = "TOUS LES OUTILS"
|
||
noToolsFound = "Aucun outil trouvé"
|
||
quickAccess = "ACCÈS RAPIDE"
|
||
searchPlaceholder = "Rechercher des outils…"
|
||
|
||
[toolPicker.subcategories]
|
||
advancedFormatting = "Mise en forme avancée"
|
||
ai = "IA"
|
||
automation = "Automatisation"
|
||
developerTools = "Outils développeur"
|
||
documentReview = "Révision de document"
|
||
documentSecurity = "Sécurité du document"
|
||
extraction = "Extraction"
|
||
general = "Général"
|
||
pageFormatting = "Mise en page"
|
||
removal = "Suppression"
|
||
signing = "Signature"
|
||
verification = "Vérification"
|
||
|
||
[toolRenderer]
|
||
notFound = "Tool not found: {{tool}}"
|
||
|
||
[tools]
|
||
noSearchResults = "Aucun outil trouvé"
|
||
noTools = "Aucun outil disponible"
|
||
|
||
[tooltip]
|
||
close = "Fermer l’infobulle"
|
||
|
||
[unlockPDFForms]
|
||
description = "Cet outil supprimera les restrictions en lecture seule des champs de formulaires PDF, les rendant modifiables et remplissables."
|
||
submit = "Remove"
|
||
tags = "supprimer,propriété,déverrouiller,formulaire,champs,lecture,remove,delete,form,field,readonly"
|
||
title = "Supprimer la lecture seule des champs de formulaire"
|
||
|
||
[unlockPDFForms.error]
|
||
failed = "Une erreur est survenue lors du déverrouillage des formulaires PDF."
|
||
|
||
[unlockPDFForms.results]
|
||
title = "Résultats des formulaires déverrouillés"
|
||
|
||
[update]
|
||
allReleases = "Toutes les versions"
|
||
breaking = "Incompatible"
|
||
breakingChanges = "Modifications majeures"
|
||
breakingChangesDefault = "Cette version contient des modifications majeures."
|
||
close = "Fermer"
|
||
closeModal = "Fermer la fenêtre de mise à jour"
|
||
current = "Version actuelle"
|
||
defaultRecommendation = "Cette mise à jour contient des correctifs et des améliorations importants."
|
||
downloadLatest = "Télécharger la dernière version"
|
||
later = "Plus tard"
|
||
latest = "Dernière version"
|
||
loadingDetailedInfo = "Chargement des informations détaillées…"
|
||
migrationGuide = "Guide de migration"
|
||
migrationGuides = "Guides de migration"
|
||
migrationGuidesDesc = "Passez en revue les changements importants avant la mise à jour."
|
||
modalSubtitle = "Une nouvelle version de Stirling PDF est prête à être installée."
|
||
modalTitle = "Mise à jour disponible"
|
||
notes = "Notes"
|
||
releaseNotes = "Notes de version"
|
||
showLess = "Afficher moins de versions"
|
||
showMore = "Afficher toutes les {{count}} versions"
|
||
stable = "STABLE"
|
||
updateAvailable = "Mise à jour disponible"
|
||
urgentUpdateAvailable = "Mise à jour urgente"
|
||
version = "Version"
|
||
versionHistory = "Historique des versions"
|
||
viewGuide = "Voir le guide"
|
||
whatsNewIn = "Nouveautés de"
|
||
|
||
[update.priority]
|
||
low = "Faible"
|
||
minor = "Mineure"
|
||
normal = "Normale"
|
||
urgent = "Urgente"
|
||
|
||
[upgradeBanner]
|
||
attentionBody = "Votre administrateur doit se connecter pour voir plus d’informations. Veuillez le contacter immédiatement."
|
||
attentionBodyAdmin = "Vérifiez les exigences de licence pour maintenir ce serveur conforme."
|
||
attentionTitle = "Ce serveur nécessite l’attention d’un administrateur"
|
||
message = "Tirez le meilleur parti de Stirling PDF avec des utilisateurs illimités et des fonctionnalités avancées"
|
||
seeInfo = "Voir les infos"
|
||
title = "Passer au plan Server"
|
||
upgradeButton = "Mettre à niveau maintenant"
|
||
|
||
[URLToPDF]
|
||
tags = "pdf,contenu Web,save-page,web-to-doc,archive"
|
||
title = "URL en PDF"
|
||
|
||
[usage]
|
||
aboutUsageAnalytics = "À propos des analyses d’utilisation"
|
||
configureSettings = "Configurer les paramètres d’analyse"
|
||
error = "Erreur lors du chargement des statistiques d’utilisation"
|
||
noData = "Aucune donnée disponible"
|
||
noDataMessage = "Aucune statistique d’utilisation n’est actuellement disponible."
|
||
usageAnalyticsExplanation = "Les analyses d’utilisation suivent les requêtes des points de terminaison et les habitudes d’utilisation des outils. Combinées avec le tableau de bord de journalisation d’audit, vous obtenez une visibilité complète sur l’activité du système, les performances et les événements de sécurité."
|
||
viewAuditLogs = "Afficher les journaux d’audit"
|
||
|
||
[usage.chart]
|
||
title = "Graphique d’utilisation des endpoints"
|
||
|
||
[usage.controls]
|
||
all = "Tous"
|
||
dataTypeLabel = "Type de données :"
|
||
refresh = "Actualiser"
|
||
top10 = "Top 10"
|
||
top20 = "Top 20"
|
||
|
||
[usage.controls.dataType]
|
||
all = "Tous"
|
||
api = "API"
|
||
ui = "UI"
|
||
|
||
[usage.showing]
|
||
all = "Tous"
|
||
top10 = "Top 10"
|
||
top20 = "Top 20"
|
||
|
||
[usage.stats]
|
||
selectedVisits = "Visites sélectionnées"
|
||
showing = "Affichage"
|
||
totalEndpoints = "Nombre total d’endpoints"
|
||
totalVisits = "Nombre total de visites"
|
||
|
||
[usage.table]
|
||
endpoint = "Endpoint"
|
||
noData = "Aucune donnée disponible"
|
||
percentage = "Pourcentage"
|
||
title = "Statistiques détaillées"
|
||
unknownEndpoint = "Point de terminaison inconnu"
|
||
visits = "Visites"
|
||
|
||
[users]
|
||
lastActive = "Dernière activité"
|
||
learnMore = "En savoir plus sur les rôles et l’accès."
|
||
locked = "Verrouillé"
|
||
roleFor = "Rôle pour {{name}}"
|
||
rowActions = "Actions pour {{name}}"
|
||
showAll = "Afficher les {{count}}"
|
||
showLess = "Afficher moins"
|
||
subtitle2 = "Vos personnes, équipes et niveaux d’accès."
|
||
suspended = "Suspendu"
|
||
teamActions = "Actions d’équipe"
|
||
title = "Utilisateurs"
|
||
you = "(vous)"
|
||
|
||
[users.action]
|
||
cancelInvite = "Annuler l’invitation"
|
||
deleteTeam = "Supprimer l’équipe"
|
||
disableMfa = "Réinitialiser MFA"
|
||
move = "Déplacer vers une équipe"
|
||
reinstate = "Réintégrer"
|
||
remove = "Supprimer de l’organisation"
|
||
removeTeam = "Retirer de l’équipe"
|
||
rename = "Renommer l’équipe"
|
||
resetPw = "Réinitialiser le mot de passe"
|
||
suspend = "Suspendre"
|
||
unlock = "Déverrouiller le compte"
|
||
|
||
[users.activity]
|
||
daysAgo = "il y a {{count}} j"
|
||
hoursAgo = "il y a {{count}} h"
|
||
justNow = "À l’instant"
|
||
minutesAgo = "il y a {{count}} min"
|
||
monthsAgo_one = "il y a {{count}} mois"
|
||
monthsAgo_other = "il y a {{count}} mois"
|
||
never = "Jamais"
|
||
weeksAgo_one = "il y a {{count}} semaine"
|
||
weeksAgo_other = "il y a {{count}} semaines"
|
||
yearsAgo_one = "il y a {{count}} an"
|
||
yearsAgo_other = "il y a {{count}} ans"
|
||
|
||
[users.cap]
|
||
addProcessor = "+ Processor"
|
||
approver = "Approuve la politique"
|
||
editor = "Éditeur"
|
||
processor = "Processor"
|
||
|
||
[users.columns]
|
||
capabilities = "Capabilities"
|
||
email = "Email"
|
||
person = "Person"
|
||
role = "Role"
|
||
status = "Status"
|
||
|
||
[users.confirm]
|
||
cancelInviteBody = "Annuler l’invitation envoyée à {{email}} ? Cette personne ne pourra pas rejoindre avec le lien actuel."
|
||
cancelInviteTitle = "Annuler l’invitation"
|
||
deleteTeamBody = "Supprimer l’équipe {{name}} ? L’équipe doit d’abord être vide : déplacez ses membres vers une autre équipe, et elle ne doit plus posséder aucune configuration d’intégration."
|
||
deleteTeamTitle = "Supprimer l’équipe"
|
||
disableMfaBody = "Supprimer l’inscription MFA de {{name}} ? Elle sera configurée à nouveau lors de la prochaine connexion si nécessaire."
|
||
disableMfaTitle = "Réinitialiser MFA"
|
||
removeBody = "Supprimer définitivement {{name}} de l’organisation ? Cette action est irréversible."
|
||
removeTeamBody = "Retirer {{name}} de l’équipe ? Cette personne conserve son compte, mais perd l’accès aux ressources de cette équipe."
|
||
removeTitle = "Supprimer le membre"
|
||
|
||
[users.empty]
|
||
description = "Invitez votre équipe pour commencer à collaborer."
|
||
title = "Aucun membre pour le moment"
|
||
|
||
[users.group]
|
||
addToTeam = "Ajouter à l’équipe"
|
||
guestCount = "{{count}} invité"
|
||
guests = "Invités"
|
||
ledBy = "dirigée par {{owner}}"
|
||
org = "Organisation"
|
||
owners = "{{count}} propriétaire"
|
||
team = "Équipe {{name}}"
|
||
teamMeta = "{{count}} personnes"
|
||
|
||
[users.invite]
|
||
access = "Accès"
|
||
action = "Inviter des personnes"
|
||
authOauth = "OAuth2 / SSO"
|
||
authSaml = "SAML 2.0"
|
||
authType = "Méthode de connexion"
|
||
authWeb = "Mot de passe"
|
||
create = "Créer un compte"
|
||
createSubtitle = "Créez un compte auto-hébergé avec un mot de passe ou SSO."
|
||
createTitle = "Créer un compte"
|
||
editorDesc = "Modifiez des PDF dans le Stirling PDF Editor. Tout le monde en bénéficie."
|
||
email = "Adresse email"
|
||
emailError = "Saisissez une adresse email valide"
|
||
emailPlaceholder2 = "nom@entreprise.com"
|
||
forceChange = "Exiger un changement de mot de passe à la première connexion"
|
||
forceMfa = "Exiger la configuration MFA à la première connexion"
|
||
method = "Comment les ajouter"
|
||
methodDirect = "Créer directement un compte"
|
||
methodEmail = "Inviter par email"
|
||
password = "Mot de passe"
|
||
passwordError = "Le mot de passe doit comporter au moins 8 caractères"
|
||
processorDeferred = "Invitation envoyée, mais l’accès Processor n’a pas encore pu être accordé - définissez-le depuis la liste une fois qu’ils auront rejoint."
|
||
processorDesc = "La surface de gouvernance, l’exécution des pipelines, les agents et l’API."
|
||
role = "Rôle"
|
||
send2 = "Envoyer l’invitation"
|
||
subtitle2 = "Ils recevront un e-mail pour rejoindre votre espace de travail Stirling."
|
||
team = "Équipe"
|
||
title = "Inviter des personnes"
|
||
username = "Nom d’utilisateur"
|
||
usernameError = "Le nom d’utilisateur doit comporter au moins 3 caractères"
|
||
usernamePlaceholder = "jsmith"
|
||
|
||
[users.invites]
|
||
by = "Invité par {{who}}"
|
||
cancel = "Annuler"
|
||
expiresInDays_one = "Expire dans {{count}} jour"
|
||
expiresInDays_other = "Expire dans {{count}} jours"
|
||
expiresToday = "Expire aujourd’hui"
|
||
title = "Invitations en attente"
|
||
|
||
[users.invites.columns]
|
||
expires = "Expires"
|
||
invitee = "Invitee"
|
||
|
||
[users.loadError]
|
||
description = "Une erreur s’est produite lors de l’accès au backend, ou vous n’avez pas accès. Réessayez."
|
||
title = "Impossible de charger les membres"
|
||
|
||
[users.moveTeam]
|
||
apply = "Déplacer"
|
||
team = "Équipe"
|
||
title = "Déplacer vers l’équipe"
|
||
|
||
[users.newTeam]
|
||
action = "+ Nouvelle équipe"
|
||
create = "Créer une équipe"
|
||
emailError = "Saisissez une adresse e-mail valide"
|
||
name = "Nom de l’équipe"
|
||
namePlaceholder = "p. ex. Finance"
|
||
nameRequired = "Le nom de l’équipe est requis"
|
||
owner = "Propriétaire de l’équipe"
|
||
ownerFailed = "L’équipe a été créée, mais le propriétaire n’a pas pu être invité. Attribuez-en un depuis la liste des membres."
|
||
ownerHelper = "Chaque équipe a un responsable. Il sera invité en tant que propriétaire de l’équipe, avec Processor activé, et pourra ajouter les autres. Vous pourrez le réattribuer plus tard."
|
||
ownerPlaceholder = "owner@company.com"
|
||
subtitle = "Regroupez les personnes sous un propriétaire d’équipe qui gère leur accès."
|
||
title = "Nouvelle équipe"
|
||
|
||
[users.renameTeam]
|
||
apply = "Renommer"
|
||
name = "Nom de l’équipe"
|
||
title = "Renommer l’équipe"
|
||
|
||
[users.resetPw]
|
||
apply = "Réinitialiser le mot de passe"
|
||
confirm = "Confirmer le mot de passe"
|
||
copied = "Copié dans le presse-papiers"
|
||
copyHint = "Copiez-le maintenant : il ne sera plus affiché."
|
||
email = "Envoyer un e-mail à l’utilisateur à propos de la réinitialisation"
|
||
forceChange = "Exiger un changement de mot de passe à la prochaine connexion"
|
||
generate = "Générer un mot de passe sécurisé"
|
||
includePw = "Inclure le nouveau mot de passe dans l’e-mail"
|
||
mismatch = "Les mots de passe ne correspondent pas"
|
||
newPassword = "Nouveau mot de passe"
|
||
regen = "Régénérer"
|
||
title = "Réinitialiser le mot de passe"
|
||
tooShort = "Le mot de passe doit comporter au moins 8 caractères"
|
||
|
||
[users.role]
|
||
guest = "Invité"
|
||
member = "Membre"
|
||
orgOwner = "Propriétaire de l’organisation"
|
||
teamOwner = "Propriétaire de l’équipe"
|
||
|
||
[users.team]
|
||
grantProcessor = "Accorder Processor à l’équipe"
|
||
revokeProcessor = "Révoquer Processor de l’équipe"
|
||
|
||
[validateSignature]
|
||
date = "Date"
|
||
downloadCsv = "Télécharger CSV"
|
||
downloadJson = "Télécharger JSON"
|
||
downloadPdf = "Télécharger le rapport PDF"
|
||
finalizing = "Préparation des téléchargements…"
|
||
location = "Localisation"
|
||
noResults = "Lancez la validation pour générer un rapport."
|
||
noSignatures = "Aucune signature numérique trouvée dans ce document"
|
||
noSignaturesShort = "Aucune signature"
|
||
processing = "Validation des signatures…"
|
||
reason = "Raison"
|
||
results = "Résultats de la validation"
|
||
selectCustomCert = "Fichier de certificat personnalisé X.509 (Optionnel)"
|
||
signatureDate = "Date de signature"
|
||
signer = "Signataire"
|
||
submit = "Valider les signatures"
|
||
tags = "signature,vérifier,valider,pdf,certificat,signature numérique,Valider la signature,Valider le certificat"
|
||
title = "Valider les signatures PDF"
|
||
totalSignatures = "Nombre total de signatures"
|
||
|
||
[validateSignature.cert]
|
||
algorithm = "Algorithme"
|
||
bits = "bits"
|
||
details = "Détails du certificat"
|
||
issuer = "Émetteur"
|
||
keySize = "Taille de la clé"
|
||
keyUsage = "Usage de la clé"
|
||
selfSigned = "Auto-signé"
|
||
serialNumber = "Numéro de série"
|
||
subject = "Sujet"
|
||
validFrom = "Valide à partir du"
|
||
validUntil = "Valide jusqu'au"
|
||
version = "Version"
|
||
|
||
[validateSignature.downloadType]
|
||
csv = "CSV"
|
||
json = "JSON"
|
||
pdf = "PDF"
|
||
|
||
[validateSignature.error]
|
||
allFailed = "Impossible de valider les fichiers sélectionnés."
|
||
partial = "Certains fichiers n’ont pas pu être validés."
|
||
reportGeneration = "Impossible de générer le rapport PDF. JSON et CSV sont disponibles."
|
||
unexpected = "Erreur inattendue lors de la validation."
|
||
|
||
[validateSignature.issue]
|
||
certExpired = "Certificat expiré"
|
||
certRevocationUnknown = "Statut de révocation du certificat inconnu"
|
||
certRevoked = "Certificat révoqué"
|
||
chainInvalid = "Chaîne de certificats invalide"
|
||
documentModified = "Document modifié après signature - du contenu a été ajouté en dehors de la zone signée"
|
||
revocationNotChecked = "La révocation n'a pas été vérifiée"
|
||
selfSigned = "Auto-signé - identité du signataire non vérifiée"
|
||
signatureInvalid = "Échec de la vérification cryptographique de la signature"
|
||
trustInvalid = "Certificat non approuvé"
|
||
|
||
[validateSignature.report]
|
||
continued = "Suite"
|
||
downloads = "Téléchargements"
|
||
entryLabel = "Résumé de la signature"
|
||
filesEvaluated_one = "{{count}} fichier évalué"
|
||
filesEvaluated_other = "{{count}} fichiers évalués"
|
||
footer = "Validé via Stirling PDF"
|
||
generatedAt = "Généré"
|
||
noPdf = "Le rapport PDF sera disponible après une validation réussie."
|
||
page = "Page"
|
||
shortTitle = "Résumé de la signature"
|
||
signatureCountLabel_one = "{{count}} signature"
|
||
signatureCountLabel_other = "{{count}} signatures"
|
||
signaturesFound_one = "{{count}} signature detected"
|
||
signaturesFound_other = "{{count}} signatures detected"
|
||
signaturesInvalid = "{{count}} invalides"
|
||
signaturesUnverified_one = "{{count}} à vérifier"
|
||
signaturesUnverified_other = "{{count}} à vérifier"
|
||
signaturesValid = "{{count}} entièrement valides"
|
||
title = "Rapport de validation des signatures"
|
||
|
||
[validateSignature.report.fields]
|
||
created = "Créé"
|
||
fileSize = "Taille du fichier"
|
||
signatureCount = "Nombre total de signatures"
|
||
signatureDate = "Date de signature"
|
||
|
||
[validateSignature.settings]
|
||
certHint = "Téléversez un certificat X.509 de confiance pour valider par rapport à une source de confiance personnalisée."
|
||
title = "Paramètres de validation"
|
||
|
||
[validateSignature.signature]
|
||
_value = "Signature"
|
||
|
||
[validateSignature.status]
|
||
complete = "Validation terminée"
|
||
invalid = "Invalide"
|
||
untrustedShort = "Non vérifié"
|
||
valid = "Valide"
|
||
validUntrusted = "Valide, signataire non vérifié"
|
||
|
||
[viewer]
|
||
cannotPreviewFile = "Impossible d’afficher un aperçu du fichier"
|
||
copyText = "Copy"
|
||
disableColorFilter = "Désactiver le filtre de couleur"
|
||
dualPageView = "Vue double page"
|
||
enableDarkFilter = "Activer le filtre sombre"
|
||
enableSepiaFilter = "Activer le filtre sépia"
|
||
firstPage = "Première page"
|
||
lastPage = "Dernière page"
|
||
moreOptions = "Plus"
|
||
nextPage = "Page suivante"
|
||
onlyPdfSupported = "Le visualiseur prend uniquement en charge les fichiers PDF. Ce fichier semble être d’un autre format."
|
||
pageNavigation = "Navigation dans les pages"
|
||
previousPage = "Page précédente"
|
||
saveChangesErrorBody = "Le document n’a pas pu être enregistré. Réessayez."
|
||
saveChangesErrorTitle = "Impossible d’enregistrer les modifications"
|
||
singlePageView = "Vue page unique"
|
||
unknownFile = "Fichier inconnu"
|
||
view = "Affichage"
|
||
zoom = "Zoom"
|
||
zoomIn = "Zoom avant"
|
||
zoomOut = "Zoom arrière"
|
||
|
||
[viewer.attachments]
|
||
addAttachment = "Ajouter une pièce jointe"
|
||
close = "Fermer les pièces jointes"
|
||
closeSidebar = "Fermer le panneau latéral des pièces jointes"
|
||
download = "Télécharger la pièce jointe"
|
||
empty = "Aucune pièce jointe dans ce document"
|
||
loading = "Chargement des pièces jointes..."
|
||
noDocument = "Ouvrez un PDF pour afficher ses pièces jointes."
|
||
noMatch = "Aucune pièce jointe ne correspond à votre recherche"
|
||
noSupport = "La prise en charge des pièces jointes n’est pas disponible pour cette visionneuse."
|
||
retry = "Réessayer"
|
||
searchPlaceholder = "Rechercher des pièces jointes"
|
||
title = "Pièces jointes"
|
||
|
||
[viewer.bookmarks]
|
||
addBookmark = "Add bookmark"
|
||
bookmarkTitle = "Titre du signet"
|
||
bookmarkTitleRequired = "Le titre du signet est requis"
|
||
closeSidebar = "Fermer le panneau latéral des signets"
|
||
collapseAll = "Réduire tous les signets"
|
||
empty = "No bookmarks in this document"
|
||
expandAll = "Développer tous les signets"
|
||
searchPlaceholder = "Rechercher des signets"
|
||
title = "Bookmarks"
|
||
|
||
[viewer.comments]
|
||
addComment = "Ajouter un commentaire"
|
||
addCommentPlaceholder = "Ajouter un commentaire..."
|
||
addLink = "Ajouter un lien"
|
||
addReplyPlaceholder = "Répondre..."
|
||
cancelClearAll = "Annuler"
|
||
clearAll = "Effacer tous les commentaires"
|
||
clearAllDescription = "Cela supprime les commentaires et les réponses de la barre latérale tout en conservant dans le document les annotations éventuellement liées."
|
||
clearAllTitle = "Effacer tous les commentaires ?"
|
||
close = "Fermer les commentaires"
|
||
closeSidebar = "Fermer le panneau latéral des commentaires"
|
||
deleteAnnotationAndComment = "Supprimer l'annotation et le commentaire"
|
||
deleteDescription = "Cette annotation a un commentaire. Vous pouvez supprimer seulement le commentaire de la barre latérale en gardant l'annotation ou supprimer les deux."
|
||
deleteTitle = "Supprimer l'annotation des commentaires ?"
|
||
goToLink = "Suivre le lien"
|
||
hint = "Commentez avec Commentaire, Insérer du texte ou remplacer le texte. Vos commentaires apparaîtront ici par page."
|
||
locateAnnotation = "Chercher dans le document"
|
||
moreActions = "Plus d'actions"
|
||
nComments_one = "{{count}} comment"
|
||
nComments_other = "{{count}} comments"
|
||
noMatch = "No comments match your search"
|
||
pageLabel = "Page {{page}}"
|
||
placingHint = "Cliquez sur une page pour placer… (annuler)"
|
||
removeCommentOnly = "Supprimer seulement le commentaire"
|
||
saveReply = "Sauvegarder la réponse"
|
||
searchPlaceholder = "Search comments"
|
||
title = "Commentaires"
|
||
typeComment = "Commentaire"
|
||
typeInsertText = "Insérer du text"
|
||
typeReplaceText = "Remplacer le commentaire"
|
||
viewComment = "Voir le commentaire"
|
||
|
||
[viewer.error]
|
||
noFileProvided = "Erreur : Aucun fichier fourni à la visionneuse"
|
||
|
||
[viewer.formBar]
|
||
apply = "Appliquer les modifications"
|
||
dismiss = "Fermer"
|
||
download = "Télécharger le PDF"
|
||
hasFieldsDesc = "Ce PDF contient des champs remplissables"
|
||
title = "Champs de formulaire"
|
||
unsavedBadge = "Non enregistré"
|
||
unsavedDesc = "Vous avez des modifications non enregistrées"
|
||
|
||
[viewer.layers]
|
||
closeSidebar = "Fermer le panneau latéral des calques"
|
||
hideAll = "Masquer tous les calques"
|
||
showAll = "Afficher tous les calques"
|
||
title = "Layers"
|
||
|
||
[viewer.link]
|
||
delete = "Supprimer le lien"
|
||
|
||
[viewer.nonPdf]
|
||
columnDefault = "Colonne {{index}}"
|
||
convertToPdf = "Convertir en PDF"
|
||
csvStats = "{{rows}} lignes · {{columns}} colonnes · {{size}}"
|
||
emptyFile = "Fichier vide"
|
||
htmlHidePreview = "Masquer l’aperçu"
|
||
htmlPreview = "Aperçu HTML"
|
||
htmlPreviewMobileHidden = "Les pages HTML sont conçues pour des largeurs d’écran de bureau, l’aperçu est donc désactivé par défaut ici."
|
||
htmlPreviewWarning = "Aperçu HTML — les ressources externes peuvent ne pas se charger · {{size}}"
|
||
htmlShowPreview = "Afficher quand même l’aperçu"
|
||
invalidJson = "JSON invalide — affichage du contenu brut"
|
||
lineNumbers = "Numéros de ligne"
|
||
loading = "Chargement…"
|
||
renderMarkdown = "Afficher le markdown"
|
||
sortedBy = "Trié par : {{column}}"
|
||
textStats = "{{lines}} lignes · {{size}}"
|
||
|
||
[viewer.redaction]
|
||
removeMark = "Supprimer cette marque"
|
||
|
||
[viewer.search]
|
||
clear = "Effacer la recherche"
|
||
close = "Fermer la recherche"
|
||
next = "Résultat suivant"
|
||
previous = "Résultat précédent"
|
||
resultsOf = "sur {{total}}"
|
||
|
||
[viewer.signature]
|
||
delete = "Supprimer la signature"
|
||
|
||
[viewer.thumbnails]
|
||
closeSidebar = "Fermer le panneau latéral des miniatures"
|
||
|
||
[viewPdf]
|
||
tags = "visualiser,lire,annoter,texte,image"
|
||
title = "Afficher/modifier un PDF"
|
||
|
||
[warning]
|
||
tooltipTitle = "Avertissement"
|
||
|
||
[watchedFolders]
|
||
alreadyInFolder = "Already in this folder"
|
||
defaultFolderWarning = "This is a default folder and will be recreated on next reload."
|
||
deleteConfirmBody = "This will remove the folder and its run history. Files already downloaded are not affected."
|
||
deleteConfirmTitle = "Delete folder?"
|
||
folderNotFound = "Folder not found"
|
||
newFolder = "New folder"
|
||
noFolders = "No watched folders yet"
|
||
sidebarTitle = "Watched Folders"
|
||
title = "Watched Folders"
|
||
|
||
[watchedFolders.actions]
|
||
back = "Back"
|
||
collapse = "Collapse"
|
||
dismiss = "Dismiss"
|
||
download = "Download"
|
||
downloadInput = "Download input"
|
||
downloadOutput = "Download output"
|
||
expand = "Expand"
|
||
retry = "Retry"
|
||
|
||
[watchedFolders.card]
|
||
delete = "Delete folder"
|
||
edit = "Edit folder"
|
||
|
||
[watchedFolders.home]
|
||
addAnother = "Add another Watched Folder"
|
||
addAnotherDesc = "Automatically process files with a new pipeline"
|
||
create = "Create your first Watched Folder"
|
||
deleteFolder = "Delete folder"
|
||
editFolder = "Edit folder"
|
||
empty = "No watched folders yet"
|
||
emptyDesc = "Set up a Watched Folder once. Drop PDFs in and they're automatically compressed, OCR'd, split, merged — whatever your pipeline does."
|
||
emptyTitle = "Automate your PDF workflows"
|
||
file = "file"
|
||
files = "files"
|
||
pause = "Pause"
|
||
resume = "Resume"
|
||
|
||
[watchedFolders.howItWorks]
|
||
step1Desc = "Drag PDFs onto any Watched Folder card — or send them from your file list"
|
||
step1Title = "Drop files"
|
||
step2Desc = "Your configured tools process each file automatically"
|
||
step2Title = "Pipeline runs"
|
||
step3Desc = "Download processed files from inside the folder"
|
||
step3Title = "Output ready"
|
||
title = "How Watched Folders work"
|
||
|
||
[watchedFolders.modal]
|
||
advanced = "Advanced"
|
||
automation = "Automation"
|
||
automationNameFallback = "Watched Folder automation"
|
||
automationRequired = "Add at least one configured step before saving."
|
||
autoNumber = "Auto-number"
|
||
autoNumberExample = "e.g. document.pdf → document (1).pdf"
|
||
autoScanHelp = "New PDF files in this folder are processed automatically every 10 seconds."
|
||
changeFolder = "Change"
|
||
chooseFolder = "Choose"
|
||
clearFolder = "Clear"
|
||
color = "Accent color"
|
||
createFolder = "Create Folder"
|
||
createTitle = "New Watched Folder"
|
||
editTitle = "Edit Watched Folder"
|
||
inputFolder = "Input folder"
|
||
inputFolderNotChosen = "No folder chosen — required for auto-scan"
|
||
inputSource = "Input source"
|
||
inputSourceBrowser = "Browser — drop files here"
|
||
inputSourceLocal = "Local folder (auto-scan)"
|
||
inputSourceLocalUnsupported = "Local folder (auto-scan) — Chrome/Edge only"
|
||
localOutputFolder = "Local output folder"
|
||
maxRetries = "Max retries"
|
||
name = "Folder name"
|
||
namePlaceholder = "My Watched Folder"
|
||
nameRequired = "Folder name is required"
|
||
nameTooLong = "Folder name must be 50 characters or less"
|
||
outputFolderNotSet = "Not set — outputs stay in app"
|
||
outputFolderUnsupported = "Not supported in this browser"
|
||
outputModeNewDesc = "Output is saved as a new separate file"
|
||
outputModeVersion = "Replace original?"
|
||
outputModeVersionDesc = "Output becomes a new version of the input file rather than a separate file"
|
||
outputName = "Output filename prefix"
|
||
outputNamePrefix = "Filename prefix"
|
||
outputNameSuffix = "Suffix"
|
||
positionPrefix = "Prefix"
|
||
positionSuffix = "Suffix"
|
||
replaceOriginal = "Replace original file"
|
||
retryDelay = "Delay (minutes)"
|
||
saveChanges = "Save Changes"
|
||
saveFailed = "Failed to save folder. Please try again."
|
||
sectionFolder = "Folder"
|
||
sectionSourceOutput = "Source & Output"
|
||
sectionSteps = "Steps"
|
||
|
||
[watchedFolders.status]
|
||
active = "Active"
|
||
done = "Done"
|
||
paused = "Paused"
|
||
processing = "Processing"
|
||
|
||
[watchedFolders.time]
|
||
daysAgo = "{{count}}d ago"
|
||
hoursAgo = "{{count}}h ago"
|
||
justNow = "just now"
|
||
minutesAgo = "{{count}}m ago"
|
||
|
||
[watchedFolders.workbench]
|
||
activity = "Activity"
|
||
addFiles = "Add files"
|
||
allTime = "All time"
|
||
cancel = "Cancel"
|
||
chartTooltipComplete = "{{count}} complete"
|
||
chartTooltipFailed = "{{count}} failed"
|
||
clearSelection = "Clear selection"
|
||
countProcessing = "{{count}} processing"
|
||
countQueued = "{{count}} queued"
|
||
countSelected = "{{count}} selected"
|
||
dataSaved = "Saved"
|
||
dayRunning = "day running"
|
||
daysRunning = "days running"
|
||
delete = "Delete"
|
||
deleteConfirmBody = "Remove notifications only clears the activity log. Delete outputs also removes the processed files from storage. Your original input files are never touched."
|
||
deleteOutputs = "Delete outputs"
|
||
directionIn = "in"
|
||
directionOut = "out"
|
||
dropToProcess = "Drop to process"
|
||
export = "Export"
|
||
exportSeparately = "Export separately"
|
||
exportZip = "Export zip"
|
||
failed = "Failed"
|
||
filesProcessedOverTime = "Files processed over time"
|
||
filterAll = "All"
|
||
filterPending = "Pending"
|
||
inputs = "Inputs"
|
||
inputSize = "Input size"
|
||
legendComplete = "Complete"
|
||
noActivity = "No activity yet — drop a PDF to start"
|
||
noActivityMatch = "No matching activity"
|
||
noInputFolder = "No input folder — edit to configure"
|
||
outputs = "Outputs"
|
||
pause = "Pause"
|
||
preview = "Preview"
|
||
previewInput = "Preview input"
|
||
previewLoadFailed = "Could not load file preview."
|
||
previewOutput = "Preview output"
|
||
queued = "Queued"
|
||
queuedWaiting = "Queued — waiting to run"
|
||
removeEntries = "Remove {{count}} entries"
|
||
removeEntry = "Remove entry"
|
||
removeNotificationsOnly = "Remove notifications only"
|
||
resume = "Resume"
|
||
retryAll = "Retry all"
|
||
retryIn = "retry in {{count}}m"
|
||
retryingSoon = "retrying…"
|
||
retryMixedConfirm = "Some selected files have already completed and will be skipped. Only failed files will be retried. Continue?"
|
||
running = "Running"
|
||
search = "Search…"
|
||
selectAll = "Select all {{count}}"
|
||
sortNameAsc = "A → Z"
|
||
sortNameDesc = "Z → A"
|
||
sortNewest = "Newest"
|
||
sortOldest = "Oldest"
|
||
watching = "Watching: {{name}}"
|
||
|
||
[watermark]
|
||
desc = "Ajouter des filigranes texte ou image aux fichiers PDF"
|
||
submit = "Ajouter un filigrane"
|
||
tags = "stamp,mark,overlay,watermark,branding,logo,confidential,draft,copyright,trademark,text overlay,image overlay,background text"
|
||
title = "Ajouter un filigrane"
|
||
|
||
[watermark.error]
|
||
failed = "Une erreur est survenue lors de l’ajout du filigrane au PDF."
|
||
|
||
[watermark.results]
|
||
title = "Résultats du filigrane"
|
||
|
||
[watermark.settings]
|
||
alphabet = "Police/langue"
|
||
color = "Couleur du filigrane"
|
||
convertToImage = "Aplatir les pages PDF en images"
|
||
opacity = "Opacité (%)"
|
||
rotation = "Rotation (degrés)"
|
||
size = "Taille"
|
||
|
||
[watermark.settings.image]
|
||
choose = "Choisir une image"
|
||
|
||
[watermark.settings.spacing]
|
||
height = "Espacement en hauteur"
|
||
horizontal = "Espacement horizontal"
|
||
vertical = "Espacement vertical"
|
||
width = "Espacement en largeur"
|
||
|
||
[watermark.settings.text]
|
||
placeholder = "Saisir le texte du filigrane"
|
||
|
||
[watermark.steps]
|
||
file = "Fichier à filigraner"
|
||
formatting = "Mise en forme"
|
||
textStyle = "Style"
|
||
type = "Type de filigrane"
|
||
wording = "Libellé"
|
||
|
||
[watermark.tooltip.appearance]
|
||
bullet1 = "Rotation : -360° à 360° pour des filigranes inclinés"
|
||
bullet2 = "Opacité : 0–100 % pour contrôler la transparence"
|
||
bullet3 = "Une opacité faible crée des filigranes discrets"
|
||
text = "Contrôlez l’apparence de votre filigrane et sa fusion avec le document."
|
||
title = "Paramètres d’apparence"
|
||
|
||
[watermark.tooltip.file.header]
|
||
title = "Téléversement d’image"
|
||
|
||
[watermark.tooltip.file.recommendations]
|
||
bullet1 = "Utilisez des logos ou tampons avec arrière-plan transparent"
|
||
bullet2 = "Les designs simples fonctionnent mieux que les images complexes"
|
||
bullet3 = "Tenez compte de la taille finale du document pour choisir la résolution"
|
||
text = "Conseils pour des filigranes image optimaux."
|
||
title = "Bonnes pratiques"
|
||
|
||
[watermark.tooltip.file.upload]
|
||
bullet1 = "Formats courants pris en charge : PNG, JPG, GIF, BMP"
|
||
bullet2 = "Le PNG avec transparence est idéal"
|
||
bullet3 = "Des images à plus haute résolution conservent mieux la qualité"
|
||
text = "Téléversez une image à utiliser comme filigrane."
|
||
title = "Sélection d’image"
|
||
|
||
[watermark.tooltip.formatting.header]
|
||
title = "Mise en forme et disposition"
|
||
|
||
[watermark.tooltip.formatting.security]
|
||
bullet1 = "Empêche la sélection et la copie de texte"
|
||
bullet2 = "Rend les filigranes plus difficiles à supprimer"
|
||
bullet3 = "Entraîne des fichiers plus volumineux"
|
||
bullet4 = "Idéal pour le contenu sensible ou protégé par droit d’auteur"
|
||
text = "Convertir le PDF final en format basé sur l’image pour une sécurité renforcée."
|
||
title = "Option de sécurité"
|
||
|
||
[watermark.tooltip.formatting.size]
|
||
bullet1 = "Des tailles plus grandes rendent les filigranes plus visibles"
|
||
text = "Ajustez la taille de votre filigrane (texte ou image)."
|
||
title = "Contrôle de la taille"
|
||
|
||
[watermark.tooltip.language]
|
||
text = "Choisissez le paramètre de langue approprié pour garantir un rendu correct des polices de votre texte."
|
||
title = "Prise en charge des langues"
|
||
|
||
[watermark.tooltip.spacing]
|
||
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"
|
||
text = "Ajustez l’espacement entre les filigranes répétés sur la page."
|
||
title = "Contrôle de l’espacement"
|
||
|
||
[watermark.tooltip.textStyle.color]
|
||
bullet1 = "Gris clair (#d3d3d3) pour des filigranes discrets"
|
||
bullet2 = "Noir ou couleurs foncées pour un fort contraste"
|
||
bullet3 = "Couleurs personnalisées pour l’image de marque"
|
||
text = "Choisissez une couleur offrant un bon contraste avec le contenu du document."
|
||
title = "Sélection de la couleur"
|
||
|
||
[watermark.tooltip.textStyle.header]
|
||
title = "Style du texte"
|
||
|
||
[watermark.tooltip.type.description]
|
||
text = "Sélectionnez des filigranes texte ou image selon vos besoins."
|
||
title = "Choisissez votre filigrane"
|
||
|
||
[watermark.tooltip.type.header]
|
||
title = "Sélection du type de filigrane"
|
||
|
||
[watermark.tooltip.type.image]
|
||
bullet1 = "Téléversez n’importe quel format d’image"
|
||
bullet2 = "Préserve la qualité de l’image"
|
||
bullet3 = "Parfait pour les logos et tampons"
|
||
text = "Utilisez des logos, tampons ou toute image comme filigrane. Idéal pour l’image de marque et l’identification visuelle."
|
||
title = "Filigranes image"
|
||
|
||
[watermark.tooltip.type.text]
|
||
bullet1 = "Polices et langues personnalisables"
|
||
bullet2 = "Couleurs et transparence réglables"
|
||
bullet3 = "Idéal pour du texte juridique ou de marque"
|
||
text = "Parfait pour ajouter des mentions de copyright, noms d’entreprise ou labels de confidentialité. Prend en charge plusieurs langues et des couleurs personnalisées."
|
||
title = "Filigranes texte"
|
||
|
||
[watermark.tooltip.wording.header]
|
||
title = "Contenu du texte"
|
||
|
||
[watermark.tooltip.wording.text]
|
||
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"
|
||
text = "Saisissez le texte qui apparaîtra comme filigrane sur l’ensemble du document."
|
||
title = "Texte du filigrane"
|
||
|
||
[watermark.type]
|
||
1 = "Texte"
|
||
2 = "Image"
|
||
|
||
[watermark.watermarkType]
|
||
image = "Image"
|
||
text = "Texte"
|
||
|
||
[workbenchBar]
|
||
activeFiles = "Fichiers actifs"
|
||
annotations = "Annotations"
|
||
applyRedactionsFirst = "Appliquer d’abord les rédactions"
|
||
closeAll = "Fermer tous les fichiers"
|
||
closePdf = "Fermer le PDF"
|
||
deleteSelected = "Supprimer les pages sélectionnées"
|
||
deselectAll = "Tout désélectionner"
|
||
downloadAll = "Tout télécharger"
|
||
exitRedaction = "Quitter le mode Rédaction"
|
||
exportAll = "Exporter le PDF"
|
||
exportSelected = "Exporter les pages sélectionnées"
|
||
formFill = "Remplir le formulaire"
|
||
hideToolbar = "Hide toolbar"
|
||
moreActions = "Plus d’actions"
|
||
multiTool = "Outil multifonction"
|
||
panMode = "Mode panoramique"
|
||
print = "Imprimer le PDF"
|
||
readAloud = "Lire à voix haute"
|
||
readAloudLanguage = "Langue"
|
||
readAloudSpeed = "Vitesse"
|
||
redact = "Caviarder"
|
||
rotateLeft = "Pivoter à gauche"
|
||
rotateRight = "Pivoter à droite"
|
||
ruler = "Règle / Mesure"
|
||
rulerSettings = "Paramètres d’échelle"
|
||
save = "Enregistrer"
|
||
saveAll = "Tout enregistrer"
|
||
saveAs = "Enregistrer sous"
|
||
saveChanges = "Enregistrer les modifications"
|
||
search = "Rechercher dans le PDF"
|
||
selectAll = "Tout sélectionner"
|
||
selectByNumber = "Sélectionner par numéros de pages"
|
||
selectLanguage = "Sélectionner la langue"
|
||
share = "Partager"
|
||
showAllTools = "Afficher tous les outils"
|
||
showFewerTools = "Réduire la barre d’outils"
|
||
showToolbar = "Show toolbar"
|
||
toggleAnnotations = "Basculer la visibilité des annotations"
|
||
toggleAttachments = "Basculer les pièces jointes"
|
||
toggleBookmarks = "Basculer les signets"
|
||
toggleComments = "Commentaires"
|
||
toggleLayers = "Basculer les calques"
|
||
toggleSidebar = "Basculer la barre latérale"
|
||
viewer = "Visionneuse"
|
||
|
||
[workflow.participant]
|
||
accessExpired = "Votre accès à ce document a expiré."
|
||
certificateFile = "Fichier de certificat"
|
||
certificateFilePlaceholder = "Sélectionner un fichier de certificat"
|
||
certificatePassword = "Mot de passe du certificat"
|
||
certificateType = "Type de certificat"
|
||
certTypeJks = "JKS Keystore"
|
||
certTypeP12 = "Certificat P12/PKCS12"
|
||
certTypeServer = "Certificat serveur (si disponible)"
|
||
completedDeclined = "Vous avez refusé ce document."
|
||
completedSigned = "Vous avez signé ce document."
|
||
decline = "Refuser"
|
||
downloadDocument = "Télécharger le document"
|
||
dueDate = "Date d’échéance : {{date}}"
|
||
errorTitle = "Erreur"
|
||
from = "De : {{name}}"
|
||
loadingSession = "Chargement de la session..."
|
||
location = "Emplacement"
|
||
locationPlaceholder = "p. ex., San Francisco, CA"
|
||
pageNumber = "Numéro de page (facultatif)"
|
||
reason = "Motif"
|
||
reasonPlaceholder = "p. ex. : Approbation du document"
|
||
sessionNotFound = "Session introuvable ou accès refusé."
|
||
signDocument = "Signer le document"
|
||
statusDeclined = "Refusé"
|
||
statusNotified = "Notifié"
|
||
statusPending = "En attente"
|
||
statusSigned = "Signé"
|
||
statusViewed = "Vu"
|
||
submitSignature = "Envoyer la signature"
|
||
|
||
[workspace]
|
||
title = "Espace de travail"
|
||
|
||
[workspace.people]
|
||
active = "Actif"
|
||
activeSession = "Session active"
|
||
addMembers = "Ajouter des membres"
|
||
admin = "Admin"
|
||
confirmDelete = "Êtes-vous sûr de vouloir supprimer cet utilisateur ? Cette action ne peut pas être annulée."
|
||
confirmUnlock = "Êtes-vous sûr de vouloir déverrouiller ce compte utilisateur ?"
|
||
deleteUser = "Supprimer l’utilisateur"
|
||
deleteUserError = "Échec de la suppression de l’utilisateur"
|
||
deleteUserSuccess = "Utilisateur supprimé avec succès"
|
||
description = "Gérer les membres de l’espace de travail et leurs autorisations"
|
||
disable = "Désactiver"
|
||
disabled = "Désactivé"
|
||
editRole = "Modifier le rôle"
|
||
enable = "Activer"
|
||
loading = "Chargement des personnes..."
|
||
locked = "verrouillé"
|
||
lockedBadge = "Verrouillé"
|
||
loginRequired = "Activez d’abord le mode connexion"
|
||
memberActions = "Actions du membre"
|
||
noMembersFound = "Aucun membre trouvé"
|
||
role = "Rôle"
|
||
searchMembers = "Rechercher des membres..."
|
||
team = "Équipe"
|
||
title = "Personnes"
|
||
unlockAccount = "Déverrouiller le compte"
|
||
unlockUserError = "Échec du déverrouillage du compte utilisateur"
|
||
unlockUserSuccess = "Compte utilisateur déverrouillé avec succès"
|
||
user = "Utilisateur"
|
||
userInfo = "Informations utilisateur"
|
||
|
||
[workspace.people.actions]
|
||
upgrade = "Mettre à niveau"
|
||
|
||
[workspace.people.addMember]
|
||
authType = "Type d’authentification"
|
||
error = "Échec de la création de l’utilisateur"
|
||
forceMFA = "Forcer la configuration MFA à la prochaine connexion"
|
||
forcePasswordChange = "Forcer le changement de mot de passe à la première connexion"
|
||
password = "Mot de passe"
|
||
passwordPlaceholder = "Saisir le mot de passe"
|
||
passwordRequired = "Le mot de passe est requis"
|
||
role = "Rôle"
|
||
submit = "Ajouter le membre"
|
||
success = "Utilisateur créé avec succès"
|
||
team = "Équipe (facultatif)"
|
||
teamPlaceholder = "Sélectionner une équipe"
|
||
username = "Nom d’utilisateur (e-mail)"
|
||
usernamePlaceholder = "user@example.com"
|
||
usernameRequired = "Le nom d’utilisateur et le mot de passe sont obligatoires"
|
||
|
||
[workspace.people.authType]
|
||
oauth = "OAuth2"
|
||
password = "Mot de passe"
|
||
saml = "SAML2"
|
||
ssoDescription = "L’utilisateur s’authentifiera via le fournisseur SSO"
|
||
|
||
[workspace.people.changePassword]
|
||
action = "Changer le mot de passe"
|
||
confirmPassword = "Confirmer le mot de passe"
|
||
confirmPlaceholder = "Saisissez à nouveau le nouveau mot de passe"
|
||
copiedToClipboard = "Mot de passe copié dans le presse-papiers"
|
||
copyFailed = "Échec de la copie du mot de passe"
|
||
copyTooltip = "Copier dans le presse-papiers"
|
||
emailUnavailable = "L'e-mail de cet utilisateur n'est pas une adresse valide. Les notifications sont désactivées."
|
||
error = "Échec de la mise à jour du mot de passe"
|
||
forcePasswordChange = "Forcer l'utilisateur à changer son mot de passe à la prochaine connexion"
|
||
generatedPreview = "Mot de passe généré :"
|
||
generateRandom = "Générer un mot de passe sécurisé"
|
||
includePassword = "Inclure le nouveau mot de passe dans l'e-mail"
|
||
newPassword = "Nouveau mot de passe"
|
||
notifyOnly = "Un e-mail sera envoyé sans le mot de passe, informant l'utilisateur qu'un administrateur l'a modifié."
|
||
passwordMismatch = "Les mots de passe ne correspondent pas"
|
||
passwordRequired = "Veuillez saisir un nouveau mot de passe"
|
||
placeholder = "Saisissez un nouveau mot de passe"
|
||
sendEmail = "Envoyer un e-mail à l'utilisateur à propos de ce changement"
|
||
smtpDisabled = "Les notifications par e-mail nécessitent l'activation de SMTP dans les paramètres."
|
||
submit = "Mettre à jour le mot de passe"
|
||
subtitle = "Mettre à jour le mot de passe de"
|
||
success = "Mot de passe mis à jour avec succès"
|
||
title = "Changer le mot de passe"
|
||
|
||
[workspace.people.editMember]
|
||
editing = "Editing: <0>{{username}}</0>"
|
||
error = "Échec de la mise à jour de l’utilisateur"
|
||
role = "Rôle"
|
||
submit = "Update User"
|
||
success = "Utilisateur mis à jour avec succès"
|
||
team = "Équipe (facultatif)"
|
||
teamPlaceholder = "Sélectionner une équipe"
|
||
title = "Edit User"
|
||
|
||
[workspace.people.emailInvite]
|
||
allFailed = "Échec de l’invitation des utilisateurs"
|
||
emails = "Adresses e-mail"
|
||
emailsPlaceholder = "user1@example.com, user2@example.com"
|
||
emailsRequired = "Au moins une adresse e-mail est requise"
|
||
error = "Échec de l’envoi des invitations"
|
||
partialFailure = "Certaines invitations ont échoué"
|
||
submit = "Envoyer les invitations"
|
||
success = "Utilisateur(s) invité(s) avec succès"
|
||
|
||
[workspace.people.inviteLink]
|
||
copied = "Lien copié dans le presse-papiers"
|
||
email = "Adresse e-mail"
|
||
emailDescription = "Facultatif - laissez vide pour un lien d’invitation général utilisable par n’importe qui"
|
||
emailPlaceholder = "user@example.com (facultatif)"
|
||
emailSent = "Lien d’invitation généré et envoyé par e-mail"
|
||
error = "Échec de la génération du lien d’invitation"
|
||
expiryHours = "Heures d’expiration"
|
||
generate = "Générer le lien"
|
||
generated = "Lien d’invitation généré"
|
||
sendEmail = "Envoyer le lien d’invitation par e-mail"
|
||
sendEmailDescription = "Si activé, le lien d’invitation sera envoyé à l’adresse e-mail spécifiée"
|
||
submit = "Générer un lien d’invitation"
|
||
|
||
[workspace.people.inviteMembers]
|
||
label = "Inviter des membres"
|
||
subtitle = "Saisissez ou collez des e-mails ci-dessous, séparés par des virgules. Votre espace de travail sera facturé par membre."
|
||
|
||
[workspace.people.inviteMode]
|
||
email = "E-mail"
|
||
emailDisabled = "Les invitations par e-mail nécessitent la configuration de SMTP et mail.enableInvites=true dans les paramètres"
|
||
link = "Lien"
|
||
username = "Nom d’utilisateur"
|
||
|
||
[workspace.people.license]
|
||
currentUsage = "Utilise actuellement {{current}} sur {{max}} licences utilisateur"
|
||
fromLicense = "de la licence"
|
||
grandfathered = "Droits acquis"
|
||
grandfatheredShort = "{{count}} droits acquis"
|
||
slotsAvailable_one = "{{count}} user slot available"
|
||
slotsAvailable_other = "{{count}} user slots available"
|
||
slotsAvailable_zero = "No slots available"
|
||
users_one = "user"
|
||
users_other = "users"
|
||
|
||
[workspace.people.mfa]
|
||
adminDisableError = "Échec de la désactivation de la MFA pour l'utilisateur"
|
||
adminDisableSuccess = "MFA désactivée avec succès pour l'utilisateur"
|
||
disableByAdmin = "Désactiver la MFA"
|
||
|
||
[workspace.people.roleDescriptions]
|
||
admin = "Peut gérer les paramètres et inviter des membres, avec un accès administratif complet."
|
||
currentRole = "Rôle actuellement attribué."
|
||
user = "Can view and edit shared files, but cannot manage workspace settings or users."
|
||
|
||
[workspace.people.toggleEnabled]
|
||
error = "Échec de la mise à jour du statut de l’utilisateur"
|
||
success = "Statut de l’utilisateur mis à jour avec succès"
|
||
|
||
[workspace.teams]
|
||
addMember = "Ajouter un membre"
|
||
backToTeams = "Retour aux équipes"
|
||
cannotAddToInternal = "Impossible d’ajouter des membres à l’équipe Internal"
|
||
cannotDeleteInternal = "Impossible de supprimer l’équipe Internal"
|
||
cannotRenameInternal = "Impossible de renommer l’équipe Internal"
|
||
confirmDelete = "Voulez-vous vraiment supprimer cette équipe ? Cette équipe doit être vide pour être supprimée."
|
||
confirmRemove = "Retirer l’utilisateur de cette équipe ?"
|
||
createNewTeam = "Créer une nouvelle équipe"
|
||
deleteTeamLabel = "Supprimer l’équipe"
|
||
description = "Gérez les équipes et organisez les membres de l’espace de travail"
|
||
loadError = "Impossible de charger les détails de l'équipe"
|
||
loading = "Chargement des équipes..."
|
||
loadingDetails = "Chargement des détails de l’équipe..."
|
||
memberCount_one = "{{count}} member"
|
||
memberCount_other = "{{count}} members"
|
||
memberCount_zero = "no members"
|
||
noMembers = "Aucun membre dans cette équipe"
|
||
noTeamsFound = "Aucune équipe trouvée"
|
||
removeMember = "Retirer de l’équipe"
|
||
removeMemberError = "Échec du retrait de l’utilisateur de l’équipe"
|
||
removeMemberSuccess = "Utilisateur retiré de l’équipe"
|
||
renameTeamLabel = "Renommer l’équipe"
|
||
system = "Système"
|
||
teamActions = "Actions de l’équipe"
|
||
teamName = "Nom de l’équipe"
|
||
teamNotFound = "Équipe introuvable"
|
||
title = "Équipes"
|
||
totalMembers = "Nombre total de membres"
|
||
viewTeam = "Voir l’équipe"
|
||
|
||
[workspace.teams.addMemberToTeam]
|
||
addingTo = "Ajout à"
|
||
currentlyIn = "actuellement dans"
|
||
error = "Échec de l’ajout du membre à l’équipe"
|
||
selectUser = "Sélectionner un utilisateur"
|
||
selectUserPlaceholder = "Choisissez un utilisateur"
|
||
selectUserRequired = "Veuillez sélectionner un utilisateur"
|
||
submit = "Ajouter un membre"
|
||
success = "Membre ajouté à l’équipe avec succès"
|
||
title = "Ajouter un membre à l’équipe"
|
||
userRequired = "Veuillez sélectionner un utilisateur"
|
||
willBeMoved = "Remarque : cet utilisateur sera déplacé de son équipe actuelle vers cette équipe."
|
||
|
||
[workspace.teams.changeTeam]
|
||
changing = "Déplacement"
|
||
error = "Échec du changement d’équipe"
|
||
label = "Changer d’équipe"
|
||
selectTeam = "Sélectionnez une équipe"
|
||
selectTeamPlaceholder = "Choisissez une équipe"
|
||
selectTeamRequired = "Veuillez sélectionner une équipe"
|
||
submit = "Changer d’équipe"
|
||
success = "Équipe changée avec succès"
|
||
title = "Changer d’équipe"
|
||
|
||
[workspace.teams.createTeam]
|
||
error = "Échec de la création de l’équipe"
|
||
nameRequired = "Le nom de l’équipe est requis"
|
||
submit = "Créer l’équipe"
|
||
success = "Équipe créée avec succès"
|
||
teamName = "Nom de l’équipe"
|
||
teamNamePlaceholder = "Saisissez le nom de l’équipe"
|
||
title = "Créer une nouvelle équipe"
|
||
|
||
[workspace.teams.deleteTeam]
|
||
error = "Échec de la suppression de l’équipe. Assurez-vous que l’équipe est vide."
|
||
success = "Équipe supprimée avec succès"
|
||
|
||
[workspace.teams.renameTeam]
|
||
error = "Échec du renommage de l’équipe"
|
||
nameRequired = "Le nom de l’équipe est requis"
|
||
newTeamName = "Nouveau nom de l’équipe"
|
||
newTeamNamePlaceholder = "Saisissez le nouveau nom de l’équipe"
|
||
renaming = "Renommage :"
|
||
submit = "Renommer l’équipe"
|
||
success = "Équipe renommée avec succès"
|
||
title = "Renommer l’équipe"
|
||
|
||
[zipWarning]
|
||
cancel = "Annuler"
|
||
confirm = "Extraire"
|
||
message_one = "This ZIP contains {{count}} file. Extract anyway?"
|
||
message_other = "This ZIP contains {{count}} files. Extract anyway?"
|
||
title = "Fichier ZIP volumineux"
|