export default {
  "theme.dark": "Thème sombre",
  "theme.light": "Thème clair",
  "theme.toggleTitle": "Basculer mode clair / sombre",
  "theme.toggleAriaLabel": "Basculer mode clair/sombre",
  "dropHint.text": "Déposez un fichier <strong>.stl</strong>, <strong>.obj</strong> ou <strong>.3mf</strong> ici<br/>ou <label for=\"stl-file-input\" class=\"link-label\">cliquez pour parcourir</label>",
  "ui.wireframe": "Fil de fer",
  "ui.perspective": "Vue en perspective",
  "ui.controlsHint": "Bouton gauche : orbiter  ·  Bouton droit : panoramique  ·  Molette : zoom",
  "ui.meshInfo": "{n} triangles · {mb} Mo · {sx} × {sy} × {sz} mm",
  "ui.loadStl": "Charger un modèle…",
  "ui.localProcessingNote": "Tout le traitement s'effectue localement dans votre navigateur — aucune donnée n'est envoyée.",
  "sections.displacementMap": "Carte de déplacement",
  "ui.uploadCustomMap": "Charger une carte personnalisée",
  "ui.noMapSelected": "Aucune carte sélectionnée",
  "sections.projection": "Projection",
  "labels.mode": "Mode",
  "projection.triplanar": "Triplanaire",
  "projection.cubic": "Cubique (boîte)",
  "projection.cylindrical": "Cylindrique",
  "projection.spherical": "Sphérique",
  "projection.planarXY": "Planaire XY",
  "projection.planarXZ": "Planaire XZ",
  "projection.planarYZ": "Planaire YZ",
  "sections.transform": "Transformation",
  "labels.scaleU": "Échelle U",
  "labels.scaleV": "Échelle V",
  "labels.offsetU": "Décalage U",
  "labels.offsetV": "Décalage V",
  "labels.rotation": "Rotation",
  "tooltips.proportionalScaling": "Mise à l'échelle proportionnelle (U = V)",
  "tooltips.proportionalScalingAria": "Mise à l'échelle proportionnelle (U = V)",
  "sections.displacement": "Profondeur de texture",
  "labels.amplitude": "Amplitude",
  "labels.seamBlend": "Fusion des coutures ⓘ",
  "tooltips.seamBlend": "Adoucit la couture nette là où les faces de projection se rejoignent. Efficace pour les modes Cubique et Cylindrique.",
  "labels.transitionSmoothing": "Lissage de transition ⓘ",
  "tooltips.transitionSmoothing": "Largeur de la zone de fusion près des bords de couture. Les valeurs faibles maintiennent les transitions près de la couture ; les valeurs élevées lissent une bande plus large.",
  "labels.textureSmoothing": "Lissage de texture ⓘ",
  "tooltips.textureSmoothing": "Applique un flou gaussien à la carte de déplacement. Les valeurs élevées produisent des détails de surface plus doux et progressifs. 0 = désactivé.",
  "labels.capAngle": "Angle de calotte ⓘ",
  "tooltips.capAngle": "Angle (en degrés) depuis la verticale auquel la projection de calotte supérieure/inférieure s'active. Les valeurs plus petites limitent la projection aux faces presque plates.",
  "sections.masking": "Masquage",
  "sections.maskAngles": "Par angle ⓘ",
  "tooltips.maskAngles": "0° = pas de masquage. Les surfaces à l'intérieur de cet angle par rapport à l'horizontale ne seront pas texturées.",
  "labels.bottomFaces": "Faces inférieures",
  "tooltips.bottomFaces": "Supprimer la texture sur les surfaces orientées vers le bas à l'intérieur de cet angle par rapport à l'horizontale",
  "labels.topFaces": "Faces supérieures",
  "tooltips.topFaces": "Supprimer la texture sur les surfaces orientées vers le haut à l'intérieur de cet angle par rapport à l'horizontale",
  "sections.surfaceMasking": "Par surface ⓘ",
  "sections.surfaceSelection": "Sélection de surfaces",
  "tooltips.surfaceMasking": "Masquer des surfaces pour contrôler quelles zones reçoivent le déplacement.",
  "tooltips.surfaceSelection": "Les surfaces sélectionnées apparaissent en vert et seront les seules à recevoir le déplacement lors de l'exportation.",
  "excl.modeExclude": "Exclure",
  "excl.modeExcludeTitle": "Mode Exclure : les surfaces peintes ne recevront pas de déplacement de texture",
  "excl.modeIncludeOnly": "Inclure uniquement",
  "excl.modeIncludeOnlyTitle": "Mode Inclure uniquement : seules les surfaces peintes recevront le déplacement de texture",
  "excl.toolBrush": "Pinceau",
  "excl.toolBrushTitle": "Pinceau : peindre des triangles à exclure",
  "excl.toolFill": "Remplissage",
  "excl.toolFillTitle": "Remplissage : remplir la surface jusqu'à un angle seuil",
  "excl.shiftHint": "Maintenir Maj pour effacer",
  "labels.type": "Type",
  "brushType.single": "Simple",
  "brushType.circle": "Cercle",
  "labels.size": "Taille",
  "labels.maxAngle": "Angle max.",
  "tooltips.maxAngle": "Angle dièdre maximal entre triangles adjacents que le remplissage peut traverser",
  "ui.clearAll": "Tout effacer",
  "excl.initExcluded": "0 faces masquées",
  "excl.faceExcluded": "{n} face masquée",
  "excl.facesExcluded": "{n} faces masquées",
  "excl.faceSelected": "{n} face sélectionnée",
  "excl.facesSelected": "{n} faces sélectionnées",
  "excl.hintExclude": "Les surfaces masquées apparaissent en orange et ne recevront pas de déplacement lors de l'exportation.",
  "excl.hintInclude": "Les surfaces sélectionnées apparaissent en vert et seront les seules à recevoir le déplacement lors de l'exportation.",
  "precision.label": "Précision (Bêta) ⓘ",
  "precision.labelTitle": "Subdivise le maillage en arrière-plan pour que le pinceau sélectionne avec une granularité plus fine",
  "precision.outdated": "⚠ Obsolète",
  "precision.refreshTitle": "Resubdiviser le maillage pour correspondre à la taille actuelle du pinceau",
  "precision.triCount": "{n} △",
  "precision.refining": "Affinage…",
  "precision.warningBody": "Estimation ~{n} triangles. Cela peut ralentir votre navigateur. Continuer ?",
  "labels.boundaryFalloff": "Lissage du masque ⓘ",
  "tooltips.boundaryFalloff": "Réduit progressivement le déplacement à zéro près des bords masqués, évitant les chevauchements de triangles entre les zones texturées et non texturées.",
  "labels.symmetricDisplacement": "Déplacement symétrique ⓘ",
  "tooltips.symmetricDisplacement": "Lorsque cette option est activée : gris 50 % = pas de déplacement ; le blanc pousse vers l'extérieur, le noir pousse vers l'intérieur. Maintient le volume de la pièce approximativement constant.",
  "labels.displacementPreview": "Aperçu 3D ⓘ",
  "tooltips.displacementPreview": "Subdivise le maillage et déplace les sommets en temps réel pour évaluer la profondeur réelle. Gourmand en ressources GPU sur des modèles complexes.",
  "ui.placeOnFace": "Placer sur une face",
  "ui.placeOnFaceTitle": "Cliquer sur une face pour l'orienter vers le bas sur le plateau d'impression",
  "progress.subdividingPreview": "Préparation de l'aperçu…",
  "warnings.amplitudeOverlap": "⚠ L'amplitude dépasse 10 % de la plus petite dimension du modèle — des chevauchements géométriques peuvent survenir dans le STL exporté.",
  "sections.export": "Exportation ⓘ",
  "tooltips.export": "Longueur d'arête plus petite = détails de déplacement plus fins. La sortie est ensuite réduite à la limite de triangles.",
  "labels.resolution": "Résolution",
  "tooltips.resolution": "Les arêtes plus longues que cette valeur seront divisées lors de l'exportation",
  "labels.outputTriangles": "Triangles de sortie",
  "tooltips.outputTriangles": "Le maillage est d'abord entièrement subdivisé, puis réduit à ce nombre",
  "warnings.safetyCapHit": "⚠ Limite de sécurité de 20 M de triangles atteinte lors de la subdivision — le résultat peut être plus grossier que la longueur d'arête demandée.",
  "ui.exportStl": "Exporter STL",
  "progress.subdividing": "Subdivision du maillage…",
  "progress.refining": "Affinage : {cur} triangles, arête la plus longue {edge}",
  "progress.applyingDisplacement": "Application du déplacement à {n} triangles…",
  "progress.displacingVertices": "Déplacement des sommets…",
  "progress.decimatingTo": "Simplification de {from} → {to} triangles…",
  "progress.decimating": "Simplification : {cur} → {to} triangles",
  "progress.writingStl": "Écriture du STL…",
  "progress.done": "Terminé !",
  "progress.processing": "Traitement…",
  "license.btn": "Licence et conditions",
  "license.title": "Licence et conditions d'utilisation",
  "license.item1": "Utilisation gratuite pour tout usage, y compris le <strong>travail commercial</strong> (ex. : texturisation de STL pour des clients ou des produits).",
  "license.item2": "L'attribution est <strong>appréciée</strong> mais <strong>non obligatoire</strong> lors de l'utilisation de cet outil tel quel.",
  "license.item3": "Soutenir cet outil ? Achetez sur <a href=\"https://geni.us/CNCStoreTexture\" target=\"_blank\" rel=\"noopener\">CNCKitchen.STORE</a> ou faites un don sur <a href=\"https://www.paypal.me/CNCKitchen\" target=\"_blank\" rel=\"noopener\">PayPal</a>.",
  "license.item4": "Cet outil est fourni <strong>tel quel</strong> sans <strong>aucune garantie</strong> d'aucune sorte. Utilisation à vos risques et périls.",
  "license.item5": "<strong>Aucun support</strong> n'est fourni. L'auteur n'a aucune obligation de corriger des bogues, de répondre à des questions ou de mettre à jour cet outil. Cela dit, les rapports de bogues et les demandes de fonctionnalités sont toujours les bienvenus à <a href=\"mailto:texturizer@cnckitchen.com\">texturizer@cnckitchen.com</a>.",
  "license.item6": "L'auteur ne saurait être tenu <strong>responsable</strong> d'aucun dommage, perte de données ou problème découlant de l'utilisation de cet outil.",
  "license.item7": "Vous souhaitez licencier ou intégrer cet outil pour votre entreprise ou site web ? Contactez-nous à <a href=\"mailto:contact@cnckitchen.com\">contact@cnckitchen.com</a>.",
  "license.item8": "Code source disponible sur <a href=\"https://github.com/CNCKitchen/stlTexturizer\" target=\"_blank\" rel=\"noopener\">GitHub</a>.",
  "imprint.btn": "Mentions légales et confidentialité",
  "imprint.title": "Mentions légales et politique de confidentialité",
  "imprint.sectionImprint": "Mentions légales (Impressum)",
  "imprint.info": "CNC Kitchen<br>Stefan Hermann<br>Bahnhofstr. 2<br>88145 Hergatz<br>Allemagne",
  "imprint.contact": "E-mail : <a href=\"mailto:contact@cnckitchen.com\">contact@cnckitchen.com</a><br>Téléphone : +49 175 2011824<br><em>Le numéro de téléphone est réservé aux demandes légales/commerciales — pas pour le support.</em>",
  "imprint.odr": "Plateforme de règlement des litiges en ligne de l'UE : <a href=\"https://ec.europa.eu/consumers/odr\" target=\"_blank\" rel=\"noopener\">https://ec.europa.eu/consumers/odr</a>",
  "imprint.sectionPrivacy": "Politique de confidentialité (Datenschutzerklärung)",
  "imprint.privacyIntro": "<strong>Responsable du traitement</strong> (Verantwortlicher gem. Art. 4 Abs. 7 DSGVO) : Stefan Hermann, Bahnhofstr. 2, 88145 Hergatz, Allemagne.",
  "imprint.privacyHosting": "Ce site web est hébergé sur <strong>GitHub Pages</strong> (GitHub Inc. / Microsoft Corp., 88 Colin P Kelly Jr St, San Francisco, CA 94107, États-Unis). Lors de votre visite, GitHub peut traiter votre adresse IP dans les journaux du serveur. Base légale : Art. 6(1)(f) RGPD (intérêt légitime à fournir le site web). Voir la <a href=\"https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement\" target=\"_blank\" rel=\"noopener\">Déclaration de confidentialité de GitHub</a>.",
  "imprint.privacyLocal": "Cet outil stocke les préférences utilisateur (langue, thème) dans le <strong>localStorage</strong> de votre navigateur. Ces données ne quittent jamais votre appareil et ne sont pas transmises à un serveur.",
  "imprint.privacyNoCookies": "Ce site web n'utilise <strong>pas</strong> de cookies, d'outils d'analyse ou de technologies de suivi.",
  "imprint.privacyExternal": "Ce site contient des liens vers des sites web externes (ex. : CNCKitchen.STORE, PayPal). Ces sites ont leurs propres politiques de confidentialité, sur lesquelles nous n'avons aucun contrôle.",
  "imprint.privacyRights": "En vertu du RGPD, vous avez le droit d'<strong>accès, de rectification, d'effacement, de limitation du traitement, de portabilité des données</strong> et le droit de <strong>déposer une plainte</strong> auprès d'une autorité de contrôle.",
  "sponsor.title": "Merci d'utiliser BumpMesh de CNC Kitchen !",
  "sponsor.body": "Cet outil est fourni <strong>entièrement gratuitement</strong> par CNC Kitchen.<br>Pendant que votre STL est en cours de traitement, pourquoi ne pas jeter un coup d'œil à la boutique qui nous aide à continuer à créer des choses sympas pour vous ?",
  "sponsor.visitStore": "🛒 Visiter CNCKitchen.STORE",
  "sponsor.donate": "💙 Faire un don sur PayPal",
  "sponsor.dontShow": "Ne plus afficher",
  "sponsor.closeAndContinue": "Fermer &amp; Continuer",
  "cta.store": "Soutenir cet outil ? Visitez <a href=\"https://geni.us/CNCStoreTexture\" target=\"_blank\" rel=\"noopener\">CNCKitchen.STORE</a> ou faites un don sur <a href=\"https://www.paypal.me/CNCKitchen\" target=\"_blank\" rel=\"noopener\">PayPal</a>.",
  "cta.storeDismiss": "Fermer",
  "alerts.loadFailed": "Impossible de charger le modèle : {msg}",
  "alerts.exportFailed": "Échec de l'exportation : {msg}",
  "alerts.fileTooLarge": "Fichier trop volumineux ({size} Mo). Maximum : {max} Mo."
};
