translations (#5541)

# Description of Changes

<!--
Please provide a summary of the changes, including:

- What was changed
- Why the change was made
- Any challenges encountered

Closes #(issue_number)
-->

---

## Checklist

### General

- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings

### Documentation

- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)

### Translations (if applicable)

- [ ] I ran
[`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md)

### UI Changes (if applicable)

- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)

### Testing (if applicable)

- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing)
for more details.
This commit is contained in:
Anthony Stirling
2026-01-24 00:02:31 +00:00
committed by GitHub
parent b76f3662e4
commit c77cd73deb
40 changed files with 5888 additions and 208 deletions
@@ -306,6 +306,7 @@ selectOperation = "Sélectionner une opération"
addOperationButton = "Ajouter une opération"
pipelineHeader = "Pipeline :"
saveButton = "Télécharger"
saveForFolderScanning = "Enregistrer pour l'analyse de dossier"
validateButton = "Valider"
[enterpriseEdition]
@@ -556,6 +557,30 @@ webBrowserSettings = "Paramètres du navigateur"
syncToBrowser = "Synchroniser : Compte → Navigateur"
syncToAccount = "Synchroniser : Compte ← Navigateur"
[account.mfa]
title = "Authentification à deux facteurs"
setupFailed = "Impossible de démarrer la configuration de l'authentification à deux facteurs. Veuillez réessayer."
codeRequired = "Saisissez le code d'authentification pour continuer."
enabled = "Authentification à deux facteurs activée."
enableFailed = "Impossible d'activer l'authentification à deux facteurs. Vérifiez le code et réessayez."
disabled = "Authentification à deux facteurs désactivée."
disableFailed = "Impossible de désactiver l'authentification à deux facteurs. Vérifiez le code et réessayez."
description = "Ajoutez une couche de sécurité supplémentaire à votre compte."
enableButton = "Activer l'authentification à deux facteurs"
disableButton = "Désactiver l'authentification à deux facteurs"
setupTitle = "Configurer l'authentification à deux facteurs"
setupDescription = "Scannez le code QR avec votre application d'authentification, puis saisissez le code à 6 chiffres pour confirmer."
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."
codePlaceholder = "Saisir le code à 6 chiffres"
confirmEnable = "Activer"
disableTitle = "Désactiver l'authentification à deux facteurs"
disableDescription = "Saisissez un code d'authentification valide pour désactiver l'authentification à deux facteurs."
codeLabel = "Code d'authentification"
confirmDisable = "Désactiver"
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é."
[adminUserSettings]
title = "Administration des paramètres des utilisateurs"
header = "Administration des paramètres des utilisateurs"
@@ -1264,7 +1289,10 @@ downloadHtml = "Télécharger le fichier HTML intermédiaire au lieu du PDF"
pdfaOptions = "Options PDF/A"
outputFormat = "Format de sortie"
pdfaNote = "PDF/A-1b est plus compatible, PDF/A-2b prend en charge davantage de fonctionnalités."
pdfaFormat = "Format PDF/A"
pdfaDigitalSignatureWarning = "Le PDF contient une signature numérique. Elle sera supprimée dans l'étape suivante."
pdfxDigitalSignatureWarning = "Le PDF contient une signature numérique. Elle sera supprimée à l'étape suivante."
pdfxDescription = "PDF/X est un sous-ensemble PDF conforme à l'ISO pour une impression fiable et un échange graphique."
fileFormat = "Format de fichier"
wordDoc = "Document Word"
wordDocExt = "Document Word (.docx)"
@@ -2197,6 +2225,16 @@ tip = "Ne fonctionne actuellement pas pour plusieurs entrées à la fois"
outputFormat = "Format de sortie"
pdfWithDigitalSignature = "Le PDF contient une signature numérique. Elle sera supprimée dans l'étape suivante."
[pdfToPDFX]
tags = "impression,standard,conversion,production,prépresse,archive"
title = "PDF vers PDF/X"
header = "PDF vers PDF/X"
credit = "Ce service utilise Ghostscript pour la conversion PDF/X"
submit = "Convertir"
tip = "Ne fonctionne actuellement pas avec plusieurs entrées à la fois"
outputFormat = "Format de sortie"
pdfWithDigitalSignature = "Le PDF contient une signature numérique. Elle sera supprimée à l'étape suivante."
[PDFToWord]
tags = "doc, docx, odt, word, transformation, format, conversion, office, microsoft, docfile"
title = "PDF en Word"
@@ -3153,6 +3191,18 @@ other = "Autre"
perPageInfo = "Informations par page"
tableOfContents = "Table des matières"
[getPdfInfo.compliance]
notDetected = "Non détecté"
passed = "Réussi"
failed = "Échec"
compliant = "Conforme"
nonCompliant = "Non conforme"
none = "Aucune norme détectée"
passedCount = "réussis"
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."
[getPdfInfo.other]
attachments = "Pièces jointes"
embeddedFiles = "Fichiers intégrés"
@@ -3184,6 +3234,8 @@ permsRestricted = "{{count}} restrictions"
permsMixed = "Certaines autorisations sont restreintes"
hasCompliance = "Respecte des normes de conformité"
noCompliance = "Aucune norme de conformité"
compliancePassed = "Conforme à {{standards}}"
complianceChecked = "Normes vérifiées ({{failed}} échoués)"
basic = "Informations de base"
documentInfo = "Informations sur le document"
securityTitle = "État de sécurité"
@@ -3723,6 +3775,13 @@ passwordChangedSuccess = "Mot de passe modifié avec succès ! Veuillez vous co
credentialsUpdated = "Vos identifiants ont été mis à jour. Veuillez vous reconnecter."
defaultCredentials = "Identifiants de connexion par défaut"
changePasswordWarning = "Veuillez changer votre mot de passe après votre première connexion"
mfaRequired = "Code à deux facteurs requis"
mfaCode = "Code d'authentification"
enterMfaCode = "Saisir le code à 6 chiffres"
mfaPromptTitle = "Authentification à deux facteurs"
mfaPromptBody = "Saisissez le code d'authentification provenant de votre application d'authentification pour continuer."
verifyingMfa = "Vérification..."
verifyMfa = "Vérifier le code"
[login.slides.overview]
alt = "Aperçu de Stirling PDF"
@@ -4324,6 +4383,10 @@ title = "Mode de connexion requis"
message = "Le mode de connexion doit être activé pour modifier les paramètres dadministration. 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 dexemple à titre de référence. Activez le mode de connexion pour afficher et modifier la configuration réelle."
[admin.settings.enterpriseRequired]
title = "Licence Entreprise requise"
message = "Une licence Entreprise est requise pour accéder à {{featureName}}. Vous consultez des données de démonstration à titre de référence."
[admin.settings.restart]
title = "Redémarrage requis"
message = "Les paramètres ont été enregistrés avec succès. Un redémarrage du serveur est requis pour que les changements prennent effet."
@@ -4771,6 +4834,48 @@ description = "Afficher des messages derreur détaillés pour les utilisateur
title = "Base de données"
description = "Configurer des paramètres de connexion à une base de données personnalisée pour les déploiements dentreprise."
configuration = "Configuration de la base de données"
backupTitle = "Sauvegardes & restauration"
backupDescription = "Gérez les sauvegardes H2 directement depuis la console d'administration."
loadError = "Échec du chargement des sauvegardes de la base de données"
backupCreated = "Sauvegarde créée avec succès"
backupFailed = "Échec de la création de la sauvegarde"
deleteTitle = "Supprimer la sauvegarde"
deleteConfirm = "Supprimer cette sauvegarde ? Cette action est irréversible."
deleteSuccess = "Sauvegarde supprimée"
deleteFailed = "Échec de la suppression de la sauvegarde"
deleteConfirmAction = "Supprimer la sauvegarde"
downloadFailed = "Échec du téléchargement de la sauvegarde"
version = "Version H2"
embedded = "H2 intégré"
external = "Base de données externe"
h2Only = "Les sauvegardes ne sont disponibles que pour la base de données H2 intégrée."
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."
manageBackups = "Gérer les sauvegardes"
refresh = "Actualiser"
createBackup = "Créer une sauvegarde"
uploadTitle = "Téléversement & import"
chooseFile = "Choisir un fichier de sauvegarde .sql"
importFromUpload = "Importer le téléversement"
confirmImportTitle = "Confirmer limportation de la base de données"
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."
confirmCodeLabel = "Saisissez le code de confirmation pour continuer"
enterCode = "Saisissez le code affiché ci-dessus"
confirmImport = "Confirmer limportation"
codeMismatch = "Le code de confirmation ne correspond pas"
codeMismatchBody = "Veuillez saisir le code exactement tel quaffiché pour continuer."
selectFile = "Veuillez sélectionner un fichier .sql à importer"
importSuccess = "Sauvegarde importée avec succès"
importFailed = "Échec de limportation de la sauvegarde"
noBackups = "Aucune sauvegarde trouvée pour le moment."
unavailable = "La liste des sauvegardes est indisponible pour la configuration actuelle de la base de données."
fileName = "Fichier"
created = "Créé"
size = "Taille"
actions = "Actions"
download = "Télécharger"
import = "Importer"
delete = "Supprimer"
[admin.settings.database.enableCustom]
label = "Activer la base de données personnalisée"
@@ -4848,6 +4953,26 @@ description = "DPI maximum pour le traitement dimages (0 = illimité)"
[admin.settings.advanced.tessdataDir]
label = "Répertoire tessdata"
description = "Chemin vers le répertoire tessdata pour les fichiers de langue OCR"
downloadMissingTitle = "Aucune langue sélectionnée"
downloadMissingBody = "Veuillez sélectionner au moins une langue à télécharger."
downloadSuccessTitle = "Langues téléchargées"
downloadSuccessBody = "Les langues tessdata sélectionnées ont été enregistrées."
downloadErrorTitle = "Échec du téléchargement"
loadingLanguages = "Chargement des langues tessdata installées..."
installedLanguages = "Langues tessdata installées"
noLanguages = "Aucune langue tessdata trouvée dans le répertoire configuré."
downloadLabel = "Télécharger des langues tessdata supplémentaires"
downloadPlaceholder = "Sélectionner des langues"
downloadNothingFound = "Aucune langue supplémentaire trouvée"
permissionNotice = "Le chemin tessdata nest pas accessible en écriture. Les téléchargements seront ouverts dans le navigateur ; veuillez enregistrer manuellement les fichiers .traineddata dans le dossier tessdata."
manualLinks = "Téléchargements manuels : cliquez sur les liens et placez les fichiers dans le dossier tessdata."
downloadButton = "Télécharger les langues sélectionnées"
downloadInvalidTitle = "Sélection invalide"
downloadInvalidBody = "Certaines des langues sélectionnées ne sont pas disponibles au téléchargement. Veuillez actualiser et choisir dans la liste."
downloadErrorNetwork = "Échec du téléchargement en raison dune erreur réseau. Veuillez vérifier votre connexion et réessayer."
downloadErrorServer = "Le serveur a rencontré une erreur lors du téléchargement des langues tessdata. Veuillez réessayer plus tard."
downloadErrorPermission = "Le répertoire tessdata nest pas accessible en écriture : {{message}}. Veuillez choisir un répertoire accessible en écriture (par exemple dans le dossier de données de lapplication) ou ajuster les autorisations."
downloadErrorGeneric = "Échec du téléchargement : {{message}}. Veuillez réessayer plus tard."
[admin.settings.advanced.disableSanitize]
label = "Désactiver la sanitisation HTML"
@@ -5351,6 +5476,7 @@ desc = "Créez des workflows multi-étapes en enchaînant des actions PDF. Idéa
invalidStep = "Étape invalide"
reviewTitle = "Résultats de lautomatisation"
copyToSaved = "Copier vers Enregistré"
exportForFolderScanning = "Exporter pour l'analyse de dossier"
[automate.files]
placeholder = "Sélectionnez des fichiers à traiter avec cette automatisation"
@@ -5372,6 +5498,7 @@ createTitle = "Créer une automatisation"
editTitle = "Modifier lautomatisation"
intro = "Les automatisations exécutent les outils séquentiellement. Pour commencer, ajoutez les outils dans lordre dexécution souhaité."
save = "Enregistrer lautomatisation"
exportForFolderScanning = "Exporter pour l'analyse de dossier"
[automate.creation.name]
label = "Nom de lautomatisation"
@@ -5746,9 +5873,11 @@ username = "Nom dutilisateur (e-mail)"
usernamePlaceholder = "[email protected]"
password = "Mot de passe"
passwordPlaceholder = "Saisir le mot de passe"
passwordRequired = "Le mot de passe est requis"
role = "Rôle"
team = "Équipe (facultatif)"
teamPlaceholder = "Sélectionner une équipe"
authType = "Type dauthentification"
forcePasswordChange = "Forcer le changement de mot de passe à la première connexion"
cancel = "Annuler"
submit = "Ajouter le membre"
@@ -5756,6 +5885,13 @@ usernameRequired = "Le nom dutilisateur et le mot de passe sont obligatoires"
passwordTooShort = "Le mot de passe doit comporter au moins 6 caractères"
success = "Utilisateur créé avec succès"
error = "Échec de la création de lutilisateur"
forceMFA = "Forcer la configuration MFA à la prochaine connexion"
[workspace.people.authType]
password = "Mot de passe"
oauth = "OAuth2"
saml = "SAML2"
ssoDescription = "Lutilisateur sauthentifiera via le fournisseur SSO"
[workspace.people.editMember]
title = "Modifier le membre"
@@ -5859,6 +5995,11 @@ slotsAvailable = "{{count}} place(s) utilisateur disponibles"
noSlotsAvailable = "Aucune place disponible"
currentUsage = "Utilise actuellement {{current}} sur {{max}} licences utilisateur"
[workspace.people.mfa]
adminDisableSuccess = "MFA désactivée avec succès pour l'utilisateur"
adminDisableError = "Échec de la désactivation de la MFA pour l'utilisateur"
disableByAdmin = "Désactiver la MFA"
[workspace.teams]
title = "Équipes"
description = "Gérez les équipes et organisez les membres de lespace de travail"
@@ -6301,6 +6442,7 @@ endpoint = "Endpoint"
visits = "Visites"
percentage = "Pourcentage"
noData = "Aucune donnée disponible"
unknownEndpoint = "Point de terminaison inconnu"
[backendHealth]
checking = "Vérification de l’état du backend..."